diff -u gcc-4.5-4.5.0/debian/rules.unpack gcc-4.5-4.5.0/debian/rules.unpack --- gcc-4.5-4.5.0/debian/rules.unpack +++ gcc-4.5-4.5.0/debian/rules.unpack @@ -126,13 +126,6 @@ *) false; \ esac mv $(gcc_srcdir) $(srcdir) -ifneq (,$(wildcard java-class-files.tar.lzma.uue)) -# work around #533356 -# uudecode -o - java-class-files.tar.lzma.uue | tar -C src -xvz - uudecode java-class-files.tar.lzma.uue - tar -C src -xv -f java-class-files.tar.lzma - rm -f java-class-files.tar.lzma -endif ifneq (,$(wildcard java-class-files.tar.xz.uue)) # work around #533356 # uudecode -o - java-class-files.tar.xz.uue | tar -C src -xvz diff -u gcc-4.5-4.5.0/debian/rules.defs gcc-4.5-4.5.0/debian/rules.defs --- gcc-4.5-4.5.0/debian/rules.defs +++ gcc-4.5-4.5.0/debian/rules.defs @@ -8,6 +8,8 @@ builddir = $(PWD)/build stampdir = stamps +on_buildd := $(shell [ -f /CurrentlyBuilding -o "$$LOGNAME" = buildd ] && echo yes) + # creates {srcdir,builddir}_{hppa64,ia6432,spu} $(foreach x,srcdir builddir,$(foreach target,hppa64 ia6432 spu neon,$(eval \ $(x)_$(target) := $($(x))-$(target)))) diff -u gcc-4.5-4.5.0/debian/rules.parameters gcc-4.5-4.5.0/debian/rules.parameters --- gcc-4.5-4.5.0/debian/rules.parameters +++ gcc-4.5-4.5.0/debian/rules.parameters @@ -2,9 +2,9 @@ GCC_VERSION := 4.5.1 NEXT_GCC_VERSION := 4.5.2 BASE_VERSION := 4.5 -SOURCE_VERSION := 4.5.0-2ubuntu1~ppa1 -DEB_VERSION := 4.5.0-2ubuntu1~ppa1 -DEB_EVERSION := 1:4.5.0-2ubuntu1~ppa1 +SOURCE_VERSION := 4.5.0-2ubuntu1 +DEB_VERSION := 4.5.0-2ubuntu1 +DEB_EVERSION := 1:4.5.0-2ubuntu1 GPC_BASE_VERSION := GDC_BASE_VERSION := DEB_GPC_VERSION := @@ -12,7 +12,7 @@ DEB_SOVERSION := 4.4 DEB_SOEVERSION := 1:4.4 DEB_LIBGCC_SOVERSION := 1:4.4 -DEB_LIBGCC_VERSION := 1:4.5.0-2ubuntu1~ppa1 +DEB_LIBGCC_VERSION := 1:4.5.0-2ubuntu1 DEB_STDCXX_SOVERSION := 4.4 DEB_GCJ_SOVERSION := 4.4 PKG_GCJ_EXT := 11 diff -u gcc-4.5-4.5.0/debian/rules.patch gcc-4.5-4.5.0/debian/rules.patch --- gcc-4.5-4.5.0/debian/rules.patch +++ gcc-4.5-4.5.0/debian/rules.patch @@ -42,6 +42,7 @@ libjava-jnipath \ libjava-sjlj \ libjava-disable-plugin \ + libjava-josm-fixes \ alpha-no-ev4-directive \ boehm-gc-getnprocs \ note-gnu-stack \ @@ -176,7 +177,7 @@ debian_patches += gcc-plugindir gcc-plugindir-doc endif -ifeq ($(DEB_TARGET_ARCH),armel) +ifneq (,$(filter $(DEB_TARGET_ARCH), armel ia64)) # timeouts on the buildd's, both Debian and Ubuntu debian_patches += libstdc++-no-testsuite endif @@ -203,7 +204,6 @@ else ifneq ($(GFDL_INVARIANT_FREE),yes) debian_patches += pr40521-sequel-doc endif -debian_patches += gcj-arm-no-merge-exidx-entries series_stamp = $(stampdir)/02-series-stamp diff -u gcc-4.5-4.5.0/debian/README.Debian gcc-4.5-4.5.0/debian/README.Debian --- gcc-4.5-4.5.0/debian/README.Debian +++ gcc-4.5-4.5.0/debian/README.Debian @@ -33,7 +33,7 @@ =============================================================================== svn-updates: - updates from the 4.5 branch upto 20100417 (r158474). + updates from the 4.5 branch upto 20100501 (r158683). rename-info-files: Allow transformations on info file names. Reference the @@ -42,6 +42,9 @@ gcc-plugindir-doc: Search for plugins in a default plugin dir, backport from the trunk (docs). +svn-doc-updates: + updates from the 4.5 branch upto 20100418 (documentation). + gcc-textdomain: Set gettext's domain and textdomain to the versioned package name. @@ -81,6 +84,9 @@ libjava-disable-plugin: Don't build the gcjwebplugin, even when configured with --enable-plugin +libjava-josm-fixes: + Backport two fixes to let josm run with gcj. + alpha-no-ev4-directive: never emit .ev4 directive. @@ -165,0 +172,10 @@ + +mips-fix-loongson2f-nop: + On mips, pass -mfix-loongson2f-nop to as, if -mno-fix-loongson2f-nop + is not passed. + +pr40521-sequel: + Sequel to PR40521 -- -g causes GCC to generate .eh_frame + +pr40521-sequel-doc: + Sequel to PR40521 -- -g causes GCC to generate .eh_frame (documentation) diff -u gcc-4.5-4.5.0/debian/changelog gcc-4.5-4.5.0/debian/changelog --- gcc-4.5-4.5.0/debian/changelog +++ gcc-4.5-4.5.0/debian/changelog @@ -1,14 +1,17 @@ -gcc-4.5 (4.5.0-2ubuntu1~ppa3) lucid; urgency=low +gcc-4.5 (4.5.0-2ubuntu1~ppa4) lucid; urgency=low - * Upload to ubuntu-toolchain-r PPA. + * Update to SVN 20100506 (r158683) from the gcc-4_5-branch. Fixes: + PR c++/43704, PR fortran/43339, PR middle-end/43337, PR target/43635, + PR tree-optimization/43783, PR tree-optimization/43796, PR middle-end/43570, + PR libgomp/43706, PR libgomp/43569, PR middle-end/43835, PR c/43893, + PR tree-optimization/43572, PR tree-optimization/43845, PR libgcj/40860. - -- Matthias Klose Tue, 20 Apr 2010 01:48:50 +0200 - -gcc-4.5 (4.5.0-2ubuntu1~ppa2) lucid; urgency=low - - * Merge with Debian. + [ Matthias Klose ] + * Revert gcj-arm-no-merge-exidx-entries patch, fixed by PR libgcj/40860. + * Don't run the libstdc++-v3 testsuite on the ia64 buildds. Timeouts. + * Backport two libjava fixes from the trunk to run josm with gcj. - -- Matthias Klose Mon, 19 Apr 2010 15:31:06 +0200 + -- Matthias Klose Thu, 06 May 2010 14:54:38 +0200 gcc-4.5 (4.5.0-2) experimental; urgency=low @@ -28,12 +31,6 @@ -- Matthias Klose Mon, 19 Apr 2010 15:22:55 +0200 -gcc-4.5 (4.5.0-1ubuntu1~ppa2) lucid; urgency=low - - * Upload to PPA. - - -- Matthias Klose Wed, 14 Apr 2010 15:37:37 +0200 - gcc-4.5 (4.5.0-1) experimental; urgency=low * GCC 4.5.0 release. @@ -154,7 +151,7 @@ * Rename libgcc symbols file for hppa. * On alpha and armel, set BOOT_CFLAGS to -g -O1 to work around bootstrap failures (see PR target/42509 (armel) and PR bootstrap/42511 (alpha)). - * Base the source build-dependency on the package version instead of the + * Base the source build-dependency on the package version instead of the gcc version. -- Matthias Klose Wed, 06 Jan 2010 14:17:29 +0100 @@ -167,7 +164,7 @@ * Update hurd patch for 4.5. Closes: #562802. [ Aurelien Jarno ] - * Remove patches/kbsd-gnu-ada.diff (merged upstream). + * Remove patches/kbsd-gnu-ada.diff (merged upstream). [ Matthias Klose ] * libgcj11: Move .so symlinks into gcj-4.5-jdk. Addresses: #563280. diff -u gcc-4.5-4.5.0/debian/control gcc-4.5-4.5.0/debian/control --- gcc-4.5-4.5.0/debian/control +++ gcc-4.5-4.5.0/debian/control @@ -5,7 +5,7 @@ XSBC-Original-Maintainer: Debian GCC Maintainers Uploaders: Matthias Klose , Arthur Loiret Standards-Version: 3.8.3 -Build-Depends: dpkg-dev (>= 1.14.15), debhelper (>= 5.0.62), gcc-multilib [amd64 i386 mips mipsel powerpc ppc64 s390 sparc kfreebsd-amd64], libc6.1-dev (>= 2.5) [alpha ia64] | libc0.3-dev (>= 2.5) [hurd-i386] | libc0.1-dev (>= 2.5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.5), libc6-dev-amd64 [i386], libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64], lib64gcc1 [i386 powerpc sparc s390], libc6-dev-mips64 [mips mipsel], libc6-dev-mipsn32 [mips mipsel], m4, libtool, autoconf2.64, automake (>= 1:1.11), automake (<< 1:1.12), libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], zlib1g-dev, gawk, lzma, xz-utils, patchutils, binutils (>= 2.20.51.20100418~) | binutils-multiarch (>= 2.20.51.20100418~), binutils-hppa64 (>= 2.20.51.20100418~) [hppa], gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, texinfo (>= 4.3), libmpfr-dev (>= 2.3.0), locales [!m68k !knetbsd-i386 !knetbsd-alpha], procps, sharutils, zlib1g-dev, libantlr-java, fastjar [!knetbsd-i386 !knetbsd-alpha], libmagic-dev [!knetbsd-i386 !knetbsd-alpha], libecj-java (>= 3.3.0-2) [!knetbsd-i386 !knetbsd-alpha], zip [!knetbsd-i386 !knetbsd-alpha], libasound2-dev [!knetbsd-i386 !knetbsd-alpha !hurd-i386 !hurd-alpha !kfreebsd-i386 !kfreebsd-amd64 !knetbsd-i386 !knetbsd-alpha], libxtst-dev [!knetbsd-i386 !knetbsd-alpha], libxt-dev [!knetbsd-i386 !knetbsd-alpha], libgtk2.0-dev (>= 2.4.4-2) [!knetbsd-i386 !knetbsd-alpha], libart-2.0-dev [!knetbsd-i386 !knetbsd-alpha], libcairo2-dev [!knetbsd-i386 !knetbsd-alpha], g++-4.4 [armel], binutils-spu (>= 2.20.51.20100418~) [powerpc ppc64], newlib-spu (>= 1.16.0) [powerpc ppc64], libcloog-ppl-dev (>= 0.15), libmpc-dev, libelfg0-dev (>= 0.8.12), dejagnu [!m68k !hurd-i386 !hurd-alpha], autogen, realpath (>= 1.9.12), chrpath, lsb-release, make (>= 3.81), quilt +Build-Depends: dpkg-dev (>= 1.14.15), debhelper (>= 5.0.62), gcc-multilib [amd64 i386 mips mipsel powerpc ppc64 s390 sparc kfreebsd-amd64], libc6.1-dev (>= 2.5) [alpha ia64] | libc0.3-dev (>= 2.5) [hurd-i386] | libc0.1-dev (>= 2.5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.5), libc6-dev-amd64 [i386], libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64], lib64gcc1 [i386 powerpc sparc s390], libc6-dev-mips64 [mips mipsel], libc6-dev-mipsn32 [mips mipsel], m4, libtool, autoconf2.64, automake (>= 1:1.11), automake (<< 1:1.12), libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], zlib1g-dev, gawk, lzma, xz-utils, patchutils, binutils (>= 2.20.1-7) | binutils-multiarch (>= 2.20.1-7), binutils-hppa64 (>= 2.20.1-7) [hppa], gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, texinfo (>= 4.3), libmpfr-dev (>= 2.3.0), locales [!m68k !knetbsd-i386 !knetbsd-alpha], procps, sharutils, zlib1g-dev, libantlr-java, fastjar [!knetbsd-i386 !knetbsd-alpha], libmagic-dev [!knetbsd-i386 !knetbsd-alpha], libecj-java (>= 3.3.0-2) [!knetbsd-i386 !knetbsd-alpha], zip [!knetbsd-i386 !knetbsd-alpha], libasound2-dev [!knetbsd-i386 !knetbsd-alpha !hurd-i386 !hurd-alpha !kfreebsd-i386 !kfreebsd-amd64 !knetbsd-i386 !knetbsd-alpha], libxtst-dev [!knetbsd-i386 !knetbsd-alpha], libxt-dev [!knetbsd-i386 !knetbsd-alpha], libgtk2.0-dev (>= 2.4.4-2) [!knetbsd-i386 !knetbsd-alpha], libart-2.0-dev [!knetbsd-i386 !knetbsd-alpha], libcairo2-dev [!knetbsd-i386 !knetbsd-alpha], g++-4.4 [armel], binutils-spu (>= 2.20.1-7) [powerpc ppc64], newlib-spu (>= 1.16.0) [powerpc ppc64], libcloog-ppl-dev (>= 0.15), libmpc-dev, libelfg0-dev (>= 0.8.12), dejagnu [!m68k !hurd-i386 !hurd-alpha], autogen, realpath (>= 1.9.12), chrpath, lsb-release, make (>= 3.81), quilt Build-Depends-Indep: doxygen (>= 1.4.2), graphviz (>= 2.2), gsfonts-x11, texlive-latex-base, Build-Conflicts: binutils-gold Homepage: http://gcc.gnu.org/ diff -u gcc-4.5-4.5.0/debian/rules.conf gcc-4.5-4.5.0/debian/rules.conf --- gcc-4.5-4.5.0/debian/rules.conf +++ gcc-4.5-4.5.0/debian/rules.conf @@ -122,6 +122,7 @@ # We need binutils (>= 2.19.1) for a new dwarf unwind expression opcode. # See http://gcc.gnu.org/ml/gcc-patches/2008-09/msg01713.html BINUTILSV = 2.20.51.20100418~ +BINUTILSV = 2.20.1-7 ifeq ($(DEB_CROSS),yes) BINUTILS_BUILD_DEP = binutils$(TS) (>= $(BINUTILSV)) else diff -u gcc-4.5-4.5.0/debian/patches/gcc-plugindir.diff gcc-4.5-4.5.0/debian/patches/gcc-plugindir.diff --- gcc-4.5-4.5.0/debian/patches/gcc-plugindir.diff +++ gcc-4.5-4.5.0/debian/patches/gcc-plugindir.diff @@ -44,10 +44,20 @@ * gcc.dg/plugindir3.c: New testcase. * gcc.dg/plugindir4.c: New testcase. +gcc/testsuite/ + +2010-04-28 Matthias Klose + + * gcc.dg/plugin/plugin.exp: Run the plugindir tests. + * gcc.dg/plugindir1.c: Move to gcc.dg/plugin/plugindir1.c. + * gcc.dg/plugindir2.c: Move to gcc.dg/plugin/plugindir2.c. + * gcc.dg/plugindir3.c: Move to gcc.dg/plugin/plugindir3.c. + * gcc.dg/plugindir4.c: Move to gcc.dg/plugin/plugindir4.c. + Index: gcc/gcc.c =================================================================== ---- a/src/gcc/gcc.c (revision -+++ b/src/gcc/gcc.c (revision +--- a/src/gcc/gcc.c (revision 158844) ++++ b/src/gcc/gcc.c (working copy) @@ -403,6 +403,7 @@ static const char *replace_outfile_spec_function (int, const char **); static const char *version_compare_spec_function (int, const char **); @@ -80,7 +90,7 @@ { "print-asm-header", print_asm_header_spec_function }, { "compare-debug-dump-opt", compare_debug_dump_opt_spec_function }, { "compare-debug-self-opt", compare_debug_self_opt_spec_function }, -@@ -8710,6 +8714,22 @@ +@@ -8794,6 +8798,22 @@ return NULL; } @@ -103,46 +113,66 @@ /* %:print-asm-header spec function. Print a banner to say that the following output is from the assembler. */ -Index: gcc/testsuite/gcc.dg/plugindir2.c +Index: gcc/testsuite/gcc.dg/plugin/plugin.exp +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/plugin/plugin.exp (revision 158844) ++++ b/src/gcc/testsuite/gcc.dg/plugin/plugin.exp (working copy) +@@ -68,3 +68,15 @@ + set plugin_input_tests [lreplace $plugin_test 0 0] + plugin-test-execute $plugin_src $plugin_input_tests + } ++ ++# run the plugindir tests ++ ++# Initialize `dg'. ++dg-init ++ ++# Main loop. ++dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/plugindir*.\[cSi\]]] \ ++ "" $DEFAULT_CFLAGS ++ ++# All done. ++dg-finish +Index: gcc/testsuite/gcc.dg/plugin/plugindir1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/plugin/plugindir1.c (revision 0) ++++ b/src/gcc/testsuite/gcc.dg/plugin/plugindir1.c (revision 0) +@@ -0,0 +1,4 @@ ++/* { dg-do compile } */ ++/* { dg-options "-c -fplugin=foo" } */ ++ ++/* { dg-prune-output ".*inacessible plugin file.*foo\.so expanded from short plugin name.*" } */ +Index: gcc/testsuite/gcc.dg/plugin/plugindir2.c =================================================================== ---- a/src/gcc/testsuite/gcc.dg/plugindir2.c (revision -+++ b/src/gcc/testsuite/gcc.dg/plugindir2.c (revision +--- a/src/gcc/testsuite/gcc.dg/plugin/plugindir2.c (revision 0) ++++ b/src/gcc/testsuite/gcc.dg/plugin/plugindir2.c (revision 0) @@ -0,0 +1,4 @@ +/* { dg-do compile } */ +/* { dg-options "-save-temps -c -fplugin=foo" } */ + +/* { dg-prune-output ".*inacessible plugin file.*foo\.so expanded from short plugin name.*" } */ -Index: gcc/testsuite/gcc.dg/plugindir3.c +Index: gcc/testsuite/gcc.dg/plugin/plugindir3.c =================================================================== ---- a/src/gcc/testsuite/gcc.dg/plugindir3.c (revision -+++ b/src/gcc/testsuite/gcc.dg/plugindir3.c (revision +--- a/src/gcc/testsuite/gcc.dg/plugin/plugindir3.c (revision 0) ++++ b/src/gcc/testsuite/gcc.dg/plugin/plugindir3.c (revision 0) @@ -0,0 +1,4 @@ +/* { dg-do preprocess } */ +/* { dg-options "-fplugin=foo" } */ + +/* { dg-prune-output ".*inacessible plugin file.*foo\.so expanded from short plugin name.*" } */ -Index: gcc/testsuite/gcc.dg/plugindir4.c +Index: gcc/testsuite/gcc.dg/plugin/plugindir4.c =================================================================== ---- a/src/gcc/testsuite/gcc.dg/plugindir4.c (revision -+++ b/src/gcc/testsuite/gcc.dg/plugindir4.c (revision +--- a/src/gcc/testsuite/gcc.dg/plugin/plugindir4.c (revision 0) ++++ b/src/gcc/testsuite/gcc.dg/plugin/plugindir4.c (revision 0) @@ -0,0 +1,4 @@ +/* { dg-do preprocess } */ +/* { dg-options "-iplugindir=my-plugindir -fplugin=foo" } */ + +/* { dg-prune-output ".*inacessible plugin file.*my-plugindir/foo\.so expanded from short plugin name.*" } */ -Index: gcc/testsuite/gcc.dg/plugindir1.c -=================================================================== ---- a/src/gcc/testsuite/gcc.dg/plugindir1.c (revision -+++ b/src/gcc/testsuite/gcc.dg/plugindir1.c (revision -@@ -0,0 +1,4 @@ -+/* { dg-do compile } */ -+/* { dg-options "-c -fplugin=foo" } */ -+ -+/* { dg-prune-output ".*inacessible plugin file.*foo\.so expanded from short plugin name.*" } */ Index: gcc/gcc-plugin.h =================================================================== ---- a/src/gcc/gcc-plugin.h (revision -+++ b/src/gcc/gcc-plugin.h (revision +--- a/src/gcc/gcc-plugin.h (revision 158844) ++++ b/src/gcc/gcc-plugin.h (working copy) @@ -141,4 +141,10 @@ extern int unregister_callback (const char *plugin_name, int event); @@ -156,9 +186,9 @@ #endif /* GCC_PLUGIN_H */ Index: gcc/common.opt =================================================================== ---- a/src/gcc/common.opt (revision -+++ b/src/gcc/common.opt (revision -@@ -1539,6 +1539,10 @@ +--- a/src/gcc/common.opt (revision 158844) ++++ b/src/gcc/common.opt (working copy) +@@ -1535,6 +1535,10 @@ Common JoinedOrMissing Negative(gcoff) Generate debug information in extended XCOFF format @@ -171,8 +201,8 @@ -o Place output into Index: gcc/plugin.c =================================================================== ---- a/src/gcc/plugin.c (revision -+++ b/src/gcc/plugin.c (revision +--- a/src/gcc/plugin.c (revision 158844) ++++ b/src/gcc/plugin.c (working copy) @@ -1,5 +1,5 @@ /* Support for GCC plugin mechanism. - Copyright (C) 2009 Free Software Foundation, Inc. @@ -253,9 +283,9 @@ +} Index: gcc/Makefile.in =================================================================== ---- a/src/gcc/Makefile.in (revision -+++ b/src/gcc/Makefile.in (revision -@@ -4233,7 +4233,7 @@ +--- a/src/gcc/Makefile.in (revision 158844) ++++ b/src/gcc/Makefile.in (working copy) +@@ -4231,7 +4231,7 @@ -rm -f gcov.pod # Delete po/*.gmo only if we are not building in the source directory. -if [ ! -f po/exgettext ]; then rm -f po/*.gmo; fi @@ -264,7 +294,7 @@ # Get rid of every file that's generated from some other file, except for `configure'. # Most of these files ARE PRESENT in the GCC distribution. -@@ -4690,6 +4690,7 @@ +@@ -4688,6 +4688,7 @@ # This is only used for check-% targets that aren't parallelized. $(filter-out $(lang_checks_parallelized),$(lang_checks)): check-% : site.exp @@ -272,7 +302,7 @@ -test -d $(TESTSUITEDIR) || mkdir $(TESTSUITEDIR) test -d $(TESTSUITEDIR)/$* || mkdir $(TESTSUITEDIR)/$* -(rootme=`${PWD_COMMAND}`; export rootme; \ -@@ -4777,6 +4778,7 @@ +@@ -4775,6 +4776,7 @@ # Otherwise check-$lang isn't parallelized and runtest is invoked just with # the $(RUNTESTFLAGS) arguments. check-parallel-% : site.exp reverted: --- gcc-4.5-4.5.0/debian/patches/gcj-arm-no-merge-exidx-entries.diff +++ gcc-4.5-4.5.0.orig/debian/patches/gcj-arm-no-merge-exidx-entries.diff @@ -1,16 +0,0 @@ -# DP: On ARM, let gcj pass --no-merge-exidx-entries to the linker - ---- a/src/gcc/java/jvspec.c~ 2010-01-20 11:35:38.000000000 +0100 -+++ b/src/gcc/java/jvspec.c 2010-04-18 15:57:29.441086898 +0200 -@@ -646,6 +646,11 @@ - if (link_for_bc_abi) - arglist[j++] = "-s-bc-abi"; - -+#ifdef __ARM_EABI__ -+ if (will_link) -+ arglist[j++] = "-Wl,--no-merge-exidx-entries"; -+#endif -+ - arglist[j] = NULL; - - *in_argc = j; diff -u gcc-4.5-4.5.0/debian/patches/gcc-plugindir-doc.diff gcc-4.5-4.5.0/debian/patches/gcc-plugindir-doc.diff --- gcc-4.5-4.5.0/debian/patches/gcc-plugindir-doc.diff +++ gcc-4.5-4.5.0/debian/patches/gcc-plugindir-doc.diff @@ -1,9 +1,7 @@ # DP: Search for plugins in a default plugin dir, backport from the trunk (docs). -Index: gcc/doc/plugins.texi -=================================================================== ---- a/src/gcc/doc/plugins.texi (revision 158246) -+++ b/src/gcc/doc/plugins.texi (revision 158247) +--- a/src/gcc/doc/plugins.texi~ 2010-04-02 21:54:46.000000000 +0200 ++++ b/src/gcc/doc/plugins.texi 2010-05-01 17:46:54.101086672 +0200 @@ -22,6 +22,11 @@ plugins as key-value pairs. Multiple plugins can be invoked by specifying multiple @option{-fplugin} arguments. @@ -26,25 +24,21 @@ The following GNU Makefile excerpt shows how to build a simple plugin: @smallexample -Index: gcc/doc/invoke.texi -=================================================================== ---- a/src/gcc/doc/invoke.texi (revision 158246) -+++ b/src/gcc/doc/invoke.texi (revision 158247) -@@ -425,8 +425,9 @@ +--- a/src/gcc/doc/invoke.texi~ 2010-05-01 17:43:03.372338550 +0200 ++++ b/src/gcc/doc/invoke.texi 2010-05-01 17:46:05.673586259 +0200 +@@ -425,7 +425,8 @@ @item Directory Options @xref{Directory Options,,Options for Directory Search}. -@gccoptlist{-B@var{prefix} -I@var{dir} -iquote@var{dir} -L@var{dir} ---specs=@var{file} -I- --sysroot=@var{dir}} -+@gccoptlist{-B@var{prefix} -I@var{dir} -iplugindir=@var{dir}} -+-iquote@var{dir} -L@var{dir} -specs=@var{file} -I- -+--sysroot=@var{dir} - - @item Machine Dependent Options - @xref{Submodel Options,,Hardware Models and Configurations}. -@@ -8892,6 +8893,12 @@ - If you really need to change the search order for system directories, - use the @option{-nostdinc} and/or @option{-isystem} options. ++@gccoptlist{-B@var{prefix} -I@var{dir} -iplugindir=@var{dir} ++-iquote@var{dir} -L@var{dir} + -specs=@var{file} -I- --sysroot=@var{dir}} + + @item Target Options +@@ -8872,6 +8873,15 @@ + "@var{file}"}; they are not searched for @samp{#include <@var{file}>}, + otherwise just like @option{-I}. +@item -iplugindir=@var{dir} +Set the directory to search for plugins which are passed @@ -55,3 +49,6 @@ - @item -iquote@var{dir} - @opindex iquote - Add the directory @var{dir} to the head of the list of directories to ++NOTE: This is a backport for Debian/Ubuntu. Upstream versions of ++GCC 4.5 don't have this option. ++ + @item -L@var{dir} + @opindex L + Add directory @var{dir} to the list of directories to be searched diff -u gcc-4.5-4.5.0/debian/patches/svn-updates.diff gcc-4.5-4.5.0/debian/patches/svn-updates.diff --- gcc-4.5-4.5.0/debian/patches/svn-updates.diff +++ gcc-4.5-4.5.0/debian/patches/svn-updates.diff @@ -1,10 +1,10 @@ -# DP: updates from the 4.5 branch upto 20100419 (r158517). +# DP: updates from the 4.5 branch upto 20100506 (r159104). last_updated() { cat > ${dir}LAST_UPDATED < /dev/null 2>&1; then + : + else + BUILD_CONFIG= Index: libgcc/config.host =================================================================== --- a/src/libgcc/config.host (.../tags/gcc_4_5_0_release) @@ -39,11 +52,698 @@ 2010-04-14 Release Manager * GCC 4.5.0 released. +Index: libgomp/sections.c +=================================================================== +--- a/src/libgomp/sections.c (.../tags/gcc_4_5_0_release) ++++ b/src/libgomp/sections.c (.../branches/gcc-4_5-branch) +@@ -1,4 +1,4 @@ +-/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. ++/* Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). +@@ -34,9 +34,25 @@ + { + ws->sched = GFS_DYNAMIC; + ws->chunk_size = 1; +- ws->end = count + 1; ++ ws->end = count + 1L; + ws->incr = 1; + ws->next = 1; ++#ifdef HAVE_SYNC_BUILTINS ++ /* Prepare things to make each iteration faster. */ ++ if (sizeof (long) > sizeof (unsigned)) ++ ws->mode = 1; ++ else ++ { ++ struct gomp_thread *thr = gomp_thread (); ++ struct gomp_team *team = thr->ts.team; ++ long nthreads = team ? team->nthreads : 1; ++ ++ ws->mode = ((nthreads | ws->end) ++ < 1UL << (sizeof (long) * __CHAR_BIT__ / 2 - 1)); ++ } ++#else ++ ws->mode = 0; ++#endif + } + + /* This routine is called when first encountering a sections construct +Index: libgomp/ChangeLog +=================================================================== +--- a/src/libgomp/ChangeLog (.../tags/gcc_4_5_0_release) ++++ b/src/libgomp/ChangeLog (.../branches/gcc-4_5-branch) +@@ -1,3 +1,24 @@ ++2010-04-26 Jakub Jelinek ++ ++ PR c/43893 ++ * testsuite/libgomp.c/pr43893.c: New test. ++ * testsuite/libgomp.c++/pr43893.C: New test. ++ ++2010-04-21 Jakub Jelinek ++ ++ PR middle-end/43570 ++ * testsuite/libgomp.fortran/vla8.f90: New test. ++ ++ PR libgomp/43706 ++ * config/linux/affinity.c (gomp_init_affinity): Decrease ++ gomp_available_cpus if affinity mask confines the process to fewer ++ CPUs. ++ * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is ++ non-NULL, just return gomp_available_cpus. ++ ++ PR libgomp/43569 ++ * sections.c (gomp_sections_init): Initialize ws->mode. ++ + 2010-04-14 Release Manager + + * GCC 4.5.0 released. +Index: libgomp/testsuite/libgomp.c++/pr43893.C +=================================================================== +--- a/src/libgomp/testsuite/libgomp.c++/pr43893.C (.../tags/gcc_4_5_0_release) ++++ b/src/libgomp/testsuite/libgomp.c++/pr43893.C (.../branches/gcc-4_5-branch) +@@ -0,0 +1,125 @@ ++// PR c/43893 ++// { dg-do run } ++ ++extern "C" void abort (); ++ ++template ++void ++f1 () ++{ ++ int c; ++ T i; ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (i = M; i < N; i++) ++ c++; ++ if (c != 1) ++ abort (); ++} ++ ++template ++void ++f2 () ++{ ++ int c; ++ T i; ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (i = M; i <= N; i++) ++ c++; ++ if (c != 1) ++ abort (); ++} ++ ++template ++void ++f3 () ++{ ++ int c; ++ T i; ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (i = M; i > N; i--) ++ c++; ++ if (c != 1) ++ abort (); ++} ++ ++template ++void ++f4 () ++{ ++ int c; ++ T i; ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (i = M; i >= N; i--) ++ c++; ++ if (c != 1) ++ abort (); ++} ++ ++int ++main () ++{ ++ int c; ++ unsigned int i; ++ int j; ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (i = 0; i < 1; i++) ++ c++; ++ if (c != 1) ++ abort (); ++ f1 (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (i = 0; i <= 0; i++) ++ c++; ++ if (c != 1) ++ abort (); ++ f2 (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (j = - __INT_MAX__ - 1; j < - __INT_MAX__; j++) ++ c++; ++ if (c != 1) ++ abort (); ++ f1 (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (j = - __INT_MAX__ - 1; j <= - __INT_MAX__ - 1; j++) ++ c++; ++ if (c != 1) ++ abort (); ++ f2 (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (i = 2U * __INT_MAX__ + 1; i > 2U * __INT_MAX__; i--) ++ c++; ++ if (c != 1) ++ abort (); ++ f3 (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (i = 2U * __INT_MAX__ + 1; i >= 2U * __INT_MAX__ + 1; i--) ++ c++; ++ if (c != 1) ++ abort (); ++ f4 (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (j = __INT_MAX__; j > __INT_MAX__ - 1; j--) ++ c++; ++ if (c != 1) ++ abort (); ++ f3 (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (j = __INT_MAX__; j >= __INT_MAX__; j--) ++ c++; ++ if (c != 1) ++ abort (); ++ f4 (); ++ return 0; ++} +Index: libgomp/testsuite/libgomp.fortran/vla8.f90 +=================================================================== +--- a/src/libgomp/testsuite/libgomp.fortran/vla8.f90 (.../tags/gcc_4_5_0_release) ++++ b/src/libgomp/testsuite/libgomp.fortran/vla8.f90 (.../branches/gcc-4_5-branch) +@@ -0,0 +1,254 @@ ++! { dg-do run } ++ ++ call test ++contains ++ subroutine check (x, y, l) ++ integer :: x, y ++ logical :: l ++ l = l .or. x .ne. y ++ end subroutine check ++ ++ subroutine foo (c, d, e, f, g, h, i, j, k, n) ++ use omp_lib ++ integer :: n ++ character (len = *) :: c ++ character (len = n) :: d ++ integer, dimension (2, 3:5, n) :: e ++ integer, dimension (2, 3:n, n) :: f ++ character (len = *), dimension (5, 3:n) :: g ++ character (len = n), dimension (5, 3:n) :: h ++ real, dimension (:, :, :) :: i ++ double precision, dimension (3:, 5:, 7:) :: j ++ integer, dimension (:, :, :) :: k ++ logical :: l ++ integer :: p, q, r ++ character (len = n) :: s ++ integer, dimension (2, 3:5, n) :: t ++ integer, dimension (2, 3:n, n) :: u ++ character (len = n), dimension (5, 3:n) :: v ++ character (len = 2 * n + 24) :: w ++ integer :: x, z ++ character (len = 1) :: y ++ l = .false. ++!$omp parallel default (none) private (c, d, e, f, g, h, i, j, k) & ++!$omp & private (s, t, u, v) reduction (.or.:l) num_threads (6) & ++!$omp private (p, q, r, w, x, y) shared (z) ++ x = omp_get_thread_num () ++ w = '' ++ if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0' ++ if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1' ++ if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2' ++ if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3' ++ if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4' ++ if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5' ++ c = w(8:19) ++ d = w(1:7) ++ forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 * x + p + q + 2 * r ++ forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 * x + p + q + 2 * r ++ forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = w(8:19) ++ forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = w(27:38) ++ forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = w(1:7) ++ forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = w(20:26) ++ forall (p = 3:5, q = 2:6, r = 1:7) i(p - 2, q - 1, r) = (7.5 + x) * p * q * r ++ forall (p = 3:5, q = 2:6, r = 1:7) j(p, q + 3, r + 6) = (9.5 + x) * p * q * r ++ forall (p = 1:5, q = 7:7, r = 4:6) k(p, q - 6, r - 3) = 19 + x + p + q + 3 * r ++ s = w(20:26) ++ forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + x + p - q + 2 * r ++ forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r ++ forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7) ++ forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26) ++!$omp barrier ++ y = '' ++ if (x .eq. 0) y = '0' ++ if (x .eq. 1) y = '1' ++ if (x .eq. 2) y = '2' ++ if (x .eq. 3) y = '3' ++ if (x .eq. 4) y = '4' ++ if (x .eq. 5) y = '5' ++ l = l .or. w(7:7) .ne. y ++ l = l .or. w(19:19) .ne. y ++ l = l .or. w(26:26) .ne. y ++ l = l .or. w(38:38) .ne. y ++ l = l .or. c .ne. w(8:19) ++ l = l .or. d .ne. w(1:7) ++ l = l .or. s .ne. w(20:26) ++ do 103, p = 1, 2 ++ do 103, q = 3, 7 ++ do 103, r = 1, 7 ++ if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r ++ l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r ++ if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19) ++ if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38) ++ if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7) ++ if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26) ++ if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r ++ l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r ++ if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7) ++ if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26) ++103 continue ++ do 104, p = 3, 5 ++ do 104, q = 2, 6 ++ do 104, r = 1, 7 ++ l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r ++ l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r ++104 continue ++ do 105, p = 1, 5 ++ do 105, q = 4, 6 ++ l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q ++105 continue ++ call check (size (e, 1), 2, l) ++ call check (size (e, 2), 3, l) ++ call check (size (e, 3), 7, l) ++ call check (size (e), 42, l) ++ call check (size (f, 1), 2, l) ++ call check (size (f, 2), 5, l) ++ call check (size (f, 3), 7, l) ++ call check (size (f), 70, l) ++ call check (size (g, 1), 5, l) ++ call check (size (g, 2), 5, l) ++ call check (size (g), 25, l) ++ call check (size (h, 1), 5, l) ++ call check (size (h, 2), 5, l) ++ call check (size (h), 25, l) ++ call check (size (i, 1), 3, l) ++ call check (size (i, 2), 5, l) ++ call check (size (i, 3), 7, l) ++ call check (size (i), 105, l) ++ call check (size (j, 1), 4, l) ++ call check (size (j, 2), 5, l) ++ call check (size (j, 3), 7, l) ++ call check (size (j), 140, l) ++ call check (size (k, 1), 5, l) ++ call check (size (k, 2), 1, l) ++ call check (size (k, 3), 3, l) ++ call check (size (k), 15, l) ++!$omp single ++ z = omp_get_thread_num () ++!$omp end single copyprivate (c, d, e, f, g, h, i, j, k, s, t, u, v) ++ w = '' ++ x = z ++ if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0' ++ if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1' ++ if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2' ++ if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3' ++ if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4' ++ if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5' ++ y = '' ++ if (x .eq. 0) y = '0' ++ if (x .eq. 1) y = '1' ++ if (x .eq. 2) y = '2' ++ if (x .eq. 3) y = '3' ++ if (x .eq. 4) y = '4' ++ if (x .eq. 5) y = '5' ++ l = l .or. w(7:7) .ne. y ++ l = l .or. w(19:19) .ne. y ++ l = l .or. w(26:26) .ne. y ++ l = l .or. w(38:38) .ne. y ++ l = l .or. c .ne. w(8:19) ++ l = l .or. d .ne. w(1:7) ++ l = l .or. s .ne. w(20:26) ++ do 113, p = 1, 2 ++ do 113, q = 3, 7 ++ do 113, r = 1, 7 ++ if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r ++ l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r ++ if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19) ++ if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38) ++ if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7) ++ if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26) ++ if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r ++ l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r ++ if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7) ++ if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26) ++113 continue ++ do 114, p = 3, 5 ++ do 114, q = 2, 6 ++ do 114, r = 1, 7 ++ l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r ++ l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r ++114 continue ++ do 115, p = 1, 5 ++ do 115, q = 4, 6 ++ l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q ++115 continue ++ x = omp_get_thread_num () ++ w = '' ++ if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0' ++ if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1' ++ if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2' ++ if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3' ++ if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4' ++ if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5' ++ c = w(8:19) ++ d = w(1:7) ++ forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 * x + p + q + 2 * r ++ forall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 * x + p + q + 2 * r ++ forall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = w(8:19) ++ forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = w(27:38) ++ forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = w(1:7) ++ forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = w(20:26) ++ forall (p = 3:5, q = 2:6, r = 1:7) i(p - 2, q - 1, r) = (7.5 + x) * p * q * r ++ forall (p = 3:5, q = 2:6, r = 1:7) j(p, q + 3, r + 6) = (9.5 + x) * p * q * r ++ forall (p = 1:5, q = 7:7, r = 4:6) k(p, q - 6, r - 3) = 19 + x + p + q + 3 * r ++ s = w(20:26) ++ forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + x + p - q + 2 * r ++ forall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * r ++ forall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7) ++ forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26) ++!$omp barrier ++ y = '' ++ if (x .eq. 0) y = '0' ++ if (x .eq. 1) y = '1' ++ if (x .eq. 2) y = '2' ++ if (x .eq. 3) y = '3' ++ if (x .eq. 4) y = '4' ++ if (x .eq. 5) y = '5' ++ l = l .or. w(7:7) .ne. y ++ l = l .or. w(19:19) .ne. y ++ l = l .or. w(26:26) .ne. y ++ l = l .or. w(38:38) .ne. y ++ l = l .or. c .ne. w(8:19) ++ l = l .or. d .ne. w(1:7) ++ l = l .or. s .ne. w(20:26) ++ do 123, p = 1, 2 ++ do 123, q = 3, 7 ++ do 123, r = 1, 7 ++ if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * r ++ l = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * r ++ if (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19) ++ if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38) ++ if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7) ++ if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26) ++ if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * r ++ l = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * r ++ if (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7) ++ if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26) ++123 continue ++ do 124, p = 3, 5 ++ do 124, q = 2, 6 ++ do 124, r = 1, 7 ++ l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * r ++ l = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r ++124 continue ++ do 125, p = 1, 5 ++ do 125, q = 4, 6 ++ l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q ++125 continue ++!$omp end parallel ++ if (l) call abort ++ end subroutine foo ++ ++ subroutine test ++ character (len = 12) :: c ++ character (len = 7) :: d ++ integer, dimension (2, 3:5, 7) :: e ++ integer, dimension (2, 3:7, 7) :: f ++ character (len = 12), dimension (5, 3:7) :: g ++ character (len = 7), dimension (5, 3:7) :: h ++ real, dimension (3:5, 2:6, 1:7) :: i ++ double precision, dimension (3:6, 2:6, 1:7) :: j ++ integer, dimension (1:5, 7:7, 4:6) :: k ++ integer :: p, q, r ++ call foo (c, d, e, f, g, h, i, j, k, 7) ++ end subroutine test ++end +Index: libgomp/testsuite/libgomp.c/pr43893.c +=================================================================== +--- a/src/libgomp/testsuite/libgomp.c/pr43893.c (.../tags/gcc_4_5_0_release) ++++ b/src/libgomp/testsuite/libgomp.c/pr43893.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,61 @@ ++/* PR c/43893 */ ++/* { dg-do run } */ ++ ++extern void abort (void); ++ ++int ++main () ++{ ++ int c; ++ unsigned int i; ++ int j; ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (i = 0; i < 1; i++) ++ c++; ++ if (c != 1) ++ abort (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (i = 0; i <= 0; i++) ++ c++; ++ if (c != 1) ++ abort (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (j = - __INT_MAX__ - 1; j < - __INT_MAX__; j++) ++ c++; ++ if (c != 1) ++ abort (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (j = - __INT_MAX__ - 1; j <= - __INT_MAX__ - 1; j++) ++ c++; ++ if (c != 1) ++ abort (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (i = 2U * __INT_MAX__ + 1; i > 2U * __INT_MAX__; i--) ++ c++; ++ if (c != 1) ++ abort (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (i = 2U * __INT_MAX__ + 1; i >= 2U * __INT_MAX__ + 1; i--) ++ c++; ++ if (c != 1) ++ abort (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (j = __INT_MAX__; j > __INT_MAX__ - 1; j--) ++ c++; ++ if (c != 1) ++ abort (); ++ c = 0; ++#pragma omp parallel for reduction(+:c) ++ for (j = __INT_MAX__; j >= __INT_MAX__; j--) ++ c++; ++ if (c != 1) ++ abort (); ++ return 0; ++} +Index: libgomp/config/linux/proc.c +=================================================================== +--- a/src/libgomp/config/linux/proc.c (.../tags/gcc_4_5_0_release) ++++ b/src/libgomp/config/linux/proc.c (.../branches/gcc-4_5-branch) +@@ -1,4 +1,5 @@ +-/* Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. ++/* Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 ++ Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). +@@ -104,26 +105,13 @@ + } + else + { +- size_t idx; +- static int affinity_cpus; +- + /* We can't use pthread_getaffinity_np in this case + (we have changed it ourselves, it binds to just one CPU). + Count instead the number of different CPUs we are +- using. */ +- CPU_ZERO (&cpuset); +- if (affinity_cpus == 0) +- { +- int cpus = 0; +- for (idx = 0; idx < gomp_cpu_affinity_len; idx++) +- if (! CPU_ISSET (gomp_cpu_affinity[idx], &cpuset)) +- { +- cpus++; +- CPU_SET (gomp_cpu_affinity[idx], &cpuset); +- } +- affinity_cpus = cpus; +- } +- return affinity_cpus; ++ using. gomp_init_affinity updated gomp_available_cpus to ++ the number of CPUs in the GOMP_AFFINITY mask that we are ++ allowed to use though. */ ++ return gomp_available_cpus; + } + #endif + #ifdef _SC_NPROCESSORS_ONLN +Index: libgomp/config/linux/affinity.c +=================================================================== +--- a/src/libgomp/config/linux/affinity.c (.../tags/gcc_4_5_0_release) ++++ b/src/libgomp/config/linux/affinity.c (.../branches/gcc-4_5-branch) +@@ -1,4 +1,4 @@ +-/* Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc. ++/* Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). +@@ -39,8 +39,9 @@ + void + gomp_init_affinity (void) + { +- cpu_set_t cpuset; ++ cpu_set_t cpuset, cpusetnew; + size_t idx, widx; ++ unsigned long cpus = 0; + + if (pthread_getaffinity_np (pthread_self (), sizeof (cpuset), &cpuset)) + { +@@ -51,10 +52,18 @@ + return; + } + ++ CPU_ZERO (&cpusetnew); + for (widx = idx = 0; idx < gomp_cpu_affinity_len; idx++) + if (gomp_cpu_affinity[idx] < CPU_SETSIZE + && CPU_ISSET (gomp_cpu_affinity[idx], &cpuset)) +- gomp_cpu_affinity[widx++] = gomp_cpu_affinity[idx]; ++ { ++ if (! CPU_ISSET (gomp_cpu_affinity[idx], &cpusetnew)) ++ { ++ cpus++; ++ CPU_SET (gomp_cpu_affinity[idx], &cpusetnew); ++ } ++ gomp_cpu_affinity[widx++] = gomp_cpu_affinity[idx]; ++ } + + if (widx == 0) + { +@@ -66,6 +75,8 @@ + } + + gomp_cpu_affinity_len = widx; ++ if (cpus < gomp_available_cpus) ++ gomp_available_cpus = cpus; + CPU_ZERO (&cpuset); + CPU_SET (gomp_cpu_affinity[0], &cpuset); + pthread_setaffinity_np (pthread_self (), sizeof (cpuset), &cpuset); Index: gcc/tree-vrp.c =================================================================== --- a/src/gcc/tree-vrp.c (.../tags/gcc_4_5_0_release) +++ b/src/gcc/tree-vrp.c (.../branches/gcc-4_5-branch) -@@ -2715,8 +2715,16 @@ +@@ -764,7 +764,28 @@ + && integer_zerop (vr->max); + } + ++/* Return true if max and min of VR are INTEGER_CST. It's not necessary ++ a singleton. */ + ++static inline bool ++range_int_cst_p (value_range_t *vr) ++{ ++ return (vr->type == VR_RANGE ++ && TREE_CODE (vr->max) == INTEGER_CST ++ && TREE_CODE (vr->min) == INTEGER_CST ++ && !TREE_OVERFLOW (vr->max) ++ && !TREE_OVERFLOW (vr->min)); ++} ++ ++/* Return true if VR is a INTEGER_CST singleton. */ ++ ++static inline bool ++range_int_cst_singleton_p (value_range_t *vr) ++{ ++ return (range_int_cst_p (vr) ++ && tree_int_cst_equal (vr->min, vr->max)); ++} ++ + /* Return true if value range VR involves at least one symbol. */ + + static inline bool +@@ -2498,19 +2519,20 @@ + } + else if (code == BIT_AND_EXPR) + { +- if (vr0.type == VR_RANGE +- && vr0.min == vr0.max +- && TREE_CODE (vr0.max) == INTEGER_CST +- && !TREE_OVERFLOW (vr0.max) +- && tree_int_cst_sgn (vr0.max) >= 0) ++ bool vr0_int_cst_singleton_p, vr1_int_cst_singleton_p; ++ ++ vr0_int_cst_singleton_p = range_int_cst_singleton_p (&vr0); ++ vr1_int_cst_singleton_p = range_int_cst_singleton_p (&vr1); ++ ++ if (vr0_int_cst_singleton_p && vr1_int_cst_singleton_p) ++ min = max = int_const_binop (code, vr0.max, vr1.max, 0); ++ else if (vr0_int_cst_singleton_p ++ && tree_int_cst_sgn (vr0.max) >= 0) + { + min = build_int_cst (expr_type, 0); + max = vr0.max; + } +- else if (vr1.type == VR_RANGE +- && vr1.min == vr1.max +- && TREE_CODE (vr1.max) == INTEGER_CST +- && !TREE_OVERFLOW (vr1.max) ++ else if (vr1_int_cst_singleton_p + && tree_int_cst_sgn (vr1.max) >= 0) + { + type = VR_RANGE; +@@ -2525,12 +2547,8 @@ + } + else if (code == BIT_IOR_EXPR) + { +- if (vr0.type == VR_RANGE +- && vr1.type == VR_RANGE +- && TREE_CODE (vr0.min) == INTEGER_CST +- && TREE_CODE (vr1.min) == INTEGER_CST +- && TREE_CODE (vr0.max) == INTEGER_CST +- && TREE_CODE (vr1.max) == INTEGER_CST ++ if (range_int_cst_p (&vr0) ++ && range_int_cst_p (&vr1) + && tree_int_cst_sgn (vr0.min) >= 0 + && tree_int_cst_sgn (vr1.min) >= 0) + { +@@ -2715,8 +2733,16 @@ || vr0.type == VR_ANTI_RANGE) && TREE_CODE (vr0.min) == INTEGER_CST && TREE_CODE (vr0.max) == INTEGER_CST @@ -62,7 +762,7 @@ && (TYPE_PRECISION (outer_type) >= TYPE_PRECISION (inner_type) || (vr0.type == VR_RANGE && integer_zerop (int_const_binop (RSHIFT_EXPR, -@@ -2730,6 +2738,10 @@ +@@ -2730,6 +2756,10 @@ new_max = force_fit_type_double (outer_type, TREE_INT_CST_LOW (vr0.max), TREE_INT_CST_HIGH (vr0.max), 0, 0); @@ -73,13 +773,57 @@ set_and_canonicalize_value_range (vr, vr0.type, new_min, new_max, NULL); return; +@@ -3141,7 +3171,7 @@ + adjust_range_with_scev (value_range_t *vr, struct loop *loop, + gimple stmt, tree var) + { +- tree init, step, chrec, tmin, tmax, min, max, type; ++ tree init, step, chrec, tmin, tmax, min, max, type, tem; + enum ev_direction dir; + + /* TODO. Don't adjust anti-ranges. An anti-range may provide +@@ -3162,7 +3192,13 @@ + return; + + init = initial_condition_in_loop_num (chrec, loop->num); ++ tem = op_with_constant_singleton_value_range (init); ++ if (tem) ++ init = tem; + step = evolution_part_in_loop_num (chrec, loop->num); ++ tem = op_with_constant_singleton_value_range (step); ++ if (tem) ++ step = tem; + + /* If STEP is symbolic, we can't know whether INIT will be the + minimum or maximum value in the range. Also, unless INIT is +@@ -6400,8 +6436,19 @@ + /* If the new range is different than the previous value, keep + iterating. */ + if (update_value_range (lhs, &vr_result)) +- return SSA_PROP_INTERESTING; ++ { ++ if (dump_file && (dump_flags & TDF_DETAILS)) ++ { ++ fprintf (dump_file, "Found new range for "); ++ print_generic_expr (dump_file, lhs, 0); ++ fprintf (dump_file, ": "); ++ dump_value_range (dump_file, &vr_result); ++ fprintf (dump_file, "\n\n"); ++ } + ++ return SSA_PROP_INTERESTING; ++ } ++ + /* Nothing changed, don't add outgoing edges. */ + return SSA_PROP_NOT_INTERESTING; + Index: gcc/DATESTAMP =================================================================== --- a/src/gcc/DATESTAMP (.../tags/gcc_4_5_0_release) +++ b/src/gcc/DATESTAMP (.../branches/gcc-4_5-branch) @@ -1 +1 @@ -20100414 -+20100419 ++20100506 Index: gcc/tree-tailcall.c =================================================================== --- a/src/gcc/tree-tailcall.c (.../tags/gcc_4_5_0_release) @@ -93,7 +837,7 @@ if (!single_succ_p (bb)) return; -@@ -462,6 +464,15 @@ +@@ -462,6 +464,16 @@ tail_recursion = true; } @@ -101,7 +845,8 @@ + to local variables. */ + FOR_EACH_REFERENCED_VAR (var, rvi) + { -+ if (!is_global_var (var) ++ if (TREE_CODE (var) != PARM_DECL ++ && auto_var_in_fn_p (var, cfun->decl) + && ref_maybe_used_by_stmt_p (call, var)) + return; + } @@ -109,11 +854,33 @@ /* Now check the statements after the call. None of them has virtual operands, so they may only depend on the call through its return value. The return value should also be dependent on each of them, +Index: gcc/tree.c +=================================================================== +--- a/src/gcc/tree.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/tree.c (.../branches/gcc-4_5-branch) +@@ -7919,7 +7919,8 @@ + auto_var_in_fn_p (const_tree var, const_tree fn) + { + return (DECL_P (var) && DECL_CONTEXT (var) == fn +- && (((TREE_CODE (var) == VAR_DECL || TREE_CODE (var) == PARM_DECL) ++ && ((((TREE_CODE (var) == VAR_DECL && ! DECL_EXTERNAL (var)) ++ || TREE_CODE (var) == PARM_DECL) + && ! TREE_STATIC (var)) + || TREE_CODE (var) == LABEL_DECL + || TREE_CODE (var) == RESULT_DECL)); Index: gcc/configure =================================================================== --- a/src/gcc/configure (.../tags/gcc_4_5_0_release) +++ b/src/gcc/configure (.../branches/gcc-4_5-branch) -@@ -900,6 +900,7 @@ +@@ -893,6 +893,7 @@ + enable_sjlj_exceptions + with_system_libunwind + enable_secureplt ++enable_leading_mingw64_underscores + enable_cld + enable_win32_registry + enable_static +@@ -900,6 +901,7 @@ enable_fast_install enable_libtool_lock with_plugin_ld @@ -121,7 +888,16 @@ enable_gnu_unique_object enable_linker_build_id with_long_double_128 -@@ -1602,6 +1603,7 @@ +@@ -1589,6 +1591,8 @@ + --enable-sjlj-exceptions + arrange to use setjmp/longjmp exception handling + --enable-secureplt enable -msecure-plt by default for PowerPC ++ --enable-leading-mingw64-underscores ++ Enable leading underscores on 64 bit mingw targets + --enable-cld enable -mcld by default for 32bit x86 + --disable-win32-registry + disable lookup of installation paths in the +@@ -1602,6 +1606,7 @@ --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) @@ -129,25 +905,43 @@ --enable-gnu-unique-object enable the use of the @gnu_unique_object ELF extension on glibc systems --enable-linker-build-id -@@ -17037,7 +17039,7 @@ +@@ -10628,6 +10633,17 @@ + fi + + ++# Check whether --enable-leading-mingw64-underscores was given. ++if test "${enable_leading_mingw64_underscores+set}" = set; then : ++ enableval=$enable_leading_mingw64_underscores; ++fi ++ ++if test x"$enable_leading_mingw64_underscores" = xyes ; then : ++ ++$as_echo "#define USE_MINGW64_LEADING_UNDERSCORES 1" >>confdefs.h ++ ++fi ++ + # Check whether --enable-cld was given. + if test "${enable_cld+set}" = set; then : + enableval=$enable_cld; +@@ -17037,7 +17053,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 17040 "configure" -+#line 17042 "configure" ++#line 17056 "configure" #include "confdefs.h" #if HAVE_DLFCN_H -@@ -17143,7 +17145,7 @@ +@@ -17143,7 +17159,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 17146 "configure" -+#line 17148 "configure" ++#line 17162 "configure" #include "confdefs.h" #if HAVE_DLFCN_H -@@ -21195,6 +21197,27 @@ +@@ -21195,6 +21211,27 @@ ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'` @@ -175,7 +969,7 @@ fi fi -@@ -21791,7 +21814,7 @@ +@@ -21791,7 +21828,7 @@ && test $in_tree_ld_is_elf = yes; then comdat_group=yes fi @@ -184,7 +978,7 @@ comdat_group=yes if test 0"$ld_date" -lt 20050308; then if test -n "$ld_date"; then -@@ -21804,9 +21827,32 @@ +@@ -21804,9 +21841,32 @@ fi fi else @@ -219,7 +1013,7 @@ if test $comdat_group = no; then gcc_cv_as_comdat_group=no gcc_cv_as_comdat_group_percent=no -@@ -25171,10 +25217,14 @@ +@@ -25171,10 +25231,14 @@ $as_echo_n "checking for -rdynamic... " >&6; } ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1 if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then @@ -247,6 +1041,65 @@ false); if (!linker_plugin_file_spec) fatal ("-fuse-linker-plugin, but liblto_plugin.so not found"); +Index: gcc/omp-low.c +=================================================================== +--- a/src/gcc/omp-low.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/omp-low.c (.../branches/gcc-4_5-branch) +@@ -1433,10 +1433,6 @@ + break; + + case OMP_CLAUSE_COPYPRIVATE: +- if (ctx->outer) +- scan_omp_op (&OMP_CLAUSE_DECL (c), ctx->outer); +- /* FALLTHRU */ +- + case OMP_CLAUSE_COPYIN: + decl = OMP_CLAUSE_DECL (c); + by_ref = use_pointer_for_field (decl, NULL); +@@ -2702,7 +2698,7 @@ + + for (c = clauses; c ; c = OMP_CLAUSE_CHAIN (c)) + { +- tree var, ref, x; ++ tree var, new_var, ref, x; + bool by_ref; + location_t clause_loc = OMP_CLAUSE_LOCATION (c); + +@@ -2713,17 +2709,29 @@ + by_ref = use_pointer_for_field (var, NULL); + + ref = build_sender_ref (var, ctx); +- x = lookup_decl_in_outer_ctx (var, ctx); +- x = by_ref ? build_fold_addr_expr_loc (clause_loc, x) : x; ++ x = new_var = lookup_decl_in_outer_ctx (var, ctx); ++ if (by_ref) ++ { ++ x = build_fold_addr_expr_loc (clause_loc, new_var); ++ x = fold_convert_loc (clause_loc, TREE_TYPE (ref), x); ++ } + gimplify_assign (ref, x, slist); + +- ref = build_receiver_ref (var, by_ref, ctx); ++ ref = build_receiver_ref (var, false, ctx); ++ if (by_ref) ++ { ++ ref = fold_convert_loc (clause_loc, ++ build_pointer_type (TREE_TYPE (new_var)), ++ ref); ++ ref = build_fold_indirect_ref_loc (clause_loc, ref); ++ } + if (is_reference (var)) + { ++ ref = fold_convert_loc (clause_loc, TREE_TYPE (new_var), ref); + ref = build_fold_indirect_ref_loc (clause_loc, ref); +- var = build_fold_indirect_ref_loc (clause_loc, var); ++ new_var = build_fold_indirect_ref_loc (clause_loc, new_var); + } +- x = lang_hooks.decls.omp_clause_assign_op (c, var, ref); ++ x = lang_hooks.decls.omp_clause_assign_op (c, new_var, ref); + gimplify_and_add (x, rlist); + } + } Index: gcc/DEV-PHASE =================================================================== --- a/src/gcc/DEV-PHASE (.../tags/gcc_4_5_0_release) @@ -257,7 +1110,218 @@ =================================================================== --- a/src/gcc/ChangeLog (.../tags/gcc_4_5_0_release) +++ b/src/gcc/ChangeLog (.../branches/gcc-4_5-branch) -@@ -1,3 +1,91 @@ +@@ -1,3 +1,302 @@ ++2010-05-05 Kaz Kojima ++ ++ Backport from mainline: ++ 2010-04-22 Kaz Kojima ++ ++ PR target/43744 ++ * config/sh/sh.c (find_barrier): Don't emit a constant pool ++ in the middle of insns for casesi_worker_2. ++ ++2010-05-05 Jason Merrill ++ ++ PR debug/43370 ++ * c-common.c (handle_aligned_attribute): Respect ++ ATTR_FLAG_TYPE_IN_PLACE. ++ ++2010-05-05 Richard Guenther ++ ++ PR c++/43880 ++ * tree-inline.c (copy_bind_expr): Also copy bind expr vars ++ value-exprs. ++ ++2010-05-04 H.J. Lu ++ ++ Backport from mainline ++ 2010-05-04 H.J. Lu ++ ++ PR middle-end/43671 ++ * alias.c (true_dependence): Handle the same VALUE in x and mem. ++ (canon_true_dependence): Likewise. ++ (write_dependence_p): Likewise. ++ ++2010-05-03 Jakub Jelinek ++ ++ PR debug/43972 ++ * config/i386/i386.c (ix86_delegitimize_address): Make sure the ++ result mode matches original rtl mode. ++ ++2010-05-02 Uros Bizjak ++ ++ * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa', ++ when processing flag options. ++ ++2010-05-02 H.J. Lu ++ ++ Backport from mainline ++ 2010-04-29 H.J. Lu ++ ++ PR target/43921 ++ * config/i386/i386.c (get_some_local_dynamic_name): Replace ++ INSN_P with NONDEBUG_INSN_P. ++ (distance_non_agu_define): Likewise. ++ (distance_agu_use): Likewise. ++ ++2010-04-30 Eric Botcazou ++ ++ * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of ++ the variable part of the offset as well. Use highest_pow2_factor for ++ all alignment checks. ++ ++2010-04-30 Jakub Jelinek ++ ++ PR debug/43942 ++ * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars. ++ ++2010-04-28 Uros Bizjak ++ ++ * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object ++ type if available. ++ ++2010-04-28 Eric Botcazou ++ ++ * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for ++ record or union type with RECORD_OR_UNION_TYPE_P predicate. ++ (lto_input_ts_type_tree_pointers): Likewise. ++ * lto-streamer-out.c (pack_ts_type_value_fields): Likewise. ++ (lto_output_ts_type_tree_pointers): Likewise. ++ ++2010-04-28 Eric Botcazou ++ ++ * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry, ++ hash_tree, eq_tree): New tree hash table. ++ (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it. ++ [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get, ++ lto_orig_address_remove): Reimplement. ++ ++2010-04-28 Rainer Orth ++ ++ PR target/22224 ++ * config/alpha/osf.h (ASM_OUTPUT_LOCAL): Redefine. ++ ++2010-04-28 Martin Jambor ++ ++ PR tree-optimization/43846 ++ * tree-sra.c (struct access): New flag grp_assignment_read. ++ (build_accesses_from_assign): Set grp_assignment_read. ++ (sort_and_splice_var_accesses): Propagate grp_assignment_read. ++ (enum mark_read_status): New type. ++ (analyze_access_subtree): Propagate grp_assignment_read, create ++ accesses also if both direct_read and root->grp_assignment_read. ++ ++2010-04-27 Kai Tietz ++ ++ Back-merged from trnnk. ++ * collect2.c (TARGET_64BIT): Redefine to target's default. ++ * tlink.c: Likewise. ++ * config/i386/cygming.h (USER_LABEL_PREFIX): Define ++ dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES. ++ * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use ++ for underscoring __USER_LABEL_PREFIX__. ++ * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro. ++ (SUB_LINK_ENTRY32): New. ++ (SUB_LINK_ENTRY64): New. ++ (LINK_SPEC): Replace entry point spec by ++ SUB_LINK_ENTRY. ++ * config/i386/mingw32 (SUB_LINK_ENTRY32): New. ++ (SUB_LINK_ENTRY64): New. ++ (SUB_LINK_ENTRY): New. ++ (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point. ++ (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when ++ x64 target is choosen. ++ * config.in (USE_MINGW64_LEADING_UNDERSCORES): New. ++ * configure: Regenerated. ++ * configure.ac (leading-mingw64-underscores): Option added. ++ ++2010-04-27 Jakub Jelinek ++ ++ * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression ++ force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register ++ or DW_CFA_def_cfa_offset{,_sf}. ++ ++ * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes. ++ ++2010-04-27 Hans-Peter Nilsson ++ ++ PR target/43889 ++ * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"): ++ Add missing earlyclobber for second alternative. ++ ++2010-04-26 Jakub Jelinek ++ ++ PR c/43893 ++ * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR. ++ ++2010-04-26 Jie Zhang ++ ++ PR tree-optimization/43833 ++ * tree-vrp.c (range_int_cst_p): New. ++ (range_int_cst_singleton_p): New. ++ (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case ++ when both operands are constants. Use range_int_cst_p in ++ BIT_IOR_EXPR case. ++ ++2010-04-23 Martin Jambor ++ ++ PR middle-end/43835 ++ * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the ++ function does not have type attributes. ++ ++2010-04-23 Richard Guenther ++ ++ PR tree-optimization/43572 ++ * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses. ++ ++2010-04-23 Richard Guenther ++ ++ Backport from mainline ++ 2010-04-22 Richard Guenther ++ ++ PR tree-optimization/43845 ++ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly ++ lookup the CALL_EXPR function and arguments. ++ ++2010-04-21 Jakub Jelinek ++ ++ PR middle-end/43570 ++ * omp-low.c (scan_sharing_clauses): Don't scan_omp_op ++ OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE. ++ (lower_copyprivate_clauses): Use private var in outer ++ context instead of original var. Make sure the types ++ are correct for VLAs. ++ ++2010-04-20 Richard Guenther ++ ++ PR tree-optimization/43783 ++ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop ++ constant ARRAY_REF operands two and three if possible. ++ ++2010-04-20 Richard Guenther ++ ++ PR tree-optimization/43796 ++ * tree-vrp.c (adjust_range_with_scev): Lookup init and step ++ from SCEV in the lattice. ++ (vrp_visit_phi_node): Dump change. ++ ++2010-04-20 Jakub Jelinek ++ ++ PR middle-end/43337 ++ * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE ++ with non-local decl doesn't need chain. ++ ++2010-04-20 Andreas Krebbel ++ ++ PR target/43635 ++ * config/s390/s390.c (s390_emit_call): Turn direct into indirect ++ calls for -fpic -m31 if they have been sibcall optimized. ++ ++2010-04-19 DJ Delorie ++ ++ * cfgexpand.c (expand_debug_expr): Check for mismatched modes in ++ POINTER_PLUS_EXPR and fix them. ++ +2010-04-19 Jie Zhang + + PR target/43662 @@ -349,7 +1413,7 @@ 2010-04-14 Release Manager * GCC 4.5.0 released. -@@ -100,7 +188,7 @@ +@@ -100,7 +399,7 @@ 2010-04-02 Steven Bosscher @@ -358,7 +1422,7 @@ basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h, collect2.h, config/alpha/alpha.c, config/alpha/alpha.md, config/alpha/predicates.md, config/arm/arm.md, -@@ -171,7 +259,7 @@ +@@ -171,7 +470,7 @@ 2010-04-02 Richard Earnshaw PR target/43469 @@ -367,7 +1431,7 @@ gen_tls_load_dot_plus_four. (arm_note_pic_base): New function. (arm_cannot_copy_insn_p): Use it. -@@ -190,12 +278,12 @@ +@@ -190,12 +489,12 @@ 2010-04-01 Ralf Corsépius @@ -383,6 +1447,224 @@ 2010-04-01 Dave Korn +Index: gcc/testsuite/gcc.c-torture/execute/pr43783.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/execute/pr43783.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/execute/pr43783.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,21 @@ ++typedef __attribute__((aligned(16))) ++struct { ++ unsigned long long w[3]; ++} UINT192; ++ ++UINT192 bid_Kx192[32]; ++ ++extern void abort (void); ++ ++int main() ++{ ++ int i = 0; ++ unsigned long x = 0; ++ for (i = 0; i < 32; ++i) ++ bid_Kx192[i].w[1] = i == 1; ++ for (i = 0; i < 32; ++i) ++ x += bid_Kx192[1].w[1]; ++ if (x != 32) ++ abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.c-torture/execute/20100430-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/execute/20100430-1.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/execute/20100430-1.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,51 @@ ++/* This used to generate unaligned accesses at -O2 because of IVOPTS. */ ++ ++struct packed_struct ++{ ++ struct packed_struct1 ++ { ++ unsigned char cc11; ++ unsigned char cc12; ++ } __attribute__ ((packed)) pst1; ++ struct packed_struct2 ++ { ++ unsigned char cc21; ++ unsigned char cc22; ++ unsigned short ss[104]; ++ unsigned char cc23[13]; ++ } __attribute__ ((packed)) pst2[4]; ++} __attribute__ ((packed)); ++ ++typedef struct ++{ ++ int ii; ++ struct packed_struct buf; ++} info_t; ++ ++static unsigned short g; ++ ++static void __attribute__((noinline)) ++dummy (unsigned short s) ++{ ++ g = s; ++} ++ ++static int ++foo (info_t *info) ++{ ++ int i, j; ++ ++ for (i = 0; i < info->buf.pst1.cc11; i++) ++ for (j = 0; j < info->buf.pst2[i].cc22; j++) ++ dummy (info->buf.pst2[i].ss[j]); ++ ++ return 0; ++} ++ ++int main(void) ++{ ++ info_t info; ++ info.buf.pst1.cc11 = 2; ++ info.buf.pst2[0].cc22 = info.buf.pst2[1].cc22 = 8; ++ return foo (&info); ++} +Index: gcc/testsuite/gcc.c-torture/execute/pr43835.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/execute/pr43835.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/execute/pr43835.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,51 @@ ++struct PMC { ++ unsigned flags; ++}; ++ ++typedef struct Pcc_cell ++{ ++ struct PMC *p; ++ long bla; ++ long type; ++} Pcc_cell; ++ ++extern void abort (); ++extern void Parrot_gc_mark_PMC_alive_fun(int * interp, struct PMC *pmc) ++ __attribute__((noinline)); ++ ++void Parrot_gc_mark_PMC_alive_fun (int * interp, struct PMC *pmc) ++{ ++ abort (); ++} ++ ++static void mark_cell(int * interp, Pcc_cell *c) ++ __attribute__((__nonnull__(1))) ++ __attribute__((__nonnull__(2))) ++ __attribute__((noinline)); ++ ++static void ++mark_cell(int * interp, Pcc_cell *c) ++{ ++ if (c->type == 4 && c->p ++ && !(c->p->flags & (1<<18))) ++ Parrot_gc_mark_PMC_alive_fun(interp, c->p); ++} ++ ++void foo(int * interp, Pcc_cell *c); ++ ++void ++foo(int * interp, Pcc_cell *c) ++{ ++ mark_cell(interp, c); ++} ++ ++int main() ++{ ++ int i; ++ Pcc_cell c; ++ c.p = 0; ++ c.bla = 42; ++ c.type = 4; ++ foo (&i, &c); ++ return 0; ++} +Index: gcc/testsuite/gcc.c-torture/compile/limits-declparen.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/compile/limits-declparen.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/compile/limits-declparen.c (.../branches/gcc-4_5-branch) +@@ -1,3 +1,4 @@ ++/* { dg-xfail-if "" { alpha*-dec-osf5* } { "-g" } { "" } } */ + #define PTR1 (* (* (* (* (* (* (* (* (* (* + #define PTR2 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 + #define PTR3 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 +Index: gcc/testsuite/gcc.c-torture/compile/pr43845.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/compile/pr43845.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/compile/pr43845.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,12 @@ ++typedef int __attribute__ ((const)) (*x264_pixel_cmp_t)(void); ++ ++typedef struct { ++ x264_pixel_cmp_t ssd; ++} x264_pixel_function_t; ++ ++int x264_pixel_ssd_wxh (x264_pixel_function_t *pf, int i_width) { ++ int i_ssd = 0, x; ++ for (x = 0; x < i_width; x++) ++ i_ssd += pf->ssd(); ++ return i_ssd; ++} +Index: gcc/testsuite/gcc.c-torture/compile/limits-pointer.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/compile/limits-pointer.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/compile/limits-pointer.c (.../branches/gcc-4_5-branch) +@@ -1,3 +1,4 @@ ++/* { dg-xfail-if "" { alpha*-dec-osf5* } { "-g" } { "" } } */ + #define PTR1 * * * * * * * * * * + #define PTR2 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 PTR1 + #define PTR3 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 PTR2 +Index: gcc/testsuite/gcc.c-torture/compile/pr43635.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/compile/pr43635.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/compile/pr43635.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,7 @@ ++extern void d (void); ++ ++void (*foo (void)) (float) ++{ ++ void (*(*x) (void)) (float) = d; ++ return (*x) (); ++} +Index: gcc/testsuite/gcc.target/i386/pr43668.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr43668.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr43668.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,10 @@ ++/* PR target/43668 */ ++/* { dg-do run } */ ++/* { dg-options "-fschedule-insns" } */ ++ ++int foo(int i, ...) { ++ return i; ++} ++int main() { ++ return foo(0, 0.0); ++} +Index: gcc/testsuite/gcc.target/i386/pr43508.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr43508.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr43508.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,13 @@ ++/* { dg-do compile } */ ++/* { dg-options "-g -O -msse3" } */ ++ ++typedef float v4sf __attribute__ ((__vector_size__ (16))); ++typedef int v4si __attribute__ ((__vector_size__ (16))); ++ ++v4sf bar(int); ++ ++v4sf foo(v4si vi) ++{ ++ int x = __builtin_ia32_vec_ext_v4si (vi, 0); ++ return bar(x); ++} Index: gcc/testsuite/gcc.target/i386/pr43662.c =================================================================== --- a/src/gcc/testsuite/gcc.target/i386/pr43662.c (.../tags/gcc_4_5_0_release) @@ -412,6 +1694,80 @@ + sre (&This->sInfo); + return 0; +} +Index: gcc/testsuite/gcc.target/i386/pr43671.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr43671.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr43671.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,27 @@ ++/* { dg-do run } */ ++/* { dg-require-effective-target ilp32 } */ ++/* { dg-options "-mtune=i686 -O1 -fpeel-loops -fschedule-insns2 -ftree-vectorize -fsched2-use-superblocks" } */ ++ ++extern void abort (); ++ ++int main () ++{ ++ struct { ++ char ca[16]; ++ } s; ++ int i; ++ ++ for (i = 0; i < 16; i++) ++ { ++ s.ca[i] = 5; ++ } ++ ++ ++ for (i = 0; i < 16; i++) ++ { ++ if (s.ca[i] != 5) ++ abort (); ++ } ++ ++ return 0; ++} +Index: gcc/testsuite/gnat.dg/pack15.adb +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/pack15.adb (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gnat.dg/pack15.adb (.../branches/gcc-4_5-branch) +@@ -0,0 +1,10 @@ ++-- { dg-do compile } ++ ++package body Pack15 is ++ ++ procedure Transfer is ++ begin ++ O.Status_Flags := Status_Flags; ++ end; ++ ++end Pack15; +Index: gcc/testsuite/gnat.dg/pack15.ads +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/pack15.ads (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gnat.dg/pack15.ads (.../branches/gcc-4_5-branch) +@@ -0,0 +1,22 @@ ++package Pack15 is ++ ++ type Flags is array (1..2) of Boolean; ++ for Flags'Component_Size use 1; ++ ++ type Messages is record ++ Status_Flags : Flags; ++ end record; ++ ++ for Messages use record ++ Status_Flags at 0 range 1 .. 2; ++ end record; ++ ++ O : Messages; ++ ++ Buffer : Integer; ++ Status_Flags : Flags; ++ for Status_Flags'Address use Buffer'Address; ++ ++ procedure Transfer; ++ ++end Pack15; Index: gcc/testsuite/gnat.dg/rep_clause5_pkg.ads =================================================================== --- a/src/gcc/testsuite/gnat.dg/rep_clause5_pkg.ads (.../tags/gcc_4_5_0_release) @@ -861,6 +2217,139 @@ + procedure Merge_Numbered(LNodes : in out LNodes_Ptr); + +end Rep_Clause5; +Index: gcc/testsuite/gcc.dg/Warray-bounds-8.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/Warray-bounds-8.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.dg/Warray-bounds-8.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,20 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O3 -Wall" } */ ++/* based on PR 43833 */ ++ ++extern unsigned char data[5]; ++ ++unsigned char ++foo (char *str) ++{ ++ int i, j; ++ unsigned char c = 0; ++ ++ for (i = 0; i < 8; i++) ++ { ++ j = i * 5; ++ if ((j % 8) > 3) ++ c |= data[(j / 8) + 1]; ++ } ++ return c; ++} +Index: gcc/testsuite/gcc.dg/c99-tgmath-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/c99-tgmath-1.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.dg/c99-tgmath-1.c (.../branches/gcc-4_5-branch) +@@ -3,6 +3,7 @@ + /* { dg-do preprocess { target c99_runtime } } */ + /* { dg-options "-std=iso9899:1999" } */ + /* { dg-add-options c99_runtime } */ ++/* { dg-skip-if " missing" { alpha*-dec-osf5* } } */ + + /* Test that tgmath defines the macros it's supposed to. */ + #include +Index: gcc/testsuite/gcc.dg/debug/pr43972.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/debug/pr43972.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.dg/debug/pr43972.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,29 @@ ++/* PR debug/43972 */ ++/* { dg-do compile } */ ++/* { dg-options "-g -w" } */ ++/* { dg-options "-g -fpic -w" { target fpic } } */ ++ ++struct { int *b1; } *f1 (); ++short v1[1]; ++struct S { int b2; }; ++void ++foo (struct S *a1, union { char *b3; unsigned *b4; int *b5; } *a2) ++{ ++ int d; ++ switch (d) ++ { ++ case 0: ++ { ++ int c = a1->b2, i; ++ if (f1 () == 0) ++ *a2->b3++ = 2; ++ else if (((long) (f1 () - f1 ())) ^ ((long) f1 ()->b1 - ((long) f1 () & 8))) ++ *a2->b3++ = (long) f1 - ((long) f1 () & 0xff); ++ else ++ *a2->b4++ = (long) f1; ++ for (i = 0; i < c; i++) ++ *a2->b5++ = (long) v1; ++ foo (a1, a2); ++ } ++ } ++} +Index: gcc/testsuite/gcc.dg/c99-tgmath-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/c99-tgmath-2.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.dg/c99-tgmath-2.c (.../branches/gcc-4_5-branch) +@@ -3,6 +3,7 @@ + /* { dg-do compile { target c99_runtime } } */ + /* { dg-options "-std=iso9899:1999" } */ + /* { dg-add-options c99_runtime } */ ++/* { dg-skip-if " missing" { alpha*-dec-osf5* } } */ + + /* Test that invoking type-generic sin on a float invokes sinf. */ + #include +Index: gcc/testsuite/gcc.dg/c99-tgmath-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/c99-tgmath-3.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.dg/c99-tgmath-3.c (.../branches/gcc-4_5-branch) +@@ -3,6 +3,7 @@ + /* { dg-do compile { target c99_runtime } } */ + /* { dg-options "-std=iso9899:1999" } */ + /* { dg-add-options c99_runtime } */ ++/* { dg-skip-if " missing" { alpha*-dec-osf5* } } */ + + /* Test that invoking type-generic exp on a complex invokes cexp. */ + #include +Index: gcc/testsuite/gcc.dg/tree-ssa/tailcall-6.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-ssa/tailcall-6.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/tailcall-6.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,33 @@ ++/* PR tree-optimization/43904. */ ++/* { dg-do run } */ ++/* { dg-options "-O1 -foptimize-sibling-calls" } */ ++ ++typedef __SIZE_TYPE__ size_t; ++extern void abort(void); ++ ++void *memcpy(void *dest, const void *src, size_t n); ++ ++void ++buggy_init(void *ptr, size_t size) ++{ ++ const char *str = "Hello world!"; ++ memcpy(ptr, &str, size); ++} ++ ++void ++expose_bug(void *ptr, size_t size) ++{ ++ const char *str; ++ memcpy(&str, ptr, size); ++ if (*str != 'H') ++ abort (); ++} ++ ++int ++main() ++{ ++ const char *ptr; ++ buggy_init(&ptr, sizeof(ptr)); ++ expose_bug(&ptr, sizeof(ptr)); ++ return 0; ++} Index: gcc/testsuite/gcc.dg/tree-ssa/vrp49.c =================================================================== --- a/src/gcc/testsuite/gcc.dg/tree-ssa/vrp49.c (.../tags/gcc_4_5_0_release) @@ -894,6 +2383,30 @@ + while (i < n); + } +} +Index: gcc/testsuite/gcc.dg/tree-ssa/sra-10.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-ssa/sra-10.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/sra-10.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,19 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O1 -fdump-tree-optimized -fdump-tree-esra-details" } */ ++ ++struct S ++{ ++ int a[1]; ++ int z[256]; ++}; ++ ++void foo (struct S *s, int i) ++{ ++ struct S disappear; ++ ++ disappear.a[i] = 12; ++ *s = disappear; ++} ++ ++/* { dg-final { scan-tree-dump-times "disappear" 0 "optimized"} } */ ++/* { dg-final { cleanup-tree-dump "optimized" } } */ Index: gcc/testsuite/gcc.dg/tree-ssa/tailcall-5.c =================================================================== --- a/src/gcc/testsuite/gcc.dg/tree-ssa/tailcall-5.c (.../tags/gcc_4_5_0_release) @@ -911,11 +2424,241 @@ + +/* { dg-final { scan-tree-dump-not "tail call" "tailc" } } */ +/* { dg-final { cleanup-tree-dump "tailc" } } */ +Index: gcc/testsuite/gcc.dg/c99-tgmath-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/c99-tgmath-4.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gcc.dg/c99-tgmath-4.c (.../branches/gcc-4_5-branch) +@@ -3,6 +3,7 @@ + /* { dg-do compile { target c99_runtime } } */ + /* { dg-options "-std=iso9899:1999" } */ + /* { dg-add-options c99_runtime } */ ++/* { dg-skip-if " missing" { alpha*-dec-osf5* } } */ + + /* Test that invoking type-generic pow on complex float invokes cpowf. */ + #include +Index: gcc/testsuite/ada/acats/run_acats +=================================================================== +--- a/src/gcc/testsuite/ada/acats/run_acats (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/ada/acats/run_acats (.../branches/gcc-4_5-branch) +@@ -5,10 +5,25 @@ + exit 1 + fi + ++# Provide which replacement. ++# ++# type -p is missing from Solaris 2 /bin/sh and /bin/ksh (ksh88), but both ++# ksh93 and bash have it. ++# type output format differs between ksh88 and ksh93, so avoid it if ++# type -p is present. ++# Fall back to whence which ksh88 and ksh93 provide, but bash does not. ++ ++which () { ++ type -p $* 2>/dev/null && return 0 ++ type $* 2>/dev/null | awk '{print $3}' && return 0 ++ whence $* 2>/dev/null && return 0 ++ return 1 ++} ++ + # Set up environment to use the Ada compiler from the object tree + +-host_gnatchop=`type gnatchop | awk '{print $3}'` +-host_gnatmake=`type gnatmake | awk '{print $3}'` ++host_gnatchop=`which gnatchop` ++host_gnatmake=`which gnatmake` + ROOT=`${PWDCMD-pwd}` + BASE=`cd $ROOT/../../..; ${PWDCMD-pwd}` + Index: gcc/testsuite/ChangeLog =================================================================== --- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_4_5_0_release) +++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-4_5-branch) -@@ -1,3 +1,47 @@ +@@ -1,3 +1,233 @@ ++2010-05-06 Tobias Burnus ++ ++ PR fortran/43985 ++ * gfortran.dg/gomp/crayptr5.f90: New test case. ++ ++2010-05-05 Jason Merrill ++ ++ PR debug/43370 ++ * g++.dg/ext/attrib39.C: New. ++ ++2010-05-05 Richard Guenther ++ ++ PR c++/43880 ++ * g++.dg/torture/pr43880.C: New testcase. ++ ++2010-05-05 Steven G. Kargl ++ ++ PR fortran/43592 ++ * gfortran.dg/unexpected_interface.f90: New test. ++ ++2010-05-04 Jason Merrill ++ ++ PR c++/38064 ++ * g++.dg/cpp0x/enum3.C: Extend. ++ ++2010-05-04 H.J. Lu ++ ++ Backport from mainline ++ 2010-05-04 H.J. Lu ++ ++ PR middle-end/43671 ++ * gcc.target/i386/pr43671.c: New. ++ ++2010-05-04 H.J. Lu ++ ++ Backport from mainline ++ 2010-05-04 H.J. Lu ++ ++ PR debug/43508 ++ * gcc.target/i386/pr43508.c: New. ++ ++2010-05-03 Dodji Seketeli ++ ++ PR c++/43953 ++ * g++.dg/other/crash-12.C: New test. ++ ++2010-05-03 H.J. Lu ++ ++ Backport from mainline ++ 2010-05-03 H.J. Lu ++ ++ * g++.dg/cdce3.C: Add a space. Updated. ++ ++2010-05-03 Rainer Orth ++ ++ * g++.dg/cdce3.C: Skip on alpha*-dec-osf5*. ++ * g++.dg/ext/label13.C: Fix typo. ++ * g++.dg/warn/miss-format-1.C (bar): xfail dg-warning on ++ alpha*-dec-osf5*. ++ * gcc.c-torture/compile/limits-declparen.c: xfail on ++ alpha*-dec-osf5* with -g. ++ * gcc.c-torture/compile/limits-pointer.c: Likewise. ++ * gcc.dg/c99-tgmath-1.c: Skip on alpha*-dec-osf5*. ++ * gcc.dg/c99-tgmath-2.c: Likewise. ++ * gcc.dg/c99-tgmath-3.c: Likewise. ++ * gcc.dg/c99-tgmath-4.c: Likewise. ++ ++2010-05-03 Rainer Orth ++ ++ * ada/acats/run_acats (which): New function. ++ (host_gnatchop, host_gnatmake): Use it. ++ ++2010-05-03 Jakub Jelinek ++ ++ PR debug/43972 ++ * gcc.dg/debug/pr43972.c: New test. ++ ++2010-04-30 Jason Merrill ++ ++ PR c++/43868 ++ * g++.dg/template/ptrmem21.C: New. ++ ++2010-04-30 DJ Delorie ++ ++ * gcc.c-torture/execute/20100430-1.c: New test. ++ ++2010-04-30 Jakub Jelinek ++ ++ PR debug/43942 ++ * c-c++-common/pr43942.c: New test. ++ ++2010-04-28 Martin Jambor ++ ++ PR tree-optimization/43846 ++ * gcc.dg/tree-ssa/sra-10.c: New test. ++ ++2010-04-27 Jason Merrill ++ ++ PR c++/43856 ++ * g++.dg/cpp0x/lambda/lambda-this2.C: New. ++ ++ PR c++/43875 ++ * g++.dg/cpp0x/lambda/lambda-deduce2.C: New. ++ ++ * g++.dg/cpp0x/lambda/lambda-uneval.C: New. ++ ++2010-04-26 H.J. Lu ++ ++ Backport from mainline ++ 2010-04-26 H.J. Lu ++ ++ PR tree-optimization/43904 ++ * gcc.dg/tree-ssa/tailcall-6.c: New. ++ ++2010-04-26 Jie Zhang ++ ++ PR tree-optimization/43833 ++ gcc.dg/Warray-bounds-8.c: New test case. ++ ++2010-04-25 Eric Botcazou ++ ++ * gnat.dg/pack15.ad[sb]: New test. ++ ++2010-04-24 Steven G. Kargl ++ ++ PR fortran/30073 ++ PR fortran/43793 ++ gfortran.dg/pr43793.f90: New test. ++ ++2010-04-24 Paul Thomas ++ ++ PR fortran/43227 ++ * gfortran.dg/proc_decl_23.f90: New test. ++ ++ PR fortran/43266 ++ * gfortran.dg/abstract_type_6.f03: New test. ++ ++2010-04-23 Martin Jambor ++ ++ PR middle-end/43835 ++ * gcc.c-torture/execute/pr43835.c: New test. ++ ++2010-04-23 Richard Guenther ++ ++ Backport from mainline ++ 2010-04-22 Richard Guenther ++ ++ PR tree-optimization/43845 ++ * gcc.c-torture/compile/pr43845.c: New testcase. ++ ++2010-04-21 Jakub Jelinek ++ ++ PR fortran/43836 ++ * gfortran.dg/gomp/pr43836.f90: New test. ++ ++2010-04-19 Dodji Seketeli ++ ++ PR c++/43704 ++ * g++.dg/template/typedef32.C: New test. ++ * g++.dg/template/typedef33.C: New test. ++ ++2010-04-20 Richard Guenther ++ ++ PR tree-optimization/43783 ++ * gcc.c-torture/execute/pr43783.c: New testcase. ++ ++2010-04-20 Richard Guenther ++ ++ PR tree-optimization/43796 ++ * gfortran.dg/pr43796.f90: New testcase. ++ ++2010-04-20 Jakub Jelinek ++ ++ PR fortran/43339 ++ * gfortran.dg/gomp/sharing-2.f90: Adjust for iteration vars ++ of sequential loops being private only in the innermost containing ++ task region. ++ ++ PR middle-end/43337 ++ * gfortran.dg/gomp/pr43337.f90: New test. ++ ++2010-04-20 Andreas Krebbel ++ ++ PR target/43635 ++ * gcc.c-torture/compile/pr43635.c: New testcase. ++ +2010-04-19 Jie Zhang + + PR target/43662 @@ -963,6 +2706,63 @@ 2010-04-14 Release Manager * GCC 4.5.0 released. +Index: gcc/testsuite/g++.dg/other/crash-12.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/other/crash-12.C (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/g++.dg/other/crash-12.C (.../branches/gcc-4_5-branch) +@@ -0,0 +1,25 @@ ++// Origin: PR c++/43953 ++ ++template class bad; ++ ++// partial specialization ++// for T = U ++template ++class bad ++{ ++public: ++ static void foo() {} ++}; ++ ++struct dummy ++{ ++ typedef int type; ++}; ++ ++int main() ++{ ++ bad::foo(); ++} ++ +Index: gcc/testsuite/g++.dg/ext/label13.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/ext/label13.C (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/g++.dg/ext/label13.C (.../branches/gcc-4_5-branch) +@@ -8,7 +8,7 @@ + C(); + }; + +-C::C() // { dg-bogus "can never be copied" "" { xfail *-apple-darwin* alpha*-ded-osf* } } ++C::C() // { dg-bogus "can never be copied" "" { xfail *-apple-darwin* alpha*-dec-osf* } } + { + static void *labelref = &&label; + goto *labelref; +Index: gcc/testsuite/g++.dg/ext/attrib39.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/ext/attrib39.C (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/g++.dg/ext/attrib39.C (.../branches/gcc-4_5-branch) +@@ -0,0 +1,9 @@ ++// PR debug/43370 ++// { dg-options "-g" } ++ ++int fragile_block(void) { ++ typedef __attribute__ ((aligned (16))) struct { ++ int i; ++ } XmmUint16; ++ return 0; ++} Index: gcc/testsuite/g++.dg/vect/pr43771.cc =================================================================== --- a/src/gcc/testsuite/g++.dg/vect/pr43771.cc (.../tags/gcc_4_5_0_release) @@ -982,6 +2782,47 @@ +} + +/* { dg-final { cleanup-tree-dump "vect" } } */ +Index: gcc/testsuite/g++.dg/cdce3.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cdce3.C (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/g++.dg/cdce3.C (.../branches/gcc-4_5-branch) +@@ -1,13 +1,13 @@ + /* { dg-do run } */ + /* { dg-require-effective-target c99_runtime } */ ++/* { dg-skip-if "exp2* missing despite C99 runtime" { alpha*-dec-osf5* } } */ + /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -DGNU_EXTENSION -DLARGE_LONG_DOUBLE -lm" { target { pow10 && large_long_double } } } */ + /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -DLARGE_LONG_DOUBLE -lm" { target { {! pow10 } && large_long_double } } } */ + /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -DGNU_EXTENSION -lm" { target { pow10 && {! large_long_double } } } } */ + /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details -lm" { target { {! pow10 } && {! large_long_double } } } } */ + /* { dg-add-options ieee } */ +-/* { dg-final { scan-tree-dump "cdce3.C:92: note: function call is shrink-wrapped into error conditions\." "cdce" { target { pow10 } } } } */ + /* { dg-final { scan-tree-dump "cdce3.C:93: note: function call is shrink-wrapped into error conditions\." "cdce" { target { pow10 } } } } */ +-/* { dg-final { scan-tree-dump "cdce3.C:95: note: function call is shrink-wrapped into error conditions\." "cdce" } } */ ++/* { dg-final { scan-tree-dump "cdce3.C:94: note: function call is shrink-wrapped into error conditions\." "cdce" { target { pow10 } } } } */ + /* { dg-final { scan-tree-dump "cdce3.C:96: note: function call is shrink-wrapped into error conditions\." "cdce" } } */ + /* { dg-final { scan-tree-dump "cdce3.C:97: note: function call is shrink-wrapped into error conditions\." "cdce" } } */ + /* { dg-final { scan-tree-dump "cdce3.C:98: note: function call is shrink-wrapped into error conditions\." "cdce" } } */ +@@ -21,6 +21,7 @@ + /* { dg-final { scan-tree-dump "cdce3.C:106: note: function call is shrink-wrapped into error conditions\." "cdce" } } */ + /* { dg-final { scan-tree-dump "cdce3.C:107: note: function call is shrink-wrapped into error conditions\." "cdce" } } */ + /* { dg-final { scan-tree-dump "cdce3.C:108: note: function call is shrink-wrapped into error conditions\." "cdce" } } */ ++/* { dg-final { scan-tree-dump "cdce3.C:109: note: function call is shrink-wrapped into error conditions\." "cdce" } } */ + /* { dg-final { cleanup-tree-dump "cdce" } } */ + #include + #include +Index: gcc/testsuite/g++.dg/warn/miss-format-1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/warn/miss-format-1.C (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/g++.dg/warn/miss-format-1.C (.../branches/gcc-4_5-branch) +@@ -23,7 +23,7 @@ + { + va_list ap; + va_start (ap, fmt); +- vscanf (fmt, ap); /* { dg-warning "candidate" "scanf attribute warning" { xfail *-*-solaris2.[7-8] *-*-vxworks* } } */ ++ vscanf (fmt, ap); /* { dg-warning "candidate" "scanf attribute warning" { xfail *-*-solaris2.[7-8] *-*-vxworks* alpha*-dec-osf5* } } */ + va_end (ap); + } + Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv4.C =================================================================== --- a/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv4.C (.../tags/gcc_4_5_0_release) @@ -1000,6 +2841,91 @@ + [](const B& b) -> const int& { return b.i; }; + [](const B& b) { return b; }; +} +Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this2.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this2.C (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this2.C (.../branches/gcc-4_5-branch) +@@ -0,0 +1,16 @@ ++// PR c++/43856 ++// Test for implicit 'this' capture via rewriting. ++// { dg-options "-std=c++0x" } ++ ++struct S1 { ++ int operator()(int); ++ int i; ++ void g(); ++ void f() { ++ [=]() { ++ i; ++ g(); ++ operator()(42); ++ }; ++ } ++}; +Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-uneval.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-uneval.C (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-uneval.C (.../branches/gcc-4_5-branch) +@@ -0,0 +1,7 @@ ++// 5.1.2/2: A lambda-expression shall not appear in an unevaluated operand. ++// { dg-options "-std=c++0x" } ++ ++template ++struct A { }; ++A a; // { dg-error "lambda.*unevaluated context" } ++ +Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce2.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce2.C (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce2.C (.../branches/gcc-4_5-branch) +@@ -0,0 +1,7 @@ ++// PR c++/43875 ++// { dg-options "-std=c++0x" } ++ ++int main() ++{ ++ auto x2 = []{ return { 1, 2 }; }; // { dg-message "return" } ++} +Index: gcc/testsuite/g++.dg/cpp0x/enum3.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/enum3.C (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/enum3.C (.../branches/gcc-4_5-branch) +@@ -14,4 +14,14 @@ + E e = E::elem; + if (!f (e == E::elem)) + return 1; ++ if (!f (e <= E::elem)) ++ return 1; ++ if (!f (e >= E::elem)) ++ return 1; ++ if (f (e < E::elem)) ++ return 1; ++ if (f (e > E::elem)) ++ return 1; ++ if (f (e != E::elem)) ++ return 1; + } +Index: gcc/testsuite/g++.dg/torture/pr43880.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/torture/pr43880.C (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/g++.dg/torture/pr43880.C (.../branches/gcc-4_5-branch) +@@ -0,0 +1,16 @@ ++// { dg-do compile } ++ ++extern void xread(void *); ++class test ++{ ++public: ++ test(void); ++}; ++test::test(void) ++{ ++ union { ++ char pngpal[1]; ++ }; ++ xread(pngpal); ++} ++ Index: gcc/testsuite/g++.dg/torture/pr43611.C =================================================================== --- a/src/gcc/testsuite/g++.dg/torture/pr43611.C (.../tags/gcc_4_5_0_release) @@ -1027,6 +2953,74 @@ +extern template struct B < int >; + +B < int > b; +Index: gcc/testsuite/g++.dg/template/typedef33.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/typedef33.C (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/g++.dg/template/typedef33.C (.../branches/gcc-4_5-branch) +@@ -0,0 +1,21 @@ ++// Origin PR c++/43800 ++// { dg-do compile } ++ ++template ++struct V ++{ ++ typedef T t_type; ++}; ++ ++template ++class J ++{ ++ typedef typename V::t_type t_type; ++ const t_type& f(); // #0: ++private: ++ t_type b; ++}; ++ ++template ++const typename V::t_type& J::f() {return b;} // #1 ++ +Index: gcc/testsuite/g++.dg/template/ptrmem21.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/ptrmem21.C (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/g++.dg/template/ptrmem21.C (.../branches/gcc-4_5-branch) +@@ -0,0 +1,37 @@ ++// PR c++/43868 ++// { dg-options "-g" } ++ ++struct Foo ++{ ++ virtual void do_something() = 0; ++}; ++ ++template ++struct Foo_impl; ++ ++template ++struct Foo_impl : public Foo ++{ ++ struct Helper ++ { ++ typedef int Some_type; ++ operator Some_type () const { return 0; } ++ Helper( R (O::*)() const) {} ++ }; ++ ++ void do_something() { Helper( 0); }; ++}; ++ ++void register_foo_internal( Foo*) {}; ++ ++template ++void register_foo( TT) { register_foo_internal( new Foo_impl()); } ++ ++struct Bar ++{ ++}; ++ ++void setup() ++{ ++ register_foo( (int (Bar::*) () const) 0); ++} Index: gcc/testsuite/g++.dg/template/error-recovery2.C =================================================================== --- a/src/gcc/testsuite/g++.dg/template/error-recovery2.C (.../tags/gcc_4_5_0_release) @@ -1039,6 +3033,319 @@ + template + A A::f(); // { dg-error "extra qualification" } +}; +Index: gcc/testsuite/g++.dg/template/typedef32.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/typedef32.C (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/g++.dg/template/typedef32.C (.../branches/gcc-4_5-branch) +@@ -0,0 +1,46 @@ ++// Origin: PR c++/43704 ++// { dg-do compile } ++ ++template ++struct if_ ++{ ++ typedef T2 type; ++}; ++ ++template ++struct iterator_restrict_traits ++{ ++ struct iterator_category {}; ++}; ++ ++template ++struct matrix ++{ ++ struct ci {struct ic {};}; ++ class i {}; ++}; ++ ++template ++struct triangular_adaptor ++{ ++ typedef typename if_::type ty1; ++ class iterator2 : iterator_restrict_traits::iterator_category ++ { ++ }; ++}; ++ ++template ++struct banded_adaptor ++{ ++ typedef typename if_::type ty1; ++ class iterator1 : iterator_restrict_traits::iterator_category ++ { ++ }; ++}; ++ ++template ++struct singular_decomposition ++{ ++ banded_adaptor >::iterator1 it1; ++}; ++ +Index: gcc/testsuite/gfortran.dg/unexpected_interface.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/unexpected_interface.f90 (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/unexpected_interface.f90 (.../branches/gcc-4_5-branch) +@@ -0,0 +1,9 @@ ++! { dg-do compile } ++! PR fortran/43592 ++! Original code submitted by Joost VandeVondele ++! Dejagnu-ification by Steven G. Kargl ++! ++ interface assignment (=) ++ interface pseudo_scalar ! { dg-error "Unexpected INTERFACE statement" } ++ pure function double_tensor2odd (x, t2) result (xt2) ++! { dg-error "Unexpected end of file" "" { target "*-*-*" } 0 } +Index: gcc/testsuite/gfortran.dg/pr43796.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr43796.f90 (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr43796.f90 (.../branches/gcc-4_5-branch) +@@ -0,0 +1,51 @@ ++! { dg-do compile } ++! { dg-options "-O2 -fcheck=bounds" } ++ ++ FUNCTION F06FKFN(N,W,INCW,X,INCX) ++ IMPLICIT NONE ++ INTEGER, PARAMETER :: WP = KIND(0.0D0) ++ REAL (KIND=WP) :: F06FKFN ++ REAL (KIND=WP), PARAMETER :: ONE = 1.0E+0_WP ++ REAL (KIND=WP), PARAMETER :: ZERO = 0.0E+0_WP ++ INTEGER, INTENT (IN) :: INCW, INCX, N ++ REAL (KIND=WP), INTENT (IN) :: W(*), X(*) ++ REAL (KIND=WP) :: ABSYI, NORM, SCALE, SSQ ++ INTEGER :: I, IW, IX ++ REAL (KIND=WP), EXTERNAL :: F06BMFN ++ INTRINSIC ABS, SQRT ++ IF (N<1) THEN ++ NORM = ZERO ++ ELSE IF (N==1) THEN ++ NORM = SQRT(W(1))*ABS(X(1)) ++ ELSE ++ IF (INCW>0) THEN ++ IW = 1 ++ ELSE ++ IW = 1 - (N-1)*INCW ++ END IF ++ IF (INCX>0) THEN ++ IX = 1 ++ ELSE ++ IX = 1 - (N-1)*INCX ++ END IF ++ SCALE = ZERO ++ SSQ = ONE ++ DO I = 1, N ++ IF ((W(IW)/=ZERO) .AND. (X(IX)/=ZERO)) THEN ++ ABSYI = SQRT(W(IW))*ABS(X(IX)) ++ IF (SCALE ++! ++function char1 (s) result(res) ++ character, dimension(:), intent(in) :: s ++ character(len=size(s)) :: res ++ do i = 1, size(s) ++ res(i:i) = s(i) ++ end do ++end function char1 ++ ++module m_string ++ ++ procedure(string_to_char) :: char1 ! segfault ++ procedure(string_to_char), pointer :: char2 ! segfault ++ type t_string ++ procedure(string_to_char), pointer, nopass :: char3 ! segfault ++ end type t_string ++ ++contains ++ ++ function string_to_char (s) result(res) ++ character, dimension(:), intent(in) :: s ++ character(len=size(s)) :: res ++ do i = 1, size(s) ++ res(i:i) = s(i) ++ end do ++ end function string_to_char ++ ++end module m_string ++ ++ use m_string ++ type(t_string) :: t ++ print *, string_to_char (["a","b","c"]) ++ char2 => string_to_char ++ print *, char2 (["d","e","f"]) ++ t%char3 => string_to_char ++ print *, t%char3 (["g","h","i"]) ++ print *, char1 (["j","k","l"]) ++end ++! { dg-final { cleanup-tree-dump "m_string" } } +Index: gcc/testsuite/gfortran.dg/pr43793.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr43793.f90 (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr43793.f90 (.../branches/gcc-4_5-branch) +@@ -0,0 +1,23 @@ ++! { dg-do compile } ++! ++! PR fortran/30073 ++! PR fortran/43793 ++! ++! Original code by Joost VandeVondele ++! Reduced and corrected code by Steven G. Kargl ++! ++module fft_tools ++ implicit none ++ integer, parameter :: lp = 8 ++contains ++ subroutine sparse_alltoall (rs, rq, rcount) ++ complex(kind=lp), dimension(:, :), pointer :: rs, rq ++ integer, dimension(:) :: rcount ++ integer :: pos ++ pos = 1 ++ if (rcount(pos) /= 0) then ++ rq(1:rcount(pos),pos) = rs(1:rcount(pos),pos) ++ end if ++ end subroutine sparse_alltoall ++end module fft_tools ++! { dg-final { cleanup-modules "fft_tools" } } Index: gcc/testsuite/gfortran.dg/bounds_check_fail_4.f90 =================================================================== --- a/src/gcc/testsuite/gfortran.dg/bounds_check_fail_4.f90 (.../tags/gcc_4_5_0_release) @@ -1049,6 +3356,64 @@ end -! { dg-output "line 10 .* bound mismatch, .* dimension 1 .* array \'x\' \\\(2/3\\\)" } +! { dg-output "line 10 .* bound mismatch .* dimension 1 .* array \'x\' \\\(2/3\\\)" } +Index: gcc/testsuite/gfortran.dg/abstract_type_6.f03 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/abstract_type_6.f03 (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/abstract_type_6.f03 (.../branches/gcc-4_5-branch) +@@ -0,0 +1,53 @@ ++! { dg-do "compile" } ++! Test the fix for PR43266, in which an ICE followed correct error messages. ++! ++! Contributed by Tobias Burnus ++! Reported in http://groups.google.ca/group/comp.lang.fortran/browse_thread/thread/f5ec99089ea72b79 ++! ++!---------------- ++! library code ++ ++module m ++TYPE, ABSTRACT :: top ++CONTAINS ++ PROCEDURE(xxx), DEFERRED :: proc_a ! { dg-error "must be a module procedure" } ++ ! some useful default behaviour ++ PROCEDURE :: proc_c => top_c ! { dg-error "must be a module procedure" } ++END TYPE top ++ ++! Concrete middle class with useful behaviour ++TYPE, EXTENDS(top) :: middle ++CONTAINS ++ ! do nothing, empty proc just to make middle concrete ++ PROCEDURE :: proc_a => dummy_middle_a ! { dg-error "must be a module procedure" } ++ ! some useful default behaviour ++ PROCEDURE :: proc_b => middle_b ! { dg-error "must be a module procedure" } ++END TYPE middle ++ ++!---------------- ++! client code ++ ++TYPE, EXTENDS(middle) :: bottom ++CONTAINS ++ ! useful proc to satisfy deferred procedure in top. Because we've ++ ! extended middle we wouldn't get told off if we forgot this. ++ PROCEDURE :: proc_a => bottom_a ++ ! calls middle%proc_b and then provides extra behaviour ++ PROCEDURE :: proc_b => bottom_b ++ ! calls top_c and then provides extra behaviour ++ PROCEDURE :: proc_c => bottom_c ++END TYPE bottom ++contains ++SUBROUTINE bottom_b(obj) ++ CLASS(Bottom) :: obj ++ CALL obj%middle%proc_b ! { dg-error "should be a SUBROUTINE" } ++ ! other stuff ++END SUBROUTINE bottom_b ++ ++SUBROUTINE bottom_c(obj) ++ CLASS(Bottom) :: obj ++ CALL top_c(obj) ++ ! other stuff ++END SUBROUTINE bottom_c ++end module ++! { dg-final { cleanup-modules "m" } } Index: gcc/testsuite/gfortran.dg/bounds_check_fail_3.f90 =================================================================== --- a/src/gcc/testsuite/gfortran.dg/bounds_check_fail_3.f90 (.../tags/gcc_4_5_0_release) @@ -1059,11 +3424,183 @@ end -! { dg-output "line 10 .* bound mismatch, .* dimension 1 .* array \'x\' \\\(3/2\\\)" } +! { dg-output "line 10 .* bound mismatch .* dimension 1 .* array \'x\' \\\(3/2\\\)" } +Index: gcc/testsuite/c-c++-common/pr43942.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/pr43942.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/testsuite/c-c++-common/pr43942.c (.../branches/gcc-4_5-branch) +@@ -0,0 +1,33 @@ ++/* PR debug/43942 */ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -fcompare-debug" } */ ++ ++extern int f1 (int); ++ ++int ++f2 (int x) ++{ ++ extern int v; ++ return f1 (x); ++} ++ ++void ++f3 (void) ++{ ++ f2 (0); ++} ++ ++static inline int ++f4 (int x) ++{ ++ extern int w; ++ if (w) ++ return f1 (x); ++ return 0; ++} ++ ++void ++f5 (void) ++{ ++ f4 (0); ++} +Index: gcc/cp/typeck.c +=================================================================== +--- a/src/gcc/cp/typeck.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/cp/typeck.c (.../branches/gcc-4_5-branch) +@@ -1142,6 +1142,7 @@ + incompatible_dependent_types_p (tree t1, tree t2) + { + tree tparms1 = NULL_TREE, tparms2 = NULL_TREE; ++ bool t1_typedef_variant_p, t2_typedef_variant_p; + + if (!uses_template_parms (t1) || !uses_template_parms (t2)) + return false; +@@ -1154,10 +1155,22 @@ + return true; + } + ++ t1_typedef_variant_p = typedef_variant_p (t1); ++ t2_typedef_variant_p = typedef_variant_p (t2); ++ + /* Either T1 or T2 must be a typedef. */ +- if (!typedef_variant_p (t1) && !typedef_variant_p (t2)) ++ if (!t1_typedef_variant_p && !t2_typedef_variant_p) + return false; + ++ if (!t1_typedef_variant_p || !t2_typedef_variant_p) ++ /* Either T1 or T2 is not a typedef so we cannot compare the ++ the template parms of the typedefs of T1 and T2. ++ At this point, if the main variant type of T1 and T2 are equal ++ it means the two types can't be incompatible, from the perspective ++ of this function. */ ++ if (TYPE_MAIN_VARIANT (t1) == TYPE_MAIN_VARIANT (t2)) ++ return false; ++ + /* So if we reach this point, it means either T1 or T2 is a typedef variant. + Let's compare their template parameters. */ + +@@ -1223,6 +1236,12 @@ + if (TYPE_FOR_JAVA (t1) != TYPE_FOR_JAVA (t2)) + return false; + ++ /* If T1 and T2 are dependent typedefs then check upfront that ++ the template parameters of their typedef DECLs match before ++ going down checking their subtypes. */ ++ if (incompatible_dependent_types_p (t1, t2)) ++ return false; ++ + /* Allow for two different type nodes which have essentially the same + definition. Note that we already checked for equality of the type + qualifiers (just above). */ +@@ -1231,11 +1250,6 @@ + && TYPE_MAIN_VARIANT (t1) == TYPE_MAIN_VARIANT (t2)) + return true; + +- /* If T1 and T2 are dependent typedefs then check upfront that +- the template parameters of their typedef DECLs match before +- going down checking their subtypes. */ +- if (incompatible_dependent_types_p (t1, t2)) +- return false; + + /* Compare the types. Break out if they could be the same. */ + switch (TREE_CODE (t1)) +@@ -4134,8 +4148,10 @@ + } + + build_type = boolean_type_node; +- if ((code0 == INTEGER_TYPE || code0 == REAL_TYPE) +- && (code1 == INTEGER_TYPE || code1 == REAL_TYPE)) ++ if ((code0 == INTEGER_TYPE || code0 == REAL_TYPE ++ || code0 == ENUMERAL_TYPE) ++ && (code1 == INTEGER_TYPE || code1 == REAL_TYPE ++ || code1 == ENUMERAL_TYPE)) + short_compare = 1; + else if (code0 == POINTER_TYPE && code1 == POINTER_TYPE) + result_type = composite_pointer_type (type0, type1, op0, op1, +Index: gcc/cp/tree.c +=================================================================== +--- a/src/gcc/cp/tree.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/cp/tree.c (.../branches/gcc-4_5-branch) +@@ -2309,6 +2309,13 @@ + && same_type_p (TYPE_MAIN_VARIANT (TREE_TYPE (current_class_ref)), + current_class_type)) + decl = current_class_ref; ++ else if (current_class_ref && LAMBDA_TYPE_P (current_class_type) ++ && context == nonlambda_method_basetype ()) ++ /* In a lambda, need to go through 'this' capture. */ ++ decl = (cp_build_indirect_ref ++ ((lambda_expr_this_capture ++ (CLASSTYPE_LAMBDA_EXPR (current_class_type))), ++ RO_NULL, tf_warning_or_error)); + else + decl = build_dummy_object (context); + Index: gcc/cp/ChangeLog =================================================================== --- a/src/gcc/cp/ChangeLog (.../tags/gcc_4_5_0_release) +++ b/src/gcc/cp/ChangeLog (.../branches/gcc-4_5-branch) -@@ -1,3 +1,19 @@ +@@ -1,3 +1,61 @@ ++2010-05-04 Jason Merrill ++ ++ PR c++/38064 ++ * typeck.c (cp_build_binary_op): Allow enums for <> as well. ++ ++2010-05-03 Dodji Seketeli ++ ++ PR c++/43953 ++ * pt.c (most_specialized_class): Pretend we are processing ++ a template decl during the call to coerce_template_parms. ++ ++2010-04-30 Jason Merrill ++ ++ PR c++/43868 ++ * cxx-pretty-print.c (pp_cxx_type_specifier_seq): Handle pmfs. ++ ++2010-04-27 Jason Merrill ++ ++ PR c++/43856 ++ * name-lookup.c (qualify_lookup): Disqualify lambda op(). ++ * semantics.c (nonlambda_method_basetype): New. ++ * cp-tree.h: Declare them. ++ * tree.c (maybe_dummy_object): Handle implicit 'this' capture. ++ ++ PR c++/43875 ++ * semantics.c (lambda_return_type): Complain about ++ braced-init-list. ++ ++ * parser.c (cp_parser_lambda_expression): Complain about lambda in ++ unevaluated context. ++ * pt.c (iterative_hash_template_arg): Don't crash on lambda. ++ ++2010-04-19 Dodji Seketeli ++ ++ PR c++/43704 ++ * typeck.c (structural_comptypes): Test dependent typedefs ++ incompatibility before testing for their main variant based ++ equivalence. ++ (incompatible_dependent_types_p): If one of the ++ compared types if not a typedef then honour their main variant ++ equivalence. ++ +2010-04-16 Jason Merrill + + PR c++/43641 @@ -1083,11 +3620,46 @@ 2010-04-14 Release Manager * GCC 4.5.0 released. +Index: gcc/cp/cxx-pretty-print.c +=================================================================== +--- a/src/gcc/cp/cxx-pretty-print.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/cp/cxx-pretty-print.c (.../branches/gcc-4_5-branch) +@@ -1275,6 +1275,17 @@ + pp_cxx_right_paren (pp); + break; + ++ case RECORD_TYPE: ++ if (TYPE_PTRMEMFUNC_P (t)) ++ { ++ tree pfm = TYPE_PTRMEMFUNC_FN_TYPE (t); ++ pp_cxx_decl_specifier_seq (pp, TREE_TYPE (TREE_TYPE (pfm))); ++ pp_cxx_whitespace (pp); ++ pp_cxx_ptr_operator (pp, t); ++ break; ++ } ++ /* else fall through */ ++ + default: + if (!(TREE_CODE (t) == FUNCTION_DECL && DECL_CONSTRUCTOR_P (t))) + pp_c_specifier_qualifier_list (pp_c_base (pp), t); Index: gcc/cp/pt.c =================================================================== --- a/src/gcc/cp/pt.c (.../tags/gcc_4_5_0_release) +++ b/src/gcc/cp/pt.c (.../branches/gcc-4_5-branch) -@@ -3720,15 +3720,17 @@ +@@ -1563,6 +1563,12 @@ + val = iterative_hash_template_arg (TREE_TYPE (arg), val); + return iterative_hash_template_arg (TYPE_DOMAIN (arg), val); + ++ case LAMBDA_EXPR: ++ /* A lambda can't appear in a template arg, but don't crash on ++ erroneous input. */ ++ gcc_assert (errorcount > 0); ++ return val; ++ + default: + switch (tclass) + { +@@ -3720,15 +3726,17 @@ TYPENAME_TYPEs and SCOPE_REFs that were previously dependent. */ tree args = current_template_args (); tree auto_node = type_uses_auto (type); @@ -1107,6 +3679,39 @@ } if (type == error_mark_node) +@@ -15923,12 +15931,13 @@ + tree parms = TREE_VALUE (t); + + partial_spec_args = CLASSTYPE_TI_ARGS (TREE_TYPE (t)); ++ ++ ++processing_template_decl; ++ + if (outer_args) + { + int i; + +- ++processing_template_decl; +- + /* Discard the outer levels of args, and then substitute in the + template args from the enclosing class. */ + partial_spec_args = INNERMOST_TEMPLATE_ARGS (partial_spec_args); +@@ -15945,7 +15954,6 @@ + TREE_VEC_ELT (parms, i) = + tsubst (TREE_VEC_ELT (parms, i), outer_args, tf_none, NULL_TREE); + +- --processing_template_decl; + } + + partial_spec_args = +@@ -15956,6 +15964,8 @@ + /*require_all_args=*/true, + /*use_default_args=*/true); + ++ --processing_template_decl; ++ + if (partial_spec_args == error_mark_node) + return error_mark_node; + Index: gcc/cp/semantics.c =================================================================== --- a/src/gcc/cp/semantics.c (.../tags/gcc_4_5_0_release) @@ -1122,7 +3727,52 @@ || lookup_attribute ("dllexport", DECL_ATTRIBUTES (fn))) mark_needed (fn); } -@@ -5961,9 +5963,12 @@ +@@ -5514,6 +5516,11 @@ + lambda_return_type (tree expr) + { + tree type; ++ if (BRACE_ENCLOSED_INITIALIZER_P (expr)) ++ { ++ warning (0, "cannot deduce lambda return type from a braced-init-list"); ++ return void_type_node; ++ } + if (type_dependent_expression_p (expr)) + { + type = cxx_make_type (DECLTYPE_TYPE); +@@ -5856,6 +5863,32 @@ + return result; + } + ++/* Returns the method basetype of the innermost non-lambda function, or ++ NULL_TREE if none. */ ++ ++tree ++nonlambda_method_basetype (void) ++{ ++ tree fn, type; ++ if (!current_class_ref) ++ return NULL_TREE; ++ ++ type = current_class_type; ++ if (!LAMBDA_TYPE_P (type)) ++ return type; ++ ++ /* Find the nearest enclosing non-lambda function. */ ++ fn = TYPE_NAME (type); ++ do ++ fn = decl_function_context (fn); ++ while (fn && LAMBDA_FUNCTION_P (fn)); ++ ++ if (!fn || !DECL_NONSTATIC_MEMBER_FUNCTION_P (fn)) ++ return NULL_TREE; ++ ++ return TYPE_METHOD_BASETYPE (TREE_TYPE (fn)); ++} ++ + /* If the closure TYPE has a static op(), also add a conversion to function + pointer. */ + +@@ -5961,9 +5994,12 @@ VEC_quick_push (tree, argvec, arg); for (arg = DECL_ARGUMENTS (statfn); arg; arg = TREE_CHAIN (arg)) VEC_safe_push (tree, gc, argvec, arg); @@ -1137,6 +3787,297 @@ finish_return_stmt (call); finish_compound_stmt (compound_stmt); +Index: gcc/cp/parser.c +=================================================================== +--- a/src/gcc/cp/parser.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/cp/parser.c (.../branches/gcc-4_5-branch) +@@ -7081,6 +7081,10 @@ + LAMBDA_EXPR_LOCATION (lambda_expr) + = cp_lexer_peek_token (parser->lexer)->location; + ++ if (cp_unevaluated_operand) ++ error_at (LAMBDA_EXPR_LOCATION (lambda_expr), ++ "lambda-expression in unevaluated context"); ++ + /* We may be in the middle of deferred access check. Disable + it now. */ + push_deferring_access_checks (dk_no_deferred); +Index: gcc/cp/cp-tree.h +=================================================================== +--- a/src/gcc/cp/cp-tree.h (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/cp/cp-tree.h (.../branches/gcc-4_5-branch) +@@ -5204,6 +5204,7 @@ + extern tree add_default_capture (tree, tree, tree); + extern void register_capture_members (tree); + extern tree lambda_expr_this_capture (tree); ++extern tree nonlambda_method_basetype (void); + extern void maybe_add_lambda_conv_op (tree); + + /* in tree.c */ +Index: gcc/cp/name-lookup.c +=================================================================== +--- a/src/gcc/cp/name-lookup.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/cp/name-lookup.c (.../branches/gcc-4_5-branch) +@@ -3806,6 +3806,10 @@ + if (cp_unevaluated_operand && TREE_CODE (val) == FIELD_DECL + && DECL_NORMAL_CAPTURE_P (val)) + return false; ++ /* None of the lookups that use qualify_lookup want the op() from the ++ lambda; they want the one from the enclosing class. */ ++ if (TREE_CODE (val) == FUNCTION_DECL && LAMBDA_FUNCTION_P (val)) ++ return false; + return true; + } + +Index: gcc/tree-ssa-loop-ivopts.c +=================================================================== +--- a/src/gcc/tree-ssa-loop-ivopts.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/tree-ssa-loop-ivopts.c (.../branches/gcc-4_5-branch) +@@ -1537,17 +1537,19 @@ + + if (mode != BLKmode) + { +- double_int mul; +- tree al = build_int_cst (TREE_TYPE (step), +- GET_MODE_ALIGNMENT (mode) / BITS_PER_UNIT); ++ unsigned mode_align = GET_MODE_ALIGNMENT (mode); + +- if (base_align < GET_MODE_ALIGNMENT (mode) +- || bitpos % GET_MODE_ALIGNMENT (mode) != 0 +- || bitpos % BITS_PER_UNIT != 0) ++ if (base_align < mode_align ++ || (bitpos % mode_align) != 0 ++ || (bitpos % BITS_PER_UNIT) != 0) + return true; + +- if (!constant_multiple_of (step, al, &mul)) ++ if (toffset ++ && (highest_pow2_factor (toffset) * BITS_PER_UNIT) < mode_align) + return true; ++ ++ if ((highest_pow2_factor (step) * BITS_PER_UNIT) < mode_align) ++ return true; + } + + return false; +Index: gcc/lto-streamer-out.c +=================================================================== +--- a/src/gcc/lto-streamer-out.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/lto-streamer-out.c (.../branches/gcc-4_5-branch) +@@ -517,8 +517,8 @@ + bp_pack_value (bp, TYPE_MODE (expr), 7); + bp_pack_value (bp, TYPE_STRING_FLAG (expr), 1); + bp_pack_value (bp, TYPE_NO_FORCE_BLK (expr), 1); +- bp_pack_value (bp, TYPE_NEEDS_CONSTRUCTING(expr), 1); +- if (TREE_CODE (expr) == UNION_TYPE || TREE_CODE (expr) == RECORD_TYPE) ++ 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); + bp_pack_value (bp, TYPE_PACKED (expr), 1); + bp_pack_value (bp, TYPE_RESTRICT (expr), 1); +@@ -946,9 +946,10 @@ + lto_output_tree_or_ref (ob, TYPE_VALUES (expr), ref_p); + else if (TREE_CODE (expr) == ARRAY_TYPE) + lto_output_tree_or_ref (ob, TYPE_DOMAIN (expr), ref_p); +- else if (TREE_CODE (expr) == RECORD_TYPE || TREE_CODE (expr) == UNION_TYPE) ++ else if (RECORD_OR_UNION_TYPE_P (expr)) + lto_output_tree_or_ref (ob, TYPE_FIELDS (expr), ref_p); +- else if (TREE_CODE (expr) == FUNCTION_TYPE || TREE_CODE (expr) == METHOD_TYPE) ++ else if (TREE_CODE (expr) == FUNCTION_TYPE ++ || TREE_CODE (expr) == METHOD_TYPE) + lto_output_tree_or_ref (ob, TYPE_ARG_TYPES (expr), ref_p); + else if (TREE_CODE (expr) == VECTOR_TYPE) + lto_output_tree_or_ref (ob, TYPE_DEBUG_REPRESENTATION_TYPE (expr), ref_p); +@@ -965,7 +966,7 @@ + lto_output_tree_or_ref (ob, TYPE_MAIN_VARIANT (expr), ref_p); + /* Do not stream TYPE_NEXT_VARIANT, we reconstruct the variant lists + during fixup. */ +- if (TREE_CODE (expr) == RECORD_TYPE || TREE_CODE (expr) == UNION_TYPE) ++ if (RECORD_OR_UNION_TYPE_P (expr)) + lto_output_tree_or_ref (ob, TYPE_BINFO (expr), ref_p); + lto_output_tree_or_ref (ob, TYPE_CONTEXT (expr), ref_p); + lto_output_tree_or_ref (ob, TYPE_CANONICAL (expr), ref_p); +Index: gcc/config.in +=================================================================== +--- a/src/gcc/config.in (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/config.in (.../branches/gcc-4_5-branch) +@@ -1661,6 +1661,12 @@ + #endif + + ++/* Define if we should use leading underscore on 64 bit mingw targets */ ++#ifndef USED_FOR_TARGET ++#undef USE_MINGW64_LEADING_UNDERSCORES ++#endif ++ ++ + /* Enable extensions on AIX 3, Interix. */ + #ifndef _ALL_SOURCE + # undef _ALL_SOURCE +Index: gcc/dwarf2out.c +=================================================================== +--- a/src/gcc/dwarf2out.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/dwarf2out.c (.../branches/gcc-4_5-branch) +@@ -1040,7 +1040,7 @@ + + cfi = new_cfi (); + +- if (loc.reg == old_cfa.reg && !loc.indirect) ++ if (loc.reg == old_cfa.reg && !loc.indirect && !old_cfa.indirect) + { + /* Construct a "DW_CFA_def_cfa_offset " instruction, indicating + the CFA register did not change but the offset did. The data +@@ -1056,7 +1056,8 @@ + #ifndef MIPS_DEBUGGING_INFO /* SGI dbx thinks this means no offset. */ + else if (loc.offset == old_cfa.offset + && old_cfa.reg != INVALID_REGNUM +- && !loc.indirect) ++ && !loc.indirect ++ && !old_cfa.indirect) + { + /* Construct a "DW_CFA_def_cfa_register " instruction, + indicating the CFA register has changed to but the +Index: gcc/unwind-dw2.c +=================================================================== +--- a/src/gcc/unwind-dw2.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/unwind-dw2.c (.../branches/gcc-4_5-branch) +@@ -1473,7 +1473,8 @@ + context->ra = __builtin_extract_return_addr (outer_ra); + } + +-static void _Unwind_DebugHook (void *, void *) __attribute__ ((__noinline__)); ++static void _Unwind_DebugHook (void *, void *) ++ __attribute__ ((__noinline__, __used__, __noclone__)); + + /* This function is called during unwinding. It is intended as a hook + for a debugger to intercept exceptions. CFA is the CFA of the +Index: gcc/ada/ChangeLog +=================================================================== +--- a/src/gcc/ada/ChangeLog (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/ada/ChangeLog (.../branches/gcc-4_5-branch) +@@ -1,3 +1,8 @@ ++2010-04-25 Eric Botcazou ++ ++ * gcc-interface/trans.c (gnat_to_gnu) : Do not ++ use memmove if the array type is bit-packed. ++ + 2010-04-14 Release Manager + + * GCC 4.5.0 released. +Index: gcc/ada/gcc-interface/trans.c +=================================================================== +--- a/src/gcc/ada/gcc-interface/trans.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/ada/gcc-interface/trans.c (.../branches/gcc-4_5-branch) +@@ -4563,10 +4563,12 @@ + gnu_result + = build_binary_op (MODIFY_EXPR, NULL_TREE, gnu_lhs, gnu_rhs); + +- /* If the type being assigned is an array type and the two sides +- are not completely disjoint, play safe and use memmove. */ ++ /* If the type being assigned is an array type and the two sides are ++ not completely disjoint, play safe and use memmove. But don't do ++ it for a bit-packed array as it might not be byte-aligned. */ + if (TREE_CODE (gnu_result) == MODIFY_EXPR + && Is_Array_Type (Etype (Name (gnat_node))) ++ && !Is_Bit_Packed_Array (Etype (Name (gnat_node))) + && !(Forwards_OK (gnat_node) && Backwards_OK (gnat_node))) + { + tree to, from, size, to_ptr, from_ptr, t; +Index: gcc/lto-streamer-in.c +=================================================================== +--- a/src/gcc/lto-streamer-in.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/lto-streamer-in.c (.../branches/gcc-4_5-branch) +@@ -1768,8 +1768,8 @@ + SET_TYPE_MODE (expr, mode); + TYPE_STRING_FLAG (expr) = (unsigned) bp_unpack_value (bp, 1); + TYPE_NO_FORCE_BLK (expr) = (unsigned) bp_unpack_value (bp, 1); +- TYPE_NEEDS_CONSTRUCTING(expr) = (unsigned) bp_unpack_value (bp, 1); +- if (TREE_CODE (expr) == UNION_TYPE || TREE_CODE (expr) == RECORD_TYPE) ++ 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); + TYPE_PACKED (expr) = (unsigned) bp_unpack_value (bp, 1); + TYPE_RESTRICT (expr) = (unsigned) bp_unpack_value (bp, 1); +@@ -2161,9 +2161,10 @@ + TYPE_VALUES (expr) = lto_input_tree (ib, data_in); + else if (TREE_CODE (expr) == ARRAY_TYPE) + TYPE_DOMAIN (expr) = lto_input_tree (ib, data_in); +- else if (TREE_CODE (expr) == RECORD_TYPE || TREE_CODE (expr) == UNION_TYPE) ++ else if (RECORD_OR_UNION_TYPE_P (expr)) + TYPE_FIELDS (expr) = lto_input_tree (ib, data_in); +- else if (TREE_CODE (expr) == FUNCTION_TYPE || TREE_CODE (expr) == METHOD_TYPE) ++ else if (TREE_CODE (expr) == FUNCTION_TYPE ++ || TREE_CODE (expr) == METHOD_TYPE) + TYPE_ARG_TYPES (expr) = lto_input_tree (ib, data_in); + else if (TREE_CODE (expr) == VECTOR_TYPE) + TYPE_DEBUG_REPRESENTATION_TYPE (expr) = lto_input_tree (ib, data_in); +Index: gcc/fortran/openmp.c +=================================================================== +--- a/src/gcc/fortran/openmp.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/fortran/openmp.c (.../branches/gcc-4_5-branch) +@@ -1,5 +1,5 @@ + /* OpenMP directive matching and resolving. +- Copyright (C) 2005, 2006, 2007, 2008 ++ Copyright (C) 2005, 2006, 2007, 2008, 2010 + Free Software Foundation, Inc. + Contributed by Jakub Jelinek + +@@ -1367,7 +1367,6 @@ + void + gfc_resolve_do_iterator (gfc_code *code, gfc_symbol *sym) + { +- struct omp_context *ctx; + int i = omp_current_do_collapse; + gfc_code *c = omp_current_do_code; + +@@ -1386,21 +1385,21 @@ + c = c->block->next; + } + +- for (ctx = omp_current_ctx; ctx; ctx = ctx->previous) +- { +- if (pointer_set_contains (ctx->sharing_clauses, sym)) +- continue; ++ if (omp_current_ctx == NULL) ++ return; + +- if (! pointer_set_insert (ctx->private_iterators, sym)) +- { +- gfc_omp_clauses *omp_clauses = ctx->code->ext.omp_clauses; +- gfc_namelist *p; ++ if (pointer_set_contains (omp_current_ctx->sharing_clauses, sym)) ++ return; + +- p = gfc_get_namelist (); +- p->sym = sym; +- p->next = omp_clauses->lists[OMP_LIST_PRIVATE]; +- omp_clauses->lists[OMP_LIST_PRIVATE] = p; +- } ++ if (! pointer_set_insert (omp_current_ctx->private_iterators, sym)) ++ { ++ gfc_omp_clauses *omp_clauses = omp_current_ctx->code->ext.omp_clauses; ++ gfc_namelist *p; ++ ++ p = gfc_get_namelist (); ++ p->sym = sym; ++ p->next = omp_clauses->lists[OMP_LIST_PRIVATE]; ++ omp_clauses->lists[OMP_LIST_PRIVATE] = p; + } + } + +Index: gcc/fortran/intrinsic.c +=================================================================== +--- a/src/gcc/fortran/intrinsic.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/fortran/intrinsic.c (.../branches/gcc-4_5-branch) +@@ -3264,7 +3264,7 @@ + + if (f->actual != NULL) + { +- gfc_error ("Argument '%s' is appears twice in call to '%s' at %L", ++ gfc_error ("Argument '%s' appears twice in call to '%s' at %L", + f->name, name, where); + return FAILURE; + } Index: gcc/fortran/trans-array.c =================================================================== --- a/src/gcc/fortran/trans-array.c (.../tags/gcc_4_5_0_release) @@ -1156,7 +4097,7 @@ name = "unnamed constant"; } -+ if (descriptor->base.code != COMPONENT_REF) ++ if (TREE_CODE (descriptor) == VAR_DECL) + name = IDENTIFIER_POINTER (DECL_NAME (descriptor)); + /* If upper bound is present, include both bounds in the error message. */ @@ -1218,7 +4159,61 @@ =================================================================== --- a/src/gcc/fortran/ChangeLog (.../tags/gcc_4_5_0_release) +++ b/src/gcc/fortran/ChangeLog (.../branches/gcc-4_5-branch) -@@ -1,3 +1,19 @@ +@@ -1,3 +1,73 @@ ++2010-05-06 Tobias Burnus ++ ++ PR fortran/43985 ++ * trans-types.c (gfc_sym_type): Mark Cray pointees as ++ GFC_POINTER_TYPE_P. ++ ++2010-05-05 Steven G. Kargl ++ ++ PR fortran/43592 ++ * fortran/parse.c (parse_interface): Do not dereference a NULL pointer. ++ ++2010-04-25 Janne Blomqvist ++ ++ PR fortran/40539 ++ * gcc/fortran/gfortran.texi: Add section about representation of ++ LOGICAL variables. ++ ++2010-04-24 Steven G. Kargl ++ ++ PR fortran/30073 ++ PR fortran/43793 ++ * trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead ++ of mucking with a tree directly. ++ ++2010-04-24 Paul Thomas ++ ++ PR fortran/43227 ++ * resolve.c (resolve_fl_derived): If a component character ++ length has not been resolved, do so now. ++ (resolve_symbol): The same as above for a symbol character ++ length. ++ * trans-decl.c (gfc_create_module_variable): A 'length' decl is ++ not needed for a character valued, procedure pointer. ++ ++ PR fortran/43266 ++ * resolve.c (ensure_not_abstract_walker): If 'overriding' is ++ not found, return FAILURE rather than ICEing. ++ ++2010-04-21 Jakub Jelinek ++ ++ PR fortran/43836 ++ * f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on ++ the decl. ++ ++2010-04-20 Harald Anlauf ++ ++ * intrinsic.c (sort_actual): Remove 'is' in error message. ++ ++2010-04-20 Jakub Jelinek ++ ++ PR fortran/43339 ++ * openmp.c (gfc_resolve_do_iterator): Only make iteration vars for ++ sequential loops private in the innermost containing task region. ++ +2010-04-17 Steven G. Kargl + + PR fortran/31538 @@ -1250,6 +4245,29 @@ const char gfc_msg_fault[] = N_("Array reference out of bounds"); const char gfc_msg_wrong_return[] = N_("Incorrect function return value"); +Index: gcc/fortran/trans-types.c +=================================================================== +--- a/src/gcc/fortran/trans-types.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/fortran/trans-types.c (.../branches/gcc-4_5-branch) +@@ -1793,6 +1793,9 @@ + restricted); + byref = 0; + } ++ ++ if (sym->attr.cray_pointee) ++ GFC_POINTER_TYPE_P (type) = 1; + } + else + { +@@ -1808,7 +1811,7 @@ + { + if (sym->attr.allocatable || sym->attr.pointer) + type = gfc_build_pointer_type (sym, type); +- if (sym->attr.pointer) ++ if (sym->attr.pointer || sym->attr.cray_pointee) + GFC_POINTER_TYPE_P (type) = 1; + } + Index: gcc/fortran/trans.h =================================================================== --- a/src/gcc/fortran/trans.h (.../tags/gcc_4_5_0_release) @@ -1262,11 +4280,115 @@ extern const char gfc_msg_fault[]; extern const char gfc_msg_wrong_return[]; +Index: gcc/fortran/resolve.c +=================================================================== +--- a/src/gcc/fortran/resolve.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/fortran/resolve.c (.../branches/gcc-4_5-branch) +@@ -10302,7 +10302,9 @@ + { + gfc_symtree* overriding; + overriding = gfc_find_typebound_proc (sub, NULL, st->name, true, NULL); +- gcc_assert (overriding && overriding->n.tb); ++ if (!overriding) ++ return FAILURE; ++ gcc_assert (overriding->n.tb); + if (overriding->n.tb->deferred) + { + gfc_error ("Derived-type '%s' declared at %L must be ABSTRACT because" +@@ -10431,8 +10433,12 @@ + /* Copy char length. */ + if (ifc->ts.type == BT_CHARACTER && ifc->ts.u.cl) + { +- c->ts.u.cl = gfc_new_charlen (sym->ns, ifc->ts.u.cl); +- gfc_expr_replace_comp (c->ts.u.cl->length, c); ++ gfc_charlen *cl = gfc_new_charlen (sym->ns, ifc->ts.u.cl); ++ gfc_expr_replace_comp (cl->length, c); ++ if (cl->length && !cl->resolved ++ && gfc_resolve_expr (cl->length) == FAILURE) ++ return FAILURE; ++ c->ts.u.cl = cl; + } + } + else if (c->ts.interface->name[0] != '\0') +@@ -10945,6 +10951,9 @@ + { + sym->ts.u.cl = gfc_new_charlen (sym->ns, ifc->ts.u.cl); + gfc_expr_replace_symbols (sym->ts.u.cl->length, sym); ++ if (sym->ts.u.cl->length && !sym->ts.u.cl->resolved ++ && gfc_resolve_expr (sym->ts.u.cl->length) == FAILURE) ++ return; + } + } + else if (sym->ts.interface->name[0] != '\0') +Index: gcc/fortran/f95-lang.c +=================================================================== +--- a/src/gcc/fortran/f95-lang.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/fortran/f95-lang.c (.../branches/gcc-4_5-branch) +@@ -1,5 +1,5 @@ + /* gfortran backend interface +- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 ++ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 + Free Software Foundation, Inc. + Contributed by Paul Brook. + +@@ -608,6 +608,7 @@ + library_name, NULL_TREE); + if (const_p) + TREE_READONLY (decl) = 1; ++ TREE_NOTHROW (decl) = 1; + + built_in_decls[code] = decl; + implicit_built_in_decls[code] = decl; +Index: gcc/fortran/trans-decl.c +=================================================================== +--- a/src/gcc/fortran/trans-decl.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/fortran/trans-decl.c (.../branches/gcc-4_5-branch) +@@ -3447,7 +3447,8 @@ + tree length; + + length = sym->ts.u.cl->backend_decl; +- if (!INTEGER_CST_P (length)) ++ gcc_assert (length || sym->attr.proc_pointer); ++ if (length && !INTEGER_CST_P (length)) + { + pushdecl (length); + rest_of_decl_compilation (length, 1, 0); +Index: gcc/fortran/parse.c +=================================================================== +--- a/src/gcc/fortran/parse.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/fortran/parse.c (.../branches/gcc-4_5-branch) +@@ -2235,9 +2235,9 @@ + { + if (current_state == COMP_NONE) + { +- if (new_state == COMP_FUNCTION) ++ if (new_state == COMP_FUNCTION && sym) + gfc_add_function (&sym->attr, sym->name, NULL); +- else if (new_state == COMP_SUBROUTINE) ++ else if (new_state == COMP_SUBROUTINE && sym) + gfc_add_subroutine (&sym->attr, sym->name, NULL); + + current_state = new_state; Index: gcc/configure.ac =================================================================== --- a/src/gcc/configure.ac (.../tags/gcc_4_5_0_release) +++ b/src/gcc/configure.ac (.../branches/gcc-4_5-branch) -@@ -2129,6 +2129,27 @@ +@@ -1552,6 +1552,14 @@ + [ --enable-secureplt enable -msecure-plt by default for PowerPC], + [], []) + ++AC_ARG_ENABLE(leading-mingw64-underscores, ++ AS_HELP_STRING([--enable-leading-mingw64-underscores], ++ [Enable leading underscores on 64 bit mingw targets]), ++ [],[]) ++AS_IF([ test x"$enable_leading_mingw64_underscores" = xyes ], ++ [AC_DEFINE(USE_MINGW64_LEADING_UNDERSCORES, 1, ++ [Define if we should use leading underscore on 64 bit mingw targets])]) ++ + AC_ARG_ENABLE(cld, + [ --enable-cld enable -mcld by default for 32bit x86], [], + [enable_cld=no]) +@@ -2129,6 +2137,27 @@ ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'` ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'` ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'` @@ -1294,7 +4416,7 @@ fi fi changequote([,])dnl -@@ -2447,7 +2468,7 @@ +@@ -2447,7 +2476,7 @@ && test $in_tree_ld_is_elf = yes; then comdat_group=yes fi @@ -1303,7 +4425,7 @@ comdat_group=yes if test 0"$ld_date" -lt 20050308; then if test -n "$ld_date"; then -@@ -2460,9 +2481,32 @@ +@@ -2460,9 +2489,32 @@ fi fi else @@ -1338,7 +4460,7 @@ if test $comdat_group = no; then gcc_cv_as_comdat_group=no gcc_cv_as_comdat_group_percent=no -@@ -4390,10 +4434,13 @@ +@@ -4390,10 +4442,13 @@ AC_MSG_CHECKING([for -rdynamic]) ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1 if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then @@ -1359,22 +4481,365 @@ @@ -1 +1 @@ -4.5.0 +4.5.1 +Index: gcc/alias.c +=================================================================== +--- a/src/gcc/alias.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/alias.c (.../branches/gcc-4_5-branch) +@@ -2340,8 +2340,18 @@ + if (mem_mode == VOIDmode) + mem_mode = GET_MODE (mem); + +- x_addr = get_addr (XEXP (x, 0)); +- mem_addr = get_addr (XEXP (mem, 0)); ++ x_addr = XEXP (x, 0); ++ mem_addr = XEXP (mem, 0); ++ if (!((GET_CODE (x_addr) == VALUE ++ && GET_CODE (mem_addr) != VALUE ++ && reg_mentioned_p (x_addr, mem_addr)) ++ || (GET_CODE (x_addr) != VALUE ++ && GET_CODE (mem_addr) == VALUE ++ && reg_mentioned_p (mem_addr, x_addr)))) ++ { ++ x_addr = get_addr (x_addr); ++ mem_addr = get_addr (mem_addr); ++ } + + base = find_base_term (x_addr); + if (base && (GET_CODE (base) == LABEL_REF +@@ -2423,7 +2433,16 @@ + return 1; + + if (! x_addr) +- x_addr = get_addr (XEXP (x, 0)); ++ { ++ x_addr = XEXP (x, 0); ++ if (!((GET_CODE (x_addr) == VALUE ++ && GET_CODE (mem_addr) != VALUE ++ && reg_mentioned_p (x_addr, mem_addr)) ++ || (GET_CODE (x_addr) != VALUE ++ && GET_CODE (mem_addr) == VALUE ++ && reg_mentioned_p (mem_addr, x_addr)))) ++ x_addr = get_addr (x_addr); ++ } + + if (! base_alias_check (x_addr, mem_addr, GET_MODE (x), mem_mode)) + return 0; +@@ -2492,8 +2511,18 @@ + if (MEM_ADDR_SPACE (mem) != MEM_ADDR_SPACE (x)) + return 1; + +- x_addr = get_addr (XEXP (x, 0)); +- mem_addr = get_addr (XEXP (mem, 0)); ++ x_addr = XEXP (x, 0); ++ mem_addr = XEXP (mem, 0); ++ if (!((GET_CODE (x_addr) == VALUE ++ && GET_CODE (mem_addr) != VALUE ++ && reg_mentioned_p (x_addr, mem_addr)) ++ || (GET_CODE (x_addr) != VALUE ++ && GET_CODE (mem_addr) == VALUE ++ && reg_mentioned_p (mem_addr, x_addr)))) ++ { ++ x_addr = get_addr (x_addr); ++ mem_addr = get_addr (mem_addr); ++ } + + if (! writep) + { +Index: gcc/cfgexpand.c +=================================================================== +--- a/src/gcc/cfgexpand.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/cfgexpand.c (.../branches/gcc-4_5-branch) +@@ -2618,6 +2618,22 @@ + return gen_rtx_FIX (mode, op0); + + case POINTER_PLUS_EXPR: ++ /* For the rare target where pointers are not the same size as ++ size_t, we need to check for mis-matched modes and correct ++ the addend. */ ++ if (op0 && op1 ++ && GET_MODE (op0) != VOIDmode && GET_MODE (op1) != VOIDmode ++ && GET_MODE (op0) != GET_MODE (op1)) ++ { ++ if (GET_MODE_BITSIZE (GET_MODE (op0)) < GET_MODE_BITSIZE (GET_MODE (op1))) ++ op1 = gen_rtx_TRUNCATE (GET_MODE (op0), op1); ++ else ++ /* We always sign-extend, regardless of the signedness of ++ the operand, because the operand is always unsigned ++ here even if the original C expression is signed. */ ++ op1 = gen_rtx_SIGN_EXTEND (GET_MODE (op0), op1); ++ } ++ /* Fall through. */ + case PLUS_EXPR: + return gen_rtx_PLUS (mode, op0, op1); + +Index: gcc/tree-ssa-pre.c +=================================================================== +--- a/src/gcc/tree-ssa-pre.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/tree-ssa-pre.c (.../branches/gcc-4_5-branch) +@@ -2669,31 +2669,46 @@ + { + case CALL_EXPR: + { +- tree folded, sc = currop->op1; ++ tree folded, sc = NULL_TREE; + unsigned int nargs = 0; +- tree *args = XNEWVEC (tree, VEC_length (vn_reference_op_s, +- ref->operands) - 1); ++ tree fn, *args; ++ if (TREE_CODE (currop->op0) == FUNCTION_DECL) ++ fn = currop->op0; ++ else ++ { ++ pre_expr op0 = get_or_alloc_expr_for (currop->op0); ++ fn = find_or_generate_expression (block, op0, stmts, domstmt); ++ if (!fn) ++ return NULL_TREE; ++ } ++ if (currop->op1) ++ { ++ pre_expr scexpr = get_or_alloc_expr_for (currop->op1); ++ sc = find_or_generate_expression (block, scexpr, stmts, domstmt); ++ if (!sc) ++ return NULL_TREE; ++ } ++ args = XNEWVEC (tree, VEC_length (vn_reference_op_s, ++ ref->operands) - 1); + while (*operand < VEC_length (vn_reference_op_s, ref->operands)) + { + args[nargs] = create_component_ref_by_pieces_1 (block, ref, + operand, stmts, + domstmt); ++ if (!args[nargs]) ++ { ++ free (args); ++ return NULL_TREE; ++ } + nargs++; + } + folded = build_call_array (currop->type, +- TREE_CODE (currop->op0) == FUNCTION_DECL +- ? build_fold_addr_expr (currop->op0) +- : currop->op0, ++ (TREE_CODE (fn) == FUNCTION_DECL ++ ? build_fold_addr_expr (fn) : fn), + nargs, args); + free (args); + if (sc) +- { +- pre_expr scexpr = get_or_alloc_expr_for (sc); +- sc = find_or_generate_expression (block, scexpr, stmts, domstmt); +- if (!sc) +- return NULL_TREE; +- CALL_EXPR_STATIC_CHAIN (folded) = sc; +- } ++ CALL_EXPR_STATIC_CHAIN (folded) = sc; + return folded; + } + break; +@@ -2817,22 +2832,37 @@ + return NULL_TREE; + if (genop2) + { +- op2expr = get_or_alloc_expr_for (genop2); +- genop2 = find_or_generate_expression (block, op2expr, stmts, +- domstmt); +- if (!genop2) +- return NULL_TREE; ++ /* Drop zero minimum index. */ ++ if (tree_int_cst_equal (genop2, integer_zero_node)) ++ genop2 = NULL_TREE; ++ else ++ { ++ op2expr = get_or_alloc_expr_for (genop2); ++ genop2 = find_or_generate_expression (block, op2expr, stmts, ++ domstmt); ++ if (!genop2) ++ return NULL_TREE; ++ } + } + if (genop3) + { + tree elmt_type = TREE_TYPE (TREE_TYPE (genop0)); +- genop3 = size_binop (EXACT_DIV_EXPR, genop3, +- size_int (TYPE_ALIGN_UNIT (elmt_type))); +- op3expr = get_or_alloc_expr_for (genop3); +- genop3 = find_or_generate_expression (block, op3expr, stmts, +- domstmt); +- if (!genop3) +- return NULL_TREE; ++ /* We can't always put a size in units of the element alignment ++ here as the element alignment may be not visible. See ++ PR43783. Simply drop the element size for constant ++ sizes. */ ++ if (tree_int_cst_equal (genop3, TYPE_SIZE_UNIT (elmt_type))) ++ genop3 = NULL_TREE; ++ else ++ { ++ genop3 = size_binop (EXACT_DIV_EXPR, genop3, ++ size_int (TYPE_ALIGN_UNIT (elmt_type))); ++ op3expr = get_or_alloc_expr_for (genop3); ++ genop3 = find_or_generate_expression (block, op3expr, stmts, ++ domstmt); ++ if (!genop3) ++ return NULL_TREE; ++ } + } + return build4 (currop->opcode, currop->type, genop0, genop1, + genop2, genop3); +Index: gcc/tree-sra.c +=================================================================== +--- a/src/gcc/tree-sra.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/tree-sra.c (.../branches/gcc-4_5-branch) +@@ -182,6 +182,10 @@ + access tree. */ + unsigned grp_read : 1; + ++ /* Does this group contain a read access that comes from an assignment ++ statement? This flag is propagated down the access tree. */ ++ unsigned grp_assignment_read : 1; ++ + /* Other passes of the analysis use this bit to make function + analyze_access_subtree create scalar replacements for this group if + possible. */ +@@ -1031,9 +1035,13 @@ + racc = build_access_from_expr_1 (rhs_ptr, stmt, false); + lacc = build_access_from_expr_1 (lhs_ptr, stmt, true); + +- if (should_scalarize_away_bitmap && !gimple_has_volatile_ops (stmt) +- && racc && !is_gimple_reg_type (racc->type)) +- bitmap_set_bit (should_scalarize_away_bitmap, DECL_UID (racc->base)); ++ if (racc) ++ { ++ racc->grp_assignment_read = 1; ++ if (should_scalarize_away_bitmap && !gimple_has_volatile_ops (stmt) ++ && !is_gimple_reg_type (racc->type)) ++ bitmap_set_bit (should_scalarize_away_bitmap, DECL_UID (racc->base)); ++ } + + if (lacc && racc + && (sra_mode == SRA_MODE_EARLY_INTRA || sra_mode == SRA_MODE_INTRA) +@@ -1578,6 +1586,7 @@ + struct access *access = VEC_index (access_p, access_vec, i); + bool grp_write = access->write; + bool grp_read = !access->write; ++ bool grp_assignment_read = access->grp_assignment_read; + bool multiple_reads = false; + bool total_scalarization = access->total_scalarization; + bool grp_partial_lhs = access->grp_partial_lhs; +@@ -1611,6 +1620,7 @@ + else + grp_read = true; + } ++ grp_assignment_read |= ac2->grp_assignment_read; + grp_partial_lhs |= ac2->grp_partial_lhs; + unscalarizable_region |= ac2->grp_unscalarizable_region; + total_scalarization |= ac2->total_scalarization; +@@ -1629,6 +1639,7 @@ + access->group_representative = access; + access->grp_write = grp_write; + access->grp_read = grp_read; ++ access->grp_assignment_read = grp_assignment_read; + access->grp_hint = multiple_reads || total_scalarization; + access->grp_partial_lhs = grp_partial_lhs; + access->grp_unscalarizable_region = unscalarizable_region; +@@ -1763,14 +1774,17 @@ + return false; + } + ++enum mark_read_status { SRA_MR_NOT_READ, SRA_MR_READ, SRA_MR_ASSIGN_READ}; ++ + /* Analyze the subtree of accesses rooted in ROOT, scheduling replacements when +- both seeming beneficial and when ALLOW_REPLACEMENTS allows it. Also set +- all sorts of access flags appropriately along the way, notably always ser +- grp_read when MARK_READ is true and grp_write when MARK_WRITE is true. */ ++ both seeming beneficial and when ALLOW_REPLACEMENTS allows it. Also set all ++ sorts of access flags appropriately along the way, notably always set ++ grp_read and grp_assign_read according to MARK_READ and grp_write when ++ MARK_WRITE is true. */ + + static bool + analyze_access_subtree (struct access *root, bool allow_replacements, +- bool mark_read, bool mark_write) ++ enum mark_read_status mark_read, bool mark_write) + { + struct access *child; + HOST_WIDE_INT limit = root->offset + root->size; +@@ -1779,10 +1793,17 @@ + bool hole = false, sth_created = false; + bool direct_read = root->grp_read; + +- if (mark_read) +- root->grp_read = true; ++ if (mark_read == SRA_MR_ASSIGN_READ) ++ { ++ root->grp_read = 1; ++ root->grp_assignment_read = 1; ++ } ++ if (mark_read == SRA_MR_READ) ++ root->grp_read = 1; ++ else if (root->grp_assignment_read) ++ mark_read = SRA_MR_ASSIGN_READ; + else if (root->grp_read) +- mark_read = true; ++ mark_read = SRA_MR_READ; + + if (mark_write) + root->grp_write = true; +@@ -1811,7 +1832,7 @@ + + if (allow_replacements && scalar && !root->first_child + && (root->grp_hint +- || (direct_read && root->grp_write)) ++ || (root->grp_write && (direct_read || root->grp_assignment_read))) + /* We must not ICE later on when trying to build an access to the + original data within the aggregate even when it is impossible to do in + a defined way like in the PR 42703 testcase. Therefore we check +@@ -1856,7 +1877,7 @@ + + while (access) + { +- if (analyze_access_subtree (access, true, false, false)) ++ if (analyze_access_subtree (access, true, SRA_MR_NOT_READ, false)) + ret = true; + access = access->next_grp; + } +@@ -4133,6 +4154,9 @@ + return false; + } + ++ if (TYPE_ATTRIBUTES (TREE_TYPE (node->decl))) ++ return false; ++ + return true; + } + Index: gcc/po/es.po =================================================================== --- a/src/gcc/po/es.po (.../tags/gcc_4_5_0_release) +++ b/src/gcc/po/es.po (.../branches/gcc-4_5-branch) -@@ -9,7 +9,7 @@ +@@ -1,4 +1,4 @@ +-# Mensajes en español para gcc-4.5-b20100204 ++# Mensajes en español para gcc-4.5.0 + # Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. + # This file is distributed under the same license as the gcc package. + # Cristian Othón Martínez Vera , 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +@@ -7,71 +7,72 @@ + # + msgid "" msgstr "" - "Project-Id-Version: gcc 4.5-b20100204\n" +-"Project-Id-Version: gcc 4.5-b20100204\n" ++"Project-Id-Version: gcc 4.5.0\n" "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n" -"POT-Creation-Date: 2010-02-04 16:20+0000\n" +-"PO-Revision-Date: 2010-02-05 15:29-0600\n" +"POT-Creation-Date: 2010-04-06 14:11+0000\n" - "PO-Revision-Date: 2010-02-05 15:29-0600\n" ++"PO-Revision-Date: 2010-04-16 11:29-0500\n" "Last-Translator: Cristian Othón Martínez Vera \n" "Language-Team: Spanish \n" -@@ -17,61 +17,61 @@ + "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: c-decl.c:4569 c-pretty-print.c:403 c-typeck.c:5558 toplev.c:1648 +#: c-decl.c:4573 c-pretty-print.c:403 c-typeck.c:5590 toplev.c:1652 @@ -1448,7 +4913,7 @@ msgid "the ''' printf flag" msgstr "la opción de printf '''" -@@ -84,34 +84,34 @@ +@@ -84,34 +85,34 @@ msgstr "la opción de printf 'I'" #: c-format.c:370 c-format.c:392 c-format.c:447 c-format.c:470 c-format.c:497 @@ -1491,7 +4956,7 @@ msgid "length modifier in printf format" msgstr "modificador de longitud en formato printf" -@@ -123,19 +123,19 @@ +@@ -123,19 +124,19 @@ msgid "the 'q' diagnostic flag" msgstr "la opción de diagnóstico 'q'" @@ -1515,7 +4980,7 @@ msgid "the 'a' scanf flag" msgstr "la opción de scanf 'a'" -@@ -147,15 +147,15 @@ +@@ -147,15 +148,15 @@ msgid "the 'm' scanf flag" msgstr "la opción de scanf 'm'" @@ -1534,7 +4999,7 @@ msgid "the ''' scanf flag" msgstr "la opción de scanf '''" -@@ -187,7 +187,7 @@ +@@ -187,7 +188,7 @@ msgid "the '^' strftime flag" msgstr "la opción de strftime '^'" @@ -1543,7 +5008,7 @@ msgid "the '#' strftime flag" msgstr "la opción de strftime '#'" -@@ -283,12 +283,12 @@ +@@ -283,12 +284,12 @@ msgid "({anonymous})" msgstr "({anónimo})" @@ -1558,7 +5023,7 @@ msgid "" msgstr "" -@@ -412,60 +412,60 @@ +@@ -412,60 +413,60 @@ msgid "" msgstr "" @@ -1633,7 +5098,7 @@ #, gcc-internal-format msgid "initializer element is not computable at load time" msgstr "el elemento inicializador no es calculable al momento de la carga" -@@ -474,117 +474,117 @@ +@@ -474,117 +475,117 @@ #. of VLAs themselves count as VLAs, it does not make #. sense to permit them to be initialized given that #. ordinary VLAs may not be initialized. @@ -1779,7 +5244,7 @@ msgid "excess elements in scalar initializer" msgstr "exceso de elementos en el inicializador de escalar" -@@ -604,99 +604,105 @@ +@@ -604,99 +605,105 @@ msgid "return not followed by barrier" msgstr "return no es seguido por una barrera" @@ -1826,37 +5291,34 @@ msgstr "collect2 versión %s" -#: collect2.c:1812 --#, c-format ++#: collect2.c:1823 + #, c-format -msgid "%d constructor(s) found\n" -msgstr "se encuentra(n) %d constructor(es)\n" -+#: collect2.c:1823 -+#, fuzzy, c-format +msgid "%d constructor found\n" +msgid_plural "%d constructors found\n" -+msgstr[0] "se encuentra(n) %d constructor(es)\n" -+msgstr[1] "se encuentra(n) %d constructor(es)\n" ++msgstr[0] "se encontró %d constructor\n" ++msgstr[1] "se encontraron %d constructores\n" -#: collect2.c:1813 --#, c-format ++#: collect2.c:1827 + #, c-format -msgid "%d destructor(s) found\n" -msgstr "se encuentra(n) %d destructor(es)\n" -+#: collect2.c:1827 -+#, fuzzy, c-format +msgid "%d destructor found\n" +msgid_plural "%d destructors found\n" -+msgstr[0] "se encuentra(n) %d destructor(es)\n" -+msgstr[1] "se encuentra(n) %d destructor(es)\n" ++msgstr[0] "se encontró %d destructor\n" ++msgstr[1] "se encontraron %d destructores\n" -#: collect2.c:1814 --#, c-format ++#: collect2.c:1831 + #, c-format -msgid "%d frame table(s) found\n" -msgstr "se encuentra(n) %d marcos de tabla(s)\n" -+#: collect2.c:1831 -+#, fuzzy, c-format +msgid "%d frame table found\n" +msgid_plural "%d frame tables found\n" -+msgstr[0] "se encuentra(n) %d marcos de tabla(s)\n" -+msgstr[1] "se encuentra(n) %d marcos de tabla(s)\n" ++msgstr[0] "se encontró %d tabla de marco\n" ++msgstr[1] "se encontraron %d tablas de marco\n" -#: collect2.c:1965 lto-wrapper.c:175 +#: collect2.c:1985 lto-wrapper.c:175 @@ -1913,7 +5375,7 @@ #, c-format msgid "" "\n" -@@ -705,32 +711,32 @@ +@@ -705,32 +712,32 @@ "\n" "write_c_file - el nombre de salida es %s, el prefijo es %s\n" @@ -1952,7 +5414,7 @@ #, c-format msgid "" "\n" -@@ -739,27 +745,27 @@ +@@ -739,27 +746,27 @@ "\n" "salida de ldd con constructores/destructores.\n" @@ -1985,7 +5447,7 @@ #, c-format msgid "library lib%s not found" msgstr "no se encontró la biblioteca lib%s" -@@ -774,12 +780,12 @@ +@@ -774,12 +781,12 @@ msgid "too many input files" msgstr "demasiados ficheros de entrada" @@ -2000,7 +5462,7 @@ #, c-format msgid "" "Please submit a full bug report,\n" -@@ -790,64 +796,64 @@ +@@ -790,64 +797,64 @@ "con el código preprocesado si es apropiado.\n" "Vea %s para más instrucciones.\n" @@ -2078,7 +5540,7 @@ #, c-format msgid "'%%l' operand isn't a label" msgstr "el operando '%%l' no es una etiqueta" -@@ -858,13 +864,13 @@ +@@ -858,13 +865,13 @@ #. handle them. #. We can't handle floating point constants; #. PRINT_OPERAND must handle them. @@ -2094,7 +5556,7 @@ #: config/pdp11/pdp11.c:1729 #, c-format msgid "invalid expression as operand" -@@ -943,7 +949,7 @@ +@@ -943,7 +950,7 @@ msgid "spec file has no spec for linking" msgstr "el fichero de especificación no tiene especificaciones para enlazar" @@ -2103,7 +5565,7 @@ #, c-format msgid "%s\n" msgstr "%s\n" -@@ -1280,120 +1286,120 @@ +@@ -1280,120 +1287,120 @@ msgid "argument to '-x' is missing" msgstr "falta el argumento para '-x'" @@ -2247,7 +5709,7 @@ #, c-format msgid "" "\n" -@@ -1402,16 +1408,16 @@ +@@ -1402,16 +1409,16 @@ "\n" "Para instrucciones de reporte de bichos, por favor vea:\n" @@ -2267,7 +5729,7 @@ #, c-format msgid "" "This is free software; see the source for copying conditions. There is NO\n" -@@ -1423,57 +1429,57 @@ +@@ -1423,57 +1430,57 @@ "PARTICULAR\n" "\n" @@ -2336,7 +5798,7 @@ #, c-format msgid "" "\n" -@@ -1486,59 +1492,59 @@ +@@ -1486,59 +1493,59 @@ "======================\n" "\n" @@ -2407,7 +5869,7 @@ #, c-format msgid "" "Assembler options\n" -@@ -1549,7 +1555,7 @@ +@@ -1549,7 +1556,7 @@ "=======================\n" "\n" @@ -2416,7 +5878,7 @@ #, c-format msgid "" "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n" -@@ -1558,27 +1564,27 @@ +@@ -1558,27 +1565,27 @@ "Utilice \"-Wa,OPCIÓN\" para pasar la \"OPCIÓN\" al ensamblador.\n" "\n" @@ -2449,7 +5911,7 @@ #, c-format msgid "argument to %%:compare-debug-auxbase-opt does not end in .gk" msgstr "el argumento para %%:compare-debug-auxbase-opt no termina en .gk" -@@ -1995,7 +2001,7 @@ +@@ -1995,7 +2002,7 @@ msgid "%s terminated with signal %d [%s]" msgstr "%s terminado con la señal %d [%s]" @@ -2458,7 +5920,7 @@ #, gcc-internal-format msgid "%s returned %d exit status" msgstr "%s devolvió el estado de salida %d" -@@ -2030,79 +2036,79 @@ +@@ -2030,79 +2037,79 @@ msgid "This switch lacks documentation" msgstr "Esta opción carece de documentación" @@ -2556,7 +6018,7 @@ #, c-format msgid "warning: unrecognized argument to --help= option: %.*s\n" msgstr "aviso: no se reconoce el argumento para la opción --help=: %.*s\n" -@@ -2119,21 +2125,21 @@ +@@ -2119,21 +2126,21 @@ msgid "unable to generate reloads for:" msgstr "no se pueden generar recargas para:" @@ -2582,7 +6044,7 @@ msgid "Failure trying to reload:" msgstr "Falla al tratar de recargar:" -@@ -2198,7 +2204,7 @@ +@@ -2198,7 +2205,7 @@ msgid "unrecoverable error" msgstr "error no recuperable" @@ -2591,7 +6053,7 @@ #, c-format msgid "" "%s%s%s %sversion %s (%s)\n" -@@ -2207,56 +2213,56 @@ +@@ -2207,56 +2214,56 @@ "%s%s%s %sversión %s (%s)\n" "%s\tcompilado por GNU C versión %s, " @@ -2660,15 +6122,14 @@ msgid "assuming signed overflow does not occur when simplifying ==, != or ! to identity or ^" msgstr "se asume que el desbordamiento con signo no ocurre al simplificar ==, != o ! a identidad o ^" -@@ -2513,321 +2519,339 @@ +@@ -2513,321 +2520,337 @@ msgid "The maximum number of insns of a peeled loop that rolls only once" msgstr "El número máximo de insns en un ciclo pelado que se enrolla solamente una vez" -#: params.def:273 +#: params.def:272 -+#, fuzzy +msgid "The maximum depth of a loop nest we completely peel" -+msgstr "El número máximo de insns en un ciclo completamente pelado" ++msgstr "La profundidad máxima de un ciclo anidado que nosotros pelamos completamente" + +#: params.def:278 msgid "The maximum number of insns of an unswitched loop" @@ -3038,13 +6499,12 @@ -#: params.def:747 +#: params.def:752 -+#, fuzzy +msgid "maximum number of parameters in a SCoP" -+msgstr "el valor máximo del parámetro %qs es %u" ++msgstr "número máximo de parámetros en un SCoP" + +#: params.def:759 +msgid "maximum number of basic blocks per function to be analyzed by Graphite" -+msgstr "" ++msgstr "número máximo de bloques básicos por función para analizar con Graphite" + +#: params.def:766 msgid "Max basic blocks number in loop for loop invariant motion" @@ -3068,7 +6528,7 @@ -#: params.def:771 +#: params.def:790 +msgid "Max. size of var tracking hash tables" -+msgstr "" ++msgstr "Tamaño máximo de las tablas de dispersión de rastreo de variables" + +#: params.def:797 msgid "The minimum UID to be used for a nondebug insn" @@ -3079,7 +6539,7 @@ 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" -@@ -2836,7 +2860,7 @@ +@@ -2836,7 +2859,7 @@ msgid "invalid %%H value" msgstr "valor %%H inválido" @@ -3088,7 +6548,7 @@ #, c-format msgid "invalid %%J value" msgstr "valor %%J inválido" -@@ -2847,18 +2871,18 @@ +@@ -2847,18 +2870,18 @@ msgstr "valor %%r inválido" #: config/alpha/alpha.c:5196 config/ia64/ia64.c:4929 @@ -3110,7 +6570,7 @@ #, c-format msgid "invalid %%P value" msgstr "valor %%P inválido" -@@ -2873,12 +2897,12 @@ +@@ -2873,12 +2896,12 @@ msgid "invalid %%L value" msgstr "valor %%L inválido" @@ -3125,7 +6585,7 @@ #, c-format msgid "invalid %%M value" msgstr "valor %%M inválido" -@@ -2889,7 +2913,7 @@ +@@ -2889,7 +2912,7 @@ msgstr "valor %%U inválido" #: config/alpha/alpha.c:5329 config/alpha/alpha.c:5343 @@ -3134,7 +6594,7 @@ #, c-format msgid "invalid %%s value" msgstr "valor %%s inválido" -@@ -2899,7 +2923,7 @@ +@@ -2899,7 +2922,7 @@ msgid "invalid %%C value" msgstr "valor %%C inválido" @@ -3143,7 +6603,7 @@ #, c-format msgid "invalid %%E value" msgstr "valor %%E inválido" -@@ -2910,7 +2934,7 @@ +@@ -2910,7 +2933,7 @@ msgstr "reubicación unspec desconocida" #: config/alpha/alpha.c:5437 config/crx/crx.c:1092 @@ -3152,7 +6612,7 @@ #, c-format msgid "invalid %%xn code" msgstr "código %%xn inválido" -@@ -2937,55 +2961,55 @@ +@@ -2937,55 +2960,55 @@ #. Unknown flag. #. Undocumented flag. @@ -3226,7 +6686,7 @@ msgid "functions cannot return __fp16 type" msgstr "la función no puede devolver el tipo __fp16" -@@ -3037,20 +3061,20 @@ +@@ -3037,20 +3060,20 @@ msgid "internal compiler error. Incorrect shift:" msgstr "error interno del compilador. Desplazamiento incorrecto:" @@ -3253,7 +6713,7 @@ #, gcc-internal-format msgid "%s" msgstr "%s" -@@ -3284,67 +3308,67 @@ +@@ -3284,67 +3307,67 @@ msgid " (frv)" msgstr " (frv)" @@ -3334,7 +6794,7 @@ msgid "unknown insn mode" msgstr "modo insn desconocido" -@@ -3392,7 +3416,7 @@ +@@ -3392,7 +3415,7 @@ msgid "invalid %%P operand" msgstr "operando %%P inválido" @@ -3343,7 +6803,7 @@ #, c-format msgid "invalid %%p value" msgstr "valor %%p inválido" -@@ -3456,7 +3480,7 @@ +@@ -3456,7 +3479,7 @@ msgstr "la dirección de post-incremento no es un registro" #: config/m32r/m32r.c:2205 config/m32r/m32r.c:2219 @@ -3352,7 +6812,7 @@ msgid "bad address" msgstr "dirección errónea" -@@ -3502,7 +3526,7 @@ +@@ -3502,7 +3525,7 @@ msgid "invalid Z register replacement for insn" msgstr "reemplazo de registro Z inválido para la insn" @@ -3361,7 +6821,7 @@ #, c-format msgid "invalid %%L code" msgstr "código %%L inválido" -@@ -3590,115 +3614,115 @@ +@@ -3590,115 +3613,115 @@ 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" @@ -3501,7 +6961,7 @@ msgid "AltiVec argument passed to unprototyped function" msgstr "Se pasó un argumento Altivec a una función sin prototipo" -@@ -3717,69 +3741,69 @@ +@@ -3717,69 +3740,69 @@ msgid "invalid operand for code: '%c'" msgstr "operando inválido para code: '%c'" @@ -3585,7 +7045,7 @@ #, c-format msgid "floating point constant not a valid immediate operand" msgstr "la constante de coma flotante no es un operando inmediato válido" -@@ -3867,23 +3891,23 @@ +@@ -3867,23 +3890,23 @@ msgid "address offset not a constant" msgstr "el desplazamiento de dirección no es una constante" @@ -3614,7 +7074,7 @@ msgid "" msgstr "" -@@ -3891,11 +3915,11 @@ +@@ -3891,11 +3914,11 @@ msgid "template-parameter-" msgstr "parámetro-de-plantilla-" @@ -3628,7 +7088,7 @@ #, gcc-internal-format msgid "candidate is: %+#D" msgstr "el candidato es: %+#D" -@@ -4037,16 +4061,26 @@ +@@ -4037,16 +4060,26 @@ msgid "%s:%d: instantiated from %qs\n" msgstr "%s:%d: instanciado desde %qs\n" @@ -3645,19 +7105,19 @@ msgstr "%s:%d: instanciado desde aquí" +#: cp/error.c:2794 -+#, fuzzy, c-format ++#, c-format +msgid "%s:%d:%d: [ skipping %d instantiation contexts ]\n" -+msgstr "%s:%d:%d: instanciado desde %qs\n" ++msgstr "%s:%d:%d: [ se saltan %d contextos de instanciación ]\n" + +#: cp/error.c:2798 +#, c-format +msgid "%s:%d: [ skipping %d instantiation contexts ]\n" -+msgstr "" ++msgstr "%s:%d: [ se saltan %d contextos de instanciación ]\n" + #: cp/g++spec.c:261 java/jvspec.c:403 #, c-format msgid "argument to '%s' missing\n" -@@ -4092,48 +4126,48 @@ +@@ -4092,48 +4125,48 @@ msgid "source type is not polymorphic" msgstr "el tipo fuente no es polimórfico" @@ -3716,7 +7176,7 @@ msgid "no post-decrement operator for type" msgstr "no hay operador de post-decremento para el tipo" -@@ -4179,40 +4213,40 @@ +@@ -4179,40 +4212,40 @@ msgid "arguments 'a%d' and 'a%d' for intrinsic '%s'" msgstr "argumentos 'a%d' y 'a%d' para el intrínseco '%s'" @@ -3766,7 +7226,7 @@ msgid "array assignment" msgstr "asignación de matriz" -@@ -4378,19 +4412,19 @@ +@@ -4378,19 +4411,19 @@ msgid "Expected real string" msgstr "Se esperaba una cadena real" @@ -3790,7 +7250,7 @@ msgid "Unexpected end of module" msgstr "Fin de módulo inesperado" -@@ -4438,87 +4472,87 @@ +@@ -4438,87 +4471,87 @@ msgid "internal function" msgstr "función interna" @@ -3896,7 +7356,7 @@ msgid "Step expression in DO loop" msgstr "Expresión de paso en el ciclo DO" -@@ -4527,17 +4561,17 @@ +@@ -4527,17 +4560,17 @@ msgid "Different CHARACTER lengths (%ld/%ld) in array constructor" msgstr "Longitudes de CHARACTER diferentes (%ld/%ld) en el constructor de matriz" @@ -3917,7 +7377,7 @@ msgid "internal error: bad hash value in dynamic dispatch" msgstr "error interno: valor de dispersión erróneo en el despacho dinámico" -@@ -4567,11 +4601,11 @@ +@@ -4567,11 +4600,11 @@ msgid "Assigned label is not a target label" msgstr "La etiqueta asignada no es una etiqueta objetivo" @@ -3931,7 +7391,7 @@ msgid "DO step value is zero" msgstr "El valor de paso de DO es cero" -@@ -4587,36 +4621,36 @@ +@@ -4587,36 +4620,36 @@ msgid "Incorrect function return value" msgstr "Valor de devolución de la función incorrecto" @@ -3978,7 +7438,7 @@ #: java/jcf-dump.c:1068 #, c-format msgid "Not a valid Java .class file.\n" -@@ -4847,27 +4881,28 @@ +@@ -4847,27 +4880,28 @@ msgid "gfortran does not support -E without -cpp" msgstr "gfortran no admite -E sin usar -cpp" @@ -4022,7 +7482,7 @@ #: config/sparc/linux64.h:165 config/sparc/linux64.h:176 #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144 #: config/sparc/sol2-bi.h:240 config/sparc/sol2-bi.h:250 -@@ -4895,10 +4930,6 @@ +@@ -4895,10 +4929,6 @@ msgid "GCC does not support -C or -CC without -E" msgstr "GCC no admite -C o -CC sin usar -E" @@ -4033,7 +7493,7 @@ #: gcc.c:1073 msgid "GNU C no longer supports -traditional without -E" msgstr "C de GNU ya no admite -traditional sin usar -E" -@@ -4912,6 +4943,13 @@ +@@ -4912,6 +4942,13 @@ msgid "shared and mdll are not compatible" msgstr "shared y mdll no son compatibles" @@ -4047,7 +7507,7 @@ #: config/pa/pa-hpux10.h:87 config/pa/pa-hpux10.h:90 config/pa/pa-hpux10.h:98 #: config/pa/pa-hpux10.h:101 config/pa/pa-hpux11.h:108 #: config/pa/pa-hpux11.h:111 config/pa/pa64-hpux.h:30 config/pa/pa64-hpux.h:33 -@@ -4966,10 +5004,6 @@ +@@ -4966,10 +5003,6 @@ msgid "rx200 cpu does not have FPU hardware" msgstr "el cpu rx200 no tiene FPU de hardware" @@ -4058,7 +7518,7 @@ #: config/arm/freebsd.h:31 msgid "consider using `-pg' instead of `-p' with gprof(1) " msgstr "considere usar `-pg' en lugar de `-p' con gprf(1) " -@@ -4998,6 +5032,10 @@ +@@ -4998,6 +5031,10 @@ msgid "`-mno-intel-syntax' is deprecated. Use `-masm=att' instead." msgstr "`-mno-intel-syntax' es obsoleto. Utilice `-masm=att' en su lugar." @@ -4069,7 +7529,7 @@ #: config/mips/r3900.h:34 msgid "-mhard-float not supported" msgstr "no se admite -mhard-float" -@@ -5014,10 +5052,6 @@ +@@ -5014,10 +5051,6 @@ msgid "cannot use mshared and static together" msgstr "no se pueden usar mshared y static juntos" @@ -4080,33 +7540,34 @@ #: java/lang.opt:69 msgid "Warn if deprecated empty statements are found" msgstr "Avisa si se encuentran declaraciones vacías obsoletas" -@@ -5295,7 +5329,8 @@ +@@ -5295,8 +5328,8 @@ msgstr "Permite ancho de línea de carácter arbitrario en formato fijo" #: fortran/lang.opt:249 -msgid "-ffixed-line-length-\t\tUse n as character line width in fixed mode" -+#, fuzzy +-msgstr "-ffixed-line-length-\t\tUsa n como ancho de línea de carácter en modo fijo" +msgid "-ffixed-line-length-\tUse n as character line width in fixed mode" - msgstr "-ffixed-line-length-\t\tUsa n como ancho de línea de carácter en modo fijo" ++msgstr "-ffixed-line-length-\tUsa n como ancho de línea de carácter en modo fijo" #: fortran/lang.opt:253 -@@ -5311,7 +5346,8 @@ + msgid "-ffpe-trap=[...]\tStop on following floating point exceptions" +@@ -5311,8 +5344,8 @@ msgstr "Permite ancho de línea de carácter arbitrario en formato libre" #: fortran/lang.opt:265 -msgid "-ffree-line-length-\t\tUse n as character line width in free mode" -+#, fuzzy +-msgstr "-ffree-line-length-\t\tUsa n como ancho de línea de carácter en modo libre" +msgid "-ffree-line-length-\tUse n as character line width in free mode" - msgstr "-ffree-line-length-\t\tUsa n como ancho de línea de carácter en modo libre" ++msgstr "-ffree-line-length-\tUsa n como ancho de línea de carácter en modo libre" #: fortran/lang.opt:269 -@@ -5367,66 +5403,71 @@ + msgid "Specify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements" +@@ -5367,66 +5400,70 @@ msgstr "Trata de acomodar los tipos derivados tan compactos como sea posible" #: fortran/lang.opt:329 -+#, fuzzy +msgid "Protect parentheses in expressions" -+msgstr "se sugieren paréntesis alrededor de la expresión %<>>%>" ++msgstr "Protege paréntesis en las expresiones" + +#: fortran/lang.opt:333 msgid "Enable range checking during compilation" @@ -4187,13 +7648,12 @@ msgid "Accept extensions to support legacy code" msgstr "Acepta las extensiones para dar soporte a código de legado" -@@ -8917,742 +8958,748 @@ +@@ -8917,742 +8954,746 @@ msgstr "Avisa cuando hay conversiones de tipo implícitas que pueden cambiar un valor" #: c.opt:176 -+#, fuzzy +msgid "Warn for converting NULL from/to a non-pointer type" -+msgstr "se convierte NULL a un tipo que no es puntero" ++msgstr "Avisa cuando se convierte NULL de/a un tipo que no es puntero" + +#: c.opt:180 msgid "Warn for implicit type conversions between signed and unsigned integers" @@ -4871,10 +8331,10 @@ -#: c.opt:791 -msgid "-ftemplate-depth-\tSpecify maximum template instantiation depth" +-msgstr "-ftemplate-depth-\tEspecifica la profundidad máxima de instanciación de plantillas" +#: c.opt:798 -+#, fuzzy +msgid "-ftemplate-depth=\tSpecify maximum template instantiation depth" - msgstr "-ftemplate-depth-\tEspecifica la profundidad máxima de instanciación de plantillas" ++msgstr "-ftemplate-depth-\tEspecifica la profundidad máxima de instanciación de plantilla" -#: c.opt:798 +#: c.opt:805 @@ -5121,17 +8581,18 @@ msgid "Enable verbose output" msgstr "Activa la salida detallada" -@@ -9865,7 +9912,8 @@ +@@ -9865,8 +9906,8 @@ msgstr "-dumpbase \tEstablece el nombre base de fichero a usar para los volcados" #: common.opt:258 -msgid "-dumpdir \t\tSet the directory name to be used for dumps" -+#, fuzzy +-msgstr "-dumpdir \t\tEstablece el nombre del directorio a usar para los volcados" +msgid "-dumpdir \tSet the directory name to be used for dumps" - msgstr "-dumpdir \t\tEstablece el nombre del directorio a usar para los volcados" ++msgstr "-dumpdir \tEstablece el nombre del directorio a usar para los volcados" #: common.opt:284 -@@ -9977,8 +10025,8 @@ + msgid "Align the start of functions" +@@ -9977,8 +10018,8 @@ msgstr "Cuando se esté ejecutando CSE, sigue los saltos a sus objetivos" #: common.opt:419 common.opt:548 common.opt:769 common.opt:1011 @@ -5142,7 +8603,7 @@ msgid "Does nothing. Preserved for backward compatibility." msgstr "No hace nada. Preservado por compatibilidad hacia atrás." -@@ -10542,10 +10590,6 @@ +@@ -10542,10 +10583,6 @@ msgid "If scheduling post reload, do superblock scheduling" msgstr "Si se calendariza después de la recarga, hace la calendarización de superbloque" @@ -5153,7 +8614,7 @@ #: common.opt:1051 msgid "Reschedule instructions before register allocation" msgstr "Recalendariza las instrucciones antes del alojamiento de registros" -@@ -11015,27 +11059,27 @@ +@@ -11015,27 +11052,27 @@ msgid "Create a position independent executable" msgstr "Genera un ejecutable independiente de posición" @@ -5186,7 +8647,7 @@ #, gcc-internal-format msgid "type attributes ignored after type is already defined" msgstr "se descartan los atributos de tipo después de que el tipo ya se definió" -@@ -11075,118 +11119,118 @@ +@@ -11075,118 +11112,118 @@ msgid "invalid third argument to %<__builtin_prefetch%>; using zero" msgstr "el tercer argumento para %<__builtin_prefetch%> es inválido; se usa cero" @@ -5327,7 +8788,7 @@ #, gcc-internal-format msgid "wrong number of arguments to function %<__builtin_next_arg%>" msgstr "número erróneo de argumentos para la función %<__builtin_next_arg%>" -@@ -11196,37 +11240,37 @@ +@@ -11196,37 +11233,37 @@ #. argument. We just warn and set the arg to be the last #. argument so that we will get wrong-code because of #. it. @@ -5373,7 +8834,7 @@ msgid "%Kattempt to free a non-heap object" msgstr "%Kse intenta liberar un objeto que no es de pila" -@@ -11366,775 +11410,775 @@ +@@ -11366,775 +11403,775 @@ msgid "conversion to %qT from %qT may change the sign of the result" msgstr "la conversión de %qT desde %qT puede cambiar el signo del resultado" @@ -6315,7 +9776,7 @@ #, gcc-internal-format msgid "comparison of promoted ~unsigned with unsigned" msgstr "comparación de un ~unsigned promovido con unsigned" -@@ -12144,8 +12188,8 @@ +@@ -12144,8 +12181,8 @@ #. an unprototyped function, it is compile-time undefined; #. making it a constraint in that case was rejected in #. DR#252. @@ -6326,7 +9787,7 @@ #, 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" -@@ -12175,7 +12219,7 @@ +@@ -12175,7 +12212,7 @@ msgid "GCC supports only %u nested scopes" msgstr "GCC sólo admite %u ámbitos anidados" @@ -6335,7 +9796,7 @@ #, gcc-internal-format msgid "label %q+D used but not defined" msgstr "se usa la etiqueta %q+D pero no está definida" -@@ -12190,7 +12234,7 @@ +@@ -12190,7 +12227,7 @@ msgid "inline function %q+D declared but never defined" msgstr "se declara la función inline %q+D pero nunca se define" @@ -6344,7 +9805,7 @@ #, gcc-internal-format msgid "unused variable %q+D" msgstr "variable %q+D sin usar" -@@ -12200,7 +12244,7 @@ +@@ -12200,7 +12237,7 @@ msgid "type of array %q+D completed incompatibly with implicit initialization" msgstr "el tipo de la matriz %q+D se completó de forma incompatible con la inicialización implícita" @@ -6353,7 +9814,7 @@ #, gcc-internal-format msgid "originally defined here" msgstr "se definió originalmente aquí" -@@ -12262,7 +12306,7 @@ +@@ -12262,7 +12299,7 @@ msgid "built-in function %q+D declared as non-function" msgstr "la función interna %q+D no se declara como función" @@ -6362,7 +9823,7 @@ #, gcc-internal-format msgid "declaration of %q+D shadows a built-in function" msgstr "la declaración de %q+D oscurece una función interna" -@@ -12386,198 +12430,193 @@ +@@ -12386,198 +12423,193 @@ msgid "redundant redeclaration of %q+D" msgstr "redeclaración redundante de %q+D" @@ -6434,13 +9895,12 @@ msgstr "%qE no se declaró aquí (primer uso en esta función)" -#: c-decl.c:2951 --#, gcc-internal-format ++#: c-decl.c:2954 + #, gcc-internal-format -msgid "(Each undeclared identifier is reported only once" -msgstr "(Cada identificador sin declarar solamente se reporta una vez" -+#: c-decl.c:2954 -+#, fuzzy, gcc-internal-format +msgid "each undeclared identifier is reported only once for each function it appears in" -+msgstr "(Cada identificador sin declarar es reportado sólo una vez para cada función en el que aparece.)" ++msgstr "cada identificador sin declarar se reporta sólo una vez para cada función en el que aparece" -#: c-decl.c:2952 +#: c-decl.c:3004 cp/decl.c:2446 @@ -6602,7 +10062,7 @@ #, gcc-internal-format msgid "ISO C90 does not support %<[*]%> array declarators" msgstr "ISO C90 no admite declaradores de matriz %<[*]%>" -@@ -12585,283 +12624,283 @@ +@@ -12585,283 +12617,283 @@ #. C99 6.7.5.2p4 #. A function definition isn't function prototype scope C99 6.2.1p4. #. C99 6.7.5.2p4 @@ -6942,7 +10402,7 @@ #, gcc-internal-format msgid "function-scope %qE implicitly auto and declared %<__thread%>" msgstr "el ámbito de la función %qE es implícitamente auto y declarado %<__thread%>" -@@ -12869,577 +12908,577 @@ +@@ -12869,577 +12901,577 @@ #. Only the innermost declarator (making a parameter be of #. array type which is converted to pointer type) #. may have static or type qualifiers. @@ -7634,7 +11094,7 @@ #, 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" -@@ -13447,162 +13486,162 @@ +@@ -13447,162 +13479,162 @@ #. If we get here, declarations have been used in a for loop without #. the C99 for loop scope. This doesn't make much sense, so don't #. allow it. @@ -7829,7 +11289,7 @@ #, gcc-internal-format msgid "%q+F used but never defined" msgstr "se usa %q+F pero nunca se define" -@@ -14009,7 +14048,7 @@ +@@ -14009,7 +14041,7 @@ msgid "floating constant truncated to zero" msgstr "constante de coma flotante truncada a cero" @@ -7838,7 +11298,7 @@ #, gcc-internal-format msgid "unsupported non-standard concatenation of string literals" msgstr "no se admite la concatenación no estándar de literales de cadena" -@@ -14024,7 +14063,7 @@ +@@ -14024,7 +14056,7 @@ msgid "invalid expression type for %<#pragma omp atomic%>" msgstr "tipo de expresión inválido para %<#pragma omp atomic%>" @@ -7847,7 +11307,7 @@ #, gcc-internal-format msgid "invalid type for iteration variable %qE" msgstr "tipo inválido para la variable de iteración %qE" -@@ -14034,22 +14073,22 @@ +@@ -14034,22 +14066,22 @@ msgid "%qE is not initialized" msgstr "%qE no está inicializado" @@ -7874,7 +11334,7 @@ #, gcc-internal-format msgid "invalid increment expression" msgstr "expresión de incremento inválida" -@@ -14109,117 +14148,117 @@ +@@ -14109,117 +14141,117 @@ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)" msgstr "se renombró -fhandle-exceptions a -fexceptions (y ahora está activado por defecto)" @@ -8015,7 +11475,7 @@ #, gcc-internal-format msgid "too late for # directive to set debug directory" msgstr "demasiado tarde para que la directiva # establezca el directorio de depuración" -@@ -14277,7 +14316,7 @@ +@@ -14277,7 +14309,7 @@ msgid "expected identifier" msgstr "se esperaba un identificador" @@ -8024,7 +11484,7 @@ #, gcc-internal-format msgid "comma at end of enumerator list" msgstr "coma al final de la lista de enumeradores" -@@ -14352,7 +14391,7 @@ +@@ -14352,7 +14384,7 @@ msgid "wide string literal in %" msgstr "literal de cadena ancha en %" @@ -8033,7 +11493,7 @@ #, gcc-internal-format msgid "expected string literal" msgstr "se esperaba una cadena literal" -@@ -14402,7 +14441,7 @@ +@@ -14402,7 +14434,7 @@ msgid "expected %<}%> before %" msgstr "se esperaba %<}%> antes de %" @@ -8042,7 +11502,7 @@ #, gcc-internal-format msgid "% without a previous %" msgstr "% sin un % previo" -@@ -14436,12 +14475,12 @@ +@@ -14436,12 +14468,12 @@ msgid "expected statement" msgstr "se esperaba una declaración" @@ -8057,7 +11517,7 @@ #, gcc-internal-format msgid "suggest braces around empty body in an % statement" msgstr "se sugieren llaves alrededor del cuerpo vacío en una declaración %" -@@ -14511,37 +14550,37 @@ +@@ -14511,37 +14543,37 @@ msgid "extra semicolon in method definition specified" msgstr "se especificó un punto y coma extra en la definición del método" @@ -8102,7 +11562,7 @@ #, gcc-internal-format msgid "collapse argument needs positive constant integer expression" msgstr "el argumento de collapse necesita una expresión entera constante positiva" -@@ -14566,12 +14605,12 @@ +@@ -14566,12 +14598,12 @@ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>" msgstr "se esperaba %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, o %<||%>" @@ -8117,7 +11577,7 @@ #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "el calendarizador % no toma un parámetro %" -@@ -14586,7 +14625,7 @@ +@@ -14586,7 +14618,7 @@ msgid "expected %<#pragma omp%> clause" msgstr "se esperaba una cláusula %<#pragma omp%>" @@ -8126,7 +11586,7 @@ #, gcc-internal-format msgid "%qs is not valid for %qs" msgstr "%qs no es válido para %qs" -@@ -14606,7 +14645,7 @@ +@@ -14606,7 +14638,7 @@ msgid "for statement expected" msgstr "se esperaba una declaración for" @@ -8135,7 +11595,7 @@ #, gcc-internal-format msgid "expected iteration declaration or initialization" msgstr "se esperaba una declaración de iteración o una inicialización" -@@ -14616,12 +14655,12 @@ +@@ -14616,12 +14648,12 @@ msgid "not enough perfectly nested loops" msgstr "no hay suficientes ciclos perfectamente anidados" @@ -8150,7 +11610,7 @@ #, gcc-internal-format msgid "iteration variable %qD should not be firstprivate" msgstr "la variable de iteración %qD no debe ser firstprivate" -@@ -14631,17 +14670,17 @@ +@@ -14631,17 +14663,17 @@ msgid "%qD is not a variable" msgstr "%qD no es una variable" @@ -8171,7 +11631,7 @@ #, gcc-internal-format msgid "% %qE has incomplete type" msgstr "% %qE tiene tipo incompleto" -@@ -14651,52 +14690,52 @@ +@@ -14651,52 +14683,52 @@ msgid "can%'t create precompiled header %s: %m" msgstr "no se puede crear el encabezado precompilado %s: %m" @@ -8234,7 +11694,7 @@ #, gcc-internal-format msgid "%s: PCH file was invalid" msgstr "%s: el fichero PCH era inválido" -@@ -14996,7 +15035,7 @@ +@@ -14996,7 +15028,7 @@ msgid "%qD has an incomplete type" msgstr "%qD tiene un tipo de dato incompleto" @@ -8243,7 +11703,7 @@ #, gcc-internal-format msgid "invalid use of void expression" msgstr "uso inválido de la expresión void" -@@ -15062,7 +15101,7 @@ +@@ -15062,7 +15094,7 @@ msgid "function return types not compatible due to %" msgstr "los tipos de devolución de función no son compatibles debido a %" @@ -8252,7 +11712,7 @@ #, gcc-internal-format msgid "arithmetic on pointer to an incomplete type" msgstr "aritmética en puntero a un tipo de dato incompleto" -@@ -15102,12 +15141,12 @@ +@@ -15102,12 +15134,12 @@ msgid "invalid type argument of %<->%> (have %qT)" msgstr "argumento de tipo inválido de %<->%> (se tiene %qT)" @@ -8267,18 +11727,18 @@ #, gcc-internal-format msgid "array subscript is not an integer" msgstr "el subíndice de la matriz no es un entero" -@@ -15150,347 +15189,352 @@ +@@ -15150,347 +15182,352 @@ msgid "function with qualified void return type called" msgstr "se llamó a una función con tipo de devolución void calificado" -#: c-typeck.c:2852 +#: c-typeck.c:2820 c-typeck.c:3047 cp/typeck.c:3315 cp/typeck.c:3429 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "declared here" -+msgstr "%qD se declara aquí" ++msgstr "se declara aquí" + +#: c-typeck.c:2855 - #, gcc-internal-format ++#, gcc-internal-format msgid "type of formal parameter %d is incomplete" msgstr "el tipo de dato del parámetro formal %d está incompleto" @@ -8689,7 +12149,7 @@ #, gcc-internal-format msgid "enum conversion in assignment is invalid in C++" msgstr "conversión de enum en una asignación es inválido en C++" -@@ -15498,462 +15542,462 @@ +@@ -15498,462 +15535,462 @@ #. This macro is used to emit diagnostics to ensure that all format #. strings are complete sentences, visible to gettext and checked at #. compile time. @@ -9244,7 +12704,7 @@ #, gcc-internal-format msgid "C++ requires promoted type, not enum type, in %" msgstr "C++ requiere un tipo promovido, no un tipo enum, en %" -@@ -15963,17 +16007,17 @@ +@@ -15963,17 +16000,17 @@ msgid "function call has aggregate value" msgstr "la llamada a la función tiene valor agregado" @@ -9265,7 +12725,7 @@ #, gcc-internal-format msgid "not protecting function: no buffer at least %d bytes long" msgstr "no se protegen la función: no hay un almacenamiento temporal de por lo menos %d bytes de tamaño" -@@ -16378,7 +16422,7 @@ +@@ -16378,7 +16415,7 @@ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)" msgstr "el número de notas bb en la cadena insn (%d) != n_basic_blocks (%d)" @@ -9274,7 +12734,7 @@ #, gcc-internal-format msgid "%D renamed after being referenced in assembly" msgstr "se renombró %D después de ser referenciado en el ensamblado" -@@ -16493,57 +16537,57 @@ +@@ -16493,57 +16530,57 @@ msgid "edge points to same body alias:" msgstr "puntos de borde al mismo alias de cuerpo:" @@ -9343,7 +12803,7 @@ #, gcc-internal-format msgid "cannot find 'ldd'" msgstr "no se puede encontrar 'ldd'" -@@ -16568,32 +16612,32 @@ +@@ -16568,32 +16605,32 @@ msgid "conversion to incomplete type" msgstr "conversión a tipo de dato incompleto" @@ -9382,7 +12842,7 @@ #, gcc-internal-format msgid "aggregate value used where a fixed-point was expected" msgstr "se usó un valor agregado donde se esperaba uno de coma fija" -@@ -16688,7 +16732,7 @@ +@@ -16688,7 +16725,7 @@ msgid "common symbol debug info is not structured as symbol+offset" msgstr "la información de depuración de símbolos comunes no está estructurada como símbolo+desplazamiento" @@ -9391,7 +12851,7 @@ #, gcc-internal-format msgid "in %s, at %s:%d" msgstr "en %s, en %s:%d" -@@ -16703,16 +16747,21 @@ +@@ -16703,16 +16740,21 @@ msgid "dominator of %d should be %d, not %d" msgstr "el dominador de %d debería ser %d, no %d" @@ -9410,12 +12870,12 @@ +#: dwarf2out.c:12859 +#, gcc-internal-format +msgid "non-delegitimized UNSPEC %d found in variable location" -+msgstr "" ++msgstr "se encontró UNSPEC %d que no está delegitimado la ubicación de variable" + #: emit-rtl.c:2460 #, gcc-internal-format msgid "invalid rtl sharing found in the insn" -@@ -16743,57 +16792,57 @@ +@@ -16743,57 +16785,57 @@ msgid "exception handling disabled, use -fexceptions to enable" msgstr "manejo de excepciones desactivado, use -fexceptions para activar" @@ -9484,7 +12944,7 @@ #, gcc-internal-format msgid "verify_eh_tree failed" msgstr "falló verify_eh_tree" -@@ -16803,30 +16852,30 @@ +@@ -16803,30 +16845,30 @@ msgid "stack limits not supported on this target" msgstr "no se admiten límites de la pila en este objetivo" @@ -9521,7 +12981,7 @@ #, gcc-internal-format msgid "could not close final insn dump file %qs: %s" msgstr "no se puede cerrar el fichero de volcado de insn final %qs: %s" -@@ -16876,7 +16925,7 @@ +@@ -16876,7 +16918,7 @@ msgid "assuming signed overflow does not occur when combining constants around a comparison" msgstr "se asume que el desbordamiento con signo no ocurre cuando se combinan constantes alrededor de una comparación" @@ -9530,7 +12990,7 @@ #, gcc-internal-format msgid "fold check: original tree changed by fold" msgstr "fold check: el árbol original cambió por un pliegue" -@@ -16886,7 +16935,7 @@ +@@ -16886,7 +16928,7 @@ msgid "total size of local objects too large" msgstr "el tamaño total de los objetos locales es demasiado grande" @@ -9539,7 +12999,7 @@ #, gcc-internal-format msgid "impossible constraint in %" msgstr "restricción imposible en %" -@@ -16936,7 +16985,7 @@ +@@ -16936,7 +16978,7 @@ msgid "warning: -pipe ignored because -save-temps specified" msgstr "aviso: se descarta -pipe porque se especificó -save-temps" @@ -9548,7 +13008,7 @@ #, gcc-internal-format msgid "warning: '-x %s' after last input file has no effect" msgstr "aviso: '-x %s' después del último fichero de entrada no tiene efecto" -@@ -16944,87 +16993,87 @@ +@@ -16944,87 +16986,87 @@ #. Catch the case where a spec string contains something like #. '%{foo:%*}'. i.e. there is no * in the pattern on the left #. hand side of the :. @@ -9653,7 +13113,7 @@ #, gcc-internal-format msgid "%s: %s" msgstr "%s: %s" -@@ -17092,52 +17141,52 @@ +@@ -17092,52 +17134,52 @@ msgid "using result of function returning %" msgstr "se usa el resultado de una función que devuelve %" @@ -9716,7 +13176,7 @@ #, gcc-internal-format msgid "gimplification failed" msgstr "falló la gimplificación" -@@ -17147,7 +17196,7 @@ +@@ -17147,7 +17189,7 @@ msgid "can't open %s: %m" msgstr "no se puede abrir %s: %m" @@ -9725,7 +13185,7 @@ #, gcc-internal-format msgid "Graphite loop optimizations cannot be used" msgstr "No se pueden usar las optimizaciones de ciclo Graphite" -@@ -17223,27 +17272,27 @@ +@@ -17223,27 +17265,27 @@ msgid "bytecode stream: found non-null terminated string" msgstr "flujo de bytecode: se encontró una cadean que no está terminada en null" @@ -9758,7 +13218,7 @@ #, gcc-internal-format msgid "target specific builtin not available" msgstr "no está disponible la orden interna específica del objetivo" -@@ -17313,48 +17362,48 @@ +@@ -17313,48 +17355,48 @@ msgid "function %qD redeclared as variable" msgstr "la función %qD se redeclaró como variable" @@ -9816,7 +13276,7 @@ #, gcc-internal-format msgid "invalid branch to/from an OpenMP structured block" msgstr "ramificación inválida desde/para un bloque estructurado OpenMP" -@@ -17415,117 +17464,117 @@ +@@ -17415,117 +17457,117 @@ 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" @@ -9957,7 +13417,7 @@ #, gcc-internal-format msgid "-Werror=%s: No option -%s" msgstr "-Werror=%s: No existe la opción -%s" -@@ -17551,22 +17600,22 @@ +@@ -17551,22 +17593,22 @@ msgid "Invalid pass positioning operation" msgstr "Operación de posicionamiento de paso inválido" @@ -9984,7 +13444,7 @@ #, gcc-internal-format msgid "pass %qs not found but is referenced by new pass %qs" msgstr "no se encontró el paso %qs, pero está referenciado por el paso nuevo %qs" -@@ -17699,22 +17748,22 @@ +@@ -17699,22 +17741,22 @@ msgid "output operand %d must use %<&%> constraint" msgstr "el operando de salida %d debe usar la restricción %<&%>" @@ -10011,7 +13471,7 @@ #, gcc-internal-format msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)" msgstr "validate_value_data: [%u] Registro no vacío en la cadena (%s %u %i)" -@@ -17725,8 +17774,8 @@ +@@ -17725,8 +17767,8 @@ msgstr "no se puede usar '%s' como un registro %s" #: reginfo.c:834 config/ia64/ia64.c:5396 config/ia64/ia64.c:5403 @@ -10022,7 +13482,7 @@ #, gcc-internal-format msgid "unknown register name: %s" msgstr "nombre de registro desconocido: %s" -@@ -17766,42 +17815,42 @@ +@@ -17766,42 +17808,42 @@ msgid "inconsistent operand constraints in an %" msgstr "restricciones de operandos inconsistentes en un %" @@ -10073,7 +13533,7 @@ #, gcc-internal-format msgid "output operand is constant in %" msgstr "el operando de salida es constante en %" -@@ -17961,7 +18010,7 @@ +@@ -17961,7 +18003,7 @@ msgid "undefined named operand %qs" msgstr "operador %qs nombrado sin definir" @@ -10082,7 +13542,7 @@ #, gcc-internal-format msgid "value computed is not used" msgstr "no se usa el valor calculado" -@@ -17991,47 +18040,47 @@ +@@ -17991,47 +18033,47 @@ msgid "packed attribute causes inefficient alignment for %q+D" msgstr "el atributo packed causa una alineación ineficiente para %q+D" @@ -10139,7 +13599,7 @@ #, 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" -@@ -18151,652 +18200,652 @@ +@@ -18151,652 +18193,652 @@ msgid "type is deprecated" msgstr "el tipo es obsoleto" @@ -10922,7 +14382,7 @@ #, gcc-internal-format msgid "ignoring return value of function declared with attribute warn_unused_result" msgstr "se descarta el valor de devolución de la función declarada con atributo warn_unused_result" -@@ -18811,112 +18860,112 @@ +@@ -18811,112 +18853,112 @@ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>" msgstr "se descarta la opción desconocida %q.*s en %<-fdump-%s%>" @@ -11057,7 +14517,7 @@ #, gcc-internal-format msgid "called from here" msgstr "llamado desde aquí" -@@ -18951,7 +19000,7 @@ +@@ -18951,7 +18993,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" @@ -11066,7 +14526,7 @@ #: tree-ssa-coalesce.c:974 tree-ssa-coalesce.c:1196 tree-ssa-live.c:1184 #, gcc-internal-format msgid "SSA corruption" -@@ -19112,147 +19161,147 @@ +@@ -19112,147 +19154,147 @@ msgid "%qD may be used uninitialized in this function" msgstr "puede ser que se utilice %qD sin inicializar en esta función" @@ -11243,24 +14703,24 @@ #, gcc-internal-format msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" msgstr "revisión de árbol: acceso del operando %d de omp_clause %s con %d operandos en %s, en %s:%d" -@@ -19282,6 +19331,16 @@ +@@ -19282,6 +19324,16 @@ msgid "Corrupted value profile: %s profiler overall count (%d) does not match BB count (%d)" msgstr "Valor de perfil corrupto: %s la cuenta general del perfilador (%d) no coincide con la cuenta BB (%d)" +#: var-tracking.c:6051 +#, gcc-internal-format +msgid "variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without" -+msgstr "" ++msgstr "se excedió el límite de tamaño de rastreo de variable con -fvar-track-assignments, reintente sin esa opción" + +#: var-tracking.c:6055 +#, gcc-internal-format +msgid "variable tracking size limit exceeded" -+msgstr "" ++msgstr "se excedió el límite de tamaño de rastreo de variable" + #: varasm.c:580 #, gcc-internal-format msgid "%+D causes a section type conflict" -@@ -19292,132 +19351,132 @@ +@@ -19292,132 +19344,132 @@ msgid "alignment of %q+D is greater than maximum object file alignment. Using %d" msgstr "la alineación de %q+D es mayor que la alineación máxima del fichero objeto. Se usa %d" @@ -11419,7 +14879,7 @@ #, gcc-internal-format msgid "visibility attribute not supported in this configuration; ignored" msgstr "no se admiten los atributos de visibilidad en esta configuración; descartados" -@@ -19504,17 +19563,17 @@ +@@ -19504,17 +19556,17 @@ msgid "Unknown value %qs of -mmacosx-version-min" msgstr "Valor %qs desconocido de -mmacosx-version-min" @@ -11440,7 +14900,7 @@ #, gcc-internal-format msgid "internal and protected visibility attributes not supported in this configuration; ignored" msgstr "los atributos de visibilidad internal y protected no se admiten en esta configuración; se descartan" -@@ -19554,32 +19613,32 @@ +@@ -19554,32 +19606,32 @@ msgid "malformed %<#pragma init%>, ignoring" msgstr "'%<#pragma init%> malformado, se descarta" @@ -11479,7 +14939,7 @@ #, gcc-internal-format msgid "ignoring %<#pragma align%> for explicitly aligned %q+D" msgstr "se descarta %<#pragma align%> para %q+D que está alineado explícitamente" -@@ -19605,7 +19664,7 @@ +@@ -19605,7 +19657,7 @@ msgid "profiler support for VxWorks" msgstr "soporte de análisis de perfil para VxWorks" @@ -11488,7 +14948,7 @@ #, gcc-internal-format msgid "bad value %qs for -mtls-size switch" msgstr "valor %qs erróneo para el interruptor -mtls-size" -@@ -19640,11 +19699,16 @@ +@@ -19640,11 +19692,16 @@ msgid "bad value %qs for -mfp-trap-mode switch" msgstr "valor %qs erróneo para el interruptor -mfp-trap-mode" @@ -11499,14 +14959,14 @@ msgstr "valor %qs erróneo para el interruptor -mcpu" +#: config/alpha/alpha.c:391 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "bad value %qs for -mtune switch" -+msgstr "valor erróneo (%s) para la opción -mtune=" ++msgstr "valor erróneo %qs para la opción -mtune" + #: config/alpha/alpha.c:398 #, gcc-internal-format msgid "trap mode not supported on Unicos/Mk" -@@ -19680,8 +19744,8 @@ +@@ -19680,8 +19737,8 @@ msgid "bad value %qs for -mmemory-latency" msgstr "valor %qs erróneo para -mmemory-latency" @@ -11517,7 +14977,7 @@ #, gcc-internal-format msgid "bad builtin fcode" msgstr "fcode interno erróneo" -@@ -19701,7 +19765,7 @@ +@@ -19701,7 +19758,7 @@ msgid "switch -mcpu=%s conflicts with -march= switch" msgstr "el interruptor -mcpu=%s genera un conflicto con el interruptor -march=" @@ -11526,7 +14986,7 @@ #, gcc-internal-format msgid "bad value (%s) for %s switch" msgstr "valor erróneo (%s) para el interruptor %s" -@@ -19786,153 +19850,153 @@ +@@ -19786,153 +19843,153 @@ msgid "invalid floating point emulation option: -mfpe=%s" msgstr "opción de emulación de coma flotante inválida: -mfpe-%s" @@ -11716,7 +15176,7 @@ #, gcc-internal-format msgid "the mangling of % has changed in GCC 4.4" msgstr "la decodificación de % cambió en GCC 4.4" -@@ -19992,78 +20056,78 @@ +@@ -19992,78 +20049,78 @@ msgid "MCU %qs supported for assembler only" msgstr "MCU %qs sólo se admite para ensamblador" @@ -11811,7 +15271,7 @@ #, gcc-internal-format msgid "%qE attribute cannot be specified for local variables" msgstr "no se puede especificar el atributo %qE para las variables locales" -@@ -20292,417 +20356,417 @@ +@@ -20292,417 +20349,417 @@ msgid "can't set position in PCH file: %m" msgstr "no se puede establecer la posición en el fichero PCH: %m" @@ -12322,7 +15782,7 @@ #, gcc-internal-format msgid "vector permutation (%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d)" msgstr "permutación de vector (%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d)" -@@ -20780,14 +20844,14 @@ +@@ -20780,14 +20837,14 @@ msgid "%qE attribute requires a string constant argument" msgstr "el atributo %qE requiere una constante entera como argumento" @@ -12341,7 +15801,7 @@ #, gcc-internal-format msgid "%s-%s is an empty range" msgstr "%s-%s es un rango vacío" -@@ -20858,7 +20922,7 @@ +@@ -20858,7 +20915,7 @@ msgstr "no se admite el atributo %qE para el objetivo R8C" #. The argument must be a constant integer. @@ -12350,7 +15810,7 @@ #, gcc-internal-format msgid "%qE attribute argument not an integer constant" msgstr "el argumento del atributo %qE no es una constante entera" -@@ -20898,37 +20962,37 @@ +@@ -20898,37 +20955,37 @@ msgid "% attribute is already used" msgstr "el atributo % ya está en uso" @@ -12395,7 +15855,7 @@ #, gcc-internal-format msgid "stack limit expression is not supported" msgstr "no se admite la expresión del límite de la pila" -@@ -21058,152 +21122,152 @@ +@@ -21058,152 +21115,152 @@ msgid "unusual TP-relative address" msgstr "dirección relativa a TP inusual" @@ -12578,7 +16038,7 @@ #, gcc-internal-format msgid "unexpected %d byte cop instruction" msgstr "instrucción cop de %d byte inesperada" -@@ -21424,27 +21488,27 @@ +@@ -21424,27 +21481,27 @@ msgid "MMIX Internal: %s is not a shiftable int" msgstr "MMIX Interno: %s no es un int desplazable" @@ -12611,7 +16071,7 @@ #, gcc-internal-format msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u" msgstr "la alineación (%u) para %s excede la alineación máxima para los datos comunes globales. Se usará %u" -@@ -21604,323 +21668,323 @@ +@@ -21604,323 +21661,323 @@ msgid "junk at end of #pragma longcall" msgstr "basura al final de #pragma longcall" @@ -12999,7 +16459,7 @@ #, gcc-internal-format msgid "emitting conditional microcode insn %s\t[%s] #%d" msgstr "se emite el insn de microcódigo condicional %s\t[%s] #%d" -@@ -21974,7 +22038,7 @@ +@@ -21974,7 +22031,7 @@ msgid "-m64 not supported in this configuration" msgstr "no se admite -m64 en esta configuración" @@ -13008,7 +16468,7 @@ #, gcc-internal-format msgid "-m64 requires a PowerPC64 cpu" msgstr "-m64 requiere un procesador PowerPC64" -@@ -22149,17 +22213,17 @@ +@@ -22149,17 +22206,17 @@ msgid "total size of local variables exceeds architecture limit" msgstr "el tamaño total de las variables locales excede el límite de la arquitectura" @@ -13029,7 +16489,7 @@ #, gcc-internal-format msgid "%qs uses dynamic stack allocation" msgstr "%qs utiliza alojamiento dinámico de pila" -@@ -22169,58 +22233,58 @@ +@@ -22169,58 +22226,58 @@ msgid "-fPIC and -G are incompatible" msgstr "-fPIC y -G son incompatibles" @@ -13099,7 +16559,7 @@ #, gcc-internal-format msgid "Need a call-clobbered target register" msgstr "Se necesita un registro objetivo sobreescrito por llamada" -@@ -22270,22 +22334,22 @@ +@@ -22270,22 +22327,22 @@ msgid "-mrelax is only supported for RTP PIC" msgstr "-mrelax sólo se admite pare el PIC de RTP" @@ -13126,7 +16586,7 @@ #, gcc-internal-format msgid "-mcmodel= is not supported on 32 bit systems" msgstr "-mcmodel= no se admite en sistemas de 32 bit" -@@ -22295,12 +22359,12 @@ +@@ -22295,12 +22352,12 @@ msgid "insufficient arguments to overloaded function %s" msgstr "argumentos insuficientes para la función sobrecargada %s" @@ -13141,7 +16601,7 @@ #, gcc-internal-format msgid "parameter list does not match a valid signature for %s()" msgstr "la lista de parámetros no ofrece una firma válida para %s()" -@@ -22310,27 +22374,27 @@ +@@ -22310,27 +22367,27 @@ msgid "Unknown architecture '%s'" msgstr "Arquitectura desconocida '%s'" @@ -13174,7 +16634,7 @@ #, gcc-internal-format msgid "%d least significant bits of %s are ignored." msgstr "se descartan los %d bits menos significativos de %s." -@@ -22505,420 +22569,420 @@ +@@ -22505,420 +22562,420 @@ msgid "only uninitialized variables can be placed in a .bss section" msgstr "sólo las variables sin inicializar se pueden colocar en una sección .bss" @@ -13678,7 +17138,7 @@ #, gcc-internal-format msgid "invalid initialization of reference of type %qT from expression of type %qT" msgstr "inicialización inválida de la referencia de tipo %qT desde una expresión de tipo %qT" -@@ -23020,7 +23084,7 @@ +@@ -23020,7 +23077,7 @@ msgid " by %q+D" msgstr " por %q+D" @@ -13687,7 +17147,7 @@ #, 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" -@@ -23030,7 +23094,7 @@ +@@ -23030,7 +23087,7 @@ 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" @@ -13696,7 +17156,7 @@ #, gcc-internal-format msgid "private member %q+#D in anonymous union" msgstr "miembro privado %q+#D en union anónima" -@@ -23040,7 +23104,7 @@ +@@ -23040,7 +23097,7 @@ msgid "private member %q+#D in anonymous struct" msgstr "miembro privado %q+#D en struct anónimo" @@ -13705,7 +17165,7 @@ #, gcc-internal-format msgid "protected member %q+#D in anonymous union" msgstr "miembro protegido %q+#D en union anónima" -@@ -23187,97 +23251,97 @@ +@@ -23187,97 +23244,97 @@ 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" @@ -13822,7 +17282,7 @@ #, gcc-internal-format msgid "argument of type %qT does not match %qT" msgstr "el argumento de tipo %qT no coincide con %qT" -@@ -23287,12 +23351,12 @@ +@@ -23287,12 +23344,12 @@ #. A name N used in a class S shall refer to the same declaration #. in its context and when re-evaluated in the completed scope of #. S. @@ -13837,7 +17297,7 @@ #, gcc-internal-format msgid "changes meaning of %qD from %q+#D" msgstr "cambia el significado de %qD a partir de %q+#D" -@@ -23302,228 +23366,248 @@ +@@ -23302,228 +23359,248 @@ msgid "continue statement not within loop or switch" msgstr "la declaración continue no está dentro de un ciclo o switch" @@ -13867,27 +17327,27 @@ -#: cp/cvt.c:452 +#: cp/cvt.c:371 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "initialization of volatile reference type %q#T from rvalue of type %qT" -+msgstr "inicialización inválida de una referencia que no es constante de tipo %qT desde un r-valor de tipo %qT" ++msgstr "inicialización de un tipo de referencia volatile %q#T desde un r-valor de tipo %qT" + +#: cp/cvt.c:374 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "conversion to volatile reference type %q#T from rvalue of type %qT" -+msgstr "inicialización inválida de una referencia que no es constante de tipo %qT desde un r-valor de tipo %qT" ++msgstr "inicialización a un tipo de referencia volatile %q#T desde un r-valor de tipo %qT" + +#: cp/cvt.c:377 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "initialization of non-const reference type %q#T from rvalue of type %qT" -+msgstr "inicialización inválida de una referencia que no es constante de tipo %qT desde un r-valor de tipo %qT" ++msgstr "inicialización de un tipo de referencia que no es constante %q#T desde un r-valor de tipo %qT" + +#: cp/cvt.c:380 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "conversion to non-const reference type %q#T from rvalue of type %qT" -+msgstr "inicialización inválida de una referencia que no es constante de tipo %qT desde un r-valor de tipo %qT" ++msgstr "inicialización a un tipo de referencia que no es constante %q#T desde un r-valor de tipo %qT" + +#: cp/cvt.c:453 - #, gcc-internal-format ++#, gcc-internal-format msgid "conversion from %qT to %qT discards qualifiers" msgstr "la conversión de %qT a %qT descarta los calificadores" @@ -14131,7 +17591,7 @@ #, gcc-internal-format msgid "%q+D has a previous declaration as %q#D" msgstr "%q+D tiene una declaración previa como %q#D" -@@ -23535,63 +23619,63 @@ +@@ -23535,63 +23612,63 @@ #. A namespace-name defined at global scope shall not be #. declared as the name of any other entity in any global scope #. of the program. @@ -14207,7 +17667,7 @@ #, gcc-internal-format msgid "after previous declaration %q+D" msgstr "después de la declaración previa de %q+D" -@@ -23604,43 +23688,43 @@ +@@ -23604,43 +23681,43 @@ #. that specialization that would cause an implicit #. instantiation to take place, in every translation unit in #. which such a use occurs. @@ -14259,7 +17719,7 @@ #, gcc-internal-format msgid "%q+D redeclared inline without % attribute" msgstr "%q+D se redeclaró incluída en línea sin el atributo %" -@@ -23648,329 +23732,329 @@ +@@ -23648,329 +23725,329 @@ #. is_primary= #. is_partial= #. is_friend_decl= @@ -14654,7 +18114,7 @@ #, gcc-internal-format msgid "zero-size array %qD" msgstr "matriz %qD de tamaño cero" -@@ -23978,264 +24062,264 @@ +@@ -23978,264 +24055,264 @@ #. An automatic variable with an incomplete type: that is an error. #. Don't talk about array types here, since we took care of that #. message in grokdeclarator. @@ -14972,7 +18432,7 @@ #, gcc-internal-format msgid "no %q#D member function declared in class %qT" msgstr "no hay una función miembro %q#D declarada en la clase %qT" -@@ -24244,673 +24328,673 @@ +@@ -24244,673 +24321,673 @@ #. no linkage can only be used to declare extern "C" #. entities. Since it's not always an error in the #. ISO C++ 90 Standard, we only issue a warning. @@ -15779,7 +19239,7 @@ #, 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" -@@ -24927,133 +25011,133 @@ +@@ -24927,133 +25004,133 @@ #. the rest of the compiler does not correctly #. handle the initialization unless the member is #. static so we make it static below. @@ -15939,7 +19399,7 @@ #, gcc-internal-format msgid "parameter packs must be at the end of the parameter list" msgstr "los paquetes de parámetros deben estar al final de la lista de parámetros" -@@ -25073,165 +25157,165 @@ +@@ -25073,165 +25150,165 @@ #. 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. @@ -16137,7 +19597,7 @@ #, gcc-internal-format msgid "%qT referred to as enum" msgstr "se refirió a %qT como un enum" -@@ -25243,80 +25327,80 @@ +@@ -25243,80 +25320,80 @@ #. void f(class C); // No template header here #. #. then the required template argument is missing. @@ -16234,7 +19694,7 @@ #, 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" -@@ -25325,217 +25409,222 @@ +@@ -25325,217 +25402,222 @@ #. #. IF no integral type can represent all the enumerator values, the #. enumeration is ill-formed. @@ -16426,12 +19886,12 @@ -#: cp/decl2.c:890 +#: cp/decl2.c:917 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "invalid initializer for member function %qD" -+msgstr "valor inicial inválido para el miembro %qE" ++msgstr "inicializador inválido para la función miembro %qD" + +#: cp/decl2.c:923 - #, gcc-internal-format ++#, gcc-internal-format msgid "initializer specified for static member function %qD" msgstr "se especificó un inicializador para la función miembro static %qD" @@ -16500,7 +19960,7 @@ #, gcc-internal-format msgid "% must return type %qT" msgstr "% debe devolver el tipo %qT" -@@ -25544,107 +25633,114 @@ +@@ -25544,107 +25626,114 @@ #. #. The first parameter shall not have an associated default #. argument. @@ -16582,7 +20042,7 @@ +#: cp/decl2.c:4017 #, gcc-internal-format +msgid "converting lambda which uses %<...%> to function pointer" -+msgstr "" ++msgstr "se convierte lambda la cual usa %<...%> a un puntero de función" + +#: cp/decl2.c:4022 cp/search.c:1892 +#, gcc-internal-format @@ -16636,7 +20096,7 @@ #, gcc-internal-format msgid "defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x" msgstr "las funciones por defecto y borradas sólo están disponibles con -std=c++0x o -std=gnu++0x" -@@ -25905,7 +26001,7 @@ +@@ -25905,7 +25994,7 @@ msgid "bad array initializer" msgstr "inicializador de matriz erróneo" @@ -16645,7 +20105,7 @@ #, gcc-internal-format msgid "%qT is not a class type" msgstr "%qT no es un tipo de clase" -@@ -25955,7 +26051,7 @@ +@@ -25955,7 +26044,7 @@ msgid "no suitable %qD found in class %qT" msgstr "no se encontró un %qD adecuado en la clase %qT" @@ -16654,7 +20114,7 @@ #, gcc-internal-format msgid "request for member %qD is ambiguous" msgstr "la petición para el miembro %qD es ambigua" -@@ -26080,92 +26176,102 @@ +@@ -26080,93 +26169,103 @@ msgid "(if you use %<-fpermissive%>, G++ will accept your code, but allowing the use of an undeclared name is deprecated)" msgstr "(si utiliza %<-fpermissive%>, G++ aceptará su código, pero permitir el uso de un nombre sin declarar es obsoleto)" @@ -16698,7 +20158,7 @@ +#: cp/mangle.c:3071 #, gcc-internal-format +msgid "-fabi-version=4 (or =0) avoids this error with a change in vector mangling" -+msgstr "" ++msgstr "-fabi-version=4 (o =0) evita este error con un cambio en el manejo de vectores" + +#: cp/method.c:396 +#, gcc-internal-format @@ -16767,15 +20227,16 @@ -#: cp/method.c:1119 +#: cp/method.c:1081 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "%qD declared virtual cannot be defaulted in the class body" -+msgstr "%qD declarada explícitamente no se puede definir por defecto en el cuerpo de clase" ++msgstr "%qD declarada virtual no se puede definir por defecto en el cuerpo de clase" + +#: cp/method.c:1130 - #, gcc-internal-format ++#, 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" -@@ -26272,7 +26378,7 @@ + +@@ -26272,7 +26371,7 @@ msgid " using obsolete binding at %q+D" msgstr " se usa la asignación obsoleta en %q+D" @@ -16784,7 +20245,7 @@ #, gcc-internal-format msgid "(if you use %<-fpermissive%> G++ will accept your code)" msgstr "(si utiliza %<-fpermissive%>, G++ aceptará su código)" -@@ -26372,52 +26478,52 @@ +@@ -26372,52 +26471,52 @@ msgid "explicit qualification in declaration of %qD" msgstr "calificación explícita en la declaración de %qD" @@ -16847,7 +20308,7 @@ #, gcc-internal-format msgid "XXX leaving pop_everything ()\n" msgstr "XXX saliendo de pop_everything ()\n" -@@ -26427,577 +26533,607 @@ +@@ -26427,577 +26526,607 @@ msgid "making multiple clones of %qD" msgstr "se hacen múltiples clones de %qD" @@ -17065,14 +20526,14 @@ msgstr "se usa el nombre-de-definición-de-tipo %qD como un declarador de destructor" +#: cp/parser.c:4552 cp/parser.c:6165 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "types may not be defined in casts" -+msgstr "no se pueden definir tipos nuevos en un tipo de devolución" ++msgstr "los tipos no se pueden definir en conversiones" + +#: cp/parser.c:4615 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "types may not be defined in a % expression" -+msgstr "no se pueden definir tipos nuevos en un tipo de devolución" ++msgstr "no se pueden definir tipos en una expresión %" + #. Warn the user that a compound literal is not #. allowed in standard C++. @@ -17108,12 +20569,12 @@ -#: cp/parser.c:5964 +#: cp/parser.c:5852 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "types may not be defined in a new-type-id" -+msgstr "no se pueden definir tipos nuevos en un tipo de devolución" ++msgstr "no se pueden definir tipos en un id-tipo-nuevo" + +#: cp/parser.c:5976 - #, gcc-internal-format ++#, gcc-internal-format msgid "expression in new-declarator must have integral or enumeration type" msgstr "la expresión en el declarador-new debe tener un tipo integral o de enumeración" @@ -17177,9 +20638,9 @@ msgstr "%<%T::%D%> nombra el constructor, no el tipo" +#: cp/parser.c:8113 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "types may not be defined in conditions" -+msgstr "no se pueden definir tipos nuevos en un tipo de devolución" ++msgstr "no se pueden definir tipos en condiciones" + #. Issue a warning about this use of a GNU extension. -#: cp/parser.c:8455 @@ -17234,12 +20695,12 @@ -#: cp/parser.c:9771 +#: cp/parser.c:9523 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "types may not be defined in % expressions" -+msgstr "no se pueden definir tipos nuevos en un tipo de devolución" ++msgstr "no se pueden definir tipos en expresiones %" + +#: cp/parser.c:9778 - #, gcc-internal-format ++#, gcc-internal-format msgid "invalid use of % in conversion operator" msgstr "uso inválido de % en el operador de conversión" @@ -17450,12 +20911,12 @@ -#: cp/parser.c:15243 +#: cp/parser.c:15039 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "types may not be defined in parameter types" -+msgstr "no se pueden definir tipos nuevos en un tipo de devolución" ++msgstr "no se pueden definir tipos en tipos de parámetro" + +#: cp/parser.c:15257 - #, gcc-internal-format ++#, gcc-internal-format msgid "file ends in default argument" msgstr "el fichero termina en el argumento por defecto" @@ -17551,17 +21012,17 @@ -#: cp/parser.c:18289 +#: cp/parser.c:17229 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "types may not be defined in an exception-specification" -+msgstr "no se pueden definir tipos nuevos en un tipo de devolución" ++msgstr "no se pueden definir tipos en una especificación de excepción" + +#: cp/parser.c:17410 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "types may not be defined in exception-declarations" -+msgstr "no se pueden definir tipos nuevos en un tipo de devolución" ++msgstr "no se pueden definir tipos en declaraciones de excepción" + +#: cp/parser.c:18303 - #, gcc-internal-format ++#, gcc-internal-format msgid "specializing member %<%T::%E%> requires %%> syntax" msgstr "el miembro especializado %<%T::%E%> requiere sintaxis %%>" @@ -17576,7 +21037,7 @@ #, gcc-internal-format msgid "too few template-parameter-lists" msgstr "faltan listas-de-parámetros-de-plantilla" -@@ -27006,256 +27142,256 @@ +@@ -27006,256 +27135,256 @@ #. something like: #. #. template template void S::f(); @@ -17883,7 +21344,7 @@ #, gcc-internal-format msgid "%qD is not declared in %qD" msgstr "%qD no se declaró en %qD" -@@ -27268,102 +27404,129 @@ +@@ -27268,110 +27397,137 @@ #. program is ill-formed. #. #. Similar language is found in [temp.explicit]. @@ -17978,15 +21439,14 @@ msgstr "el argumento de plantilla %qE involucra a el(los) parámetro(s) de plantilla" -#: cp/pt.c:3947 --#, gcc-internal-format ++#: cp/pt.c:4022 + #, gcc-internal-format -msgid "type %qT of template argument %qE depends on template parameter(s)" -msgstr "el tipo %qT del argumento de plantilla %qE depende de el(los) parámetro(s) de plantilla" -+#: cp/pt.c:4022 -+#, fuzzy, gcc-internal-format +msgid "type %qT of template argument %qE depends on a template parameter" +msgid_plural "type %qT of template argument %qE depends on template parameters" -+msgstr[0] "el tipo %qT del argumento de plantilla %qE depende de el(los) parámetro(s) de plantilla" -+msgstr[1] "el tipo %qT del argumento de plantilla %qE depende de el(los) parámetro(s) de plantilla" ++msgstr[0] "el tipo %qT del argumento de plantilla %qE depende de un parámetro de plantilla" ++msgstr[1] "el tipo %qT del argumento de plantilla %qE depende de parámetros de plantilla" -#: cp/pt.c:4054 +#: cp/pt.c:4129 @@ -18008,35 +21468,35 @@ -#: cp/pt.c:4267 +#: cp/pt.c:4190 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "default template arguments may not be used in function template friend re-declaration" -+msgstr "no se permiten los argumentos por defecto en la declaración de la especialización friend de la plantilla %qD" ++msgstr "no se pueden usar los argumentos de plantilla por defecto en la re-declaración friend de la plantilla de función" + +#: cp/pt.c:4193 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "default template arguments may not be used in function template friend declarations" -+msgstr "no se permiten los argumentos por defecto en la declaración de la especialización friend de la plantilla %qD" ++msgstr "no se pueden usar los argumentos de plantilla por defecto en las declaraciones friend de la plantilla de función" + +#: cp/pt.c:4196 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "default template arguments may not be used in function templates without -std=c++0x or -std=gnu++0x" -+msgstr "las funciones por defecto y borradas sólo están disponibles con -std=c++0x o -std=gnu++0x" ++msgstr "los argumentos de plantilla por defecto no se pueden usar en las plantillas de función sin -std=c++0x o -std=gnu++0x" + +#: cp/pt.c:4199 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "default template arguments may not be used in partial specializations" -+msgstr "no se usan los parámetros de plantilla en la especialización parcial:" ++msgstr "no se pueden usar los argumentos de plantilla por defecto en las especializaciones parciales" + +#: cp/pt.c:4202 cp/pt.c:4253 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "default argument for template parameter for class enclosing %qD" -+msgstr "el argumento por defecto para el parámetro del tipo %qT tiene el tipo %qT" ++msgstr "argumento por defecto para el parámetro de plantilla para la clase incluyente %qD" + +#: cp/pt.c:4346 - #, gcc-internal-format ++#, gcc-internal-format msgid "template class without a name" msgstr "clase de plantilla sin nombre" -@@ -27371,7 +27534,7 @@ + #. [temp.mem] #. #. A destructor shall not be a member template. @@ -18045,7 +21505,7 @@ #, gcc-internal-format msgid "destructor %qD declared as member template" msgstr "se declaró el destructor %qD como una plantilla miembro" -@@ -27381,72 +27544,76 @@ +@@ -27381,72 +27537,76 @@ #. An allocation function can be a function #. template. ... Template allocation functions shall #. have two or more parameters. @@ -18110,26 +21570,24 @@ msgstr "no se especificaron los especificadores de plantilla en la declaración de %qD" -#: cp/pt.c:4613 --#, gcc-internal-format ++#: cp/pt.c:4693 + #, gcc-internal-format -msgid "redeclared with %d template parameter(s)" -msgstr "se redeclaró con %d parámetro(s) de plantilla" -+#: cp/pt.c:4693 -+#, fuzzy, gcc-internal-format +msgid "redeclared with %d template parameter" +msgid_plural "redeclared with %d template parameters" -+msgstr[0] "se redeclaró con %d parámetro(s) de plantilla" -+msgstr[1] "se redeclaró con %d parámetro(s) de plantilla" ++msgstr[0] "se redeclaró con %d parámetro de plantilla" ++msgstr[1] "se redeclaró con %d parámetros de plantilla" -#: cp/pt.c:4615 --#, gcc-internal-format ++#: cp/pt.c:4697 + #, gcc-internal-format -msgid "previous declaration %q+D used %d template parameter(s)" -msgstr "la declaración previa de %q+#D usó %d parámetro(s) de plantilla" -+#: cp/pt.c:4697 -+#, fuzzy, gcc-internal-format +msgid "previous declaration %q+D used %d template parameter" +msgid_plural "previous declaration %q+D used %d template parameters" -+msgstr[0] "la declaración previa de %q+#D usó %d parámetro(s) de plantilla" -+msgstr[1] "la declaración previa de %q+#D usó %d parámetro(s) de plantilla" ++msgstr[0] "la declaración previa de %q+#D usó %d parámetro de plantilla" ++msgstr[1] "la declaración previa de %q+#D usó %d parámetros de plantilla" -#: cp/pt.c:4649 +#: cp/pt.c:4734 @@ -18142,7 +21600,7 @@ #, gcc-internal-format msgid "redeclared here as %q#D" msgstr "redeclarado aquí como %q#D" -@@ -27455,219 +27622,219 @@ +@@ -27455,219 +27615,219 @@ #. #. A template-parameter may not be given default arguments #. by two different declarations in the same scope. @@ -18383,12 +21841,12 @@ msgstr "para la declaración de plantilla %q+D" -#: cp/pt.c:6918 --#, gcc-internal-format --msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD" +#: cp/pt.c:7060 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +-msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD" +-msgstr "la profundidad de instanciación de la plantilla excede el máximo de %d (use -ftemplate-depth-NN para incrementar el máximo) al instanciar %qD" +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-NN para incrementar el máximo) al instanciar %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:8184 +#: cp/pt.c:8326 @@ -18407,7 +21865,7 @@ #, gcc-internal-format msgid "instantiation of %q+D as type %qT" msgstr "instanciación de %q+D como tipo %qT" -@@ -27685,237 +27852,242 @@ +@@ -27685,237 +27845,242 @@ #. #. is an attempt to declare a variable with function #. type. @@ -18697,7 +22155,7 @@ #, gcc-internal-format msgid "duplicate explicit instantiation of %q#T" msgstr "instanciación explícita duplicada de %q#T" -@@ -27927,32 +28099,37 @@ +@@ -27927,32 +28092,37 @@ #. member function or static data member of a class template #. shall be present in every translation unit in which it is #. explicitly instantiated. @@ -18708,12 +22166,12 @@ msgstr "instanciación explícita de %qD pero no hay una definición disponible" -#: cp/pt.c:16754 --#, 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)" +#: cp/pt.c:16910 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +-msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth-NN to increase the maximum)" +-msgstr "la profundidad de instanciación de la plantilla excede el máximo de %d al instanciar %q+D, posiblemente de la generación de tabla virtual (use -ftemplate-depth-NN para incrementar el máximo)" +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-NN para incrementar el máximo)" ++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:17109 +#: cp/pt.c:17265 @@ -18729,12 +22187,12 @@ -#: cp/pt.c:18156 +#: cp/pt.c:18315 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "variable %q#D with % type used in its own initializer" -+msgstr "la variable %D de tipo % no debe ser inicializada" ++msgstr "se usó la variable %q#D con tipo % en su propio inicializador" + +#: cp/pt.c:18337 - #, gcc-internal-format ++#, gcc-internal-format msgid "unable to deduce %qT from %qE" msgstr "no se puede deducir %qT de %qE" @@ -18743,7 +22201,7 @@ #, gcc-internal-format msgid "inconsistent deduction for %qT: %qT and then %qT" msgstr "deducción inconsistente para %qT: %qT y después %qT" -@@ -28002,431 +28179,431 @@ +@@ -28002,431 +28172,431 @@ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)" msgstr "no se puede hacer dynamic_cast %qE (de tipo %q#T) al tipo %q#T (%s)" @@ -19260,7 +22718,7 @@ #, gcc-internal-format msgid "lang_* check: failed in %s, at %s:%d" msgstr "revisión lang_*: falló en %s, en %s:%d" -@@ -28476,445 +28653,440 @@ +@@ -28476,445 +28646,440 @@ msgid "conditional expression between distinct pointer-to-member types %qT and %qT lacks a cast" msgstr "la expresión condicional entre diferentes tipos de punteros-a-miembro %qT y %qT carece de una conversión" @@ -19481,12 +22939,12 @@ msgstr "no se puede usar %qE como una función" -#: cp/typeck.c:3303 --#, gcc-internal-format --msgid "too many arguments to %s %q+#D" +#: cp/typeck.c:3312 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +-msgid "too many arguments to %s %q+#D" +-msgstr "demasiados argumentos para %s %q+#D" +msgid "too many arguments to %s %q#D" - msgstr "demasiados argumentos para %s %q+#D" ++msgstr "demasiados argumentos para %s %q#D" -#: cp/typeck.c:3305 cp/typeck.c:3418 +#: cp/typeck.c:3318 @@ -19512,12 +22970,12 @@ msgstr "el parámetro %P tiene el tipo incompleto %qT" -#: cp/typeck.c:3416 --#, gcc-internal-format --msgid "too few arguments to %s %q+#D" +#: cp/typeck.c:3426 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +-msgid "too few arguments to %s %q+#D" +-msgstr "faltan argumentos para %s %q+#D" +msgid "too few arguments to %s %q#D" - msgstr "faltan argumentos para %s %q+#D" ++msgstr "faltan argumentos para %s %q#D" -#: cp/typeck.c:3421 +#: cp/typeck.c:3432 @@ -19797,7 +23255,7 @@ #, gcc-internal-format msgid "cast from %qT to %qT increases required alignment of target type" msgstr "la conversión de %qT a %qT incrementa la alineación requerida del tipo del destino" -@@ -28923,165 +29095,165 @@ +@@ -28923,165 +29088,165 @@ #. where possible, and it is necessary in some cases. DR 195 #. addresses this issue, but as of 2004/10/26 is still in #. drafting. @@ -19995,7 +23453,7 @@ #, gcc-internal-format msgid "% must not return NULL unless it is declared % (or -fcheck-new is in effect)" msgstr "% no debe regresar NULL a menos que se declare % (o -fcheck-new esté en efecto)" -@@ -29392,92 +29564,92 @@ +@@ -29392,92 +29557,92 @@ 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" @@ -20106,7 +23564,7 @@ #, 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" -@@ -29642,7 +29814,7 @@ +@@ -29642,7 +29807,7 @@ msgid "Iterator step at %L cannot be zero" msgstr "El paso de iterador en %L no puede ser cero" @@ -20115,7 +23573,7 @@ #, gcc-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" -@@ -30247,7 +30419,7 @@ +@@ -30247,7 +30412,7 @@ # como `apuntado'. cfuga # Referencia: http://gcc.gnu.org/onlinedocs/gfortran/Cray-pointers.html # @@ -20124,7 +23582,7 @@ #, gcc-internal-format msgid "Duplicate array spec for Cray pointee at %C" msgstr "Especificación de matriz duplicada para el apuntado Cray en %C" -@@ -30287,7 +30459,7 @@ +@@ -30287,7 +30452,7 @@ msgid "Pointer initialization at %C requires '=>', not '='" msgstr "La inicialización de puntero en %C requiere '=>', no '='" @@ -20133,7 +23591,7 @@ #, gcc-internal-format msgid "Expected an initialization expression at %C" msgstr "Se esperaba una expresión de inicialización en %C" -@@ -30458,7 +30630,7 @@ +@@ -30458,7 +30623,7 @@ msgid "Fortran 2003: ASYNCHRONOUS attribute at %C" msgstr "Fortran 2003: Atributo ASYNCHRONOUS en %C" @@ -20142,7 +23600,7 @@ #, gcc-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" -@@ -30582,7 +30754,7 @@ +@@ -30582,7 +30747,7 @@ msgid "Unexpected junk after function declaration at %C" msgstr "Basura inesperada después de la declaración de la función en %C" @@ -20151,7 +23609,7 @@ #, gcc-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" -@@ -30627,7 +30799,7 @@ +@@ -30627,7 +30792,7 @@ msgid "Syntax error in PROCEDURE statement at %C" msgstr "Error sintáctico en la declaración PROCEDURE en %C" @@ -20160,7 +23618,7 @@ #, gcc-internal-format msgid "Expected '::' after binding-attributes at %C" msgstr "Se esperaba '::' después de los atributos de enlace en %C" -@@ -30663,8 +30835,8 @@ +@@ -30663,8 +30828,8 @@ msgstr "Se esperaba una lista de argumentos formales en la definición de la función en %C" #: fortran/decl.c:4737 fortran/decl.c:4741 fortran/decl.c:4940 @@ -20171,7 +23629,7 @@ #, gcc-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" -@@ -30729,550 +30901,550 @@ +@@ -30729,550 +30894,550 @@ 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" @@ -20831,7 +24289,7 @@ #, gcc-internal-format msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C" msgstr "Error sintáctico en la declaración !GCC$ ATTRIBUTES en %C" -@@ -31287,367 +31459,362 @@ +@@ -31287,367 +31452,362 @@ msgid "INTENT(%s) actual argument at %L might interfere with actual argument at %L." msgstr "El argumento actual INTENT(%s) en %L puede interferir con el argumento actual en %L." @@ -21270,7 +24728,7 @@ #, gcc-internal-format msgid "Pointer assignment target has PROTECTED attribute at %L" msgstr "El objetivo de asignación de puntero tiene atributo PROTECTED en %L" -@@ -31662,412 +31829,412 @@ +@@ -31662,412 +31822,412 @@ msgid "can't open input file: %s" msgstr "no se puede abrir el fichero de entrada: %s" @@ -21765,7 +25223,7 @@ #, gcc-internal-format msgid "'%s' declared at %L is also the name of an intrinsic. It can only be called via an explicit interface or if declared EXTERNAL." msgstr "'%s' declarado en %L es también el nombre de un intrínseco. Sólo se puede llamar a través de una interfaz explícita o si se declara EXTERNAL." -@@ -32453,7 +32620,7 @@ +@@ -32453,7 +32613,7 @@ msgstr "No se puede escribir a la unidad de fichero interna '%s' en %C dentro de un procedimiento PURE" #. A general purpose syntax error. @@ -21774,7 +25232,7 @@ #, gcc-internal-format msgid "Syntax error in %s statement at %C" msgstr "Error sintáctico en la declaración %s en %C" -@@ -33093,134 +33260,134 @@ +@@ -33093,134 +33253,134 @@ msgid "Error writing modules file: %s" msgstr "Error al escribir el fichero de módulos: %s" @@ -21935,7 +25393,7 @@ #, gcc-internal-format msgid "Can't USE the same module we're building!" msgstr "¡No se puede hacer USE del mismo módulo que estamos construyendo!" -@@ -33255,7 +33422,7 @@ +@@ -33255,7 +33415,7 @@ msgid "Syntax error in !$OMP THREADPRIVATE list at %C" msgstr "Error sintáctico en la lista !$OMP THREADPRIVATE en %C" @@ -21944,7 +25402,7 @@ #, gcc-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" -@@ -33456,102 +33623,102 @@ +@@ -33456,102 +33616,102 @@ msgid "not enough DO loops for collapsed !$OMP DO at %L" msgstr "no hay suficientes ciclos DO para los !$OMP DO colapsados en %L" @@ -22067,7 +25525,7 @@ #, gcc-internal-format msgid "Maximum subrecord length cannot exceed %d" msgstr "La longitud de subregistro máxima no puede exceder a %d" -@@ -34204,7 +34371,7 @@ +@@ -34204,7 +34364,7 @@ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure" msgstr "No se permite el procedimiento de prueba en %L en un procedimiento ELEMENTAL" @@ -22076,18 +25534,18 @@ #, gcc-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" -@@ -34369,640 +34536,645 @@ +@@ -34369,640 +34529,645 @@ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET" msgstr "El elemento en el constructor de tipo derivado en %L, para el componente puntero '%s', debe ser un POINTER o un TARGET" -#: fortran/resolve.c:1042 +#: fortran/resolve.c:930 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "Invalid expression in the derived type constructor for pointer component '%s' at %L in PURE procedure" -+msgstr "El elemento en el constructor de tipo derivado en %L, para el componente puntero '%s', es %s pero debería ser %s" ++msgstr "Expresión inválida en el constructor de tipo derivado para el componente puntero '%s' en %L en el procedimiento PURE" + +#: fortran/resolve.c:1052 - #, gcc-internal-format ++#, gcc-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" @@ -22848,7 +26306,7 @@ #, gcc-internal-format msgid "Allocate-object at %L also appears at %L" msgstr "El objeto de alojamiento en %L también aparece en %L" -@@ -35011,107 +35183,107 @@ +@@ -35011,107 +35176,107 @@ #. 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. @@ -22977,7 +26435,7 @@ #, gcc-internal-format msgid "Branch at %L may result in an infinite loop" msgstr "La ramificación en %L puede resultar en un ciclo infinito" -@@ -35119,893 +35291,893 @@ +@@ -35119,893 +35284,893 @@ #. 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. @@ -23146,7 +26604,7 @@ -msgid "CHARACTER variable has zero length at %L" -msgstr "La variable CHARACTER es de longitud cero en %L" +msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero" -+msgstr "" ++msgstr "La variable CHARACTER en %L tiene longitud negativa %d, la longitud se estableció a cero" -#: fortran/resolve.c:8573 +#: fortran/resolve.c:8599 @@ -23190,7 +26648,7 @@ -msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component" -msgstr "El objeto '%s' en %L debe tener el atributo SAVE para la inicialización por defecto de un componente" +msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization" -+msgstr "" ++msgstr "Fortran 2008: SAVE implícito para la variable de módulo '%s' en %L, se necesita por la inicialización por defecto" -#: fortran/resolve.c:8950 +#: fortran/resolve.c:8975 @@ -24052,7 +27510,7 @@ #, gcc-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" -@@ -36310,313 +36482,313 @@ +@@ -36310,313 +36475,313 @@ 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" @@ -24427,7 +27885,7 @@ #, gcc-internal-format msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)" msgstr "El componente '%s' en el tipo derivado '%s' en %L tal vez no es interoperable con C, aún cuando el tipo derivado '%s' es BIND(C)" -@@ -36624,32 +36796,32 @@ +@@ -36624,32 +36789,32 @@ #. If derived type is param to bind(c) routine, or to one #. of the iso_c_binding procs, it must be interoperable, so #. all fields must interop too. @@ -24466,7 +27924,7 @@ #, gcc-internal-format msgid "'%s' of '%s' is PRIVATE at %L" msgstr "'%s' de '%s' es PRIVATE en %L" -@@ -36664,30 +36836,30 @@ +@@ -36664,30 +36829,30 @@ 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)" @@ -24503,7 +27961,7 @@ #, gcc-internal-format msgid "bad expression type during walk (%d)" msgstr "tipo de expresión errónea durante la caminata (%d)" -@@ -36697,58 +36869,58 @@ +@@ -36697,58 +36862,58 @@ msgid "Named COMMON block '%s' at %L shall be of the same size" msgstr "El bloque COMMON nombrado '%s' en %L debe ser del mismo tamaño" @@ -24573,7 +28031,7 @@ #, gcc-internal-format msgid "COMMON at %L requires %d bytes of padding at start; reorder elements or use -fno-align-commons" msgstr "El COMMON en %L requiere %d bytes de relleno al inicio; reordene los elementos o use -fno-align-commons" -@@ -36768,52 +36940,52 @@ +@@ -36768,52 +36933,52 @@ msgid "non-constant initialization expression at %L" msgstr "expresión de inicialización que no es constante en %L" @@ -24636,7 +28094,7 @@ #, gcc-internal-format msgid "Unknown argument list function at %L" msgstr "Lista de argumentos de función desconocida en %L" -@@ -36828,12 +37000,12 @@ +@@ -36828,12 +36993,12 @@ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index" msgstr "el argumento 'dim' del intrínseco '%s' en %L no es un índice de dimensión válido" @@ -24651,7 +28109,7 @@ #, gcc-internal-format msgid "Bad IO basetype (%d)" msgstr "Tipo base ES erróneo (%d)" -@@ -36848,27 +37020,27 @@ +@@ -36848,27 +37013,27 @@ msgid "An alternate return at %L without a * dummy argument" msgstr "Una devolución alternativa en %L sin un argumento dummy *" @@ -24684,7 +28142,7 @@ #, gcc-internal-format msgid "gfc_trans_code(): Bad statement code" msgstr "gfc_trans_code(): Código de declaración erróneo" -@@ -37155,12 +37327,12 @@ +@@ -37155,12 +37320,12 @@ msgid "bad pc in exception_table" msgstr "pc erróneo en exception_table" @@ -24699,7 +28157,7 @@ #, gcc-internal-format msgid "two or more sections for %s:" msgstr "dos o más tipos secciones para %s:" -@@ -37168,126 +37340,121 @@ +@@ -37168,126 +37333,121 @@ #. Initialize the section header of section SCN. SH_NAME is the section name #. as an index into the section header string table. SH_TYPE is the section #. type, an SHT_* macro from libelf headers. @@ -24849,7 +28307,7 @@ #, gcc-internal-format msgid "elf_update() failed: %s" msgstr "falló elf_update(): %s" -@@ -37452,204 +37619,204 @@ +@@ -37452,204 +37612,204 @@ msgid "protocol %qE has circular dependency" msgstr "el protocolo %qE tiene una dependencia circular" @@ -25096,7 +28554,7 @@ #, gcc-internal-format msgid "undeclared selector %qE" msgstr "selector %qE sin declarar" -@@ -37663,169 +37830,169 @@ +@@ -37663,169 +37823,169 @@ #. to an instance variable. It's better to catch the cases #. where this is done unknowingly than to support the above #. paradigm. @@ -25299,7 +28757,7 @@ #, gcc-internal-format msgid "local declaration of %qE hides instance variable" msgstr "la declaración local de %qE oculta la variable de instancia" -@@ -37870,6 +38037,33 @@ +@@ -37870,6 +38030,33 @@ msgid "invalid element type for attribute %qs" msgstr "tipo de elemento inválido para el atributo %qs" @@ -25333,7 +28791,7 @@ #~ msgid "GMP version %s, MPFR version %s\n" #~ msgstr "GMP versión %s, MPFR versión %s\n" -@@ -39692,9 +39886,6 @@ +@@ -39692,9 +39879,6 @@ #~ msgid "bf561 support is incomplete yet." #~ msgstr "el soporte para bf561 aún está incompleto." @@ -25343,7 +28801,7 @@ #~ msgid "bad value (%s) for -masm= switch" #~ msgstr "valor erróneo (%s) para el interruptor -masm=" -@@ -43597,9 +43788,6 @@ +@@ -43597,9 +43781,6 @@ #~ msgid "`%D' undeclared (first use this function)" #~ msgstr "`%D' sin declarar (primer uso en esta función)" @@ -73607,7 +77065,19 @@ =================================================================== --- a/src/gcc/po/ChangeLog (.../tags/gcc_4_5_0_release) +++ b/src/gcc/po/ChangeLog (.../branches/gcc-4_5-branch) -@@ -1,3 +1,12 @@ +@@ -1,3 +1,24 @@ ++2010-05-01 Joseph Myers ++ ++ * sv.po: Update. ++ ++2010-04-26 Joseph Myers ++ ++ * sv.po: Update. ++ ++2010-04-20 Joseph Myers ++ ++ * es.po: Update. ++ +2010-04-19 Joseph Myers + + * zh_CN.po: Update. @@ -193880,18 +197350,23 @@ =================================================================== --- a/src/gcc/po/sv.po (.../tags/gcc_4_5_0_release) +++ b/src/gcc/po/sv.po (.../branches/gcc-4_5-branch) -@@ -10,7 +10,7 @@ +@@ -8,71 +8,72 @@ + # + msgid "" msgstr "" - "Project-Id-Version: gcc 4.5-b20100204\n" +-"Project-Id-Version: gcc 4.5-b20100204\n" ++"Project-Id-Version: gcc 4.5.0\n" "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n" -"POT-Creation-Date: 2010-02-04 16:20+0000\n" +-"PO-Revision-Date: 2010-02-21 17:01+0100\n" +"POT-Creation-Date: 2010-04-06 14:11+0000\n" - "PO-Revision-Date: 2010-02-21 17:01+0100\n" ++"PO-Revision-Date: 2010-05-01 17:06+0200\n" "Last-Translator: Göran Uddeborg \n" "Language-Team: Swedish \n" -@@ -18,61 +18,61 @@ + "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: c-decl.c:4569 c-pretty-print.c:403 c-typeck.c:5558 toplev.c:1648 +#: c-decl.c:4573 c-pretty-print.c:403 c-typeck.c:5590 toplev.c:1652 @@ -193965,7 +197440,7 @@ msgid "the ''' printf flag" msgstr "printf-flaggan \"'\"" -@@ -85,34 +85,34 @@ +@@ -85,34 +86,34 @@ msgstr "printf-flaggan \"I\"" #: c-format.c:370 c-format.c:392 c-format.c:447 c-format.c:470 c-format.c:497 @@ -194008,7 +197483,7 @@ msgid "length modifier in printf format" msgstr "längdmodifierare i printf-format" -@@ -124,19 +124,19 @@ +@@ -124,19 +125,19 @@ msgid "the 'q' diagnostic flag" msgstr "diagnostikflaggan \"q\"" @@ -194032,7 +197507,7 @@ msgid "the 'a' scanf flag" msgstr "scanf-flaggan \"a\"" -@@ -148,15 +148,15 @@ +@@ -148,15 +149,15 @@ msgid "the 'm' scanf flag" msgstr "scanf-flaggan \"m\"" @@ -194051,7 +197526,7 @@ msgid "the ''' scanf flag" msgstr "scanf-flaggan \"'\"" -@@ -188,7 +188,7 @@ +@@ -188,7 +189,7 @@ msgid "the '^' strftime flag" msgstr "strftime-flaggan \"^\"" @@ -194060,7 +197535,7 @@ msgid "the '#' strftime flag" msgstr "strftime-flaggan \"#\"" -@@ -284,12 +284,12 @@ +@@ -284,12 +285,12 @@ msgid "({anonymous})" msgstr "({anonym})" @@ -194075,7 +197550,7 @@ msgid "" msgstr "" -@@ -413,60 +413,60 @@ +@@ -413,60 +414,60 @@ msgid "" msgstr "" @@ -194150,7 +197625,7 @@ #, gcc-internal-format msgid "initializer element is not computable at load time" msgstr "initierarelement är inte beräkningsbart vid laddtidpunkt" -@@ -475,117 +475,117 @@ +@@ -475,117 +476,117 @@ #. of VLAs themselves count as VLAs, it does not make #. sense to permit them to be initialized given that #. ordinary VLAs may not be initialized. @@ -194296,7 +197771,7 @@ msgid "excess elements in scalar initializer" msgstr "överflödiga element i skalärinitierare" -@@ -605,98 +605,104 @@ +@@ -605,98 +606,104 @@ msgid "return not followed by barrier" msgstr "retur inte följt av en barriär" @@ -194343,37 +197818,34 @@ msgstr "collect2 version %s" -#: collect2.c:1812 --#, c-format ++#: collect2.c:1823 + #, c-format -msgid "%d constructor(s) found\n" -msgstr "%d konstruerare hittad(e)\n" -+#: collect2.c:1823 -+#, fuzzy, c-format +msgid "%d constructor found\n" +msgid_plural "%d constructors found\n" -+msgstr[0] "%d konstruerare hittad(e)\n" -+msgstr[1] "%d konstruerare hittad(e)\n" ++msgstr[0] "%d konstruerare hittad\n" ++msgstr[1] "%d konstruerare hittade\n" -#: collect2.c:1813 --#, c-format ++#: collect2.c:1827 + #, c-format -msgid "%d destructor(s) found\n" -msgstr "%d destruerare hittad(e)\n" -+#: collect2.c:1827 -+#, fuzzy, c-format +msgid "%d destructor found\n" +msgid_plural "%d destructors found\n" -+msgstr[0] "%d destruerare hittad(e)\n" -+msgstr[1] "%d destruerare hittad(e)\n" ++msgstr[0] "%d destruerare hittad\n" ++msgstr[1] "%d destruerare hittade\n" -#: collect2.c:1814 --#, c-format ++#: collect2.c:1831 + #, c-format -msgid "%d frame table(s) found\n" -msgstr "%d ramtabell(er) hittade\n" -+#: collect2.c:1831 -+#, fuzzy, c-format +msgid "%d frame table found\n" +msgid_plural "%d frame tables found\n" -+msgstr[0] "%d ramtabell(er) hittade\n" -+msgstr[1] "%d ramtabell(er) hittade\n" ++msgstr[0] "%d ramtabell hittad\n" ++msgstr[1] "%d ramtabeller hittade\n" -#: collect2.c:1965 lto-wrapper.c:175 +#: collect2.c:1985 lto-wrapper.c:175 @@ -194429,7 +197901,7 @@ #, c-format msgid "" "\n" -@@ -705,32 +711,32 @@ +@@ -705,32 +712,32 @@ "\n" "write_c_file - utdatanamn är %s, prefix är %s\n" @@ -194468,7 +197940,7 @@ #, c-format msgid "" "\n" -@@ -739,27 +745,27 @@ +@@ -739,27 +746,27 @@ "\n" "ldd-utdata med konstruerare/destruerare.\n" @@ -194501,7 +197973,7 @@ #, c-format msgid "library lib%s not found" msgstr "biblioteket lib%s finns inte" -@@ -774,12 +780,12 @@ +@@ -774,12 +781,12 @@ msgid "too many input files" msgstr "för många indatafiler" @@ -194516,7 +197988,7 @@ #, c-format msgid "" "Please submit a full bug report,\n" -@@ -790,64 +796,64 @@ +@@ -790,64 +797,64 @@ "om möjligt med preprocessad källfil.\n" "Se %s för instruktioner.\n" @@ -194594,7 +198066,7 @@ #, c-format msgid "'%%l' operand isn't a label" msgstr "'%%l'-operand är inte en etikett" -@@ -858,13 +864,13 @@ +@@ -858,13 +865,13 @@ #. handle them. #. We can't handle floating point constants; #. PRINT_OPERAND must handle them. @@ -194610,7 +198082,7 @@ #: config/pdp11/pdp11.c:1729 #, c-format msgid "invalid expression as operand" -@@ -943,7 +949,7 @@ +@@ -943,7 +950,7 @@ msgid "spec file has no spec for linking" msgstr "specfilen har ingen spec för länkning" @@ -194619,7 +198091,7 @@ #, c-format msgid "%s\n" msgstr "%s\n" -@@ -1281,120 +1287,120 @@ +@@ -1281,120 +1288,120 @@ msgid "argument to '-x' is missing" msgstr "argument till \"-x\" saknas" @@ -194763,7 +198235,7 @@ #, c-format msgid "" "\n" -@@ -1405,16 +1411,16 @@ +@@ -1405,16 +1412,16 @@ ".\n" "För felrapporteringsinstruktioner i övrigt, se:\n" @@ -194783,7 +198255,7 @@ #, c-format msgid "" "This is free software; see the source for copying conditions. There is NO\n" -@@ -1426,57 +1432,57 @@ +@@ -1426,57 +1433,57 @@ "SPECIELLT ÄNDAMÅL.\n" "\n" @@ -194852,7 +198324,7 @@ #, c-format msgid "" "\n" -@@ -1489,7 +1495,7 @@ +@@ -1489,7 +1496,7 @@ "================\n" "\n" @@ -194861,7 +198333,7 @@ #, c-format msgid "" "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n" -@@ -1498,52 +1504,52 @@ +@@ -1498,52 +1505,52 @@ "Använd \"-Wl,FLAGGA\" för att skicka \"FLAGGA\" till länkaren.\n" "\n" @@ -194924,7 +198396,7 @@ #, c-format msgid "" "Assembler options\n" -@@ -1554,34 +1560,34 @@ +@@ -1554,34 +1561,34 @@ "================\n" "\n" @@ -194965,7 +198437,7 @@ #, c-format msgid "argument to %%:compare-debug-auxbase-opt does not end in .gk" msgstr "argumentet till %%:compare-debug-auxbase-opt slutar inte i .gk" -@@ -2001,7 +2007,7 @@ +@@ -2001,7 +2008,7 @@ msgid "%s terminated with signal %d [%s]" msgstr "%s terminerade med signal %d [%s]" @@ -194974,7 +198446,7 @@ #, gcc-internal-format msgid "%s returned %d exit status" msgstr "%s returnerade avslutningsstatus %d" -@@ -2036,79 +2042,79 @@ +@@ -2036,79 +2043,79 @@ msgid "This switch lacks documentation" msgstr "Denna flagga saknar dokumentation" @@ -195072,7 +198544,7 @@ #, c-format msgid "warning: unrecognized argument to --help= option: %.*s\n" msgstr "varning: okänt argument till --help=-flagga: %.*s\n" -@@ -2125,21 +2131,21 @@ +@@ -2125,21 +2132,21 @@ msgid "unable to generate reloads for:" msgstr "kan inte generera omläsningar för:" @@ -195098,7 +198570,7 @@ msgid "Failure trying to reload:" msgstr "Misslyckande vid omläsningsförsök:" -@@ -2204,7 +2210,7 @@ +@@ -2204,7 +2211,7 @@ msgid "unrecoverable error" msgstr "fel som inte går att återhämta ifrån" @@ -195107,7 +198579,7 @@ #, c-format msgid "" "%s%s%s %sversion %s (%s)\n" -@@ -2213,57 +2219,57 @@ +@@ -2213,57 +2220,57 @@ "%s%s%s %sversion %s (%s)\n" "%s\tkompilerad med GNU C version %s, " @@ -195177,15 +198649,14 @@ msgid "assuming signed overflow does not occur when simplifying ==, != or ! to identity or ^" msgstr "antar att teckenspill inte förekommer vid förenkling av ==, != eller ! till identitet eller ^" -@@ -2521,320 +2527,338 @@ +@@ -2521,320 +2528,336 @@ msgid "The maximum number of insns of a peeled loop that rolls only once" msgstr "Det maximala antalet instruktioner i en avskalad slinga som bara snurrar en gång" -#: params.def:273 +#: params.def:272 -+#, fuzzy +msgid "The maximum depth of a loop nest we completely peel" -+msgstr "Det maximala antalet instruktioner i en helt avskalad slinga" ++msgstr "Det maximala djupet av nästade slingor som vi skalar helt" + +#: params.def:278 msgid "The maximum number of insns of an unswitched loop" @@ -195554,13 +199025,12 @@ -#: params.def:747 +#: params.def:752 -+#, fuzzy +msgid "maximum number of parameters in a SCoP" -+msgstr "maximumvärde på parameter %qs är %u" ++msgstr "maximalt antal parameter i en SCoP" + +#: params.def:759 +msgid "maximum number of basic blocks per function to be analyzed by Graphite" -+msgstr "" ++msgstr "maximalt antal grundblock per funktion att analyseras av Graphite" + +#: params.def:766 msgid "Max basic blocks number in loop for loop invariant motion" @@ -195584,7 +199054,7 @@ -#: params.def:771 +#: params.def:790 +msgid "Max. size of var tracking hash tables" -+msgstr "" ++msgstr "Max storlek på hashtabell för variabelspårning" + +#: params.def:797 msgid "The minimum UID to be used for a nondebug insn" @@ -195595,7 +199065,7 @@ 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" -@@ -2843,7 +2867,7 @@ +@@ -2843,7 +2866,7 @@ msgid "invalid %%H value" msgstr "ogiltigt %%H-värde" @@ -195604,7 +199074,7 @@ #, c-format msgid "invalid %%J value" msgstr "ogiltigt %%J-värde" -@@ -2854,18 +2878,18 @@ +@@ -2854,18 +2877,18 @@ msgstr "ogiltigt %%r-värde" #: config/alpha/alpha.c:5196 config/ia64/ia64.c:4929 @@ -195626,7 +199096,7 @@ #, c-format msgid "invalid %%P value" msgstr "ogiltigt %%P-värde" -@@ -2880,12 +2904,12 @@ +@@ -2880,12 +2903,12 @@ msgid "invalid %%L value" msgstr "ogiltigt %%L-värde" @@ -195641,7 +199111,7 @@ #, c-format msgid "invalid %%M value" msgstr "ogiltigt %%M-värde" -@@ -2896,7 +2920,7 @@ +@@ -2896,7 +2919,7 @@ msgstr "ogiltigt %%U-värde" #: config/alpha/alpha.c:5329 config/alpha/alpha.c:5343 @@ -195650,7 +199120,7 @@ #, c-format msgid "invalid %%s value" msgstr "ogiltigt %%s-värde" -@@ -2906,7 +2930,7 @@ +@@ -2906,7 +2929,7 @@ msgid "invalid %%C value" msgstr "ogiltigt %%C-värde" @@ -195659,7 +199129,7 @@ #, c-format msgid "invalid %%E value" msgstr "ogiltigt %%E-värde" -@@ -2917,7 +2941,7 @@ +@@ -2917,7 +2940,7 @@ msgstr "okänd avspecifikation av omlokalisering" #: config/alpha/alpha.c:5437 config/crx/crx.c:1092 @@ -195668,7 +199138,7 @@ #, c-format msgid "invalid %%xn code" msgstr "ogiltig %%xn-kod" -@@ -2944,55 +2968,55 @@ +@@ -2944,55 +2967,55 @@ #. Unknown flag. #. Undocumented flag. @@ -195742,7 +199212,7 @@ msgid "functions cannot return __fp16 type" msgstr "funktioner kan inte reutnrera typen __fp16" -@@ -3044,20 +3068,20 @@ +@@ -3044,20 +3067,20 @@ msgid "internal compiler error. Incorrect shift:" msgstr "internt kompilatorfel. Felaktig skift:" @@ -195769,7 +199239,7 @@ #, gcc-internal-format msgid "%s" msgstr "%s" -@@ -3291,67 +3315,67 @@ +@@ -3291,67 +3314,67 @@ msgid " (frv)" msgstr " (frv)" @@ -195850,7 +199320,7 @@ msgid "unknown insn mode" msgstr "okänt instruktionsläge" -@@ -3399,7 +3423,7 @@ +@@ -3399,7 +3422,7 @@ msgid "invalid %%P operand" msgstr "ogiltig %%P-operand" @@ -195859,7 +199329,7 @@ #, c-format msgid "invalid %%p value" msgstr "ogiltigt %%p-värde" -@@ -3463,7 +3487,7 @@ +@@ -3463,7 +3486,7 @@ msgstr "efterinkrementeringsadress är inte ett register" #: config/m32r/m32r.c:2205 config/m32r/m32r.c:2219 @@ -195868,7 +199338,7 @@ msgid "bad address" msgstr "felaktig adress" -@@ -3509,7 +3533,7 @@ +@@ -3509,7 +3532,7 @@ msgid "invalid Z register replacement for insn" msgstr "ogiltigt Z-registerutbyte för instruktion" @@ -195877,7 +199347,7 @@ #, c-format msgid "invalid %%L code" msgstr "ogiltig %%L-kod" -@@ -3597,115 +3621,115 @@ +@@ -3597,115 +3620,115 @@ 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" @@ -196017,7 +199487,7 @@ msgid "AltiVec argument passed to unprototyped function" msgstr "AltiVec-argument skickat till funktion utan prototyp" -@@ -3724,69 +3748,69 @@ +@@ -3724,69 +3747,69 @@ msgid "invalid operand for code: '%c'" msgstr "ogiltig operand för kod: \"%c\"" @@ -196101,7 +199571,7 @@ #, c-format msgid "floating point constant not a valid immediate operand" msgstr "flyttalskonstant inte en giltig omedelbar operand" -@@ -3874,23 +3898,23 @@ +@@ -3874,23 +3897,23 @@ msgid "address offset not a constant" msgstr "adressavstånd inte en konstant" @@ -196130,7 +199600,7 @@ msgid "" msgstr "" -@@ -3898,11 +3922,11 @@ +@@ -3898,11 +3921,11 @@ msgid "template-parameter-" msgstr "mallparameter-" @@ -196144,7 +199614,7 @@ #, gcc-internal-format msgid "candidate is: %+#D" msgstr "kandidat är: %+#D" -@@ -4044,16 +4068,26 @@ +@@ -4044,16 +4067,26 @@ msgid "%s:%d: instantiated from %qs\n" msgstr "%s:%d: instantierad från %qs\n" @@ -196161,19 +199631,19 @@ msgstr "%s:%d: instantierad härifrån" +#: cp/error.c:2794 -+#, fuzzy, c-format ++#, c-format +msgid "%s:%d:%d: [ skipping %d instantiation contexts ]\n" -+msgstr "%s:%d:%d: instantierad från %qs\n" ++msgstr "%s:%d:%d: [ hoppar över %d instantieringskontexter ]\n" + +#: cp/error.c:2798 +#, c-format +msgid "%s:%d: [ skipping %d instantiation contexts ]\n" -+msgstr "" ++msgstr "%s:%d: [ hoppar över %d instantieringskontexter ]\n" + #: cp/g++spec.c:261 java/jvspec.c:403 #, c-format msgid "argument to '%s' missing\n" -@@ -4099,48 +4133,48 @@ +@@ -4099,48 +4132,48 @@ msgid "source type is not polymorphic" msgstr "källtypen är inte polymorfisk" @@ -196232,7 +199702,7 @@ msgid "no post-decrement operator for type" msgstr "ingen post-minskningsoperator för typen" -@@ -4186,40 +4220,40 @@ +@@ -4186,40 +4219,40 @@ msgid "arguments 'a%d' and 'a%d' for intrinsic '%s'" msgstr "argument \"a%d\" och \"a%d\" för inbyggd \"%s\"" @@ -196282,7 +199752,7 @@ msgid "array assignment" msgstr "vektortilldelning" -@@ -4385,19 +4419,19 @@ +@@ -4385,19 +4418,19 @@ msgid "Expected real string" msgstr "Förväntade reell sträng" @@ -196306,7 +199776,7 @@ msgid "Unexpected end of module" msgstr "Oväntat modulslut" -@@ -4445,87 +4479,87 @@ +@@ -4445,87 +4478,87 @@ msgid "internal function" msgstr "intern funktion" @@ -196412,7 +199882,7 @@ msgid "Step expression in DO loop" msgstr "Steguttryck i DO-slinga" -@@ -4534,17 +4568,17 @@ +@@ -4534,17 +4567,17 @@ msgid "Different CHARACTER lengths (%ld/%ld) in array constructor" msgstr "Olika CHARACTER-längder (%ld/%ld) i vektorkonstruerare" @@ -196433,7 +199903,7 @@ msgid "internal error: bad hash value in dynamic dispatch" msgstr "internt fel: felaktigt hash-värde i dynamisk expediering" -@@ -4574,11 +4608,11 @@ +@@ -4574,11 +4607,11 @@ msgid "Assigned label is not a target label" msgstr "Tilldelad etikett är inte en måletikett" @@ -196447,7 +199917,7 @@ msgid "DO step value is zero" msgstr "DO-stegvärdet är noll" -@@ -4594,36 +4628,36 @@ +@@ -4594,36 +4627,36 @@ msgid "Incorrect function return value" msgstr "Felaktigt returvärde för funktion" @@ -196494,7 +199964,7 @@ #: java/jcf-dump.c:1068 #, c-format msgid "Not a valid Java .class file.\n" -@@ -4857,27 +4891,28 @@ +@@ -4857,27 +4890,28 @@ msgid "gfortran does not support -E without -cpp" msgstr "gfortran stödjer inte -E utan -cpp" @@ -196538,7 +200008,7 @@ #: config/sparc/linux64.h:165 config/sparc/linux64.h:176 #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144 #: config/sparc/sol2-bi.h:240 config/sparc/sol2-bi.h:250 -@@ -4905,10 +4940,6 @@ +@@ -4905,10 +4939,6 @@ msgid "GCC does not support -C or -CC without -E" msgstr "GCC stödjer inte -C eller -CC utan -E" @@ -196549,7 +200019,7 @@ #: gcc.c:1073 msgid "GNU C no longer supports -traditional without -E" msgstr "GNU C stödjer inte längre -traditional utan -E" -@@ -4922,6 +4953,13 @@ +@@ -4922,6 +4952,13 @@ msgid "shared and mdll are not compatible" msgstr "shared och mdll är inkompatibla" @@ -196563,7 +200033,7 @@ #: config/pa/pa-hpux10.h:87 config/pa/pa-hpux10.h:90 config/pa/pa-hpux10.h:98 #: config/pa/pa-hpux10.h:101 config/pa/pa-hpux11.h:108 #: config/pa/pa-hpux11.h:111 config/pa/pa64-hpux.h:30 config/pa/pa64-hpux.h:33 -@@ -4976,10 +5014,6 @@ +@@ -4976,10 +5013,6 @@ msgid "rx200 cpu does not have FPU hardware" msgstr "rx200-cpu har inte FPU-hårdvara" @@ -196574,7 +200044,7 @@ #: config/arm/freebsd.h:31 msgid "consider using `-pg' instead of `-p' with gprof(1) " msgstr "överväg att använda \"-pg\" istället för \"-p\" med gprof(1)" -@@ -5008,6 +5042,10 @@ +@@ -5008,6 +5041,10 @@ msgid "`-mno-intel-syntax' is deprecated. Use `-masm=att' instead." msgstr "\"-mno-intel-syntax\" bör undvikas. Använd \"-masm=att\" istället." @@ -196585,7 +200055,7 @@ #: config/mips/r3900.h:34 msgid "-mhard-float not supported" msgstr "-mhard-float stöds inte" -@@ -5024,10 +5062,6 @@ +@@ -5024,10 +5061,6 @@ msgid "cannot use mshared and static together" msgstr "mshared och static kan inte användas tillsammans" @@ -196596,33 +200066,34 @@ #: java/lang.opt:69 msgid "Warn if deprecated empty statements are found" msgstr "Varna om tomma satser som bör undvikas finns" -@@ -5305,7 +5339,8 @@ +@@ -5305,8 +5338,8 @@ msgstr "Tillåt radlängd med godtyckligt antal tecken i fast läge" #: fortran/lang.opt:249 -msgid "-ffixed-line-length-\t\tUse n as character line width in fixed mode" -+#, fuzzy +-msgstr "-ffixed-line-length-\t\tAnvänd radlängd med n tecken i fast läge" +msgid "-ffixed-line-length-\tUse n as character line width in fixed mode" - msgstr "-ffixed-line-length-\t\tAnvänd radlängd med n tecken i fast läge" ++msgstr "-ffixed-line-length-\tAnvänd radlängd med n tecken i fast läge" #: fortran/lang.opt:253 -@@ -5321,7 +5356,8 @@ + msgid "-ffpe-trap=[...]\tStop on following floating point exceptions" +@@ -5321,8 +5354,8 @@ msgstr "Tillåt radlängd med godtyckligt antal tecken i fri form" #: fortran/lang.opt:265 -msgid "-ffree-line-length-\t\tUse n as character line width in free mode" -+#, fuzzy +-msgstr "-ffree-line-length-\t\tAnvänd radlängd med n tecken i fri form" +msgid "-ffree-line-length-\tUse n as character line width in free mode" - msgstr "-ffree-line-length-\t\tAnvänd radlängd med n tecken i fri form" ++msgstr "-ffree-line-length-\tAnvänd radlängd med n tecken i fri form" #: fortran/lang.opt:269 -@@ -5377,66 +5413,71 @@ + msgid "Specify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements" +@@ -5377,66 +5410,70 @@ msgstr "Försök placera ut härledda typer så kompakt som möjligt" #: fortran/lang.opt:329 -+#, fuzzy +msgid "Protect parentheses in expressions" -+msgstr "föreslår parenteser runt %<>>%>-uttryck" ++msgstr "Skydda parenteser i uttryck" + +#: fortran/lang.opt:333 msgid "Enable range checking during compilation" @@ -196703,13 +200174,12 @@ msgid "Accept extensions to support legacy code" msgstr "Acceptera utökningar för att stödja gammal kod" -@@ -8927,742 +8968,748 @@ +@@ -8927,742 +8964,746 @@ msgstr "Varna för implicita typkonverteringar som kan ändra ett värde" #: c.opt:176 -+#, fuzzy +msgid "Warn for converting NULL from/to a non-pointer type" -+msgstr "konvertera av NULL till icke-pekartyp" ++msgstr "Varna för konvertering av NULL till icke-pekartyp" + +#: c.opt:180 msgid "Warn for implicit type conversions between signed and unsigned integers" @@ -197387,12 +200857,12 @@ -#: c.opt:791 -msgid "-ftemplate-depth-\tSpecify maximum template instantiation depth" -+#: c.opt:798 -+#, fuzzy +-msgstr "-ftemplate-depth-\tAnge maximalt instansieringsdjup för mallar" +- + #: c.opt:798 +msgid "-ftemplate-depth=\tSpecify maximum template instantiation depth" - msgstr "-ftemplate-depth-\tAnge maximalt instansieringsdjup för mallar" - --#: c.opt:798 ++msgstr "-ftemplate-depth=\tAnge maximalt instansieringsdjup för mallar" ++ +#: c.opt:805 msgid "-fno-threadsafe-statics\tDo not generate thread-safe code for initializing local statics" msgstr "-fno-threadsafe-statics\tGenerera inte trådsäker kod för initiering a lokala statiska variabler" @@ -197637,17 +201107,16 @@ msgid "Enable verbose output" msgstr "Aktivera utförlig utskrift" -@@ -9875,7 +9922,8 @@ +@@ -9875,7 +9916,7 @@ msgstr "-dumpbase \tAnge basfilnamn att användas för dumpar" #: common.opt:258 -msgid "-dumpdir \t\tSet the directory name to be used for dumps" -+#, fuzzy +msgid "-dumpdir \tSet the directory name to be used for dumps" msgstr "-dumpdir \tAnge katalognamn att användas för dumpar" #: common.opt:284 -@@ -9987,8 +10035,8 @@ +@@ -9987,8 +10028,8 @@ msgstr "När CSE körs, följ hopp till deras mål" #: common.opt:419 common.opt:548 common.opt:769 common.opt:1011 @@ -197658,7 +201127,7 @@ msgid "Does nothing. Preserved for backward compatibility." msgstr "Gör ingenting. Bevarad för bakåtkompatibilitet." -@@ -10554,10 +10602,6 @@ +@@ -10554,10 +10595,6 @@ msgid "If scheduling post reload, do superblock scheduling" msgstr "Om schemaläggning efter omläsning, gör superblockschemaläggning" @@ -197669,7 +201138,7 @@ #: common.opt:1051 msgid "Reschedule instructions before register allocation" msgstr "Schemalägg om instruktioner före registertilldelning" -@@ -11028,27 +11072,27 @@ +@@ -11028,27 +11065,27 @@ msgid "Create a position independent executable" msgstr "Skapa ett positionsoberoende körbart program" @@ -197702,7 +201171,7 @@ #, gcc-internal-format msgid "type attributes ignored after type is already defined" msgstr "typattribut ignoreras efter att typen redan är definierad" -@@ -11088,118 +11132,118 @@ +@@ -11088,118 +11125,118 @@ msgid "invalid third argument to %<__builtin_prefetch%>; using zero" msgstr "ogiltigt tredje argument till %<__builtin_prefetch%>; använder noll" @@ -197843,7 +201312,7 @@ #, gcc-internal-format msgid "wrong number of arguments to function %<__builtin_next_arg%>" msgstr "fel antal argument till funktionen %<__builtin_next_arg%>" -@@ -11209,37 +11253,37 @@ +@@ -11209,37 +11246,37 @@ #. argument. We just warn and set the arg to be the last #. argument so that we will get wrong-code because of #. it. @@ -197889,7 +201358,7 @@ msgid "%Kattempt to free a non-heap object" msgstr "%Kförsök att frigöra ett icke-heap-objekt" -@@ -11373,775 +11417,775 @@ +@@ -11373,775 +11410,775 @@ msgid "conversion to %qT from %qT may change the sign of the result" msgstr "konvertering till %qT från %qT kan ändra tecknet på resultatet" @@ -198831,7 +202300,7 @@ #, gcc-internal-format msgid "comparison of promoted ~unsigned with unsigned" msgstr "jämförelse av befordrad ~unsigned med unsigned" -@@ -12151,8 +12195,8 @@ +@@ -12151,8 +12188,8 @@ #. an unprototyped function, it is compile-time undefined; #. making it a constraint in that case was rejected in #. DR#252. @@ -198842,7 +202311,7 @@ #, 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" -@@ -12182,7 +12226,7 @@ +@@ -12182,7 +12219,7 @@ msgid "GCC supports only %u nested scopes" msgstr "GCC stödjer endast %u nästade definitionsområden" @@ -198851,7 +202320,7 @@ #, gcc-internal-format msgid "label %q+D used but not defined" msgstr "etikett %q+D använd men är inte definierad" -@@ -12197,7 +12241,7 @@ +@@ -12197,7 +12234,7 @@ msgid "inline function %q+D declared but never defined" msgstr "inline:ad funktion %q+D är deklarerad men aldrig definierad" @@ -198860,7 +202329,7 @@ #, gcc-internal-format msgid "unused variable %q+D" msgstr "oanvänd variabel %q+D" -@@ -12207,7 +12251,7 @@ +@@ -12207,7 +12244,7 @@ msgid "type of array %q+D completed incompatibly with implicit initialization" msgstr "den kompletterade typen på vektor %q+D är okompatibel med implicit initiering" @@ -198869,7 +202338,7 @@ #, gcc-internal-format msgid "originally defined here" msgstr "ursprungligen definierad här" -@@ -12269,7 +12313,7 @@ +@@ -12269,7 +12306,7 @@ msgid "built-in function %q+D declared as non-function" msgstr "inbyggd funktion %q+D deklarerad som icke-funktion" @@ -198878,7 +202347,7 @@ #, gcc-internal-format msgid "declaration of %q+D shadows a built-in function" msgstr "deklaration av %q+D skuggar en inbyggd funktion" -@@ -12393,199 +12437,194 @@ +@@ -12393,199 +12430,194 @@ msgid "redundant redeclaration of %q+D" msgstr "redundant omdeklaration av %q+D" @@ -198951,12 +202420,12 @@ msgstr "%qE är odeklarerad (första förekomsten i denna funktion)" -#: c-decl.c:2951 --#, gcc-internal-format --msgid "(Each undeclared identifier is reported only once" +#: c-decl.c:2954 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +-msgid "(Each undeclared identifier is reported only once" +-msgstr "(Varje odeklarerad identifierare rapporteras bara en gång" +msgid "each undeclared identifier is reported only once for each function it appears in" - msgstr "(Varje odeklarerad identifierare rapporteras bara en gång" ++msgstr "varje odeklarerad identifierare rapporteras bara en gång för varje funktion den förekommer i" -#: c-decl.c:2952 +#: c-decl.c:3004 cp/decl.c:2446 @@ -199118,7 +202587,7 @@ #, gcc-internal-format msgid "ISO C90 does not support %<[*]%> array declarators" msgstr "ISO C90 stödjer inte %<[*]%>-vektordeklarerare" -@@ -12593,283 +12632,283 @@ +@@ -12593,283 +12625,283 @@ #. C99 6.7.5.2p4 #. A function definition isn't function prototype scope C99 6.2.1p4. #. C99 6.7.5.2p4 @@ -199458,7 +202927,7 @@ #, gcc-internal-format msgid "function-scope %qE implicitly auto and declared %<__thread%>" msgstr "%qE i funktions definitionsområde är implicit auto och deklarerad %<__thread%>" -@@ -12877,577 +12916,577 @@ +@@ -12877,577 +12909,577 @@ #. Only the innermost declarator (making a parameter be of #. array type which is converted to pointer type) #. may have static or type qualifiers. @@ -200150,7 +203619,7 @@ #, gcc-internal-format msgid "no return statement in function returning non-void" msgstr "ingen retursats i funktion som returnerar icke-void" -@@ -13455,162 +13494,162 @@ +@@ -13455,162 +13487,162 @@ #. If we get here, declarations have been used in a for loop without #. the C99 for loop scope. This doesn't make much sense, so don't #. allow it. @@ -200345,7 +203814,7 @@ #, gcc-internal-format msgid "%q+F used but never defined" msgstr "%q+F är använd men inte definierad" -@@ -14017,7 +14056,7 @@ +@@ -14017,7 +14049,7 @@ msgid "floating constant truncated to zero" msgstr "flyttalskonstant avkortas till noll" @@ -200354,7 +203823,7 @@ #, gcc-internal-format msgid "unsupported non-standard concatenation of string literals" msgstr "ej stödd konkatenering av strängliteraler som inte följer standard" -@@ -14032,7 +14071,7 @@ +@@ -14032,7 +14064,7 @@ msgid "invalid expression type for %<#pragma omp atomic%>" msgstr "ogiltig uttryckstyp för %<#pragma omp atomic%>" @@ -200363,7 +203832,7 @@ #, gcc-internal-format msgid "invalid type for iteration variable %qE" msgstr "ogiltig typ för iterationsvariabeln %qE" -@@ -14042,22 +14081,22 @@ +@@ -14042,22 +14074,22 @@ msgid "%qE is not initialized" msgstr "%qE är inte initierad" @@ -200390,7 +203859,7 @@ #, gcc-internal-format msgid "invalid increment expression" msgstr "ogiltigt ökningsuttryck" -@@ -14117,117 +14156,117 @@ +@@ -14117,117 +14149,117 @@ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)" msgstr "-fhandle-exceptions har bytt namn till -fexceptions (och är nu normalt påslagen)" @@ -200531,7 +204000,7 @@ #, gcc-internal-format msgid "too late for # directive to set debug directory" msgstr "för sent för #-direktiv att ange felsökningskatalog" -@@ -14285,7 +14324,7 @@ +@@ -14285,7 +14317,7 @@ msgid "expected identifier" msgstr "identifierare förväntades" @@ -200540,7 +204009,7 @@ #, gcc-internal-format msgid "comma at end of enumerator list" msgstr "komma i slutet av uppräkningslista" -@@ -14360,7 +14399,7 @@ +@@ -14360,7 +14392,7 @@ msgid "wide string literal in %" msgstr "bred strängliteral i %" @@ -200549,7 +204018,7 @@ #, gcc-internal-format msgid "expected string literal" msgstr "strängkonstant förväntades" -@@ -14410,7 +14449,7 @@ +@@ -14410,7 +14442,7 @@ msgid "expected %<}%> before %" msgstr "%<}%> förväntades före %" @@ -200558,7 +204027,7 @@ #, gcc-internal-format msgid "% without a previous %" msgstr "% utan ett föregående %" -@@ -14444,12 +14483,12 @@ +@@ -14444,12 +14476,12 @@ msgid "expected statement" msgstr "sats förväntades" @@ -200573,7 +204042,7 @@ #, gcc-internal-format msgid "suggest braces around empty body in an % statement" msgstr "föreslår klamrar runt tom kropp i en %-sats" -@@ -14519,37 +14558,37 @@ +@@ -14519,37 +14551,37 @@ msgid "extra semicolon in method definition specified" msgstr "extra semikolon angivet i metoddefintion" @@ -200618,7 +204087,7 @@ #, gcc-internal-format msgid "collapse argument needs positive constant integer expression" msgstr "collapse-argument behöver ett positivt konstant heltalsuttryck" -@@ -14574,12 +14613,12 @@ +@@ -14574,12 +14606,12 @@ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>" msgstr "%<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%> eller %<||%> förväntades" @@ -200633,7 +204102,7 @@ #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "%-schemaläggning tar ingen %-parameter" -@@ -14594,7 +14633,7 @@ +@@ -14594,7 +14626,7 @@ msgid "expected %<#pragma omp%> clause" msgstr "förväntade %<#pragma omp%>-klausul" @@ -200642,7 +204111,7 @@ #, gcc-internal-format msgid "%qs is not valid for %qs" msgstr "%qs är inte giltigt för %qs" -@@ -14614,7 +14653,7 @@ +@@ -14614,7 +14646,7 @@ msgid "for statement expected" msgstr "for-sats förväntades" @@ -200651,7 +204120,7 @@ #, gcc-internal-format msgid "expected iteration declaration or initialization" msgstr "iterationsdeklaration eller initiering förväntades" -@@ -14624,12 +14663,12 @@ +@@ -14624,12 +14656,12 @@ msgid "not enough perfectly nested loops" msgstr "inte tillräckligt med perfekt nästade slingor" @@ -200666,7 +204135,7 @@ #, gcc-internal-format msgid "iteration variable %qD should not be firstprivate" msgstr "iterationsvariabel %qD får inte vara firstprivate" -@@ -14639,17 +14678,17 @@ +@@ -14639,17 +14671,17 @@ msgid "%qD is not a variable" msgstr "%qD är inte en variabel" @@ -200687,7 +204156,7 @@ #, gcc-internal-format msgid "% %qE has incomplete type" msgstr "% %qE har ofullständig typ" -@@ -14659,52 +14698,52 @@ +@@ -14659,52 +14691,52 @@ msgid "can%'t create precompiled header %s: %m" msgstr "kan inte skapa förkompilerat huvud %s: %m" @@ -200750,7 +204219,7 @@ #, gcc-internal-format msgid "%s: PCH file was invalid" msgstr "%s: PCH-fil var ogiltig" -@@ -15004,7 +15043,7 @@ +@@ -15004,7 +15036,7 @@ msgid "%qD has an incomplete type" msgstr "%qD har en ofullständig typ" @@ -200759,7 +204228,7 @@ #, gcc-internal-format msgid "invalid use of void expression" msgstr "ogiltig användning av void-uttryck" -@@ -15070,7 +15109,7 @@ +@@ -15070,7 +15102,7 @@ msgid "function return types not compatible due to %" msgstr "funktionsreturtyper är inte kompatibla på grund av %" @@ -200768,7 +204237,7 @@ #, gcc-internal-format msgid "arithmetic on pointer to an incomplete type" msgstr "aritmetik på pekare till ofullständig typ" -@@ -15110,12 +15149,12 @@ +@@ -15110,12 +15142,12 @@ msgid "invalid type argument of %<->%> (have %qT)" msgstr "ogiltigt typargument till %<->%> (har %qT)" @@ -200783,18 +204252,18 @@ #, gcc-internal-format msgid "array subscript is not an integer" msgstr "fältindex är inte ett heltal" -@@ -15158,347 +15197,352 @@ +@@ -15158,347 +15190,352 @@ msgid "function with qualified void return type called" msgstr "funktion med kvalificerad void-returtyp anropad" -#: c-typeck.c:2852 +#: c-typeck.c:2820 c-typeck.c:3047 cp/typeck.c:3315 cp/typeck.c:3429 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "declared here" -+msgstr "%qD är deklarerad här" ++msgstr "deklarerad här" + +#: c-typeck.c:2855 - #, gcc-internal-format ++#, gcc-internal-format msgid "type of formal parameter %d is incomplete" msgstr "typen på formell parameter %d är ofullständig" @@ -201205,7 +204674,7 @@ #, gcc-internal-format msgid "enum conversion in assignment is invalid in C++" msgstr "uppräkningskonvertering i tilldelning är ogiltigt i C++" -@@ -15506,462 +15550,462 @@ +@@ -15506,462 +15543,462 @@ #. This macro is used to emit diagnostics to ensure that all format #. strings are complete sentences, visible to gettext and checked at #. compile time. @@ -201760,7 +205229,7 @@ #, gcc-internal-format msgid "C++ requires promoted type, not enum type, in %" msgstr "C++ kräver en befodrad typ, inte en uppräkningstyp, i %" -@@ -15971,17 +16015,17 @@ +@@ -15971,17 +16008,17 @@ msgid "function call has aggregate value" msgstr "funktionsanrop har sammansatt värde" @@ -201781,7 +205250,7 @@ #, gcc-internal-format msgid "not protecting function: no buffer at least %d bytes long" msgstr "skyddar inte funktion: ingen åtminstone %d byte lång buffert" -@@ -16386,7 +16430,7 @@ +@@ -16386,7 +16423,7 @@ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)" msgstr "antal bb-noter i instruktionskedjan (%d) != n_basic_blocks (%d)" @@ -201790,7 +205259,7 @@ #, gcc-internal-format msgid "%D renamed after being referenced in assembly" msgstr "%D byter namn efter att ha refererats i assembler" -@@ -16501,57 +16545,57 @@ +@@ -16501,57 +16538,57 @@ msgid "edge points to same body alias:" msgstr "båge pekar till samma kroppalias:" @@ -201859,7 +205328,7 @@ #, gcc-internal-format msgid "cannot find 'ldd'" msgstr "kan inte hitta \"ldd\"" -@@ -16576,32 +16620,32 @@ +@@ -16576,32 +16613,32 @@ msgid "conversion to incomplete type" msgstr "konvertering till ofullständig typ" @@ -201898,7 +205367,7 @@ #, gcc-internal-format msgid "aggregate value used where a fixed-point was expected" msgstr "sammansatt värde använt där ett fixdecimalvärde förväntades" -@@ -16696,7 +16740,7 @@ +@@ -16696,7 +16733,7 @@ msgid "common symbol debug info is not structured as symbol+offset" msgstr "gemensam symbolfelsökningsinformation är inte strukturerad som symbol+avstånd" @@ -201907,7 +205376,7 @@ #, gcc-internal-format msgid "in %s, at %s:%d" msgstr "i %s, vid %s:%d" -@@ -16711,16 +16755,21 @@ +@@ -16711,16 +16748,21 @@ msgid "dominator of %d should be %d, not %d" msgstr "dominerare av %d vara %d, inte %d" @@ -201926,12 +205395,12 @@ +#: dwarf2out.c:12859 +#, gcc-internal-format +msgid "non-delegitimized UNSPEC %d found in variable location" -+msgstr "" ++msgstr "odelegitimerad UNSPEC %d funnen på variabelplats" + #: emit-rtl.c:2460 #, gcc-internal-format msgid "invalid rtl sharing found in the insn" -@@ -16751,57 +16800,57 @@ +@@ -16751,57 +16793,57 @@ msgid "exception handling disabled, use -fexceptions to enable" msgstr "undantagshantering avslagen, använd -fexceptions för att aktivera" @@ -202000,7 +205469,7 @@ #, gcc-internal-format msgid "verify_eh_tree failed" msgstr "verify_eh_tree misslyckades" -@@ -16811,30 +16860,30 @@ +@@ -16811,30 +16853,30 @@ msgid "stack limits not supported on this target" msgstr "stackgränser stöds inte på denna målarkitektur" @@ -202037,7 +205506,7 @@ #, gcc-internal-format msgid "could not close final insn dump file %qs: %s" msgstr "det gick inte att stänga slutgiltig instruktionsdumpfil %qs: %s" -@@ -16884,7 +16933,7 @@ +@@ -16884,7 +16926,7 @@ msgid "assuming signed overflow does not occur when combining constants around a comparison" msgstr "antar att teckenspill inte förekommer vid kombination av konstanter runt en jämförelse" @@ -202046,7 +205515,7 @@ #, gcc-internal-format msgid "fold check: original tree changed by fold" msgstr "vikningskontroll: originalträdet ändrat av vikning" -@@ -16894,7 +16943,7 @@ +@@ -16894,7 +16936,7 @@ msgid "total size of local objects too large" msgstr "total storlek på lokala objekt är för stor" @@ -202055,7 +205524,7 @@ #, gcc-internal-format msgid "impossible constraint in %" msgstr "omöjlig begränsning i %" -@@ -16944,7 +16993,7 @@ +@@ -16944,7 +16986,7 @@ msgid "warning: -pipe ignored because -save-temps specified" msgstr "varning: -pipe ignorerad eftersom -save-temps angivits" @@ -202064,7 +205533,7 @@ #, gcc-internal-format msgid "warning: '-x %s' after last input file has no effect" msgstr "varning: \"-x %s\" efter sista indatafilen har ingen effekt" -@@ -16952,87 +17001,87 @@ +@@ -16952,87 +16994,87 @@ #. Catch the case where a spec string contains something like #. '%{foo:%*}'. i.e. there is no * in the pattern on the left #. hand side of the :. @@ -202169,7 +205638,7 @@ #, gcc-internal-format msgid "%s: %s" msgstr "%s: %s" -@@ -17100,52 +17149,52 @@ +@@ -17100,52 +17142,52 @@ msgid "using result of function returning %" msgstr "använder resultat från funktion som returnerar %" @@ -202232,7 +205701,7 @@ #, gcc-internal-format msgid "gimplification failed" msgstr "gimplification misslyckades" -@@ -17155,7 +17204,7 @@ +@@ -17155,7 +17197,7 @@ msgid "can't open %s: %m" msgstr "kan inte öppna %s: %m" @@ -202241,7 +205710,7 @@ #, gcc-internal-format msgid "Graphite loop optimizations cannot be used" msgstr "Graphite-slingoptimeringar kan inte användas" -@@ -17231,27 +17280,27 @@ +@@ -17231,27 +17273,27 @@ msgid "bytecode stream: found non-null terminated string" msgstr "bytekodström: hittade sträng som inte var null-terminerad" @@ -202274,7 +205743,7 @@ #, gcc-internal-format msgid "target specific builtin not available" msgstr "målspecifik inbyggd funktion är inte tillgänglig" -@@ -17321,48 +17370,48 @@ +@@ -17321,48 +17363,48 @@ msgid "function %qD redeclared as variable" msgstr "funktionen %qD omdeklarerad som en variabel" @@ -202332,7 +205801,7 @@ #, gcc-internal-format msgid "invalid branch to/from an OpenMP structured block" msgstr "ogiltig gren till/från OpenMP-strukturerat block" -@@ -17423,117 +17472,117 @@ +@@ -17423,117 +17465,117 @@ 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" @@ -202473,7 +205942,7 @@ #, gcc-internal-format msgid "-Werror=%s: No option -%s" msgstr "-Werror=%s: Ingen flagga -%s" -@@ -17559,22 +17608,22 @@ +@@ -17559,22 +17601,22 @@ msgid "Invalid pass positioning operation" msgstr "Ogiltig passpositioneringsoperation" @@ -202500,7 +205969,7 @@ #, gcc-internal-format msgid "pass %qs not found but is referenced by new pass %qs" msgstr "pass %qs fanns inte men refereras av nytt pass %qs" -@@ -17707,22 +17756,22 @@ +@@ -17707,22 +17749,22 @@ msgid "output operand %d must use %<&%> constraint" msgstr "utdataoperand %d måste använda %<&%>-begränsning" @@ -202527,7 +205996,7 @@ #, gcc-internal-format msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)" msgstr "validate_value_data: [%u] Ej tomt reg i kedja (%s %u %i)" -@@ -17733,8 +17782,8 @@ +@@ -17733,8 +17775,8 @@ msgstr "kan inte använda \"%s\" som ett %s-register" #: reginfo.c:834 config/ia64/ia64.c:5396 config/ia64/ia64.c:5403 @@ -202538,7 +206007,7 @@ #, gcc-internal-format msgid "unknown register name: %s" msgstr "okänt registernamn: %s" -@@ -17774,42 +17823,42 @@ +@@ -17774,42 +17816,42 @@ msgid "inconsistent operand constraints in an %" msgstr "inkonsistenta operandbegränsningar i en %" @@ -202589,7 +206058,7 @@ #, gcc-internal-format msgid "output operand is constant in %" msgstr "utdataoperand är konstant i %" -@@ -17969,7 +18018,7 @@ +@@ -17969,7 +18011,7 @@ msgid "undefined named operand %qs" msgstr "odefinierad namngiven operand %qs" @@ -202598,7 +206067,7 @@ #, gcc-internal-format msgid "value computed is not used" msgstr "beräknat värde används inte" -@@ -17999,47 +18048,47 @@ +@@ -17999,47 +18041,47 @@ msgid "packed attribute causes inefficient alignment for %q+D" msgstr "attributet packed medför ineffektiv justering för %q+D" @@ -202655,7 +206124,7 @@ #, gcc-internal-format msgid "alignment of array elements is greater than element size" msgstr "justeringen av vektorelement är större än elementstorleken" -@@ -18159,654 +18208,654 @@ +@@ -18159,654 +18201,654 @@ msgid "type is deprecated" msgstr "typen bör undvikas" @@ -203440,7 +206909,7 @@ #, gcc-internal-format msgid "ignoring return value of function declared with attribute warn_unused_result" msgstr "ignorerar returvärdet av funktion deklarerad med attributet warn_unused_result" -@@ -18821,112 +18870,112 @@ +@@ -18821,112 +18863,112 @@ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>" msgstr "ignorerar okänt alternativ %q.*s i %<-fdump-%s%>" @@ -203575,7 +207044,7 @@ #, gcc-internal-format msgid "called from here" msgstr "anropad härifrån" -@@ -18961,7 +19010,7 @@ +@@ -18961,7 +19003,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" @@ -203584,7 +207053,7 @@ #: tree-ssa-coalesce.c:974 tree-ssa-coalesce.c:1196 tree-ssa-live.c:1184 #, gcc-internal-format msgid "SSA corruption" -@@ -19122,147 +19171,147 @@ +@@ -19122,147 +19164,147 @@ msgid "%qD may be used uninitialized in this function" msgstr "%qD kan användas oinitierad i denna funktion" @@ -203761,24 +207230,24 @@ #, gcc-internal-format msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d" msgstr "trädkontroll: använde operand %d av omp_clause %s med %d operander i %s, vid %s:%d" -@@ -19293,6 +19342,16 @@ +@@ -19293,6 +19335,16 @@ msgid "Corrupted value profile: %s profiler overall count (%d) does not match BB count (%d)" msgstr "Trasig värdeprofil: totalt profilerarantal för %s (%d) stämmer inte med BB-antal (%d)" +#: var-tracking.c:6051 +#, gcc-internal-format +msgid "variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without" -+msgstr "" ++msgstr "storleksgräns på variabelspårning överskriden med -vfar-tracking-assignments, försöker igen utan" + +#: var-tracking.c:6055 +#, gcc-internal-format +msgid "variable tracking size limit exceeded" -+msgstr "" ++msgstr "storleksgräns på variabelspårning överskriden" + #: varasm.c:580 #, gcc-internal-format msgid "%+D causes a section type conflict" -@@ -19303,132 +19362,132 @@ +@@ -19303,132 +19355,132 @@ msgid "alignment of %q+D is greater than maximum object file alignment. Using %d" msgstr "justeringen av %q+D är större än den objektfilers maximala justering. Använder %d" @@ -203937,7 +207406,7 @@ #, gcc-internal-format msgid "visibility attribute not supported in this configuration; ignored" msgstr "synlighetsattribut stöds inte för denna konfiguration, ignoreras" -@@ -19515,17 +19574,17 @@ +@@ -19515,17 +19567,17 @@ msgid "Unknown value %qs of -mmacosx-version-min" msgstr "Okänt värde %qs till -mmacosx-version-min" @@ -203958,7 +207427,7 @@ #, gcc-internal-format msgid "internal and protected visibility attributes not supported in this configuration; ignored" msgstr "synlighetsattributen internal och protected stöds inte för denna konfiguration, ignoreras" -@@ -19565,32 +19624,32 @@ +@@ -19565,32 +19617,32 @@ msgid "malformed %<#pragma init%>, ignoring" msgstr "felformaterat %<#pragma init%>, ignoreras" @@ -203997,7 +207466,7 @@ #, gcc-internal-format msgid "ignoring %<#pragma align%> for explicitly aligned %q+D" msgstr "ignorerar %<#pragma align%> för explicit justerad %q+D" -@@ -19616,7 +19675,7 @@ +@@ -19616,7 +19668,7 @@ msgid "profiler support for VxWorks" msgstr "profileringsstöd för VxWorks" @@ -204006,7 +207475,7 @@ #, gcc-internal-format msgid "bad value %qs for -mtls-size switch" msgstr "felaktigt värde %qs till flaggan -mtls-size" -@@ -19651,11 +19710,16 @@ +@@ -19651,11 +19703,16 @@ msgid "bad value %qs for -mfp-trap-mode switch" msgstr "felaktigt värde %qs till flaggan -mfp-trap-mode" @@ -204017,14 +207486,14 @@ msgstr "felaktigt värde %qs till flaggan -mcpu" +#: config/alpha/alpha.c:391 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "bad value %qs for -mtune switch" -+msgstr "felaktigt värde %qs till flaggan -mcpu" ++msgstr "felaktigt värde %qs till flaggan -mtune" + #: config/alpha/alpha.c:398 #, gcc-internal-format msgid "trap mode not supported on Unicos/Mk" -@@ -19691,8 +19755,8 @@ +@@ -19691,8 +19748,8 @@ msgid "bad value %qs for -mmemory-latency" msgstr "felaktigt värde %qs till flaggan -memory-latency" @@ -204035,7 +207504,7 @@ #, gcc-internal-format msgid "bad builtin fcode" msgstr "felaktig inbyggd fcode" -@@ -19712,7 +19776,7 @@ +@@ -19712,7 +19769,7 @@ msgid "switch -mcpu=%s conflicts with -march= switch" msgstr "flagga -mcpu=%s står i konflikt med flagga -march=" @@ -204044,7 +207513,7 @@ #, gcc-internal-format msgid "bad value (%s) for %s switch" msgstr "ogiltigt värde (%s) till flagga %s" -@@ -19797,153 +19861,153 @@ +@@ -19797,153 +19854,153 @@ msgid "invalid floating point emulation option: -mfpe=%s" msgstr "ogiltig flyttalsemuleringsflagga: -mfpe=%s" @@ -204234,7 +207703,7 @@ #, gcc-internal-format msgid "the mangling of % has changed in GCC 4.4" msgstr "manglingen av % har ändrats i GCC 4.4" -@@ -20003,78 +20067,78 @@ +@@ -20003,78 +20060,78 @@ msgid "MCU %qs supported for assembler only" msgstr "MCU %qs stöds endast i assembler" @@ -204329,7 +207798,7 @@ #, gcc-internal-format msgid "%qE attribute cannot be specified for local variables" msgstr "attributet %qE kan inte anges för lokala variabler" -@@ -20303,418 +20367,418 @@ +@@ -20303,418 +20360,418 @@ msgid "can't set position in PCH file: %m" msgstr "det går inte att sätta position i PCH-fil: %m" @@ -204842,7 +208311,7 @@ #, gcc-internal-format msgid "vector permutation (%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d)" msgstr "vektorpermutation (%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d)" -@@ -20792,14 +20856,14 @@ +@@ -20792,14 +20849,14 @@ msgid "%qE attribute requires a string constant argument" msgstr "attributet %qE kräver en strängkonstant som argument" @@ -204861,7 +208330,7 @@ #, gcc-internal-format msgid "%s-%s is an empty range" msgstr "%s-%s är ett tomt intervall" -@@ -20870,7 +20934,7 @@ +@@ -20870,7 +20927,7 @@ msgstr "attributet %qE stöds inte för denna målarkitekturen R8C" #. The argument must be a constant integer. @@ -204870,7 +208339,7 @@ #, gcc-internal-format msgid "%qE attribute argument not an integer constant" msgstr "argumentet till attribut %qE är inte en heltalskonstant" -@@ -20910,37 +20974,37 @@ +@@ -20910,37 +20967,37 @@ msgid "% attribute is already used" msgstr "attributet % är redan använt" @@ -204915,7 +208384,7 @@ #, gcc-internal-format msgid "stack limit expression is not supported" msgstr "stackgränsuttryck stöds inte" -@@ -21070,152 +21134,152 @@ +@@ -21070,152 +21127,152 @@ msgid "unusual TP-relative address" msgstr "ovanlig TP-relativ adress" @@ -205098,7 +208567,7 @@ #, gcc-internal-format msgid "unexpected %d byte cop instruction" msgstr "oväntad %d-byte cop-instruktion" -@@ -21436,27 +21500,27 @@ +@@ -21436,27 +21493,27 @@ msgid "MMIX Internal: %s is not a shiftable int" msgstr "MMIX internt: %s är inte ett heltal som kan skiftas" @@ -205131,7 +208600,7 @@ #, gcc-internal-format msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u" msgstr "justering (%u) för %s överskrider maximal justering för globala common-data. Använder %u" -@@ -21616,322 +21680,322 @@ +@@ -21616,322 +21673,322 @@ msgid "junk at end of #pragma longcall" msgstr "skräp vid slutet av #pragma longcall" @@ -205518,7 +208987,7 @@ #, gcc-internal-format msgid "emitting conditional microcode insn %s\t[%s] #%d" msgstr "matar ut villkorlig mikrokodsinstruktion %s\t[%s] nr %d" -@@ -21985,7 +22049,7 @@ +@@ -21985,7 +22042,7 @@ msgid "-m64 not supported in this configuration" msgstr "-m64 stöds inte i denna konfiguration" @@ -205527,7 +208996,7 @@ #, gcc-internal-format msgid "-m64 requires a PowerPC64 cpu" msgstr "-m64 kräver en PowerPC64-CPU" -@@ -22160,17 +22224,17 @@ +@@ -22160,17 +22217,17 @@ msgid "total size of local variables exceeds architecture limit" msgstr "totala storleken på lokala variabler överskrider arkitekturens gräns" @@ -205548,7 +209017,7 @@ #, gcc-internal-format msgid "%qs uses dynamic stack allocation" msgstr "%qs använder dynamisk stackallokering" -@@ -22180,58 +22244,58 @@ +@@ -22180,58 +22237,58 @@ msgid "-fPIC and -G are incompatible" msgstr "-fPIC och -G är inkompatibla" @@ -205618,7 +209087,7 @@ #, gcc-internal-format msgid "Need a call-clobbered target register" msgstr "Behöver ett anropsöverskrivet målregister" -@@ -22283,22 +22347,22 @@ +@@ -22283,22 +22340,22 @@ msgid "-mrelax is only supported for RTP PIC" msgstr "-mrelax stöds endast för RTP PIC" @@ -205645,7 +209114,7 @@ #, gcc-internal-format msgid "-mcmodel= is not supported on 32 bit systems" msgstr "-mcmodel= stöds inte på 32-bitars system" -@@ -22308,12 +22372,12 @@ +@@ -22308,12 +22365,12 @@ msgid "insufficient arguments to overloaded function %s" msgstr "för få argument till den överlagrade funktionen %qs" @@ -205660,7 +209129,7 @@ #, gcc-internal-format msgid "parameter list does not match a valid signature for %s()" msgstr "parameterlistan stämmer inte med någon giltig signatur för %s()" -@@ -22323,27 +22387,27 @@ +@@ -22323,27 +22380,27 @@ msgid "Unknown architecture '%s'" msgstr "Okänd arkitektur \"%s\"" @@ -205693,7 +209162,7 @@ #, gcc-internal-format msgid "%d least significant bits of %s are ignored." msgstr "de %d minst signifikanta bitarna av %s ignoreras." -@@ -22520,420 +22584,420 @@ +@@ -22520,420 +22577,420 @@ msgid "only uninitialized variables can be placed in a .bss section" msgstr "endast oinitierade variabler kan placeras i en .bss-sektion" @@ -206197,7 +209666,7 @@ #, gcc-internal-format msgid "invalid initialization of reference of type %qT from expression of type %qT" msgstr "ogiltig initiering av referens av typ %qT från uttryck av typ %qT" -@@ -23034,7 +23098,7 @@ +@@ -23034,7 +23091,7 @@ msgid " by %q+D" msgstr " av %q+D" @@ -206206,7 +209675,7 @@ #, 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" -@@ -23044,7 +23108,7 @@ +@@ -23044,7 +23101,7 @@ 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" @@ -206215,7 +209684,7 @@ #, gcc-internal-format msgid "private member %q+#D in anonymous union" msgstr "privat medlem %q+#D i anonym union" -@@ -23054,7 +23118,7 @@ +@@ -23054,7 +23111,7 @@ msgid "private member %q+#D in anonymous struct" msgstr "privat medlem %q+#D i anonym post" @@ -206224,7 +209693,7 @@ #, gcc-internal-format msgid "protected member %q+#D in anonymous union" msgstr "skyddad medlem %q+#D i anonym union" -@@ -23201,97 +23265,97 @@ +@@ -23201,97 +23258,97 @@ 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 få standardvärde i klasskroppen" @@ -206341,7 +209810,7 @@ #, gcc-internal-format msgid "argument of type %qT does not match %qT" msgstr "argument av typen %qT matchar inte %qT" -@@ -23301,12 +23365,12 @@ +@@ -23301,12 +23358,12 @@ #. A name N used in a class S shall refer to the same declaration #. in its context and when re-evaluated in the completed scope of #. S. @@ -206356,7 +209825,7 @@ #, gcc-internal-format msgid "changes meaning of %qD from %q+#D" msgstr "byter betydelse av %qD från %q+#D" -@@ -23316,228 +23380,248 @@ +@@ -23316,228 +23373,248 @@ msgid "continue statement not within loop or switch" msgstr "continue-sats som inte är i en loop eller switch" @@ -206386,27 +209855,27 @@ -#: cp/cvt.c:452 +#: cp/cvt.c:371 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "initialization of volatile reference type %q#T from rvalue of type %qT" -+msgstr "ogiltig initiering av icke konstant referens av typ %qT från ett r-värde av typ %qT" ++msgstr "initiering av volatile referens av typ %q#T från ett r-värde av typ %qT" + +#: cp/cvt.c:374 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "conversion to volatile reference type %q#T from rvalue of type %qT" -+msgstr "ogiltig initiering av icke konstant referens av typ %qT från ett r-värde av typ %qT" ++msgstr "konvertering till volatile referens av typ %q#T från ett r-värde av typ %qT" + +#: cp/cvt.c:377 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "initialization of non-const reference type %q#T from rvalue of type %qT" -+msgstr "ogiltig initiering av icke konstant referens av typ %qT från ett r-värde av typ %qT" ++msgstr "initiering av icke konstant referens av typ %q#T från ett r-värde av typ %qT" + +#: cp/cvt.c:380 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "conversion to non-const reference type %q#T from rvalue of type %qT" -+msgstr "ogiltig initiering av icke konstant referens av typ %qT från ett r-värde av typ %qT" ++msgstr "konvertering till icke konstant referens av typ %q#T från ett r-värde av typ %qT" + +#: cp/cvt.c:453 - #, gcc-internal-format ++#, gcc-internal-format msgid "conversion from %qT to %qT discards qualifiers" msgstr "konvertering från %qT till %qT kastar kvalificerare" @@ -206650,7 +210119,7 @@ #, gcc-internal-format msgid "%q+D has a previous declaration as %q#D" msgstr "%q+D har en tidigare deklaration som %q#D" -@@ -23549,63 +23633,63 @@ +@@ -23549,63 +23626,63 @@ #. A namespace-name defined at global scope shall not be #. declared as the name of any other entity in any global scope #. of the program. @@ -206726,7 +210195,7 @@ #, gcc-internal-format msgid "after previous declaration %q+D" msgstr "efter tidigare deklaration %q+D" -@@ -23618,43 +23702,43 @@ +@@ -23618,43 +23695,43 @@ #. that specialization that would cause an implicit #. instantiation to take place, in every translation unit in #. which such a use occurs. @@ -206778,7 +210247,7 @@ #, gcc-internal-format msgid "%q+D redeclared inline without % attribute" msgstr "%q+D omdeklarerad inline utan attributet %" -@@ -23662,329 +23746,329 @@ +@@ -23662,329 +23739,329 @@ #. is_primary= #. is_partial= #. is_friend_decl= @@ -207173,7 +210642,7 @@ #, gcc-internal-format msgid "zero-size array %qD" msgstr "vektor med storlek noll %qD" -@@ -23992,264 +24076,264 @@ +@@ -23992,264 +24069,264 @@ #. An automatic variable with an incomplete type: that is an error. #. Don't talk about array types here, since we took care of that #. message in grokdeclarator. @@ -207491,7 +210960,7 @@ #, gcc-internal-format msgid "no %q#D member function declared in class %qT" msgstr "ingen medlemsfunktion %q#D deklarerad i klassen %qT" -@@ -24258,671 +24342,671 @@ +@@ -24258,671 +24335,671 @@ #. no linkage can only be used to declare extern "C" #. entities. Since it's not always an error in the #. ISO C++ 90 Standard, we only issue a warning. @@ -208296,7 +211765,7 @@ #, 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" -@@ -24939,133 +25023,133 @@ +@@ -24939,133 +25016,133 @@ #. the rest of the compiler does not correctly #. handle the initialization unless the member is #. static so we make it static below. @@ -208456,7 +211925,7 @@ #, gcc-internal-format msgid "parameter packs must be at the end of the parameter list" msgstr "parameterpaket måste vara vid slutet av parameterlistan" -@@ -25085,163 +25169,163 @@ +@@ -25085,163 +25162,163 @@ #. 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. @@ -208652,7 +212121,7 @@ #, gcc-internal-format msgid "%qT referred to as enum" msgstr "%qT refererad till som enum" -@@ -25253,78 +25337,78 @@ +@@ -25253,78 +25330,78 @@ #. void f(class C); // No template header here #. #. then the required template argument is missing. @@ -208747,7 +212216,7 @@ #, 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" -@@ -25333,217 +25417,222 @@ +@@ -25333,217 +25410,222 @@ #. #. IF no integral type can represent all the enumerator values, the #. enumeration is ill-formed. @@ -208939,12 +212408,12 @@ -#: cp/decl2.c:890 +#: cp/decl2.c:917 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "invalid initializer for member function %qD" -+msgstr "ogiltigt startvärde för medlem %qE" ++msgstr "ogiltigt initierare för medlemsfunktion %qD" + +#: cp/decl2.c:923 - #, gcc-internal-format ++#, gcc-internal-format msgid "initializer specified for static member function %qD" msgstr "initierare angiven för statisk medlemsfunktion %qD" @@ -209013,7 +212482,7 @@ #, gcc-internal-format msgid "% must return type %qT" msgstr "% måste returnera typ %qT" -@@ -25552,107 +25641,114 @@ +@@ -25552,107 +25634,114 @@ #. #. The first parameter shall not have an associated default #. argument. @@ -209095,7 +212564,7 @@ +#: cp/decl2.c:4017 #, gcc-internal-format +msgid "converting lambda which uses %<...%> to function pointer" -+msgstr "" ++msgstr "konverterar lambda som använder %<...%> till funktionspekare" + +#: cp/decl2.c:4022 cp/search.c:1892 +#, gcc-internal-format @@ -209149,7 +212618,7 @@ #, gcc-internal-format msgid "defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x" msgstr "standardvärda och raderade funktioner är endast tillgängliga med -std=c++0x eller -std=gnu++0x" -@@ -25913,7 +26009,7 @@ +@@ -25913,7 +26002,7 @@ msgid "bad array initializer" msgstr "felaktig vektorinitierare" @@ -209158,7 +212627,7 @@ #, gcc-internal-format msgid "%qT is not a class type" msgstr "%qT är inte en klasstyp" -@@ -25963,7 +26059,7 @@ +@@ -25963,7 +26052,7 @@ msgid "no suitable %qD found in class %qT" msgstr "ingen lämplig %qD i klassen %qT" @@ -209167,7 +212636,7 @@ #, gcc-internal-format msgid "request for member %qD is ambiguous" msgstr "begäran av medlem %qD är tvetydig" -@@ -26088,92 +26184,102 @@ +@@ -26088,93 +26177,103 @@ msgid "(if you use %<-fpermissive%>, G++ will accept your code, but allowing the use of an undeclared name is deprecated)" msgstr "(om du använder %<-fpermissive%>, kommer G++ acceptera din kod, men man bör undvika att tillåta användning av ett odeklarerat namn)" @@ -209211,7 +212680,7 @@ +#: cp/mangle.c:3071 #, gcc-internal-format +msgid "-fabi-version=4 (or =0) avoids this error with a change in vector mangling" -+msgstr "" ++msgstr "-fabi-version=4 (eller =0) undviker detta fel med en ändring av vektormanglingen" + +#: cp/method.c:396 +#, gcc-internal-format @@ -209280,15 +212749,16 @@ -#: cp/method.c:1119 +#: cp/method.c:1081 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "%qD declared virtual cannot be defaulted in the class body" -+msgstr "%qD deklarerad explicit kan inte få standardvärde i klasskroppen" ++msgstr "%qD deklarerad virtuell kan inte få standardvärde i klasskroppen" + +#: cp/method.c:1130 - #, gcc-internal-format ++#, 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" -@@ -26281,7 +26387,7 @@ + +@@ -26281,7 +26380,7 @@ msgid " using obsolete binding at %q+D" msgstr " använder föråldrad bindning vid %q+D" @@ -209297,7 +212767,7 @@ #, gcc-internal-format msgid "(if you use %<-fpermissive%> G++ will accept your code)" msgstr "(om du använder %<--fpermissive%> kommer G++ acceptera din kod)" -@@ -26381,52 +26487,52 @@ +@@ -26381,52 +26480,52 @@ msgid "explicit qualification in declaration of %qD" msgstr "explicit-kvalifikation i deklaration av %qD" @@ -209360,7 +212830,7 @@ #, gcc-internal-format msgid "XXX leaving pop_everything ()\n" msgstr "XXX lämnar pop_everything ()\n" -@@ -26436,577 +26542,607 @@ +@@ -26436,577 +26535,607 @@ msgid "making multiple clones of %qD" msgstr "gör fler kloner av %qD" @@ -209578,14 +213048,14 @@ msgstr "typedef-namnet %qD använt som destruerardeklarerare" +#: cp/parser.c:4552 cp/parser.c:6165 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "types may not be defined in casts" -+msgstr "nya typer får inte definieras i en returtyp" ++msgstr "typer får inte definieras i typkonverteringar" + +#: cp/parser.c:4615 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "types may not be defined in a % expression" -+msgstr "nya typer får inte definieras i en returtyp" ++msgstr "typer får inte definieras i ett %-uttryck" + #. Warn the user that a compound literal is not #. allowed in standard C++. @@ -209621,12 +213091,12 @@ -#: cp/parser.c:5964 +#: cp/parser.c:5852 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "types may not be defined in a new-type-id" -+msgstr "nya typer får inte definieras i en returtyp" ++msgstr "typer får inte definieras i en new-type-id" + +#: cp/parser.c:5976 - #, gcc-internal-format ++#, gcc-internal-format msgid "expression in new-declarator must have integral or enumeration type" msgstr "uttryck i new-deklarerare måste ha heltals- eller uppräkningstyp" @@ -209690,9 +213160,9 @@ msgstr "%<%T::%D%> namnger konstrueraren, inte typen" +#: cp/parser.c:8113 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "types may not be defined in conditions" -+msgstr "nya typer får inte definieras i en returtyp" ++msgstr "typer får inte definieras i villkor" + #. Issue a warning about this use of a GNU extension. -#: cp/parser.c:8455 @@ -209747,12 +213217,12 @@ -#: cp/parser.c:9771 +#: cp/parser.c:9523 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "types may not be defined in % expressions" -+msgstr "nya typer får inte definieras i en returtyp" ++msgstr "typer får inte definieras i %-uttryck" + +#: cp/parser.c:9778 - #, gcc-internal-format ++#, gcc-internal-format msgid "invalid use of % in conversion operator" msgstr "ogiltig användning av % i konverteringsoperator" @@ -209963,12 +213433,12 @@ -#: cp/parser.c:15243 +#: cp/parser.c:15039 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "types may not be defined in parameter types" -+msgstr "nya typer får inte definieras i en returtyp" ++msgstr "typer får inte definieras i parametertyper" + +#: cp/parser.c:15257 - #, gcc-internal-format ++#, gcc-internal-format msgid "file ends in default argument" msgstr "filen slutar i standardargument" @@ -210064,17 +213534,17 @@ -#: cp/parser.c:18289 +#: cp/parser.c:17229 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "types may not be defined in an exception-specification" -+msgstr "nya typer får inte definieras i en returtyp" ++msgstr "typer får inte definieras i en undantagsspecifikation" + +#: cp/parser.c:17410 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "types may not be defined in exception-declarations" -+msgstr "nya typer får inte definieras i en returtyp" ++msgstr "typer får inte definieras i undantagsdeklarationer" + +#: cp/parser.c:18303 - #, gcc-internal-format ++#, gcc-internal-format msgid "specializing member %<%T::%E%> requires %%> syntax" msgstr "specialisering av medlem %<%T::%E%> kräver %%>-syntax" @@ -210089,7 +213559,7 @@ #, gcc-internal-format msgid "too few template-parameter-lists" msgstr "för få mallparameterlistor" -@@ -27015,256 +27151,256 @@ +@@ -27015,256 +27144,256 @@ #. something like: #. #. template template void S::f(); @@ -210396,7 +213866,7 @@ #, gcc-internal-format msgid "%qD is not declared in %qD" msgstr "%qD inte deklarerad i %qD" -@@ -27277,102 +27413,129 @@ +@@ -27277,110 +27406,137 @@ #. program is ill-formed. #. #. Similar language is found in [temp.explicit]. @@ -210491,14 +213961,13 @@ msgstr "mallargument %qE berör mallparametrar" -#: cp/pt.c:3947 --#, gcc-internal-format ++#: cp/pt.c:4022 + #, gcc-internal-format -msgid "type %qT of template argument %qE depends on template parameter(s)" -msgstr "typ %qT för mallargument %qE beror på mallparametrar" -+#: cp/pt.c:4022 -+#, fuzzy, gcc-internal-format +msgid "type %qT of template argument %qE depends on a template parameter" +msgid_plural "type %qT of template argument %qE depends on template parameters" -+msgstr[0] "typ %qT för mallargument %qE beror på mallparametrar" ++msgstr[0] "typ %qT för mallargument %qE beror på en mallparameter" +msgstr[1] "typ %qT för mallargument %qE beror på mallparametrar" -#: cp/pt.c:4054 @@ -210521,35 +213990,35 @@ -#: cp/pt.c:4267 +#: cp/pt.c:4190 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "default template arguments may not be used in function template friend re-declaration" -+msgstr "standardargument är inte tillåtna i deklaration av vänmallspecialisering %qD" ++msgstr "standardmallargument får inte användas i vänomdeklaration av funktionsmall" + +#: cp/pt.c:4193 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "default template arguments may not be used in function template friend declarations" -+msgstr "standardargument är inte tillåtna i deklaration av vänmallspecialisering %qD" ++msgstr "standardmallargument får inte användas i vändeklarerade funktionsmallar" + +#: cp/pt.c:4196 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "default template arguments may not be used in function templates without -std=c++0x or -std=gnu++0x" -+msgstr "standardvärda och raderade funktioner är endast tillgängliga med -std=c++0x eller -std=gnu++0x" ++msgstr "standarmallargument får inte användas i funktionsmallar utan -std=c++0x eller -std=gnu++0x" + +#: cp/pt.c:4199 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "default template arguments may not be used in partial specializations" -+msgstr "mallparameter används inte i partiell specialisering:" ++msgstr "standardmallargument får inte användas i partiella specialiseringar" + +#: cp/pt.c:4202 cp/pt.c:4253 -+#, fuzzy, gcc-internal-format ++#, gcc-internal-format +msgid "default argument for template parameter for class enclosing %qD" -+msgstr "standardargumentet för parameter av typen %qT har typen %qT" ++msgstr "standardargumentet för mallparameter för klass om omsluter %qD" + +#: cp/pt.c:4346 - #, gcc-internal-format ++#, gcc-internal-format msgid "template class without a name" msgstr "mallklass utan ett namn" -@@ -27380,7 +27543,7 @@ + #. [temp.mem] #. #. A destructor shall not be a member template. @@ -210558,7 +214027,7 @@ #, gcc-internal-format msgid "destructor %qD declared as member template" msgstr "destrueraren %qD deklarerad som medlemsmall" -@@ -27390,72 +27553,76 @@ +@@ -27390,72 +27546,76 @@ #. An allocation function can be a function #. template. ... Template allocation functions shall #. have two or more parameters. @@ -210623,25 +214092,23 @@ msgstr "mallspecificerare inte angivna i deklarationen av %qD" -#: cp/pt.c:4613 --#, gcc-internal-format ++#: cp/pt.c:4693 + #, gcc-internal-format -msgid "redeclared with %d template parameter(s)" -msgstr "omdeklarerad utan %d mallparametrar" -+#: cp/pt.c:4693 -+#, fuzzy, gcc-internal-format +msgid "redeclared with %d template parameter" +msgid_plural "redeclared with %d template parameters" -+msgstr[0] "omdeklarerad utan %d mallparametrar" -+msgstr[1] "omdeklarerad utan %d mallparametrar" ++msgstr[0] "omdeklarerad med %d mallparameter" ++msgstr[1] "omdeklarerad med %d mallparametrar" -#: cp/pt.c:4615 --#, gcc-internal-format ++#: cp/pt.c:4697 + #, gcc-internal-format -msgid "previous declaration %q+D used %d template parameter(s)" -msgstr "tidigare deklaration av %q+D använde %d mallparametrar" -+#: cp/pt.c:4697 -+#, fuzzy, gcc-internal-format +msgid "previous declaration %q+D used %d template parameter" +msgid_plural "previous declaration %q+D used %d template parameters" -+msgstr[0] "tidigare deklaration av %q+D använde %d mallparametrar" ++msgstr[0] "tidigare deklaration av %q+D använde %d mallparameter" +msgstr[1] "tidigare deklaration av %q+D använde %d mallparametrar" -#: cp/pt.c:4649 @@ -210655,7 +214122,7 @@ #, gcc-internal-format msgid "redeclared here as %q#D" msgstr "omdeklarerad här som %q#D" -@@ -27464,219 +27631,219 @@ +@@ -27464,219 +27624,219 @@ #. #. A template-parameter may not be given default arguments #. by two different declarations in the same scope. @@ -210896,12 +214363,12 @@ msgstr "för malldeklaration %q+D" -#: cp/pt.c:6918 --#, gcc-internal-format --msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD" +#: cp/pt.c:7060 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +-msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD" +-msgstr "mallinstansieringsdjupet överskrider maxvärdet på %d (använd -ftemplate-depth-NN för att öka maxvärdet) vid instansiering av %qD" +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-NN för att öka maxvärdet) vid instansiering av %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:8184 +#: cp/pt.c:8326 @@ -210920,7 +214387,7 @@ #, gcc-internal-format msgid "instantiation of %q+D as type %qT" msgstr "instansiering av %q+D som typ %qT" -@@ -27694,237 +27861,242 @@ +@@ -27694,237 +27854,242 @@ #. #. is an attempt to declare a variable with function #. type. @@ -211210,7 +214677,7 @@ #, gcc-internal-format msgid "duplicate explicit instantiation of %q#T" msgstr "dubblerad explicit instansiering av %q#T" -@@ -27936,32 +28108,37 @@ +@@ -27936,32 +28101,37 @@ #. member function or static data member of a class template #. shall be present in every translation unit in which it is #. explicitly instantiated. @@ -211221,12 +214688,12 @@ msgstr "explicit instansiering av %qD men ingen definition tillgänglig" -#: cp/pt.c:16754 --#, 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)" +#: cp/pt.c:16910 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +-msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth-NN to increase the maximum)" +-msgstr "mallinstansieringsdjupet överskrider maxvärdet på %d vid instansiering av %qD, möjligen från generering av virtuell tabell (använd -ftemplate-depth-NN för att öka maxvärdet)" +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 %qD, möjligen från generering av virtuell tabell (använd -ftemplate-depth-NN för att öka maxvärdet)" ++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:17109 +#: cp/pt.c:17265 @@ -211242,12 +214709,12 @@ -#: cp/pt.c:18156 +#: cp/pt.c:18315 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "variable %q#D with % type used in its own initializer" -+msgstr "variabeln %D av typen % måste vara oinitierad" ++msgstr "variabeln %q#D med %-typ använd i sin egen initierare" + +#: cp/pt.c:18337 - #, gcc-internal-format ++#, gcc-internal-format msgid "unable to deduce %qT from %qE" msgstr "kan inte härleda %qT från %qE" @@ -211256,7 +214723,7 @@ #, gcc-internal-format msgid "inconsistent deduction for %qT: %qT and then %qT" msgstr "inkonsistent härledning för %qT: %qT och sedan %qT" -@@ -28011,431 +28188,431 @@ +@@ -28011,431 +28181,431 @@ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)" msgstr "kan inte dynamic_cast %qE (av typ %q#T) till typ %q#T (%s)" @@ -211773,7 +215240,7 @@ #, gcc-internal-format msgid "lang_* check: failed in %s, at %s:%d" msgstr "lang_*-kontroll: misslyckades i %s, vid %s:%d" -@@ -28485,445 +28662,440 @@ +@@ -28485,445 +28655,442 @@ msgid "conditional expression between distinct pointer-to-member types %qT and %qT lacks a cast" msgstr "villkorsuttryck mellan olika pekare-på-medlem-typer %qT och %qT saknar en typkonvertering" @@ -211994,12 +215461,13 @@ msgstr "%qE kan inte användas som en funktion" -#: cp/typeck.c:3303 --#, gcc-internal-format --msgid "too many arguments to %s %q+#D" ++# Felrapporterat: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40883 +#: cp/typeck.c:3312 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +-msgid "too many arguments to %s %q+#D" +-msgstr "för många argument till %s %+#D" +msgid "too many arguments to %s %q#D" - msgstr "för många argument till %s %+#D" ++msgstr "för många argument till %s %#D" -#: cp/typeck.c:3305 cp/typeck.c:3418 +#: cp/typeck.c:3318 @@ -212025,12 +215493,13 @@ msgstr "parametern %P har ofullständig typ %qT" -#: cp/typeck.c:3416 --#, gcc-internal-format --msgid "too few arguments to %s %q+#D" ++# Felrapporterat: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40883 +#: cp/typeck.c:3426 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +-msgid "too few arguments to %s %q+#D" +-msgstr "för få argument till %s %q+#D" +msgid "too few arguments to %s %q#D" - msgstr "för få argument till %s %q+#D" ++msgstr "för få argument till %s %q#D" -#: cp/typeck.c:3421 +#: cp/typeck.c:3432 @@ -212125,16 +215594,20 @@ msgstr "ogiltig användning av en pekare till en ofullständig typ i pekararitmetik" -#: cp/typeck.c:4423 +-#, fuzzy, gcc-internal-format +#: cp/typeck.c:4510 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "taking address of constructor %qE" - msgstr "tar adress till något temporärt" +-msgstr "tar adress till något temporärt" ++msgstr "tar adressen till konstrueraren %qE" -#: cp/typeck.c:4424 +-#, fuzzy, gcc-internal-format +#: cp/typeck.c:4511 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "taking address of destructor %qE" - msgstr "tar adress till något temporärt" +-msgstr "tar adress till något temporärt" ++msgstr "tar adressen till destrueraren %qE" -#: cp/typeck.c:4438 +#: cp/typeck.c:4525 @@ -212264,22 +215737,28 @@ msgstr "ingen kontext för att lösa upp typen på %qE" -#: cp/typeck.c:5394 +-#, fuzzy, gcc-internal-format +#: cp/typeck.c:5481 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "cast from type %qT to type %qT casts away qualifiers" - msgstr "konvertering från typ %qT till typ %qT slänger bort konstanthet" +-msgstr "konvertering från typ %qT till typ %qT slänger bort konstanthet" ++msgstr "konvertering från typ %qT till typ %qT slänger bort kvalificerare" -#: cp/typeck.c:5399 +-#, fuzzy, gcc-internal-format +#: cp/typeck.c:5486 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "static_cast from type %qT to type %qT casts away qualifiers" - msgstr "static_cast från typ %qT till typ %qT slänger bort konstanthet" +-msgstr "static_cast från typ %qT till typ %qT slänger bort konstanthet" ++msgstr "static_cast från typ %qT till typ %qT slänger bort kvalificerare" -#: cp/typeck.c:5404 +-#, fuzzy, gcc-internal-format +#: cp/typeck.c:5491 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "reinterpret_cast from type %qT to type %qT casts away qualifiers" - msgstr "reinterpret_cast från typ %qT till typ %qT slänger bort konstanthet" +-msgstr "reinterpret_cast från typ %qT till typ %qT slänger bort konstanthet" ++msgstr "reinterpret_cast från typ %qT till typ %qT slänger bort kvalificerare" -#: cp/typeck.c:5747 +#: cp/typeck.c:5834 @@ -212310,7 +215789,7 @@ #, gcc-internal-format msgid "cast from %qT to %qT increases required alignment of target type" msgstr "typkonvertering från %qT till %qT ökar kravet på justering för måltypen" -@@ -28932,165 +29104,165 @@ +@@ -28932,165 +29099,165 @@ #. where possible, and it is necessary in some cases. DR 195 #. addresses this issue, but as of 2004/10/26 is still in #. drafting. @@ -212508,7 +215987,252 @@ #, gcc-internal-format msgid "% must not return NULL unless it is declared % (or -fcheck-new is in effect)" msgstr "% får inte returnera NULL om den inte är deklarerad % (eller -fcheck-new är aktivt)" -@@ -29401,92 +29573,92 @@ +@@ -29101,9 +29268,9 @@ + msgstr "typen %qT är inte en bastyp för typen %qT" + + #: cp/typeck2.c:106 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "assignment of data-member %qD in read-only structure" +-msgstr "privat medlem %q+#D i anonym post" ++msgstr "tilldelning av datamedlem %qD i endast läsbar post" + + #: cp/typeck2.c:108 + #, gcc-internal-format +@@ -29111,39 +29278,39 @@ + msgstr "tilldelning (via \"asm\"-utdata) av datamedlem %qD i endast läsbar post" + + #: cp/typeck2.c:110 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "increment of data-member %qD in read-only structure" +-msgstr "ökning av pekare på okänd post" ++msgstr "ökning av datamedlem %qD i endast läsbar post" + + #: cp/typeck2.c:112 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "decrement of data-member %qD in read-only structure" +-msgstr "minskning av pekare på okänd post" ++msgstr "minskning av datamedlem %qD i endast läsbar post" + + #: cp/typeck2.c:116 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "assignment of read-only data-member %qD" +-msgstr "tilldelning till endast läsbar medlem %qD" ++msgstr "tilldelning till endast läsbar datamedlem %qD" + + #: cp/typeck2.c:118 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "assignment (via 'asm' output) of read-only data-member %qD" +-msgstr "tilldelning till endast läsbar medlem %qD" ++msgstr "tilldelning (via \"asm\"-utdata) till endast läsbar datamedlem %qD" + + #: cp/typeck2.c:120 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "increment of read-only data-member %qD" +-msgstr "ökning av endast läsbar medlem %qD" ++msgstr "ökning av endast läsbar datamedlem %qD" + + #: cp/typeck2.c:122 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "decrement of read-only data-member %qD" +-msgstr "minskning av endast läsbar medlem %qD" ++msgstr "minskning av endast läsbar datamedlem %qD" + + #: cp/typeck2.c:131 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "assignment of constant field %qD" +-msgstr "tilldelning till endast läsbar variabel %qD" ++msgstr "tilldelning till konstant fält %qD" + + #: cp/typeck2.c:133 + #, gcc-internal-format +@@ -29151,59 +29318,59 @@ + msgstr "tilldelning (via \"asm\"-utdata) av konstant fält %qD" + + #: cp/typeck2.c:135 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "increment of constant field %qD" +-msgstr "ökning av endast läsbar variabel %qD" ++msgstr "ökning av konstant fält %qD" + + #: cp/typeck2.c:137 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "decrement of constant field %qD" +-msgstr "minskning av endast läsbar variabel %qD" ++msgstr "minskning av konstant fält %qD" + + #: cp/typeck2.c:143 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "assignment (via 'asm' output) of read-only variable %qD" +-msgstr "tilldelning till endast läsbar variabel %qD" ++msgstr "tilldelning (via \"asm\"-utdata) till endast läsbar variabel %qD" + + #: cp/typeck2.c:153 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "assignment of read-only parameter %qD" +-msgstr "tilldelning till endast läsbar medlem %qD" ++msgstr "tilldelning till endast läsbar parameter %qD" + + #: cp/typeck2.c:155 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "assignment (via 'asm' output) of read-only parameter %qD" +-msgstr "tilldelning till endast läsbar medlem %qD" ++msgstr "tilldelning (via \"asm\"-utdata) till endast läsbar parameter %qD" + + #: cp/typeck2.c:157 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "increment of read-only parameter %qD" +-msgstr "ökning av endast läsbar medlem %qD" ++msgstr "ökning av endast läsbar parameter %qD" + + #: cp/typeck2.c:159 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "decrement of read-only parameter %qD" +-msgstr "minskning av endast läsbar medlem %qD" ++msgstr "minskning av endast läsbar parameter %qD" + + #: cp/typeck2.c:166 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "assignment of read-only reference %qD" +-msgstr "tilldelning till endast läsbar medlem %qD" ++msgstr "tilldelning till endast läsbar referens %qD" + + #: cp/typeck2.c:168 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "assignment (via 'asm' output) of read-only reference %qD" +-msgstr "tilldelning till endast läsbar medlem %qD" ++msgstr "tilldelning (via \"asm\"-utdata) till endast läsbar referens %qD" + + #: cp/typeck2.c:170 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "increment of read-only reference %qD" +-msgstr "ökning av endast läsbar medlem %qD" ++msgstr "ökning av endast läsbar referens %qD" + + #: cp/typeck2.c:172 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "decrement of read-only reference %qD" +-msgstr "minskning av endast läsbar medlem %qD" ++msgstr "minskning av endast läsbar referens %qD" + + #: cp/typeck2.c:176 + #, gcc-internal-format +@@ -29246,9 +29413,9 @@ + msgstr "minskning av funktion %qD" + + #: cp/typeck2.c:198 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "assignment (via 'asm' output) of read-only location %qE" +-msgstr "tilldelning till endast läsbar plats %qE" ++msgstr "tilldelning (via \"asm\"-utdata) till endast läsbar plats %qE" + + #: cp/typeck2.c:384 + #, gcc-internal-format +@@ -29292,9 +29459,9 @@ + msgstr "det går inte att allokera ett objekt av abstrakt typ %qT" + + #: cp/typeck2.c:413 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid " because the following virtual functions are pure within %qT:" +-msgstr "%J för följande virtuella funktioner är rena inuti %qT:" ++msgstr " för följande virtuella funktioner är rena inuti %qT:" + + #: cp/typeck2.c:417 + #, gcc-internal-format +@@ -29302,34 +29469,34 @@ + msgstr "\t%+#D" + + #: cp/typeck2.c:425 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid " since type %qT has pure virtual functions" +-msgstr "%J eftersom typen %qT har rent virtuella funktioner" ++msgstr " eftersom typen %qT har rent virtuella funktioner" + + #: cp/typeck2.c:455 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "%q+D has incomplete type" +-msgstr "%qD har en ofullständig typ" ++msgstr "%q+D har en ofullständig typ" + + #: cp/typeck2.c:468 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "invalid use of incomplete type %q#T" +-msgstr "ogiltig användning av ofullständig typedef %qD" ++msgstr "ogiltig användning av ofullständig typ %q#T" + + #: cp/typeck2.c:471 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "forward declaration of %q+#T" +-msgstr "deklaration av %q+#D" ++msgstr "framåtdeklaration av %q+#T" + + #: cp/typeck2.c:474 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "declaration of %q+#T" +-msgstr "deklaration av %q+#D" ++msgstr "deklaration av %q+#T" + + #: cp/typeck2.c:479 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "invalid use of %qT" +-msgstr "ogiltigt användning av %qD" ++msgstr "ogiltigt användning av %qT" + + #: cp/typeck2.c:495 + #, gcc-internal-format +@@ -29337,19 +29504,19 @@ + msgstr "ogiltig användning av medlem (glömde du %<&%>?)" + + #: cp/typeck2.c:504 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "invalid use of template type parameter %qT" +-msgstr "ogiltig användning av ofullständig typedef %qD" ++msgstr "ogiltig användning av malltypparameter %qT" + + #: cp/typeck2.c:509 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "invalid use of template template parameter %qT" +-msgstr "ogiltigt standardargument för en mallmallparameter" ++msgstr "ogiltigt standardargument för mallmallparameter %qT" + + #: cp/typeck2.c:515 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "invalid use of dependent type %qT" +-msgstr "ogiltig användning av ofullständig typedef %qD" ++msgstr "ogiltig användning av beroende typ %qT" + + #: cp/typeck2.c:523 + #, gcc-internal-format +@@ -29401,92 +29568,92 @@ 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" @@ -212619,7 +216343,7 @@ #, gcc-internal-format msgid "call to function which throws incomplete type %q#T" msgstr "anrop till funktion som kastar ofullständig typ %q#T" -@@ -29651,7 +29823,7 @@ +@@ -29651,7 +29818,7 @@ msgid "Iterator step at %L cannot be zero" msgstr "Iteratorsteg vid %L kan inte vara noll" @@ -212628,7 +216352,19 @@ #, gcc-internal-format msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L" msgstr "Olika CHARACTER-längder (%d/%d) i vektorkonstruerare vid %L" -@@ -30249,7 +30421,7 @@ +@@ -29900,9 +30067,9 @@ + msgstr "\"%s\"- och \"%s\"-argumenten till inbyggd \"%s\" vid %L måste ha samma sort %d/%d" + + #: fortran/check.c:2289 fortran/check.c:3244 +-#, fuzzy, gcc-internal-format ++#, gcc-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 ge åtminstone lika många element som det finns .TRUE.-värden i \"%s\" (%ld/%ld)" ++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)" + + #: fortran/check.c:2314 + #, gcc-internal-format +@@ -30249,7 +30416,7 @@ msgid "NULL() initialization at %C is ambiguous" msgstr "NULL()-initiering vid %C är tvetydig" @@ -212637,7 +216373,7 @@ #, gcc-internal-format msgid "Duplicate array spec for Cray pointee at %C" msgstr "Dubblerad vektorspecifikation för Cray-utpekad vid vid %C" -@@ -30289,7 +30461,7 @@ +@@ -30289,7 +30456,7 @@ msgid "Pointer initialization at %C requires '=>', not '='" msgstr "Pekarinitiering vid %C kräver \"=>\", inte \"=\"" @@ -212646,16 +216382,22 @@ #, gcc-internal-format msgid "Expected an initialization expression at %C" msgstr "Ett initieringsuttryck förväntades vid %C" -@@ -30460,7 +30632,7 @@ +@@ -30456,11 +30623,11 @@ + msgstr "%s-attribut vid %L är inte tillåtet utanför specifikationsdelen av en modul" + + #: fortran/decl.c:3198 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Fortran 2003: ASYNCHRONOUS attribute at %C" - msgstr "Fortran 2003: VALUE-attribut vid %C" +-msgstr "Fortran 2003: VALUE-attribut vid %C" ++msgstr "Fortran 2003: ASYNCHRONOUS-attribut vid %C" -#: fortran/decl.c:3244 fortran/decl.c:6115 +#: fortran/decl.c:3244 fortran/decl.c:6119 #, gcc-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" -@@ -30584,7 +30756,7 @@ +@@ -30584,7 +30751,7 @@ msgid "Unexpected junk after function declaration at %C" msgstr "Oväntat skräp efter funktionsdeklaration vid %C" @@ -212664,7 +216406,7 @@ #, gcc-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" -@@ -30629,7 +30801,7 @@ +@@ -30629,7 +30796,7 @@ msgid "Syntax error in PROCEDURE statement at %C" msgstr "Syntaxfel i PROCEDURE-sats vid %C" @@ -212673,7 +216415,7 @@ #, gcc-internal-format msgid "Expected '::' after binding-attributes at %C" msgstr "\"::\" förväntades efter bindningsattribut vid %C" -@@ -30665,8 +30837,8 @@ +@@ -30665,8 +30832,8 @@ msgstr "Formell argumentlista förväntades i funktionsdefinitionen vid %C" #: fortran/decl.c:4737 fortran/decl.c:4741 fortran/decl.c:4940 @@ -212684,7 +216426,7 @@ #, gcc-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" -@@ -30731,550 +30903,550 @@ +@@ -30731,550 +30898,550 @@ msgid "ENTRY statement at %C cannot appear in a contained procedure" msgstr "ENTRY-sats vid %C kan inte förekomma i en innesluten procedur" @@ -212972,16 +216714,20 @@ msgstr "Syntaxfel i VOLATILE-sats vid %C" -#: fortran/decl.c:6523 +-#, fuzzy, gcc-internal-format +#: fortran/decl.c:6527 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Fortran 2003: ASYNCHRONOUS statement at %C" - msgstr "Fortran 2003: CLASS-sats vid %C" +-msgstr "Fortran 2003: CLASS-sats vid %C" ++msgstr "Fortran 2003: ASYNCHRONOUS-sats vid %C" -#: fortran/decl.c:6565 +-#, fuzzy, gcc-internal-format +#: fortran/decl.c:6569 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Syntax error in ASYNCHRONOUS statement at %C" - msgstr "Syntaxfel i VALUE-sats vid %C" +-msgstr "Syntaxfel i VALUE-sats vid %C" ++msgstr "Syntaxfel i ASYNCHRONOUS-sats vid %C" -#: fortran/decl.c:6588 +#: fortran/decl.c:6592 @@ -213310,10 +217056,12 @@ msgstr "Tom FINAL vid %C" -#: fortran/decl.c:7849 +-#, fuzzy, gcc-internal-format +#: fortran/decl.c:7857 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Expected module procedure name at %C" - msgstr "Modulprocedurnamn förväntades vid %L" +-msgstr "Modulprocedurnamn förväntades vid %L" ++msgstr "Modulprocedurnamn förväntades vid %C" -#: fortran/decl.c:7859 +#: fortran/decl.c:7867 @@ -213344,7 +217092,7 @@ #, gcc-internal-format msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C" msgstr "Syntaxfel i !GCC$ ATTRIBUTES-sats vid %C" -@@ -31289,367 +31461,362 @@ +@@ -31289,367 +31456,362 @@ msgid "INTENT(%s) actual argument at %L might interfere with actual argument at %L." msgstr "Aktuellt INTENT(%s)-argument vid %L kan störa det aktuella argumentet vid %L." @@ -213433,10 +217181,12 @@ msgstr "Numeriska operander krävs i uttryck vid %L" -#: fortran/expr.c:2075 +-#, fuzzy, gcc-internal-format +#: fortran/expr.c:2076 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Invalid initialization expression for ALLOCATABLE component '%s' in structure constructor at %L" - msgstr "Ingen initierare för komponent \"%s\" angiven i postkonstrueraren vid %C!" +-msgstr "Ingen initierare för komponent \"%s\" angiven i postkonstrueraren vid %C!" ++msgstr "Ogiltigt initieringsuttryck för ALLOCATABLE-komponent \"%s\" i postkonstrueraren vid %L" -#: fortran/expr.c:2172 +#: fortran/expr.c:2173 @@ -213457,10 +217207,12 @@ msgstr "Utökning: Beräkning av ett initieringuttryck utanför standarden vid %L" -#: fortran/expr.c:2317 +-#, fuzzy, gcc-internal-format +#: fortran/expr.c:2318 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Function '%s' in initialization expression at %L must be an intrinsic function" - msgstr "Funktionen \"%s\" i initieringsuttrycket vid %L måste vara en inbyggd eller en specifikationsfunktion" +-msgstr "Funktionen \"%s\" i initieringsuttrycket vid %L måste vara en inbyggd eller en specifikationsfunktion" ++msgstr "Funktionen \"%s\" i initieringsuttrycket vid %L måste vara en inbyggd funktion" -#: fortran/expr.c:2329 +#: fortran/expr.c:2330 @@ -213783,7 +217535,7 @@ #, gcc-internal-format msgid "Pointer assignment target has PROTECTED attribute at %L" msgstr "Pekartilldelningsmålet har attributet PROTECTED vid %L" -@@ -31664,412 +31831,412 @@ +@@ -31664,412 +31826,412 @@ msgid "can't open input file: %s" msgstr "Kan inte öppna indatafil: %s" @@ -213806,10 +217558,12 @@ msgstr "Attrapprocedur \"%s\" vid %C kan inte ha generiskt gränssnitt" -#: fortran/interface.c:253 +-#, fuzzy, gcc-internal-format +#: fortran/interface.c:254 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Fortran 2003: ABSTRACT INTERFACE at %C" - msgstr "Fortran 2003: ABSTRACT INTERFACE vid %L" +-msgstr "Fortran 2003: ABSTRACT INTERFACE vid %L" ++msgstr "Fortran 2003: ABSTRACT INTERFACE vid %C" -#: fortran/interface.c:261 +#: fortran/interface.c:262 @@ -213938,10 +217692,12 @@ msgstr "Tvetydiga gränssnitt \"%s\" och \"%s\" i %s vid %L" -#: fortran/interface.c:1143 +-#, fuzzy, gcc-internal-format +#: fortran/interface.c:1144 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Although not referenced, '%s' has ambiguous interfaces at %L" - msgstr "Även om den inte refereras har \"%s\" vid %L tvetydiga gränssnitt" +-msgstr "Även om den inte refereras har \"%s\" vid %L tvetydiga gränssnitt" ++msgstr "Fast orefererad har \"%s\" tvetydiga gränssnitt vid %L" -#: fortran/interface.c:1177 +#: fortran/interface.c:1178 @@ -214148,10 +217904,12 @@ msgstr "Procedur \"%s\" anropad med ett implicit gränssnitt vid %L" -#: fortran/interface.c:2394 +-#, fuzzy, gcc-internal-format +#: fortran/interface.c:2395 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Procedure '%s' called at %L is not explicitly declared" - msgstr "Proceduren \"%s\" i %s vid %L har inget explicit gränssnitt" +-msgstr "Proceduren \"%s\" i %s vid %L har inget explicit gränssnitt" ++msgstr "Proceduren \"%s\" anropad vid %L är inte explicit deklarerad" -#: fortran/interface.c:2406 +#: fortran/interface.c:2407 @@ -214278,7 +218036,7 @@ #, gcc-internal-format msgid "'%s' declared at %L is also the name of an intrinsic. It can only be called via an explicit interface or if declared EXTERNAL." msgstr "\"%s\" deklarerad vid %L är också namnet på en inbyggd. Den kan bara anropas via ett explicit gränssnitt eller om den deklareras EXTERNAL." -@@ -32455,7 +32622,7 @@ +@@ -32455,7 +32617,7 @@ msgstr "Det går inte att skriva till intern filenhet \"%s\" vid %C inuti en PURE-procedur" #. A general purpose syntax error. @@ -214287,7 +218045,19 @@ #, gcc-internal-format msgid "Syntax error in %s statement at %C" msgstr "Syntaxfel i %s-sats vid %C" -@@ -33095,132 +33262,132 @@ +@@ -32762,9 +32924,9 @@ + msgstr "Allokeringsobjekt vid %C är inte en pekare på annat än procedur eller en allokerbar variabel" + + #: fortran/match.c:2507 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "Shape specification for allocatable scalar at %C" +-msgstr "Felaktig specifikation för vektor med förmodad storlek vid %C" ++msgstr "Formspecifikation för allokerbar skalär vid %C" + + #: fortran/match.c:2524 fortran/match.c:2778 + #, gcc-internal-format +@@ -33095,132 +33257,132 @@ msgid "Error writing modules file: %s" msgstr "Fel när modulfil skrevs: %s" @@ -214400,10 +218170,12 @@ msgstr "Fortran 2003: inbyggd modul ISO_FORTRAN_ENV vid %C" -#: fortran/module.c:5469 +-#, fuzzy, gcc-internal-format +#: fortran/module.c:5484 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Fortran 2003: ISO_C_BINDING module at %C" - msgstr "Fortran 2003: ISO_C_BINDING-modul vid %L" +-msgstr "Fortran 2003: ISO_C_BINDING-modul vid %L" ++msgstr "Fortran 2003: ISO_C_BINDING-modul vid %C" -#: fortran/module.c:5479 +#: fortran/module.c:5494 @@ -214436,17 +218208,19 @@ msgstr "Tolkningsfel vid kontroll av modulversion för filen \"%s\" öppnad vid %C" -#: fortran/module.c:5524 +-#, fuzzy, gcc-internal-format +#: fortran/module.c:5539 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Wrong module version '%s' (expected '%s') for file '%s' opened at %C" - msgstr "Fel modulversion \"%s\" (\"%s\" förväntades) för fil \"%s\" öppnad vid %C" +-msgstr "Fel modulversion \"%s\" (\"%s\" förväntades) för fil \"%s\" öppnad vid %C" ++msgstr "Fel modulversion \"%s\" (\"%s\" förväntades) för filen \"%s\" öppnad vid %C" -#: fortran/module.c:5537 +#: fortran/module.c:5552 #, gcc-internal-format msgid "Can't USE the same module we're building!" msgstr "Det går inta att USE samma modul vi bygger!" -@@ -33255,7 +33422,7 @@ +@@ -33255,7 +33417,7 @@ msgid "Syntax error in !$OMP THREADPRIVATE list at %C" msgstr "Syntaxfel i !$OMP THREADPRIVATE-lista vid %C" @@ -214455,7 +218229,7 @@ #, gcc-internal-format msgid "IF clause at %L requires a scalar LOGICAL expression" msgstr "IF-klausul vid %L kräver ett skalärt LOGICAL-uttryck" -@@ -33456,102 +33623,102 @@ +@@ -33456,102 +33618,102 @@ msgid "not enough DO loops for collapsed !$OMP DO at %L" msgstr "inte tillräckligt med DO-slingor för kollapsad !$OMP DO vid %L" @@ -214578,7 +218352,7 @@ #, gcc-internal-format msgid "Maximum subrecord length cannot exceed %d" msgstr "Maximal delpostlängd får inte överstiga %d" -@@ -34204,7 +34371,7 @@ +@@ -34204,7 +34366,7 @@ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure" msgstr "Attrapprocedur vid %L är inte tillåten i ELEMENTAL-procedur" @@ -214587,18 +218361,18 @@ #, gcc-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" -@@ -34369,640 +34536,645 @@ +@@ -34369,640 +34531,645 @@ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET" msgstr "Elementet i den härledda typkonstrueraren vid %L, för pekarkomponent \"%s\", borde vara en POINTER eller en TARGET" -#: fortran/resolve.c:1042 +#: fortran/resolve.c:930 -+#, fuzzy, gcc-internal-format + #, gcc-internal-format +msgid "Invalid expression in the derived type constructor for pointer component '%s' at %L in PURE procedure" -+msgstr "Elementet i den härledda typkonstrueraren vid %L, för pekarkomponent \"%s\", är %s men borde vara %s" ++msgstr "Ogiltigt uttryck i den härledda typkonstrueraren för pekarkomponent \"%s\" vidl %L i PURE-procedur" + +#: fortran/resolve.c:1052 - #, gcc-internal-format ++#, gcc-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" @@ -214723,10 +218497,12 @@ msgstr "Referensen till funktionen \"%s\" vid %L behöver antingen ett explicit INTERFACE eller så är ordningen fel" -#: fortran/resolve.c:1851 +-#, fuzzy, gcc-internal-format +#: fortran/resolve.c:1862 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Nonconstant character-length function '%s' at %L must have an explicit interface" - msgstr "Automatisk teckenlängdsfunktion \"%s\" vid %L måste ha explicit gränssnitt" +-msgstr "Automatisk teckenlängdsfunktion \"%s\" vid %L måste ha explicit gränssnitt" ++msgstr "Ej konstant teckenlängdsfunktion \"%s\" vid %L måste ha ett explicit gränssnitt" -#: fortran/resolve.c:1953 +#: fortran/resolve.c:1964 @@ -215124,10 +218900,12 @@ msgstr "Basobjekt för typbundet proceduranrop vid %L är av ABSTRACT typ \"%s\"" -#: fortran/resolve.c:4914 +-#, fuzzy, gcc-internal-format +#: fortran/resolve.c:4929 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Base object for NOPASS type-bound procedure call at %L must be scalar" - msgstr "Basobjekt för typbundet proceduranrop vid %L är av ABSTRACT typ \"%s\"" +-msgstr "Basobjekt för typbundet proceduranrop vid %L är av ABSTRACT typ \"%s\"" ++msgstr "Basobjekt för typbundet NOPASS-proceduranrop vid %L måste vara skalärt" -#: fortran/resolve.c:4922 +#: fortran/resolve.c:4937 @@ -215359,7 +219137,7 @@ #, gcc-internal-format msgid "Allocate-object at %L also appears at %L" msgstr "Allokeringsobjekt vid %L förekommer också vid %L" -@@ -35011,107 +35183,107 @@ +@@ -35011,107 +35178,107 @@ #. 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. @@ -215488,7 +219266,7 @@ #, gcc-internal-format msgid "Branch at %L may result in an infinite loop" msgstr "Gren vid %L kan orsaka en oändlig slinga" -@@ -35119,893 +35291,893 @@ +@@ -35119,893 +35286,893 @@ #. 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. @@ -215657,7 +219435,7 @@ -msgid "CHARACTER variable has zero length at %L" -msgstr "CHARACTER-variabel har längd noll vid %L" +msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero" -+msgstr "" ++msgstr "CHARACTER-variabel vid %L har negativ längd %d, längden har satts till noll" -#: fortran/resolve.c:8573 +#: fortran/resolve.c:8599 @@ -215701,7 +219479,7 @@ -msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component" -msgstr "Objekt \"%s\" vid %L måste ha attributet SAVE för standardinitiering av en komponent" +msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization" -+msgstr "" ++msgstr "Fortran 2008: Implicerad SAVE för modulvariabel \"%s\" vid %L, behövs på grund av standardinitieringar" -#: fortran/resolve.c:8950 +#: fortran/resolve.c:8975 @@ -216097,22 +219875,28 @@ msgstr "Argument \"%s\" till \"%s\" med PASS(%s) vid %L måste ha den härledda typen \"%s\"" -#: fortran/resolve.c:10149 +-#, fuzzy, gcc-internal-format +#: fortran/resolve.c:10174 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Passed-object dummy argument of '%s' at %L must be scalar" - msgstr "Skickat objekt vid %L måste vara skalär" +-msgstr "Skickat objekt vid %L måste vara skalär" ++msgstr "Skickat objekt-attrappargument till \"%s\" vid %L måste vara skalärt" -#: fortran/resolve.c:10155 +-#, fuzzy, gcc-internal-format +#: fortran/resolve.c:10180 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE" - msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara ALLOCATABLE" +-msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara ALLOCATABLE" ++msgstr "Skickat objekt-attrappargument till \"%s\" vid %L får inte vara ALLOCATABLE" -#: fortran/resolve.c:10161 +-#, fuzzy, gcc-internal-format +#: fortran/resolve.c:10186 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Passed-object dummy argument of '%s' at %L must not be POINTER" - msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara POINTER" +-msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara POINTER" ++msgstr "Skickat objekt-atrappargument till \"%s\" vid %L får inte vara POINTER" -#: fortran/resolve.c:10187 +#: fortran/resolve.c:10212 @@ -216563,7 +220347,7 @@ #, gcc-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" -@@ -36310,314 +36482,314 @@ +@@ -36310,314 +36477,314 @@ 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" @@ -216733,10 +220517,12 @@ msgstr "Dubblerat VOLATILE-attribut angivet vid %L" -#: fortran/symbol.c:1121 +-#, fuzzy, gcc-internal-format +#: fortran/symbol.c:1122 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "Duplicate ASYNCHRONOUS attribute specified at %L" - msgstr "Dubblerat VALUE-attribut angivet vid %L" +-msgstr "Dubblerat VALUE-attribut angivet vid %L" ++msgstr "Dubblerat ASYNCHRONOUS-attribut angivet vid %L" -#: fortran/symbol.c:1412 +#: fortran/symbol.c:1413 @@ -216939,7 +220725,7 @@ #, gcc-internal-format msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)" msgstr "Komponent \"%s\" i härledd typ \"%s\" vid %L får inte vara C-interoperativ, trots att den härledda typen \"%s\" är BIND(C)" -@@ -36625,32 +36797,32 @@ +@@ -36625,32 +36792,32 @@ #. If derived type is param to bind(c) routine, or to one #. of the iso_c_binding procs, it must be interoperable, so #. all fields must interop too. @@ -216978,7 +220764,7 @@ #, gcc-internal-format msgid "'%s' of '%s' is PRIVATE at %L" msgstr "\"%s\" av \"%s\" är PRIVATE vid %L" -@@ -36665,30 +36837,30 @@ +@@ -36665,30 +36832,30 @@ 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)" @@ -217015,7 +220801,7 @@ #, gcc-internal-format msgid "bad expression type during walk (%d)" msgstr "felaktig uttryckstyp under genomlöpning (%d)" -@@ -36698,58 +36870,58 @@ +@@ -36698,58 +36865,58 @@ msgid "Named COMMON block '%s' at %L shall be of the same size" msgstr "Namngivet COMMON-block \"%s\" vid %L skall ha samma storlek" @@ -217085,7 +220871,7 @@ #, gcc-internal-format msgid "COMMON at %L requires %d bytes of padding at start; reorder elements or use -fno-align-commons" msgstr "COMMON vid %L kräver %d byte utfyllnad i början, byt ordning på element eller använd -fno-align-commons" -@@ -36769,52 +36941,52 @@ +@@ -36769,52 +36936,52 @@ msgid "non-constant initialization expression at %L" msgstr "ej konstant initieringsuttryck vid %L" @@ -217148,7 +220934,7 @@ #, gcc-internal-format msgid "Unknown argument list function at %L" msgstr "Okänd argumentlistefunktion vid %L" -@@ -36829,12 +37001,12 @@ +@@ -36829,47 +36996,47 @@ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index" msgstr "\"dim\"-argumentet till inbyggd \"%s\" vid %L är inte ett giltigt dimensionsindex" @@ -217163,7 +220949,16 @@ #, gcc-internal-format msgid "Bad IO basetype (%d)" msgstr "Felaktig IO-bastyp (%d)" -@@ -36849,27 +37021,27 @@ + + #: fortran/trans-openmp.c:1643 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "gfc_trans_omp_workshare(): Bad statement code" +-msgstr "gfc_trans_code(): Felaktig satskod" ++msgstr "gfc_trans_omp_workshare(): Felaktig satskod" + + #: fortran/trans-stmt.c:513 + #, gcc-internal-format msgid "An alternate return at %L without a * dummy argument" msgstr "En alternativ retur vid %L utan ett * attrappargument" @@ -217196,22 +220991,50 @@ #, gcc-internal-format msgid "gfc_trans_code(): Bad statement code" msgstr "gfc_trans_code(): Felaktig satskod" -@@ -37156,12 +37328,12 @@ +@@ -36895,9 +37062,9 @@ + msgstr "attributet ConstantValue på fältet \"%s\" har fel typ" + + #: java/class.c:1613 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "abstract method in non-abstract class" +-msgstr "%Jabstrakt metod i icke-abstrakt klass" ++msgstr "abstrakt metod i icke-abstrakt klass" + + #: java/class.c:2689 + #, gcc-internal-format +@@ -37072,9 +37239,9 @@ + msgstr "fel vid tolkning av slutliga attribut" + + #: java/jcf-parse.c:1509 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "duplicate class will only be compiled once" +-msgstr "%Hdubblerad klass kommer endast att kompileras en gång" ++msgstr "dubblerad klass kommer endast att kompileras en gång" + + #: java/jcf-parse.c:1604 + #, gcc-internal-format +@@ -37156,142 +37323,137 @@ msgid "bad pc in exception_table" msgstr "felaktig pc i exception_table" -#: lto/lto-elf.c:105 lto/lto-elf.c:126 +-#, fuzzy, gcc-internal-format +#: lto/lto-elf.c:114 lto/lto-elf.c:135 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "could not read section header: %s" - msgstr "kunde inte hitta specs-filen %s\n" +-msgstr "kunde inte hitta specs-filen %s\n" ++msgstr "det gick inte att läsa sektionshuvud %s" -#: lto/lto-elf.c:225 +-#, fuzzy, gcc-internal-format +#: lto/lto-elf.c:234 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "two or more sections for %s:" - msgstr "två eller fler datatyper i deklaration av %qs" -@@ -37169,126 +37341,121 @@ +-msgstr "två eller fler datatyper i deklaration av %qs" ++msgstr "två eller flera sektioner för %s" + #. Initialize the section header of section SCN. SH_NAME is the section name #. as an index into the section header string table. SH_TYPE is the section #. type, an SHT_* macro from libelf headers. @@ -217228,16 +221051,20 @@ msgstr "elf64_getshdr() misslyckades: %s" -#: lto/lto-elf.c:286 +-#, fuzzy, gcc-internal-format +#: lto/lto-elf.c:295 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "could not create a new ELF section: %s" - msgstr "kunde inte konvertera mallargument %qE till %qT" +-msgstr "kunde inte konvertera mallargument %qE till %qT" ++msgstr "det gick inte att skapa en ny ELF-sektion: %s" -#: lto/lto-elf.c:340 +-#, fuzzy, gcc-internal-format +#: lto/lto-elf.c:349 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "could not append data to ELF section: %s" - msgstr "kunde inte öppna dump-fil %qs: %s" +-msgstr "kunde inte öppna dump-fil %qs: %s" ++msgstr "det gick inte att lägga till data till ELF-sektion: %s" #. Validate's ELF_FILE's executable header and, if cached_file_attrs is #. uninitialized, caches the architecture. @@ -217272,10 +221099,12 @@ msgstr "ej stödd ELF-filklass" -#: lto/lto-elf.c:482 +-#, fuzzy, gcc-internal-format +#: lto/lto-elf.c:525 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "could not locate ELF string table: %s" - msgstr "det gick inte att stänga svarsfilen %s" +-msgstr "det gick inte att stänga svarsfilen %s" ++msgstr "det gick inte att hitta ELF-strängtabellen: %s" #. Helper functions used by init_ehdr. Initialize ELF_FILE's executable #. header using cached data from previously read files. @@ -217292,15 +221121,17 @@ msgstr "elf64_newehdr() misslyckades: %s" -#: lto/lto-elf.c:569 -+#: lto/lto-elf.c:635 - #, fuzzy, gcc-internal-format +-#, fuzzy, gcc-internal-format -msgid "command line option file '%s' does not exist" -msgstr "kommandoradsflaggan \"%s\" är giltig för %s men inte för %s" - -#: lto/lto-elf.c:594 -#, fuzzy, gcc-internal-format ++#: lto/lto-elf.c:635 ++#, gcc-internal-format msgid "could not open file %s" - msgstr "det gick inte att öppna svarsfilen %s" +-msgstr "det gick inte att öppna svarsfilen %s" ++msgstr "det gick inte att öppna filen %s" -#: lto/lto-elf.c:601 +#: lto/lto-elf.c:642 @@ -217309,22 +221140,28 @@ msgstr "ELF-biblioteket är äldre än det som användes när GCC byggdes" -#: lto/lto-elf.c:610 +-#, fuzzy, gcc-internal-format +#: lto/lto-elf.c:651 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "could not open ELF file: %s" - msgstr "kunde inte öppna dump-fil %qs: %s" +-msgstr "kunde inte öppna dump-fil %qs: %s" ++msgstr "det gick inte att öppna ELF-filen: %s" -#: lto/lto-elf.c:620 +-#, fuzzy, gcc-internal-format +#: lto/lto-elf.c:661 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "could not seek in archive" - msgstr "gick inte att dela instruktion" +-msgstr "gick inte att dela instruktion" ++msgstr "det gick inte att söka i arkivet" -#: lto/lto-elf.c:627 +-#, fuzzy, gcc-internal-format +#: lto/lto-elf.c:668 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "could not find archive member" - msgstr "kunde inte hitta något spillregister" +-msgstr "kunde inte hitta något spillregister" ++msgstr "det gick inte att hitta arkivmedlem" -#: lto/lto-elf.c:675 +#: lto/lto-elf.c:716 @@ -217333,10 +221170,12 @@ msgstr "gelf_getehdr() misslyckades: %s" -#: lto/lto-elf.c:684 +-#, fuzzy, gcc-internal-format +#: lto/lto-elf.c:725 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "elf_getscn() failed: %s" - msgstr "verifiering misslyckades: %s" +-msgstr "verifiering misslyckades: %s" ++msgstr "elf_getscn() misslyckades: %s" -#: lto/lto-elf.c:687 +#: lto/lto-elf.c:728 @@ -217357,51 +221196,220 @@ msgstr "gelf_update_ehdr() misslyckades: %s" -#: lto/lto-elf.c:702 +-#, fuzzy, gcc-internal-format +#: lto/lto-elf.c:743 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "elf_update() failed: %s" - msgstr "verifiering misslyckades: %s" -@@ -37453,204 +37620,204 @@ +-msgstr "verifiering misslyckades: %s" ++msgstr "elf_update() misslyckades: %s" + + #: lto/lto-lang.c:659 + #, gcc-internal-format +@@ -37309,29 +37471,29 @@ + msgstr "kunde inte tolka hexadecimalt tal" + + #: lto/lto.c:308 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "unexpected file name %s in linker resolution file. Expected %s" +-msgstr "kvalificerat namn förväntades i vändeklaration för destruerare %qD" ++msgstr "oväntat filnamn %s i länkupplösningsfilen. %s förväntades" + + #: lto/lto.c:317 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "could not parse file offset" +-msgstr "det gick inte att öppna svarsfilen %s" ++msgstr "det gick inte tolka filavstånd" + + #: lto/lto.c:320 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "unexpected offset" +-msgstr "oväntad operand" ++msgstr "oväntat avstånd" + + #: lto/lto.c:339 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "Invalid line in the resolution file." +-msgstr "ogiltigt register i instruktionen" ++msgstr "Ogiltig rad i upplösningsfilen." + + #: lto/lto.c:352 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "Invalid resolution in the resolution file." +-msgstr "ogiltigt register i instruktionen" ++msgstr "Ogiltig upplösning i upplösningsfilen." + + #: lto/lto.c:1049 + #, gcc-internal-format +@@ -37339,14 +37501,14 @@ + msgstr "lto_elf_file_open() misslyckades" + + #: lto/lto.c:1109 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "environment variable COLLECT_GCC must be set" +-msgstr "omgivningsvariabeln DJGPP är inte definierad" ++msgstr "miljövariabeln COLLECT_GCC måste vara satt" + + #: lto/lto.c:1114 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "environment variable COLLECT_GCC_OPTIONS must be set" +-msgstr "omgivningsvariabeln DJGPP är inte definierad" ++msgstr "miljövariabeln COLLECT_GCC_OPTIONS måste vara satt" + + #: lto/lto.c:1123 + #, gcc-internal-format +@@ -37354,44 +37516,44 @@ + msgstr "felformaterad COLLECT_GCC_OPTIONS" + + #: lto/lto.c:1169 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "opening LTRANS output list %s: %m" +-msgstr "vid öppnandet av utdatafil %s: %m" ++msgstr "när LTRANS-utdatafil %s öppnades: %m" + + #: lto/lto.c:1187 lto/lto.c:1209 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "writing to LTRANS output list %s: %m" +-msgstr "när utdata skrevs till %s: %m" ++msgstr "när utdata skrevs till LTRANS-utdatalista %s: %m" + + #: lto/lto.c:1226 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "pex_init failed: %s" +-msgstr "pex_init misslyckades" ++msgstr "pex_init misslyckades: %s" + + #: lto/lto.c:1234 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "can't get program status: %s" +-msgstr "kan inte ta programstatus" ++msgstr "kan inte ta programstatus: %s" + + #: lto/lto.c:1246 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "%s terminated with status %d" +-msgstr "%s: %s avslutade med status %d\n" ++msgstr "%s avslutade med status %d" + + #: lto/lto.c:1255 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "closing LTRANS output list %s: %m" +-msgstr "vid öppnandet av utdatafil %s: %m" ++msgstr "när LTRANS-utdatalista %s stängdes: %m" + + #: lto/lto.c:1747 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "deleting LTRANS input file %s: %m" +-msgstr "vid öppnandet av utdatafil %s: %m" ++msgstr "när LTRANS-indatafil %s raderades: %m" + + #: lto/lto.c:1828 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "could not open symbol resolution file: %s" +-msgstr "det gick inte att öppna svarsfilen %s" ++msgstr "det gick inte att öppna symbolupplösningsfilen: %s" + + #: objc/objc-act.c:729 + #, gcc-internal-format +@@ -37409,14 +37571,14 @@ + msgstr "metoddefinition som inte är i @implementation-kontext" + + #: objc/objc-act.c:1026 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "class %qs does not implement the %qE protocol" +-msgstr "%s %qs implementerar inte helt protokollet %qs" ++msgstr "klass %qs implementerar inte protokollet %qE" + + #: objc/objc-act.c:1029 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "type %qs does not conform to the %qE protocol" +-msgstr "%s %qs implementerar inte helt protokollet %qs" ++msgstr "typ %qs följer inte protokollet %qE" + + #: objc/objc-act.c:1206 + #, gcc-internal-format +@@ -37444,216 +37606,216 @@ + msgstr "skickar argument %d till %qE från distinkt Objective-C-typ" + + #: objc/objc-act.c:1378 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "statically allocated instance of Objective-C class %qE" +-msgstr "statiskt allokerade instans av Objective-C-klass %qs" ++msgstr "statiskt allokerad instans av Objective-C-klass %qE" + + #: objc/objc-act.c:1455 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "protocol %qE has circular dependency" - msgstr "protokollet %qs har cirkulärt beroende" +-msgstr "protokollet %qs har cirkulärt beroende" ++msgstr "protokollet %qE har cirkulärt beroende" -#: objc/objc-act.c:1480 objc/objc-act.c:6677 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:1480 objc/objc-act.c:6680 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "cannot find protocol declaration for %qE" - msgstr "kan inte hitta protokolldeklaration för %qs" +-msgstr "kan inte hitta protokolldeklaration för %qs" ++msgstr "det går inte att hitta en protokolldeklaration för %qE" -#: objc/objc-act.c:1951 objc/objc-act.c:3405 objc/objc-act.c:7294 -#: objc/objc-act.c:7628 objc/objc-act.c:7683 objc/objc-act.c:7708 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:1954 objc/objc-act.c:3408 objc/objc-act.c:7297 +#: objc/objc-act.c:7631 objc/objc-act.c:7686 objc/objc-act.c:7711 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "cannot find interface declaration for %qE" - msgstr "kan inte hitta gränssnittsdeklaration för %qs" +-msgstr "kan inte hitta gränssnittsdeklaration för %qs" ++msgstr "det går inte att hitta en gränssnittsdeklaration för %qE" -#: objc/objc-act.c:1955 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:1958 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "interface %qE does not have valid constant string layout" - msgstr "gränssnitt %qs har inte giltig konstantsträngslayout" +-msgstr "gränssnitt %qs har inte giltig konstantsträngslayout" ++msgstr "gränssnitt %qE har inte giltig konstantsträngslayout" -#: objc/objc-act.c:1960 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:1963 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "cannot find reference tag for class %qE" - msgstr "kan inte hitta referenstagg klass %qs" +-msgstr "kan inte hitta referenstagg klass %qs" ++msgstr "det går inte att hitta en referenstagg för klass %qE" -#: objc/objc-act.c:2597 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:2600 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "creating selector for nonexistent method %qE" - msgstr "%Hskapar selektor för icke existerande metod %qE" +-msgstr "%Hskapar selektor för icke existerande metod %qE" ++msgstr "skapar selektor för icke existerande metod %qE" -#: objc/objc-act.c:2800 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:2803 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "%qE is not an Objective-C class name or alias" - msgstr "%qs är inte ett Objective-C-klassnamn eller alias" +-msgstr "%qs är inte ett Objective-C-klassnamn eller alias" ++msgstr "%qE är inte ett Objective-C-klassnamn eller alias" -#: objc/objc-act.c:2929 objc/objc-act.c:2961 objc/objc-act.c:7556 -#: objc/objc-act.c:7858 objc/objc-act.c:7888 @@ -217412,22 +221420,28 @@ msgstr "Objective-C-deklarationer får bara förekomma på global nivå" -#: objc/objc-act.c:2934 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:2937 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "cannot find class %qE" - msgstr "kan inte hitta klass %qs" +-msgstr "kan inte hitta klass %qs" ++msgstr "det går inte att hitta klass %qE" -#: objc/objc-act.c:2936 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:2939 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "class %qE already exists" - msgstr "klass %qs finns redan" +-msgstr "klass %qs finns redan" ++msgstr "klass %qE finns redan" -#: objc/objc-act.c:2981 objc/objc-act.c:7597 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:2984 objc/objc-act.c:7600 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "%qE redeclared as different kind of symbol" - msgstr "%qs omdeklarerad som en annan sorts symbol" +-msgstr "%qs omdeklarerad som en annan sorts symbol" ++msgstr "%qE omdeklarerad som en annan sorts symbol" -#: objc/objc-act.c:3259 +#: objc/objc-act.c:3262 @@ -217478,10 +221492,12 @@ msgstr "undantag av typ %<%T%> kommer att fångas" -#: objc/objc-act.c:3881 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:3884 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid " by earlier handler for %<%T%>" - msgstr "%H av tidigare hanterare för %<%T%>" +-msgstr "%H av tidigare hanterare för %<%T%>" ++msgstr " av tidigare hanterare för %<%T%>" -#: objc/objc-act.c:3934 +#: objc/objc-act.c:3937 @@ -217502,10 +221518,12 @@ msgstr "typ %q+D har inte någon känd storlek" -#: objc/objc-act.c:5026 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:5029 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "%s %qs" - msgstr "%J%s %qs" +-msgstr "%J%s %qs" ++msgstr "%s %qs" -#: objc/objc-act.c:5049 objc/objc-act.c:5068 +#: objc/objc-act.c:5052 objc/objc-act.c:5071 @@ -217526,10 +221544,12 @@ msgstr "multipla metoder med namnet %<%c%E%> funna" -#: objc/objc-act.c:6162 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:6165 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "using %<%c%s%>" - msgstr "%J%s %<%c%s%>" +-msgstr "%J%s %<%c%s%>" ++msgstr "använder %<%c%s%>" -#: objc/objc-act.c:6171 +#: objc/objc-act.c:6174 @@ -217538,28 +221558,36 @@ msgstr "multipla selektorer med namnet %<%c%E%> funna" -#: objc/objc-act.c:6174 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:6177 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "found %<%c%s%>" - msgstr "%J%s %<%c%s%>" +-msgstr "%J%s %<%c%s%>" ++msgstr "hittade %<%c%s%>" -#: objc/objc-act.c:6183 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:6186 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "also found %<%c%s%>" - msgstr "%J%s %<%c%s%>" +-msgstr "%J%s %<%c%s%>" ++msgstr "hittade också %<%c%s%>" -#: objc/objc-act.c:6397 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:6400 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "no super class declared in @interface for %qE" - msgstr "ingen superklass deklarerad i @interface för %qs" +-msgstr "ingen superklass deklarerad i @interface för %qs" ++msgstr "ingen superklass deklarerad i @interface för %qE" -#: objc/objc-act.c:6435 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:6438 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "found %<-%E%> instead of %<+%E%> in protocol(s)" - msgstr "hittade %<-%s%> istället för %<+%s%> i protokoll" +-msgstr "hittade %<-%s%> istället för %<+%s%> i protokoll" ++msgstr "hittade %<-%E%> istället för %<+%E%> i protokoll" -#: objc/objc-act.c:6492 +#: objc/objc-act.c:6495 @@ -217568,22 +221596,28 @@ msgstr "ogiltig mottagartyp %qs" -#: objc/objc-act.c:6507 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:6510 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "%<%c%E%> not found in protocol(s)" - msgstr "%<%c%s%> finns inte bland protokoll" +-msgstr "%<%c%s%> finns inte bland protokoll" ++msgstr "%<%c%E%> finns inte bland protokoll" -#: objc/objc-act.c:6521 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:6524 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "%qE may not respond to %<%c%E%>" - msgstr "%qs svarar kanske inte på %<%c%s%>" +-msgstr "%qs svarar kanske inte på %<%c%s%>" ++msgstr "%qE svarar kanske inte på %<%c%E%>" -#: objc/objc-act.c:6529 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:6532 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "no %<%c%E%> method found" - msgstr "ingen metod %<%c%s%> funnen" +-msgstr "ingen metod %<%c%s%> funnen" ++msgstr "ingen metod %<%c%E%> funnen" -#: objc/objc-act.c:6536 +#: objc/objc-act.c:6539 @@ -217604,31 +221638,42 @@ msgstr "%<...%> som argument.)" -#: objc/objc-act.c:6778 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:6781 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "undeclared selector %qE" - msgstr "odeklarerad selektor %qs" -@@ -37664,169 +37831,169 @@ +-msgstr "odeklarerad selektor %qs" ++msgstr "odeklarerad selektor %qE" + + #. Historically, a class method that produced objects (factory + #. method) would assign `self' to the instance that it +@@ -37664,172 +37826,172 @@ #. to an instance variable. It's better to catch the cases #. where this is done unknowingly than to support the above #. paradigm. -#: objc/objc-act.c:6820 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:6823 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "instance variable %qE accessed in class method" - msgstr "instansvariabel %qs använd i klassmetod" +-msgstr "instansvariabel %qs använd i klassmetod" ++msgstr "instansvariabel %qE använd i klassmetod" -#: objc/objc-act.c:7055 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7058 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "duplicate declaration of method %<%c%E%>" - msgstr "duplicerad deklaration av metoden %<%c%s%>" +-msgstr "duplicerad deklaration av metoden %<%c%s%>" ++msgstr "duplicerad deklaration av metoden %<%c%E%>" -#: objc/objc-act.c:7116 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7119 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "duplicate interface declaration for category %<%E(%E)%>" - msgstr "dubbel gränssnittsdeklaration för kategorin %<%s(%s)%>" +-msgstr "dubbel gränssnittsdeklaration för kategorin %<%s(%s)%>" ++msgstr "dubbel gränssnittsdeklaration för kategorin %<%E(%E)%>" -#: objc/objc-act.c:7143 +#: objc/objc-act.c:7146 @@ -217643,42 +221688,54 @@ msgstr "instansvariabeln %qs har okänd storlek" -#: objc/objc-act.c:7179 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7182 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "type %qE has no default constructor to call" - msgstr "typ %qs har ingen standardkonstruerare att anropa" +-msgstr "typ %qs har ingen standardkonstruerare att anropa" ++msgstr "typen %qE har ingen standardkonstruerare att anropa" -#: objc/objc-act.c:7185 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7188 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "destructor for %qE shall not be run either" - msgstr "destruerare för %qs skall inte heller köras" +-msgstr "destruerare för %qs skall inte heller köras" ++msgstr "destruerare för %qE skall inte heller köras" #. Vtable pointers are Real Bad(tm), since Obj-C cannot #. initialize them. -#: objc/objc-act.c:7197 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7200 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "type %qE has virtual member functions" - msgstr "typen %qs har virtuella medlemsfunktioner" +-msgstr "typen %qs har virtuella medlemsfunktioner" ++msgstr "typen %qE har virtuella medlemsfunktioner" -#: objc/objc-act.c:7198 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7201 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "illegal aggregate type %qE specified for instance variable %qs" - msgstr "ogiltig aggregattyp %qs angiven för instansvariabel %qs" +-msgstr "ogiltig aggregattyp %qs angiven för instansvariabel %qs" ++msgstr "ogiltig aggregattyp %qE angiven för instansvariabel %qs" -#: objc/objc-act.c:7208 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7211 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "type %qE has a user-defined constructor" - msgstr "typ %qs har en användardefinierad konstruerare" +-msgstr "typ %qs har en användardefinierad konstruerare" ++msgstr "typen %qE har en användardefinierad konstruerare" -#: objc/objc-act.c:7210 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7213 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "type %qE has a user-defined destructor" - msgstr "typ %qs har en användardefinierad destruerare" +-msgstr "typ %qs har en användardefinierad destruerare" ++msgstr "typen %qE har en användardefinierad destruerare" -#: objc/objc-act.c:7214 +#: objc/objc-act.c:7217 @@ -217687,46 +221744,60 @@ msgstr "C++-konstruerare och -destruerare kommer inte att anropas för Objective-C-fält" -#: objc/objc-act.c:7323 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7326 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "instance variable %qE is declared private" - msgstr "instansvariabel %qs är deklarerad privat" +-msgstr "instansvariabel %qs är deklarerad privat" ++msgstr "instansvariabeln %qE är deklarerad privat" -#: objc/objc-act.c:7334 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7337 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "instance variable %qE is %s; this will be a hard error in the future" - msgstr "instansvariabel %qs är %s, detta kommer bli ett fel i framtiden" +-msgstr "instansvariabel %qs är %s, detta kommer bli ett fel i framtiden" ++msgstr "instansvariabeln %qE är %s, detta kommer bli ett fel i framtiden" -#: objc/objc-act.c:7341 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7344 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "instance variable %qE is declared %s" - msgstr "instansvariabel %qs är deklarerad %s" +-msgstr "instansvariabel %qs är deklarerad %s" ++msgstr "instansvariabeln %qE är deklarerad %s" -#: objc/objc-act.c:7367 objc/objc-act.c:7455 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7370 objc/objc-act.c:7458 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "incomplete implementation of class %qE" - msgstr "ofullständig implementation av klassen %qs" +-msgstr "ofullständig implementation av klassen %qs" ++msgstr "ofullständig implementation av klassen %qE" -#: objc/objc-act.c:7371 objc/objc-act.c:7459 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7374 objc/objc-act.c:7462 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "incomplete implementation of category %qE" - msgstr "ofullständig implementation av kategorin %qs" +-msgstr "ofullständig implementation av kategorin %qs" ++msgstr "ofullständig implementation av kategorin %qE" -#: objc/objc-act.c:7376 objc/objc-act.c:7463 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7379 objc/objc-act.c:7466 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "method definition for %<%c%E%> not found" - msgstr "metoddefinition för %<%c%s%> finns inte" +-msgstr "metoddefinition för %<%c%s%> finns inte" ++msgstr "metoddefinition för %<%c%E%> finns inte" -#: objc/objc-act.c:7504 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7507 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "%s %qE does not fully implement the %qE protocol" - msgstr "%s %qs implementerar inte helt protokollet %qs" +-msgstr "%s %qs implementerar inte helt protokollet %qs" ++msgstr "%s %qE implementerar inte helt protokollet %qE" -#: objc/objc-act.c:7562 objc/objc-act.c:9249 +#: objc/objc-act.c:7565 objc/objc-act.c:9252 @@ -217735,64 +221806,84 @@ msgstr "%<@end%> saknas i implementationskontext" -#: objc/objc-act.c:7581 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7584 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "cannot find interface declaration for %qE, superclass of %qE" - msgstr "hittar inte gränssnittsdeklaration av %qs, superklass till %qs" +-msgstr "hittar inte gränssnittsdeklaration av %qs, superklass till %qs" ++msgstr "hittar inte gränssnittsdeklaration för %qE, superklass till %qE" -#: objc/objc-act.c:7611 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7614 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "reimplementation of class %qE" - msgstr "omimplementation av klassen %qs" +-msgstr "omimplementation av klassen %qs" ++msgstr "omimplementation av klassen %qE" -#: objc/objc-act.c:7641 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7644 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "conflicting super class name %qE" - msgstr "motstridande superklassnamn %qs" +-msgstr "motstridande superklassnamn %qs" ++msgstr "motstridande superklassnamn %qE" -#: objc/objc-act.c:7644 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7647 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "previous declaration of %qE" - msgstr "tidigare deklaration av %qs" +-msgstr "tidigare deklaration av %qs" ++msgstr "tidigare deklaration av %qE" -#: objc/objc-act.c:7646 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7649 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "previous declaration" - msgstr "tidigare deklaration %q+D" +-msgstr "tidigare deklaration %q+D" ++msgstr "tidigare deklaration" -#: objc/objc-act.c:7662 objc/objc-act.c:7660 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7665 objc/objc-act.c:7663 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "duplicate interface declaration for class %qE" - msgstr "dubblerad gränssnittsdeklaration av klass %qs" +-msgstr "dubblerad gränssnittsdeklaration av klass %qs" ++msgstr "dubblerad gränssnittsdeklaration av klass %qE" -#: objc/objc-act.c:7916 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:7919 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "duplicate declaration for protocol %qE" - msgstr "dubblerad deklaration av protokoll %qs" +-msgstr "dubblerad deklaration av protokoll %qs" ++msgstr "dubblerad deklaration av protokoll %qE" -#: objc/objc-act.c:8733 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:8736 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "conflicting types for %<%c%s%>" - msgstr "motstridiga typer på %q+D" +-msgstr "motstridiga typer på %q+D" ++msgstr "motstridiga typer på %<%c%s%>" -#: objc/objc-act.c:8737 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:8740 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "previous declaration of %<%c%s%>" - msgstr "tidigare deklaration av %qs" +-msgstr "tidigare deklaration av %qs" ++msgstr "tidigare deklaration av %<%c%s%>" -#: objc/objc-act.c:8827 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:8830 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "no super class declared in interface for %qE" - msgstr "ingen superklass deklarerad i gränssnittet för %qs" +-msgstr "ingen superklass deklarerad i gränssnittet för %qs" ++msgstr "ingen superklass deklarerad i gränssnittet för %qE" -#: objc/objc-act.c:8886 +#: objc/objc-act.c:8889 @@ -217807,42 +221898,933 @@ msgstr "metod saknar kanske ett [super dealloc]-anrop" -#: objc/objc-act.c:9542 +-#, fuzzy, gcc-internal-format +#: objc/objc-act.c:9545 - #, fuzzy, gcc-internal-format ++#, gcc-internal-format msgid "local declaration of %qE hides instance variable" - msgstr "lokal deklaration av %qs döljer instansvariabel" -@@ -37872,6 +38039,31 @@ - msgid "invalid element type for attribute %qs" - msgstr "ogiltig vektortyp för attributet %qE" +-msgstr "lokal deklaration av %qs döljer instansvariabel" ++msgstr "lokal deklaration av %qE döljer instansvariabel" -+#~ msgid "If scheduling post reload, do trace scheduling" -+#~ msgstr "Om schemaläggning efter omläsning, gör spårningsschemaläggning" -+ -+#~ msgid "for each function it appears in.)" -+#~ msgstr "för varje funktion den finns i.)" -+ -+#~ msgid "lambda expression with no captures declared mutable" -+#~ msgstr "muterbart lambdauttryck utan några deklarerade infånganden" -+ -+#~ msgid "at this point in file" -+#~ msgstr "på den här platsen i filen" -+ -+#~ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal" -+#~ msgstr "Vektortilldelning till Cray-utpekad med förmodad storlek vid %L är otillåten" -+ -+#~ msgid "CHARACTER variable has zero length at %L" -+#~ msgstr "CHARACTER-variabel har längd noll vid %L" -+ -+#~ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component" -+#~ msgstr "Objekt \"%s\" vid %L måste ha attributet SAVE för standardinitiering av en komponent" -+ -+#, fuzzy -+#~ msgid "command line option file '%s' does not exist" -+#~ msgstr "kommandoradsflaggan \"%s\" är giltig för %s men inte för %s" -+ - #~ msgid "GMP version %s, MPFR version %s\n" - #~ msgstr "GMP-version %s, MPFR-version %s\n" + #: ada/gcc-interface/misc.c:196 + #, gcc-internal-format +@@ -37848,907 +38010,26 @@ + msgstr "-fexcess-precision=standard för Ada" + #: ada/gcc-interface/utils.c:5299 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "%qs attribute requires prototypes with named arguments" +-msgstr "attributet %qE kräver prototyper med namngivna argument" ++msgstr "attributet %qs kräver prototyper med namngivna argument" + + #: ada/gcc-interface/utils.c:5311 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "%qs attribute only applies to variadic functions" +-msgstr "attributet %qE fungerar bara på funktioner med variabelt antal argument" ++msgstr "attributet %qs fungerar bara på funktioner med variabelt antal argument" + + #: ada/gcc-interface/utils.c:5474 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "invalid vector type for attribute %qs" +-msgstr "ogiltig vektortyp för attributet %qE" ++msgstr "ogiltig vektortyp för attributet %qs" + + #: ada/gcc-interface/utils.c:5537 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "attribute %qs applies to array types only" +-msgstr "attributet %qs är bara tillämpbart på variabler" ++msgstr "attributet %qs är bara tillämpbart på vektortyper" + + #: ada/gcc-interface/utils.c:5564 +-#, fuzzy, gcc-internal-format ++#, gcc-internal-format + msgid "invalid element type for attribute %qs" +-msgstr "ogiltig vektortyp för attributet %qE" +- +-#~ msgid "GMP version %s, MPFR version %s\n" +-#~ msgstr "GMP-version %s, MPFR-version %s\n" +- +-#~ msgid "Initialization expression didn't reduce %C" +-#~ msgstr "Initieringsuttryck kunde inte reduceras %C" +- +-#~ msgid "All components of '%s' are PRIVATE in structure constructor at %C" +-#~ msgstr "Alla komponenter i \"%s\" är PRIVATE i postkonstruerare vid %C" +- +-#~ msgid "Set class path" +-#~ msgstr "Ange klassökväg" +- +-#~ msgid "Warn about code that will never be executed" +-#~ msgstr "Varna för kod som aldrig kommer köras" +- +-#~ msgid "Set the default symbol visibility" +-#~ msgstr "Ange normalsynlighet för symboler" +- +-#~ msgid "will never be executed" +-#~ msgstr "kommer aldrig utföras" +- +-#~ msgid "function %q+F can never be copied because it uses variable sized variables" +-#~ msgstr "funktion %q+F kan aldrig kopieras eftersom den använder variabler med variabel storlek" +- +-#~ msgid "jump bypassing disabled" +-#~ msgstr "passage av hopp avslaget" +- +-#~ msgid "%s: error writing file '%s': %s\n" +-#~ msgstr "%s: fel vid skrivning till fil \"%s\": %s\n" +- +-#~ msgid "%s: usage '%s [ -VqfnkN ] [ -i ] [ filename ... ]'\n" +-#~ msgstr "%s: användning '%s [ -VqfnkN ] [ -i ] [ filnamn ... ]'\n" +- +-#~ msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B ] [ filename ... ]'\n" +-#~ msgstr "%s: användning '%s [ -VqfnkNlgC ] [ -B ] [ filnamn ... ]'\n" +- +-#~ msgid "%s: warning: no read access for file '%s'\n" +-#~ msgstr "%s: varning: ingen läsrättighet för fil \"%s\"\n" +- +-#~ msgid "%s: warning: no write access for file '%s'\n" +-#~ msgstr "%s: varning: ingen skrivrättighet för fil \"%s\"\n" +- +-#~ msgid "%s: warning: no write access for dir containing '%s'\n" +-#~ msgstr "%s: varning: ingen skrivrättighet för katalog som innehåller \"%s\"\n" +- +-#~ msgid "%s: invalid file name: %s\n" +-#~ msgstr "%s: ogiltigt filnamn: %s\n" +- +-#~ msgid "%s: %s: can't get status: %s\n" +-#~ msgstr "%s: %s: kan inte få status: %s\n" +- +-#~ msgid "" +-#~ "\n" +-#~ "%s: fatal error: aux info file corrupted at line %d\n" +-#~ msgstr "" +-#~ "\n" +-#~ "%s: ödesdigert fel: fil med extra information trasig vid rad %d\n" +- +-#~ msgid "%s:%d: declaration of function '%s' takes different forms\n" +-#~ msgstr "%s:%d: deklarationen av funktionen \"%s\" tar olika former\n" +- +-#~ msgid "%s: compiling '%s'\n" +-#~ msgstr "%s: kompilerar \"%s\"\n" +- +-#~ msgid "%s: wait: %s\n" +-#~ msgstr "%s: vänta: %s\n" +- +-#~ msgid "%s: subprocess got fatal signal %d\n" +-#~ msgstr "%s: subprocess fick dödlig signal %d\n" +- +-#~ msgid "%s: warning: missing SYSCALLS file '%s'\n" +-#~ msgstr "%s: varning: ingen SYSCALLS-fil \"%s\"\n" +- +-#~ msgid "%s: can't read aux info file '%s': %s\n" +-#~ msgstr "%s: kan inte läsa fil med övrig info \"%s\": %s\n" +- +-#~ msgid "%s: can't get status of aux info file '%s': %s\n" +-#~ msgstr "%s: kan inte ta status på fil med övrig info \"%s\": %s\n" +- +-#~ msgid "%s: can't open aux info file '%s' for reading: %s\n" +-#~ msgstr "%s: kan inte öppna fil med övrig info \"%s\" för läsning: %s\n" +- +-#~ msgid "%s: error reading aux info file '%s': %s\n" +-#~ msgstr "%s: fel när fil med övrig info lästes \"%s\": %s\n" +- +-#~ msgid "%s: error closing aux info file '%s': %s\n" +-#~ msgstr "%s: fel när fil med övrig info stängdes \"%s\": %s\n" +- +-#~ msgid "%s: can't delete aux info file '%s': %s\n" +-#~ msgstr "%s: kan inte radera fil med övrig info \"%s\": %s\n" +- +-#~ msgid "%s: can't delete file '%s': %s\n" +-#~ msgstr "%s: kan inte radera fil \"%s\": %s\n" +- +-#~ msgid "%s: warning: can't rename file '%s' to '%s': %s\n" +-#~ msgstr "%s: varning: kan inte ändra namn på filen \"%s\" till \"%s\": %s\n" +- +-#~ msgid "%s: conflicting extern definitions of '%s'\n" +-#~ msgstr "%s: motstridiga externdefinitioner av \"%s\"\n" +- +-#~ msgid "%s: declarations of '%s' will not be converted\n" +-#~ msgstr "%s: deklarationer av \"%s\" kommer inte konverteras\n" +- +-#~ msgid "%s: conflict list for '%s' follows:\n" +-#~ msgstr "%s: konfliktlista för \"%s\" följer:\n" +- +-#~ msgid "%s: warning: using formals list from %s(%d) for function '%s'\n" +-#~ msgstr "%s: varning: använder formella listor från %s(%d) för funktionen \"%s\"\n" +- +-#~ msgid "%s: %d: '%s' used but missing from SYSCALLS\n" +-#~ msgstr "%s: %d: \"%s\" används men saknas i SYSCALLS\n" +- +-#~ msgid "%s: %d: warning: no extern definition for '%s'\n" +-#~ msgstr "%s: %d: varning: ingen externdefinition för \"%s\"\n" +- +-#~ msgid "%s: warning: no static definition for '%s' in file '%s'\n" +-#~ msgstr "%s: varning: ingen statisk definition för \"%s\" i filen \"%s\"\n" +- +-#~ msgid "%s: multiple static defs of '%s' in file '%s'\n" +-#~ msgstr "%s: multipla statiska definitioner av \"%s\" i filen \"%s\"\n" +- +-#~ msgid "%s: %d: warning: source too confusing\n" +-#~ msgstr "%s: %d: varning: källkoden alltför förvirrande\n" +- +-#~ msgid "%s: %d: warning: varargs function declaration not converted\n" +-#~ msgstr "%s: %d: varning: varargs-funktionsdeklaration konverterades inte\n" +- +-#~ msgid "%s: declaration of function '%s' not converted\n" +-#~ msgstr "%s: deklarationen av funktionen \"%s\" inte konverterad\n" +- +-#~ msgid "%s: warning: too many parameter lists in declaration of '%s'\n" +-#~ msgstr "%s: varning: för många parameterlistor i deklarationen av \"%s\"\n" +- +-#~ msgid "" +-#~ "\n" +-#~ "%s: warning: too few parameter lists in declaration of '%s'\n" +-#~ msgstr "" +-#~ "\n" +-#~ "%s: varning: för få parameterlistor i deklarationen av \"%s\"\n" +- +-#~ msgid "%s: %d: warning: found '%s' but expected '%s'\n" +-#~ msgstr "%s: %d: varning: fann \"%s\" men förväntade \"%s\"\n" +- +-#~ msgid "%s: local declaration for function '%s' not inserted\n" +-#~ msgstr "%s: lokal deklaration för funktionen \"%s\" inte infogad\n" +- +-#~ msgid "" +-#~ "\n" +-#~ "%s: %d: warning: can't add declaration of '%s' into macro call\n" +-#~ msgstr "" +-#~ "\n" +-#~ "%s: %d: varning: kan inte lägga till deklaration av \"%s\" i makroanrop\n" +- +-#~ msgid "%s: global declarations for file '%s' not inserted\n" +-#~ msgstr "%s: globala deklarationer för filen \"%s\" inte infogade\n" +- +-#~ msgid "%s: definition of function '%s' not converted\n" +-#~ msgstr "%s: definitionen av funktionen \"%s\" inte konverterad\n" +- +-#~ msgid "%s: %d: warning: definition of %s not converted\n" +-#~ msgstr "%s: %d: varning: definition av %s konverterades inte\n" +- +-#~ msgid "%s: found definition of '%s' at %s(%d)\n" +-#~ msgstr "%s: fann definition av \"%s\" vid %s(%d)\n" +- +-#~ msgid "%s: %d: warning: '%s' excluded by preprocessing\n" +-#~ msgstr "%s: %d: varning: \"%s\" uteslöts av preprocessningen\n" +- +-#~ msgid "%s: function definition not converted\n" +-#~ msgstr "%s: funktionsdefinition inte konverterad\n" +- +-#~ msgid "%s: '%s' not converted\n" +-#~ msgstr "%s: \"%s\" inte konverterad\n" +- +-#~ msgid "%s: would convert file '%s'\n" +-#~ msgstr "%s: skulle konvertera filen \"%s\"\n" +- +-#~ msgid "%s: converting file '%s'\n" +-#~ msgstr "%s: konverterar filen \"%s\"\n" +- +-#~ msgid "%s: can't get status for file '%s': %s\n" +-#~ msgstr "%s: kan inte ta status på filen \"%s\": %s\n" +- +-#~ msgid "%s: can't open file '%s' for reading: %s\n" +-#~ msgstr "%s: kan inte öppna filen \"%s\" för läsning: %s\n" +- +-#~ msgid "" +-#~ "\n" +-#~ "%s: error reading input file '%s': %s\n" +-#~ msgstr "" +-#~ "\n" +-#~ "%s: fel när infilen \"%s\" lästes: %s\n" +- +-#~ msgid "%s: can't create/open clean file '%s': %s\n" +-#~ msgstr "%s: kan inte skapa/öppna en tom fil \"%s\": %s\n" +- +-#~ msgid "%s: warning: file '%s' already saved in '%s'\n" +-#~ msgstr "%s: varning: filen \"%s\" redan sparad i \"%s\"\n" +- +-#~ msgid "%s: can't link file '%s' to '%s': %s\n" +-#~ msgstr "%s: kan inte länka filen \"%s\" till \"%s\": %s\n" +- +-#~ msgid "%s: can't create/open output file '%s': %s\n" +-#~ msgstr "%s: kan inte skapa/öppna utdatafil \"%s\": %s\n" +- +-#~ msgid "%s: can't change mode of file '%s': %s\n" +-#~ msgstr "%s: kan inte ändra rättigheterna på filen \"%s\": %s\n" +- +-#~ msgid "%s: cannot get working directory: %s\n" +-#~ msgstr "%s: kan inte bestämma aktuell katalog: %s\n" +- +-#~ msgid "%s: input file names must have .c suffixes: %s\n" +-#~ msgstr "%s: indatafilnamn måste ha ändelsen .c: %s\n" +- +-#~ msgid "The maximum structure size (in bytes) for which GCC will use by-element copies" +-#~ msgstr "Den maximala poststorlek (i byte) vid vilken GCC använder elementvis kopiering" +- +-#~ msgid "The maximum number of structure fields for which GCC will use by-element copies" +-#~ msgstr "Den maximala antalet postfält (i byte) vid vilken GCC använder elementvis kopiering" +- +-#~ msgid "The threshold ratio between instantiated fields and the total structure size" +-#~ msgstr "Tröskelförhållandet mellan instansierade fält och den totala poststorleken" +- +-#~ msgid "The maximum number of passes to make when doing GCSE" +-#~ msgstr "Det maximala antalet pass som görs under GCSE" +- +-#~ msgid "The maximum number of virtual operators that a function is allowed to have before triggering memory partitioning heuristics" +-#~ msgstr "Det maximala antalet virtuella operatorer som en funktion tillåts ha före heuristik för minnesuppdelning utlöses" +- +-#~ msgid "The average number of virtual operators that memory statements are allowed to have before triggering memory partitioning heuristics" +-#~ msgstr "Det genomsnittliga antalet virtuella operatorer som minnessatser tillåts ha före heuristik för minnesuppdelning utlöses" +- +-#~ msgid "SHIFT argument at %L of CSHIFT must have rank %d or be a scalar" +-#~ msgstr "SHIFT-argument vid %L till CSHIFT måste ha ordning %d eller vara en skalär" +- +-#~ msgid "SHIFT argument at %L of EOSHIFT must have rank %d or be a scalar" +-#~ msgstr "SHIFT-argument vid %L till EOSHIFT måste ha ordning %d eller vara en skalär" +- +-#~ msgid "BOUNDARY argument at %L of EOSHIFT must have rank %d or be a scalar" +-#~ msgstr "BOUNDARY-argument vid %L till EOSHIFT måste ha ordning %d eller vara en skalär" +- +-#~ msgid "Different shape in dimension %d for SHIFT and BOUNDARY arguments of EOSHIFT at %L" +-#~ msgstr "Olika form i dimension %d för argumenten SHIFT och BOUNDARY till EOSHIFT vid %L" +- +-#~ msgid "FIELD argument at %L of UNPACK must have the same rank as MASK or be a scalar" +-#~ msgstr "FIELD-argumentet vid %L till UNPACK måste ha samma ordning som MASK eller vara en skalär" +- +-#~ msgid "Different shape in dimension %d for MASK and FIELD arguments of UNPACK at %L" +-#~ msgstr "Olika form i dimension %d för argumenten MASK och FIELD till UNPACK vid %L" +- +-#~ msgid "Allocatable component at %C must be an array" +-#~ msgstr "Allokerbar komponent vid %C måste vara en vektor" +- +-#~ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran" +-#~ msgstr "Fortran 2003: Procedurkomponenter vid %C är inte implementerade ännu i gfortran" +- +-#~ msgid "DEFERRED not yet implemented at %C" +-#~ msgstr "DEFERRED inte implementerad ännu vid %C" +- +-#~ msgid "Type/rank mismatch in argument '%s' at %L" +-#~ msgstr "Typ/ordning stämmer inte i argument \"%s\" vid %L" +- +-#~ msgid "Function '%s' called in lieu of an operator at %L must be PURE" +-#~ msgstr "Funktionen \"%s\" anropad istället för en operator vid %L måste vara PURE" +- +-#~ msgid "Repeat count cannot follow P descriptor" +-#~ msgstr "Upprepningsantal får inte följa efter P-deskriptor" +- +-#~ msgid "Fortran F2003: ROUND= specifier at %C not implemented" +-#~ msgstr "Fortran F2003: ROUND=-specificerare vid %C är inte implementerad" +- +-#~ msgid "F2003 Feature: ROUND= specifier at %C not implemented" +-#~ msgstr "F2003-funktion: specificerare ROUND= vid %C är inte implementerad" +- +-#~ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure" +-#~ msgstr "Otillåtet avallokeringsuttryck i DEALLOCATE vid %C för en PURE-procedur" +- +-#~ msgid "Expected case name of '%s' at %C" +-#~ msgstr "Case-namnet \"%s\" förväntades vid %C" +- +-#~ msgid "Option -fwhole-program is not supported for Fortran" +-#~ msgstr "Flaggan -fwhole-program stöds inte för Fortran" +- +-#~ msgid "PROCEDURE binding at %C must be inside CONTAINS" +-#~ msgstr "PROCEDURE-bindning vid %C måste vara inuti CONTAINS" +- +-#~ msgid "Intrinsic subroutine '%s' used as a function at %L" +-#~ msgstr "Inbyggd subrutin \"%s\" använd som en funktion vid %L" +- +-#~ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER" +-#~ msgstr "Uttryck i DEALLOCATE-sats vid %L måste vara ALLOCATABLE eller en POINTER" +- +-#~ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L" +-#~ msgstr "STAT-variabeln \"%s\" i en ALLOCATE-sats får inte allokeras i samma sats vid %L" +- +-#~ msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)" +-#~ msgstr "STAT-variabel \"%s\" i %s-sats vid %C får inte vara INTENT(IN)" +- +-#~ msgid "Illegal STAT variable in %s statement at %C for a PURE procedure" +-#~ msgstr "Otillåten STAT-variabel i %s-sats vid %C för en PURE-procedur" +- +-#~ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L" +-#~ msgstr "Borttagen funktion: GOTO vid %L hoppar till END av konstruktion vid %L" +- +-#~ msgid "Subroutine '%s' called instead of assignment at %L must be PURE" +-#~ msgstr "Subrutin \"%s\" anropad stället för tilldelning vid %L måste vara PURE" +- +-#~ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95" +-#~ msgstr "CHARACTER(*)-funktion \"%s\" vid %L är föråldrad i fortran 95" +- +-#~ msgid "non-constant DATA value at %L" +-#~ msgstr "ickekonstant DATA-värde vid %L" +- +-#~ msgid "Integer too large in shape specification at %L" +-#~ msgstr "För stort heltal i formspecifikation vid %L" +- +-#~ msgid "Too many dimensions in shape specification for RESHAPE at %L" +-#~ msgstr "För många dimensioner i formspecifikation till RESHAPE vid %L" +- +-#~ msgid "Shape specification at %L cannot be negative" +-#~ msgstr "Formspecifikation vid %L kan inte vara negativ" +- +-#~ msgid "Shape specification at %L cannot be the null array" +-#~ msgstr "Formspecifikation vid %L får inte vara den tomma vektorn" +- +-#~ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter" +-#~ msgstr "ORDER-parameter till RESHAPE vid %L har inte samma storlek som SHAPE-parametern" +- +-#~ msgid "Error in ORDER parameter of RESHAPE at %L" +-#~ msgstr "Fel i ORDER-parameter till RESHAPE vid %L" +- +-#~ msgid "ORDER parameter of RESHAPE at %L is out of range" +-#~ msgstr "ORDER-parameter till RESHAPE vid %L är utanför gränsen" +- +-#~ msgid "Invalid permutation in ORDER parameter at %L" +-#~ msgstr "Ogiltig permutation i ORDER-parameter vid %L" +- +-#~ msgid "PAD parameter required for short SOURCE parameter at %L" +-#~ msgstr "PAD-parameter krävs för kort SOURCE-parameter vid %L" +- +-#~ msgid "Support SSE5 built-in functions and code generation" +-#~ msgstr "Stöd inbyggda SSE5-funktioner och -kodgenerering" +- +-#~ msgid "Do not generate tablejump insns" +-#~ msgstr "Generera inte tabellhoppinstruktioner" +- +-#~ msgid "Output instruction sizes to the asm file" +-#~ msgstr "Mata ut instruktionsstorlekar till asm-filen" +- +-#~ msgid "Do not generate fused multiply/add instructions" +-#~ msgstr "Generera inte sammansmälta multiplikations/additions-instruktioner" +- +-#~ msgid "Generate SH2a code" +-#~ msgstr "Generera SH2a-kod" +- +-#~ msgid "Expand cbranchdi4 pattern early into separate comparisons and branches." +-#~ msgstr "Expandera cbranchdi4-mönster tidigt i separata jämförelser och grenar." +- +-#~ msgid "When running CSE, follow conditional jumps" +-#~ msgstr "När CSE körs, följ villkorliga hopp" +- +-#~ msgid "Perform sequence abstraction optimization on RTL" +-#~ msgstr "Utför sekvensabstraktionsoptimeringar på RTL" +- +-#~ msgid "Eliminate redundant sign extensions using LCM." +-#~ msgstr "Eliminera överflödiga teckenutvidgningar med LCM." +- +-#~ msgid "logical %<%s%> with non-zero constant will always evaluate as true" +-#~ msgstr "logisk %<%s%> men konstant skild från noll kommer alltid beräknas till sant" +- +-#~ msgid "%Hduplicate label %qD" +-#~ msgstr "%Hdubblerad etikett %qD" +- +-#~ msgid "%Jjump into statement expression" +-#~ msgstr "%Jhopp in i satsuttryck" +- +-#~ msgid "%Jjump into scope of identifier with variably modified type" +-#~ msgstr "%Jhopp in i räckvidd för identifierare med variabel typ" +- +-#~ msgid "variable or field %qs declared void" +-#~ msgstr "variabel eller fält %qs deklarerad void" +- +-#~ msgid "%Jinvalid use of structure with flexible array member" +-#~ msgstr "%Jogiltig användning av post flexibel vektormedlem" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Bool%> in declaration specifiers" +-#~ msgstr "både % och %<_Bool%> i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal32%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal32%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal64%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal64%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal128%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal128%> i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Bool%> in declaration specifiers" +-#~ msgstr "både % och %<_Bool%> i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal32%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal32%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal64%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal64%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal128%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal128%> i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Bool%> in declaration specifiers" +-#~ msgstr "både % och %<_Bool%> i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal32%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal32%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal64%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal64%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal128%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal128%> i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Bool%> in declaration specifiers" +-#~ msgstr "både % och %<_Bool%> i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal32%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal32%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal64%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal64%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal128%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal128%> i deklarationsspecificerare" +- +-#~ msgid "both % and % in declaration specifiers" +-#~ msgstr "både % och % i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Bool%> in declaration specifiers" +-#~ msgstr "både % och %<_Bool%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal32%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal32%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal64%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal64%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Decimal128%> in declaration specifiers" +-#~ msgstr "både % och %<_Decimal128%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Fract%> in declaration specifiers" +-#~ msgstr "både % och %<_Fract%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Accum%> in declaration specifiers" +-#~ msgstr "både % och %<_Accum%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<_Sat%> in declaration specifiers" +-#~ msgstr "både % och %<_Sat%> i deklarationsspecificerare" +- +-#~ msgid "both %<_Sat%> and % in declaration specifiers" +-#~ msgstr "både %<_Sat%> och % i deklarationsspecificerare" +- +-#~ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers" +-#~ msgstr "både %<_Sat%> och %<_Bool%> i deklarationsspecificerare" +- +-#~ msgid "both %<_Sat%> and % in declaration specifiers" +-#~ msgstr "både %<_Sat%> och % i deklarationsspecificerare" +- +-#~ msgid "both %<_Sat%> and % in declaration specifiers" +-#~ msgstr "både %<_Sat%> och % i deklarationsspecificerare" +- +-#~ msgid "both %<_Sat%> and % in declaration specifiers" +-#~ msgstr "både %<_Sat%> och % i deklarationsspecificerare" +- +-#~ msgid "both %<_Sat%> and % in declaration specifiers" +-#~ msgstr "både %<_Sat%> och % i deklarationsspecificerare" +- +-#~ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers" +-#~ msgstr "både %<_Sat%> och %<_Decimal32%> i deklarationsspecificerare" +- +-#~ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers" +-#~ msgstr "både %<_Sat%> och %<_Decimal64%> i deklarationsspecificerare" +- +-#~ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers" +-#~ msgstr "både %<_Sat%> och %<_Decimal128%> i deklarationsspecificerare" +- +-#~ msgid "both %<_Sat%> and % in declaration specifiers" +-#~ msgstr "både %<_Sat%> och % i deklarationsspecificerare" +- +-#~ msgid "both % and %<%s%> in declaration specifiers" +-#~ msgstr "både % och %<%s%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<%s%> in declaration specifiers" +-#~ msgstr "både % och %<%s%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<%s%> in declaration specifiers" +-#~ msgstr "både % och %<%s%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<%s%> in declaration specifiers" +-#~ msgstr "både % och %<%s%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<%s%> in declaration specifiers" +-#~ msgstr "både % och %<%s%> i deklarationsspecificerare" +- +-#~ msgid "both % and %<%s%> in declaration specifiers" +-#~ msgstr "både % och %<%s%> i deklarationsspecificerare" +- +-#~ msgid "both %<_Sat%> and %<%s%> in declaration specifiers" +-#~ msgstr "både %<_Sat%> och %<%s%> i deklarationsspecificerare" +- +-#~ msgid "decimal floating point not supported for this target" +-#~ msgstr "decimala flyttal stöds inte för denna målarkitektur" +- +-#~ msgid "missing %<(%> after %<#pragma push_macro%> - ignored" +-#~ msgstr "%<(%> saknas efter %<#pragma pack_macro%> - ignoreras" +- +-#~ msgid "invalid constant in %<#pragma push_macro%> - ignored" +-#~ msgstr "ogiltig konstant i %<#pragma push_macro%> - ignoreras" +- +-#~ msgid "missing %<)%> after %<#pragma push_macro%> - ignored" +-#~ msgstr "%<)%> saknas efter %<#pragma push_macro%> - ignoreras" +- +-#~ msgid "junk at end of %<#pragma push_macro%>" +-#~ msgstr "skräp vid slutet av %<#pragma push_macro%>" +- +-#~ msgid "missing %<(%> after %<#pragma pop_macro%> - ignored" +-#~ msgstr "%<(%> saknas efter %<#pragma pop_macro%> - ignoreras" +- +-#~ msgid "invalid constant in %<#pragma pop_macro%> - ignored" +-#~ msgstr "ogiltig konstant i %<#pragma pop_macro%> - ignoreras" +- +-#~ msgid "missing %<)%> after %<#pragma pop_macro%> - ignored" +-#~ msgstr "%<)%> saknas efter %<#pragma pop_macro%> - ignoreras" +- +-#~ msgid "junk at end of %<#pragma pop_macro%>" +-#~ msgstr "skräp vid slutet av %<#pragma pop_macro%>" +- +-#~ msgid "#pragma redefine_extname not supported on this target" +-#~ msgstr "#pragma redefine_extname stöds inte på denna målarkitektur" +- +-#~ msgid "signed and unsigned type in conditional expression" +-#~ msgstr "typ signed och unsigned i villkorsuttryck" +- +-#~ msgid "case label in statement expression not containing enclosing switch statement" +-#~ msgstr "case-etikett i satsuttryck som inte innehåller en omslutande switch-sats" +- +-#~ msgid "% label in statement expression not containing enclosing switch statement" +-#~ msgstr "%-etikett i satsuttryck som inte innehåller en omslutande switch-sats" +- +-#~ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement" +-#~ msgstr "case-etikett i räckvidden för en identifierare med variabel typ som inte innehåller en omslutande switch-sats" +- +-#~ msgid "% label in scope of identifier with variably modified type not containing enclosing switch statement" +-#~ msgstr "%-etikett i räckvidden för en identifierare med variabel typ som inte innehåller en omslutande switch-sats" +- +-#~ msgid "%Hstatement with no effect" +-#~ msgstr "%Hsats utan effekt" +- +-#~ msgid "Unrecognized GIMPLE statement during RTL expansion" +-#~ msgstr "Okänd GIMPLE-sats under RTL-expansion" +- +-#~ msgid "region %i may contain throw and is contained in region that may not" +-#~ msgstr "region %i kan innehålla throw och ligger inne i en region som inte kan det" +- +-#~ msgid "%H%s" +-#~ msgstr "%H%s" +- +-#~ msgid "iteration variable %qs should not be firstprivate" +-#~ msgstr "iterationsvariabel %qs får inte vara firstprivate" +- +-#~ msgid "-freorder-blocks-and-partition does not work with exceptions" +-#~ msgstr "-freorder-blocks-and-partition fungerar inte med undantag" +- +-#~ msgid "-freorder-blocks-and-partition does not support unwind info" +-#~ msgstr "-freorder-blocks-and-partition stödjer inte unwind-info" +- +-#~ msgid "%Hvalue computed is not used" +-#~ msgstr "%Hberäknat värde används inte" +- +-#~ msgid "%qs is deprecated (declared at %s:%d)" +-#~ msgstr "%qs bör undvikas (deklarerad vid %s:%d)" +- +-#~ msgid "EH edge %i->%i is missing" +-#~ msgstr "EH-båge %i->%i saknas" +- +-#~ msgid "EH edge %i->%i miss EH flag" +-#~ msgstr "EH-bågen %i->%i saknar EH-flagga" +- +-#~ msgid "EH edge %i->%i has duplicated regions" +-#~ msgstr "EH-bågen %i->%i har dubblerade regioner" +- +-#~ msgid " Pending stmts not issued on PRED edge (%d, %d)\n" +-#~ msgstr " Väntande satser inte utmatade på PRED-båge (%d, %d)\n" +- +-#~ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n" +-#~ msgstr " Väntande satser inte utmatade på SUCC-båge (%d, %d)\n" +- +-#~ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n" +-#~ msgstr " Väntande satser inte utmatade på ENTRY-båge (%d, %d)\n" +- +-#~ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n" +-#~ msgstr " Väntande satser inte utmatade på EXIT-båge (%d, %d)\n" +- +-#~ msgid "initialized from %qE" +-#~ msgstr "initierade från %qE" +- +-#~ msgid "dereferencing pointer %qD does break strict-aliasing rules" +-#~ msgstr "att dereferera pekare %qD bryter regler för strikt aliasing" +- +-#~ msgid "non-addressable variable inside an alias set" +-#~ msgstr "oadresserbar variabel inuti en aliasmängd" +- +-#~ msgid "verify_flow_insensitive_alias_info failed" +-#~ msgstr "verify_flow_insensitive_alias_info misslyckades" +- +-#~ msgid "dereferenced pointers should have a name or a symbol tag" +-#~ msgstr "derefererade pekare skall ha ett namn eller en symboltagg" +- +-#~ msgid "pointers with a memory tag, should have points-to sets" +-#~ msgstr "pekare med en minnestagg, skulle ha pekar-på-mängder" +- +-#~ msgid "pointer escapes but its name tag is not call-clobbered" +-#~ msgstr "pekare utgår, men dess namntagg är inte anropsöverskriven" +- +-#~ msgid "verify_flow_sensitive_alias_info failed" +-#~ msgstr "verify_flow_sensitive_alias_info misslyckades" +- +-#~ msgid "variable in call_clobbered_vars but not marked call_clobbered" +-#~ msgstr "variabel i call_clobbered_vars men inte markerad call_clobbered" +- +-#~ msgid "variable marked call_clobbered but not in call_clobbered_vars bitmap." +-#~ msgstr "variabel markerad call_clobbered men inte i bitkartan call_clobbered_vars." +- +-#~ msgid "verify_call_clobbering failed" +-#~ msgstr "verify_call_clobbering misslyckades" +- +-#~ msgid "Memory partitions should have at least one symbol" +-#~ msgstr "Minnespartitioner skall ha åtminstone en symbol" +- +-#~ msgid "Partitioned symbols should belong to exactly one partition" +-#~ msgstr "Partitionerade symboler skall tillhöra exakt en partition" +- +-#~ msgid "verify_memory_partitions failed" +-#~ msgstr "verify_memory_partitions misslyckades" +- +-#~ msgid "%Jonly weak aliases are supported in this configuration" +-#~ msgstr "%Jendast svaga alias stöds i denna konfiguration" +- +-#~ msgid "the -mno-tablejump switch is deprecated" +-#~ msgstr "flaggan -mno-tablejump bör undvikas" +- +-#~ msgid "GCC 4.4 is the last release with this switch" +-#~ msgstr "GCC 4.4 är den sista utgåvan med denna flagga" +- +-#~ msgid "use the -fno-jump-tables switch instead" +-#~ msgstr "använd flaggan -fno-jump-tables istället" +- +-#~ msgid "trampolines not supported" +-#~ msgstr "trampoliner stöds ej" +- +-#~ msgid "`%s' attribute only applies to functions" +-#~ msgstr "attributet \"%s\" är bara tillämpbart på funktioner" +- +-#~ msgid "`%s' attribute only applies to variables" +-#~ msgstr "attributet \"%s\" är bara tillämpbart på variabler" +- +-#~ msgid "Trampoline support for CRX" +-#~ msgstr "Trampolinstöd för CRX" +- +-#~ msgid "nested functions are limited to 2 register parameters" +-#~ msgstr "nästade funktioner begränsas till 2 registerparametrar" +- +-#~ msgid "value %<%s%> for -mtune= switch is deprecated" +-#~ msgstr "värde %<%s%> till flaggan -mtune= bör undvikas" +- +-#~ msgid "GCC 4.4 is the last release with Itanium1 tuning support" +-#~ msgstr "GCC 4.4 är den sista utgåvan med stöd för trimning av Itanium1" +- +-#~ msgid "not yet implemented: latency-optimized inline square root" +-#~ msgstr "ännu inte implementerat: latensoptimerad inline:ad kvadratrot" +- +-#~ msgid "`%s' attribute applies only to functions" +-#~ msgstr "attributet \"%s\" fungerar bara på funktioner" +- +-#~ msgid "`%s' attribute argument not an integer constant" +-#~ msgstr "attributargument \"%s\" är inte en heltalskonstant" +- +-#~ msgid "`%s' attribute ignored" +-#~ msgstr "attributet \"%s\" ignoreras" +- +-#~ msgid "%H from here" +-#~ msgstr "%H härifrån" +- +-#~ msgid " enters scope of non-POD %q+#D" +-#~ msgstr " går in i räckvid för icke-POD %q+#D" +- +-#~ msgid "%J enters catch block" +-#~ msgstr "%J går in i catch-block" +- +-#~ msgid "ISO C++ forbids use of initializer list to initialize reference %qD" +-#~ msgstr "ISO C++ förbjuder användning av initierarlistor för att initiera referensen %qD" +- +-#~ msgid "creating %s" +-#~ msgstr "skapar %s" +- +-# Detta är en exakt kopia från koden. Skall nog knappast översättas. +-#~ msgid "XXX is_class_level != (current_scope == class_scope)\n" +-#~ msgstr "XXX is_class_level != (current_scope == class_scope)\n" +- +-#~ msgid "%q+D is not a function," +-#~ msgstr "%q+D är inte en funktion," +- +-#~ msgid " conflict with %q+D" +-#~ msgstr " står i konflikt med %q+D" +- +-#~ msgid "%H% is too long for GCC" +-#~ msgstr "%H% är för långt för GCC" +- +-#~ msgid "%H%qT is not a template" +-#~ msgstr "%H%qT är inte en mall" +- +-#~ msgid "%Hunsupported non-standard concatenation of string literals" +-#~ msgstr "%Hicke-standardsuffix på flyttalskonstant stöds inte" +- +-#~ msgid "%H%qD used without template parameters" +-#~ msgstr "%H%qD använd utan mallparametrar" +- +-#~ msgid "%Hreference to %qD is ambiguous" +-#~ msgstr "%Hreferens till %qD är tvetydig" +- +-#~ msgid "%Hinvalid use of %qD" +-#~ msgstr "%Hogiltig användning av %qD" +- +-#~ msgid "%Hcase label not within a switch statement" +-#~ msgstr "%Hcase-etikett är inte i en switch-sats" +- +-#~ msgid "%H% without a previous %" +-#~ msgstr "%H% utan ett föregående %" +- +-#~ msgid "%Hbreak statement not within loop or switch" +-#~ msgstr "%Hbreak-sats som inte är i en slinga eller switch" +- +-#~ msgid "%Hinvalid exit from OpenMP structured block" +-#~ msgstr "%Hogiltig utgång från OpenMP strukturerat block" +- +-#~ msgid "%Hbreak statement used with OpenMP for loop" +-#~ msgstr "%Hbreak-sats använd med OpenMP-for-slinga" +- +-#~ msgid "%Hcontinue statement not within a loop" +-#~ msgstr "%Hcontinue-sats som inte är i en slinga" +- +-#~ msgid "using % outside of template" +-#~ msgstr "användning av % utanför mall" +- +-#~ msgid "%Harray bound is not an integer constant" +-#~ msgstr "%Hvektorgräns är inte en heltalskonstant" +- +-#~ msgid "%Hredefinition of %q#T" +-#~ msgstr "%Homdefinition av %q#T" +- +-#~ msgid "%Htemplate declaration of %qs" +-#~ msgstr "%Hmalldeklaration av %qs" +- +-#~ msgid "%Htoo many %qs clauses" +-#~ msgstr "%Hför många %qs-klausuler" +- +-#~ msgid "%Hcollapse argument needs positive constant integer expression" +-#~ msgstr "%Hcollapse-argument behöver ett positivt konstant heltalsuttryck" +- +-#~ msgid "%Hschedule % does not take a % parameter" +-#~ msgstr "%H%-schemaläggning tar ingen %-parameter" +- +-#~ msgid "%Hschedule % does not take a % parameter" +-#~ msgstr "%H%-schemaläggning tar ingen %-parameter" +- +-#~ msgid "%H%qs is not valid for %qs" +-#~ msgstr "%H%qs är inte giltigt för %qs" +- +-#~ msgid "%Hiteration variable %qD should not be firstprivate" +-#~ msgstr "%Hiterationsvariabel %qD får inte vara firstprivate" +- +-#~ msgid "%Hiteration variable %qD should not be reduction" +-#~ msgstr "%Hiterationsvariabel %qD skall inte vara reduktion" +- +-#~ msgid "%Hcollapsed loops not perfectly nested" +-#~ msgstr "%Hkollapsade slingor inte perfäkt nästade" +- +-#~ msgid "%Hexpected string literal" +-#~ msgstr "%Hsträngkonstant förväntades" +- +-#~ msgid "%H%<#pragma GCC pch_preprocess%> must be first" +-#~ msgstr "%H%<#pragma GCC pch_preprocess%> måste komma först" +- +-#~ msgid "%H%<#pragma omp barrier%> may only be used in compound statements" +-#~ msgstr "%H%<#pragma omp barrier%> får bara användas i sammansatta satser" +- +-#~ msgid "%H%<#pragma omp flush%> may only be used in compound statements" +-#~ msgstr "%H%<#pragma omp flush%> får bara användas i sammansatta satser" +- +-#~ msgid "%H%<#pragma omp taskwait%> may only be used in compound statements" +-#~ msgstr "%H%<#pragma omp barrier%> får bara användas i sammansatta satser" +- +-#~ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct" +-#~ msgstr "%H%<#pragma omp section%> får bara användas i %<#pragma omp sections%>-konstruktion" +- +-#~ msgid "%H%qD is not a member of %qT" +-#~ msgstr "%H%qD är inte en medlem av %qT" +- +-#~ msgid "%Hinvalid controlling predicate" +-#~ msgstr "%Hogiltigt styrpredikat" +- +-#~ msgid "%Hinvalid increment expression" +-#~ msgstr "%Hogiltigt ökningsuttryck" +- +-#~ msgid "%Hexpected iteration declaration or initialization" +-#~ msgstr "%Hiterationsdeklaration eller initiering förväntades" +- +-#~ msgid "%Hmissing controlling predicate" +-#~ msgstr "%Hstyrpredikat saknas" +- +-#~ msgid "%Hmissing increment expression" +-#~ msgstr "%Hutelämnat ökningsuttryck" +- +-#~ msgid "global register variable %qs used in nested function" +-#~ msgstr "global registervariabel %qs använd i nästad funktion" +- +-#~ msgid "register variable %qs used in nested function" +-#~ msgstr "registervariabel %qs använd i nästad funktion" +- +-#~ msgid "address of global register variable %qs requested" +-#~ msgstr "adress till global registervariabel %qs efterfrågad" +- +-#~ msgid "address of register variable %qs requested" +-#~ msgstr "adress till registervariabeln %qs efterfrågad" ++msgstr "ogiltig elementtyp för attributet %qs" Index: gcc/po/de.po =================================================================== --- a/src/gcc/po/de.po (.../tags/gcc_4_5_0_release) @@ -386036,6 +391018,140 @@ #~ msgid "GMP version %s, MPFR version %s\n" #~ msgstr "GMP 版本 %s,MPFR 版本 %s\n" +Index: gcc/c-omp.c +=================================================================== +--- a/src/gcc/c-omp.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/c-omp.c (.../branches/gcc-4_5-branch) +@@ -1,7 +1,7 @@ + /* This file contains routines to construct GNU OpenMP constructs, + called from parsing in the C and C++ front ends. + +- Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. ++ Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Contributed by Richard Henderson , + Diego Novillo . + +@@ -301,7 +301,8 @@ + || TREE_CODE (cond) == LE_EXPR + || TREE_CODE (cond) == GT_EXPR + || TREE_CODE (cond) == GE_EXPR +- || TREE_CODE (cond) == NE_EXPR) ++ || TREE_CODE (cond) == NE_EXPR ++ || TREE_CODE (cond) == EQ_EXPR) + { + tree op0 = TREE_OPERAND (cond, 0); + tree op1 = TREE_OPERAND (cond, 1); +@@ -346,18 +347,21 @@ + cond_ok = true; + } + +- if (TREE_CODE (cond) == NE_EXPR) ++ if (TREE_CODE (cond) == NE_EXPR ++ || TREE_CODE (cond) == EQ_EXPR) + { + if (!INTEGRAL_TYPE_P (TREE_TYPE (decl))) + cond_ok = false; + else if (operand_equal_p (TREE_OPERAND (cond, 1), + TYPE_MIN_VALUE (TREE_TYPE (decl)), + 0)) +- TREE_SET_CODE (cond, GT_EXPR); ++ TREE_SET_CODE (cond, TREE_CODE (cond) == NE_EXPR ++ ? GT_EXPR : LE_EXPR); + else if (operand_equal_p (TREE_OPERAND (cond, 1), + TYPE_MAX_VALUE (TREE_TYPE (decl)), + 0)) +- TREE_SET_CODE (cond, LT_EXPR); ++ TREE_SET_CODE (cond, TREE_CODE (cond) == NE_EXPR ++ ? LT_EXPR : GE_EXPR); + else + cond_ok = false; + } +Index: gcc/tree-nested.c +=================================================================== +--- a/src/gcc/tree-nested.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/tree-nested.c (.../branches/gcc-4_5-branch) +@@ -1,5 +1,5 @@ + /* Nested function decomposition for GIMPLE. +- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 ++ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. + + This file is part of GCC. +@@ -1088,7 +1088,8 @@ + { + bitmap_set_bit (new_suppress, DECL_UID (decl)); + OMP_CLAUSE_DECL (clause) = get_nonlocal_debug_decl (info, decl); +- need_chain = true; ++ if (OMP_CLAUSE_CODE (clause) != OMP_CLAUSE_PRIVATE) ++ need_chain = true; + } + break; + +Index: gcc/tree-inline.c +=================================================================== +--- a/src/gcc/tree-inline.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/tree-inline.c (.../branches/gcc-4_5-branch) +@@ -651,6 +651,7 @@ + copy_bind_expr (tree *tp, int *walk_subtrees, copy_body_data *id) + { + tree block = BIND_EXPR_BLOCK (*tp); ++ tree t; + /* Copy (and replace) the statement. */ + copy_tree_r (tp, walk_subtrees, NULL); + if (block) +@@ -660,9 +661,21 @@ + } + + if (BIND_EXPR_VARS (*tp)) +- /* This will remap a lot of the same decls again, but this should be +- harmless. */ +- BIND_EXPR_VARS (*tp) = remap_decls (BIND_EXPR_VARS (*tp), NULL, id); ++ { ++ /* This will remap a lot of the same decls again, but this should be ++ harmless. */ ++ BIND_EXPR_VARS (*tp) = remap_decls (BIND_EXPR_VARS (*tp), NULL, id); ++ ++ /* Also copy value-expressions. */ ++ for (t = BIND_EXPR_VARS (*tp); t; t = TREE_CHAIN (t)) ++ if (TREE_CODE (t) == VAR_DECL ++ && DECL_HAS_VALUE_EXPR_P (t)) ++ { ++ tree tem = DECL_VALUE_EXPR (t); ++ walk_tree (&tem, copy_tree_body_r, id, NULL); ++ SET_DECL_VALUE_EXPR (t, tem); ++ } ++ } + } + + +Index: gcc/c-common.c +=================================================================== +--- a/src/gcc/c-common.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/c-common.c (.../branches/gcc-4_5-branch) +@@ -6665,10 +6665,12 @@ + } + else if (is_type) + { ++ if ((flags & (int) ATTR_FLAG_TYPE_IN_PLACE)) ++ /* OK, modify the type in place. */; + /* If we have a TYPE_DECL, then copy the type, so that we + don't accidentally modify a builtin type. See pushdecl. */ +- if (decl && TREE_TYPE (decl) != error_mark_node +- && DECL_ORIGINAL_TYPE (decl) == NULL_TREE) ++ else if (decl && TREE_TYPE (decl) != error_mark_node ++ && DECL_ORIGINAL_TYPE (decl) == NULL_TREE) + { + tree tt = TREE_TYPE (decl); + *type = build_variant_type_copy (*type); +@@ -6677,7 +6679,7 @@ + TREE_USED (*type) = TREE_USED (decl); + TREE_TYPE (decl) = *type; + } +- else if (!(flags & (int) ATTR_FLAG_TYPE_IN_PLACE)) ++ else + *type = build_variant_type_copy (*type); + + TYPE_ALIGN (*type) = (1U << i) * BITS_PER_UNIT; Index: gcc/config.gcc =================================================================== --- a/src/gcc/config.gcc (.../tags/gcc_4_5_0_release) @@ -386070,6 +391186,21 @@ tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux" ;; i[34567]86-*-solaris2*) +Index: gcc/tlink.c +=================================================================== +--- a/src/gcc/tlink.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/tlink.c (.../branches/gcc-4_5-branch) +@@ -32,6 +32,10 @@ + #include "collect2.h" + #include "libiberty.h" + ++/* TARGET_64BIT may be defined to use driver specific functionality. */ ++#undef TARGET_64BIT ++#define TARGET_64BIT TARGET_64BIT_DEFAULT ++ + #define MAX_ITERATIONS 17 + + /* Defined in the automatically-generated underscore.c. */ Index: gcc/reginfo.c =================================================================== --- a/src/gcc/reginfo.c (.../tags/gcc_4_5_0_release) @@ -386083,6 +391214,114 @@ ira_init (); } +Index: gcc/config/alpha/elf.h +=================================================================== +--- a/src/gcc/config/alpha/elf.h (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/config/alpha/elf.h (.../branches/gcc-4_5-branch) +@@ -272,20 +272,36 @@ + + /* Write the extra assembler code needed to declare an object properly. */ + ++#ifdef HAVE_GAS_GNU_UNIQUE_OBJECT ++#define USE_GNU_UNIQUE_OBJECT 1 ++#else ++#define USE_GNU_UNIQUE_OBJECT 0 ++#endif ++ + #undef ASM_DECLARE_OBJECT_NAME +-#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ +- do { \ +- HOST_WIDE_INT size; \ +- ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \ +- size_directive_output = 0; \ +- if (!flag_inhibit_size_directive \ +- && DECL_SIZE (DECL) \ +- && (size = int_size_in_bytes (TREE_TYPE (DECL))) > 0) \ +- { \ +- size_directive_output = 1; \ +- ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \ +- } \ +- ASM_OUTPUT_LABEL(FILE, NAME); \ ++#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ ++ do { \ ++ HOST_WIDE_INT size; \ ++ \ ++ /* For template static data member instantiations or \ ++ inline fn local statics, use gnu_unique_object so that \ ++ they will be combined even under RTLD_LOCAL. */ \ ++ if (USE_GNU_UNIQUE_OBJECT \ ++ && !DECL_ARTIFICIAL (DECL) && DECL_ONE_ONLY (DECL)) \ ++ ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "gnu_unique_object"); \ ++ else \ ++ ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \ ++ \ ++ size_directive_output = 0; \ ++ if (!flag_inhibit_size_directive \ ++ && (DECL) && DECL_SIZE (DECL)) \ ++ { \ ++ size_directive_output = 1; \ ++ size = int_size_in_bytes (TREE_TYPE (DECL)); \ ++ ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \ ++ } \ ++ \ ++ ASM_OUTPUT_LABEL (FILE, NAME); \ + } while (0) + + /* Output the size directive for a decl in rest_of_decl_compilation +Index: gcc/config/alpha/osf.h +=================================================================== +--- a/src/gcc/config/alpha/osf.h (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/config/alpha/osf.h (.../branches/gcc-4_5-branch) +@@ -213,6 +213,14 @@ + ? (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4) \ + : DW_EH_PE_aligned) + ++/* The Tru64 UNIX assembler warns on .lcomm with SIZE 0, so use 1 in that ++ case. */ ++#undef ASM_OUTPUT_LOCAL ++#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE,ROUNDED) \ ++( fputs ("\t.lcomm ", (FILE)), \ ++ assemble_name ((FILE), (NAME)), \ ++ fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED"\n", (SIZE) ? (SIZE) : 1)) ++ + /* This is how we tell the assembler that a symbol is weak. */ + + #define ASM_OUTPUT_WEAK_ALIAS(FILE, NAME, VALUE) \ +Index: gcc/config/s390/s390.c +=================================================================== +--- a/src/gcc/config/s390/s390.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/config/s390/s390.c (.../branches/gcc-4_5-branch) +@@ -9426,11 +9426,25 @@ + replace the symbol itself with the PLT stub. */ + if (flag_pic && !SYMBOL_REF_LOCAL_P (addr_location)) + { +- addr_location = gen_rtx_UNSPEC (Pmode, +- gen_rtvec (1, addr_location), +- UNSPEC_PLT); +- addr_location = gen_rtx_CONST (Pmode, addr_location); +- plt_call = true; ++ if (retaddr_reg != NULL_RTX) ++ { ++ addr_location = gen_rtx_UNSPEC (Pmode, ++ gen_rtvec (1, addr_location), ++ UNSPEC_PLT); ++ addr_location = gen_rtx_CONST (Pmode, addr_location); ++ plt_call = true; ++ } ++ else ++ /* For -fpic code the PLT entries might use r12 which is ++ call-saved. Therefore we cannot do a sibcall when ++ calling directly using a symbol ref. When reaching ++ this point we decided (in s390_function_ok_for_sibcall) ++ to do a sibcall for a function pointer but one of the ++ optimizers was able to get rid of the function pointer ++ by propagating the symbol ref into the call. This ++ optimization is illegal for S/390 so we turn the direct ++ call into a indirect call again. */ ++ addr_location = force_reg (Pmode, addr_location); + } + + /* Unless we can use the bras(l) insn, force the Index: gcc/config/sparc/sol2-gld.h =================================================================== --- a/src/gcc/config/sparc/sol2-gld.h (.../tags/gcc_4_5_0_release) @@ -386115,6 +391354,42 @@ - -#undef SUPPORTS_INIT_PRIORITY -#define SUPPORTS_INIT_PRIORITY 1 +Index: gcc/config/i386/i386.h +=================================================================== +--- a/src/gcc/config/i386/i386.h (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/config/i386/i386.h (.../branches/gcc-4_5-branch) +@@ -2147,9 +2147,12 @@ + /* Switch to init or fini section via SECTION_OP, emit a call to FUNC, + and switch back. For x86 we do this only to save a few bytes that + would otherwise be unused in the text section. */ +-#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \ +- asm (SECTION_OP "\n\t" \ +- "call " USER_LABEL_PREFIX #FUNC "\n" \ ++#define CRT_MKSTR2(VAL) #VAL ++#define CRT_MKSTR(x) CRT_MKSTR2(x) ++ ++#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \ ++ asm (SECTION_OP "\n\t" \ ++ "call " CRT_MKSTR(__USER_LABEL_PREFIX__) #FUNC "\n" \ + TEXT_SECTION_ASM_OP); + + /* Print operand X (an rtx) in assembler syntax to file FILE. +Index: gcc/config/i386/cygming.h +=================================================================== +--- a/src/gcc/config/i386/cygming.h (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/config/i386/cygming.h (.../branches/gcc-4_5-branch) +@@ -39,6 +39,11 @@ + #undef DEFAULT_ABI + #define DEFAULT_ABI (TARGET_64BIT ? MS_ABI : SYSV_ABI) + ++#if ! defined (USE_MINGW64_LEADING_UNDERSCORES) ++#undef USER_LABEL_PREFIX ++#define USER_LABEL_PREFIX (TARGET_64BIT ? "" : "_") ++#endif ++ + #undef DBX_REGISTER_NUMBER + #define DBX_REGISTER_NUMBER(n) \ + (TARGET_64BIT ? dbx64_register_map[n] \ Index: gcc/config/i386/i386.md =================================================================== --- a/src/gcc/config/i386/i386.md (.../tags/gcc_4_5_0_release) @@ -386153,6 +391428,174 @@ #endif } [(set_attr "prefix_rep" "1") +Index: gcc/config/i386/mingw-w64.h +=================================================================== +--- a/src/gcc/config/i386/mingw-w64.h (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/config/i386/mingw-w64.h (.../branches/gcc-4_5-branch) +@@ -39,6 +39,8 @@ + #define ASM_SPEC "%{v:-v} %{n} %{T} %{Ym,*} %{Yd,*} \ + %{Wa,*:%*} %{m32:--32} %{m64:--64}" + ++#undef SPEC_32 ++#undef SPEC_64 + #if TARGET_64BIT_DEFAULT + #define SPEC_32 "m32" + #define SPEC_64 "!m32" +@@ -47,8 +49,21 @@ + #define SPEC_64 "m64" + #endif + ++#undef SUB_LINK_ENTRY32 ++#undef SUB_LINK_ENTRY64 ++#define SUB_LINK_ENTRY32 "-e _DllMainCRTStartup@12" ++#if defined(USE_MINGW64_LEADING_UNDERSCORES) ++#define SUB_LINK_ENTRY64 "-e _DllMainCRTStartup" ++#else ++#define SUB_LINK_ENTRY64 "-e DllMainCRTStartup" ++#endif ++ ++#undef SUB_LINK_SPEC ++#undef SUB_LINK_ENTRY + #define SUB_LINK_SPEC "%{" SPEC_64 ":-m i386pep} %{" SPEC_32 ":-m i386pe}" ++#define SUB_LINK_ENTRY "%{" SPEC_64 ":" SUB_LINK_ENTRY64 "} %{" SPEC_32 ":" SUB_LINK_ENTRY32 "}" + ++#undef MULTILIB_DEFAULTS + #if TARGET_64BIT_DEFAULT + #define MULTILIB_DEFAULTS { "m64" } + #else +@@ -61,5 +76,5 @@ + %{shared: %{mdll: %eshared and mdll are not compatible}} \ + %{shared: --shared} %{mdll:--dll} \ + %{static:-Bstatic} %{!static:-Bdynamic} \ +- %{shared|mdll: -e _DllMainCRTStartup@12 --enable-auto-image-base} \ ++ %{shared|mdll: " SUB_LINK_ENTRY " --enable-auto-image-base} \ + %(shared_libgcc_undefs)" +Index: gcc/config/i386/mingw32.h +=================================================================== +--- a/src/gcc/config/i386/mingw32.h (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/config/i386/mingw32.h (.../branches/gcc-4_5-branch) +@@ -47,6 +47,22 @@ + } \ + while (0) + ++#undef SUB_LINK_ENTRY32 ++#undef SUB_LINK_ENTRY64 ++#define SUB_LINK_ENTRY32 "-e _DllMainCRTStartup@12" ++#if defined(USE_MINGW64_LEADING_UNDERSCORES) ++#define SUB_LINK_ENTRY64 "-e _DllMainCRTStartup" ++#else ++#define SUB_LINK_ENTRY64 "-e DllMainCRTStartup" ++#endif ++ ++#undef SUB_LINK_ENTRY ++#if TARGET_64BIT_DEFAULT ++#define SUB_LINK_ENTRY SUB_LINK_ENTRY64 ++#else ++#define SUB_LINK_ENTRY SUB_LINK_ENTRY32 ++#endif ++ + /* Override the standard choice of /usr/include as the default prefix + to try when searching for header files. */ + #undef STANDARD_INCLUDE_DIR +@@ -66,6 +82,10 @@ + /* Weak symbols do not get resolved if using a Windows dll import lib. + Make the unwind registration references strong undefs. */ + #if DWARF2_UNWIND_INFO ++/* DW2-unwind is just available for 32-bit mode. */ ++#if TARGET_64BIT_DEFAULT ++#error DW2 unwind is not available for 64-bit. ++#endif + #define SHARED_LIBGCC_UNDEFS_SPEC \ + "%{shared-libgcc: -u ___register_frame_info -u ___deregister_frame_info}" + #else +@@ -81,7 +101,7 @@ + %{shared: %{mdll: %eshared and mdll are not compatible}} \ + %{shared: --shared} %{mdll:--dll} \ + %{static:-Bstatic} %{!static:-Bdynamic} \ +- %{shared|mdll: -e _DllMainCRTStartup@12 --enable-auto-image-base} \ ++ %{shared|mdll: " SUB_LINK_ENTRY " --enable-auto-image-base} \ + %(shared_libgcc_undefs)" + + /* Include in the mingw32 libraries with libgcc */ +Index: gcc/config/i386/i386.c +=================================================================== +--- a/src/gcc/config/i386/i386.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/config/i386/i386.c (.../branches/gcc-4_5-branch) +@@ -2528,7 +2528,7 @@ + if (flags && add_nl_p) + { + opts[num++][0] = target_other; +- sprintf (target_other, "(other flags: 0x%x)", isa); ++ sprintf (target_other, "(other flags: 0x%x)", flags); + } + + /* Add -fpmath= option. */ +@@ -10976,7 +10976,10 @@ + || XINT (XEXP (x, 0), 1) != UNSPEC_GOTPCREL + || !MEM_P (orig_x)) + return orig_x; +- return XVECEXP (XEXP (x, 0), 0, 0); ++ x = XVECEXP (XEXP (x, 0), 0, 0); ++ if (GET_MODE (orig_x) != Pmode) ++ return simplify_gen_subreg (GET_MODE (orig_x), x, Pmode, 0); ++ return x; + } + + if (GET_CODE (x) != PLUS +@@ -11043,6 +11046,8 @@ + else + return orig_x; + } ++ if (GET_MODE (orig_x) != Pmode && MEM_P (orig_x)) ++ return simplify_gen_subreg (GET_MODE (orig_x), result, Pmode, 0); + return result; + } + +@@ -11383,7 +11388,7 @@ + return cfun->machine->some_ld_name; + + for (insn = get_insns (); insn ; insn = NEXT_INSN (insn)) +- if (INSN_P (insn) ++ if (NONDEBUG_INSN_P (insn) + && for_each_rtx (&PATTERN (insn), get_some_local_dynamic_name_1, 0)) + return cfun->machine->some_ld_name; + +@@ -13629,7 +13634,7 @@ + rtx prev = PREV_INSN (insn); + while (prev && distance < LEA_SEARCH_THRESHOLD) + { +- if (INSN_P (prev)) ++ if (NONDEBUG_INSN_P (prev)) + { + distance++; + for (def_rec = DF_INSN_DEFS (prev); *def_rec; def_rec++) +@@ -13669,7 +13674,7 @@ + && prev != insn + && distance < LEA_SEARCH_THRESHOLD) + { +- if (INSN_P (prev)) ++ if (NONDEBUG_INSN_P (prev)) + { + distance++; + for (def_rec = DF_INSN_DEFS (prev); *def_rec; def_rec++) +@@ -13715,7 +13720,7 @@ + rtx next = NEXT_INSN (insn); + while (next && distance < LEA_SEARCH_THRESHOLD) + { +- if (INSN_P (next)) ++ if (NONDEBUG_INSN_P (next)) + { + distance++; + +@@ -13764,7 +13769,7 @@ + && next != insn + && distance < LEA_SEARCH_THRESHOLD) + { +- if (INSN_P (next)) ++ if (NONDEBUG_INSN_P (next)) + { + distance++; + Index: gcc/config/sol2.h =================================================================== --- a/src/gcc/config/sol2.h (.../tags/gcc_4_5_0_release) @@ -386174,6 +391617,48 @@ /* The Solaris linker doesn't understand constructor priorities. (The GNU linker does support constructor priorities, so GNU ld configuration files for Solaris override this setting.) */ +Index: gcc/config/sh/sh.c +=================================================================== +--- a/src/gcc/config/sh/sh.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/config/sh/sh.c (.../branches/gcc-4_5-branch) +@@ -4397,6 +4397,7 @@ + int hi_limit; + rtx orig = from; + rtx last_got = NULL_RTX; ++ rtx last_symoff = NULL_RTX; + + /* For HImode: range is 510, add 4 because pc counts from address of + second instruction after this one, subtract 2 for the jump instruction +@@ -4538,6 +4539,16 @@ + { + switch (untangle_mova (&num_mova, &mova, from)) + { ++ case 1: ++ if (flag_pic) ++ { ++ rtx src = SET_SRC (PATTERN (from)); ++ if (GET_CODE (src) == CONST ++ && GET_CODE (XEXP (src, 0)) == UNSPEC ++ && XINT (XEXP (src, 0), 1) == UNSPEC_SYMOFF) ++ last_symoff = from; ++ } ++ break; + case 0: return find_barrier (0, 0, mova); + case 2: + { +@@ -4641,6 +4652,12 @@ + so we'll make one. */ + rtx label = gen_label_rtx (); + ++ /* Don't emit a constant table in the middle of insns for ++ casesi_worker_2. This is a bit overkill but is enough ++ because casesi_worker_2 wouldn't appear so frequently. */ ++ if (last_symoff) ++ from = last_symoff; ++ + /* If we exceeded the range, then we must back up over the last + instruction we looked at. Otherwise, we just need to undo the + NEXT_INSN at the end of the loop. */ Index: gcc/config/sol2-gld.h =================================================================== --- a/src/gcc/config/sol2-gld.h (.../tags/gcc_4_5_0_release) @@ -386210,6 +391695,28 @@ +/* GNU ld needs --export-dynamic to implement -rdynamic. */ +#undef RDYNAMIC_SPEC +#define RDYNAMIC_SPEC "--export-dynamic" +Index: gcc/config/mmix/mmix.md +=================================================================== +--- a/src/gcc/config/mmix/mmix.md (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/config/mmix/mmix.md (.../branches/gcc-4_5-branch) +@@ -333,7 +333,7 @@ + ;; The %2-is-%1-case is there just to make sure things don't fail. Could + ;; presumably happen with optimizations off; no evidence. + (define_insn "*divdi3_nonknuth" +- [(set (match_operand:DI 0 "register_operand" "=&r,r") ++ [(set (match_operand:DI 0 "register_operand" "=&r,&r") + (div:DI (match_operand:DI 1 "register_operand" "r,r") + (match_operand:DI 2 "register_operand" "1,r"))) + (clobber (match_scratch:DI 3 "=1,1")) +@@ -359,7 +359,7 @@ + ;; The %2-is-%1-case is there just to make sure things don't fail. Could + ;; presumably happen with optimizations off; no evidence. + (define_insn "*moddi3_nonknuth" +- [(set (match_operand:DI 0 "register_operand" "=&r,r") ++ [(set (match_operand:DI 0 "register_operand" "=&r,&r") + (mod:DI (match_operand:DI 1 "register_operand" "r,r") + (match_operand:DI 2 "register_operand" "1,r"))) + (clobber (match_scratch:DI 3 "=1,1")) Index: gcc/tree-vect-slp.c =================================================================== --- a/src/gcc/tree-vect-slp.c (.../tags/gcc_4_5_0_release) @@ -386227,6 +391734,264 @@ sbitmap_free (load_index); if (supported && i == group_size * group_size +Index: gcc/collect2.c +=================================================================== +--- a/src/gcc/collect2.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/collect2.c (.../branches/gcc-4_5-branch) +@@ -35,6 +35,10 @@ + # define SIGCHLD SIGCLD + #endif + ++/* TARGET_64BIT may be defined to use driver specific functionality. */ ++#undef TARGET_64BIT ++#define TARGET_64BIT TARGET_64BIT_DEFAULT ++ + #ifndef LIBRARY_PATH_ENV + #define LIBRARY_PATH_ENV "LIBRARY_PATH" + #endif +Index: gcc/lto-streamer.c +=================================================================== +--- a/src/gcc/lto-streamer.c (.../tags/gcc_4_5_0_release) ++++ b/src/gcc/lto-streamer.c (.../branches/gcc-4_5-branch) +@@ -788,6 +788,31 @@ + } + + ++#ifdef LTO_STREAMER_DEBUG ++static htab_t tree_htab; ++ ++struct tree_hash_entry ++{ ++ tree key; ++ intptr_t value; ++}; ++ ++static hashval_t ++hash_tree (const void *p) ++{ ++ const struct tree_hash_entry *e = (const struct tree_hash_entry *) p; ++ return htab_hash_pointer (e->key); ++} ++ ++static int ++eq_tree (const void *p1, const void *p2) ++{ ++ const struct tree_hash_entry *e1 = (const struct tree_hash_entry *) p1; ++ const struct tree_hash_entry *e2 = (const struct tree_hash_entry *) p2; ++ return (e1->key == e2->key); ++} ++#endif ++ + /* Initialization common to the LTO reader and writer. */ + + void +@@ -798,6 +823,10 @@ + new TS_* astructure is added, the streamer should be updated to + handle it. */ + check_handled_ts_structures (); ++ ++#ifdef LTO_STREAMER_DEBUG ++ tree_htab = htab_create (31, hash_tree, eq_tree, NULL); ++#endif + } + + +@@ -826,10 +855,16 @@ + void + lto_orig_address_map (tree t, intptr_t orig_t) + { +- /* FIXME lto. Using the annotation field is quite hacky as it relies +- on the GC not running while T is being rematerialized. It would +- be cleaner to use a hash table here. */ +- t->base.ann = (union tree_ann_d *) orig_t; ++ struct tree_hash_entry ent; ++ struct tree_hash_entry **slot; ++ ++ ent.key = t; ++ ent.value = orig_t; ++ slot ++ = (struct tree_hash_entry **) htab_find_slot (tree_htab, &ent, INSERT); ++ gcc_assert (!*slot); ++ *slot = XNEW (struct tree_hash_entry); ++ **slot = ent; + } + + +@@ -839,7 +874,13 @@ + intptr_t + lto_orig_address_get (tree t) + { +- return (intptr_t) t->base.ann; ++ struct tree_hash_entry ent; ++ struct tree_hash_entry **slot; ++ ++ ent.key = t; ++ slot ++ = (struct tree_hash_entry **) htab_find_slot (tree_htab, &ent, NO_INSERT); ++ return (slot ? (*slot)->value : 0); + } + + +@@ -848,7 +889,15 @@ + void + lto_orig_address_remove (tree t) + { +- t->base.ann = NULL; ++ struct tree_hash_entry ent; ++ struct tree_hash_entry **slot; ++ ++ ent.key = t; ++ slot ++ = (struct tree_hash_entry **) htab_find_slot (tree_htab, &ent, NO_INSERT); ++ gcc_assert (slot); ++ free (*slot); ++ htab_clear_slot (tree_htab, (PTR *)slot); + } + #endif + +Index: libstdc++-v3/include/c_global/cstdlib +=================================================================== +--- a/src/libstdc++-v3/include/c_global/cstdlib (.../tags/gcc_4_5_0_release) ++++ b/src/libstdc++-v3/include/c_global/cstdlib (.../branches/gcc-4_5-branch) +@@ -57,9 +57,9 @@ + + _GLIBCXX_BEGIN_NAMESPACE(std) + +- extern "C" void abort(void) throw () _GLIBC_NORETURN; ++ extern "C" void abort(void) throw () _GLIBCXX_NORETURN; + extern "C" int atexit(void (*)()) throw (); +- extern "C" void exit(int) throw () _GLIBC_NORETURN; ++ extern "C" void exit(int) throw () _GLIBCXX_NORETURN; + + _GLIBCXX_END_NAMESPACE + +Index: libstdc++-v3/ChangeLog +=================================================================== +--- a/src/libstdc++-v3/ChangeLog (.../tags/gcc_4_5_0_release) ++++ b/src/libstdc++-v3/ChangeLog (.../branches/gcc-4_5-branch) +@@ -1,3 +1,8 @@ ++2010-04-27 Jonathan Wakely ++ ++ PR libstdc++/43865 ++ * include/c_global/cstdlib (abort, exit): _GLIBCXX_NORETURN typo. ++ + 2010-04-14 Release Manager + + * GCC 4.5.0 released. +Index: configure.ac +=================================================================== +--- a/src/configure.ac (.../tags/gcc_4_5_0_release) ++++ b/src/configure.ac (.../branches/gcc-4_5-branch) +@@ -2699,7 +2699,7 @@ + mv conftest.o conftest.o.g0 && + ${CC} -c -g conftest.c && + mv conftest.o conftest.o.g && +- ${srcdir}/contrib/compare-debug conftest.o.g0 conftest.o.g; then ++ ${srcdir}/contrib/compare-debug conftest.o.g0 conftest.o.g > /dev/null 2>&1; then + : + else + BUILD_CONFIG= +Index: ChangeLog +=================================================================== +--- a/src/ChangeLog (.../tags/gcc_4_5_0_release) ++++ b/src/ChangeLog (.../branches/gcc-4_5-branch) +@@ -1,3 +1,8 @@ ++2010-04-20 Eric Botcazou ++ ++ * configure.ac (BUILD_CONFIG): Redirect output to /dev/null. ++ * configure: Regenerate. ++ + 2010-04-14 Release Manager + + * GCC 4.5.0 released. +Index: libjava/configure.ac +=================================================================== +--- a/src/libjava/configure.ac (.../tags/gcc_4_5_0_release) ++++ b/src/libjava/configure.ac (.../branches/gcc-4_5-branch) +@@ -927,6 +927,21 @@ + extra_ldflags_libjava=-liconv + ;; + esac ++ ++# Check for --no-merge-exidx-entries, an ARM-specific linker option. ++AC_CACHE_CHECK([for --no-merge-exidx-entries], [libgcj_cv_exidx], ++ [saved_ldflags="$LDFLAGS" ++ LDFLAGS="${LDFLAGS} -Wl,--no-merge-exidx-entries" ++ AC_LINK_IFELSE([int main(void){ return 0;} ], ++ [eval "libgcj_cv_exidx=yes"], ++ [eval "libgcj_cv_exidx=no"]) ++ LDFLAGS="${saved_ldflags}"] ++) ++if test "${libgcj_cv_exidx}" = "yes"; then ++ SYSTEMSPEC="${SYSTEMSPEC} --no-merge-exidx-entries" ++ extra_ldflags="${extra_ldflags} -Wl,--no-merge-exidx-entries" ++fi ++ + AC_SUBST(extra_ldflags_libjava) + AC_SUBST(extra_ldflags) + AC_SUBST(LIBSTDCXXSPEC) +Index: libjava/ChangeLog +=================================================================== +--- a/src/libjava/ChangeLog (.../tags/gcc_4_5_0_release) ++++ b/src/libjava/ChangeLog (.../branches/gcc-4_5-branch) +@@ -1,3 +1,8 @@ ++2010-04-19 Andrew Haley ++ ++ PR libgcj/40860 ++ * configure.ac: Handle --no-merge-exidx-entries. ++ + 2010-04-14 Release Manager + + * GCC 4.5.0 released. +Index: libjava/configure +=================================================================== +--- a/src/libjava/configure (.../tags/gcc_4_5_0_release) ++++ b/src/libjava/configure (.../branches/gcc-4_5-branch) +@@ -20520,11 +20520,44 @@ + ;; + esac + ++# Check for --no-merge-exidx-entries, an ARM-specific linker option. ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --no-merge-exidx-entries" >&5 ++$as_echo_n "checking for --no-merge-exidx-entries... " >&6; } ++if test "${libgcj_cv_exidx+set}" = set; then : ++ $as_echo_n "(cached) " >&6 ++else ++ saved_ldflags="$LDFLAGS" ++ LDFLAGS="${LDFLAGS} -Wl,--no-merge-exidx-entries" ++ if test x$gcc_no_link = xyes; then ++ as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 ++fi ++cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++int main(void){ return 0;} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ eval "libgcj_cv_exidx=yes" ++else ++ eval "libgcj_cv_exidx=no" ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ LDFLAGS="${saved_ldflags}" + ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcj_cv_exidx" >&5 ++$as_echo "$libgcj_cv_exidx" >&6; } ++if test "${libgcj_cv_exidx}" = "yes"; then ++ SYSTEMSPEC="${SYSTEMSPEC} --no-merge-exidx-entries" ++ extra_ldflags="${extra_ldflags} -Wl,--no-merge-exidx-entries" ++fi + + + + ++ ++ ++ + # Allow the GC to be disabled. Can be useful when debugging. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for garbage collector to use" >&5 + $as_echo_n "checking for garbage collector to use... " >&6; } Index: libcpp/po/es.po =================================================================== --- a/src/libcpp/po/es.po (.../tags/gcc_4_5_0_release) diff -u gcc-4.5-4.5.0/debian/patches/libstdc++-no-testsuite.diff gcc-4.5-4.5.0/debian/patches/libstdc++-no-testsuite.diff --- gcc-4.5-4.5.0/debian/patches/libstdc++-no-testsuite.diff +++ gcc-4.5-4.5.0/debian/patches/libstdc++-no-testsuite.diff @@ -1,4 +1,4 @@ -# DP: Don't run the libstdc++ testsuite +# DP: Don't run the libstdc++ testsuite on arm and ia64 (timeouts on the buildds) --- a/src/libstdc++-v3/testsuite/Makefile.in~ 2010-02-23 02:43:51.522335339 +0100 +++ b/src/libstdc++-v3/testsuite/Makefile.in 2010-02-23 08:34:41.691086441 +0100 @@ -6,7 +6,7 @@ # Run the testsuite in normal mode. check-DEJAGNU $(check_DEJAGNU_normal_targets): check-DEJAGNU%: site.exp -+ case "$(target)" in arm*) exit 0;; esac; \ ++ case "$(target)" in arm*|ia64*) exit 0;; esac; \ AR="$(AR)"; export AR; \ RANLIB="$(RANLIB)"; export RANLIB; \ if [ -z "$*$(filter-out --target_board=%, $(RUNTESTFLAGS))" ] \ only in patch2: unchanged: --- gcc-4.5-4.5.0.orig/class-files.tar.xz.uue +++ gcc-4.5-4.5.0/class-files.tar.xz.uue @@ -0,0 +1,552 @@ +begin-base64 644 class-files.tar.xz +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 +gNAFL3lBKLHEZ/sCAAAAAARZWg== +==== only in patch2: unchanged: --- gcc-4.5-4.5.0.orig/debian/patches/libjava-josm-fixes.diff +++ gcc-4.5-4.5.0/debian/patches/libjava-josm-fixes.diff @@ -0,0 +1,109 @@ +# DP: Backport two fixes to let josm run with gcj. + +libjava/classpath/ + +2010-04-27 Andrew Haley + + * java/util/concurrent/CopyOnWriteArrayList.java: Fix for empty + list. + +2010-04-27 Andrew Haley + + * gnu/javax/print/ipp/IppResponse.java (parseAttributes): Handle + IppValueTag.UNKNOWN. + * gnu/javax/print/ipp/IppRequest.java (writeOperationAttributes): + Handle RequestedAttributes. + * gnu/javax/print/ipp/IppPrintService.java (processResponse): Add + DocFlavor.SERVICE_FORMATTED.PAGEABLE and + DocFlavor.SERVICE_FORMATTED.PRINTABLE. + +Index: libjava/classpath/gnu/javax/print/ipp/IppRequest.java +=================================================================== +--- a/src/libjava/classpath/gnu/javax/print/ipp/IppRequest.java (revision ++++ b/src/libjava/classpath/gnu/javax/print/ipp/IppRequest.java (working +@@ -434,6 +434,8 @@ + PrinterURI printerUri = (PrinterURI) attributes.get(PrinterURI.class); + JobUri jobUri = (JobUri) attributes.get(JobUri.class); + JobId jobId = (JobId) attributes.get(JobId.class); ++ RequestedAttributes reqAttrs ++ = (RequestedAttributes)attributes.get(RequestedAttributes.class); + if (printerUri != null && jobId == null && jobUri == null) + { + write(printerUri); +@@ -467,6 +469,12 @@ + logger.log(Component.IPP, "Attribute: Name: <" + jobUri.getCategory() + .getName() + "> Value: <" + jobUri.toString() + ">"); + } ++ else if (reqAttrs != null) ++ { ++ write(reqAttrs); ++ attributes.remove(RequestedAttributes.class); ++ logger.log(Component.IPP, "RequestedAttributes: <" + reqAttrs + ">"); ++ } + else + { + throw new IppException("Unknown target operation attribute combination."); +Index: libjava/classpath/gnu/javax/print/ipp/IppPrintService.java +=================================================================== +--- a/src/libjava/classpath/gnu/javax/print/ipp/IppPrintService.java (revision ++++ b/src/libjava/classpath/gnu/javax/print/ipp/IppPrintService.java (working +@@ -356,8 +356,17 @@ + // should not happen, all fields are public + } + } ++ ++ if (this.getClass() ++ .isAssignableFrom(gnu.javax.print.CupsPrintService.class)) ++ { ++// CUPS always provides filters to convert from Postscript. ++// This logic looks odd, but it's what OpenJDK does. ++ flavors.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE); ++ flavors.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE); ++ } + } +- ++ + // printer uris + Set uris = getPrinterAttributeSet(PrinterUriSupported.class); + printerUris = new ArrayList(uris.size()); +Index: libjava/classpath/gnu/javax/print/ipp/IppResponse.java +=================================================================== +--- a/src/libjava/classpath/gnu/javax/print/ipp/IppResponse.java (revision ++++ b/src/libjava/classpath/gnu/javax/print/ipp/IppResponse.java (working +@@ -302,11 +302,14 @@ + // out-of-band values + case IppValueTag.UNSUPPORTED: + case IppValueTag.UNKNOWN: ++ // TODO implement out-of-band handling ++ // We currently throw an exception to see when it occurs - not yet :-) ++ throw new IppException( ++ "Unexpected name value for out-of-band value tag " + tag); + case IppValueTag.NO_VALUE: +- // TODO implement out-of-band handling +- // We currently throw an exception to see when it occurs - not yet :-) +- throw new IppException( +- "Unexpected name value for out-of-band value tag"); ++ attribute = null; ++ ++ break; + case IppValueTag.INTEGER: + int intValue = IppUtilities.convertToInt(value); + attribute = IppUtilities.getIntegerAttribute(name, intValue); +Index: libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java +=================================================================== +--- a/src/libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java (revision ++++ b/src/libjava/classpath/java/util/concurrent/CopyOnWriteArrayList.java (working +@@ -452,7 +452,12 @@ + public synchronized boolean remove(Object element) + { + E[] snapshot = this.data; +- E[] newData = (E[]) new Object[snapshot.length - 1]; ++ int len = snapshot.length; ++ ++ if (len == 0) ++ return false; ++ ++ E[] newData = (E[]) new Object[len - 1]; + + // search the element to remove while filling the backup array + // this way we can run this method in O(n)