[gcc-6] 319/401: * Update to SVN 20161215 (r243686, 6.2.1) from the gcc-6-branch.

Ximin Luo infinity0 at debian.org
Wed Apr 5 15:50:23 UTC 2017


This is an automated email from the git hooks/post-receive script.

infinity0 pushed a commit to branch pu/reproducible_builds
in repository gcc-6.

commit 472e55b53c27d52ad14c8e665d1ef82057a4c35b
Author: doko <doko at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date:   Thu Dec 15 10:11:51 2016 +0000

      * Update to SVN 20161215 (r243686, 6.2.1) from the gcc-6-branch.
    
    
    git-svn-id: svn://anonscm.debian.org/gcccvs/branches/sid/gcc-6@9187 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
 debian/changelog                              |    4 +
 debian/patches/gcc-linaro-r243646-revert.diff |   88 +
 debian/patches/libiberty-updates.diff         | 1313 +++++++-
 debian/patches/svn-updates.diff               | 4083 +++++++++++++++++--------
 debian/rules.patch                            |    1 +
 5 files changed, 4147 insertions(+), 1342 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index c47f23f..3ef3f32 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,9 @@
 gcc-6 (6.2.1-7) UNRELEASED; urgency=medium
 
+  * Update to SVN 20161215 (r243686, 6.2.1) from the gcc-6-branch.
+    - Fix PR libstdc++/78465, PR c++/78761, PR c++/78252, PR target/59874,
+      PR target/78796, PR tree-optimization/77673, PR target/72717 (PPC),
+      PR rtl-optimization/71496, PR c++/78701.
   * Drop build dependency on g++-5.
   * Fix PR c++/78774, proposed for the gcc-6-branch.
 
diff --git a/debian/patches/gcc-linaro-r243646-revert.diff b/debian/patches/gcc-linaro-r243646-revert.diff
new file mode 100644
index 0000000..a3638b1
--- /dev/null
+++ b/debian/patches/gcc-linaro-r243646-revert.diff
@@ -0,0 +1,88 @@
+# Revert r243646 for Linaro builds, already backported to the Linaro branch.
+
+2016-12-14  Wilco Dijkstra  <wdijkstr at arm.com>
+	    Jakub Jelinek  <jakub at redhat.com>
+
+	PR target/78796
+	* config/aarch64/aarch64.c (aarch64_classify_symbol): Merge large
+	model checks into switch.
+
+2016-12-14  Jakub Jelinek  <jakub at redhat.com>
+
+	PR target/78796
+	* gcc.dg/tls/pr78796.c: New test.
+
+ 
+--- a/src/gcc/testsuite/gcc.dg/tls/pr78796.c
++++ b/src/gcc/testsuite/gcc.dg/tls/pr78796.c
+@@ -1,32 +0,0 @@
+-/* PR target/78796 */
+-/* { dg-do run } */
+-/* { dg-options "-O2" } */
+-/* { dg-additional-options "-mcmodel=large" { target aarch64-*-* } } */
+-/* { dg-require-effective-target tls } */
+-
+-struct S { int a, b, c, d, e; };
+-struct S t;
+-__thread struct S s;
+-
+-__attribute__((used, noinline, noclone)) void
+-foo (int *x, int *y)
+-{
+-  asm volatile ("" : : "g" (x), "g" (y) : "memory");
+-  if (*x != 1 || *y != 2)
+-    __builtin_abort ();
+-}
+-
+-__attribute__((used, noinline, noclone)) void
+-bar (void)
+-{
+-  foo (&t.c, &s.c);
+-}
+-
+-int
+-main ()
+-{
+-  t.c = 1;
+-  s.c = 2;
+-  bar ();
+-  return 0;
+-}
+--- a/src/gcc/config/aarch64/aarch64.c
++++ b/src/gcc/config/aarch64/aarch64.c
+@@ -9280,6 +9280,18 @@
+ 
+   if (GET_CODE (x) == SYMBOL_REF)
+     {
++      if (aarch64_cmodel == AARCH64_CMODEL_LARGE)
++	{
++	  /* This is alright even in PIC code as the constant
++	     pool reference is always PC relative and within
++	     the same translation unit.  */
++	  if (nopcrelative_literal_loads
++	      && CONSTANT_POOL_ADDRESS_P (x))
++	    return SYMBOL_SMALL_ABSOLUTE;
++	  else
++	    return SYMBOL_FORCE_TO_MEM;
++	}
++
+       if (aarch64_tls_symbol_p (x))
+ 	return aarch64_classify_tls_symbol (x);
+ 
+@@ -9320,16 +9332,6 @@
+ 		    ?  SYMBOL_SMALL_GOT_28K : SYMBOL_SMALL_GOT_4G);
+ 	  return SYMBOL_SMALL_ABSOLUTE;
+ 
+-	case AARCH64_CMODEL_LARGE:
+-	  /* This is alright even in PIC code as the constant
+-	     pool reference is always PC relative and within
+-	     the same translation unit.  */
+-	  if (nopcrelative_literal_loads
+-	      && CONSTANT_POOL_ADDRESS_P (x))
+-	    return SYMBOL_SMALL_ABSOLUTE;
+-	  else
+-	    return SYMBOL_FORCE_TO_MEM;
+-
+ 	default:
+ 	  gcc_unreachable ();
+ 	}
diff --git a/debian/patches/libiberty-updates.diff b/debian/patches/libiberty-updates.diff
index b5fd3ed..46658db 100644
--- a/debian/patches/libiberty-updates.diff
+++ b/debian/patches/libiberty-updates.diff
@@ -1,5 +1,53 @@
 # DP: libiberty updates, taken from the trunk 20161108
 
+2016-11-30  David Malcolm  <dmalcolm at redhat.com>
+
+	PR c/78498
+	* strndup.c (strlen): Delete decl.
+	(strnlen): Add decl.
+	(strndup): Call strnlen rather than strlen.
+	* xstrndup.c (xstrndup): Likewise.
+
+2016-11-29  Nathan Sidwell  <nathan at acm.org>
+
+	* cp-demangle.c (d_print_comp_inner): Fix parameter indentation.
+
+2016-11-03  David Tolnay <dtolnay at gmail.com>
+	    Mark Wielaard  <mark at klomp.org>
+
+	* Makefile.in (CFILES): Add rust-demangle.c.
+	(REQUIRED_OFILES): Add rust-demangle.o.
+	* cplus-dem.c (libiberty_demanglers): Add rust_demangling case.
+	(cplus_demangle): Handle RUST_DEMANGLING.
+	(rust_demangle): New function.
+	* rust-demangle.c: New file.
+	* testsuite/Makefile.in (really-check): Add check-rust-demangle.
+	(check-rust-demangle): New rule.
+	* testsuite/rust-demangle-expected: New file.
+
+2016-11-15  Mark Wielaard  <mark at klomp.org>
+
+	* cp-demangle.c (d_expression_1): Make sure third expression
+	exists for ?: and fold expressions.
+	* testsuite/demangle-expected: Add examples of strings that could
+	crash the demangler because of missing expression.
+
+2016-11-14  Mark Wielaard  <mark at klomp.org>
+
+	* cplus-dem.c (demangle_signature): After 'H', template function,
+	no success and don't advance position if end of string reached.
+	(demangle_template): After 'z', template name, return zero on
+	premature end of string.
+	(gnu_special): Guard strchr against searching for zero characters.
+	(do_type): If member, only advance mangled string when 'F' found.
+	* testsuite/demangle-expected: Add examples of strings that could
+	crash the demangler by reading past end of input.
+
+2016-11-06  Mark Wielaard  <mark at klomp.org>
+
+	* configure.ac (ac_libiberty_warn_cflags): Add -Wshadow=local.
+	* configure: Regenerated.
+
 2016-11-07  Jason Merrill  <jason at redhat.com>
 
 	* cp-demangle.c (is_fnqual_component_type): New.
@@ -113,9 +161,383 @@
 
 	* testsuite/demangle-expected: Add tests.
 
+--- a/src/libiberty/argv.c
++++ b/src/libiberty/argv.c
+@@ -35,6 +35,13 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <sys/types.h>
++#ifdef HAVE_UNISTD_H
++#include <unistd.h>
++#endif
++#if HAVE_SYS_STAT_H
++#include <sys/stat.h>
++#endif
+ 
+ #ifndef NULL
+ #define NULL 0
+@@ -387,6 +394,9 @@
+       char **file_argv;
+       /* The number of options read from the response file, if any.  */
+       size_t file_argc;
++#ifdef S_ISDIR
++      struct stat sb;
++#endif
+       /* We are only interested in options of the form "@file".  */
+       filename = (*argvp)[i];
+       if (filename[0] != '@')
+@@ -397,6 +407,15 @@
+ 	  fprintf (stderr, "%s: error: too many @-files encountered\n", (*argvp)[0]);
+ 	  xexit (1);
+ 	}
++#ifdef S_ISDIR
++      if (stat (filename+1, &sb) < 0)
++	continue;
++      if (S_ISDIR(sb.st_mode))
++	{
++	  fprintf (stderr, "%s: error: @-file refers to a directory\n", (*argvp)[0]);
++	  xexit (1);
++	}
++#endif
+       /* Read the contents of the file.  */
+       f = fopen (++filename, "r");
+       if (!f)
+--- a/src/libiberty/ChangeLog
++++ b/src/libiberty/ChangeLog
+@@ -18,11 +18,126 @@
+ 	printing.
+ 	* testsuite/demangle-expected: Add lambda auto mangling cases. 
+ 
+-2016-08-22  Release Manager
++2016-12-06  DJ Delorie  <dj at redhat.com>
+ 
+-	* GCC 6.2.0 released.
++	* argv.c (expandargv): Check for directories passed as @-files.
+ 
+-2016-07-21  Jason Merrill  <jason at redhat.com>
++2016-11-30  David Malcolm  <dmalcolm at redhat.com>
++
++	PR c/78498
++	* strndup.c (strlen): Delete decl.
++	(strnlen): Add decl.
++	(strndup): Call strnlen rather than strlen.
++	* xstrndup.c (xstrndup): Likewise.
++
++2016-11-29  Nathan Sidwell  <nathan at acm.org>
++
++	* cp-demangle.c (d_print_comp_inner): Fix parameter indentation.
++
++2016-11-03  David Tolnay <dtolnay at gmail.com>
++	    Mark Wielaard  <mark at klomp.org>
++
++	* Makefile.in (CFILES): Add rust-demangle.c.
++	(REQUIRED_OFILES): Add rust-demangle.o.
++	* cplus-dem.c (libiberty_demanglers): Add rust_demangling case.
++	(cplus_demangle): Handle RUST_DEMANGLING.
++	(rust_demangle): New function.
++	* rust-demangle.c: New file.
++	* testsuite/Makefile.in (really-check): Add check-rust-demangle.
++	(check-rust-demangle): New rule.
++	* testsuite/rust-demangle-expected: New file.
++
++2016-11-15  Mark Wielaard  <mark at klomp.org>
++
++	* cp-demangle.c (d_expression_1): Make sure third expression
++	exists for ?: and fold expressions.
++	* testsuite/demangle-expected: Add examples of strings that could
++	crash the demangler because of missing expression.
++
++2016-11-14  Mark Wielaard  <mark at klomp.org>
++
++	* cplus-dem.c (demangle_signature): After 'H', template function,
++	no success and don't advance position if end of string reached.
++	(demangle_template): After 'z', template name, return zero on
++	premature end of string.
++	(gnu_special): Guard strchr against searching for zero characters.
++	(do_type): If member, only advance mangled string when 'F' found.
++	* testsuite/demangle-expected: Add examples of strings that could
++	crash the demangler by reading past end of input.
++
++2016-11-06  Mark Wielaard  <mark at klomp.org>
++
++	* configure.ac (ac_libiberty_warn_cflags): Add -Wshadow=local.
++	* configure: Regenerated.
++
++2016-11-07  Jason Merrill  <jason at redhat.com>
++
++	* cp-demangle.c (is_fnqual_component_type): New.
++	(d_encoding, d_print_comp_inner, d_print_mod_list): Use it.
++	(FNQUAL_COMPONENT_CASE): New.
++	(d_make_comp, has_return_type, d_print_comp_inner)
++	(d_print_function_type): Use it.
++	(next_is_type_qual): New.
++	(d_cv_qualifiers, d_print_mod): Handle noexcept and throw-spec.
++
++2016-11-02  Mark Wielaard  <mjw at redhat.com>
++
++	* cplus-dem.c (demangle_signature): Move fall through comment.
++	(demangle_fund_type): Add fall through comment between 'G' and 'I'.
++	* hashtab.c (iterative_hash): Add fall through comments.
++	* regex.c (regex_compile): Add Fall through comment after '+'/'?'.
++	(byte_re_match_2_internal): Add Fall through comment after jump_n.
++	Change "Note fall through" to "Fall through".
++	(common_op_match_null_string_p): Return false after set_number_at
++	instead of fall through.
++
++2016-11-01  Jason Merrill  <jason at redhat.com>
++
++	* cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor.
++
++2016-10-31  Mark Wielaard  <mjw at redhat.com>
++
++	* cplus-dem.c (ada_demangle): Initialize demangled to NULL and
++	XDELETEVEC demangled when unknown.
++
++2016-09-19  Andrew Stubbs  <ams at codesourcery.com>
++
++	* pex-win32.c (argv_to_cmdline): Quote zero-length parameters.
++	* testsuite/test-pexecute.c (main): Insert check for zero-length parameters.
++
++2016-09-10  Mark Wielaard  <mjw at redhat.com>
++
++	* cp-demangle.c (d_substitution): Change struct demangle_component
++	variable name from c to dc.
++
++2016-08-12  Marek Polacek  <polacek at redhat.com>
++
++	PR c/7652
++	* cp-demangle.c (d_print_mod): Add FALLTHRU.
++
++2016-08-04  Marcel Böhme  <boehme.marcel at gmail.com>
++
++	PR c++/71696
++	* cplus-dem.c: Prevent infinite recursion when there is a cycle
++	in the referencing of remembered mangled types.
++	(work_stuff): New stack to keep track of the remembered mangled
++	types that are currently being processed.
++	(push_processed_type): New method to push currently processed
++	remembered type onto the stack.
++	(pop_processed_type): New method to pop currently processed
++	remembered type from the stack.
++	(work_stuff_copy_to_from): Copy values of new variables.
++	(delete_non_B_K_work_stuff): Free stack memory.
++	(demangle_args): Push/Pop currently processed remembered type.
++	(do_type): Do not demangle a cyclic reference and push/pop
++	referenced remembered type.
++
++2016-07-29  Aldy Hernandez  <aldyh at redhat.com>
++
++	* make-relative-prefix.c (make_relative_prefix_1): Fall back to
++	malloc if alloca argument is greater than MAX_ALLOCA_SIZE.
++
++2016-07-15  Jason Merrill  <jason at redhat.com>
+ 
+ 	* cp-demangle.c (cplus_demangle_operators): Add f[lrLR].
+ 	(d_expression_1): Handle them.
+@@ -35,15 +150,40 @@
+ 	(d_template_args_1): Split out from d_template_args.
+ 	(d_args_length): New.
+ 
+-2016-05-19  Jakub Jelinek  <jakub at redhat.com>
++2016-07-13  Marcel Böhme  <boehme.marcel at gmail.com>
++
++	PR c++/70926
++	* cplus-dem.c: Handle large values and overflow when demangling
++	length variables.
++	(demangle_template_value_parm): Read only until end of mangled string.
++	(do_hpacc_template_literal): Likewise.
++	(do_type): Handle overflow when demangling array indices.
++
++2016-06-12  Brooks Moses  <bmoses at google.com>
++
++	* cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length
++	  VLAs.
+ 
+-	Backported from mainline
+-	2016-05-19  Jakub Jelinek  <jakub at redhat.com>
++2016-05-31  Alan Modra  <amodra at gmail.com>
++
++	* xmemdup.c (xmemdup): Use xmalloc rather than xcalloc.
++
++2016-05-19  Jakub Jelinek  <jakub at redhat.com>
+ 
+ 	PR c++/70498
+ 	* cp-demangle.c (d_expression_1): Formatting fix.
+ 
+-	2016-05-02  Marcel Böhme  <boehme.marcel at gmail.com>
++2016-05-18  Artemiy Volkov  <artemiyv at acm.org>
++
++	* cplus-dem.c (enum type_kind_t): Add tk_rvalue_reference
++	constant.
++	(demangle_template_value_parm): Handle tk_rvalue_reference
++	type kind.
++	(do_type): Support 'O' type id (rvalue references).
++
++	* testsuite/demangle-expected: Add tests.
++
++2016-05-02  Marcel Böhme  <boehme.marcel at gmail.com>
+ 
+ 	PR c++/70498
+ 	* cp-demangle.c: Parse numbers as integer instead of long to avoid
+@@ -62,9 +202,9 @@
+ 	(d_unnamed_type): Likewise.
+ 	* testsuite/demangle-expected: Add regression test cases.
+ 
+-2016-04-27  Release Manager
++2016-04-30  Oleg Endo  <olegendo at gcc.gnu.org>
+ 
+-	* GCC 6.1.0 released.
++	* configure: Remove SH5 support.
+ 
+ 2016-04-08  Marcel Böhme  <boehme.marcel at gmail.com>
+ 
+@@ -137,8 +277,6 @@
+ 
+ 	PR other/61321
+ 	PR other/61233
+-	* demangle.h (enum demangle_component_type)
+-	<DEMANGLE_COMPONENT_CONVERSION>: New value.
+ 	* cp-demangle.c (d_demangle_callback, d_make_comp): Handle
+ 	DEMANGLE_COMPONENT_CONVERSION.
+ 	(is_ctor_dtor_or_conversion): Handle DEMANGLE_COMPONENT_CONVERSION
+@@ -725,11 +863,11 @@
+ 2013-05-31  Matt Burgess <matthew at linuxfromscratch.org>
+ 
+ 	PR other/56780
+-	* libiberty/configure.ac: Move test for --enable-install-libiberty
++	* configure.ac: Move test for --enable-install-libiberty
+ 	outside of the 'with_target_subdir' test so that it actually gets
+ 	run.  Add output messages to show the test result.
+-	* libiberty/configure: Regenerate.
+-	* libiberty/Makefile.in (install_to_libdir): Place the
++	* configure: Regenerate.
++	* Makefile.in (install_to_libdir): Place the
+ 	installation of the libiberty library in the same guard as that
+ 	used for the headers to prevent it being installed unless
+ 	requested via --enable-install-libiberty.
+@@ -1529,7 +1667,6 @@
+ 	Daniel Jacobowitz  <dan at codesourcery.com>
+ 	Pedro Alves  <pedro at codesourcery.com>
+ 
+-	libiberty/
+ 	* argv.c (consume_whitespace): New function.
+ 	(only_whitespace): New function.
+ 	(buildargv): Always use ISSPACE by calling consume_whitespace.
+@@ -1730,8 +1867,8 @@
+ 
+ 2009-04-07  Arnaud Patard <apatard at mandriva.com>
+ 
+-	* libiberty/configure.ac: Fix Linux/MIPS matching rule.
+-	* libiberty/configure: Regenerate.
++	* configure.ac: Fix Linux/MIPS matching rule.
++	* configure: Regenerate.
+ 
+ 2009-03-27  Ian Lance Taylor  <iant at google.com>
+ 
+@@ -1894,8 +2031,8 @@
+ 
+ 2008-04-21  Aurelien Jarno  <aurelien at aurel32.net>
+ 
+-	* libiberty/configure.ac: use -fPIC on Linux/MIPS hosts.
+-	* libiberty/configure: Regenerate.
++	* configure.ac: use -fPIC on Linux/MIPS hosts.
++	* configure: Regenerate.
+ 
+ 2008-04-18  Kris Van Hees <kris.van.hees at oracle.com>
+ 
+@@ -3673,7 +3810,7 @@
+ 
+ 2003-12-15  Brendan Kehoe  <brendan at zen.org>
+ 
+-	* libiberty/Makefile.in (floatformat.o): Add dependency on
++	* Makefile.in (floatformat.o): Add dependency on
+ 	config.h to accompany change of 2003-12-03.
+ 
+ 2003-12-15  Ian Lance Taylor  <ian at wasabisystems.com>
+@@ -4369,7 +4506,7 @@
+ 
+ 2002-10-06  Andreas Jaeger  <aj at suse.de>
+ 
+-	* libiberty/cplus-dem.c (ada_demangle): Get rid of unneeded
++	* cplus-dem.c (ada_demangle): Get rid of unneeded
+ 	variable and of strict-aliasing warning.
+ 	(grow_vect): Use char as first parameter.
+ 
+@@ -4637,7 +4774,7 @@
+ 
+ 2002-01-31  Adam Megacz  <adam at xwt.org>
+ 
+-	* gcc/libiberty/configure.in: Treat mingw the same as cywin
++	* configure.in: Treat mingw the same as cywin
+ 	wrt HAVE_SYS_ERRLIST.
+ 
+ 2002-01-30  Phil Edwards  <pme at gcc.gnu.org>
+@@ -5145,8 +5282,8 @@
+ 2001-03-10  Neil Booth  <neil at daikokuya.demon.co.uk>
+ 	    John David Anglin  <dave at hiauly1.hia.nrc.ca>
+ 
+-	* libiberty/lbasename.c: New file.
+-	* libiberty/Makefile.in: Update for lbasename.
++	* lbasename.c: New file.
++	* Makefile.in: Update for lbasename.
+ 
+ 2001-03-06  Zack Weinberg  <zackw at stanford.edu>
+ 
+@@ -5519,13 +5656,13 @@
+ 
+ 2000-08-24  Greg McGary  <greg at mcgary.org>
+ 
+-	* libiberty/random.c (end_ptr): Revert previous change.
++	* random.c (end_ptr): Revert previous change.
+ 
+ 2000-08-24  Greg McGary  <greg at mcgary.org>
+ 
+-	* libiberty/cplus-dem.c (cplus_demangle_opname, cplus_mangle_opname,
++	* cplus-dem.c (cplus_demangle_opname, cplus_mangle_opname,
+ 	demangle_expression, demangle_function_name): Use ARRAY_SIZE.
+-	* libiberty/random.c (end_ptr): Likewise.
++	* random.c (end_ptr): Likewise.
+ 
+ 2000-08-23  Alex Samuel  <samuel at codesourcery.com>
+ 
+--- a/src/libiberty/configure
++++ b/src/libiberty/configure
+@@ -4398,7 +4398,8 @@
+ ac_libiberty_warn_cflags=
+ save_CFLAGS="$CFLAGS"
+ for real_option in -W -Wall -Wwrite-strings -Wc++-compat \
+-			  -Wstrict-prototypes; do
++			  -Wstrict-prototypes \
++			  -Wshadow=local; do
+   # Do the check with the no- prefix removed since gcc silently
+   # accepts any -Wno-* option on purpose
+   case $real_option in
+@@ -5145,8 +5146,7 @@
+ 	PICFLAG=-fpic
+ 	;;
+     # FIXME: Simplify to sh*-*-netbsd*?
+-    sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
+-      sh64-*-netbsd* | sh64l*-*-netbsd*)
++    sh-*-netbsdelf* | shl*-*-netbsdelf*)
+ 	PICFLAG=-fpic
+ 	;;
+     # Default to -fPIC unless specified otherwise.
+--- a/src/libiberty/configure.ac
++++ b/src/libiberty/configure.ac
+@@ -160,7 +160,8 @@
+ AC_PROG_CPP_WERROR
+ 
+ ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wc++-compat \
+-			  -Wstrict-prototypes], [ac_libiberty_warn_cflags])
++			  -Wstrict-prototypes \
++			  -Wshadow=local], [ac_libiberty_warn_cflags])
+ ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([], [ac_libiberty_warn_cflags])
+ 
+ AC_PROG_CC_C_O
 --- a/src/libiberty/cp-demangle.c
 +++ b/src/libiberty/cp-demangle.c
-@@ -436,6 +436,8 @@
+@@ -439,6 +439,8 @@
  
  static struct demangle_component *d_special_name (struct d_info *);
  
@@ -124,7 +546,7 @@
  static int d_call_offset (struct d_info *, int);
  
  static struct demangle_component *d_ctor_dtor_name (struct d_info *);
-@@ -559,6 +561,32 @@
+@@ -562,6 +564,32 @@
                                  demangle_callbackref, void *);
  static char *d_demangle (const char *, int, size_t *);
  
@@ -157,7 +579,7 @@
  #ifdef CP_DEMANGLE_DEBUG
  
  static void
-@@ -984,14 +1012,9 @@
+@@ -987,14 +1015,9 @@
      case DEMANGLE_COMPONENT_RESTRICT:
      case DEMANGLE_COMPONENT_VOLATILE:
      case DEMANGLE_COMPONENT_CONST:
@@ -173,7 +595,7 @@
        break;
  
        /* Other types should not be seen here.  */
-@@ -1225,12 +1248,7 @@
+@@ -1228,12 +1251,7 @@
        return 0;
      case DEMANGLE_COMPONENT_TEMPLATE:
        return ! is_ctor_dtor_or_conversion (d_left (dc));
@@ -187,7 +609,7 @@
        return has_return_type (d_left (dc));
      }
  }
-@@ -1287,13 +1305,12 @@
+@@ -1290,13 +1308,12 @@
  	  while (dc->type == DEMANGLE_COMPONENT_RESTRICT_THIS
  		 || dc->type == DEMANGLE_COMPONENT_VOLATILE_THIS
  		 || dc->type == DEMANGLE_COMPONENT_CONST_THIS
@@ -202,7 +624,7 @@
  	     really apply here; this happens when parsing a class
  	     which is local to a function.  */
  	  if (dc->type == DEMANGLE_COMPONENT_LOCAL_NAME)
-@@ -1301,12 +1318,7 @@
+@@ -1304,12 +1321,7 @@
  	      struct demangle_component *dcr;
  
  	      dcr = d_right (dc);
@@ -216,7 +638,7 @@
  		dcr = d_left (dcr);
  	      dc->u.s_binary.right = dcr;
  	    }
-@@ -2168,6 +2180,13 @@
+@@ -2171,6 +2183,13 @@
      case 'C':
        {
  	enum gnu_v3_ctor_kinds kind;
@@ -230,7 +652,7 @@
  
  	switch (d_peek_next_char (di))
  	  {
-@@ -2189,7 +2208,12 @@
+@@ -2192,7 +2211,12 @@
  	  default:
  	    return NULL;
  	  }
@@ -243,7 +665,7 @@
  	return d_make_ctor (di, kind, di->last_name);
        }
  
-@@ -2227,6 +2251,24 @@
+@@ -2230,6 +2254,24 @@
      }
  }
  
@@ -268,7 +690,7 @@
  /* <type> ::= <builtin-type>
            ::= <function-type>
            ::= <class-enum-type>
-@@ -2312,9 +2354,7 @@
+@@ -2315,9 +2357,7 @@
       __vector, and it treats it as order-sensitive when mangling
       names.  */
  
@@ -279,7 +701,7 @@
      {
        struct demangle_component **pret;
  
-@@ -2349,6 +2389,7 @@
+@@ -2352,6 +2392,7 @@
  
    can_subst = 1;
  
@@ -287,7 +709,7 @@
    switch (peek)
      {
      case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g':
-@@ -2636,10 +2677,10 @@
+@@ -2643,10 +2684,10 @@
  
    pstart = pret;
    peek = d_peek_char (di);
@@ -300,7 +722,7 @@
  
        d_advance (di, 1);
        if (peek == 'r')
-@@ -2665,12 +2706,41 @@
+@@ -2672,12 +2713,41 @@
  	}
        else
  	{
@@ -346,7 +768,25 @@
        if (*pret == NULL)
  	return NULL;
        pret = &d_left (*pret);
-@@ -3769,7 +3839,7 @@
+@@ -3352,6 +3422,8 @@
+ 		first = d_expression_1 (di);
+ 		second = d_expression_1 (di);
+ 		third = d_expression_1 (di);
++		if (third == NULL)
++		  return NULL;
+ 	      }
+ 	    else if (code[0] == 'f')
+ 	      {
+@@ -3359,6 +3431,8 @@
+ 		first = d_operator_name (di);
+ 		second = d_expression_1 (di);
+ 		third = d_expression_1 (di);
++		if (third == NULL)
++		  return NULL;
+ 	      }
+ 	    else if (code[0] == 'n')
+ 	      {
+@@ -3776,7 +3850,7 @@
  	    {
  	      const char *s;
  	      int len;
@@ -355,7 +795,7 @@
  
  	      if (p->set_last_name != NULL)
  		di->last_name = d_make_sub (di, p->set_last_name,
-@@ -3785,15 +3855,15 @@
+@@ -3792,15 +3866,15 @@
  		  len = p->simple_len;
  		}
  	      di->expansion += len;
@@ -375,7 +815,7 @@
  	    }
  	}
  
-@@ -3961,6 +4031,8 @@
+@@ -3968,6 +4042,8 @@
      case DEMANGLE_COMPONENT_REFERENCE_THIS:
      case DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS:
      case DEMANGLE_COMPONENT_TRANSACTION_SAFE:
@@ -384,7 +824,7 @@
      case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
      case DEMANGLE_COMPONENT_POINTER:
      case DEMANGLE_COMPONENT_COMPLEX:
-@@ -4155,8 +4227,12 @@
+@@ -4163,8 +4239,12 @@
  
    {
  #ifdef CP_DYNAMIC_ARRAYS
@@ -399,7 +839,16 @@
  
      dpi.saved_scopes = scopes;
      dpi.copy_templates = temps;
-@@ -4571,12 +4647,7 @@
+@@ -4492,7 +4572,7 @@
+ 
+ static void
+ d_print_comp_inner (struct d_print_info *dpi, int options,
+-		  const struct demangle_component *dc)
++		    const struct demangle_component *dc)
+ {
+   /* Magic variable to let reference smashing skip over the next modifier
+      without needing to modify *dc.  */
+@@ -4579,12 +4659,7 @@
  	    adpm[i].templates = dpi->templates;
  	    ++i;
  
@@ -413,7 +862,7 @@
  	      break;
  
  	    typed_name = d_left (typed_name);
-@@ -4613,13 +4684,7 @@
+@@ -4621,13 +4696,7 @@
  		d_print_error (dpi);
  		return;
  	      }
@@ -428,7 +877,7 @@
  	      {
  		if (i >= sizeof adpm / sizeof adpm[0])
  		  {
-@@ -4944,16 +5009,11 @@
+@@ -4961,16 +5030,11 @@
        }
        /* Fall through.  */
  
@@ -446,7 +895,7 @@
      modifier:
        {
  	/* We keep a list of modifiers on the stack.  */
-@@ -5658,13 +5718,7 @@
+@@ -5679,13 +5743,7 @@
  
    if (mods->printed
        || (! suffix
@@ -461,7 +910,7 @@
      {
        d_print_mod_list (dpi, options, mods->next, suffix);
        return;
-@@ -5717,12 +5771,7 @@
+@@ -5738,12 +5796,7 @@
  	  dc = dc->u.s_unary_num.sub;
  	}
  
@@ -475,7 +924,7 @@
  	dc = d_left (dc);
  
        d_print_comp (dpi, options, dc);
-@@ -5761,6 +5810,24 @@
+@@ -5782,6 +5835,24 @@
      case DEMANGLE_COMPONENT_TRANSACTION_SAFE:
        d_append_string (dpi, " transaction_safe");
        return;
@@ -500,7 +949,7 @@
      case DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL:
        d_append_char (dpi, ' ');
        d_print_comp (dpi, options, d_right (mod));
-@@ -5773,11 +5840,13 @@
+@@ -5794,11 +5865,13 @@
      case DEMANGLE_COMPONENT_REFERENCE_THIS:
        /* For the ref-qualifier, put a space before the &.  */
        d_append_char (dpi, ' ');
@@ -514,7 +963,7 @@
      case DEMANGLE_COMPONENT_RVALUE_REFERENCE:
        d_append_string (dpi, "&&");
        return;
-@@ -5846,12 +5915,7 @@
+@@ -5867,12 +5940,7 @@
  	  need_space = 1;
  	  need_paren = 1;
  	  break;
@@ -528,7 +977,7 @@
  	  break;
  	default:
  	  break;
-@@ -6393,7 +6457,6 @@
+@@ -6414,7 +6482,6 @@
  	  case DEMANGLE_COMPONENT_CONST_THIS:
  	  case DEMANGLE_COMPONENT_REFERENCE_THIS:
  	  case DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS:
@@ -556,7 +1005,20 @@
    tk_integral,
    tk_bool,
    tk_char,
-@@ -435,6 +439,10 @@
+@@ -319,6 +323,12 @@
+   }
+   ,
+   {
++    RUST_DEMANGLING_STYLE_STRING,
++    rust_demangling,
++    "Rust style demangling"
++  }
++  ,
++  {
+     NULL, unknown_demangling, NULL
+   }
+ };
+@@ -435,6 +445,10 @@
  
  static void remember_type (struct work_stuff *, const char *, int);
  
@@ -567,7 +1029,64 @@
  static void remember_Btype (struct work_stuff *, const char *, int, int);
  
  static int register_Btype (struct work_stuff *);
-@@ -903,7 +911,7 @@
+@@ -866,10 +880,26 @@
+     work->options |= (int) current_demangling_style & DMGL_STYLE_MASK;
+ 
+   /* The V3 ABI demangling is implemented elsewhere.  */
+-  if (GNU_V3_DEMANGLING || AUTO_DEMANGLING)
++  if (GNU_V3_DEMANGLING || RUST_DEMANGLING || AUTO_DEMANGLING)
+     {
+       ret = cplus_demangle_v3 (mangled, work->options);
+-      if (ret || GNU_V3_DEMANGLING)
++      if (GNU_V3_DEMANGLING)
++	return ret;
++
++      if (ret)
++	{
++	  /* Rust symbols are GNU_V3 mangled plus some extra subtitutions.
++	     The subtitutions are always smaller, so do in place changes.  */
++	  if (rust_is_mangled (ret))
++	    rust_demangle_sym (ret);
++	  else if (RUST_DEMANGLING)
++	    {
++	      free (ret);
++	      ret = NULL;
++	    }
++	}
++
++      if (ret || RUST_DEMANGLING)
+ 	return ret;
+     }
+ 
+@@ -895,6 +925,27 @@
+   return (ret);
+ }
+ 
++char *
++rust_demangle (const char *mangled, int options)
++{
++  /* Rust symbols are GNU_V3 mangled plus some extra subtitutions.  */
++  char *ret = cplus_demangle_v3 (mangled, options);
++
++  /* The Rust subtitutions are always smaller, so do in place changes.  */
++  if (ret != NULL)
++    {
++      if (rust_is_mangled (ret))
++	rust_demangle_sym (ret);
++      else
++	{
++	  free (ret);
++	  ret = NULL;
++	}
++    }
++
++  return ret;
++}
++
+ /* Demangle ada names.  The encoding is documented in gcc/ada/exp_dbug.ads.  */
+ 
+ char *
+@@ -903,7 +954,7 @@
    int len0;
    const char* p;
    char *d;
@@ -576,7 +1095,7 @@
    
    /* Discard leading _ada_, which is used for library level subprograms.  */
    if (strncmp (mangled, "_ada_", 5) == 0)
-@@ -1148,6 +1156,7 @@
+@@ -1148,6 +1199,7 @@
    return demangled;
  
   unknown:
@@ -584,7 +1103,7 @@
    len0 = strlen (mangled);
    demangled = XNEWVEC (char, len0 + 3);
  
-@@ -1301,6 +1310,10 @@
+@@ -1301,6 +1353,10 @@
        memcpy (to->btypevec[i], from->btypevec[i], len);
      }
  
@@ -595,30 +1114,37 @@
    if (from->ntmpl_args)
      to->tmpl_argvec = XNEWVEC (char *, from->ntmpl_args);
  
-@@ -1329,11 +1342,17 @@
+@@ -1329,11 +1385,17 @@
    /* Discard the remembered types, if any.  */
  
    forget_types (work);
 -  if (work -> typevec != NULL)
 +  if (work->typevec != NULL)
-     {
--      free ((char *) work -> typevec);
--      work -> typevec = NULL;
--      work -> typevec_size = 0;
++    {
 +      free ((char *) work->typevec);
 +      work->typevec = NULL;
 +      work->typevec_size = 0;
 +    }
 +  if (work->proctypevec != NULL)
-+    {
+     {
+-      free ((char *) work -> typevec);
+-      work -> typevec = NULL;
+-      work -> typevec_size = 0;
 +      free (work->proctypevec);
 +      work->proctypevec = NULL;
 +      work->proctypevec_size = 0;
      }
    if (work->tmpl_argvec)
      {
-@@ -1638,9 +1657,7 @@
- 	      (*mangled)++;
+@@ -1635,12 +1697,13 @@
+ 					   0);
+ 	      if (!(work->constructor & 1))
+ 		expect_return_type = 1;
+-	      (*mangled)++;
++	      if (!**mangled)
++		success = 0;
++	      else
++	        (*mangled)++;
  	      break;
  	    }
 -	  else
@@ -628,7 +1154,7 @@
  
  	default:
  	  if (AUTO_DEMANGLING || GNU_DEMANGLING)
-@@ -2042,7 +2059,8 @@
+@@ -2042,7 +2105,8 @@
      }
    else if (tk == tk_real)
      success = demangle_real_value (work, mangled, s);
@@ -638,7 +1164,7 @@
      {
        if (**mangled == 'Q')
  	success = demangle_qualified (work, mangled, s,
-@@ -2051,7 +2069,8 @@
+@@ -2051,7 +2115,8 @@
        else
  	{
  	  int symbol_len  = consume_count (mangled);
@@ -648,7 +1174,34 @@
  	    return -1;
  	  if (symbol_len == 0)
  	    string_appendn (s, "0", 1);
-@@ -3552,6 +3571,8 @@
+@@ -2114,6 +2179,8 @@
+ 	{
+ 	  int idx;
+ 	  (*mangled)++;
++	  if (**mangled == '\0')
++	    return (0);
+ 	  (*mangled)++;
+ 
+ 	  idx = consume_count_with_underscores (mangled);
+@@ -2958,7 +3025,7 @@
+   int success = 1;
+   const char *p;
+ 
+-  if ((*mangled)[0] == '_'
++  if ((*mangled)[0] == '_' && (*mangled)[1] != '\0'
+       && strchr (cplus_markers, (*mangled)[1]) != NULL
+       && (*mangled)[2] == '_')
+     {
+@@ -2972,7 +3039,7 @@
+ 		&& (*mangled)[3] == 't'
+ 		&& (*mangled)[4] == '_')
+ 	       || ((*mangled)[1] == 'v'
+-		   && (*mangled)[2] == 't'
++		   && (*mangled)[2] == 't' && (*mangled)[3] != '\0'
+ 		   && strchr (cplus_markers, (*mangled)[3]) != NULL)))
+     {
+       /* Found a GNU style virtual table, get past "_vt<CPLUS_MARKER>"
+@@ -3552,6 +3619,8 @@
  do_type (struct work_stuff *work, const char **mangled, string *result)
  {
    int n;
@@ -657,7 +1210,7 @@
    int done;
    int success;
    string decl;
-@@ -3564,6 +3585,7 @@
+@@ -3564,6 +3633,7 @@
  
    done = 0;
    success = 1;
@@ -665,7 +1218,7 @@
    while (success && !done)
      {
        int member;
-@@ -3588,6 +3610,14 @@
+@@ -3588,6 +3658,14 @@
  	    tk = tk_reference;
  	  break;
  
@@ -680,7 +1233,7 @@
  	  /* An array */
  	case 'A':
  	  {
-@@ -3611,13 +3641,20 @@
+@@ -3611,13 +3689,20 @@
  	/* A back reference to a previously seen type */
  	case 'T':
  	  (*mangled)++;
@@ -704,7 +1257,7 @@
  	      mangled = &remembered_type;
  	    }
  	  break;
-@@ -3645,7 +3682,6 @@
+@@ -3645,7 +3730,6 @@
  	  break;
  
  	case 'M':
@@ -712,7 +1265,21 @@
  	  {
  	    type_quals = TYPE_UNQUALIFIED;
  
-@@ -3789,7 +3825,7 @@
+@@ -3725,11 +3809,12 @@
+ 		    break;
+ 		  }
+ 
+-		if (*(*mangled)++ != 'F')
++		if (*(*mangled) != 'F')
+ 		  {
+ 		    success = 0;
+ 		    break;
+ 		  }
++		(*mangled)++;
+ 	      }
+ 	    if ((member && !demangle_nested_args (work, mangled, &decl))
+ 		|| **mangled != '_')
+@@ -3789,7 +3874,7 @@
      /* A back reference to a previously seen squangled type */
      case 'B':
        (*mangled)++;
@@ -721,7 +1288,7 @@
  	success = 0;
        else
  	string_append (result, work->btypevec[n]);
-@@ -3840,6 +3876,9 @@
+@@ -3840,6 +3925,9 @@
      string_delete (result);
    string_delete (&decl);
  
@@ -731,7 +1298,7 @@
    if (success)
      /* Assume an integral type, if we're not sure.  */
      return (int) ((tk == tk_none) ? tk_integral : tk);
-@@ -3983,6 +4022,7 @@
+@@ -3983,6 +4071,7 @@
  	  success = 0;
  	  break;
  	}
@@ -739,7 +1306,7 @@
      case 'I':
        (*mangled)++;
        if (**mangled == '_')
-@@ -4130,7 +4170,8 @@
+@@ -4130,7 +4219,8 @@
  
    literal_len = consume_count (mangled);
  
@@ -749,7 +1316,7 @@
      return 0;
  
    /* Literal parameters are names of arrays, functions, etc.  and the
-@@ -4252,6 +4293,41 @@
+@@ -4252,6 +4342,41 @@
  }
  
  static void
@@ -791,7 +1358,7 @@
  remember_type (struct work_stuff *work, const char *start, int len)
  {
    char *tem;
-@@ -4515,10 +4591,13 @@
+@@ -4515,10 +4640,13 @@
  		{
  		  string_append (declp, ", ");
  		}
@@ -835,6 +1402,42 @@
      case 1 : a+=k[0];
        /* case 0: nothing left to add */
      }
+--- a/src/libiberty/Makefile.in
++++ b/src/libiberty/Makefile.in
+@@ -146,6 +146,7 @@
+ 	 pex-unix.c pex-win32.c						\
+          physmem.c putenv.c						\
+ 	random.c regex.c rename.c rindex.c				\
++	rust-demangle.c							\
+ 	safe-ctype.c setenv.c setproctitle.c sha1.c sigsetmask.c        \
+ 	 simple-object.c simple-object-coff.c simple-object-elf.c	\
+ 	 simple-object-mach-o.c simple-object-xcoff.c			\
+@@ -183,6 +184,7 @@
+ 	./partition.$(objext) ./pexecute.$(objext) ./physmem.$(objext)	\
+ 	./pex-common.$(objext) ./pex-one.$(objext)			\
+ 	./@pexecute at .$(objext) ./vprintf-support.$(objext)		\
++	./rust-demangle.$(objext)					\
+ 	./safe-ctype.$(objext)						\
+ 	./simple-object.$(objext) ./simple-object-coff.$(objext)	\
+ 	./simple-object-elf.$(objext) ./simple-object-mach-o.$(objext)	\
+@@ -1188,6 +1190,17 @@
+ 	else true; fi
+ 	$(COMPILE.c) $(srcdir)/rindex.c $(OUTPUT_OPTION)
+ 
++./rust-demangle.$(objext): $(srcdir)/rust-demangle.c config.h \
++	$(INCDIR)/ansidecl.h $(INCDIR)/demangle.h $(INCDIR)/libiberty.h \
++	$(INCDIR)/safe-ctype.h
++	if [ x"$(PICFLAG)" != x ]; then \
++	  $(COMPILE.c) $(PICFLAG) $(srcdir)/rust-demangle.c -o pic/$@; \
++	else true; fi
++	if [ x"$(NOASANFLAG)" != x ]; then \
++	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/rust-demangle.c -o noasan/$@; \
++	else true; fi
++	$(COMPILE.c) $(srcdir)/rust-demangle.c $(OUTPUT_OPTION)
++
+ ./safe-ctype.$(objext): $(srcdir)/safe-ctype.c $(INCDIR)/ansidecl.h \
+ 	$(INCDIR)/safe-ctype.h
+ 	if [ x"$(PICFLAG)" != x ]; then \
 --- a/src/libiberty/make-relative-prefix.c
 +++ b/src/libiberty/make-relative-prefix.c
 @@ -233,6 +233,7 @@
@@ -952,6 +1555,380 @@
  
      default:
        /* All other opcodes mean we cannot match the empty string.  */
+--- a/src/libiberty/rust-demangle.c
++++ b/src/libiberty/rust-demangle.c
+@@ -0,0 +1,348 @@
++/* Demangler for the Rust programming language
++   Copyright 2016 Free Software Foundation, Inc.
++   Written by David Tolnay (dtolnay at gmail.com).
++
++This file is part of the libiberty library.
++Libiberty is free software; you can redistribute it and/or
++modify it under the terms of the GNU Library General Public
++License as published by the Free Software Foundation; either
++version 2 of the License, or (at your option) any later version.
++
++In addition to the permissions in the GNU Library General Public
++License, the Free Software Foundation gives you unlimited permission
++to link the compiled version of this file into combinations with other
++programs, and to distribute those combinations without any restriction
++coming from the use of this file.  (The Library Public License
++restrictions do apply in other respects; for example, they cover
++modification of the file, and distribution when not linked into a
++combined executable.)
++
++Libiberty is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++Library General Public License for more details.
++
++You should have received a copy of the GNU Library General Public
++License along with libiberty; see the file COPYING.LIB.
++If not, see <http://www.gnu.org/licenses/>.  */
++
++
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++
++#include "safe-ctype.h"
++
++#include <sys/types.h>
++#include <string.h>
++#include <stdio.h>
++
++#ifdef HAVE_STRING_H
++#include <string.h>
++#else
++extern size_t strlen(const char *s);
++extern int strncmp(const char *s1, const char *s2, size_t n);
++extern void *memset(void *s, int c, size_t n);
++#endif
++
++#include <demangle.h>
++#include "libiberty.h"
++
++
++/* Mangled Rust symbols look like this:
++     _$LT$std..sys..fd..FileDesc$u20$as$u20$core..ops..Drop$GT$::drop::hc68340e1baa4987a
++
++   The original symbol is:
++     <std::sys::fd::FileDesc as core::ops::Drop>::drop
++
++   The last component of the path is a 64-bit hash in lowercase hex,
++   prefixed with "h". Rust does not have a global namespace between
++   crates, an illusion which Rust maintains by using the hash to
++   distinguish things that would otherwise have the same symbol.
++
++   Any path component not starting with a XID_Start character is
++   prefixed with "_".
++
++   The following escape sequences are used:
++
++   ","  =>  $C$
++   "@"  =>  $SP$
++   "*"  =>  $BP$
++   "&"  =>  $RF$
++   "<"  =>  $LT$
++   ">"  =>  $GT$
++   "("  =>  $LP$
++   ")"  =>  $RP$
++   " "  =>  $u20$
++   "\"" =>  $u22$
++   "'"  =>  $u27$
++   "+"  =>  $u2b$
++   ";"  =>  $u3b$
++   "["  =>  $u5b$
++   "]"  =>  $u5d$
++   "{"  =>  $u7b$
++   "}"  =>  $u7d$
++   "~"  =>  $u7e$
++
++   A double ".." means "::" and a single "." means "-".
++
++   The only characters allowed in the mangled symbol are a-zA-Z0-9 and _.:$  */
++
++static const char *hash_prefix = "::h";
++static const size_t hash_prefix_len = 3;
++static const size_t hash_len = 16;
++
++static int is_prefixed_hash (const char *start);
++static int looks_like_rust (const char *sym, size_t len);
++static int unescape (const char **in, char **out, const char *seq, char value);
++
++/* INPUT: sym: symbol that has been through C++ (gnu v3) demangling
++
++   This function looks for the following indicators:
++
++   1. The hash must consist of "h" followed by 16 lowercase hex digits.
++
++   2. As a sanity check, the hash must use between 5 and 15 of the 16
++      possible hex digits. This is true of 99.9998% of hashes so once
++      in your life you may see a false negative. The point is to
++      notice path components that could be Rust hashes but are
++      probably not, like "haaaaaaaaaaaaaaaa". In this case a false
++      positive (non-Rust symbol has an important path component
++      removed because it looks like a Rust hash) is worse than a false
++      negative (the rare Rust symbol is not demangled) so this sets
++      the balance in favor of false negatives.
++
++   3. There must be no characters other than a-zA-Z0-9 and _.:$
++
++   4. There must be no unrecognized $-sign sequences.
++
++   5. There must be no sequence of three or more dots in a row ("...").  */
++
++int
++rust_is_mangled (const char *sym)
++{
++  size_t len, len_without_hash;
++
++  if (!sym)
++    return 0;
++
++  len = strlen (sym);
++  if (len <= hash_prefix_len + hash_len)
++    /* Not long enough to contain "::h" + hash + something else */
++    return 0;
++
++  len_without_hash = len - (hash_prefix_len + hash_len);
++  if (!is_prefixed_hash (sym + len_without_hash))
++    return 0;
++
++  return looks_like_rust (sym, len_without_hash);
++}
++
++/* A hash is the prefix "::h" followed by 16 lowercase hex digits. The
++   hex digits must comprise between 5 and 15 (inclusive) distinct
++   digits.  */
++
++static int
++is_prefixed_hash (const char *str)
++{
++  const char *end;
++  char seen[16];
++  size_t i;
++  int count;
++
++  if (strncmp (str, hash_prefix, hash_prefix_len))
++    return 0;
++  str += hash_prefix_len;
++
++  memset (seen, 0, sizeof(seen));
++  for (end = str + hash_len; str < end; str++)
++    if (*str >= '0' && *str <= '9')
++      seen[*str - '0'] = 1;
++    else if (*str >= 'a' && *str <= 'f')
++      seen[*str - 'a' + 10] = 1;
++    else
++      return 0;
++
++  /* Count how many distinct digits seen */
++  count = 0;
++  for (i = 0; i < 16; i++)
++    if (seen[i])
++      count++;
++
++  return count >= 5 && count <= 15;
++}
++
++static int
++looks_like_rust (const char *str, size_t len)
++{
++  const char *end = str + len;
++
++  while (str < end)
++    switch (*str)
++      {
++      case '$':
++	if (!strncmp (str, "$C$", 3))
++	  str += 3;
++	else if (!strncmp (str, "$SP$", 4)
++		 || !strncmp (str, "$BP$", 4)
++		 || !strncmp (str, "$RF$", 4)
++		 || !strncmp (str, "$LT$", 4)
++		 || !strncmp (str, "$GT$", 4)
++		 || !strncmp (str, "$LP$", 4)
++		 || !strncmp (str, "$RP$", 4))
++	  str += 4;
++	else if (!strncmp (str, "$u20$", 5)
++		 || !strncmp (str, "$u22$", 5)
++		 || !strncmp (str, "$u27$", 5)
++		 || !strncmp (str, "$u2b$", 5)
++		 || !strncmp (str, "$u3b$", 5)
++		 || !strncmp (str, "$u5b$", 5)
++		 || !strncmp (str, "$u5d$", 5)
++		 || !strncmp (str, "$u7b$", 5)
++		 || !strncmp (str, "$u7d$", 5)
++		 || !strncmp (str, "$u7e$", 5))
++	  str += 5;
++	else
++	  return 0;
++	break;
++      case '.':
++	/* Do not allow three or more consecutive dots */
++	if (!strncmp (str, "...", 3))
++	  return 0;
++	/* Fall through */
++      case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
++      case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
++      case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
++      case 's': case 't': case 'u': case 'v': case 'w': case 'x':
++      case 'y': case 'z':
++      case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
++      case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
++      case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
++      case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
++      case 'Y': case 'Z':
++      case '0': case '1': case '2': case '3': case '4': case '5':
++      case '6': case '7': case '8': case '9':
++      case '_':
++      case ':':
++	str++;
++	break;
++      default:
++	return 0;
++      }
++
++  return 1;
++}
++
++/*
++  INPUT: sym: symbol for which rust_is_mangled(sym) returned 1.
++
++  The input is demangled in-place because the mangled name is always
++  longer than the demangled one.  */
++
++void
++rust_demangle_sym (char *sym)
++{
++  const char *in;
++  char *out;
++  const char *end;
++
++  if (!sym)
++    return;
++
++  in = sym;
++  out = sym;
++  end = sym + strlen (sym) - (hash_prefix_len + hash_len);
++
++  while (in < end)
++    switch (*in)
++      {
++      case '$':
++	if (!(unescape (&in, &out, "$C$", ',')
++	      || unescape (&in, &out, "$SP$", '@')
++	      || unescape (&in, &out, "$BP$", '*')
++	      || unescape (&in, &out, "$RF$", '&')
++	      || unescape (&in, &out, "$LT$", '<')
++	      || unescape (&in, &out, "$GT$", '>')
++	      || unescape (&in, &out, "$LP$", '(')
++	      || unescape (&in, &out, "$RP$", ')')
++	      || unescape (&in, &out, "$u20$", ' ')
++	      || unescape (&in, &out, "$u22$", '\"')
++	      || unescape (&in, &out, "$u27$", '\'')
++	      || unescape (&in, &out, "$u2b$", '+')
++	      || unescape (&in, &out, "$u3b$", ';')
++	      || unescape (&in, &out, "$u5b$", '[')
++	      || unescape (&in, &out, "$u5d$", ']')
++	      || unescape (&in, &out, "$u7b$", '{')
++	      || unescape (&in, &out, "$u7d$", '}')
++	      || unescape (&in, &out, "$u7e$", '~'))) {
++	  /* unexpected escape sequence, not looks_like_rust. */
++	  goto fail;
++	}
++	break;
++      case '_':
++	/* If this is the start of a path component and the next
++	   character is an escape sequence, ignore the underscore. The
++	   mangler inserts an underscore to make sure the path
++	   component begins with a XID_Start character. */
++	if ((in == sym || in[-1] == ':') && in[1] == '$')
++	  in++;
++	else
++	  *out++ = *in++;
++	break;
++      case '.':
++	if (in[1] == '.')
++	  {
++	    /* ".." becomes "::" */
++	    *out++ = ':';
++	    *out++ = ':';
++	    in += 2;
++	  }
++	else
++	  {
++	    /* "." becomes "-" */
++	    *out++ = '-';
++	    in++;
++	  }
++	break;
++      case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
++      case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
++      case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
++      case 's': case 't': case 'u': case 'v': case 'w': case 'x':
++      case 'y': case 'z':
++      case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
++      case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
++      case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
++      case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
++      case 'Y': case 'Z':
++      case '0': case '1': case '2': case '3': case '4': case '5':
++      case '6': case '7': case '8': case '9':
++      case ':':
++	*out++ = *in++;
++	break;
++      default:
++	/* unexpected character in symbol, not looks_like_rust.  */
++	goto fail;
++      }
++  goto done;
++
++fail:
++  *out++ = '?'; /* This is pretty lame, but it's hard to do better. */
++done:
++  *out = '\0';
++}
++
++static int
++unescape (const char **in, char **out, const char *seq, char value)
++{
++  size_t len = strlen (seq);
++
++  if (strncmp (*in, seq, len))
++    return 0;
++
++  **out = value;
++
++  *in += len;
++  *out += 1;
++
++  return 1;
++}
+--- a/src/libiberty/strndup.c
++++ b/src/libiberty/strndup.c
+@@ -33,7 +33,7 @@
+ #include "ansidecl.h"
+ #include <stddef.h>
+ 
+-extern size_t	strlen (const char*);
++extern size_t	strnlen (const char *s, size_t maxlen);
+ extern PTR	malloc (size_t);
+ extern PTR	memcpy (PTR, const PTR, size_t);
+ 
+@@ -41,10 +41,7 @@
+ strndup (const char *s, size_t n)
+ {
+   char *result;
+-  size_t len = strlen (s);
+-
+-  if (n < len)
+-    len = n;
++  size_t len = strnlen (s, n);
+ 
+   result = (char *) malloc (len + 1);
+   if (!result)
 --- a/src/libiberty/testsuite/demangle-expected
 +++ b/src/libiberty/testsuite/demangle-expected
 @@ -31,6 +31,11 @@
@@ -1218,7 +2195,7 @@
  # 
  --format=gnu-v3 --no-params
  _Z1fM1AKFvvE
-@@ -4459,3 +4574,35 @@
+@@ -4462,6 +4577,66 @@
  
  _Z80800000000000000000000
  _Z80800000000000000000000
@@ -1254,6 +2231,224 @@
 +
 +_Z1fIvJiELb0EEvPDwiEFT_DpT0_E
 +void f<void, int, false>(void (*)(int) throw(int))
++
++# Could crash
++_
++_
++
++# Could crash
++_vt
++_vt
++
++# Could crash
++_$_1Acitz
++_$_1Acitz
++
++# Could crash
++_$_H1R
++_$_H1R
++
++# Could crash
++_Q8ccQ4M2e.
++_Q8ccQ4M2e.
++
++# fold-expression with missing third component could crash.
++_Z12binary_rightIJLi1ELi2ELi3EEEv1AIXfRplT_LiEEE
++_Z12binary_rightIJLi1ELi2ELi3EEEv1AIXfRplT_LiEEE
++
++# ?: expression with missing third component could crash.
++AquT_quT_4mxautouT_4mxxx
++AquT_quT_4mxautouT_4mxxx
+ 
+ # pr c++/78252 generic lambda mangling uses template parms, and leads
+ # to unbounded recursion if not dealt with properly
+--- a/src/libiberty/testsuite/Makefile.in
++++ b/src/libiberty/testsuite/Makefile.in
+@@ -45,8 +45,8 @@
+ # CHECK is set to "really_check" or the empty string by configure.
+ check: @CHECK@
+ 
+-really-check: check-cplus-dem check-d-demangle check-pexecute check-expandargv \
+-		check-strtol
++really-check: check-cplus-dem check-d-demangle check-rust-demangle \
++		check-pexecute check-expandargv check-strtol
+ 
+ # Run some tests of the demangler.
+ check-cplus-dem: test-demangle $(srcdir)/demangle-expected
+@@ -55,6 +55,9 @@
+ check-d-demangle: test-demangle $(srcdir)/d-demangle-expected
+ 	./test-demangle < $(srcdir)/d-demangle-expected
+ 
++check-rust-demangle: test-demangle $(srcdir)/rust-demangle-expected
++	./test-demangle < $(srcdir)/rust-demangle-expected
++
+ # Check the pexecute code.
+ check-pexecute: test-pexecute
+ 	./test-pexecute
+--- a/src/libiberty/testsuite/rust-demangle-expected
++++ b/src/libiberty/testsuite/rust-demangle-expected
+@@ -0,0 +1,161 @@
++# This file holds test cases for the Rust demangler.
++# Each test case looks like this:
++#  options
++#  input to be demangled
++#  expected output
++#
++# See demangle-expected for documentation of supported options.
++#
++# A line starting with `#' is ignored.
++# However, blank lines in this file are NOT ignored.
++#
++############
++#
++# Coverage Tests
++#
++#
++# Demangles as rust symbol.
++--format=rust
++_ZN4main4main17he714a2e23ed7db23E
++main::main
++# Also demangles as c++ gnu v3 mangled symbol. But with extra Rust hash.
++--format=gnu-v3
++_ZN4main4main17he714a2e23ed7db23E
++main::main::he714a2e23ed7db23
++# But auto should demangle fully gnu-v3 -> rust -> demangled, not partially.
++--format=auto
++_ZN4main4main17he714a2e23ed7db23E
++main::main
++# Hash is exactly 16 hex chars. Not more.
++--format=auto
++_ZN4main4main18h1e714a2e23ed7db23E
++main::main::h1e714a2e23ed7db23
++# Not less.
++--format=auto
++_ZN4main4main16h714a2e23ed7db23E
++main::main::h714a2e23ed7db23
++# And not non-hex.
++--format=auto
++_ZN4main4main17he714a2e23ed7db2gE
++main::main::he714a2e23ed7db2g
++# $XX$ substitutions should not contain just numbers.
++--format=auto
++_ZN4main4$99$17he714a2e23ed7db23E
++main::$99$::he714a2e23ed7db23
++# _ at start of path should be removed.
++# ".." translates to "::" "$GT$" to ">" and "$LT$" to "<".
++--format=rust
++_ZN71_$LT$Test$u20$$u2b$$u20$$u27$static$u20$as$u20$foo..Bar$LT$Test$GT$$GT$3bar17h930b740aa94f1d3aE
++<Test + 'static as foo::Bar<Test>>::bar
++#
++--format=rust
++_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17h8581507801fb8615E
++<I as core::iter::traits::IntoIterator>::into_iter
++#
++--format=rust
++_ZN10parse_tsan4main17hdbbfdf1c6a7e27d9E
++parse_tsan::main
++#
++--format=rust
++_ZN65_$LT$std..env..Args$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h420a7c8d0c7eef40E
++<std::env::Args as core::iter::iterator::Iterator>::next
++#
++--format=rust
++_ZN4core3str9from_utf817hdcea28871313776dE
++core::str::from_utf8
++#
++--format=rust
++_ZN4core3mem7size_of17h18bde9bb8c22e2cfE
++core::mem::size_of
++#
++--format=rust
++_ZN5alloc4heap8allocate17hd55c03e6cb81d924E
++alloc::heap::allocate
++#
++--format=rust
++_ZN4core3ptr8null_mut17h736cce09ca0ac11aE
++core::ptr::null_mut
++#
++--format=rust
++_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h7f9de798bc3f0879E
++core::ptr::<impl *mut T>::is_null
++#
++--format=rust
++_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$6double17h4166e2b47539e1ffE
++<alloc::raw_vec::RawVec<T>>::double
++#
++--format=rust
++_ZN39_$LT$collections..vec..Vec$LT$T$GT$$GT$4push17hd4b6b23c1b88141aE
++<collections::vec::Vec<T>>::push
++#
++--format=rust
++_ZN70_$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$core..ops..DerefMut$GT$9deref_mut17hf299b860dc5a831cE
++<collections::vec::Vec<T> as core::ops::DerefMut>::deref_mut
++#
++--format=rust
++_ZN63_$LT$core..ptr..Unique$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17hc784b4a166cb5e5cE
++<core::ptr::Unique<T> as core::ops::Deref>::deref
++#
++--format=rust
++_ZN40_$LT$alloc..raw_vec..RawVec$LT$T$GT$$GT$3ptr17h7570b6e9070b693bE
++<alloc::raw_vec::RawVec<T>>::ptr
++#
++--format=rust
++_ZN4core3ptr31_$LT$impl$u20$$BP$mut$u20$T$GT$7is_null17h0f3228f343444ac8E
++core::ptr::<impl *mut T>::is_null
++#
++--format=rust
++_ZN53_$LT$$u5b$T$u5d$$u20$as$u20$core..slice..SliceExt$GT$10as_mut_ptr17h153241df1c7d1666E
++<[T] as core::slice::SliceExt>::as_mut_ptr
++#
++--format=rust
++_ZN11collections5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$10as_mut_ptr17hf12a6d0409938c96E
++collections::slice::<impl [T]>::as_mut_ptr
++#
++--format=rust
++_ZN4core3ptr5write17h651fe53ec860e780E
++core::ptr::write
++#
++--format=rust
++_ZN65_$LT$std..env..Args$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h420a7c8d0c7eef40E
++<std::env::Args as core::iter::iterator::Iterator>::next
++#
++--format=rust
++_ZN54_$LT$I$u20$as$u20$core..iter..traits..IntoIterator$GT$9into_iter17he06cb713aae5b465E
++<I as core::iter::traits::IntoIterator>::into_iter
++#
++--format=rust
++_ZN71_$LT$collections..vec..IntoIter$LT$T$GT$$u20$as$u20$core..ops..Drop$GT$4drop17hf7f23304ebe62eedE
++<collections::vec::IntoIter<T> as core::ops::Drop>::drop
++#
++--format=rust
++_ZN86_$LT$collections..vec..IntoIter$LT$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17h04b3fbf148c39713E
++<collections::vec::IntoIter<T> as core::iter::iterator::Iterator>::next
++#
++--format=rust
++_ZN75_$LT$$RF$$u27$a$u20$mut$u20$I$u20$as$u20$core..iter..iterator..Iterator$GT$4next17ha050492063e0fd20E
++<&'a mut I as core::iter::iterator::Iterator>::next
++# Different hashes are OK, they are just stripped.
++--format=rust
++_ZN13drop_contents17hfe3c0a68c8ad1c74E
++drop_contents
++#
++--format=rust
++_ZN13drop_contents17h48cb59bef15bb555E
++drop_contents
++#
++--format=rust
++_ZN4core3mem7size_of17h900b33157bf58f26E
++core::mem::size_of
++#
++--format=rust
++_ZN67_$LT$alloc..raw_vec..RawVec$LT$T$GT$$u20$as$u20$core..ops..Drop$GT$4drop17h96a5cf6e94807905E
++<alloc::raw_vec::RawVec<T> as core::ops::Drop>::drop
++#
++--format=rust
++_ZN68_$LT$core..nonzero..NonZero$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17hc49056f882aa46dbE
++<core::nonzero::NonZero<T> as core::ops::Deref>::deref
++#
++--format=rust
++_ZN63_$LT$core..ptr..Unique$LT$T$GT$$u20$as$u20$core..ops..Deref$GT$5deref17h19f2ad4920655e85E
++<core::ptr::Unique<T> as core::ops::Deref>::deref
 --- a/src/libiberty/testsuite/test-pexecute.c
 +++ b/src/libiberty/testsuite/test-pexecute.c
 @@ -285,6 +285,20 @@
@@ -1295,6 +2490,20 @@
 +    memset ((char *) output + copy_size, 0, alloc_size - copy_size);
    return (PTR) memcpy (output, input, copy_size);
  }
+--- a/src/libiberty/xstrndup.c
++++ b/src/libiberty/xstrndup.c
+@@ -48,10 +48,7 @@
+ xstrndup (const char *s, size_t n)
+ {
+   char *result;
+-  size_t len = strlen (s);
+-
+-  if (n < len)
+-    len = n;
++  size_t len = strnlen (s, n);
+ 
+   result = XNEWVEC (char, len + 1);
+ 
 --- a/src/include/libiberty.h
 +++ b/src/include/libiberty.h
 @@ -397,6 +397,17 @@
diff --git a/debian/patches/svn-updates.diff b/debian/patches/svn-updates.diff
index 7c5b52e..493e9c7 100644
--- a/debian/patches/svn-updates.diff
+++ b/debian/patches/svn-updates.diff
@@ -1,10 +1,10 @@
-# DP: updates from the 6 branch upto 20161212 (r243558).
+# DP: updates from the 6 branch upto 20161215 (r243686).
 
 last_update()
 {
 	cat > ${dir}LAST_UPDATED <EOF
-Mon Dec 12 16:48:37 CET 2016
-Mon Dec 12 15:48:37 UTC 2016 (revision 243558)
+Thu Dec 15 10:28:09 CET 2016
+Thu Dec 15 09:28:09 UTC 2016 (revision 243686)
 EOF
 }
 
@@ -437,6 +437,40 @@ Index: libstdc++-v3/configure
        ;;
      *)
        # If <math.h> defines the obsolete isinf(double) and isnan(double)
+@@ -80027,6 +80096,7 @@
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
++       #include <limits.h>
+        #include <stdlib.h>
+        #include <unistd.h>
+ 
+@@ -80059,6 +80129,7 @@
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
++       #include <limits.h>
+        #include <stdlib.h>
+        #include <unistd.h>
+ 
+@@ -80358,7 +80429,7 @@
+ int
+ main ()
+ {
+-sendfile(1, 2, (off_t*)NULL, sizeof 1);
++sendfile(1, 2, (off_t*)0, sizeof 1);
+   ;
+   return 0;
+ }
+@@ -80379,7 +80450,7 @@
+ int
+ main ()
+ {
+-sendfile(1, 2, (off_t*)NULL, sizeof 1);
++sendfile(1, 2, (off_t*)0, sizeof 1);
+   ;
+   return 0;
+ }
 Index: libstdc++-v3/python/libstdcxx/v6/xmethods.py
 ===================================================================
 --- a/src/libstdc++-v3/python/libstdcxx/v6/xmethods.py	(.../tags/gcc_6_2_0_release)
@@ -3336,7 +3370,15 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
  	{
  	  _Base_type::operator=(std::move(__r));
  	  return *this;
-@@ -282,6 +277,77 @@
+@@ -264,7 +259,6 @@
+       //	{
+       //	  void* __p = _M_refcount._M_get_deleter(typeid(__tag));
+       //	  _M_ptr = static_cast<_Tp*>(__p);
+-      //	  __enable_shared_from_this_helper(_M_refcount, _M_ptr, _M_ptr);
+       //	}
+ 
+       // __weak_ptr::lock()
+@@ -282,6 +276,77 @@
  	friend _Del* get_deleter(const __shared_ptr<_Tp1, _Lp1>&) noexcept;
      };
  
@@ -3414,7 +3456,7 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
    // Partial specialization for base class of experimental::shared_ptr<T[N]>
    // and experimental::shared_ptr<T[]> (i.e. the array forms).
    template<typename _Tp, _Lock_policy _Lp>
-@@ -299,14 +365,27 @@
+@@ -299,14 +364,27 @@
  	{ delete [] __p; }
        };
  
@@ -3446,7 +3488,7 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
  
      public:
        constexpr __shared_ptr() noexcept
-@@ -313,17 +392,19 @@
+@@ -313,17 +391,19 @@
        : _Base_type()
        { }
  
@@ -3470,7 +3512,7 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
  	__shared_ptr(_Tp1* __p, _Deleter __d, _Alloc __a)
  	: _Base_type(__p, __d, __a)
  	{ }
-@@ -360,22 +441,22 @@
+@@ -360,22 +440,22 @@
  	: _Base_type(std::move((__r._M_get_base())))
  	{ }
  
@@ -3503,7 +3545,7 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
          : _Base_type(std::move(__r))
  	{ }
  #endif
-@@ -388,7 +469,7 @@
+@@ -388,7 +468,7 @@
        { __shared_ptr(nullptr).swap(*this); }
  
        template<typename _Tp1>
@@ -3512,7 +3554,7 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
  	reset(_Tp1* __p)
  	{
  	  _GLIBCXX_DEBUG_ASSERT(__p == 0 || __p != get());
-@@ -396,12 +477,12 @@
+@@ -396,12 +476,12 @@
  	}
  
        template<typename _Tp1, typename _Deleter>
@@ -3527,7 +3569,7 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
  	reset(_Tp1* __p, _Deleter __d, _Alloc __a)
  	{ __shared_ptr(__p, __d, std::move(__a)).swap(*this); }
  
-@@ -428,9 +509,9 @@
+@@ -428,9 +508,9 @@
  	  return *this;
  	}
  
@@ -3540,7 +3582,7 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
  	{
  	  _Base_type::operator=(std::move(__r));
  	  return *this;
-@@ -439,7 +520,7 @@
+@@ -439,7 +519,7 @@
  #if _GLIBCXX_USE_DEPRECATED
        template<typename _Tp1>
  	_Compatible<_Tp1, __shared_ptr&>
@@ -3549,7 +3591,15 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
  	{
  	  _Base_type::operator=(std::move(__r));
  	  return *this;
-@@ -501,11 +582,11 @@
+@@ -476,7 +556,6 @@
+       //	{
+       //	  void* __p = _M_refcount._M_get_deleter(typeid(__tag));
+       //	  _M_ptr = static_cast<_Tp*>(__p);
+-      //	  __enable_shared_from_this_helper(_M_refcount, _M_ptr, _M_ptr);
+       //	}
+ 
+       // __weak_ptr::lock()
+@@ -501,11 +580,11 @@
      {
        template<typename _Tp1, typename _Res = void>
  	using _Compatible
@@ -3563,7 +3613,7 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
        const _Base_type&  _M_get_base() const { return *this; }
  
      public:
-@@ -630,26 +711,43 @@
+@@ -630,28 +709,48 @@
    template<typename _Tp>
      class shared_ptr : public __shared_ptr<_Tp>
      {
@@ -3601,20 +3651,27 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -	explicit shared_ptr(_Tp1* __p) : _Base_type(__p) { }
 +      template<typename _Tp1, typename = _SafeConv<_Tp1>>
 +	explicit
-+	shared_ptr(_Tp1* __p) : _Base_type(__p) { }
++	shared_ptr(_Tp1* __p) : _Base_type(__p)
++	{ _M_enable_shared_from_this_with(__p); }
  
 -      template<typename _Tp1, typename _Deleter>
 +      template<typename _Tp1, typename _Deleter, typename = _SafeConv<_Tp1>>
  	shared_ptr(_Tp1* __p, _Deleter __d)
- 	: _Base_type(__p, __d) { }
+-	: _Base_type(__p, __d) { }
++	: _Base_type(__p, __d)
++	{ _M_enable_shared_from_this_with(__p); }
  
 -      template<typename _Tp1, typename _Deleter, typename _Alloc>
 +      template<typename _Tp1, typename _Deleter, typename _Alloc,
 +	       typename = _SafeConv<_Tp1>>
  	shared_ptr(_Tp1* __p, _Deleter __d, _Alloc __a)
- 	: _Base_type(__p, __d, __a) { }
+-	: _Base_type(__p, __d, __a) { }
++	: _Base_type(__p, __d, __a)
++	{ _M_enable_shared_from_this_with(__p); }
  
-@@ -672,7 +770,7 @@
+       template<typename _Deleter>
+ 	shared_ptr(nullptr_t __p, _Deleter __d)
+@@ -672,7 +771,7 @@
  	shared_ptr(const shared_ptr<_Tp1>& __r) noexcept
  	: _Base_type(__r) { }
  
@@ -3623,7 +3680,7 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
        : _Base_type(std::move(__r)) { }
  
        template<typename _Tp1, typename = _Compatible<_Tp1>>
-@@ -679,20 +777,20 @@
+@@ -679,21 +778,28 @@
  	shared_ptr(shared_ptr<_Tp1>&& __r) noexcept
  	: _Base_type(std::move(__r)) { }
  
@@ -3639,20 +3696,29 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 +      template<typename _Tp1, typename = _Compatible<_Tp1>>
  	shared_ptr(std::auto_ptr<_Tp1>&& __r)
 -	: _Base_type() { } // TODO
-+	: _Base_type(std::move(__r)) { }
++	: _Base_type(std::move(__r))
++	{ _M_enable_shared_from_this_with(static_cast<_Tp1*>(this->get())); }
  #endif
  
 -      template<typename _Tp1, typename _Del, typename
 -	= _Compatible<remove_pointer_t<
 -		      typename unique_ptr<_Tp1, _Del>::pointer>>>
 -	shared_ptr(std::unique_ptr<_Tp1, _Del>&& __r)
+-	: _Base_type(std::move(__r)) { }
 +      template<typename _Tp1, typename _Del,
 +	       typename = _UniqCompatible<_Tp1, _Del>>
 +	shared_ptr(unique_ptr<_Tp1, _Del>&& __r)
- 	: _Base_type(std::move(__r)) { }
++	: _Base_type(std::move(__r))
++	{
++	  // XXX assume conversion from __r.get() to this->get() to __elem_t*
++	  // is a round trip, which might not be true in all cases.
++	  using __elem_t = typename unique_ptr<_Tp1, _Del>::element_type;
++	  _M_enable_shared_from_this_with(static_cast<__elem_t*>(this->get()));
++	}
  
        constexpr shared_ptr(nullptr_t __p)
-@@ -738,7 +836,7 @@
+       : _Base_type(__p) { }
+@@ -738,7 +844,7 @@
  #endif
  
        template <typename _Tp1, typename _Del>
@@ -3661,7 +3727,7 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
  	operator=(unique_ptr<_Tp1, _Del>&& __r)
  	{
  	  _Base_type::operator=(std::move(__r));
-@@ -752,10 +850,10 @@
+@@ -752,10 +858,10 @@
  
      private:
        template<typename _Alloc, typename... _Args>
@@ -3672,90 +3738,102 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 +	shared_ptr(_Sp_make_shared_tag __tag, const _Alloc& __a,
 +		   _Args&&... __args)
 +	: _Base_type(__tag, __a, std::forward<_Args>(__args)...)
-+	{ }
++	{ _M_enable_shared_from_this_with(this->get()); }
  
        template<typename _Tp1, typename _Alloc, typename... _Args>
  	friend shared_ptr<_Tp1>
-@@ -768,170 +866,169 @@
-     };
+@@ -765,173 +871,201 @@
+       : _Base_type(__r, std::nothrow) { }
+ 
+       friend class weak_ptr<_Tp>;
+-    };
  
-   // C++14 §20.8.2.2.7 //DOING
+-  // C++14 §20.8.2.2.7 //DOING
 -   template<typename _Tp1, typename _Tp2>
 -     bool operator==(const shared_ptr<_Tp1>& __a,
 -		     const shared_ptr<_Tp2>& __b) noexcept
 -     { return __a.get() == __b.get(); }
-+  template<typename _Tp1, typename _Tp2>
-+    bool operator==(const shared_ptr<_Tp1>& __a,
-+		    const shared_ptr<_Tp2>& __b) noexcept
-+    { return __a.get() == __b.get(); }
++      template<typename _Yp>
++	using __esft_base_t =
++	  decltype(__expt_enable_shared_from_this_base(std::declval<_Yp*>()));
  
 -   template<typename _Tp>
 -     inline bool
 -     operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
 -     { return !__a; }
-+  template<typename _Tp>
-+    inline bool
-+    operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
-+    { return !__a; }
++      // Detect an accessible and unambiguous enable_shared_from_this base.
++      template<typename _Yp, typename = void>
++	struct __has_esft_base
++	: false_type { };
  
 -   template<typename _Tp>
 -     inline bool
 -     operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
 -     { return !__a; }
-+  template<typename _Tp>
-+    inline bool
-+    operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
-+    { return !__a; }
++      template<typename _Yp>
++	struct __has_esft_base<_Yp, __void_t<__esft_base_t<_Yp>>>
++	: __bool_constant<!is_array_v<_Tp>> { };  // ignore base for arrays
  
 -   template<typename _Tp1, typename _Tp2>
 -     inline bool
 -     operator!=(const shared_ptr<_Tp1>& __a,
 -		const shared_ptr<_Tp2>& __b) noexcept
 -     { return __a.get() != __b.get(); }
-+  template<typename _Tp1, typename _Tp2>
-+    inline bool
-+    operator!=(const shared_ptr<_Tp1>& __a,
-+	       const shared_ptr<_Tp2>& __b) noexcept
-+    { return __a.get() != __b.get(); }
++      template<typename _Yp>
++	typename enable_if<__has_esft_base<_Yp>::value>::type
++	_M_enable_shared_from_this_with(const _Yp* __p) noexcept
++	{
++	  if (auto __base = __expt_enable_shared_from_this_base(__p))
++	    {
++	      __base->_M_weak_this
++		= shared_ptr<_Yp>(*this, const_cast<_Yp*>(__p));
++	    }
++	}
  
 -   template<typename _Tp>
 -     inline bool
 -     operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
 -     { return (bool)__a; }
-+  template<typename _Tp>
-+    inline bool
-+    operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
-+    { return (bool)__a; }
++      template<typename _Yp>
++	typename enable_if<!__has_esft_base<_Yp>::value>::type
++	_M_enable_shared_from_this_with(const _Yp*) noexcept
++	{ }
++    };
  
 -   template<typename _Tp>
 -     inline bool
 -     operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
 -     { return (bool)__a; }
-+  template<typename _Tp>
-+    inline bool
-+    operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
-+    { return (bool)__a; }
++  // C++14 §20.8.2.2.7 //DOING
++  template<typename _Tp1, typename _Tp2>
++    bool operator==(const shared_ptr<_Tp1>& __a,
++		    const shared_ptr<_Tp2>& __b) noexcept
++    { return __a.get() == __b.get(); }
  
 -   template<typename _Tp1, typename _Tp2>
 -     inline bool
 -     operator<(const shared_ptr<_Tp1>& __a,
--	       const shared_ptr<_Tp2>& __b) noexcept
++  template<typename _Tp>
++    inline bool
++    operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
++    { return !__a; }
++
++  template<typename _Tp>
++    inline bool
++    operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
++    { return !__a; }
++
++  template<typename _Tp1, typename _Tp2>
++    inline bool
++    operator!=(const shared_ptr<_Tp1>& __a,
+ 	       const shared_ptr<_Tp2>& __b) noexcept
 -     {
 -       using __elem_t1 = typename shared_ptr<_Tp1>::element_type;
 -       using __elem_t2 = typename shared_ptr<_Tp2>::element_type;
 -       using _CT = common_type_t<__elem_t1*, __elem_t2*>;
 -       return std::less<_CT>()(__a.get(), __b.get());
 -     }
-+  template<typename _Tp1, typename _Tp2>
-+    inline bool
-+    operator<(const shared_ptr<_Tp1>& __a,
-+	      const shared_ptr<_Tp2>& __b) noexcept
-+    {
-+      using __elem_t1 = typename shared_ptr<_Tp1>::element_type;
-+      using __elem_t2 = typename shared_ptr<_Tp2>::element_type;
-+      using _CT = common_type_t<__elem_t1*, __elem_t2*>;
-+      return std::less<_CT>()(__a.get(), __b.get());
-+    }
++    { return __a.get() != __b.get(); }
  
 -   template<typename _Tp>
 -     inline bool
@@ -3766,11 +3844,8 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -     }
 +  template<typename _Tp>
 +    inline bool
-+    operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
-+    {
-+      using __elem_t = typename shared_ptr<_Tp>::element_type;
-+      return std::less<__elem_t*>()(__a.get(), nullptr);
-+    }
++    operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
++    { return (bool)__a; }
  
 -   template<typename _Tp>
 -     inline bool
@@ -3781,11 +3856,8 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -     }
 +  template<typename _Tp>
 +    inline bool
-+    operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
-+    {
-+      using __elem_t = typename shared_ptr<_Tp>::element_type;
-+      return std::less<__elem_t*>()(nullptr, __a.get());
-+    }
++    operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
++    { return (bool)__a; }
  
 -   template<typename _Tp1, typename _Tp2>
 -     inline bool
@@ -3794,9 +3866,14 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -     { return !(__b < __a); }
 +  template<typename _Tp1, typename _Tp2>
 +    inline bool
-+    operator<=(const shared_ptr<_Tp1>& __a,
-+	       const shared_ptr<_Tp2>& __b) noexcept
-+    { return !(__b < __a); }
++    operator<(const shared_ptr<_Tp1>& __a,
++	      const shared_ptr<_Tp2>& __b) noexcept
++    {
++      using __elem_t1 = typename shared_ptr<_Tp1>::element_type;
++      using __elem_t2 = typename shared_ptr<_Tp2>::element_type;
++      using _CT = common_type_t<__elem_t1*, __elem_t2*>;
++      return std::less<_CT>()(__a.get(), __b.get());
++    }
  
 -   template<typename _Tp>
 -     inline bool
@@ -3804,8 +3881,11 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -     { return !(nullptr < __a); }
 +  template<typename _Tp>
 +    inline bool
-+    operator<=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
-+    { return !(nullptr < __a); }
++    operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
++    {
++      using __elem_t = typename shared_ptr<_Tp>::element_type;
++      return std::less<__elem_t*>()(__a.get(), nullptr);
++    }
  
 -   template<typename _Tp>
 -     inline bool
@@ -3813,19 +3893,21 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -     { return !(__a < nullptr); }
 +  template<typename _Tp>
 +    inline bool
-+    operator<=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
-+    { return !(__a < nullptr); }
++    operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
++    {
++      using __elem_t = typename shared_ptr<_Tp>::element_type;
++      return std::less<__elem_t*>()(nullptr, __a.get());
++    }
  
 -   template<typename _Tp1, typename _Tp2>
 -     inline bool
 -     operator>(const shared_ptr<_Tp1>& __a,
--	       const shared_ptr<_Tp2>& __b) noexcept
--     { return (__b < __a); }
 +  template<typename _Tp1, typename _Tp2>
 +    inline bool
-+    operator>(const shared_ptr<_Tp1>& __a,
-+	      const shared_ptr<_Tp2>& __b) noexcept
-+    { return (__b < __a); }
++    operator<=(const shared_ptr<_Tp1>& __a,
+ 	       const shared_ptr<_Tp2>& __b) noexcept
+-     { return (__b < __a); }
++    { return !(__b < __a); }
  
 -   template<typename _Tp>
 -     inline bool
@@ -3836,11 +3918,8 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -     }
 +  template<typename _Tp>
 +    inline bool
-+    operator>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
-+    {
-+      using __elem_t = typename shared_ptr<_Tp>::element_type;
-+      return std::less<__elem_t*>()(nullptr, __a.get());
-+    }
++    operator<=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
++    { return !(nullptr < __a); }
  
 -   template<typename _Tp>
 -     inline bool
@@ -3851,11 +3930,8 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -     }
 +  template<typename _Tp>
 +    inline bool
-+    operator>(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
-+    {
-+      using __elem_t = typename shared_ptr<_Tp>::element_type;
-+      return std::less<__elem_t*>()(__a.get(), nullptr);
-+    }
++    operator<=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
++    { return !(__a < nullptr); }
  
 -   template<typename _Tp1, typename _Tp2>
 -     inline bool
@@ -3864,9 +3940,9 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -     { return !(__a < __b); }
 +  template<typename _Tp1, typename _Tp2>
 +    inline bool
-+    operator>=(const shared_ptr<_Tp1>& __a,
-+	       const shared_ptr<_Tp2>& __b) noexcept
-+    { return !(__a < __b); }
++    operator>(const shared_ptr<_Tp1>& __a,
++	      const shared_ptr<_Tp2>& __b) noexcept
++    { return (__b < __a); }
  
 -   template<typename _Tp>
 -     inline bool
@@ -3874,8 +3950,11 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -     { return !(__a < nullptr); }
 +  template<typename _Tp>
 +    inline bool
-+    operator>=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
-+    { return !(__a < nullptr); }
++    operator>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
++    {
++      using __elem_t = typename shared_ptr<_Tp>::element_type;
++      return std::less<__elem_t*>()(nullptr, __a.get());
++    }
  
 -   template<typename _Tp>
 -     inline bool
@@ -3883,19 +3962,22 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -     { return !(nullptr < __a); }
 +  template<typename _Tp>
 +    inline bool
-+    operator>=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
-+    { return !(nullptr < __a); }
++    operator>(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
++    {
++      using __elem_t = typename shared_ptr<_Tp>::element_type;
++      return std::less<__elem_t*>()(__a.get(), nullptr);
++    }
  
 -   // C++14 §20.8.2.2.8
 -   template<typename _Tp>
 -     inline void
 -     swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept
 -     { __a.swap(__b); }
-+  // C++14 §20.8.2.2.8
-+  template<typename _Tp>
-+    inline void
-+    swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept
-+    { __a.swap(__b); }
++  template<typename _Tp1, typename _Tp2>
++    inline bool
++    operator>=(const shared_ptr<_Tp1>& __a,
++	       const shared_ptr<_Tp2>& __b) noexcept
++    { return !(__a < __b); }
  
 -   // 8.2.1.3, shared_ptr casts
 -   template<typename _Tp, typename _Tp1>
@@ -3905,14 +3987,10 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -       using __elem_t = typename shared_ptr<_Tp>::element_type;
 -       return shared_ptr<_Tp>(__r, static_cast<__elem_t*>(__r.get()));
 -     }
-+  // 8.2.1.3, shared_ptr casts
-+  template<typename _Tp, typename _Tp1>
-+    inline shared_ptr<_Tp>
-+    static_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept
-+    {
-+      using __elem_t = typename shared_ptr<_Tp>::element_type;
-+      return shared_ptr<_Tp>(__r, static_cast<__elem_t*>(__r.get()));
-+    }
++  template<typename _Tp>
++    inline bool
++    operator>=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
++    { return !(__a < nullptr); }
  
 -   template<typename _Tp, typename _Tp1>
 -     inline shared_ptr<_Tp>
@@ -3923,15 +4001,10 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -	 return shared_ptr<_Tp>(__r, __p);
 -       return shared_ptr<_Tp>();
 -     }
-+  template<typename _Tp, typename _Tp1>
-+    inline shared_ptr<_Tp>
-+    dynamic_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept
-+    {
-+      using __elem_t = typename shared_ptr<_Tp>::element_type;
-+      if (_Tp* __p = dynamic_cast<__elem_t*>(__r.get()))
-+	return shared_ptr<_Tp>(__r, __p);
-+      return shared_ptr<_Tp>();
-+    }
++  template<typename _Tp>
++    inline bool
++    operator>=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
++    { return !(nullptr < __a); }
  
 -   template<typename _Tp, typename _Tp1>
 -     inline shared_ptr<_Tp>
@@ -3940,13 +4013,11 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -       using __elem_t = typename shared_ptr<_Tp>::element_type;
 -       return shared_ptr<_Tp>(__r, const_cast<__elem_t*>(__r.get()));
 -     }
-+  template<typename _Tp, typename _Tp1>
-+    inline shared_ptr<_Tp>
-+    const_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept
-+    {
-+      using __elem_t = typename shared_ptr<_Tp>::element_type;
-+      return shared_ptr<_Tp>(__r, const_cast<__elem_t*>(__r.get()));
-+    }
++  // C++14 §20.8.2.2.8
++  template<typename _Tp>
++    inline void
++    swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept
++    { __a.swap(__b); }
  
 -   template<typename _Tp, typename _Tp1>
 -     inline shared_ptr<_Tp>
@@ -3955,18 +4026,45 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
 -       using __elem_t = typename shared_ptr<_Tp>::element_type;
 -       return shared_ptr<_Tp>(__r, reinterpret_cast<__elem_t*>(__r.get()));
 -     }
++  // 8.2.1.3, shared_ptr casts
 +  template<typename _Tp, typename _Tp1>
 +    inline shared_ptr<_Tp>
-+    reinterpret_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept
++    static_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept
 +    {
 +      using __elem_t = typename shared_ptr<_Tp>::element_type;
-+      return shared_ptr<_Tp>(__r, reinterpret_cast<__elem_t*>(__r.get()));
++      return shared_ptr<_Tp>(__r, static_cast<__elem_t*>(__r.get()));
 +    }
  
 -   // C++14 §20.8.2.3
 -   template<typename _Tp>
 -     class weak_ptr : public __weak_ptr<_Tp>
 -     {
++  template<typename _Tp, typename _Tp1>
++    inline shared_ptr<_Tp>
++    dynamic_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept
++    {
++      using __elem_t = typename shared_ptr<_Tp>::element_type;
++      if (_Tp* __p = dynamic_cast<__elem_t*>(__r.get()))
++	return shared_ptr<_Tp>(__r, __p);
++      return shared_ptr<_Tp>();
++    }
++
++  template<typename _Tp, typename _Tp1>
++    inline shared_ptr<_Tp>
++    const_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept
++    {
++      using __elem_t = typename shared_ptr<_Tp>::element_type;
++      return shared_ptr<_Tp>(__r, const_cast<__elem_t*>(__r.get()));
++    }
++
++  template<typename _Tp, typename _Tp1>
++    inline shared_ptr<_Tp>
++    reinterpret_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept
++    {
++      using __elem_t = typename shared_ptr<_Tp>::element_type;
++      return shared_ptr<_Tp>(__r, reinterpret_cast<__elem_t*>(__r.get()));
++    }
++
 +  // C++14 §20.8.2.3
 +  template<typename _Tp>
 +    class weak_ptr : public __weak_ptr<_Tp>
@@ -3983,7 +4081,7 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
         constexpr weak_ptr() noexcept = default;
  
         template<typename _Tp1, typename = _Compatible<_Tp1>>
-@@ -985,13 +1082,13 @@
+@@ -985,13 +1119,13 @@
         { return shared_ptr<_Tp>(*this, std::nothrow); }
  
         friend class enable_shared_from_this<_Tp>;
@@ -4003,7 +4101,7 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
  
    /// C++14 §20.8.2.2.10
    template<typename _Del, typename _Tp, _Lock_policy _Lp>
-@@ -1009,8 +1106,8 @@
+@@ -1009,8 +1143,8 @@
        return __os;
      }
  
@@ -4014,7 +4112,7 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
  
     /// Partial specialization of owner_less for shared_ptr.
    template<typename _Tp>
-@@ -1147,6 +1244,14 @@
+@@ -1147,6 +1281,14 @@
        shared_from_this() const
        { return shared_ptr<const _Tp>(this->_M_weak_this); }
  
@@ -4029,6 +4127,30 @@ Index: libstdc++-v3/include/experimental/bits/shared_ptr.h
      private:
        template<typename _Tp1>
  	void
+@@ -1153,16 +1295,14 @@
+ 	_M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const noexcept
+ 	{ _M_weak_this._M_assign(__p, __n); }
+ 
+-      template<typename _Tp1>
+-	friend void
+-	__enable_shared_from_this_helper(const __shared_count<>& __pn,
+-					 const enable_shared_from_this* __pe,
+-					 const _Tp1* __px) noexcept
+-	{
+-	  if(__pe != 0)
+-	    __pe->_M_weak_assign(const_cast<_Tp1*>(__px), __pn);
+-	}
++      // Found by ADL when this is an associated class.
++      friend const enable_shared_from_this*
++      __expt_enable_shared_from_this_base(const enable_shared_from_this* __p)
++      { return __p; }
+ 
++      template<typename>
++	friend class shared_ptr;
++
+       mutable weak_ptr<_Tp> _M_weak_this;
+     };
+ 
 Index: libstdc++-v3/include/experimental/bits/erase_if.h
 ===================================================================
 --- a/src/libstdc++-v3/include/experimental/bits/erase_if.h	(.../tags/gcc_6_2_0_release)
@@ -6672,7 +6794,61 @@ Index: libstdc++-v3/ChangeLog
 ===================================================================
 --- a/src/libstdc++-v3/ChangeLog	(.../tags/gcc_6_2_0_release)
 +++ b/src/libstdc++-v3/ChangeLog	(.../branches/gcc-6-branch)
-@@ -1,3 +1,848 @@
+@@ -1,3 +1,902 @@
++2016-12-12  Jonathan Wakely  <jwakely at redhat.com>
++
++	Backport from mainline
++	2016-10-26  Uros Bizjak  <ubizjak at gmail.com>
++
++	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
++	for PATH_MAX in realpath test.
++	* configure: Regenerate.
++
++	Backport from mainline
++	2016-05-25  Jonathan Wakely  <jwakely at redhat.com>
++
++	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
++	* configure: Regenerate.
++	* config.h.in: Regenerate.
++
++2016-12-12  Jonathan Wakely  <jwakely at redhat.com>
++
++	Backport from mainline
++	2016-12-07  Jonathan Wakely  <jwakely at redhat.com>
++
++	* testsuite/18_support/headers/new/synopsis.cc: Add C++14 declarations
++	and use effective-target to do test for C++11 and later.
++	* testsuite/18_support/headers/new/synopsis_cxx98.cc: New test.
++
++2016-12-12  Jonathan Wakely  <jwakely at redhat.com>
++
++	Backport from mainline
++	2016-11-22  Jonathan Wakely  <jwakely at redhat.com>
++
++	PR libstdc++/78465
++	* testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
++	with preprocessor conditions.
++
++2016-12-12  Jonathan Wakely  <jwakely at redhat.com>
++
++	Backport from mainline
++	2016-10-19  Jonathan Wakely  <jwakely at redhat.com>
++
++	* include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
++	Change relevant constructors to call _M_enable_shared_from_this_with.
++	(experimental::shared_ptr::__efst_base_t)
++	(experimental::shared_ptr::__has_efst_base): Helpers to detect
++	accessible and unambiguous enable_shared_from_this bases.
++	(experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
++	(experimental::__enable_shared_from_this_helper): Remove overload for
++	std::experimental::enable_shared_from_this.
++	(experimental::__expt_enable_shared_from_this_base): Define friend
++	function to select a std::experimental::enable_shared_from_this base.
++	* testsuite/experimental/memory/shared_ptr/cons/
++	enable_shared_from_this.cc: New test.
++	* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
++	Adjust expected behaviour for shared_ptr<A[]>.
++
 +2016-12-12  Jonathan Wakely  <jwakely at redhat.com>
 +
 +	* testsuite/experimental/filesystem/operations/is_empty.cc:
@@ -7675,6 +7851,103 @@ Index: libstdc++-v3/testsuite/18_support/nested_exception/rethrow_if_nested.cc
 +  test04();
    return 0;
  }
+Index: libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc
+===================================================================
+--- a/src/libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc	(.../tags/gcc_6_2_0_release)
++++ b/src/libstdc++-v3/testsuite/18_support/headers/new/synopsis.cc	(.../branches/gcc-6-branch)
+@@ -1,5 +1,4 @@
+-// { dg-do compile }
+-// { dg-options "-std=gnu++11" }
++// { dg-do compile { target c++11 } }
+ 
+ // Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ //
+@@ -22,18 +21,19 @@
+ 
+ namespace std {
+   class bad_alloc;
++  class bad_array_new_length;
+   struct nothrow_t;
+   extern const nothrow_t nothrow;
+   typedef void (*new_handler)();
+-  new_handler set_new_handler(new_handler new_p) throw();
+   new_handler get_new_handler() noexcept;
++  new_handler set_new_handler(new_handler new_p) noexcept;
+ }
+ 
+-void* operator new(std::size_t size) throw(std::bad_alloc);
+-void* operator new(std::size_t size, const std::nothrow_t&) throw();
++void* operator new(std::size_t size);
++void* operator new(std::size_t size, const std::nothrow_t&) noexcept;
+ void  operator delete(void* ptr) throw();
+ void  operator delete(void* ptr, const std::nothrow_t&) throw();
+-void* operator new[](std::size_t size) throw(std::bad_alloc);
++void* operator new[](std::size_t size);
+ void* operator new[](std::size_t size, const std::nothrow_t&) throw();
+ void  operator delete[](void* ptr) throw();
+ void  operator delete[](void* ptr, const std::nothrow_t&) throw();
+@@ -42,3 +42,13 @@
+ void* operator new[](std::size_t size, void* ptr) throw();
+ void  operator delete  (void* ptr, void*) throw();
+ void  operator delete[](void* ptr, void*) throw();
++
++#if __cplusplus >= 201402L
++// C++14 sized deallocation functions
++void  operator delete(void* ptr, std::size_t size) noexcept;
++void  operator delete(void* ptr, std::size_t size,
++                      const std::nothrow_t&) noexcept;
++void  operator delete[](void* ptr, std::size_t size) noexcept;
++void  operator delete[](void* ptr, std::size_t size,
++                        const std::nothrow_t&) noexcept;
++#endif
+Index: libstdc++-v3/testsuite/18_support/headers/new/synopsis_cxx98.cc
+===================================================================
+--- a/src/libstdc++-v3/testsuite/18_support/headers/new/synopsis_cxx98.cc	(.../tags/gcc_6_2_0_release)
++++ b/src/libstdc++-v3/testsuite/18_support/headers/new/synopsis_cxx98.cc	(.../branches/gcc-6-branch)
+@@ -0,0 +1,43 @@
++// { dg-options "-std=gnu++98" }
++// { dg-do compile }
++
++// Copyright (C) 2007-2016 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING3.  If not see
++// <http://www.gnu.org/licenses/>.
++
++#include <new>
++
++namespace std {
++  class bad_alloc;
++  struct nothrow_t;
++  extern const nothrow_t nothrow;
++  typedef void (*new_handler)();
++  new_handler set_new_handler(new_handler new_p) throw();
++}
++
++void* operator new(std::size_t size) throw(std::bad_alloc);
++void* operator new(std::size_t size, const std::nothrow_t&) throw();
++void  operator delete(void* ptr) throw();
++void  operator delete(void* ptr, const std::nothrow_t&) throw();
++void* operator new[](std::size_t size) throw(std::bad_alloc);
++void* operator new[](std::size_t size, const std::nothrow_t&) throw();
++void  operator delete[](void* ptr) throw();
++void  operator delete[](void* ptr, const std::nothrow_t&) throw();
++
++void* operator new  (std::size_t size, void* ptr) throw();
++void* operator new[](std::size_t size, void* ptr) throw();
++void  operator delete  (void* ptr, void*) throw();
++void  operator delete[](void* ptr, void*) throw();
 Index: libstdc++-v3/testsuite/30_threads/call_once/dr2442.cc
 ===================================================================
 --- a/src/libstdc++-v3/testsuite/30_threads/call_once/dr2442.cc	(.../tags/gcc_6_2_0_release)
@@ -7738,6 +8011,129 @@ Index: libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
  
  // "template argument 1 is invalid"
  // { dg-prune-output "tuple:993" }
+Index: libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc
+===================================================================
+--- a/src/libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc	(.../tags/gcc_6_2_0_release)
++++ b/src/libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc	(.../branches/gcc-6-branch)
+@@ -1,5 +1,4 @@
+-// { dg-options "-std=gnu++11" }
+-// { dg-do compile }
++// { dg-do preprocess { target c++11 } }
+ 
+ // Copyright (C) 2008-2016 Free Software Foundation, Inc.
+ //
+@@ -22,42 +21,61 @@
+ 
+ #ifndef ATOMIC_BOOL_LOCK_FREE 
+ # error "ATOMIC_BOOL_LOCK_FREE must be a macro"
++#elif ATOMIC_BOOL_LOCK_FREE != 1 && ATOMIC_BOOL_LOCK_FREE != 2
++# error "ATOMIC_BOOL_LOCK_FREE must be 1 or 2"
+ #endif
+ 
+ #ifndef ATOMIC_CHAR_LOCK_FREE 
+ # error "ATOMIC_CHAR_LOCK_FREE must be a macro"
++#elif ATOMIC_CHAR_LOCK_FREE != 1 && ATOMIC_CHAR_LOCK_FREE != 2
++# error "ATOMIC_CHAR_LOCK_FREE must be 1 or 2"
+ #endif
+ 
+ #ifndef ATOMIC_CHAR16_T_LOCK_FREE 
+ # error "ATOMIC_CHAR16_T_LOCK_FREE must be a macro"
++#elif ATOMIC_CHAR16_T_LOCK_FREE != 1 && ATOMIC_CHAR16_T_LOCK_FREE != 2
+ #endif
+ 
+ #ifndef ATOMIC_CHAR32_T_LOCK_FREE 
+ # error "ATOMIC_CHAR32_T_LOCK_FREE must be a macro"
++#elif ATOMIC_CHAR32_T_LOCK_FREE != 1 && ATOMIC_CHAR32_T_LOCK_FREE != 2
++# error "ATOMIC_CHAR32_T_LOCK_FREE must be 1 or 2"
+ #endif
+ 
+ #ifndef ATOMIC_WCHAR_T_LOCK_FREE 
+ # error "ATOMIC_WCHAR_T_LOCK_FREE must be a macro"
++#elif ATOMIC_WCHAR_T_LOCK_FREE != 1 && ATOMIC_WCHAR_T_LOCK_FREE != 2
++# error "ATOMIC_WCHAR_T_LOCK_FREE must be 1 or 2"
+ #endif
+ 
+ #ifndef ATOMIC_SHORT_LOCK_FREE 
+ # error "ATOMIC_SHORT_LOCK_FREE must be a macro"
++#elif ATOMIC_SHORT_LOCK_FREE != 1 && ATOMIC_SHORT_LOCK_FREE != 2
++# error "ATOMIC_SHORT_LOCK_FREE must be 1 or 2"
+ #endif
+ 
+ #ifndef ATOMIC_INT_LOCK_FREE 
+ # error "ATOMIC_INT_LOCK_FREE must be a macro"
++#elif ATOMIC_INT_LOCK_FREE != 1 && ATOMIC_INT_LOCK_FREE != 2
++# error "ATOMIC_INT_LOCK_FREE must be 1 or 2"
+ #endif
+ 
+ #ifndef ATOMIC_LONG_LOCK_FREE 
+ # error "ATOMIC_LONG_LOCK_FREE must be a macro"
++#elif ATOMIC_LONG_LOCK_FREE != 1 && ATOMIC_LONG_LOCK_FREE != 2
++# error "ATOMIC_LONG_LOCK_FREE must be 1 or 2"
+ #endif
+ 
+ #ifndef ATOMIC_LLONG_LOCK_FREE 
+ # error "ATOMIC_LLONG_LOCK_FREE must be a macro"
++#elif ATOMIC_LLONG_LOCK_FREE != 1 && ATOMIC_LLONG_LOCK_FREE != 2
++# error "ATOMIC_LLONG_LOCK_FREE must be 1 or 2"
+ #endif
+ 
+ #ifndef ATOMIC_POINTER_LOCK_FREE 
+ # error "ATOMIC_POINTER_LOCK_FREE must be a macro"
++#elif ATOMIC_POINTER_LOCK_FREE != 1 && ATOMIC_POINTER_LOCK_FREE != 2
++# error "ATOMIC_POINTER_LOCK_FREE must be 1 or 2"
+ #endif
+ 
+ #ifndef ATOMIC_FLAG_INIT
+@@ -67,49 +85,3 @@
+ #ifndef ATOMIC_VAR_INIT
+     #error "ATOMIC_VAR_INIT_must_be_a_macro"
+ #endif
+-
+-
+-extern void abort(void);
+-
+-int main ()
+-{
+-#if (ATOMIC_BOOL_LOCK_FREE != 1 && ATOMIC_BOOL_LOCK_FREE != 2)
+-   abort ();
+-#endif
+-
+-#if (ATOMIC_CHAR_LOCK_FREE != 1 && ATOMIC_CHAR_LOCK_FREE != 2)
+-   abort ();
+-#endif
+-
+-#if (ATOMIC_CHAR16_T_LOCK_FREE != 1 && ATOMIC_CHAR16_T_LOCK_FREE != 2)
+-   abort ();
+-#endif
+-
+-#if (ATOMIC_CHAR32_T_LOCK_FREE != 1 && ATOMIC_CHAR32_T_LOCK_FREE != 2)
+-   abort ();
+-#endif
+-
+-#if (ATOMIC_WCHAR_T_LOCK_FREE != 1 && ATOMIC_WCHAR_T_LOCK_FREE != 2)
+-   abort ();
+-#endif
+-
+-#if (ATOMIC_SHORT_LOCK_FREE != 1 && ATOMIC_SHORT_LOCK_FREE != 2)
+-   abort ();
+-#endif
+-
+-#if (ATOMIC_INT_LOCK_FREE != 1 && ATOMIC_INT_LOCK_FREE != 2)
+-   abort ();
+-#endif
+-
+-#if (ATOMIC_LONG_LOCK_FREE != 1 && ATOMIC_LONG_LOCK_FREE != 2)
+-   abort ();
+-#endif
+-
+-#if (ATOMIC_LLONG_LOCK_FREE != 1 && ATOMIC_LLONG_LOCK_FREE != 2)
+-   abort ();
+-#endif
+-
+-#if (ATOMIC_POINTER_LOCK_FREE != 1 && ATOMIC_POINTER_LOCK_FREE != 2)
+-   abort ();
+-#endif
+-}
 Index: libstdc++-v3/testsuite/23_containers/priority_queue/allocator.cc
 ===================================================================
 --- a/src/libstdc++-v3/testsuite/23_containers/priority_queue/allocator.cc	(.../tags/gcc_6_2_0_release)
@@ -11198,7 +11594,13 @@ Index: libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/unique_ptr_cto
 ===================================================================
 --- a/src/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc	(.../tags/gcc_6_2_0_release)
 +++ b/src/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc	(.../branches/gcc-6-branch)
-@@ -26,19 +26,43 @@
+@@ -1,4 +1,4 @@
+-// { dg-options "-std=gnu++14" }
++// { dg-do run { target c++14 } }
+ 
+ // Copyright (C) 2015-2016 Free Software Foundation, Inc.
+ //
+@@ -26,19 +26,42 @@
  
  struct A : std::experimental::enable_shared_from_this<A>
  {
@@ -11239,14 +11641,14 @@ Index: libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/unique_ptr_cto
 +void
  test01()
  {
-   bool test __attribute__((unused)) = true;
+-  bool test __attribute__((unused)) = true;
 -
 -  std::unique_ptr<A[]> up(new A[5]);
 +  std::unique_ptr<A> up(new A);
    std::experimental::shared_ptr<A> sp(std::move(up));
    VERIFY( up.get() == 0 );
    VERIFY( sp.get() != 0 );
-@@ -47,9 +71,23 @@
+@@ -47,9 +70,32 @@
    VERIFY( sp->shared_from_this() != nullptr );
  
    sp.reset();
@@ -11263,7 +11665,16 @@ Index: libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/unique_ptr_cto
 +  VERIFY( sp.get() != 0 );
 +  VERIFY( sp.use_count() == 1 );
 +
-+  VERIFY( sp[0].shared_from_this() != nullptr );
++  bool caught = false;
++  try
++  {
++    sp[0].shared_from_this(); // should not be set for arrays
++  }
++  catch (const std::bad_weak_ptr&)
++  {
++    caught = true;
++  }
++  VERIFY( caught );
 +
 +  sp.reset();
    VERIFY( destroyed == 5 );
@@ -11272,7 +11683,7 @@ Index: libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/unique_ptr_cto
  }
  
  int
-@@ -56,5 +94,5 @@
+@@ -56,5 +102,5 @@
  main()
  {
    test01();
@@ -11404,6 +11815,58 @@ Index: libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/torture.cc
 +    "can query constructibility without forming invalid type int[][]");
 +static_assert( !is_constructible_v<shared_ptr<int[]>, A*>,
 +    "can query constructibility without forming invalid type int[][]");
+Index: libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/enable_shared_from_this.cc
+===================================================================
+--- a/src/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/enable_shared_from_this.cc	(.../tags/gcc_6_2_0_release)
++++ b/src/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/enable_shared_from_this.cc	(.../branches/gcc-6-branch)
+@@ -0,0 +1,47 @@
++// Copyright (C) 2016 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING3.  If not see
++// <http://www.gnu.org/licenses/>.
++
++// { dg-do run { target c++14 } }
++
++#include <experimental/memory>
++#include <testsuite_hooks.h>
++
++struct A : std::enable_shared_from_this<A> { };
++struct B : std::experimental::enable_shared_from_this<B> { };
++struct C : A, B { };
++
++void
++test01()
++{
++  // This should not fail to compile due to ambiguous base classes:
++  std::experimental::shared_ptr<C> p(new C);
++
++  // And both base classes should have been enabled:
++  std::shared_ptr<A> pa = p->A::shared_from_this();
++  VERIFY( pa != nullptr );
++  // Can't compare pa and p because they're different types
++
++  std::experimental::shared_ptr<B> pb = p->B::shared_from_this();
++  VERIFY( pb != nullptr );
++  VERIFY( pb == p );
++}
++
++int
++main()
++{
++  test01();
++}
 Index: libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc
 ===================================================================
 --- a/src/libstdc++-v3/testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc	(.../tags/gcc_6_2_0_release)
@@ -12813,6 +13276,15 @@ Index: libstdc++-v3/config.h.in
  #undef HAVE_GETS
  
  /* Define to 1 if you have the `hypot' function. */
+@@ -937,7 +937,7 @@
+ /* Define if _SC_NPROC_ONLN is available in <unistd.h>. */
+ #undef _GLIBCXX_USE_SC_NPROC_ONLN
+ 
+-/* Define if sendfile is available in <sys/stat.h>. */
++/* Define if sendfile is available in <sys/sendfile.h>. */
+ #undef _GLIBCXX_USE_SENDFILE
+ 
+ /* Define if struct stat has timespec members. */
 @@ -965,11 +965,16 @@
  /* Define to 1 if mutex_timedlock is available. */
  #undef _GTHREAD_USE_MUTEX_TIMEDLOCK
@@ -13016,6 +13488,228 @@ Index: libstdc++-v3/acinclude.m4
      AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS, 1,
      [Define if the compiler supports C++11 atomics.])
      atomicity_dir=cpu/generic/atomicity_builtins
+@@ -4283,6 +4343,7 @@
+   AC_CACHE_VAL(glibcxx_cv_realpath, [dnl
+     GCC_TRY_COMPILE_OR_LINK(
+       [
++       #include <limits.h>
+        #include <stdlib.h>
+        #include <unistd.h>
+       ],
+@@ -4373,7 +4434,7 @@
+       gnu* | linux* | solaris*)
+         GCC_TRY_COMPILE_OR_LINK(
+           [#include <sys/sendfile.h>],
+-          [sendfile(1, 2, (off_t*)NULL, sizeof 1);],
++          [sendfile(1, 2, (off_t*)0, sizeof 1);],
+           [glibcxx_cv_sendfile=yes],
+           [glibcxx_cv_sendfile=no])
+         ;;
+@@ -4383,7 +4444,7 @@
+     esac
+   ])
+   if test $glibcxx_cv_sendfile = yes; then
+-    AC_DEFINE(_GLIBCXX_USE_SENDFILE, 1, [Define if sendfile is available in <sys/stat.h>.])
++    AC_DEFINE(_GLIBCXX_USE_SENDFILE, 1, [Define if sendfile is available in <sys/sendfile.h>.])
+   fi
+   AC_MSG_RESULT($glibcxx_cv_sendfile)
+ dnl
+Index: libiberty/ChangeLog
+===================================================================
+--- a/src/libiberty/ChangeLog	(.../tags/gcc_6_2_0_release)
++++ b/src/libiberty/ChangeLog	(.../branches/gcc-6-branch)
+@@ -1,3 +1,23 @@
++2016-12-13  Jakub Jelinek  <jakub at redhat.com>
++
++	PR c++/78761
++	* cp-demangle.c (cplus_demangle_type): Demangle Dc as decltype(auto).
++	* testsuite/demangle-expected: Add test for decltype(auto).
++
++2016-12-12  Nathan Sidwell  <nathan at acm.org>
++
++	PR c++/78252
++	* cp-demangle.c (struct d_print_info): Add is_lambda_arg field.
++	(d_print_init): Initialize it.
++	(d_print_comp_inner) <DEMANGLE_COMPONENT_TEMPLATE_PARAM>: Check
++	is_lambda_arg for auto.
++	<DEMANGLE_COMPONENT_REFERENCE,
++	DEMANGLE_COMPONENT_RVALUE_REFERENCE>: Skip smashing check when
++	is_lambda_arg.
++	<DEMANGLE_COMPONENT_LAMBDA>: Increment is_lambda_arg around arg
++	printing.
++	* testsuite/demangle-expected: Add lambda auto mangling cases. 
++
+ 2016-08-22  Release Manager
+ 
+ 	* GCC 6.2.0 released.
+Index: libiberty/testsuite/demangle-expected
+===================================================================
+--- a/src/libiberty/testsuite/demangle-expected	(.../tags/gcc_6_2_0_release)
++++ b/src/libiberty/testsuite/demangle-expected	(.../branches/gcc-6-branch)
+@@ -4085,6 +4085,9 @@
+ _Z1fIiERDaRKT_S1_
+ auto& f<int>(int const&, int)
+ --format=gnu-v3
++_Z1gIiEDcRKT_S0_
++decltype(auto) g<int>(int const&, int)
++--format=gnu-v3
+ _Z1gILi1EEvR1AIXT_EER1BIXscbT_EE
+ void g<1>(A<1>&, B<static_cast<bool>(1)>&)
+ --format=gnu-v3
+@@ -4459,3 +4462,32 @@
+ 
+ _Z80800000000000000000000
+ _Z80800000000000000000000
++
++# pr c++/78252 generic lambda mangling uses template parms, and leads
++# to unbounded recursion if not dealt with properly
++_Z7forwardIRZ3FoovEUlRT_E_EOS0_S1_
++Foo()::{lambda(auto:1&)#1}& forward<Foo()::{lambda(auto:1&)#1}&>(Foo()::{lambda(auto:1&)#1}&)
++
++_Z7forwardIZ3FoovEUlRiRT_E_EOS1_S2_
++Foo()::{lambda(int&, auto:1&)#1}&& forward<Foo()::{lambda(int&, auto:1&)#1}>(Foo()::{lambda(int&, auto:1&)#1}&)
++
++_Z7forwardIZ3FoovEUlRT_R1XIiEE0_EOS0_S1_
++Foo()::{lambda(auto:1&, X<int>&)#2}&& forward<Foo()::{lambda(auto:1&, X<int>&)#2}>(Foo()::{lambda(auto:1&, X<int>&)#2}&)
++
++_Z7forwardIZ3FoovEUlPA5_T_E1_EOS0_RS0_
++Foo()::{lambda(auto:1 (*&&forward<Foo()::{lambda(auto:1 (*) [5])#3}>(auto:1&)) [5])#3}
++
++_Z3eatIZ3FoovEUlRiRT_E_EvS2_
++void eat<Foo()::{lambda(int&, auto:1&)#1}>(Foo()::{lambda(int&, auto:1&)#1}&)
++
++_Z3eatIZ3FoovEUlRT_R1XIiEE0_EvS1_
++void eat<Foo()::{lambda(auto:1&, X<int>&)#2}>(Foo()::{lambda(auto:1&, X<int>&)#2}&)
++
++_Z3eatIZ3FoovEUlPA5_T_E1_EvRS0_
++void eat<Foo()::{lambda(auto:1 (*) [5])#3}>(Foo()::{lambda(auto:1 (*&) [5])#3})
++
++_Z3eatIPiZ3FoovEUlPT_PT0_E4_EvRS1_RS3_
++void eat<int*, Foo()::{lambda(auto:1*, auto:2*)#6}>(int*&, Foo()::{lambda(auto:1*, auto:2*)#6}&)
++
++_Z3eatIPiZ3BarIsEvvEUlPsPT_PT0_E0_EvRS3_RS5_
++void eat<int*, void Bar<short>()::{lambda(short*, auto:1*, auto:2*)#2}>(int*&, void Bar<short>()::{lambda(short*, auto:1*, auto:2*)#2}&)
+Index: libiberty/cp-demangle.c
+===================================================================
+--- a/src/libiberty/cp-demangle.c	(.../tags/gcc_6_2_0_release)
++++ b/src/libiberty/cp-demangle.c	(.../branches/gcc-6-branch)
+@@ -343,6 +343,9 @@
+   struct d_print_mod *modifiers;
+   /* Set to 1 if we saw a demangling error.  */
+   int demangle_failure;
++  /* Non-zero if we're printing a lambda argument.  A template
++     parameter reference actually means 'auto'.  */
++  int is_lambda_arg;
+   /* The current index into any template argument packs we are using
+      for printing, or -1 to print the whole pack.  */
+   int pack_index;
+@@ -2549,7 +2552,11 @@
+ 	  /* auto */
+ 	  ret = d_make_name (di, "auto", 4);
+ 	  break;
+-	  
++	case 'c':
++	  /* decltype(auto) */
++	  ret = d_make_name (di, "decltype(auto)", 14);
++	  break;
++
+ 	case 'f':
+ 	  /* 32-bit decimal floating point */
+ 	  ret = d_make_builtin_type (di, &cplus_demangle_builtin_types[26]);
+@@ -4050,6 +4057,7 @@
+   dpi->opaque = opaque;
+ 
+   dpi->demangle_failure = 0;
++  dpi->is_lambda_arg = 0;
+ 
+   dpi->component_stack = NULL;
+ 
+@@ -4714,34 +4722,42 @@
+       }
+ 
+     case DEMANGLE_COMPONENT_TEMPLATE_PARAM:
+-      {
+-	struct d_print_template *hold_dpt;
+-	struct demangle_component *a = d_lookup_template_argument (dpi, dc);
++      if (dpi->is_lambda_arg)
++	{
++	  /* Show the template parm index, as that's how g++ displays
++	     these, and future proofs us against potential
++	     '[]<typename T> (T *a, T *b) {...}'.  */
++	  d_append_buffer (dpi, "auto:", 5);
++	  d_append_num (dpi, dc->u.s_number.number + 1);
++	}
++      else
++	{
++	  struct d_print_template *hold_dpt;
++	  struct demangle_component *a = d_lookup_template_argument (dpi, dc);
+ 
+-	if (a && a->type == DEMANGLE_COMPONENT_TEMPLATE_ARGLIST)
+-	  a = d_index_template_argument (a, dpi->pack_index);
++	  if (a && a->type == DEMANGLE_COMPONENT_TEMPLATE_ARGLIST)
++	    a = d_index_template_argument (a, dpi->pack_index);
+ 
+-	if (a == NULL)
+-	  {
+-	    d_print_error (dpi);
+-	    return;
+-	  }
++	  if (a == NULL)
++	    {
++	      d_print_error (dpi);
++	      return;
++	    }
+ 
+-	/* While processing this parameter, we need to pop the list of
+-	   templates.  This is because the template parameter may
+-	   itself be a reference to a parameter of an outer
+-	   template.  */
++	  /* While processing this parameter, we need to pop the list
++	     of templates.  This is because the template parameter may
++	     itself be a reference to a parameter of an outer
++	     template.  */
+ 
+-	hold_dpt = dpi->templates;
+-	dpi->templates = hold_dpt->next;
++	  hold_dpt = dpi->templates;
++	  dpi->templates = hold_dpt->next;
+ 
+-	d_print_comp (dpi, options, a);
++	  d_print_comp (dpi, options, a);
+ 
+-	dpi->templates = hold_dpt;
++	  dpi->templates = hold_dpt;
++	}
++      return;
+ 
+-	return;
+-      }
+-
+     case DEMANGLE_COMPONENT_CTOR:
+       d_print_comp (dpi, options, dc->u.s_ctor.name);
+       return;
+@@ -4877,7 +4893,8 @@
+       {
+ 	/* Handle reference smashing: & + && = &.  */
+ 	const struct demangle_component *sub = d_left (dc);
+-	if (sub->type == DEMANGLE_COMPONENT_TEMPLATE_PARAM)
++	if (!dpi->is_lambda_arg
++	    && sub->type == DEMANGLE_COMPONENT_TEMPLATE_PARAM)
+ 	  {
+ 	    struct d_saved_scope *scope = d_get_saved_scope (dpi, sub);
+ 	    struct demangle_component *a;
+@@ -5552,7 +5569,11 @@
+ 
+     case DEMANGLE_COMPONENT_LAMBDA:
+       d_append_string (dpi, "{lambda(");
++      /* Generic lambda auto parms are mangled as the template type
++	 parm they are.  */
++      dpi->is_lambda_arg++;
+       d_print_comp (dpi, options, dc->u.s_unary_num.sub);
++      dpi->is_lambda_arg--;
+       d_append_string (dpi, ")#");
+       d_append_num (dpi, dc->u.s_unary_num.num + 1);
+       d_append_char (dpi, '}');
 Index: ChangeLog
 ===================================================================
 --- a/src/ChangeLog	(.../tags/gcc_6_2_0_release)
@@ -13647,7 +14341,7 @@ Index: gcc/DATESTAMP
 +++ b/src/gcc/DATESTAMP	(.../branches/gcc-6-branch)
 @@ -1 +1 @@
 -20160822
-+20161212
++20161215
 Index: gcc/postreload.c
 ===================================================================
 --- a/src/gcc/postreload.c	(.../tags/gcc_6_2_0_release)
@@ -14427,7 +15121,68 @@ Index: gcc/ChangeLog
 ===================================================================
 --- a/src/gcc/ChangeLog	(.../tags/gcc_6_2_0_release)
 +++ b/src/gcc/ChangeLog	(.../branches/gcc-6-branch)
-@@ -1,3 +1,1372 @@
+@@ -1,3 +1,1433 @@
++2016-12-14  Uros Bizjak  <ubizjak at gmail.com>
++
++	PR target/59874
++	* config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_CLZS
++	and IX86_BUILTIN_CTZS.
++	(bdesc_args): Add __builtin_clzs and __builtin_ctzs.
++	(ix86_fold_builtin): Handle IX86_BUILTIN_CTZS and IX86_BUILTIN_CLZS.
++
++2016-12-14  Wilco Dijkstra  <wdijkstr at arm.com>
++	    Jakub Jelinek  <jakub at redhat.com>
++
++	PR target/78796
++	* config/aarch64/aarch64.c (aarch64_classify_symbol): Merge large
++	model checks into switch.
++
++2016-12-14  Thomas Preud'homme  <thomas.preudhomme at arm.com>
++
++	Backport from mainline
++	2016-11-25  Thomas Preud'homme  <thomas.preudhomme at arm.com>
++
++	* tree-ssa-math-opts.c (struct symbolic_number): Improve comment.
++
++2016-12-14  Thomas Preud'homme  <thomas.preudhomme at arm.com>
++
++	Backport from mainline
++	2016-11-25  Thomas Preud'homme  <thomas.preudhomme at arm.com>
++
++	PR tree-optimization/77673
++	* tree-ssa-math-opts.c (struct symbolic_number): Add new src field.
++	(init_symbolic_number): Initialize src field from src parameter.
++	(perform_symbolic_merge): Select most dominated statement as the
++	source statement.  Set src field of resulting n structure from the
++	input src with the lowest address.
++	(find_bswap_or_nop): Rename source_stmt into ins_stmt.
++	(bswap_replace): Rename src_stmt into ins_stmt.  Initially get source
++	of load from src field rather than insertion statement.  Cancel
++	optimization if statement analyzed is not dominated by the insertion
++	statement.
++	(pass_optimize_bswap::execute): Rename src_stmt to ins_stmt.  Compute
++	dominance information.
++
++2016-12-13  Michael Meissner  <meissner at linux.vnet.ibm.com>
++
++	Backport from mainline
++	2016-12-07  Michael Meissner  <meissner at linux.vnet.ibm.com>
++
++	PR target/72717
++	* config/rs6000/rs6000.c (rs6000_expand_vector_init): If the
++	V2DImode elements are SUBREG's convert the result into DImode
++	rather than failing in emit_move_insn.
++
++2016-12-13  Iain Sandoe  <iain at codesourcery.com>
++
++	Backport from mainline
++	2016-12-11  Iain Sandoe  <iain at codesourcery.com>
++
++	PR rtl-optimization/71496
++	* config/rs6000/darwin.md (load_macho_picbase_si): Mark as non-
++	copyable.  (load_macho_picbase_di, reload_macho_picbase_si,
++	reload_macho_picbase_di): Likewise.
++
 +2016-12-12  Bernd Schmidt  <bschmidt at redhat.com>
 +
 +	Backport from mainline
@@ -15800,7 +16555,7 @@ Index: gcc/ChangeLog
  2016-08-22  Release Manager
  
  	* GCC 6.2.0 released.
-@@ -205,9 +1574,9 @@
+@@ -205,9 +1635,9 @@
  
  2016-08-09  Martin Jambor  <mjambor at suse.cz>
  
@@ -15813,6 +16568,31 @@ Index: gcc/ChangeLog
  
  2016-08-09  Richard Biener  <rguenther at suse.de>
  
+Index: gcc/testsuite/gcc.target/powerpc/pr72717.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/powerpc/pr72717.c	(.../tags/gcc_6_2_0_release)
++++ b/src/gcc/testsuite/gcc.target/powerpc/pr72717.c	(.../branches/gcc-6-branch)
+@@ -0,0 +1,20 @@
++/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
++/* { dg-require-effective-target powerpc_p8vector_ok } */
++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
++/* { dg-options "-mcpu=power8 -O2" } */
++
++typedef long V __attribute__((__vector_size__(32)));
++
++extern void foo (V *, V*);
++
++/* This test generated an failure in emit_move_insn.  */
++
++void
++foo(V *p, V *q)
++{
++  V v = *q;
++  *p = v << v[0];
++}
++
++/* { dg-final { scan-assembler-times "vsld" 2 } } */
 Index: gcc/testsuite/gcc.target/powerpc/pr72863.c
 ===================================================================
 --- a/src/gcc/testsuite/gcc.target/powerpc/pr72863.c	(.../tags/gcc_6_2_0_release)
@@ -20774,6 +21554,30 @@ Index: gcc/testsuite/gcc.dg/graphite/pr71575-2.c
 +	}
 +    }
 +}
+Index: gcc/testsuite/gcc.dg/pr77673.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/pr77673.c	(.../tags/gcc_6_2_0_release)
++++ b/src/gcc/testsuite/gcc.dg/pr77673.c	(.../branches/gcc-6-branch)
+@@ -0,0 +1,19 @@
++/* { dg-do compile { target fpic } } */
++/* { dg-require-effective-target bswap32 } */
++/* { dg-options "-O2 -fPIC -fdump-tree-bswap" } */
++/* { dg-additional-options "-march=z900" { target s390*-*-* } } */
++
++void mach_parse_compressed(unsigned char* ptr, unsigned long int* val)
++{
++  if (ptr[0] < 0xC0U) {
++    *val = ptr[0] + ptr[1];
++    return;
++  }
++
++  *val = ((unsigned long int)(ptr[0]) << 24)
++    | ((unsigned long int)(ptr[1]) << 16)
++    | ((unsigned long int)(ptr[2]) << 8)
++    | ptr[3];
++}
++
++/* { dg-final { scan-tree-dump-not "load_dst_\\d+ =.* if \\(" "bswap" } } */
 Index: gcc/testsuite/gcc.dg/const-uniq-1.c
 ===================================================================
 --- a/src/gcc/testsuite/gcc.dg/const-uniq-1.c	(.../tags/gcc_6_2_0_release)
@@ -21491,6 +22295,52 @@ Index: gcc/testsuite/gcc.dg/torture/pr78542.c
 +    __builtin_abort();
 +  return 0;
 +}
+Index: gcc/testsuite/gcc.dg/torture/pr78731.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/torture/pr78731.c	(.../tags/gcc_6_2_0_release)
++++ b/src/gcc/testsuite/gcc.dg/torture/pr78731.c	(.../branches/gcc-6-branch)
+@@ -0,0 +1,41 @@
++/* { dg-do run } */
++
++#include <stdio.h>
++#include <stdlib.h>
++
++#define GENERAL 1
++#define BRACKETS 2
++#define QUOTES 3
++
++void __attribute__((noinline,noclone))
++foo(char *qb, char* into)
++{
++  int state = QUOTES;
++  int save_state = BRACKETS;
++
++  while (qb)
++    {
++      switch (state)
++	{
++	case BRACKETS:
++	  exit(0);
++	case GENERAL:
++	  abort ();
++	case QUOTES:
++	  state = save_state;
++	  save_state = GENERAL;
++	  break;
++	default: ;
++	}
++      printf("State %d btw GENERAL %d\n", state, GENERAL);
++    }
++  abort ();
++}
++
++int main()
++{
++  char *b = "123";
++  char out[4];
++  foo(b, out);
++  return 0;
++}
 Index: gcc/testsuite/gcc.dg/torture/pr77937-1.c
 ===================================================================
 --- a/src/gcc/testsuite/gcc.dg/torture/pr77937-1.c	(.../tags/gcc_6_2_0_release)
@@ -21889,6 +22739,43 @@ Index: gcc/testsuite/gcc.dg/tree-ssa/prefetch-9.c
 -/* { dg-final { scan-assembler "movnti" } } */
 -/* { dg-final { scan-assembler-times "mfence" 1 } } */
 -
+Index: gcc/testsuite/gcc.dg/tls/pr78796.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/tls/pr78796.c	(.../tags/gcc_6_2_0_release)
++++ b/src/gcc/testsuite/gcc.dg/tls/pr78796.c	(.../branches/gcc-6-branch)
+@@ -0,0 +1,32 @@
++/* PR target/78796 */
++/* { dg-do run } */
++/* { dg-options "-O2" } */
++/* { dg-additional-options "-mcmodel=large" { target aarch64-*-* } } */
++/* { dg-require-effective-target tls } */
++
++struct S { int a, b, c, d, e; };
++struct S t;
++__thread struct S s;
++
++__attribute__((used, noinline, noclone)) void
++foo (int *x, int *y)
++{
++  asm volatile ("" : : "g" (x), "g" (y) : "memory");
++  if (*x != 1 || *y != 2)
++    __builtin_abort ();
++}
++
++__attribute__((used, noinline, noclone)) void
++bar (void)
++{
++  foo (&t.c, &s.c);
++}
++
++int
++main ()
++{
++  t.c = 1;
++  s.c = 2;
++  bar ();
++  return 0;
++}
 Index: gcc/testsuite/gcc.dg/pr77587a.c
 ===================================================================
 --- a/src/gcc/testsuite/gcc.dg/pr77587a.c	(.../tags/gcc_6_2_0_release)
@@ -22043,7 +22930,38 @@ Index: gcc/testsuite/ChangeLog
 ===================================================================
 --- a/src/gcc/testsuite/ChangeLog	(.../tags/gcc_6_2_0_release)
 +++ b/src/gcc/testsuite/ChangeLog	(.../branches/gcc-6-branch)
-@@ -1,3 +1,1187 @@
+@@ -1,3 +1,1218 @@
++2016-12-14  Nathan Sidwell  <nathan at acm.org>
++
++	PR c++/78701
++	* g++.dg/cpp0x/pr78701.C: New.
++
++2016-12-14  Jakub Jelinek  <jakub at redhat.com>
++
++	PR target/78796
++	* gcc.dg/tls/pr78796.c: New test.
++
++2016-12-14  Richard Biener  <rguenther at suse.de>
++
++	PR tree-optimization/78731
++	* gcc.dg/torture/pr78731.c: New testcase.
++
++2016-12-14  Thomas Preud'homme  <thomas.preudhomme at arm.com>
++
++	Backport from mainline
++	2016-11-25  Thomas Preud'homme  <thomas.preudhomme at arm.com>
++
++	PR tree-optimization/77673
++	* gcc.dg/pr77673.c: New test.
++
++2016-12-13  Michael Meissner  <meissner at linux.vnet.ibm.com>
++
++	Backport from mainline
++	2016-12-07  Michael Meissner  <meissner at linux.vnet.ibm.com>
++
++	PR target/72717
++	* gcc.target/powerpc/pr72717.c: New test.
++
 +2016-12-12  Bernd Schmidt  <bschmidt at redhat.com>
 +
 +	Backport from mainline
@@ -23231,7 +24149,7 @@ Index: gcc/testsuite/ChangeLog
  2016-08-22  Release Manager
  
  	* GCC 6.2.0 released.
-@@ -150,8 +1334,8 @@
+@@ -150,8 +1365,8 @@
  
  2016-08-09  Martin Jambor  <mjambor at suse.cz>
  
@@ -23242,7 +24160,7 @@ Index: gcc/testsuite/ChangeLog
  
  2016-08-09  Richard Biener  <rguenther at suse.de>
  
-@@ -276,8 +1460,8 @@
+@@ -276,8 +1491,8 @@
  
  2016-07-20  Martin Jambor  <mjambor at suse.cz>
  
@@ -23253,7 +24171,7 @@ Index: gcc/testsuite/ChangeLog
  
  2016-07-19  Jakub Jelinek  <jakub at redhat.com>
  
-@@ -418,7 +1602,7 @@
+@@ -418,7 +1633,7 @@
  	2016-07-06  Yuri Rumyantsev  <ysrumyan at gmail.com>
  
  	PR tree-optimization/71518
@@ -23262,7 +24180,7 @@ Index: gcc/testsuite/ChangeLog
  
  2016-07-09  Thomas Koenig  <tkoenig at gcc.gnu.org>
  
-@@ -1639,7 +2823,7 @@
+@@ -1639,7 +2854,7 @@
  	* g++.dg/cpp1y/vla13.C: Same.
  	* g++.dg/cpp1y/vla14.C: Same.
  	* g++.dg/cpp1y/vla3.C: Same.
@@ -23271,7 +24189,7 @@ Index: gcc/testsuite/ChangeLog
  	* g++.dg/ubsan/vla-1.C: Same.
  
  2016-04-14  Marek Polacek  <polacek at redhat.com>
-@@ -1671,7 +2855,7 @@
+@@ -1671,7 +2886,7 @@
  	* g++.dg/cpp1y/vla13.C: New test.
  	* g++.dg/cpp1y/vla14.C: New test.
  	* g++.dg/cpp1y/vla3.C: Restore deleted test.
@@ -23280,7 +24198,7 @@ Index: gcc/testsuite/ChangeLog
  	* g++.dg/ubsan/vla-1.C: Disable exceptions.
  
  2016-04-13  Jakub Jelinek  <jakub at redhat.com>
-@@ -1699,8 +2883,8 @@
+@@ -1699,8 +2914,8 @@
  2016-04-13  Marek Polacek  <polacek at redhat.com>
  
  	PR c/70436
@@ -23291,7 +24209,7 @@ Index: gcc/testsuite/ChangeLog
  
  2016-04-13  Ilya Enkovich  <ilya.enkovich at intel.com>
  
-@@ -1947,7 +3131,7 @@
+@@ -1947,7 +3162,7 @@
  2016-04-06  Vladimir Makarov  <vmakarov at redhat.com>
  
  	PR rtl-optimization/70398
@@ -23533,6 +24451,20 @@ Index: gcc/testsuite/g++.dg/cpp0x/mutable1.C
 +{
 +  foo.i = 42;
 +}
+Index: gcc/testsuite/g++.dg/cpp0x/pr78701.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/cpp0x/pr78701.C	(.../tags/gcc_6_2_0_release)
++++ b/src/gcc/testsuite/g++.dg/cpp0x/pr78701.C	(.../branches/gcc-6-branch)
+@@ -0,0 +1,9 @@
++// PR c++/58707
++// { dg-do compile { target c++11 } }
++
++// ICE during deduction of default parms
++
++template <class T, T N = T(), bool B = N>
++  void f(T x) {}
++
++template void f<int> (int);
 Index: gcc/testsuite/g++.dg/cpp0x/constexpr-77482.C
 ===================================================================
 --- a/src/gcc/testsuite/g++.dg/cpp0x/constexpr-77482.C	(.../tags/gcc_6_2_0_release)
@@ -27102,7 +28034,13 @@ Index: gcc/cp/ChangeLog
 ===================================================================
 --- a/src/gcc/cp/ChangeLog	(.../tags/gcc_6_2_0_release)
 +++ b/src/gcc/cp/ChangeLog	(.../branches/gcc-6-branch)
-@@ -1,3 +1,188 @@
+@@ -1,3 +1,194 @@
++2016-12-14  Nathan Sidwell  <nathan at acm.org>
++
++	PR c++/78701
++	* pt.c (type_unification_real): Check tsubst arg doesn't have
++	remaining template parms before converting it.
++
 +2016-12-08  Nathan Sidwell  <nathan at acm.org>
 +
 +	PR c++/78551
@@ -27430,7 +28368,38 @@ Index: gcc/cp/pt.c
      {
        /* If we had an initializer but it
  	 instantiated to nothing,
-@@ -21393,7 +21393,8 @@
+@@ -18563,14 +18563,19 @@
+ 	  if (DECL_P (parm))
+ 	    input_location = DECL_SOURCE_LOCATION (parm);
+ 	  arg = tsubst_template_arg (arg, targs, complain, NULL_TREE);
+-	  arg = convert_template_argument (parm, arg, targs, complain,
+-					   i, NULL_TREE);
++	  if (!uses_template_parms (arg))
++	    arg = convert_template_argument (parm, arg, targs, complain,
++					     i, NULL_TREE);
++	  else if (saw_undeduced < 2)
++	    arg = NULL_TREE;
++	  else
++	    arg = error_mark_node;
+ 	  input_location = save_loc;
+ 	  *checks = get_deferred_access_checks ();
+ 	  pop_deferring_access_checks ();
+ 	  if (arg == error_mark_node)
+ 	    return 1;
+-	  else
++	  else if (arg)
+ 	    {
+ 	      TREE_VEC_ELT (targs, i) = arg;
+ 	      /* The position of the first default template argument,
+@@ -18578,7 +18583,6 @@
+ 		 Record that.  */
+ 	      if (!NON_DEFAULT_TEMPLATE_ARGS_COUNT (targs))
+ 		SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT (targs, i);
+-	      continue;
+ 	    }
+ 	}
+ 
+@@ -21393,7 +21397,8 @@
      if (! static_p)
        for (tmp = TYPE_METHODS (t); tmp; tmp = DECL_CHAIN (tmp))
  	if (TREE_CODE (tmp) == FUNCTION_DECL
@@ -27440,7 +28409,7 @@ Index: gcc/cp/pt.c
  	  instantiate_class_member (tmp, extern_p);
  
      for (tmp = TYPE_FIELDS (t); tmp; tmp = DECL_CHAIN (tmp))
-@@ -23586,30 +23587,27 @@
+@@ -23586,30 +23591,27 @@
      }
    /* If we don't know what SCOPE refers to, then we cannot resolve the
       TYPENAME_TYPE.  */
@@ -27761,6 +28730,228 @@ Index: gcc/tree-call-cdce.c
    /* Now it is time to insert the first conditional expression
       into bi_call_bb and split this bb so that bi_call is
       shrink-wrapped.  */
+Index: gcc/tree-ssa-math-opts.c
+===================================================================
+--- a/src/gcc/tree-ssa-math-opts.c	(.../tags/gcc_6_2_0_release)
++++ b/src/gcc/tree-ssa-math-opts.c	(.../branches/gcc-6-branch)
+@@ -1925,26 +1925,33 @@
+   return new pass_cse_sincos (ctxt);
+ }
+ 
+-/* A symbolic number is used to detect byte permutation and selection
+-   patterns.  Therefore the field N contains an artificial number
+-   consisting of octet sized markers:
++/* A symbolic number structure is used to detect byte permutation and selection
++   patterns of a source.  To achieve that, its field N contains an artificial
++   number consisting of BITS_PER_MARKER sized markers tracking where does each
++   byte come from in the source:
+ 
+-   0    - target byte has the value 0
+-   FF   - target byte has an unknown value (eg. due to sign extension)
+-   1..size - marker value is the target byte index minus one.
++   0	   - target byte has the value 0
++   FF	   - target byte has an unknown value (eg. due to sign extension)
++   1..size - marker value is the byte index in the source (0 for lsb).
+ 
+    To detect permutations on memory sources (arrays and structures), a symbolic
+-   number is also associated a base address (the array or structure the load is
+-   made from), an offset from the base address and a range which gives the
+-   difference between the highest and lowest accessed memory location to make
+-   such a symbolic number. The range is thus different from size which reflects
+-   the size of the type of current expression. Note that for non memory source,
+-   range holds the same value as size.
++   number is also associated:
++   - a base address BASE_ADDR and an OFFSET giving the address of the source;
++   - a range which gives the difference between the highest and lowest accessed
++     memory location to make such a symbolic number;
++   - the address SRC of the source element of lowest address as a convenience
++     to easily get BASE_ADDR + offset + lowest bytepos.
+ 
+-   For instance, for an array char a[], (short) a[0] | (short) a[3] would have
+-   a size of 2 but a range of 4 while (short) a[0] | ((short) a[0] << 1) would
+-   still have a size of 2 but this time a range of 1.  */
++   Note 1: the range is different from size as size reflects the size of the
++   type of the current expression.  For instance, for an array char a[],
++   (short) a[0] | (short) a[3] would have a size of 2 but a range of 4 while
++   (short) a[0] | ((short) a[0] << 1) would still have a size of 2 but this
++   time a range of 1.
+ 
++   Note 2: for non-memory sources, range holds the same value as size.
++
++   Note 3: SRC points to the SSA_NAME in case of non-memory source.  */
++
+ struct symbolic_number {
+   uint64_t n;
+   tree type;
+@@ -1951,6 +1958,7 @@
+   tree base_addr;
+   tree offset;
+   HOST_WIDE_INT bytepos;
++  tree src;
+   tree alias_set;
+   tree vuse;
+   unsigned HOST_WIDE_INT range;
+@@ -2052,6 +2060,7 @@
+   int size;
+ 
+   n->base_addr = n->offset = n->alias_set = n->vuse = NULL_TREE;
++  n->src = src;
+ 
+   /* Set up the symbolic number N by setting each byte to a value between 1 and
+      the byte size of rhs1.  The highest order byte is set to n->size and the
+@@ -2167,6 +2176,7 @@
+       uint64_t inc;
+       HOST_WIDE_INT start_sub, end_sub, end1, end2, end;
+       struct symbolic_number *toinc_n_ptr, *n_end;
++      basic_block bb1, bb2;
+ 
+       if (!n1->base_addr || !n2->base_addr
+ 	  || !operand_equal_p (n1->base_addr, n2->base_addr, 0))
+@@ -2180,15 +2190,20 @@
+ 	{
+ 	  n_start = n1;
+ 	  start_sub = n2->bytepos - n1->bytepos;
+-	  source_stmt = source_stmt1;
+ 	}
+       else
+ 	{
+ 	  n_start = n2;
+ 	  start_sub = n1->bytepos - n2->bytepos;
+-	  source_stmt = source_stmt2;
+ 	}
+ 
++      bb1 = gimple_bb (source_stmt1);
++      bb2 = gimple_bb (source_stmt2);
++      if (dominated_by_p (CDI_DOMINATORS, bb1, bb2))
++	source_stmt = source_stmt1;
++      else
++	source_stmt = source_stmt2;
++
+       /* Find the highest address at which a load is performed and
+ 	 compute related info.  */
+       end1 = n1->bytepos + (n1->range - 1);
+@@ -2245,6 +2260,7 @@
+   n->vuse = n_start->vuse;
+   n->base_addr = n_start->base_addr;
+   n->offset = n_start->offset;
++  n->src = n_start->src;
+   n->bytepos = n_start->bytepos;
+   n->type = n_start->type;
+   size = TYPE_PRECISION (n->type) / BITS_PER_UNIT;
+@@ -2455,7 +2471,7 @@
+   uint64_t cmpxchg = CMPXCHG;
+   uint64_t cmpnop = CMPNOP;
+ 
+-  gimple *source_stmt;
++  gimple *ins_stmt;
+   int limit;
+ 
+   /* The last parameter determines the depth search limit.  It usually
+@@ -2465,9 +2481,9 @@
+      in libgcc, and for initial shift/and operation of the src operand.  */
+   limit = TREE_INT_CST_LOW (TYPE_SIZE_UNIT (gimple_expr_type (stmt)));
+   limit += 1 + (int) ceil_log2 ((unsigned HOST_WIDE_INT) limit);
+-  source_stmt = find_bswap_or_nop_1 (stmt, n, limit);
++  ins_stmt = find_bswap_or_nop_1 (stmt, n, limit);
+ 
+-  if (!source_stmt)
++  if (!ins_stmt)
+     return NULL;
+ 
+   /* Find real size of result (highest non-zero byte).  */
+@@ -2509,7 +2525,7 @@
+     return NULL;
+ 
+   n->range *= BITS_PER_UNIT;
+-  return source_stmt;
++  return ins_stmt;
+ }
+ 
+ namespace {
+@@ -2558,7 +2574,7 @@
+    changing of basic block.  */
+ 
+ static bool
+-bswap_replace (gimple *cur_stmt, gimple *src_stmt, tree fndecl,
++bswap_replace (gimple *cur_stmt, gimple *ins_stmt, tree fndecl,
+ 	       tree bswap_type, tree load_type, struct symbolic_number *n,
+ 	       bool bswap)
+ {
+@@ -2567,19 +2583,25 @@
+   gimple *bswap_stmt;
+ 
+   gsi = gsi_for_stmt (cur_stmt);
+-  src = gimple_assign_rhs1 (src_stmt);
++  src = n->src;
+   tgt = gimple_assign_lhs (cur_stmt);
+ 
+   /* Need to load the value from memory first.  */
+   if (n->base_addr)
+     {
+-      gimple_stmt_iterator gsi_ins = gsi_for_stmt (src_stmt);
++      gimple_stmt_iterator gsi_ins = gsi_for_stmt (ins_stmt);
+       tree addr_expr, addr_tmp, val_expr, val_tmp;
+       tree load_offset_ptr, aligned_load_type;
+       gimple *addr_stmt, *load_stmt;
+       unsigned align;
+       HOST_WIDE_INT load_offset = 0;
++      basic_block ins_bb, cur_bb;
+ 
++      ins_bb = gimple_bb (ins_stmt);
++      cur_bb = gimple_bb (cur_stmt);
++      if (!dominated_by_p (CDI_DOMINATORS, cur_bb, ins_bb))
++	return false;
++
+       align = get_object_alignment (src);
+       /* If the new access is smaller than the original one, we need
+ 	 to perform big endian adjustment.  */
+@@ -2610,7 +2632,7 @@
+       /* Move cur_stmt just before  one of the load of the original
+ 	 to ensure it has the same VUSE.  See PR61517 for what could
+ 	 go wrong.  */
+-      if (gimple_bb (cur_stmt) != gimple_bb (src_stmt))
++      if (gimple_bb (cur_stmt) != gimple_bb (ins_stmt))
+ 	reset_flow_sensitive_info (gimple_assign_lhs (cur_stmt));
+       gsi_move_before (&gsi, &gsi_ins);
+       gsi = gsi_for_stmt (cur_stmt);
+@@ -2783,6 +2805,7 @@
+ 
+   memset (&nop_stats, 0, sizeof (nop_stats));
+   memset (&bswap_stats, 0, sizeof (bswap_stats));
++  calculate_dominance_info (CDI_DOMINATORS);
+ 
+   FOR_EACH_BB_FN (bb, fun)
+     {
+@@ -2794,7 +2817,7 @@
+ 	 variant wouldn't be detected.  */
+       for (gsi = gsi_last_bb (bb); !gsi_end_p (gsi);)
+         {
+-	  gimple *src_stmt, *cur_stmt = gsi_stmt (gsi);
++	  gimple *ins_stmt, *cur_stmt = gsi_stmt (gsi);
+ 	  tree fndecl = NULL_TREE, bswap_type = NULL_TREE, load_type;
+ 	  enum tree_code code;
+ 	  struct symbolic_number n;
+@@ -2827,9 +2850,9 @@
+ 	      continue;
+ 	    }
+ 
+-	  src_stmt = find_bswap_or_nop (cur_stmt, &n, &bswap);
++	  ins_stmt = find_bswap_or_nop (cur_stmt, &n, &bswap);
+ 
+-	  if (!src_stmt)
++	  if (!ins_stmt)
+ 	    continue;
+ 
+ 	  switch (n.range)
+@@ -2863,7 +2886,7 @@
+ 	  if (bswap && !fndecl && n.range != 16)
+ 	    continue;
+ 
+-	  if (bswap_replace (cur_stmt, src_stmt, fndecl, bswap_type, load_type,
++	  if (bswap_replace (cur_stmt, ins_stmt, fndecl, bswap_type, load_type,
+ 			     &n, bswap))
+ 	    changed = true;
+ 	}
 Index: gcc/tree-ssa-propagate.c
 ===================================================================
 --- a/src/gcc/tree-ssa-propagate.c	(.../tags/gcc_6_2_0_release)
@@ -32953,7 +34144,7 @@ Index: gcc/po/es.po
 -"Last-Translator: Cristian Othón Martínez Vera <cfuga at cfuga.mx>\n"
 -"Language-Team: Spanish <es at li.org>\n"
 +"POT-Creation-Date: 2016-08-19 21:03+0000\n"
-+"PO-Revision-Date: 2016-12-08 19:25+0100\n"
++"PO-Revision-Date: 2016-12-15 01:25+0100\n"
 +"Last-Translator: Antonio Ceballos <aceballos at gmail.com>\n"
 +"Language-Team: Spanish <es at tp.org.es>\n"
  "Language: es\n"
@@ -45425,7 +46616,7 @@ Index: gcc/po/es.po
  
  #: config/arm/arm.opt:266
  msgid "Avoid overlapping destination and address registers on LDRD instructions"
-@@ -12075,180 +9988,136 @@
+@@ -12075,194 +9988,144 @@
  
  #: config/arm/arm.opt:275
  msgid "Use Neon to perform 64-bits operations rather than core registers."
@@ -45644,633 +46835,699 @@ Index: gcc/po/es.po
  msgstr "Activa evitar el error único del procesador AT697F"
  
 -#: config/sparc/sparc.opt:216
+-#, fuzzy
+-#| msgid "Enable workaround for single erratum of AT697F processor"
 +#: config/sparc/sparc.opt:223
- #, fuzzy
- #| msgid "Enable workaround for single erratum of AT697F processor"
  msgid "Enable workarounds for the errata of the UT699 processor."
 -msgstr "Activa evitar el error único del procesador AT697F"
-+msgstr "Activa evitar el error único del procesador AT697F."
++msgstr "Activa evitar el error único del procesador UT699."
  
 -#: config/sparc/sparc.opt:245
 +#: config/sparc/sparc.opt:252
  msgid "Specify the memory model in effect for the program."
  msgstr "Especifica el modelo de memoria en efecto para el programa."
  
-@@ -12256,13 +10125,13 @@
- #, fuzzy
- #| msgid "Generate 64-bit code"
+ #: config/rs6000/darwin.opt:38 config/rs6000/sysv4.opt:141
+-#, fuzzy
+-#| msgid "Generate 64-bit code"
  msgid "Generate 64-bit code."
 -msgstr "Genera código de 64-bit"
 +msgstr "Genera código de 64-bit."
  
  #: config/rs6000/darwin.opt:42 config/rs6000/sysv4.opt:145
- #, fuzzy
- #| msgid "Generate 32-bit code"
+-#, fuzzy
+-#| msgid "Generate 32-bit code"
  msgid "Generate 32-bit code."
 -msgstr "Genera código de 32-bit"
 +msgstr "Genera código de 32-bit."
  
  #: config/rs6000/rs6000-tables.opt:24
  msgid "Known CPUs (for use with the -mcpu= and -mtune= options):"
-@@ -12272,199 +10141,199 @@
- #, fuzzy
- #| msgid "Preserve the PowerPC 476's link stack by matching up a blr with the bcl/bl insns used for GOT accesses"
+@@ -12269,202 +10132,136 @@
+ msgstr "CPUs conocidos (para uso con las opciones -mcpu= y -mtune):"
+ 
+ #: config/rs6000/476.opt:24
+-#, fuzzy
+-#| msgid "Preserve the PowerPC 476's link stack by matching up a blr with the bcl/bl insns used for GOT accesses"
  msgid "Preserve the PowerPC 476's link stack by matching up a blr with the bcl/bl insns used for GOT accesses."
 -msgstr "Preserva la pila de enlace del PowerPC 476 emparejando un blr con las insns bcl/bl utilizadas para accesos GOT"
 +msgstr "Preserva la pila de enlace del PowerPC 476 emparejando un blr con las insns bcl/bl utilizadas para accesos GOT."
  
  #: config/rs6000/aix64.opt:24
- #, fuzzy
- #| msgid "Compile for 64-bit pointers"
+-#, fuzzy
+-#| msgid "Compile for 64-bit pointers"
  msgid "Compile for 64-bit pointers."
 -msgstr "Compila para punteros de 64-bit"
 +msgstr "Compila para punteros de 64-bit."
  
  #: config/rs6000/aix64.opt:28
- #, fuzzy
- #| msgid "Compile for 32-bit pointers"
+-#, fuzzy
+-#| msgid "Compile for 32-bit pointers"
  msgid "Compile for 32-bit pointers."
 -msgstr "Compila para punteros de 32-bit"
 +msgstr "Compila para punteros de 32-bit."
  
  #: config/rs6000/aix64.opt:32 config/rs6000/linux64.opt:28
- #, fuzzy
- #| msgid "Select code model"
+-#, fuzzy
+-#| msgid "Select code model"
  msgid "Select code model."
 -msgstr "Selecciona el modelo de código"
 +msgstr "Selecciona el modelo de código."
  
  #: config/rs6000/aix64.opt:49
- #, fuzzy
- #| msgid "Support message passing with the Parallel Environment"
+-#, fuzzy
+-#| msgid "Support message passing with the Parallel Environment"
  msgid "Support message passing with the Parallel Environment."
 -msgstr "Soporta el paso de mensajes con el Ambiente Paralelo"
-+msgstr "Soporta el paso de mensajes con el Ambiente Paralelo."
++msgstr "Soporta el paso de mensajes con el Entorno Paralelo."
  
  #: config/rs6000/linux64.opt:24
- #, fuzzy
- #| msgid "Call mcount for profiling before a function prologue"
+-#, fuzzy
+-#| msgid "Call mcount for profiling before a function prologue"
  msgid "Call mcount for profiling before a function prologue."
 -msgstr "Llama a mcount para análisis de perfil antes del prólogo de una función"
 +msgstr "Llama a mcount para análisis de perfil antes del prólogo de una función."
  
  #: config/rs6000/rs6000.opt:109
- #, fuzzy
- #| msgid "Use PowerPC-64 instruction set"
+-#, fuzzy
+-#| msgid "Use PowerPC-64 instruction set"
  msgid "Use PowerPC-64 instruction set."
 -msgstr "Usa el conjunto de instrucciones PowerPC-64"
 +msgstr "Usa el conjunto de instrucciones PowerPC-64."
  
  #: config/rs6000/rs6000.opt:113
- #, fuzzy
- #| msgid "Use PowerPC General Purpose group optional instructions"
+-#, fuzzy
+-#| msgid "Use PowerPC General Purpose group optional instructions"
  msgid "Use PowerPC General Purpose group optional instructions."
 -msgstr "Usa el grupo opcional de instrucciones PowerPC de Propósito General"
 +msgstr "Usa el grupo opcional de instrucciones PowerPC de Propósito General."
  
  #: config/rs6000/rs6000.opt:117
- #, fuzzy
- #| msgid "Use PowerPC Graphics group optional instructions"
+-#, fuzzy
+-#| msgid "Use PowerPC Graphics group optional instructions"
  msgid "Use PowerPC Graphics group optional instructions."
 -msgstr "Usa el grupo opcional de instrucciones PowerPC de Gráficas"
 +msgstr "Usa el grupo opcional de instrucciones PowerPC de Gráficas."
  
  #: config/rs6000/rs6000.opt:121
- #, fuzzy
- #| msgid "Use PowerPC V2.01 single field mfcr instruction"
+-#, fuzzy
+-#| msgid "Use PowerPC V2.01 single field mfcr instruction"
  msgid "Use PowerPC V2.01 single field mfcr instruction."
 -msgstr "Usa las instrucciones mfcr de un solo campo de PowerPC V2.01"
 +msgstr "Usa las instrucciones mfcr de un solo campo de PowerPC V2.01."
  
  #: config/rs6000/rs6000.opt:125
- #, fuzzy
- #| msgid "Use PowerPC V2.02 popcntb instruction"
+-#, fuzzy
+-#| msgid "Use PowerPC V2.02 popcntb instruction"
  msgid "Use PowerPC V2.02 popcntb instruction."
 -msgstr "Usa la instrucción popcntb de PowerPC V2.02"
 +msgstr "Usa la instrucción popcntb de PowerPC V2.02."
  
  #: config/rs6000/rs6000.opt:129
- #, fuzzy
- #| msgid "Use PowerPC V2.02 floating point rounding instructions"
+-#, fuzzy
+-#| msgid "Use PowerPC V2.02 floating point rounding instructions"
  msgid "Use PowerPC V2.02 floating point rounding instructions."
 -msgstr "Usa las instrucciones de redondeo de coma flotante de PowerPC V2.02"
 +msgstr "Usa las instrucciones de redondeo de coma flotante de PowerPC V2.02."
  
  #: config/rs6000/rs6000.opt:133
- #, fuzzy
- #| msgid "Use PowerPC V2.05 compare bytes instruction"
+-#, fuzzy
+-#| msgid "Use PowerPC V2.05 compare bytes instruction"
  msgid "Use PowerPC V2.05 compare bytes instruction."
 -msgstr "Usa la instrucción compare bytes de PowerPC V2.05"
 +msgstr "Usa la instrucción compare bytes de PowerPC V2.05."
  
  #: config/rs6000/rs6000.opt:137
- #, fuzzy
- #| msgid "Use extended PowerPC V2.05 move floating point to/from GPR instructions"
+-#, fuzzy
+-#| msgid "Use extended PowerPC V2.05 move floating point to/from GPR instructions"
  msgid "Use extended PowerPC V2.05 move floating point to/from GPR instructions."
 -msgstr "Usa las instrucciones GPR to/from move de coma flotante de PowerPC V2.05"
 +msgstr "Usa las instrucciones GPR to/from move de coma flotante de PowerPC V2.05."
  
  #: config/rs6000/rs6000.opt:141
- #, fuzzy
- #| msgid "Use AltiVec instructions"
+-#, fuzzy
+-#| msgid "Use AltiVec instructions"
  msgid "Use AltiVec instructions."
 -msgstr "Usa las instrucciones AltiVec"
 +msgstr "Usa las instrucciones AltiVec."
  
  #: config/rs6000/rs6000.opt:145
- #, fuzzy
- #| msgid "Generate code in little endian mode"
+-#, fuzzy
+-#| msgid "Generate code in little endian mode"
  msgid "Generate Altivec instructions using little-endian element order."
 -msgstr "Genera código en modo little endian"
-+msgstr "Genera código en modo little endian."
++msgstr "Genera código instrucciones Altivec usando orden de elementos little endian."
  
  #: config/rs6000/rs6000.opt:149
- #, fuzzy
- #| msgid "Generate VRSAVE instructions when generating AltiVec code"
+-#, fuzzy
+-#| msgid "Generate VRSAVE instructions when generating AltiVec code"
  msgid "Generate Altivec instructions using big-endian element order."
 -msgstr "Genera instrucciones VRSAVE cuando se genere código AltiVec"
-+msgstr "Genera instrucciones VRSAVE cuando se genere código AltiVec."
++msgstr "Genera instrucciones Altivec usando orden de elementos big endian."
  
  #: config/rs6000/rs6000.opt:153
- #, fuzzy
- #| msgid "Use decimal floating point instructions"
+-#, fuzzy
+-#| msgid "Use decimal floating point instructions"
  msgid "Use decimal floating point instructions."
 -msgstr "Usa instrucciones de coma flotante decimal"
 +msgstr "Usa instrucciones de coma flotante decimal."
  
  #: config/rs6000/rs6000.opt:157
- #, fuzzy
- #| msgid "Use 4xx half-word multiply instructions"
+-#, fuzzy
+-#| msgid "Use 4xx half-word multiply instructions"
  msgid "Use 4xx half-word multiply instructions."
 -msgstr "Usa las instrucciones de multiplicación half-word 4xx"
 +msgstr "Usa las instrucciones de multiplicación half-word 4xx."
  
  #: config/rs6000/rs6000.opt:161
- #, fuzzy
- #| msgid "Use 4xx string-search dlmzb instruction"
+-#, fuzzy
+-#| msgid "Use 4xx string-search dlmzb instruction"
  msgid "Use 4xx string-search dlmzb instruction."
 -msgstr "Usa la instrucción dlmzb de búsqueda de cadena 4xx"
 +msgstr "Usa la instrucción dlmzb de búsqueda de cadena 4xx."
  
  #: config/rs6000/rs6000.opt:165
- #, fuzzy
- #| msgid "Generate load/store multiple instructions"
+-#, fuzzy
+-#| msgid "Generate load/store multiple instructions"
  msgid "Generate load/store multiple instructions."
 -msgstr "Genera múltiples instrucciones load/store"
 +msgstr "Genera múltiples instrucciones load/store."
  
  #: config/rs6000/rs6000.opt:169
- #, fuzzy
- #| msgid "Generate string instructions for block moves"
+-#, fuzzy
+-#| msgid "Generate string instructions for block moves"
  msgid "Generate string instructions for block moves."
 -msgstr "Genera instrucciones de cadena para movimiento de bloques"
 +msgstr "Genera instrucciones de cadena para movimiento de bloques."
  
  #: config/rs6000/rs6000.opt:181
- #, fuzzy
- #| msgid "Use PowerPC V2.06 popcntd instruction"
+-#, fuzzy
+-#| msgid "Use PowerPC V2.06 popcntd instruction"
  msgid "Use PowerPC V2.06 popcntd instruction."
 -msgstr "Usa la instrucción popcntd de PowerPC V2.06"
 +msgstr "Usa la instrucción popcntd de PowerPC V2.06."
  
  #: config/rs6000/rs6000.opt:185
- #, fuzzy
- #| msgid "Under -ffast-math, generate a FRIZ instruction for (double)(long long) conversions"
+-#, fuzzy
+-#| msgid "Under -ffast-math, generate a FRIZ instruction for (double)(long long) conversions"
  msgid "Under -ffast-math, generate a FRIZ instruction for (double)(long long) conversions."
 -msgstr "Con -ffast-math, genera una instrucción FRIZ para conversiones (double)(long long)"
 +msgstr "Con -ffast-math, genera una instrucción FRIZ para conversiones (double)(long long)."
  
  #: config/rs6000/rs6000.opt:193
- #, fuzzy
- #| msgid "Use vector/scalar (VSX) instructions"
+-#, fuzzy
+-#| msgid "Use vector/scalar (VSX) instructions"
  msgid "Use vector/scalar (VSX) instructions."
 -msgstr "Usa instrucciones (VSX) vector/escalar"
 +msgstr "Usa instrucciones (VSX) vector/escalar."
  
  #: config/rs6000/rs6000.opt:240
- #, fuzzy
- #| msgid "Do not generate load/store with update instructions"
+-#, fuzzy
+-#| msgid "Do not generate load/store with update instructions"
  msgid "Do not generate load/store with update instructions."
 -msgstr "No genera load/store con instrucciones de actualización"
 +msgstr "No genera load/store con instrucciones de actualización."
  
  #: config/rs6000/rs6000.opt:244
- #, fuzzy
- #| msgid "Generate load/store with update instructions"
+-#, fuzzy
+-#| msgid "Generate load/store with update instructions"
  msgid "Generate load/store with update instructions."
 -msgstr "Genera load/store con instrucciones de actualización"
 +msgstr "Genera load/store con instrucciones de actualización."
  
  #: config/rs6000/rs6000.opt:252
- #, fuzzy
- #| msgid "Avoid generation of indexed load/store instructions when possible"
+-#, fuzzy
+-#| msgid "Avoid generation of indexed load/store instructions when possible"
  msgid "Avoid generation of indexed load/store instructions when possible."
 -msgstr "Evita la generación de instrucciones indizadas load/store cuando sea posible"
-+msgstr "Evita la generación de instrucciones indizadas load/store cuando sea posible."
++msgstr "Evita la generación de instrucciones indexadas load/store cuando sea posible."
  
  #: config/rs6000/rs6000.opt:256
- #, fuzzy
- #| msgid "Mark __tls_get_addr calls with argument info"
+-#, fuzzy
+-#| msgid "Mark __tls_get_addr calls with argument info"
  msgid "Mark __tls_get_addr calls with argument info."
 -msgstr "Marca las llamadas __tls_get_addr con información de argumentos"
 +msgstr "Marca las llamadas __tls_get_addr con información de argumentos."
  
  #: config/rs6000/rs6000.opt:263
- #, fuzzy
- #| msgid "Schedule the start and end of the procedure"
+-#, fuzzy
+-#| msgid "Schedule the start and end of the procedure"
  msgid "Schedule the start and end of the procedure."
 -msgstr "Calendariza el inicio y el final del procedimiento"
-+msgstr "Calendariza el inicio y el final del procedimiento."
++msgstr "Planifica el inicio y el final del procedimiento."
  
  #: config/rs6000/rs6000.opt:267
- #, fuzzy
- #| msgid "Return all structures in memory (AIX default)"
+-#, fuzzy
+-#| msgid "Return all structures in memory (AIX default)"
  msgid "Return all structures in memory (AIX default)."
 -msgstr "Devuelve todas las estructuras en memoria (por defecto en AIX)"
 +msgstr "Devuelve todas las estructuras en memoria (por defecto en AIX)."
  
  #: config/rs6000/rs6000.opt:271
- #, fuzzy
- #| msgid "Return small structures in registers (SVR4 default)"
+-#, fuzzy
+-#| msgid "Return small structures in registers (SVR4 default)"
  msgid "Return small structures in registers (SVR4 default)."
 -msgstr "Devuelve las estructuras pequeñas en registros (por defecto en SVR4)"
 +msgstr "Devuelve las estructuras pequeñas en registros (por defecto en SVR4)."
  
  #: config/rs6000/rs6000.opt:275
- #, fuzzy
- #| msgid "Conform more closely to IBM XLC semantics"
+-#, fuzzy
+-#| msgid "Conform more closely to IBM XLC semantics"
  msgid "Conform more closely to IBM XLC semantics."
 -msgstr "Conforma más cerca a la semántica XLC de IBM"
 +msgstr "Conforma más cerca a la semántica XLC de IBM."
  
  #: config/rs6000/rs6000.opt:279 config/rs6000/rs6000.opt:283
  msgid "Generate software reciprocal divide and square root for better throughput."
-@@ -12478,145 +10347,145 @@
- #, fuzzy
- #| msgid "Do not place floating point constants in TOC"
+@@ -12475,148 +10272,100 @@
+ msgstr "Asume que las instrucciones estimadas recíprocas proveen más exactitud."
+ 
+ #: config/rs6000/rs6000.opt:291
+-#, fuzzy
+-#| msgid "Do not place floating point constants in TOC"
  msgid "Do not place floating point constants in TOC."
 -msgstr "No coloca las constantes de coma flotante en TOC"
 +msgstr "No coloca las constantes de coma flotante en TOC."
  
  #: config/rs6000/rs6000.opt:295
- #, fuzzy
- #| msgid "Place floating point constants in TOC"
+-#, fuzzy
+-#| msgid "Place floating point constants in TOC"
  msgid "Place floating point constants in TOC."
 -msgstr "Coloca las constantes de coma flotante en TOC"
 +msgstr "Coloca las constantes de coma flotante en TOC."
  
  #: config/rs6000/rs6000.opt:299
- #, fuzzy
- #| msgid "Do not place symbol+offset constants in TOC"
+-#, fuzzy
+-#| msgid "Do not place symbol+offset constants in TOC"
  msgid "Do not place symbol+offset constants in TOC."
 -msgstr "No coloca las constantes símbolo+desplazamiento en TOC"
 +msgstr "No coloca las constantes símbolo+desplazamiento en TOC."
  
  #: config/rs6000/rs6000.opt:303
- #, fuzzy
- #| msgid "Place symbol+offset constants in TOC"
+-#, fuzzy
+-#| msgid "Place symbol+offset constants in TOC"
  msgid "Place symbol+offset constants in TOC."
 -msgstr "Coloca las constantes símbolo+desplazamiento en TOC"
 +msgstr "Coloca las constantes símbolo+desplazamiento en TOC."
  
  #: config/rs6000/rs6000.opt:314
- #, fuzzy
- #| msgid "Use only one TOC entry per procedure"
+-#, fuzzy
+-#| msgid "Use only one TOC entry per procedure"
  msgid "Use only one TOC entry per procedure."
 -msgstr "Usa sólo una entrada TOC por procedimiento"
 +msgstr "Usa sólo una entrada TOC por procedimiento."
  
  #: config/rs6000/rs6000.opt:318
- #, fuzzy
- #| msgid "Put everything in the regular TOC"
+-#, fuzzy
+-#| msgid "Put everything in the regular TOC"
  msgid "Put everything in the regular TOC."
 -msgstr "Coloca todo en la TOC normal"
 +msgstr "Coloca todo en la TOC normal."
  
  #: config/rs6000/rs6000.opt:322
- #, fuzzy
- #| msgid "Generate VRSAVE instructions when generating AltiVec code"
+-#, fuzzy
+-#| msgid "Generate VRSAVE instructions when generating AltiVec code"
  msgid "Generate VRSAVE instructions when generating AltiVec code."
 -msgstr "Genera instrucciones VRSAVE cuando se genere código AltiVec"
 +msgstr "Genera instrucciones VRSAVE cuando se genere código AltiVec."
  
  #: config/rs6000/rs6000.opt:326
- #, fuzzy
- #| msgid "Deprecated option.  Use -mno-vrsave instead"
+-#, fuzzy
+-#| msgid "Deprecated option.  Use -mno-vrsave instead"
  msgid "Deprecated option.  Use -mno-vrsave instead."
 -msgstr "Opción obsoleta.  Use en su lugar -mno-vrsave"
 +msgstr "Opción obsoleta.  Use en su lugar -mno-vrsave."
  
  #: config/rs6000/rs6000.opt:330
- #, fuzzy
- #| msgid "Deprecated option.  Use -mvrsave instead"
+-#, fuzzy
+-#| msgid "Deprecated option.  Use -mvrsave instead"
  msgid "Deprecated option.  Use -mvrsave instead."
 -msgstr "Opción obsoleta.  Use en su lugar -mvrsave"
 +msgstr "Opción obsoleta.  Use en su lugar -mvrsave."
  
  #: config/rs6000/rs6000.opt:334
- #, fuzzy
- #| msgid "Specify how many bytes should be moved inline before calling out to memcpy/memmove"
+-#, fuzzy
+-#| msgid "Specify how many bytes should be moved inline before calling out to memcpy/memmove"
  msgid "Specify how many bytes should be moved inline before calling out to memcpy/memmove."
 -msgstr "Especifica cúantos bytes se debe mover en inclusión en línea antes de llamar a memcp/memmove"
-+msgstr "Especifica cúantos bytes se debe mover en inclusión en línea antes de llamar a memcp/memmove."
++msgstr "Especifica cúantos bytes se debe mover en inclusión en línea antes de llamar a memcpy/memmove."
  
  #: config/rs6000/rs6000.opt:338
- #, fuzzy
- #| msgid "Generate isel instructions"
+-#, fuzzy
+-#| msgid "Generate isel instructions"
  msgid "Generate isel instructions."
 -msgstr "Genera instrucciones isel"
 +msgstr "Genera instrucciones isel."
  
  #: config/rs6000/rs6000.opt:342
- #, fuzzy
- #| msgid "Deprecated option.  Use -mno-isel instead"
+-#, fuzzy
+-#| msgid "Deprecated option.  Use -mno-isel instead"
  msgid "Deprecated option.  Use -mno-isel instead."
 -msgstr "Opción obsoleta.  Use en su lugar -mno-isel"
 +msgstr "Opción obsoleta.  Use en su lugar -mno-isel."
  
  #: config/rs6000/rs6000.opt:346
- #, fuzzy
- #| msgid "Deprecated option.  Use -misel instead"
+-#, fuzzy
+-#| msgid "Deprecated option.  Use -misel instead"
  msgid "Deprecated option.  Use -misel instead."
 -msgstr "Opción obsoleta.  Use en su lugar -misel"
 +msgstr "Opción obsoleta.  Use en su lugar -misel."
  
  #: config/rs6000/rs6000.opt:350
- #, fuzzy
- #| msgid "Generate SPE SIMD instructions on E500"
+-#, fuzzy
+-#| msgid "Generate SPE SIMD instructions on E500"
  msgid "Generate SPE SIMD instructions on E500."
 -msgstr "Genera instrucciones SPE SIMD en E500"
 +msgstr "Genera instrucciones SPE SIMD en E500."
  
  #: config/rs6000/rs6000.opt:354
- #, fuzzy
- #| msgid "Generate PPC750CL paired-single instructions"
+-#, fuzzy
+-#| msgid "Generate PPC750CL paired-single instructions"
  msgid "Generate PPC750CL paired-single instructions."
 -msgstr "Genera instrucciones par-sencillo PPC750CL"
 +msgstr "Genera instrucciones par-sencillo PPC750CL."
  
  #: config/rs6000/rs6000.opt:358
- #, fuzzy
- #| msgid "Deprecated option.  Use -mno-spe instead"
+-#, fuzzy
+-#| msgid "Deprecated option.  Use -mno-spe instead"
  msgid "Deprecated option.  Use -mno-spe instead."
 -msgstr "Opción obsoleta.  Use en su lugar -mno-spe"
 +msgstr "Opción obsoleta.  Use en su lugar -mno-spe."
  
  #: config/rs6000/rs6000.opt:362
- #, fuzzy
- #| msgid "Deprecated option.  Use -mspe instead"
+-#, fuzzy
+-#| msgid "Deprecated option.  Use -mspe instead"
  msgid "Deprecated option.  Use -mspe instead."
 -msgstr "Opción obsoleta.  Use en su lugar -mspe"
 +msgstr "Opción obsoleta.  Use en su lugar -mspe."
  
  #: config/rs6000/rs6000.opt:366
- #, fuzzy
- #| msgid "-mdebug=\tEnable debug output"
+-#, fuzzy
+-#| msgid "-mdebug=\tEnable debug output"
  msgid "-mdebug=\tEnable debug output."
 -msgstr "-mdebug=\tActiva la salida de depuración"
 +msgstr "-mdebug=\tActiva la salida de depuración."
  
  #: config/rs6000/rs6000.opt:370
- #, fuzzy
- #| msgid "Use the AltiVec ABI extensions"
+-#, fuzzy
+-#| msgid "Use the AltiVec ABI extensions"
  msgid "Use the AltiVec ABI extensions."
 -msgstr "Usa las extensiones de ABI AltiVec"
 +msgstr "Usa las extensiones de ABI AltiVec."
  
  #: config/rs6000/rs6000.opt:374
- #, fuzzy
- #| msgid "Do not use the AltiVec ABI extensions"
+-#, fuzzy
+-#| msgid "Do not use the AltiVec ABI extensions"
  msgid "Do not use the AltiVec ABI extensions."
 -msgstr "No usa las extensiones de ABI AltiVec"
 +msgstr "No usa las extensiones de ABI AltiVec."
  
  #: config/rs6000/rs6000.opt:378
- #, fuzzy
- #| msgid "Use the SPE ABI extensions"
+-#, fuzzy
+-#| msgid "Use the SPE ABI extensions"
  msgid "Use the SPE ABI extensions."
 -msgstr "Usa las extensiones de ABI SPE"
 +msgstr "Usa las extensiones de ABI SPE."
  
  #: config/rs6000/rs6000.opt:382
- #, fuzzy
- #| msgid "Do not use the SPE ABI extensions"
+-#, fuzzy
+-#| msgid "Do not use the SPE ABI extensions"
  msgid "Do not use the SPE ABI extensions."
 -msgstr "No usa las extensiones de ABI SPE"
 +msgstr "No usa las extensiones de ABI SPE."
  
  #: config/rs6000/rs6000.opt:386
- #, fuzzy
- #| msgid "Use EABI"
+-#, fuzzy
+-#| msgid "Use EABI"
  msgid "Use the ELFv1 ABI."
 -msgstr "Usa EABI"
-+msgstr "Usa EABI."
++msgstr "Usa el ABI ELFv1."
  
  #: config/rs6000/rs6000.opt:390
- #, fuzzy
- #| msgid "Use EABI"
+-#, fuzzy
+-#| msgid "Use EABI"
  msgid "Use the ELFv2 ABI."
 -msgstr "Usa EABI"
-+msgstr "Usa EABI."
++msgstr "Usa el ABI ELFv2."
  
  #: config/rs6000/rs6000.opt:397
  msgid "using darwin64 ABI"
-@@ -12638,49 +10507,49 @@
- #, fuzzy
- #| msgid "-mcpu=\tUse features of and schedule code for given CPU"
+@@ -12635,52 +10384,36 @@
+ msgstr "se usa long double de precisión extendida de IBM"
+ 
+ #: config/rs6000/rs6000.opt:410
+-#, fuzzy
+-#| msgid "-mcpu=\tUse features of and schedule code for given CPU"
  msgid "-mcpu=\tUse features of and schedule code for given CPU."
 -msgstr "-mcpu=\tUsa las características y el código de calendarizador para el CPU dado"
-+msgstr "-mcpu=\tUsa las características y el código de planificador para el CPU dado."
++msgstr "-mcpu=\tUsa las características y el código de planificador para la CPU dada."
  
  #: config/rs6000/rs6000.opt:414
- #, fuzzy
- #| msgid "-mtune=\tSchedule code for given CPU"
+-#, fuzzy
+-#| msgid "-mtune=\tSchedule code for given CPU"
  msgid "-mtune=\tSchedule code for given CPU."
 -msgstr "-mtune=\tCódigo de calendarizador para el CPU dado"
-+msgstr "-mtune=\tCódigo de planificador para el CPU dado."
++msgstr "-mtune=\tCódigo de planificador para la CPU dada."
  
  #: config/rs6000/rs6000.opt:418
- #, fuzzy
- #| msgid "-mtraceback=\tSelect full, part, or no traceback table"
+-#, fuzzy
+-#| msgid "-mtraceback=\tSelect full, part, or no traceback table"
  msgid "-mtraceback=\tSelect full, part, or no traceback table."
 -msgstr "-mtraceback=\tSelecciona la tabla full, part, ó sin traceback"
 +msgstr "-mtraceback=\tSelecciona la tabla full, part, ó sin traceback."
  
  #: config/rs6000/rs6000.opt:434
- #, fuzzy
- #| msgid "Avoid all range limits on call instructions"
+-#, fuzzy
+-#| msgid "Avoid all range limits on call instructions"
  msgid "Avoid all range limits on call instructions."
 -msgstr "Evita todos los límites de rango en las instrucciones de llamadas"
 +msgstr "Evita todos los límites de rango en las instrucciones de llamadas."
  
  #: config/rs6000/rs6000.opt:438
- #, fuzzy
- #| msgid "Generate Cell microcode"
+-#, fuzzy
+-#| msgid "Generate Cell microcode"
  msgid "Generate Cell microcode."
 -msgstr "Genera microcódigo Cell"
 +msgstr "Genera microcódigo Cell."
  
  #: config/rs6000/rs6000.opt:442
- #, fuzzy
- #| msgid "Warn when a Cell microcoded instruction is emitted"
+-#, fuzzy
+-#| msgid "Warn when a Cell microcoded instruction is emitted"
  msgid "Warn when a Cell microcoded instruction is emitted."
 -msgstr "Avisa cuando se emite una instrucción microcodificada Cell"
 +msgstr "Avisa cuando se emite una instrucción microcodificada Cell."
  
  #: config/rs6000/rs6000.opt:446
- #, fuzzy
- #| msgid "Warn about deprecated 'vector long ...' AltiVec type usage"
+-#, fuzzy
+-#| msgid "Warn about deprecated 'vector long ...' AltiVec type usage"
  msgid "Warn about deprecated 'vector long ...' AltiVec type usage."
 -msgstr "Avisa sobre el uso del tipo AltiVec obsoleto 'vector long ...'"
 +msgstr "Avisa sobre el uso del tipo AltiVec obsoleto 'vector long ...'."
  
  #: config/rs6000/rs6000.opt:450
- #, fuzzy
- #| msgid "-mfloat-gprs=\tSelect GPR floating point method"
+-#, fuzzy
+-#| msgid "-mfloat-gprs=\tSelect GPR floating point method"
  msgid "-mfloat-gprs=\tSelect GPR floating point method."
 -msgstr "-mfloat-gprs=\tSelecciona el método de coma flotante GPR"
 +msgstr "-mfloat-gprs=\tSelecciona el método de coma flotante GPR."
  
  #: config/rs6000/rs6000.opt:454
  msgid "Valid arguments to -mfloat-gprs=:"
-@@ -12690,25 +10559,31 @@
- #, fuzzy
- #| msgid "-mlong-double-<n>\tSpecify size of long double (64 or 128 bits)"
+@@ -12687,28 +10420,24 @@
+ msgstr "Argumentos válidos para -mfloat-gprs:"
+ 
+ #: config/rs6000/rs6000.opt:470
+-#, fuzzy
+-#| msgid "-mlong-double-<n>\tSpecify size of long double (64 or 128 bits)"
  msgid "-mlong-double-<n>\tSpecify size of long double (64 or 128 bits)."
 -msgstr "-mlong-double-<n>\tEspecifica el tamaño de long double (64 ó 128 bits)"
 +msgstr "-mlong-double-<n>\tEspecifica el tamaño de long double (64 ó 128 bits)."
  
 +#: config/rs6000/rs6000.opt:474
-+#, fuzzy
-+#| msgid "Enables a register move optimization"
 +msgid "Enable Local Register Allocation."
-+msgstr "Permite una optimización de movimiento de registros."
++msgstr "Permite Local Register Allocation."
 +
  #: config/rs6000/rs6000.opt:478
- #, fuzzy
- #| msgid "Determine which dependences between insns are considered costly"
+-#, fuzzy
+-#| msgid "Determine which dependences between insns are considered costly"
  msgid "Determine which dependences between insns are considered costly."
 -msgstr "Determina cuáles dependencias entre insns se consideran costosas"
 +msgstr "Determina cuáles dependencias entre insns se consideran costosas."
  
  #: config/rs6000/rs6000.opt:482
- #, fuzzy
- #| msgid "Specify which post scheduling nop insertion scheme to apply"
+-#, fuzzy
+-#| msgid "Specify which post scheduling nop insertion scheme to apply"
  msgid "Specify which post scheduling nop insertion scheme to apply."
 -msgstr "Especifica cuál esquema de inserción de nop post calendarizados se debe aplicar"
-+msgstr "Especifica cuál esquema de inserción de nop post calendarizados se debe aplicar."
++msgstr "Especifica cuál esquema de inserción de nop post planificados se debe aplicar."
  
  #: config/rs6000/rs6000.opt:486
- #, fuzzy
- #| msgid "Specify alignment of structure fields default/natural"
+-#, fuzzy
+-#| msgid "Specify alignment of structure fields default/natural"
  msgid "Specify alignment of structure fields default/natural."
 -msgstr "Especifica la alineación de los campos de estructuras default/natural"
 +msgstr "Especifica la alineación de los campos de estructuras default/natural."
  
  #: config/rs6000/rs6000.opt:490
  msgid "Valid arguments to -malign-:"
-@@ -12718,31 +10593,31 @@
- #, fuzzy
- #| msgid "Specify scheduling priority for dispatch slot restricted insns"
+@@ -12715,34 +10444,24 @@
+ msgstr "Argumentos válidos para -malign-:"
+ 
+ #: config/rs6000/rs6000.opt:500
+-#, fuzzy
+-#| msgid "Specify scheduling priority for dispatch slot restricted insns"
  msgid "Specify scheduling priority for dispatch slot restricted insns."
 -msgstr "Especifica la prioridad de calendarización para despachar insns restringidos por ranuras"
 +msgstr "Especifica la prioridad de planificación para despachar insns restringidos por ranuras."
  
  #: config/rs6000/rs6000.opt:504
- #, fuzzy
- #| msgid "Single-precision floating point unit"
+-#, fuzzy
+-#| msgid "Single-precision floating point unit"
  msgid "Single-precision floating point unit."
 -msgstr "Unidad de coma flotante de precisión simple"
 +msgstr "Unidad de coma flotante de precisión simple."
  
  #: config/rs6000/rs6000.opt:508
- #, fuzzy
- #| msgid "Double-precision floating point unit"
+-#, fuzzy
+-#| msgid "Double-precision floating point unit"
  msgid "Double-precision floating point unit."
 -msgstr "Unidad de coma flotante de precisión doble"
 +msgstr "Unidad de coma flotante de precisión doble."
  
  #: config/rs6000/rs6000.opt:512
- #, fuzzy
- #| msgid "Floating point unit does not support divide & sqrt"
+-#, fuzzy
+-#| msgid "Floating point unit does not support divide & sqrt"
  msgid "Floating point unit does not support divide & sqrt."
 -msgstr "La unidad de coma flotante no admite divide & sqrt"
 +msgstr "La unidad de coma flotante no admite divide & sqrt."
  
  #: config/rs6000/rs6000.opt:516
- #, fuzzy
- #| msgid "-mfpu=\tSpecify FP (sp, dp, sp-lite, dp-lite) (implies -mxilinx-fpu)"
+-#, fuzzy
+-#| msgid "-mfpu=\tSpecify FP (sp, dp, sp-lite, dp-lite) (implies -mxilinx-fpu)"
  msgid "-mfpu=\tSpecify FP (sp, dp, sp-lite, dp-lite) (implies -mxilinx-fpu)."
 -msgstr "-mfpu=\tEspecifica FP (sp, dp, sp-lite, dp-lite) (implica -mxilinx-fpu)"
 +msgstr "-mfpu=\tEspecifica FP (sp, dp, sp-lite, dp-lite) (implica -mxilinx-fpu)."
  
  #: config/rs6000/rs6000.opt:538
  msgid "Specify Xilinx FPU."
-@@ -12756,7 +10631,7 @@
- #, fuzzy
- #| msgid "Control whether we save the TOC in the prologue for indirect calls or generate the save inline"
+@@ -12753,358 +10472,281 @@
+ msgstr "Usa/no usa r11 para preservar el enlace estático en llamadas a funciones a través de punteros."
+ 
+ #: config/rs6000/rs6000.opt:546
+-#, fuzzy
+-#| msgid "Control whether we save the TOC in the prologue for indirect calls or generate the save inline"
  msgid "Control whether we save the TOC in the prologue for indirect calls or generate the save inline."
 -msgstr "Controla si se guarda la TOC en el prólogo para llamadas indirectas o genera el save en línea"
 +msgstr "Controla si se guarda la TOC en el prólogo para llamadas indirectas o genera el save en línea."
  
  #: config/rs6000/rs6000.opt:550
  msgid "Allow 128-bit integers in VSX registers."
-@@ -12770,7 +10645,7 @@
- #, fuzzy
- #| msgid "Align destination of the string operations"
+-msgstr ""
++msgstr "Permite enteros de 128 bits en registros VSX."
+ 
+ #: config/rs6000/rs6000.opt:554
+ msgid "Fuse certain integer operations together for better performance on power8."
+-msgstr ""
++msgstr "Fusiona ciertas operaciones de enteros para un mejor rendimiento en power8."
+ 
+ #: config/rs6000/rs6000.opt:558
+-#, fuzzy
+-#| msgid "Align destination of the string operations"
  msgid "Allow sign extension in fusion operations."
 -msgstr "Alínea el destino de las operaciones de cadenas"
-+msgstr "Alinea el destino de las operaciones de cadenas."
++msgstr "Alinea la extensión de signo en las operaciones de fusión."
  
  #: config/rs6000/rs6000.opt:562
  msgid "Use/do not use vector and scalar instructions added in ISA 2.07."
-@@ -12788,13 +10663,13 @@
- #, fuzzy
- #| msgid "Use vector/scalar (VSX) instructions"
+-msgstr ""
++msgstr "Usa/no usa las instrucciones de vectores y escalares añadidas en ISA 2.07."
+ 
+ #: config/rs6000/rs6000.opt:566
+ msgid "Use ISA 2.07 Category:Vector.AES and Category:Vector.SHA2 instructions."
+-msgstr ""
++msgstr "Usa instrucciones ISA 2.07 Category:Vector.AES y Category:Vector.SHA2."
+ 
+ #: config/rs6000/rs6000.opt:570
+ msgid "Use ISA 2.07 direct move between GPR & VSX register instructions."
+-msgstr ""
++msgstr "Usa movimiento directo de ISA 2.07 entre las instrucciones de registro GPR & VSX."
+ 
+ #: config/rs6000/rs6000.opt:574
+-#, fuzzy
+-#| msgid "Use vector/scalar (VSX) instructions"
  msgid "Use ISA 2.07 transactional memory (HTM) instructions."
 -msgstr "Usa instrucciones (VSX) vector/escalar"
-+msgstr "Usa instrucciones (VSX) vector/escalar."
++msgstr "Usa instrucciones de memoria transaccionales (HTM) de ISA 2.07."
  
  #: config/rs6000/rs6000.opt:578
- #, fuzzy
- #| msgid "Generate load/store multiple instructions"
+-#, fuzzy
+-#| msgid "Generate load/store multiple instructions"
  msgid "Generate the quad word memory instructions (lq/stq)."
 -msgstr "Genera múltiples instrucciones load/store"
-+msgstr "Genera múltiples instrucciones load/store."
++msgstr "Genera instrucciones de memoria quad word (lq/stq)."
  
  #: config/rs6000/rs6000.opt:582
  msgid "Generate the quad word memory atomic instructions (lqarx/stqcx)."
-@@ -12824,37 +10699,55 @@
+-msgstr ""
++msgstr "Genera instrucciones atómicas de memoria quad word (lqarx/stqcx)."
+ 
+ #: config/rs6000/rs6000.opt:586
+ msgid "Generate aggregate parameter passing code with at most 64-bit alignment."
+-msgstr ""
++msgstr "Genera parámetros agregados pasando código con alineamiento de 64 bits a lo sumo."
+ 
+ #: config/rs6000/rs6000.opt:590
+ msgid "Allow double variables in upper registers with -mcpu=power7 or -mvsx."
+-msgstr ""
++msgstr "Permite variables double en los registros superiores con -mcpu=power7 o -mvsx."
+ 
+ #: config/rs6000/rs6000.opt:594
+ msgid "Allow float variables in upper registers with -mcpu=power8 or -mpower8-vector."
+-msgstr ""
++msgstr "Permite variables float en los registros superiores con -mcpu=power8 o -mpower8-vector."
+ 
+ #: config/rs6000/rs6000.opt:598
+ msgid "Allow float/double variables in upper registers if cpu allows it."
+-msgstr ""
++msgstr "Permite variables float/double en los registros superiores si la cpu lo permite."
+ 
+ #: config/rs6000/rs6000.opt:602
+ msgid "Analyze and remove doubleword swaps from VSX computations."
+-msgstr ""
++msgstr "Analiza y elimina intercambios de palabra doble en cómputos VSX."
+ 
+ #: config/rs6000/rs6000.opt:606
  msgid "Fuse certain operations together for better performance on power9."
- msgstr ""
+-msgstr ""
++msgstr "Fusiona ciertas operaciones para un mejor rendimiento en power9."
  
 -#: config/rs6000/rs6000.opt:610 config/rs6000/rs6000.opt:614
 -msgid "Use/do not use vector and scalar instructions added in ISA 3.0."
+-msgstr ""
 +#: config/rs6000/rs6000.opt:610
 +msgid "Use/do not use certain scalar instructions added in ISA 3.0."
- msgstr ""
++msgstr "Usa/no usa ciertas instrucciones escalares añadidas en ISA 3.0."
  
 +#: config/rs6000/rs6000.opt:614
-+#, fuzzy
-+#| msgid "Do not use PowerPC instruction set"
 +msgid "Use/do not use vector instructions added in ISA 3.0."
-+msgstr "No usa el conjunto de instrucciones PowerPC."
++msgstr "Usa/no usa instrucciones vectoriales añadidas en ISA 3.0."
 +
  #: config/rs6000/rs6000.opt:618
 +msgid "Use/do not use scalar register+offset memory instructions added in ISA 3.0."
-+msgstr ""
++msgstr "Usa/no usa instrucciones de memoria registro+desplazamiento escalares añadidas en ISA 3.0."
 +
 +#: config/rs6000/rs6000.opt:622
 +msgid "Use/do not use vector register+offset memory instructions added in ISA 3.0."
-+msgstr ""
++msgstr "Usa/no usa instrucciones de memoria registro+desplazamiento vectoriales añadidas en ISA 3.0."
 +
 +#: config/rs6000/rs6000.opt:626
 +msgid "Use/do not use register+offset memory instructions added in ISA 3.0."
-+msgstr ""
++msgstr "Usa/no usa instrucciones de memoria registro+desplazamiento añadidas en ISA 3.0."
 +
 +#: config/rs6000/rs6000.opt:630
  msgid "Use/do not use the new min/max instructions defined in ISA 3.0."
- msgstr ""
+-msgstr ""
++msgstr "Usa/no usa las nuevas instrucciones min/max definidas en ISA 3.0."
  
 -#: config/rs6000/rs6000.opt:622
 +#: config/rs6000/rs6000.opt:634
@@ -46283,433 +47540,478 @@ Index: gcc/po/es.po
 -#: config/rs6000/rs6000.opt:626
 +#: config/rs6000/rs6000.opt:638
  #, fuzzy
- #| msgid "Generate isel instructions"
+-#| msgid "Generate isel instructions"
  msgid "Generate the integer modulo instructions."
 -msgstr "Genera instrucciones isel"
-+msgstr "Genera instrucciones isel."
++msgstr "Genera las instrucciones módulo de enteros."
  
 -#: config/rs6000/rs6000.opt:630
 +#: config/rs6000/rs6000.opt:642
  msgid "Enable/disable IEEE 128-bit floating point via the __float128 keyword."
- msgstr ""
+-msgstr ""
++msgstr "Activa/desactiva coma flotante de 128 bits IEEE mediante la palabra clave __float128."
  
 -#: config/rs6000/rs6000.opt:634
+-#, fuzzy
+-#| msgid "Use decimal floating point instructions"
 +#: config/rs6000/rs6000.opt:646
- #, fuzzy
- #| msgid "Use decimal floating point instructions"
  msgid "Enable/disable using IEEE 128-bit floating point instructions."
 -msgstr "Usa instrucciones de coma flotante decimal"
-+msgstr "Usa instrucciones de coma flotante decimal."
++msgstr "Activa/desactiva el uso de instrucciones de coma flotante de 128 bits IEEE."
  
 -#: config/rs6000/rs6000.opt:638
 +#: config/rs6000/rs6000.opt:650
  msgid "Enable/disable default conversions between __float128 & long double."
- msgstr ""
+-msgstr ""
++msgstr "Activa/desactiva las conversiones predefinidas entre __float128 y long double."
  
-@@ -12862,37 +10755,37 @@
- #, fuzzy
- #| msgid "Select ABI calling convention"
+ #: config/rs6000/sysv4.opt:24
+-#, fuzzy
+-#| msgid "Select ABI calling convention"
  msgid "Select ABI calling convention."
 -msgstr "Selecciona la convención de llamada ABI"
-+msgstr "Selecciona la convención de llamada ABI."
++msgstr "Selecciona el convenio de llamadas ABI."
  
  #: config/rs6000/sysv4.opt:28 config/c6x/c6x.opt:42
- #, fuzzy
- #| msgid "Select method for sdata handling"
+-#, fuzzy
+-#| msgid "Select method for sdata handling"
  msgid "Select method for sdata handling."
 -msgstr "Selecciona el método para el manejo de sdata"
 +msgstr "Selecciona el método para el manejo de sdata."
  
  #: config/rs6000/sysv4.opt:48 config/rs6000/sysv4.opt:52
- #, fuzzy
- #| msgid "Align to the base type of the bit-field"
+-#, fuzzy
+-#| msgid "Align to the base type of the bit-field"
  msgid "Align to the base type of the bit-field."
 -msgstr "Alínea al tipo base del campo de bit"
-+msgstr "Alinea al tipo base del campo de bit."
++msgstr "Alinea al tipo base del campo de bits."
  
  #: config/rs6000/sysv4.opt:57 config/rs6000/sysv4.opt:61
- #, fuzzy
- #| msgid "Produce code relocatable at runtime"
+-#, fuzzy
+-#| msgid "Produce code relocatable at runtime"
  msgid "Produce code relocatable at runtime."
 -msgstr "Produce código reubicable en el momento de ejecución"
-+msgstr "Produce código reubicable en el momento de ejecución."
++msgstr "Produce código reubicable en tiempo de ejecución."
  
  #: config/rs6000/sysv4.opt:65 config/rs6000/sysv4.opt:69
- #, fuzzy
- #| msgid "Produce little endian code"
+-#, fuzzy
+-#| msgid "Produce little endian code"
  msgid "Produce little endian code."
 -msgstr "Produce código little endian"
 +msgstr "Produce código little endian."
  
  #: config/rs6000/sysv4.opt:73 config/rs6000/sysv4.opt:77
- #, fuzzy
- #| msgid "Produce big endian code"
+-#, fuzzy
+-#| msgid "Produce big endian code"
  msgid "Produce big endian code."
 -msgstr "Produce código big endian"
 +msgstr "Produce código big endian."
  
  #: config/rs6000/sysv4.opt:82 config/rs6000/sysv4.opt:86
  #: config/rs6000/sysv4.opt:95 config/rs6000/sysv4.opt:137
-@@ -12900,211 +10793,211 @@
- #, fuzzy
- #| msgid "no description yet"
+ #: config/rs6000/sysv4.opt:149
+-#, fuzzy
+-#| msgid "no description yet"
  msgid "no description yet."
 -msgstr "sin descripción aún"
 +msgstr "sin descripción aún."
  
  #: config/rs6000/sysv4.opt:90
- #, fuzzy
- #| msgid "Assume all variable arg functions are prototyped"
+-#, fuzzy
+-#| msgid "Assume all variable arg functions are prototyped"
  msgid "Assume all variable arg functions are prototyped."
 -msgstr "Asume que todas las funciones de argumentos variables tienen prototipos"
-+msgstr "Asume que todas las funciones de argumentos variables tienen prototipos."
++msgstr "Asume que todas las funciones de argumentos variables tienen prototipo."
  
  #: config/rs6000/sysv4.opt:99
- #, fuzzy
- #| msgid "Use EABI"
+-#, fuzzy
+-#| msgid "Use EABI"
  msgid "Use EABI."
 -msgstr "Usa EABI"
 +msgstr "Usa EABI."
  
  #: config/rs6000/sysv4.opt:103
- #, fuzzy
- #| msgid "Allow bit-fields to cross word boundaries"
+-#, fuzzy
+-#| msgid "Allow bit-fields to cross word boundaries"
  msgid "Allow bit-fields to cross word boundaries."
 -msgstr "Permite que los campos de bits crucen los límites de word"
 +msgstr "Permite que los campos de bits crucen los límites de word."
  
  #: config/rs6000/sysv4.opt:107
- #, fuzzy
- #| msgid "Use alternate register names"
+-#, fuzzy
+-#| msgid "Use alternate register names"
  msgid "Use alternate register names."
 -msgstr "Usa nombres de registro alternativos"
 +msgstr "Usa nombres de registro alternativos."
  
  #: config/rs6000/sysv4.opt:113
- #, fuzzy
- #| msgid "Use default method for sdata handling"
+-#, fuzzy
+-#| msgid "Use default method for sdata handling"
  msgid "Use default method for sdata handling."
 -msgstr "Selecciona el método por defecto para el manejo de sdata"
-+msgstr "Selecciona el método por defecto para el manejo de sdata."
++msgstr "Selecciona el método predefinido para el manejo de sdata."
  
  #: config/rs6000/sysv4.opt:117
- #, fuzzy
- #| msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-#, fuzzy
+-#| msgid "Link with libsim.a, libc.a and sim-crt0.o"
  msgid "Link with libsim.a, libc.a and sim-crt0.o."
 -msgstr "Enlaza con libsim.a, libc.a y sim-crt0.o"
 +msgstr "Enlaza con libsim.a, libc.a y sim-crt0.o."
  
  #: config/rs6000/sysv4.opt:121
- #, fuzzy
- #| msgid "Link with libads.a, libc.a and crt0.o"
+-#, fuzzy
+-#| msgid "Link with libads.a, libc.a and crt0.o"
  msgid "Link with libads.a, libc.a and crt0.o."
 -msgstr "Enlaza con libads.a, libc.a y crt0.o"
 +msgstr "Enlaza con libads.a, libc.a y crt0.o."
  
  #: config/rs6000/sysv4.opt:125
- #, fuzzy
- #| msgid "Link with libyk.a, libc.a and crt0.o"
+-#, fuzzy
+-#| msgid "Link with libyk.a, libc.a and crt0.o"
  msgid "Link with libyk.a, libc.a and crt0.o."
 -msgstr "Enlaza con libyk.a, libc.a y crt0.o"
 +msgstr "Enlaza con libyk.a, libc.a y crt0.o."
  
  #: config/rs6000/sysv4.opt:129
- #, fuzzy
- #| msgid "Link with libmvme.a, libc.a and crt0.o"
+-#, fuzzy
+-#| msgid "Link with libmvme.a, libc.a and crt0.o"
  msgid "Link with libmvme.a, libc.a and crt0.o."
 -msgstr "Enlaza con libmvme.a, libc.a y crt0.o"
 +msgstr "Enlaza con libmvme.a, libc.a y crt0.o."
  
  #: config/rs6000/sysv4.opt:133
- #, fuzzy
- #| msgid "Set the PPC_EMB bit in the ELF flags header"
+-#, fuzzy
+-#| msgid "Set the PPC_EMB bit in the ELF flags header"
  msgid "Set the PPC_EMB bit in the ELF flags header."
 -msgstr "Establece el bit PPC_EMB en las banderas del encabezado ELF"
 +msgstr "Establece el bit PPC_EMB en las banderas del encabezado ELF."
  
  #: config/rs6000/sysv4.opt:153
- #, fuzzy
- #| msgid "Generate code to use a non-exec PLT and GOT"
+-#, fuzzy
+-#| msgid "Generate code to use a non-exec PLT and GOT"
  msgid "Generate code to use a non-exec PLT and GOT."
 -msgstr "Genera código para usar un PTL y GOT no ejecutables"
 +msgstr "Genera código para usar un PTL y GOT no ejecutables."
  
  #: config/rs6000/sysv4.opt:157
- #, fuzzy
- #| msgid "Generate code for old exec BSS PLT"
+-#, fuzzy
+-#| msgid "Generate code for old exec BSS PLT"
  msgid "Generate code for old exec BSS PLT."
 -msgstr "Genera código para ejecutables BSS PLT antiguos"
 +msgstr "Genera código para ejecutables BSS PLT antiguos."
  
  #: config/alpha/alpha.opt:27
- #, fuzzy
- #| msgid "Use fp registers"
+-#, fuzzy
+-#| msgid "Use fp registers"
  msgid "Use fp registers."
 -msgstr "Usa registros fp"
 +msgstr "Usa registros fp."
  
  #: config/alpha/alpha.opt:35
- #, fuzzy
- #| msgid "Request IEEE-conformant math library routines (OSF/1)"
+-#, fuzzy
+-#| msgid "Request IEEE-conformant math library routines (OSF/1)"
  msgid "Request IEEE-conformant math library routines (OSF/1)."
 -msgstr "Requiere rutinas de biblioteca matemática que cumplan con IEEE (OSF/1)"
 +msgstr "Requiere rutinas de biblioteca matemática que cumplan con IEEE (OSF/1)."
  
  #: config/alpha/alpha.opt:39
- #, fuzzy
- #| msgid "Emit IEEE-conformant code, without inexact exceptions"
+-#, fuzzy
+-#| msgid "Emit IEEE-conformant code, without inexact exceptions"
  msgid "Emit IEEE-conformant code, without inexact exceptions."
 -msgstr "Emite código que cumpla con IEEE, sin excepciones inexactas"
 +msgstr "Emite código que cumpla con IEEE, sin excepciones inexactas."
  
  #: config/alpha/alpha.opt:46
- #, fuzzy
- #| msgid "Do not emit complex integer constants to read-only memory"
+-#, fuzzy
+-#| msgid "Do not emit complex integer constants to read-only memory"
  msgid "Do not emit complex integer constants to read-only memory."
 -msgstr "No emite constantes enteras complejas a memoria de sólo lectura"
 +msgstr "No emite constantes enteras complejas a memoria de sólo lectura."
  
  #: config/alpha/alpha.opt:50
- #, fuzzy
- #| msgid "Use VAX fp"
+-#, fuzzy
+-#| msgid "Use VAX fp"
  msgid "Use VAX fp."
 -msgstr "Usa fp de VAX"
 +msgstr "Usa fp de VAX."
  
  #: config/alpha/alpha.opt:54
- #, fuzzy
- #| msgid "Do not use VAX fp"
+-#, fuzzy
+-#| msgid "Do not use VAX fp"
  msgid "Do not use VAX fp."
 -msgstr "No usa fp de VAX"
 +msgstr "No usa fp de VAX."
  
  #: config/alpha/alpha.opt:58
- #, fuzzy
- #| msgid "Emit code for the byte/word ISA extension"
+-#, fuzzy
+-#| msgid "Emit code for the byte/word ISA extension"
  msgid "Emit code for the byte/word ISA extension."
 -msgstr "Emite código para la extensión ISA byte/word"
 +msgstr "Emite código para la extensión ISA byte/word."
  
  #: config/alpha/alpha.opt:62
- #, fuzzy
- #| msgid "Emit code for the motion video ISA extension"
+-#, fuzzy
+-#| msgid "Emit code for the motion video ISA extension"
  msgid "Emit code for the motion video ISA extension."
 -msgstr "Emite código para la extensión ISA de video en movimiento"
 +msgstr "Emite código para la extensión ISA de video en movimiento."
  
  #: config/alpha/alpha.opt:66
- #, fuzzy
- #| msgid "Emit code for the fp move and sqrt ISA extension"
+-#, fuzzy
+-#| msgid "Emit code for the fp move and sqrt ISA extension"
  msgid "Emit code for the fp move and sqrt ISA extension."
 -msgstr "Emite código para la extensión ISA de move y sqrt de fp"
 +msgstr "Emite código para la extensión ISA de move y sqrt de fp."
  
  #: config/alpha/alpha.opt:70
- #, fuzzy
- #| msgid "Emit code for the counting ISA extension"
+-#, fuzzy
+-#| msgid "Emit code for the counting ISA extension"
  msgid "Emit code for the counting ISA extension."
 -msgstr "Emite código para la extensión ISA de conteo"
 +msgstr "Emite código para la extensión ISA de conteo."
  
  #: config/alpha/alpha.opt:74
- #, fuzzy
- #| msgid "Emit code using explicit relocation directives"
+-#, fuzzy
+-#| msgid "Emit code using explicit relocation directives"
  msgid "Emit code using explicit relocation directives."
 -msgstr "Emite código usando directivas explícitas de reubicación"
 +msgstr "Emite código usando directivas explícitas de reubicación."
  
  #: config/alpha/alpha.opt:78
- #, fuzzy
- #| msgid "Emit 16-bit relocations to the small data areas"
+-#, fuzzy
+-#| msgid "Emit 16-bit relocations to the small data areas"
  msgid "Emit 16-bit relocations to the small data areas."
 -msgstr "Emite reubicaciones de 16-bit a las áreas de datos small"
 +msgstr "Emite reubicaciones de 16-bit a las áreas de datos small."
  
  #: config/alpha/alpha.opt:82
- #, fuzzy
- #| msgid "Emit 32-bit relocations to the small data areas"
+-#, fuzzy
+-#| msgid "Emit 32-bit relocations to the small data areas"
  msgid "Emit 32-bit relocations to the small data areas."
 -msgstr "Emite reubicaciones de 32-bit a las áreas de datos small"
 +msgstr "Emite reubicaciones de 32-bit a las áreas de datos small."
  
  #: config/alpha/alpha.opt:86
- #, fuzzy
- #| msgid "Emit direct branches to local functions"
+-#, fuzzy
+-#| msgid "Emit direct branches to local functions"
  msgid "Emit direct branches to local functions."
 -msgstr "Emite ramificaciones directas a funciones locales"
 +msgstr "Emite ramificaciones directas a funciones locales."
  
  #: config/alpha/alpha.opt:90
- #, fuzzy
- #| msgid "Emit indirect branches to local functions"
+-#, fuzzy
+-#| msgid "Emit indirect branches to local functions"
  msgid "Emit indirect branches to local functions."
 -msgstr "Emite ramificaciones indirectas a funciones locales"
 +msgstr "Emite ramificaciones indirectas a funciones locales."
  
  #: config/alpha/alpha.opt:94
- #, fuzzy
- #| msgid "Emit rdval instead of rduniq for thread pointer"
+-#, fuzzy
+-#| msgid "Emit rdval instead of rduniq for thread pointer"
  msgid "Emit rdval instead of rduniq for thread pointer."
 -msgstr "Emite rdval en lugar de rduniq para un puntero thread"
 +msgstr "Emite rdval en lugar de rduniq para un puntero thread."
  
  #: config/alpha/alpha.opt:106
- #, fuzzy
- #| msgid "Use features of and schedule given CPU"
+-#, fuzzy
+-#| msgid "Use features of and schedule given CPU"
  msgid "Use features of and schedule given CPU."
 -msgstr "Usa las características y el calendarizador del CPU dado"
 +msgstr "Usa las características y el planificador del CPU dado."
  
  #: config/alpha/alpha.opt:110
- #, fuzzy
- #| msgid "Schedule given CPU"
+-#, fuzzy
+-#| msgid "Schedule given CPU"
  msgid "Schedule given CPU."
 -msgstr "Calendariza para el CPU dado"
-+msgstr "Calendariza para el CPU dado."
++msgstr "Planifica para el CPU dado."
  
  #: config/alpha/alpha.opt:114
- #, fuzzy
- #| msgid "Control the generated fp rounding mode"
+-#, fuzzy
+-#| msgid "Control the generated fp rounding mode"
  msgid "Control the generated fp rounding mode."
 -msgstr "Controla el modo de redondeo generado de fp"
 +msgstr "Controla el modo de redondeo generado de fp."
  
  #: config/alpha/alpha.opt:118
- #, fuzzy
- #| msgid "Control the IEEE trap mode"
+-#, fuzzy
+-#| msgid "Control the IEEE trap mode"
  msgid "Control the IEEE trap mode."
 -msgstr "Controla el modo de captura IEEE"
 +msgstr "Controla el modo de captura IEEE."
  
  #: config/alpha/alpha.opt:122
- #, fuzzy
- #| msgid "Control the precision given to fp exceptions"
+-#, fuzzy
+-#| msgid "Control the precision given to fp exceptions"
  msgid "Control the precision given to fp exceptions."
 -msgstr "Controla la precisión dada a las excepciones de fp"
 +msgstr "Controla la precisión dada a las excepciones de fp."
  
  #: config/alpha/alpha.opt:126
- #, fuzzy
- #| msgid "Tune expected memory latency"
+-#, fuzzy
+-#| msgid "Tune expected memory latency"
  msgid "Tune expected memory latency."
 -msgstr "Ajusta la latencia esperada de memoria"
 +msgstr "Ajusta la latencia esperada de memoria."
  
  #: config/tilepro/tilepro.opt:23
  msgid "Compile with 32 bit longs and pointers, which is the only supported"
-@@ -13114,7 +11007,7 @@
- #, fuzzy
- #| msgid "-mcpu=CPU\tUse features of and schedule code for given CPU"
+@@ -13111,10 +10753,8 @@
+ msgstr "Compila con longs y punteros de 32 bit, el cual es el único admitido"
+ 
+ #: config/tilepro/tilepro.opt:28 config/tilegx/tilegx.opt:26
+-#, fuzzy
+-#| msgid "-mcpu=CPU\tUse features of and schedule code for given CPU"
  msgid "-mcpu=CPU\tUse features of and schedule code for given CPU."
 -msgstr "-mcpu=CPU\tUsa las características y el código de calendarizador para el CPU dado"
-+msgstr "-mcpu=CPU\tUsa las características y el código de planificador para el CPU dado."
++msgstr "-mcpu=CPU\tUsa las características y el código de planificador para la CPU dada."
  
  #: config/tilepro/tilepro.opt:32
  msgid "Known TILEPro CPUs (for use with the -mcpu= option):"
-@@ -13124,37 +11017,37 @@
- #, fuzzy
- #| msgid "Enable multiply instructions"
+@@ -13121,120 +10761,94 @@
+ msgstr "CPUs TILEPro conocidos (para uso con la opción -mcpu=):"
+ 
+ #: config/lm32/lm32.opt:24
+-#, fuzzy
+-#| msgid "Enable multiply instructions"
  msgid "Enable multiply instructions."
 -msgstr "Activa las instrucciones multiply"
 +msgstr "Activa las instrucciones multiply."
  
  #: config/lm32/lm32.opt:28
- #, fuzzy
- #| msgid "Enable divide and modulus instructions"
+-#, fuzzy
+-#| msgid "Enable divide and modulus instructions"
  msgid "Enable divide and modulus instructions."
 -msgstr "Activa las instrucciones divide y modulus"
 +msgstr "Activa las instrucciones divide y modulus."
  
  #: config/lm32/lm32.opt:32
- #, fuzzy
- #| msgid "Enable barrel shift instructions"
+-#, fuzzy
+-#| msgid "Enable barrel shift instructions"
  msgid "Enable barrel shift instructions."
 -msgstr "Activa las instrucciones barrel shift"
 +msgstr "Activa las instrucciones barrel shift."
  
  #: config/lm32/lm32.opt:36
- #, fuzzy
- #| msgid "Enable sign extend instructions"
+-#, fuzzy
+-#| msgid "Enable sign extend instructions"
  msgid "Enable sign extend instructions."
 -msgstr "Activa las instrucciones de signo extendido"
 +msgstr "Activa las instrucciones de signo extendido."
  
  #: config/lm32/lm32.opt:40
- #, fuzzy
- #| msgid "Enable user-defined instructions"
+-#, fuzzy
+-#| msgid "Enable user-defined instructions"
  msgid "Enable user-defined instructions."
 -msgstr "Activa las instrucciones definidas por el usuario"
 +msgstr "Activa las instrucciones definidas por el usuario."
  
  #: config/nios2/elf.opt:26
- #, fuzzy
- #| msgid "Link with the fast floating-point library"
+-#, fuzzy
+-#| msgid "Link with the fast floating-point library"
  msgid "Link with a limited version of the C library."
 -msgstr "Enlaza con la biblioteca de coma flotante fast"
-+msgstr "Enlaza con la biblioteca de coma flotante fast."
++msgstr "Enlaza con una versión limitada de la biblioteca de C."
  
  #: config/nios2/elf.opt:30
  msgid "Name of system library to link against."
-@@ -13176,7 +11069,7 @@
- #, fuzzy
- #| msgid "Enable clip instructions"
+-msgstr ""
++msgstr "Nombre de la biblioteca del sistema con la que enlazar."
+ 
+ #: config/nios2/elf.opt:34
+ msgid "Name of the startfile."
+-msgstr ""
++msgstr "Nombre del fichero de inicio."
+ 
+ #: config/nios2/elf.opt:38
+ msgid "Link with HAL BSP."
+-msgstr ""
++msgstr "Enlaza con HAL BSP."
+ 
+ #: config/nios2/nios2.opt:35
+ msgid "Enable DIV, DIVU."
+-msgstr ""
++msgstr "Activa DIV, DIVU."
+ 
+ #: config/nios2/nios2.opt:39
+-#, fuzzy
+-#| msgid "Enable clip instructions"
  msgid "Enable MUL instructions."
 -msgstr "Activa las instrucciones clip"
-+msgstr "Activa las instrucciones clip."
++msgstr "Activa las instrucciones MUL."
  
  #: config/nios2/nios2.opt:43
  msgid "Enable MULX instructions, assume fast shifter."
-@@ -13186,19 +11079,19 @@
- #, fuzzy
- #| msgid "Use the software emulation for divides (default)"
+-msgstr ""
++msgstr "Activa las instrucciones MULX, asume desplazador rápido."
+ 
+ #: config/nios2/nios2.opt:47
+-#, fuzzy
+-#| msgid "Use the software emulation for divides (default)"
  msgid "Use table based fast divide (default at -O3)."
 -msgstr "Usa la emulación de división por software (por defecto)"
-+msgstr "Usa la emulación de división por software (por defecto)."
++msgstr "Usa la división rápida basada en tablas (lo predefinido con -O3)."
  
  #: config/nios2/nios2.opt:51
- #, fuzzy
- #| msgid "Enable unaligned load/store instruction"
+-#, fuzzy
+-#| msgid "Enable unaligned load/store instruction"
  msgid "All memory accesses use I/O load/store instructions."
 -msgstr "Activa la instrucción load/store sin alineación"
-+msgstr "Activa la instrucción load/store sin alineación."
++msgstr "Todos los accesos a memoria usan instrucciones load/store de E/S."
  
  #: config/nios2/nios2.opt:55
- #, fuzzy
- #| msgid "Enable unaligned load/store instruction"
+-#, fuzzy
+-#| msgid "Enable unaligned load/store instruction"
  msgid "Volatile memory accesses use I/O load/store instructions."
 -msgstr "Activa la instrucción load/store sin alineación"
-+msgstr "Activa la instrucción load/store sin alineación."
++msgstr "Los accesos a memoria volátil usan instrucciones load/store de E/S."
  
  #: config/nios2/nios2.opt:59
  msgid "Volatile memory accesses do not use I/O load/store instructions."
-@@ -13208,7 +11101,7 @@
- #, fuzzy
- #| msgid "unusual TP-relative address"
+-msgstr ""
++msgstr "Los accesos a memoria volátil no usan instrucciones load/store de E/S."
+ 
+ #: config/nios2/nios2.opt:63
+-#, fuzzy
+-#| msgid "unusual TP-relative address"
  msgid "Enable/disable GP-relative addressing."
 -msgstr "dirección relativa a TP inusual"
-+msgstr "dirección relativa a TP inusual."
++msgstr "Activa/desactiva direccionamiento relativo a GP."
  
  #: config/nios2/nios2.opt:67
  msgid "Valid options for GP-relative addressing (for -mgpopt):"
-@@ -13227,7 +11120,7 @@
- #, fuzzy
- #| msgid "Use big-endian byte order"
+-msgstr ""
++msgstr "Opciones válidas para direccionamiento relativo a GP (para -mgpopt):"
+ 
+ #: config/nios2/nios2.opt:86
+ msgid "Equivalent to -mgpopt=local."
+-msgstr ""
++msgstr "Equivalente a -mgpopt=local."
+ 
+ #: config/nios2/nios2.opt:90
+ msgid "Equivalent to -mgpopt=none."
+-msgstr ""
++msgstr "Equivalente a -mgpopt=none."
+ 
+ #: config/nios2/nios2.opt:94 config/c6x/c6x.opt:30 config/mep/mep.opt:82
+ #: config/mips/mips.opt:134 config/tilegx/tilegx.opt:45
+-#, fuzzy
+-#| msgid "Use big-endian byte order"
  msgid "Use big-endian byte order."
 -msgstr "Usa el orden de byte big-endian"
 +msgstr "Usa el orden de byte big-endian."
  
  #: config/nios2/nios2.opt:98 config/c6x/c6x.opt:34 config/mep/mep.opt:86
  #: config/mips/mips.opt:138 config/tilegx/tilegx.opt:49
-@@ -13234,7 +11127,7 @@
- #, fuzzy
- #| msgid "Use little-endian byte order"
+-#, fuzzy
+-#| msgid "Use little-endian byte order"
  msgid "Use little-endian byte order."
 -msgstr "Usa el orden de byte little-endian"
 +msgstr "Usa el orden de byte little-endian."
  
  #: config/nios2/nios2.opt:102
  msgid "Floating point custom instruction configuration name."
-@@ -13244,7 +11137,7 @@
+@@ -13244,7 +10858,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the ftruncds custom instruction."
@@ -46718,7 +48020,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:110
  msgid "Integer id (N) of ftruncds custom instruction."
-@@ -13254,7 +11147,7 @@
+@@ -13254,7 +10868,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fextsd custom instruction."
@@ -46727,7 +48029,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:118
  msgid "Integer id (N) of fextsd custom instruction."
-@@ -13264,7 +11157,7 @@
+@@ -13264,7 +10878,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fixdu custom instruction."
@@ -46736,7 +48038,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:126
  msgid "Integer id (N) of fixdu custom instruction."
-@@ -13274,7 +11167,7 @@
+@@ -13274,7 +10888,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fixdi custom instruction."
@@ -46745,7 +48047,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:134
  msgid "Integer id (N) of fixdi custom instruction."
-@@ -13284,7 +11177,7 @@
+@@ -13284,7 +10898,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fixsu custom instruction."
@@ -46754,7 +48056,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:142
  msgid "Integer id (N) of fixsu custom instruction."
-@@ -13294,7 +11187,7 @@
+@@ -13294,7 +10908,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fixsi custom instruction."
@@ -46763,7 +48065,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:150
  msgid "Integer id (N) of fixsi custom instruction."
-@@ -13304,7 +11197,7 @@
+@@ -13304,7 +10918,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the floatud custom instruction."
@@ -46772,7 +48074,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:158
  msgid "Integer id (N) of floatud custom instruction."
-@@ -13314,7 +11207,7 @@
+@@ -13314,7 +10928,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the floatid custom instruction."
@@ -46781,7 +48083,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:166
  msgid "Integer id (N) of floatid custom instruction."
-@@ -13324,7 +11217,7 @@
+@@ -13324,7 +10938,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the floatus custom instruction."
@@ -46790,7 +48092,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:174
  msgid "Integer id (N) of floatus custom instruction."
-@@ -13334,7 +11227,7 @@
+@@ -13334,7 +10948,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the floatis custom instruction."
@@ -46799,7 +48101,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:182
  msgid "Integer id (N) of floatis custom instruction."
-@@ -13344,7 +11237,7 @@
+@@ -13344,7 +10958,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcmpned custom instruction."
@@ -46808,7 +48110,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:190
  msgid "Integer id (N) of fcmpned custom instruction."
-@@ -13354,7 +11247,7 @@
+@@ -13354,7 +10968,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcmpeqd custom instruction."
@@ -46817,7 +48119,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:198
  msgid "Integer id (N) of fcmpeqd custom instruction."
-@@ -13364,7 +11257,7 @@
+@@ -13364,7 +10978,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcmpged custom instruction."
@@ -46826,7 +48128,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:206
  msgid "Integer id (N) of fcmpged custom instruction."
-@@ -13374,7 +11267,7 @@
+@@ -13374,7 +10988,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcmpgtd custom instruction."
@@ -46835,7 +48137,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:214
  msgid "Integer id (N) of fcmpgtd custom instruction."
-@@ -13384,7 +11277,7 @@
+@@ -13384,7 +10998,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcmpled custom instruction."
@@ -46844,7 +48146,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:222
  msgid "Integer id (N) of fcmpled custom instruction."
-@@ -13394,7 +11287,7 @@
+@@ -13394,7 +11008,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcmpltd custom instruction."
@@ -46853,7 +48155,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:230
  msgid "Integer id (N) of fcmpltd custom instruction."
-@@ -13404,7 +11297,7 @@
+@@ -13404,7 +11018,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the flogd custom instruction."
@@ -46862,7 +48164,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:238
  msgid "Integer id (N) of flogd custom instruction."
-@@ -13414,7 +11307,7 @@
+@@ -13414,7 +11028,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fexpd custom instruction."
@@ -46871,7 +48173,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:246
  msgid "Integer id (N) of fexpd custom instruction."
-@@ -13424,7 +11317,7 @@
+@@ -13424,7 +11038,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fatand custom instruction."
@@ -46880,7 +48182,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:254
  msgid "Integer id (N) of fatand custom instruction."
-@@ -13434,7 +11327,7 @@
+@@ -13434,7 +11048,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the ftand custom instruction."
@@ -46889,7 +48191,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:262
  msgid "Integer id (N) of ftand custom instruction."
-@@ -13444,7 +11337,7 @@
+@@ -13444,7 +11058,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fsind custom instruction."
@@ -46898,7 +48200,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:270
  msgid "Integer id (N) of fsind custom instruction."
-@@ -13454,7 +11347,7 @@
+@@ -13454,7 +11068,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcosd custom instruction."
@@ -46907,7 +48209,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:278
  msgid "Integer id (N) of fcosd custom instruction."
-@@ -13464,7 +11357,7 @@
+@@ -13464,7 +11078,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fsqrtd custom instruction."
@@ -46916,7 +48218,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:286
  msgid "Integer id (N) of fsqrtd custom instruction."
-@@ -13474,7 +11367,7 @@
+@@ -13474,7 +11088,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fabsd custom instruction."
@@ -46925,7 +48227,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:294
  msgid "Integer id (N) of fabsd custom instruction."
-@@ -13484,7 +11377,7 @@
+@@ -13484,7 +11098,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fnegd custom instruction."
@@ -46934,7 +48236,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:302
  msgid "Integer id (N) of fnegd custom instruction."
-@@ -13494,7 +11387,7 @@
+@@ -13494,7 +11108,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fmaxd custom instruction."
@@ -46943,7 +48245,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:310
  msgid "Integer id (N) of fmaxd custom instruction."
-@@ -13504,7 +11397,7 @@
+@@ -13504,7 +11118,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fmind custom instruction."
@@ -46952,7 +48254,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:318
  msgid "Integer id (N) of fmind custom instruction."
-@@ -13514,7 +11407,7 @@
+@@ -13514,7 +11128,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fdivd custom instruction."
@@ -46961,7 +48263,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:326
  msgid "Integer id (N) of fdivd custom instruction."
-@@ -13524,7 +11417,7 @@
+@@ -13524,7 +11138,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fmuld custom instruction."
@@ -46970,7 +48272,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:334
  msgid "Integer id (N) of fmuld custom instruction."
-@@ -13534,7 +11427,7 @@
+@@ -13534,7 +11148,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fsubd custom instruction."
@@ -46979,7 +48281,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:342
  msgid "Integer id (N) of fsubd custom instruction."
-@@ -13544,7 +11437,7 @@
+@@ -13544,7 +11158,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the faddd custom instruction."
@@ -46988,7 +48290,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:350
  msgid "Integer id (N) of faddd custom instruction."
-@@ -13554,7 +11447,7 @@
+@@ -13554,7 +11168,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcmpnes custom instruction."
@@ -46997,7 +48299,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:358
  msgid "Integer id (N) of fcmpnes custom instruction."
-@@ -13564,7 +11457,7 @@
+@@ -13564,7 +11178,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcmpeqs custom instruction."
@@ -47006,7 +48308,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:366
  msgid "Integer id (N) of fcmpeqs custom instruction."
-@@ -13574,7 +11467,7 @@
+@@ -13574,7 +11188,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcmpges custom instruction."
@@ -47015,7 +48317,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:374
  msgid "Integer id (N) of fcmpges custom instruction."
-@@ -13584,7 +11477,7 @@
+@@ -13584,7 +11198,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcmpgts custom instruction."
@@ -47024,7 +48326,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:382
  msgid "Integer id (N) of fcmpgts custom instruction."
-@@ -13594,7 +11487,7 @@
+@@ -13594,7 +11208,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcmples custom instruction."
@@ -47033,7 +48335,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:390
  msgid "Integer id (N) of fcmples custom instruction."
-@@ -13604,7 +11497,7 @@
+@@ -13604,7 +11218,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcmplts custom instruction."
@@ -47042,7 +48344,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:398
  msgid "Integer id (N) of fcmplts custom instruction."
-@@ -13614,7 +11507,7 @@
+@@ -13614,7 +11228,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the flogs custom instruction."
@@ -47051,7 +48353,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:406
  msgid "Integer id (N) of flogs custom instruction."
-@@ -13624,7 +11517,7 @@
+@@ -13624,7 +11238,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fexps custom instruction."
@@ -47060,7 +48362,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:414
  msgid "Integer id (N) of fexps custom instruction."
-@@ -13634,7 +11527,7 @@
+@@ -13634,7 +11248,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fatans custom instruction."
@@ -47069,7 +48371,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:422
  msgid "Integer id (N) of fatans custom instruction."
-@@ -13644,7 +11537,7 @@
+@@ -13644,7 +11258,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the ftans custom instruction."
@@ -47078,7 +48380,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:430
  msgid "Integer id (N) of ftans custom instruction."
-@@ -13654,7 +11547,7 @@
+@@ -13654,7 +11268,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fsins custom instruction."
@@ -47087,7 +48389,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:438
  msgid "Integer id (N) of fsins custom instruction."
-@@ -13664,7 +11557,7 @@
+@@ -13664,7 +11278,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fcoss custom instruction."
@@ -47096,7 +48398,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:446
  msgid "Integer id (N) of fcoss custom instruction."
-@@ -13674,7 +11567,7 @@
+@@ -13674,7 +11288,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fsqrts custom instruction."
@@ -47105,7 +48407,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:454
  msgid "Integer id (N) of fsqrts custom instruction."
-@@ -13684,7 +11577,7 @@
+@@ -13684,7 +11298,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fabss custom instr."
@@ -47114,7 +48416,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:462
  msgid "Integer id (N) of fabss custom instruction."
-@@ -13694,7 +11587,7 @@
+@@ -13694,7 +11308,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fnegs custom instruction."
@@ -47123,7 +48425,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:470
  msgid "Integer id (N) of fnegs custom instruction."
-@@ -13704,7 +11597,7 @@
+@@ -13704,7 +11318,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fmaxs custom instruction."
@@ -47132,7 +48434,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:478
  msgid "Integer id (N) of fmaxs custom instruction."
-@@ -13714,7 +11607,7 @@
+@@ -13714,7 +11328,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fmins custom instruction."
@@ -47141,7 +48443,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:486
  msgid "Integer id (N) of fmins custom instruction."
-@@ -13724,7 +11617,7 @@
+@@ -13724,7 +11338,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fdivs custom instruction."
@@ -47150,7 +48452,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:494
  msgid "Integer id (N) of fdivs custom instruction."
-@@ -13734,7 +11627,7 @@
+@@ -13734,7 +11348,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fmuls custom instruction."
@@ -47159,7 +48461,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:502
  msgid "Integer id (N) of fmuls custom instruction."
-@@ -13744,7 +11637,7 @@
+@@ -13744,7 +11358,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fsubs custom instruction."
@@ -47168,7 +48470,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:510
  msgid "Integer id (N) of fsubs custom instruction."
-@@ -13754,7 +11647,7 @@
+@@ -13754,7 +11368,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fadds custom instruction."
@@ -47177,7 +48479,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:518
  msgid "Integer id (N) of fadds custom instruction."
-@@ -13764,7 +11657,7 @@
+@@ -13764,7 +11378,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the frdy custom instruction."
@@ -47186,7 +48488,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:526
  msgid "Integer id (N) of frdy custom instruction."
-@@ -13774,7 +11667,7 @@
+@@ -13774,7 +11388,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the frdxhi custom instruction."
@@ -47195,7 +48497,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:534
  msgid "Integer id (N) of frdxhi custom instruction."
-@@ -13784,7 +11677,7 @@
+@@ -13784,7 +11398,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the frdxlo custom instruction."
@@ -47204,7 +48506,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:542
  msgid "Integer id (N) of frdxlo custom instruction."
-@@ -13794,7 +11687,7 @@
+@@ -13794,7 +11408,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fwry custom instruction."
@@ -47213,7 +48515,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:550
  msgid "Integer id (N) of fwry custom instruction."
-@@ -13804,7 +11697,7 @@
+@@ -13804,7 +11418,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the fwrx custom instruction."
@@ -47222,7 +48524,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:558
  msgid "Integer id (N) of fwrx custom instruction."
-@@ -13814,7 +11707,7 @@
+@@ -13814,7 +11428,7 @@
  #, fuzzy
  #| msgid "Do not use the callt instruction"
  msgid "Do not use the round custom instruction."
@@ -47231,182 +48533,241 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.opt:566
  msgid "Integer id (N) of round custom instruction."
-@@ -13828,13 +11721,13 @@
- #, fuzzy
- #| msgid "Enable saturation instructions"
+@@ -13822,19 +11436,15 @@
+ 
+ #: config/nios2/nios2.opt:574
+ msgid "Valid Nios II ISA levels (for -march):"
+-msgstr ""
++msgstr "Niveles Nios II ISA válidos (para -march):"
+ 
+ #: config/nios2/nios2.opt:584
+-#, fuzzy
+-#| msgid "Enable saturation instructions"
  msgid "Enable generation of R2 BMX instructions."
 -msgstr "Activa las instrucciones de saturación"
-+msgstr "Activa las instrucciones de saturación."
++msgstr "Activa la generación de instrucciones R2 BMX."
  
  #: config/nios2/nios2.opt:588
- #, fuzzy
- #| msgid "Enable saturation instructions"
+-#, fuzzy
+-#| msgid "Enable saturation instructions"
  msgid "Enable generation of R2 CDX instructions."
 -msgstr "Activa las instrucciones de saturación"
-+msgstr "Activa las instrucciones de saturación."
++msgstr "Activa la generación de instrucciones R2 CDX."
  
  #: config/rx/rx.opt:29
  msgid "Store doubles in 64 bits."
-@@ -13910,7 +11803,7 @@
- #, fuzzy
- #| msgid "Enable the use of the short load instructions"
+@@ -13869,8 +11479,6 @@
+ msgstr "Tamaño máximo de las variables global y static que se pueden colocar en el área de datos small."
+ 
+ #: config/rx/rx.opt:93
+-#, fuzzy
+-#| msgid "Generate assembler output that is compatible with the Renesas AS100 assembler.  This may restrict some of the compiler's capabilities.  The default is to generate GAS compatable syntax."
+ msgid "Generate assembler output that is compatible with the Renesas AS100 assembler.  This may restrict some of the compiler's capabilities.  The default is to generate GAS compatible syntax."
+ msgstr "Genera salida de ensamblador que es compatible con el ensamblador AS100 de Renesas.  Esto puede restringir algunas de las capacidades del compilador.  Por defecto se genera sintaxis compatible con GAS."
+ 
+@@ -13896,67 +11504,51 @@
+ 
+ #: config/rx/rx.opt:129
+ msgid "Warn when multiple, different, fast interrupt handlers are in the compilation unit."
+-msgstr ""
++msgstr "Avisa cuando hay múltiples y distintos manejadores de interrupciones rápidos en la unidad de compilación."
+ 
+ #: config/rx/rx.opt:135
+ msgid "Enable the use of the old, broken, ABI where all stacked function arguments are aligned to 32-bits."
+-msgstr ""
++msgstr "Activa el uso del ABI antiguo y roto donde todos los argumentos de función apilados estén alineados a 32 bits."
+ 
+ #: config/rx/rx.opt:139
+ msgid "Enable the use the standard RX ABI where all stacked function arguments are naturally aligned.  This is the default."
+-msgstr ""
++msgstr "Activa el uso del RX ABI estándar donde todos los argumentos de función apilados estén alineados de forma natural.  Esto es lo predefinido."
+ 
+ #: config/rx/rx.opt:145
+-#, fuzzy
+-#| msgid "Enable the use of the short load instructions"
  msgid "Enable the use of the LRA register allocator."
 -msgstr "Activa el uso de las instrucciones short load"
-+msgstr "Activa el uso de las instrucciones short load."
++msgstr "Activa el uso del asignador de registros LRA."
  
  #: config/rx/rx.opt:151
  msgid "Enables or disables the use of the SMOVF, SMOVB, SMOVU, SUNTIL, SWHILE and RMPA instructions.  Enabled by default."
-@@ -13920,37 +11813,37 @@
- #, fuzzy
- #| msgid "Always generate long calls"
+-msgstr ""
++msgstr "Activa o desactiva el uso de las instrucciones SMOVF, SMOVB, SMOVU, SUNTIL, SWHILE y RMPA.  Activado por defecto."
+ 
+ #: config/rx/rx.opt:157
+-#, fuzzy
+-#| msgid "Always generate long calls"
  msgid "Always use JSR, never BSR, for calls."
 -msgstr "Genera siempre llamadas long"
-+msgstr "Genera siempre llamadas long."
++msgstr "Usa siempre JSR, nunca BSR, para llamadas."
  
  #: config/visium/visium.opt:25
- #, fuzzy
- #| msgid "Link with libyk.a, libc.a and crt0.o"
+-#, fuzzy
+-#| msgid "Link with libyk.a, libc.a and crt0.o"
  msgid "Link with libc.a and libdebug.a."
 -msgstr "Enlaza con libyk.a, libc.a y crt0.o"
-+msgstr "Enlaza con libyk.a, libc.a y crt0.o."
++msgstr "Enlaza con libc.a y libdebug.a."
  
  #: config/visium/visium.opt:29
- #, fuzzy
- #| msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-#, fuzzy
+-#| msgid "Link with libsim.a, libc.a and sim-crt0.o"
  msgid "Link with libc.a and libsim.a."
 -msgstr "Enlaza con libsim.a, libc.a y sim-crt0.o"
-+msgstr "Enlaza con libsim.a, libc.a y sim-crt0.o."
++msgstr "Enlaza con libc.a y libsim.a."
  
  #: config/visium/visium.opt:33
- #, fuzzy
- #| msgid "Use hardware FP"
+-#, fuzzy
+-#| msgid "Use hardware FP"
  msgid "Use hardware FP (default)."
 -msgstr "Usa FP de hardware"
-+msgstr "Usa FP de hardware."
++msgstr "Usa FP de hardware (predeterminado)."
  
  #: config/visium/visium.opt:65
- #, fuzzy
- #| msgid "Generate code for CR16C+ architecture (Default)"
+-#, fuzzy
+-#| msgid "Generate code for CR16C+ architecture (Default)"
  msgid "Generate code for the supervisor mode (default)."
 -msgstr "Genera código para la arquitectura CR16C+ (Por defecto)"
-+msgstr "Genera código para la arquitectura CR16C+ (Por defecto)."
++msgstr "Genera código para el modo supervisor (predeterminado)."
  
  #: config/visium/visium.opt:69
- #, fuzzy
- #| msgid "Generate code for the Boehm GC"
+-#, fuzzy
+-#| msgid "Generate code for the Boehm GC"
  msgid "Generate code for the user mode."
 -msgstr "Genera código para el GC de Boehm"
-+msgstr "Genera código para el GC de Boehm."
++msgstr "Genera código para el modo de usuario."
  
  #: config/visium/visium.opt:73
- #, fuzzy
-@@ -13970,49 +11863,49 @@
- #, fuzzy
- #| msgid "Pass -z text to linker"
+-#, fuzzy
+-#| msgid "Does nothing. Preserved for backward compatibility."
+ msgid "Only retained for backward compatibility."
+-msgstr "No hace nada. Preservado por compatibilidad hacia atrás."
++msgstr "Preservado por compatibilidad hacia atrás."
+ 
+ #: config/fused-madd.opt:22
+ msgid "%<-mfused-madd%> is deprecated; use %<-ffp-contract=%> instead"
+@@ -13964,77 +11556,55 @@
+ 
+ #: config/sol2.opt:32
+ msgid "Clear hardware capabilities when linking."
+-msgstr ""
++msgstr "Quita las capacidades del hardware al enlazar."
+ 
+ #: config/sol2.opt:36
+-#, fuzzy
+-#| msgid "Pass -z text to linker"
  msgid "Pass -z text to linker."
 -msgstr "Pasa -z texto al enlazador"
 +msgstr "Pasa -z texto al enlazador."
  
  #: config/moxie/moxie.opt:31
- #, fuzzy
- #| msgid "Enable MPY||ADD and MPY||SUB instructions"
+-#, fuzzy
+-#| msgid "Enable MPY||ADD and MPY||SUB instructions"
  msgid "Enable MUL.X and UMUL.X instructions."
 -msgstr "Activa las instrucciones MPY||ADD y MPY||SUB"
-+msgstr "Activa las instrucciones MPY||ADD y MPY||SUB."
++msgstr "Activa las instrucciones MUL.X y UMUL.X."
  
  #: config/microblaze/microblaze.opt:40
- #, fuzzy
- #| msgid "Use software emulation for floating point (default)"
+-#, fuzzy
+-#| msgid "Use software emulation for floating point (default)"
  msgid "Use software emulation for floating point (default)."
 -msgstr "Usa emulación de software para coma flotante (por defecto)"
 +msgstr "Usa emulación de software para coma flotante (por defecto)."
  
  #: config/microblaze/microblaze.opt:44
- #, fuzzy
- #| msgid "Use hardware floating point instructions"
+-#, fuzzy
+-#| msgid "Use hardware floating point instructions"
  msgid "Use hardware floating point instructions."
 -msgstr "Usa instrucciones de coma flotante por hardware"
 +msgstr "Usa instrucciones de coma flotante por hardware."
  
  #: config/microblaze/microblaze.opt:48
- #, fuzzy
- #| msgid "Use table lookup optimization for small signed integer divisions"
+-#, fuzzy
+-#| msgid "Use table lookup optimization for small signed integer divisions"
  msgid "Use table lookup optimization for small signed integer divisions."
 -msgstr "Usa las optimización de búsqueda de tabla para divisiones enteras small con signo"
-+msgstr "Usa las optimización de búsqueda de tabla para divisiones enteras small con signo."
++msgstr "Usa las optimización de búsqueda en tabla para divisiones de enteros pequeños con signo."
  
  #: config/microblaze/microblaze.opt:52
- #, fuzzy
- #| msgid "-mcpu=PROCESSOR\t\tUse features of and schedule code for given CPU"
+-#, fuzzy
+-#| msgid "-mcpu=PROCESSOR\t\tUse features of and schedule code for given CPU"
  msgid "-mcpu=PROCESSOR\t\tUse features of and schedule code for given CPU."
 -msgstr "-mcpu=PROCESADOR\t\tUsa las características y el código de calendarizador para el CPU dado"
-+msgstr "-mcpu=PROCESADOR\t\tUsa las características y el código de planificador para el CPU dado."
++msgstr "-mcpu=PROCESADOR\t\tUsa las características y el código de planificador para la CPU dada."
  
  #: config/microblaze/microblaze.opt:56
- #, fuzzy
- #| msgid "Don't optimize block moves, use memcpy"
+-#, fuzzy
+-#| msgid "Don't optimize block moves, use memcpy"
  msgid "Don't optimize block moves, use memcpy."
 -msgstr "No optimiza los movimientos de bloques, usa memcpy"
-+msgstr "No optimiza los movimientos de bloques, usa memcpy."
++msgstr "No optimiza los movimientos de bloques; usa memcpy."
  
  #: config/microblaze/microblaze.opt:68
- #, fuzzy
- #| msgid "Use the soft multiply emulation (default)"
+-#, fuzzy
+-#| msgid "Use the soft multiply emulation (default)"
  msgid "Use the soft multiply emulation (default)."
 -msgstr "Usa la emulación de multiplicación por software (por defecto)"
 +msgstr "Usa la emulación de multiplicación por software (por defecto)."
  
  #: config/microblaze/microblaze.opt:72
  msgid "Use reorder instructions (swap and byte reversed load/store) (default)."
-@@ -14022,19 +11915,19 @@
- #, fuzzy
- #| msgid "Use the software emulation for divides (default)"
+-msgstr ""
++msgstr "Usa instrucciones de reordenación (load/store de intercambio y de bytes invertidos) (predeterminado)."
+ 
+ #: config/microblaze/microblaze.opt:76
+-#, fuzzy
+-#| msgid "Use the software emulation for divides (default)"
  msgid "Use the software emulation for divides (default)."
 -msgstr "Usa la emulación de división por software (por defecto)"
 +msgstr "Usa la emulación de división por software (por defecto)."
  
  #: config/microblaze/microblaze.opt:80
- #, fuzzy
- #| msgid "Use the hardware barrel shifter instead of emulation"
+-#, fuzzy
+-#| msgid "Use the hardware barrel shifter instead of emulation"
  msgid "Use the hardware barrel shifter instead of emulation."
 -msgstr "Usa el corredor de barril de hardware en lugar de la emulación"
 +msgstr "Usa el corredor de barril de hardware en lugar de la emulación."
  
  #: config/microblaze/microblaze.opt:84
- #, fuzzy
- #| msgid "Use pattern compare instructions"
+-#, fuzzy
+-#| msgid "Use pattern compare instructions"
  msgid "Use pattern compare instructions."
 -msgstr "Usa instrucciones de comparación de patrones"
 +msgstr "Usa instrucciones de comparación de patrones."
  
  #: config/microblaze/microblaze.opt:87
  #, c-format
-@@ -14045,13 +11938,13 @@
- #, fuzzy
- #| msgid "Check for stack overflow at runtime"
+@@ -14042,16 +11612,12 @@
+ msgstr "%qs es obsoleto; utilice -fstack-check"
+ 
+ #: config/microblaze/microblaze.opt:88
+-#, fuzzy
+-#| msgid "Check for stack overflow at runtime"
  msgid "Check for stack overflow at runtime."
 -msgstr "Revisa desbordamientos de pila en tiempo de ejecución"
 +msgstr "Revisa desbordamientos de pila en tiempo de ejecución."
  
  #: config/microblaze/microblaze.opt:92 config/iq2000/iq2000.opt:65
- #, fuzzy
- #| msgid "Use GP relative sdata/sbss sections"
+-#, fuzzy
+-#| msgid "Use GP relative sdata/sbss sections"
  msgid "Use GP relative sdata/sbss sections."
 -msgstr "Utiliza secciones sdata/sbss relativas a GP"
 +msgstr "Utiliza secciones sdata/sbss relativas a GP."
  
  #: config/microblaze/microblaze.opt:95
  #, c-format
-@@ -14062,49 +11955,49 @@
- #, fuzzy
- #| msgid "Clear the BSS to zero and place zero initialized in BSS"
+@@ -14059,52 +11625,48 @@
+ msgstr "%qs es obsoleto; utilice -fno-zero-initialized-in-bss"
+ 
+ #: config/microblaze/microblaze.opt:96
+-#, fuzzy
+-#| msgid "Clear the BSS to zero and place zero initialized in BSS"
  msgid "Clear the BSS to zero and place zero initialized in BSS."
 -msgstr "Borra el BSS a cero y coloca el cero inicializado en BSS"
 +msgstr "Borra el BSS a cero y coloca el cero inicializado en BSS."
  
  #: config/microblaze/microblaze.opt:100
- #, fuzzy
- #| msgid "Use multiply high instructions for high part of 32x32 multiply"
+-#, fuzzy
+-#| msgid "Use multiply high instructions for high part of 32x32 multiply"
  msgid "Use multiply high instructions for high part of 32x32 multiply."
 -msgstr "Usa instrucciones high de multiplicación para la parte high de la multiplicación 32x32"
 +msgstr "Usa instrucciones high de multiplicación para la parte high de la multiplicación 32x32."
@@ -47455,7 +48816,7 @@ Index: gcc/po/es.po
  
  #: config/microblaze/microblaze.opt:128
  #, fuzzy
-@@ -14116,97 +12009,97 @@
+@@ -14116,97 +11678,97 @@
  #, fuzzy
  #| msgid "Target DFLOAT double precision code"
  msgid "Target DFLOAT double precision code."
@@ -47569,7 +48930,7 @@ Index: gcc/po/es.po
  
  #: config/frv/frv.opt:73
  msgid "Known FR-V CPUs (for use with the -mcpu= option):"
-@@ -14216,223 +12109,223 @@
+@@ -14216,223 +11778,223 @@
  #, fuzzy
  #| msgid "Use fp double instructions"
  msgid "Use fp double instructions."
@@ -47830,7 +49191,7 @@ Index: gcc/po/es.po
  
  #: config/nds32/nds32.opt:42
  #, fuzzy
-@@ -14444,19 +12337,19 @@
+@@ -14444,19 +12006,19 @@
  #, fuzzy
  #| msgid "Generate bit instructions"
  msgid "Generate performance extension instructions."
@@ -47853,7 +49214,7 @@ Index: gcc/po/es.po
  
  #: config/nds32/nds32.opt:58
  msgid "Specify the size of each interrupt vector, which must be 4 or 16."
-@@ -14486,23 +12379,23 @@
+@@ -14486,23 +12048,23 @@
  #, fuzzy
  #| msgid "Warn when all constructors and destructors are private"
  msgid "Enable constructor/destructor feature."
@@ -47881,7 +49242,7 @@ Index: gcc/po/es.po
  
  #: config/iq2000/iq2000.opt:51
  msgid "Known IQ2000 CPUs (for use with the -mcpu= option):"
-@@ -14512,19 +12405,19 @@
+@@ -14512,19 +12074,19 @@
  #, fuzzy
  #| msgid "Use ROM instead of RAM"
  msgid "Use ROM instead of RAM."
@@ -47904,7 +49265,7 @@ Index: gcc/po/es.po
  
  #: config/c6x/c6x-tables.opt:24
  msgid "Known C6X ISAs (for use with the -march= option):"
-@@ -14534,121 +12427,121 @@
+@@ -14534,121 +12096,121 @@
  #, fuzzy
  #| msgid "Valid arguments for the -msdata= option"
  msgid "Valid arguments for the -msdata= option."
@@ -48046,7 +49407,7 @@ Index: gcc/po/es.po
  
  #: config/cris/cris.opt:180
  msgid "Emit traps as \"break 8\", default for CRIS v3 and up.  If disabled, calls to abort() are used."
-@@ -14668,121 +12561,121 @@
+@@ -14668,121 +12230,121 @@
  
  #: config/sh/superh.opt:10
  msgid "Runtime name."
@@ -48188,7 +49549,7 @@ Index: gcc/po/es.po
  
  #: config/sh/sh.opt:128
  msgid "Generate code for SH4 500 series (FPU-less)."
-@@ -14792,139 +12685,139 @@
+@@ -14792,139 +12354,139 @@
  #, fuzzy
  #| msgid "Generate default single-precision SH4 code"
  msgid "Generate default single-precision SH4 code."
@@ -48351,7 +49712,7 @@ Index: gcc/po/es.po
  
  #: config/sh/sh.opt:233
  msgid "Assume that zero displacement conditional branches are fast."
-@@ -14940,7 +12833,7 @@
+@@ -14940,7 +12502,7 @@
  #, fuzzy
  #| msgid "Enable cbranchdi4 pattern"
  msgid "Enable cbranchdi4 pattern."
@@ -48360,7 +49721,7 @@ Index: gcc/po/es.po
  
  #: config/sh/sh.opt:241
  msgid "Emit cmpeqdi_t pattern even when -mcbranchdi is in effect."
-@@ -14954,31 +12847,31 @@
+@@ -14954,31 +12516,31 @@
  #, fuzzy
  #| msgid "Enable SH5 cut2 workaround"
  msgid "Enable SH5 cut2 workaround."
@@ -48397,7 +49758,7 @@ Index: gcc/po/es.po
  
  #: config/sh/sh.opt:269
  msgid "Enable the use of 64-bit floating point registers in fmov instructions.  See -mdalign if 64-bit alignment is required."
-@@ -14988,67 +12881,67 @@
+@@ -14988,67 +12550,67 @@
  #, fuzzy
  #| msgid "Cost to assume for gettr insn"
  msgid "Cost to assume for gettr insn."
@@ -48476,7 +49837,7 @@ Index: gcc/po/es.po
  
  #: config/sh/sh.opt:323
  msgid "Assume pt* instructions won't trap"
-@@ -15058,7 +12951,7 @@
+@@ -15058,7 +12620,7 @@
  #, fuzzy
  #| msgid "Shorten address references during linking"
  msgid "Shorten address references during linking."
@@ -48485,7 +49846,7 @@ Index: gcc/po/es.po
  
  #: config/sh/sh.opt:335
  msgid "Deprecated.  Use -matomic= instead to select the atomic model."
-@@ -15068,7 +12961,7 @@
+@@ -15068,7 +12630,7 @@
  #, fuzzy
  #| msgid "Generate code for built-in atomic operations"
  msgid "Specify the model for atomic operations."
@@ -48494,7 +49855,7 @@ Index: gcc/po/es.po
  
  #: config/sh/sh.opt:343
  msgid "Use tas.b instruction for __atomic_test_and_set."
-@@ -15078,13 +12971,13 @@
+@@ -15078,13 +12640,13 @@
  #, fuzzy
  #| msgid "Deprecated.  Use -Os instead"
  msgid "Deprecated.  Use -Os instead."
@@ -48510,7 +49871,7 @@ Index: gcc/po/es.po
  
  #: config/sh/sh.opt:355
  msgid "Don't generate privileged-mode only code; implies -mno-inline-ic_invalidate if the inline code would not work in user mode."
-@@ -15098,13 +12991,13 @@
+@@ -15098,13 +12660,13 @@
  #, fuzzy
  #| msgid "Enable the use of the short load instructions"
  msgid "Enable the use of the fsca instruction."
@@ -48526,7 +49887,7 @@ Index: gcc/po/es.po
  
  #: config/sh/sh.opt:373
  msgid "Use LRA instead of reload (transitional)."
-@@ -15114,181 +13007,181 @@
+@@ -15114,181 +12676,181 @@
  #, fuzzy
  #| msgid "Assume small address space"
  msgid "Assume small address space."
@@ -48738,7 +50099,7 @@ Index: gcc/po/es.po
  
  #: config/mips/mips.opt:36
  msgid "Known MIPS ABIs (for use with the -mabi= option):"
-@@ -15298,55 +13191,55 @@
+@@ -15298,55 +12860,55 @@
  #, fuzzy
  #| msgid "Generate code that can be used in SVR4-style dynamic objects"
  msgid "Generate code that can be used in SVR4-style dynamic objects."
@@ -48803,7 +50164,7 @@ Index: gcc/po/es.po
  
  #: config/mips/mips.opt:91
  msgid "Valid arguments to -mcode-readable=:"
-@@ -15356,121 +13249,121 @@
+@@ -15356,121 +12918,121 @@
  #, fuzzy
  #| msgid "Use branch-and-break sequences to check for integer divide by zero"
  msgid "Use branch-and-break sequences to check for integer divide by zero."
@@ -48945,7 +50306,7 @@ Index: gcc/po/es.po
  
  #: config/mips/mips.opt:202
  msgid "Conform to the o32 FPXX ABI."
-@@ -15480,13 +13373,13 @@
+@@ -15480,13 +13042,13 @@
  #, fuzzy
  #| msgid "Use 64-bit floating-point registers"
  msgid "Use 64-bit floating-point registers."
@@ -48961,7 +50322,7 @@ Index: gcc/po/es.po
  
  #: config/mips/mips.opt:214
  msgid "-mabs=MODE\tSelect the IEEE 754 ABS/NEG instruction execution mode."
-@@ -15506,31 +13399,31 @@
+@@ -15506,31 +13068,31 @@
  #, fuzzy
  #| msgid "Use 32-bit general registers"
  msgid "Use 32-bit general registers."
@@ -48998,7 +50359,7 @@ Index: gcc/po/es.po
  
  #: config/mips/mips.opt:252
  #, fuzzy
-@@ -15548,121 +13441,121 @@
+@@ -15548,121 +13110,121 @@
  #, fuzzy
  #| msgid "-mipsN\tGenerate code for ISA level N"
  msgid "-mipsN\tGenerate code for ISA level N."
@@ -49140,7 +50501,7 @@ Index: gcc/po/es.po
  
  #: config/mips/mips.opt:340
  msgid "Valid arguments to -mr10k-cache-barrier=:"
-@@ -15672,97 +13565,97 @@
+@@ -15672,97 +13234,97 @@
  #, fuzzy
  #| msgid "Try to allow the linker to turn PIC calls into direct calls"
  msgid "Try to allow the linker to turn PIC calls into direct calls."
@@ -49254,7 +50615,7 @@ Index: gcc/po/es.po
  
  #: config/mips/mips.opt:428
  msgid "Specify the compact branch usage policy."
-@@ -15796,13 +13689,13 @@
+@@ -15796,13 +13358,13 @@
  #, fuzzy
  #| msgid "Use given x86-64 code model"
  msgid "Use given TILE-Gx code model."
@@ -49270,7 +50631,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:30
  #, fuzzy
-@@ -15822,7 +13715,7 @@
+@@ -15822,7 +13384,7 @@
  #, fuzzy
  #| msgid "Same as -mcpu=i386"
  msgid "Same as -mA6."
@@ -49279,7 +50640,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:46
  msgid "Generate ARCompact 32-bit code for ARC601 processor."
-@@ -15836,7 +13729,7 @@
+@@ -15836,7 +13398,7 @@
  #, fuzzy
  #| msgid "Same as -mcpu=i386"
  msgid "Same as -mA7."
@@ -49288,7 +50649,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:58
  msgid "-mmpy-option={0,1,2,3,4,5,6,7,8,9} Compile ARCv2 code with a multiplier design option.  Option 2 is default on."
-@@ -15846,13 +13739,13 @@
+@@ -15846,13 +13408,13 @@
  #, fuzzy
  #| msgid "Enable clip instructions"
  msgid "Enable DIV-REM instructions for ARCv2."
@@ -49304,7 +50665,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:70
  #, fuzzy
-@@ -15868,37 +13761,37 @@
+@@ -15868,37 +13430,37 @@
  #, fuzzy
  #| msgid "Don't use data cache for volatile mem refs"
  msgid "Enable cache bypass for volatile references."
@@ -49348,7 +50709,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:108
  msgid "Generate Extended arithmetic instructions.  Currently only divaw, adds, subs and sat16 are supported."
-@@ -15912,13 +13805,13 @@
+@@ -15912,13 +13474,13 @@
  #, fuzzy
  #| msgid "Generate call insns as indirect calls"
  msgid "Generate call insns as register indirect calls."
@@ -49364,7 +50725,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:124
  msgid "Generate sdata references.  This is the default, unless you compile for PIC."
-@@ -15928,7 +13821,7 @@
+@@ -15928,7 +13490,7 @@
  #, fuzzy
  #| msgid "Do not generate code which uses the FPU"
  msgid "Do not generate millicode thunks (needed only with -Os)."
@@ -49373,7 +50734,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:132 config/arc/arc.opt:136
  msgid "FPX: Generate Single Precision FPX (compact) instructions."
-@@ -15938,7 +13831,7 @@
+@@ -15938,7 +13500,7 @@
  #, fuzzy
  #| msgid "Generate bit instructions"
  msgid "FPX: Generate Single Precision FPX (fast) instructions."
@@ -49382,7 +50743,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:144
  msgid "FPX: Enable Argonaut ARC CPU Double Precision Floating Point extensions."
-@@ -15948,13 +13841,13 @@
+@@ -15948,13 +13510,13 @@
  #, fuzzy
  #| msgid "Generate bit instructions"
  msgid "FPX: Generate Double Precision FPX (compact) instructions."
@@ -49398,7 +50759,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:160
  msgid "Disable LR and SR instructions from using FPX extension aux registers."
-@@ -15968,7 +13861,7 @@
+@@ -15968,7 +13530,7 @@
  #, fuzzy
  #| msgid "-mcpu=CPU\tCompile code for ARC variant CPU"
  msgid "-mcpu=CPU\tCompile code for ARC variant CPU."
@@ -49407,7 +50768,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:205
  msgid "size optimization level: 0:none 1:opportunistic 2: regalloc 3:drop align, -Os."
-@@ -15978,7 +13871,7 @@
+@@ -15978,7 +13540,7 @@
  #, fuzzy
  #| msgid "Cost to assume for a multiply insn"
  msgid "Cost to assume for a multiply instruction, with 4 being equal to a normal insn."
@@ -49416,7 +50777,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:217
  msgid "Tune for ARC600 cpu."
-@@ -16000,7 +13893,7 @@
+@@ -16000,7 +13562,7 @@
  #, fuzzy
  #| msgid "Enable the use of the short load instructions"
  msgid "Enable the use of indexed loads."
@@ -49425,7 +50786,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:245
  msgid "Enable the use of pre/post modify with register displacement."
-@@ -16010,7 +13903,7 @@
+@@ -16010,7 +13572,7 @@
  #, fuzzy
  #| msgid "Generate fused multiply/add instructions"
  msgid "Generate 32x16 multiply and mac instructions."
@@ -49434,7 +50795,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:255
  msgid "Set probability threshold for unaligning branches."
-@@ -16028,7 +13921,7 @@
+@@ -16028,7 +13590,7 @@
  #, fuzzy
  #| msgid "Avoid all range limits on call instructions"
  msgid "Do alignment optimizations for call instructions."
@@ -49443,7 +50804,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:271
  msgid "Enable Rcq constraint handling - most short code generation depends on this."
-@@ -16042,7 +13935,7 @@
+@@ -16042,7 +13604,7 @@
  #, fuzzy
  #| msgid "Enable cbranchdi4 pattern"
  msgid "Enable pre-reload use of cbranchsi pattern."
@@ -49452,7 +50813,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:283
  msgid "Enable bbit peephole2."
-@@ -16056,13 +13949,13 @@
+@@ -16056,13 +13618,13 @@
  #, fuzzy
  #| msgid "Enable cbranchdi4 pattern"
  msgid "Enable compact casesi pattern."
@@ -49468,7 +50829,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:299
  msgid "Expand adddi3 and subdi3 at rtl generation time into add.f / adc etc."
-@@ -16076,7 +13969,7 @@
+@@ -16076,7 +13638,7 @@
  #, fuzzy
  #| msgid "Enable Plan 9 language extensions"
  msgid "Enable DSP 3.1 Pack A extensions."
@@ -49477,7 +50838,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:314
  #, fuzzy
-@@ -16088,7 +13981,7 @@
+@@ -16088,7 +13650,7 @@
  #, fuzzy
  #| msgid "Enable leading zero instructions"
  msgid "Enable Dual and Single Operand Instructions for Telephony."
@@ -49486,7 +50847,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:328
  msgid "Enable XY Memory extension (DSP version 3)."
-@@ -16104,31 +13997,31 @@
+@@ -16104,31 +13666,31 @@
  #, fuzzy
  #| msgid "Enable sign extend instructions"
  msgid "Enable swap byte ordering extension instruction."
@@ -49523,7 +50884,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.opt:357
  msgid "Pass -marclinux_prof option through to linker."
-@@ -16160,181 +14053,181 @@
+@@ -16160,181 +13722,181 @@
  #, fuzzy
  #| msgid "Enable clip instructions"
  msgid "Enable atomic instructions."
@@ -49735,7 +51096,7 @@ Index: gcc/po/es.po
  
  #: lto/lang.opt:28
  #, fuzzy, c-format
-@@ -16366,73 +14259,73 @@
+@@ -16366,73 +13928,73 @@
  #, fuzzy
  #| msgid "The resolution file"
  msgid "The resolution file."
@@ -49821,7 +51182,7 @@ Index: gcc/po/es.po
  
  #: common.opt:546
  msgid "Warn if a loop with constant number of iterations triggers undefined behavior."
-@@ -16442,85 +14335,85 @@
+@@ -16442,85 +14004,85 @@
  #, fuzzy
  #| msgid "Warn if an array is accessed out of bounds"
  msgid "Warn if an array is accessed out of bounds."
@@ -49921,7 +51282,7 @@ Index: gcc/po/es.po
  
  #: common.opt:610
  msgid "Warn when an atomic memory model parameter is known to be outside the valid range."
-@@ -16530,7 +14423,7 @@
+@@ -16530,7 +14092,7 @@
  #, fuzzy
  #| msgid "-Wlarger-than=<number>\tWarn if an object is larger than <number> bytes"
  msgid "-Wlarger-than=<number>\tWarn if an object is larger than <number> bytes."
@@ -49930,7 +51291,7 @@ Index: gcc/po/es.po
  
  #: common.opt:621
  msgid "Warn if comparing pointer parameter with nonnull attribute with NULL."
-@@ -16552,7 +14445,7 @@
+@@ -16552,7 +14114,7 @@
  #, fuzzy
  #| msgid "Warn about overflow in arithmetic expressions"
  msgid "Warn about overflow in arithmetic expressions."
@@ -49939,7 +51300,7 @@ Index: gcc/po/es.po
  
  #: common.opt:644
  msgid "During link time optimization warn about mismatched types of global declarations."
-@@ -16562,73 +14455,73 @@
+@@ -16562,73 +14124,73 @@
  #, fuzzy
  #| msgid "Warn when the packed attribute has no effect on struct layout"
  msgid "Warn when the packed attribute has no effect on struct layout."
@@ -50025,7 +51386,7 @@ Index: gcc/po/es.po
  
  #: common.opt:704
  msgid "Warn about C++ polymorphic types where adding final keyword would improve code quality."
-@@ -16642,115 +14535,115 @@
+@@ -16642,115 +14204,115 @@
  #, fuzzy
  #| msgid "Do not suppress warnings from system headers"
  msgid "Do not suppress warnings from system headers."
@@ -50160,7 +51521,7 @@ Index: gcc/po/es.po
  
  #: common.opt:884
  msgid "The version of the C++ ABI in use."
-@@ -16764,31 +14657,31 @@
+@@ -16764,31 +14326,31 @@
  #, fuzzy
  #| msgid "Align the start of functions"
  msgid "Align the start of functions."
@@ -50197,7 +51558,7 @@ Index: gcc/po/es.po
  
  #: common.opt:940
  msgid "-fasan-shadow-offset=<number>\tUse custom shadow memory offset."
-@@ -16806,7 +14699,7 @@
+@@ -16806,7 +14368,7 @@
  #, fuzzy
  #| msgid "This switch is deprecated; use -Wextra instead"
  msgid "This switch is deprecated; use -fsanitize-recover= instead."
@@ -50206,7 +51567,7 @@ Index: gcc/po/es.po
  
  #: common.opt:957
  msgid "Use trap instead of a library function for undefined behavior sanitization."
-@@ -16816,13 +14709,13 @@
+@@ -16816,13 +14378,13 @@
  #, fuzzy
  #| msgid "Generate unwind tables that are exact at each instruction boundary"
  msgid "Generate unwind tables that are exact at each instruction boundary."
@@ -50222,7 +51583,7 @@ Index: gcc/po/es.po
  
  #: common.opt:969
  msgid "Use sample profile information for call graph node weights. The default"
-@@ -16838,73 +14731,73 @@
+@@ -16838,73 +14400,73 @@
  #, fuzzy
  #| msgid "Generate code to check bounds before indexing arrays"
  msgid "Generate code to check bounds before indexing arrays."
@@ -50308,7 +51669,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1034
  msgid "Looks for opportunities to reduce stack adjustments and stack references."
-@@ -16914,67 +14807,67 @@
+@@ -16914,67 +14476,67 @@
  #, fuzzy
  #| msgid "Do not put uninitialized globals in the common section"
  msgid "Do not put uninitialized globals in the common section."
@@ -50387,7 +51748,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1090
  msgid "List all available debugging counters with their limits and counts."
-@@ -16990,7 +14883,7 @@
+@@ -16990,7 +14552,7 @@
  #, fuzzy
  #| msgid "Map one directory name to another in debug information"
  msgid "Map one directory name to another in debug information."
@@ -50396,7 +51757,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1102
  msgid "Output .debug_types section when using DWARF v4 debuginfo."
-@@ -17000,13 +14893,13 @@
+@@ -17000,13 +14562,13 @@
  #, fuzzy
  #| msgid "Defer popping functions args from stack until later"
  msgid "Defer popping functions args from stack until later."
@@ -50412,7 +51773,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1116
  msgid "Delete dead instructions that may throw exceptions."
-@@ -17016,7 +14909,7 @@
+@@ -17016,7 +14578,7 @@
  #, fuzzy
  #| msgid "Delete useless null pointer checks"
  msgid "Delete useless null pointer checks."
@@ -50421,7 +51782,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1124
  msgid "Stream extra data to support more aggressive devirtualization in LTO local transformation mode."
-@@ -17026,7 +14919,7 @@
+@@ -17026,7 +14588,7 @@
  #, fuzzy
  #| msgid "Perform superblock formation via tail duplication"
  msgid "Perform speculative devirtualization."
@@ -50430,7 +51791,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1132
  msgid "Try to convert virtual calls to direct ones."
-@@ -17036,7 +14929,7 @@
+@@ -17036,7 +14598,7 @@
  #, fuzzy
  #| msgid "-fdiagnostics-show-location=[once|every-line]\tHow often to emit source location at the beginning of line-wrapped diagnostics"
  msgid "-fdiagnostics-show-location=[once|every-line]\tHow often to emit source location at the beginning of line-wrapped diagnostics."
@@ -50439,7 +51800,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1153
  msgid "Show the source line with a caret indicating the column."
-@@ -17050,43 +14943,43 @@
+@@ -17050,43 +14612,43 @@
  #, fuzzy
  #| msgid "Amend appropriate diagnostic messages with the command line option that controls them"
  msgid "Amend appropriate diagnostic messages with the command line option that controls them."
@@ -50490,7 +51851,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1212
  msgid "Collect and dump debug information into temporary file if ICE in C/C++"
-@@ -17100,19 +14993,19 @@
+@@ -17100,19 +14662,19 @@
  #, fuzzy
  #| msgid "Dump optimization passes"
  msgid "Dump optimization passes."
@@ -50513,7 +51874,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1233
  msgid "Enable CFI tables via GAS assembler directives."
-@@ -17122,31 +15015,31 @@
+@@ -17122,31 +14684,31 @@
  #, fuzzy
  #| msgid "Perform early inlining"
  msgid "Perform early inlining."
@@ -50550,7 +51911,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1257
  msgid "Do not suppress C++ class debug information."
-@@ -17156,19 +15049,19 @@
+@@ -17156,19 +14718,19 @@
  #, fuzzy
  #| msgid "Enable exception handling"
  msgid "Enable exception handling."
@@ -50573,7 +51934,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1272
  #, c-format
-@@ -17183,25 +15076,25 @@
+@@ -17183,25 +14745,25 @@
  #, fuzzy
  #| msgid "Assume no NaNs or infinities are generated"
  msgid "Assume no NaNs or infinities are generated."
@@ -50603,7 +51964,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1309
  msgid "-ffp-contract=[off|on|fast] Perform floating-point expression contraction."
-@@ -17216,31 +15109,31 @@
+@@ -17216,31 +14778,31 @@
  #, fuzzy
  #| msgid "Allow function addresses to be held in registers"
  msgid "Allow function addresses to be held in registers."
@@ -50640,7 +52001,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1349
  msgid "Perform redundant load after store elimination in global common subexpression"
-@@ -17260,13 +15153,13 @@
+@@ -17260,13 +14822,13 @@
  #, fuzzy
  #| msgid "Enable in and out of Graphite representation"
  msgid "Enable in and out of Graphite representation."
@@ -50656,7 +52017,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1384
  #, fuzzy
-@@ -17278,7 +15171,7 @@
+@@ -17278,7 +14840,7 @@
  #, fuzzy
  #| msgid "Mark all loops as parallel"
  msgid "Mark all loops as parallel."
@@ -50665,7 +52026,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1397 common.opt:1401 common.opt:1405 common.opt:1409
  #: common.opt:2395
-@@ -17285,13 +15178,13 @@
+@@ -17285,13 +14847,13 @@
  #, fuzzy
  #| msgid "Enable loop interchange transforms.  Same as -floop-interchange"
  msgid "Enable loop nest transforms.  Same as -floop-nest-optimize."
@@ -50681,7 +52042,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1417
  msgid "Use STB_GNU_UNIQUE if supported by the assembler."
-@@ -17301,37 +15194,37 @@
+@@ -17301,37 +14863,37 @@
  #, fuzzy
  #| msgid "Run the loop optimizer twice"
  msgid "Enable the loop nest optimizer."
@@ -50725,7 +52086,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1453
  msgid "-fstack-reuse=[all|named_vars|none] Set stack reuse level for local variables."
-@@ -17347,55 +15240,55 @@
+@@ -17347,55 +14909,55 @@
  #, fuzzy
  #| msgid "Convert conditional jumps in innermost loops to branchless equivalents"
  msgid "Convert conditional jumps in innermost loops to branchless equivalents."
@@ -50790,7 +52151,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1514
  msgid "Inline __atomic operations when a lock free instruction sequence is available."
-@@ -17405,55 +15298,55 @@
+@@ -17405,55 +14967,55 @@
  #, fuzzy
  #| msgid "Instrument function entry and exit with profiling calls"
  msgid "Instrument function entry and exit with profiling calls."
@@ -50855,7 +52216,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1554
  msgid "Perform Identical Code Folding for functions and read-only variables."
-@@ -17471,13 +15364,13 @@
+@@ -17471,13 +15033,13 @@
  #, fuzzy
  #| msgid "Discover readonly and non addressable static variables"
  msgid "Discover readonly and non addressable static variables."
@@ -50871,7 +52232,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1581
  #, c-format
-@@ -17488,7 +15381,7 @@
+@@ -17488,7 +15050,7 @@
  #, fuzzy
  #| msgid "-fira-region=[one|all|mixed] Set regions for IRA"
  msgid "-fira-region=[one|all|mixed] Set regions for IRA."
@@ -50880,7 +52241,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1594
  #, c-format
-@@ -17515,37 +15408,37 @@
+@@ -17515,37 +15077,37 @@
  #, fuzzy
  #| msgid "Optimize induction variables on trees"
  msgid "Optimize induction variables on trees."
@@ -50924,7 +52285,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1657
  msgid "Do CFG-sensitive rematerialization in LRA."
-@@ -17573,7 +15466,7 @@
+@@ -17573,7 +15135,7 @@
  #, fuzzy
  #| msgid "-flto-compression-level=<number>\tUse zlib compression level <number> for IL"
  msgid "-flto-compression-level=<number>\tUse zlib compression level <number> for IL."
@@ -50933,7 +52294,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1696
  msgid "Merge C++ types using One Definition Rule."
-@@ -17583,103 +15476,103 @@
+@@ -17583,103 +15145,103 @@
  #, fuzzy
  #| msgid "Report various link-time optimization statistics"
  msgid "Report various link-time optimization statistics."
@@ -51054,7 +52415,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1770
  #, fuzzy, c-format
-@@ -17705,13 +15598,13 @@
+@@ -17705,13 +15267,13 @@
  #, fuzzy
  #| msgid "When possible do not generate stack frames"
  msgid "When possible do not generate stack frames."
@@ -51070,7 +52431,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1796
  msgid "-fopt-info[-<type>=filename]\tDump compiler optimization details."
-@@ -17721,79 +15614,79 @@
+@@ -17721,79 +15283,79 @@
  #, fuzzy
  #| msgid "Optimize sibling and tail recursive calls"
  msgid "Optimize sibling and tail recursive calls."
@@ -51163,7 +52524,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1860
  msgid "Use PLT for PIC calls (-fno-plt: load the address from GOT at call site)."
-@@ -17803,13 +15696,13 @@
+@@ -17803,13 +15365,13 @@
  #, fuzzy
  #| msgid "Specify a plugin to load"
  msgid "Specify a plugin to load."
@@ -51179,7 +52540,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1872
  msgid "Run predictive commoning optimization."
-@@ -17819,19 +15712,19 @@
+@@ -17819,19 +15381,19 @@
  #, fuzzy
  #| msgid "Generate prefetch instructions, if available, for arrays in loops"
  msgid "Generate prefetch instructions, if available, for arrays in loops."
@@ -51202,7 +52563,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1888
  msgid "Set the top-level directory for storing the profile data."
-@@ -17841,55 +15734,55 @@
+@@ -17841,55 +15403,55 @@
  #, fuzzy
  #| msgid "Enable correction of flow inconsistent profile data input"
  msgid "Enable correction of flow inconsistent profile data input."
@@ -51267,7 +52628,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1938
  msgid "Record gcc command line switches in the object file."
-@@ -17899,7 +15792,7 @@
+@@ -17899,7 +15461,7 @@
  #, fuzzy
  #| msgid "Return small aggregates in registers"
  msgid "Return small aggregates in registers."
@@ -51276,7 +52637,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1950
  msgid "Tell DSE that the storage for a C++ object is dead when the constructor"
-@@ -17909,25 +15802,25 @@
+@@ -17909,25 +15471,25 @@
  #, fuzzy
  #| msgid "Enable register pressure sensitive insn scheduling"
  msgid "Relief of register pressure through live range shrinkage."
@@ -51306,7 +52667,7 @@ Index: gcc/po/es.po
  
  #: common.opt:1974
  msgid "-freorder-blocks-algorithm=[simple|stc] Set the used basic block reordering algorithm."
-@@ -17943,109 +15836,109 @@
+@@ -17943,109 +15505,109 @@
  #, fuzzy
  #| msgid "Reorder basic blocks and partition into hot and cold sections"
  msgid "Reorder basic blocks and partition into hot and cold sections."
@@ -51434,7 +52795,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2070
  msgid "Allow interposing function (or variables) by ones with different semantics (or initializer) respectively by dynamic linker."
-@@ -18055,67 +15948,67 @@
+@@ -18055,67 +15617,67 @@
  #, fuzzy
  #| msgid "Allow premature scheduling of queued insns"
  msgid "Allow premature scheduling of queued insns."
@@ -51513,7 +52874,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2132
  msgid "Turn on Redundant Extensions Elimination pass."
-@@ -18125,7 +16018,7 @@
+@@ -18125,7 +15687,7 @@
  #, fuzzy
  #| msgid "Show column numbers in diagnostics, when available.  Default on"
  msgid "Show column numbers in diagnostics, when available.  Default on."
@@ -51522,7 +52883,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2140
  msgid "Emit function prologues only before parts of the function that need it,"
-@@ -18135,43 +16028,43 @@
+@@ -18135,43 +15697,43 @@
  #, fuzzy
  #| msgid "Disable optimizations observable by IEEE signaling NaNs"
  msgid "Disable optimizations observable by IEEE signaling NaNs."
@@ -51573,7 +52934,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2173
  msgid "Optimize conditional patterns using SSA PHI nodes."
-@@ -18185,73 +16078,73 @@
+@@ -18185,73 +15747,73 @@
  #, fuzzy
  #| msgid "Apply variable expansion when loops are unrolled"
  msgid "Apply variable expansion when loops are unrolled."
@@ -51659,7 +53020,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2240
  msgid "Implement __atomic operations via libcalls to legacy __sync functions."
-@@ -18261,31 +16154,31 @@
+@@ -18261,31 +15823,31 @@
  #, fuzzy
  #| msgid "Check for syntax errors, then stop"
  msgid "Check for syntax errors, then stop."
@@ -51696,7 +53057,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2263
  #, c-format
-@@ -18296,61 +16189,61 @@
+@@ -18296,61 +15858,61 @@
  #, fuzzy
  #| msgid "Reorder top level functions, variables, and asms"
  msgid "Reorder top level functions, variables, and asms."
@@ -51768,7 +53129,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2338
  msgid "Perform conversions of switch initializations."
-@@ -18360,43 +16253,43 @@
+@@ -18360,43 +15922,43 @@
  #, fuzzy
  #| msgid "Enable SSA dead code elimination optimization on trees"
  msgid "Enable SSA dead code elimination optimization on trees."
@@ -51819,7 +53180,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2370
  msgid "Detect paths that trigger erroneous or undefined behavior due to"
-@@ -18410,37 +16303,37 @@
+@@ -18410,37 +15972,37 @@
  #, fuzzy
  #| msgid "Enable loop distribution on trees"
  msgid "Enable loop distribution on trees."
@@ -51863,7 +53224,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2411
  msgid "Enable hoisting loads from conditional pointers."
-@@ -18450,7 +16343,7 @@
+@@ -18450,7 +16012,7 @@
  #, fuzzy
  #| msgid "Enable SSA-PRE optimization on trees"
  msgid "Enable SSA-PRE optimization on trees."
@@ -51872,7 +53233,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2419
  msgid "In SSA-PRE optimization on trees, enable partial-partial redundancy elimination."
-@@ -18464,13 +16357,13 @@
+@@ -18464,13 +16026,13 @@
  #, fuzzy
  #| msgid "Enable reassociation on tree level"
  msgid "Enable reassociation on tree level."
@@ -51888,7 +53249,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2439
  msgid "Perform straight-line strength reduction."
-@@ -18480,25 +16373,25 @@
+@@ -18480,25 +16042,25 @@
  #, fuzzy
  #| msgid "Perform scalar replacement of aggregates"
  msgid "Perform scalar replacement of aggregates."
@@ -51918,7 +53279,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2459
  msgid "Split paths leading to loop backedges."
-@@ -18512,25 +16405,25 @@
+@@ -18512,25 +16074,25 @@
  #, fuzzy
  #| msgid "Compile whole compilation unit at a time"
  msgid "Compile whole compilation unit at a time."
@@ -51948,7 +53309,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2487
  msgid "Allow optimization for floating-point arithmetic which may change the"
-@@ -18544,79 +16437,79 @@
+@@ -18544,79 +16106,79 @@
  #, fuzzy
  #| msgid "Allow math optimizations that may violate IEEE or ISO standards"
  msgid "Allow math optimizations that may violate IEEE or ISO standards."
@@ -52041,7 +53402,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2574
  msgid "Specifies the vectorization cost model for code marked with a simd directive."
-@@ -18648,13 +16541,13 @@
+@@ -18648,13 +16210,13 @@
  #, fuzzy
  #| msgid "Add extra commentary to assembler output"
  msgid "Add extra commentary to assembler output."
@@ -52057,7 +53418,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2619
  #, c-format
-@@ -18683,25 +16576,25 @@
+@@ -18683,25 +16245,25 @@
  #, fuzzy
  #| msgid "Use expression value profiles in optimizations"
  msgid "Use expression value profiles in optimizations."
@@ -52087,7 +53448,7 @@ Index: gcc/po/es.po
  
  # wraps around? No entiendo bien. cfuga
  #: common.opt:2675
-@@ -18708,49 +16601,49 @@
+@@ -18708,49 +16270,49 @@
  #, fuzzy
  #| msgid "Assume signed arithmetic overflow wraps around"
  msgid "Assume signed arithmetic overflow wraps around."
@@ -52145,7 +53506,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2707
  msgid "Generate DWARF pubnames and pubtypes sections."
-@@ -18772,67 +16665,67 @@
+@@ -18772,67 +16334,67 @@
  #, fuzzy
  #| msgid "Generate debug information in default format"
  msgid "Don't generate debug information in separate .dwo files."
@@ -52224,7 +53585,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2781
  msgid "-gz=<format>\tGenerate compressed debug sections in format <format>."
-@@ -18842,73 +16735,73 @@
+@@ -18842,73 +16404,73 @@
  #, fuzzy
  #| msgid "-iplugindir=<dir>\tSet <dir> to be the default plugin directory"
  msgid "-iplugindir=<dir>\tSet <dir> to be the default plugin directory."
@@ -52310,7 +53671,7 @@ Index: gcc/po/es.po
  
  #: common.opt:2974
  msgid "Use caller save register across calls if possible."
-@@ -18922,7 +16815,7 @@
+@@ -18922,7 +16484,7 @@
  
  #: go/gofrontend/expressions.cc:617
  msgid "invalid use of type"
@@ -52319,7 +53680,7 @@ Index: gcc/po/es.po
  
  #: go/gofrontend/expressions.cc:2744 go/gofrontend/expressions.cc:2810
  #: go/gofrontend/expressions.cc:2826
-@@ -18941,8 +16834,8 @@
+@@ -18941,8 +16503,8 @@
  msgid "expected boolean type"
  msgstr "se esperaba un tipo booleano"
  
@@ -52330,7 +53691,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Expected integer"
  msgid "expected integer"
-@@ -18952,7 +16845,7 @@
+@@ -18952,7 +16514,7 @@
  #, fuzzy
  #| msgid "invalid comparison code in gimple cond"
  msgid "invalid comparison of nil with nil"
@@ -52339,7 +53700,7 @@ Index: gcc/po/es.po
  
  #: go/gofrontend/expressions.cc:5559 go/gofrontend/expressions.cc:5577
  msgid "incompatible types in binary expression"
-@@ -18987,13 +16880,13 @@
+@@ -18987,13 +16549,13 @@
  
  #: go/gofrontend/expressions.cc:6773
  msgid "invalid use of %<...%> with builtin function"
@@ -52355,7 +53716,7 @@ Index: gcc/po/es.po
  
  #: go/gofrontend/expressions.cc:6798
  msgid "argument of Offsetof implies indirection of an embedded field"
-@@ -19022,7 +16915,7 @@
+@@ -19022,7 +16584,7 @@
  
  #: go/gofrontend/expressions.cc:7012
  msgid "invalid type for make function"
@@ -52364,7 +53725,7 @@ Index: gcc/po/es.po
  
  #: go/gofrontend/expressions.cc:7028
  msgid "length required when allocating a slice"
-@@ -19078,7 +16971,7 @@
+@@ -19078,7 +16640,7 @@
  
  #: go/gofrontend/expressions.cc:8032
  msgid "argument 2 has invalid type"
@@ -52373,7 +53734,7 @@ Index: gcc/po/es.po
  
  #: go/gofrontend/expressions.cc:8048
  msgid "argument must have complex type"
-@@ -19105,7 +16998,7 @@
+@@ -19105,7 +16667,7 @@
  
  #: go/gofrontend/expressions.cc:8846
  msgid "invalid use of %<...%> with non-slice"
@@ -52382,7 +53743,7 @@ Index: gcc/po/es.po
  
  #: go/gofrontend/expressions.cc:9222
  #, fuzzy
-@@ -19119,7 +17012,7 @@
+@@ -19119,7 +16681,7 @@
  
  #: go/gofrontend/expressions.cc:9258
  msgid "invalid use of %<...%> calling non-variadic function"
@@ -52391,7 +53752,7 @@ Index: gcc/po/es.po
  
  #: go/gofrontend/expressions.cc:9614 go/gofrontend/expressions.cc:9628
  msgid "number of results does not match number of values"
-@@ -19178,7 +17071,7 @@
+@@ -19178,7 +16740,7 @@
  
  #: go/gofrontend/expressions.cc:13523 go/gofrontend/statements.cc:1432
  msgid "invalid receive on send-only channel"
@@ -52400,7 +53761,7 @@ Index: gcc/po/es.po
  
  #: go/gofrontend/parse.cc:3016
  #, fuzzy
-@@ -19192,7 +17085,7 @@
+@@ -19192,7 +16754,7 @@
  
  #: go/gofrontend/statements.cc:592
  msgid "invalid left hand side of assignment"
@@ -52409,7 +53770,7 @@ Index: gcc/po/es.po
  
  #: go/gofrontend/statements.cc:603 go/gofrontend/statements.cc:1021
  msgid "use of untyped nil"
-@@ -19232,7 +17125,7 @@
+@@ -19232,7 +16794,7 @@
  
  #: go/gofrontend/statements.cc:4421
  msgid "invalid send on receive-only channel"
@@ -52418,7 +53779,7 @@ Index: gcc/po/es.po
  
  #: go/gofrontend/statements.cc:5392
  msgid "too many variables for range clause with channel"
-@@ -19244,7 +17137,7 @@
+@@ -19244,7 +16806,7 @@
  
  #: go/gofrontend/types.cc:509
  msgid "invalid comparison of non-ordered type"
@@ -52427,7 +53788,7 @@ Index: gcc/po/es.po
  
  #: go/gofrontend/types.cc:525
  msgid "slice can only be compared to nil"
-@@ -19261,19 +17154,19 @@
+@@ -19261,19 +16823,19 @@
  #: go/gofrontend/types.cc:535
  #, c-format
  msgid "invalid operation (%s)"
@@ -52451,7 +53812,7 @@ Index: gcc/po/es.po
  
  #: go/gofrontend/types.cc:615
  #, fuzzy
-@@ -19408,50 +17301,52 @@
+@@ -19408,50 +16970,52 @@
  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ó"
  
@@ -52517,7 +53878,7 @@ Index: gcc/po/es.po
  
  #: bt-load.c:1566
  #, gcc-internal-format
-@@ -19471,7 +17366,7 @@
+@@ -19471,7 +17035,7 @@
  #: builtins.c:1188
  #, gcc-internal-format
  msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
@@ -52526,7 +53887,7 @@ Index: gcc/po/es.po
  
  #: builtins.c:1196
  #, gcc-internal-format
-@@ -19481,7 +17376,7 @@
+@@ -19481,7 +17045,7 @@
  #: builtins.c:1203
  #, gcc-internal-format
  msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
@@ -52535,7 +53896,7 @@ Index: gcc/po/es.po
  
  #: builtins.c:4176 gimplify.c:2414
  #, gcc-internal-format
-@@ -19492,7 +17387,7 @@
+@@ -19492,7 +17056,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid use of %qD"
  msgid "invalid argument to %qD"
@@ -52544,7 +53905,7 @@ Index: gcc/po/es.po
  
  #: builtins.c:4289
  #, fuzzy, gcc-internal-format
-@@ -19530,7 +17425,7 @@
+@@ -19530,7 +17094,7 @@
  #: builtins.c:5064
  #, gcc-internal-format
  msgid "invalid memory model argument to builtin"
@@ -52553,7 +53914,7 @@ Index: gcc/po/es.po
  
  #: builtins.c:5125
  #, gcc-internal-format
-@@ -19540,17 +17435,17 @@
+@@ -19540,17 +17104,17 @@
  #: builtins.c:5133
  #, gcc-internal-format
  msgid "invalid failure memory model for %<__atomic_compare_exchange%>"
@@ -52574,7 +53935,7 @@ Index: gcc/po/es.po
  
  #: builtins.c:5448
  #, gcc-internal-format
-@@ -19579,7 +17474,7 @@
+@@ -19579,7 +17143,7 @@
  #: builtins.c:5831 expr.c:10565
  #, gcc-internal-format
  msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
@@ -52583,7 +53944,7 @@ Index: gcc/po/es.po
  
  #. All valid uses of __builtin_va_arg_pack_len () are removed during
  #. inlining.
-@@ -19586,7 +17481,7 @@
+@@ -19586,7 +17150,7 @@
  #: builtins.c:5837
  #, gcc-internal-format
  msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
@@ -52592,7 +53953,7 @@ Index: gcc/po/es.po
  
  #: builtins.c:6056
  #, gcc-internal-format
-@@ -19667,12 +17562,12 @@
+@@ -19667,12 +17231,12 @@
  msgid "%Kattempt to free a non-heap object"
  msgstr "%Kse intenta liberar un objeto que no es de pila"
  
@@ -52607,7 +53968,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "passing %qT for argument %P to %qD"
  msgid "passing too large argument on stack"
-@@ -20078,447 +17973,447 @@
+@@ -20078,447 +17642,447 @@
  msgid "%d exits recorded for loop %d (having %d exits)"
  msgstr "se grabaron %d salidas para el bucle %d (teniendo %d salidas)"
  
@@ -53143,7 +54504,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "%s: section %s is missing"
  msgstr "%s: falta la sección %s"
-@@ -20549,12 +18444,12 @@
+@@ -20549,12 +18113,12 @@
  msgstr "se descarta el atributo %<weakref%> porque ya se inicializó la variable"
  
  #. include_self=
@@ -53158,7 +54519,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%q+F declared %<static%> but never defined"
  msgstr "%q+F se declaró %<static%> pero nunca se define"
-@@ -20584,7 +18479,7 @@
+@@ -20584,7 +18148,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "Invalid declaration"
  msgid "%q+D aliased declaration"
@@ -53167,7 +54528,7 @@ Index: gcc/po/es.po
  
  #: cgraphunit.c:1381
  #, gcc-internal-format
-@@ -20652,12 +18547,12 @@
+@@ -20652,12 +18216,12 @@
  msgid "cannot find '%s'"
  msgstr "no se puede encontrar '%s'"
  
@@ -53182,7 +54543,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%s: %m"
  msgstr "%s: %m"
-@@ -20667,7 +18562,7 @@
+@@ -20667,7 +18231,7 @@
  msgid "COLLECT_LTO_WRAPPER must be set"
  msgstr "se debe definir COLLECT_LTO_WRAPPER"
  
@@ -53191,7 +54552,7 @@ Index: gcc/po/es.po
  #: config/i386/intelmic-mkoffload.c:554 config/nvptx/mkoffload.c:403
  #, gcc-internal-format
  msgid "atexit failed"
-@@ -20922,7 +18817,7 @@
+@@ -20922,7 +18486,7 @@
  msgid "global constructors not supported on this target"
  msgstr "no se admiten constructores globales en este objetivo"
  
@@ -53200,7 +54561,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "in %s, at %s:%d"
  msgstr "en %s, en %s:%d"
-@@ -20963,12 +18858,12 @@
+@@ -20963,12 +18527,12 @@
  msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive"
  msgstr "sólo se admiten múltiples personalidades EH con ensambladores que admiten la directiva cfi.personality"
  
@@ -53215,7 +54576,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "-feliminate-dwarf2-dups is broken for C++, ignoring"
  msgstr ""
-@@ -20976,7 +18871,7 @@
+@@ -20976,7 +18540,7 @@
  #: emit-rtl.c:2732
  #, gcc-internal-format
  msgid "invalid rtl sharing found in the insn"
@@ -53224,7 +54585,7 @@ Index: gcc/po/es.po
  
  #: emit-rtl.c:2734
  #, gcc-internal-format
-@@ -21091,7 +18986,7 @@
+@@ -21091,7 +18655,7 @@
  #: final.c:1533
  #, gcc-internal-format
  msgid "invalid argument %qs to -fdebug-prefix-map"
@@ -53233,7 +54594,7 @@ Index: gcc/po/es.po
  
  #: final.c:1835
  #, gcc-internal-format
-@@ -21098,7 +18993,7 @@
+@@ -21098,7 +18662,7 @@
  msgid "the frame size of %wd bytes is larger than %wd bytes"
  msgstr "el tamaño de marco de %wd bytes es mayor que %wd bytes"
  
@@ -53242,7 +54603,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "could not open final insn dump file %qs: %m"
  msgstr "no se puede abrir el fichero de volcado de insn final %qs: %m"
-@@ -21113,48 +19008,48 @@
+@@ -21113,48 +18677,48 @@
  msgid "large fixed-point constant implicitly truncated to fixed-point type"
  msgstr "se truncó la constante de coma fija grande implícitamente al tipo de coma fija"
  
@@ -53300,7 +54661,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "fold check: original tree changed by fold"
  msgstr "fold check: el árbol original cambió por un pliegue"
-@@ -21169,17 +19064,17 @@
+@@ -21169,17 +18733,17 @@
  msgid "impossible constraint in %<asm%>"
  msgstr "restricción imposible en %<asm%>"
  
@@ -53321,7 +54682,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "function returns an aggregate"
  msgstr "la función devuelve un agregado"
-@@ -21244,7 +19139,7 @@
+@@ -21244,7 +18808,7 @@
  msgid "%s (program %s)"
  msgstr "%s (programa %s)"
  
@@ -53330,7 +54691,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "unrecognized command line option %qs"
  msgstr "no se reconoce la opción de línea de órdenes %qs"
-@@ -21259,7 +19154,7 @@
+@@ -21259,7 +18823,7 @@
  msgid "%qs is an unknown -save-temps option"
  msgstr "%qs es una opción desconocida para -save-temps"
  
@@ -53339,7 +54700,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "%qs is not a valid output file"
  msgid "input file %qs is the same as output file"
-@@ -21308,241 +19203,241 @@
+@@ -21308,241 +18872,241 @@
  #: gcc.c:5149
  #, gcc-internal-format
  msgid "spec %qs invalid"
@@ -53639,7 +55000,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "too few arguments to function"
  msgid "too few arguments to %%:replace-extension"
-@@ -21609,7 +19504,7 @@
+@@ -21609,7 +19173,7 @@
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "invalid abstract type for %q+D"
  msgid "invalid prototype for '%s'"
@@ -53648,7 +55009,7 @@ Index: gcc/po/es.po
  
  #: gentarget-def.c:131
  #, gcc-internal-format, gfc-internal-format
-@@ -21681,9 +19576,9 @@
+@@ -21681,9 +19245,9 @@
  msgstr "no se puede escribir el fichero PCH"
  
  #: gimple-ssa-isolate-paths.c:290 gimple-ssa-isolate-paths.c:447 tree.c:12589
@@ -53661,7 +55022,7 @@ Index: gcc/po/es.po
  #: cp/typeck.c:1833 cp/typeck.c:3660
  #, gcc-internal-format
  msgid "declared here"
-@@ -21724,7 +19619,7 @@
+@@ -21724,7 +19288,7 @@
  #: gimplify.c:5194
  #, gcc-internal-format, gfc-internal-format
  msgid "invalid lvalue in asm output %d"
@@ -53670,7 +55031,7 @@ Index: gcc/po/es.po
  
  #: gimplify.c:5336
  #, gcc-internal-format, gfc-internal-format
-@@ -21736,214 +19631,214 @@
+@@ -21736,214 +19300,214 @@
  msgid "memory input %d is not directly addressable"
  msgstr "la entrada de memoria %d no es directamente direccionable"
  
@@ -53925,7 +55286,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "if this code is reached, the program will abort"
  msgstr "si se alcanza este código, el programa abortará"
-@@ -21958,7 +19853,7 @@
+@@ -21958,7 +19522,7 @@
  msgid "could not open Go dump file %qs: %m"
  msgstr "no se puede abrir el fichero de volcado Go %qs: %m"
  
@@ -53934,7 +55295,7 @@ Index: gcc/po/es.po
  #: objc/objc-act.c:461
  #, gcc-internal-format
  msgid "can%'t open %s: %m"
-@@ -21968,7 +19863,7 @@
+@@ -21968,7 +19532,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "Graphite loop optimizations cannot be used"
  msgid "Graphite loop optimizations cannot be used (isl is not available)."
@@ -53943,7 +55304,7 @@ Index: gcc/po/es.po
  
  #: hsa-brig.c:899
  #, gcc-internal-format
-@@ -21975,28 +19870,28 @@
+@@ -21975,28 +19539,28 @@
  msgid "Support for HSA does not implement immediate 16 bit FPU operands"
  msgstr ""
  
@@ -53977,7 +55338,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "verification failed: %s"
  msgid "HSA instruction verification failed"
-@@ -22028,7 +19923,7 @@
+@@ -22028,7 +19592,7 @@
  msgid "token %u has y-location == %u"
  msgstr ""
  
@@ -53986,7 +55347,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "%qs function cannot have arguments"
  msgid "function cannot be instrumented"
-@@ -22083,7 +19978,7 @@
+@@ -22083,7 +19647,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid initializer for virtual method %qD"
  msgid "contains additional virtual method %qD"
@@ -53995,7 +55356,7 @@ Index: gcc/po/es.po
  
  #: ipa-devirt.c:921
  #, gcc-internal-format
-@@ -22390,7 +20285,7 @@
+@@ -22390,7 +19954,7 @@
  msgid "could not emit HSAIL for function %s: function cannot be cloned"
  msgstr "%qE no es ni función ni función miembro; no se puede declarar friend"
  
@@ -54004,7 +55365,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "ipa inline summary is missing in input file"
  msgstr "falta el resumen de inclusión en línea ipa en el fichero de entrada"
-@@ -22492,7 +20387,7 @@
+@@ -22492,7 +20056,7 @@
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "invalid rotate insn"
  msgid "invalid offload table in %s"
@@ -54013,7 +55374,7 @@ Index: gcc/po/es.po
  
  #: lto-compress.c:193 lto-compress.c:201 lto-compress.c:222 lto-compress.c:285
  #: lto-compress.c:293 lto-compress.c:314
-@@ -22612,12 +20507,12 @@
+@@ -22612,12 +20176,12 @@
  #: lto-wrapper.c:974
  #, gcc-internal-format
  msgid "environment variable COLLECT_GCC must be set"
@@ -54028,7 +55389,7 @@ Index: gcc/po/es.po
  
  #: lto-wrapper.c:1135 lto-wrapper.c:1191
  #, fuzzy, gcc-internal-format
-@@ -22635,7 +20530,7 @@
+@@ -22635,7 +20199,7 @@
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "invalid operation (%s)"
  msgid "invalid format of %s"
@@ -54037,7 +55398,7 @@ Index: gcc/po/es.po
  
  #: lto-wrapper.c:1301
  #, fuzzy, gcc-internal-format
-@@ -22678,271 +20573,265 @@
+@@ -22678,271 +20242,265 @@
  msgid "attribute(target_clones(\"default\")) is not valid for current target"
  msgstr ""
  
@@ -54362,7 +55723,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "insufficient partitioning available to parallelize loop"
  msgstr ""
-@@ -22964,27 +20853,27 @@
+@@ -22964,27 +20522,27 @@
  msgid "indirect jumps are not available on this target"
  msgstr "El tipo BYTE usado en %C no está disponible en la máquina objetivo"
  
@@ -54395,7 +55756,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "valid arguments to %qs are: %s"
  msgstr "los argumentos válidos para %qs son: %s"
-@@ -23189,12 +21078,12 @@
+@@ -23189,12 +20747,12 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid --param value %qs"
  msgid "invalid --param name %qs"
@@ -54410,7 +55771,7 @@ Index: gcc/po/es.po
  
  #: opts.c:2344
  #, gcc-internal-format
-@@ -23248,7 +21137,7 @@
+@@ -23248,7 +20806,7 @@
  #: params.c:184
  #, gcc-internal-format
  msgid "invalid parameter %qs"
@@ -54419,7 +55780,7 @@ Index: gcc/po/es.po
  
  #: params.c:190
  #, gcc-internal-format
-@@ -23304,7 +21193,7 @@
+@@ -23304,7 +20862,7 @@
  #: passes.c:1099 passes.c:1127
  #, gcc-internal-format, gfc-internal-format
  msgid "Invalid range %s in option %s"
@@ -54428,7 +55789,7 @@ Index: gcc/po/es.po
  
  #: passes.c:1145
  #, gcc-internal-format, gfc-internal-format
-@@ -23319,7 +21208,7 @@
+@@ -23319,7 +20877,7 @@
  #: passes.c:1385
  #, gcc-internal-format
  msgid "invalid pass positioning operation"
@@ -54437,7 +55798,7 @@ Index: gcc/po/es.po
  
  #: passes.c:1447
  #, gcc-internal-format
-@@ -23527,7 +21416,7 @@
+@@ -23527,7 +21085,7 @@
  msgid "register of %qD used for multiple global register variables"
  msgstr "se usó el registro de %qD para múltiples variables de registro globales"
  
@@ -54446,7 +55807,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "conflicts with %qD"
  msgstr "genera un conflicto con %qD"
-@@ -23661,7 +21550,7 @@
+@@ -23661,7 +21219,7 @@
  #: stmt.c:430
  #, gcc-internal-format
  msgid "invalid punctuation %qc in constraint"
@@ -54455,7 +55816,7 @@ Index: gcc/po/es.po
  
  #: stmt.c:446
  #, gcc-internal-format
-@@ -23683,62 +21572,62 @@
+@@ -23683,62 +21241,62 @@
  msgid "undefined named operand %qs"
  msgstr "operador %qs nombrado sin definir"
  
@@ -54530,7 +55891,7 @@ Index: gcc/po/es.po
  #, 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"
-@@ -23965,165 +21854,165 @@
+@@ -23965,165 +21523,165 @@
  msgid "ld returned %d exit status"
  msgstr "ld devolvió el estado de salida %d"
  
@@ -54729,7 +56090,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "error closing %s: %m"
  msgstr "error al cerrar %s: %m"
-@@ -24132,7 +22021,7 @@
+@@ -24132,7 +21690,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid volatile use of %qD inside transaction"
  msgid "invalid use of volatile lvalue inside transaction"
@@ -54738,7 +56099,7 @@ Index: gcc/po/es.po
  
  #: trans-mem.c:624
  #, fuzzy, gcc-internal-format
-@@ -24248,12 +22137,12 @@
+@@ -24248,12 +21806,12 @@
  #: tree-cfg.c:2846
  #, gcc-internal-format
  msgid "invalid first operand of MEM_REF"
@@ -54753,7 +56114,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:2865
  #, gcc-internal-format
-@@ -24278,7 +22167,7 @@
+@@ -24278,7 +21836,7 @@
  #: tree-cfg.c:2914
  #, gcc-internal-format
  msgid "invalid conditional operand"
@@ -54762,7 +56123,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:2937
  #, gcc-internal-format
-@@ -24288,7 +22177,7 @@
+@@ -24288,7 +21846,7 @@
  #: tree-cfg.c:2949
  #, gcc-internal-format
  msgid "invalid position or size operand to BIT_FIELD_REF"
@@ -54771,7 +56132,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:2956
  #, gcc-internal-format
-@@ -24305,7 +22194,7 @@
+@@ -24305,7 +21863,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid position or size operand to BIT_FIELD_REF"
  msgid "position plus size exceeds size of referenced object in BIT_FIELD_REF"
@@ -54780,7 +56141,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:3006
  #, gcc-internal-format
-@@ -24315,42 +22204,42 @@
+@@ -24315,42 +21873,42 @@
  #: tree-cfg.c:3016
  #, gcc-internal-format
  msgid "invalid reference prefix"
@@ -54831,7 +56192,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:3174
  #, gcc-internal-format
-@@ -24385,22 +22274,22 @@
+@@ -24385,22 +21943,22 @@
  #: tree-cfg.c:3243
  #, gcc-internal-format
  msgid "invalid address operand in MEM_REF"
@@ -54858,7 +56219,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:3321
  #, gcc-internal-format
-@@ -24415,7 +22304,7 @@
+@@ -24415,7 +21973,7 @@
  #: tree-cfg.c:3337
  #, gcc-internal-format
  msgid "invalid function in gimple call"
@@ -54867,7 +56228,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:3347
  #, gcc-internal-format
-@@ -24425,12 +22314,12 @@
+@@ -24425,12 +21983,12 @@
  #: tree-cfg.c:3358
  #, gcc-internal-format
  msgid "invalid pure const state for function"
@@ -54882,7 +56243,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:3377
  #, gcc-internal-format
-@@ -24440,12 +22329,12 @@
+@@ -24440,12 +21998,12 @@
  #: tree-cfg.c:3393
  #, gcc-internal-format
  msgid "invalid conversion in gimple call"
@@ -54897,7 +56258,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:3413
  #, gcc-internal-format
-@@ -24455,12 +22344,12 @@
+@@ -24455,12 +22013,12 @@
  #: tree-cfg.c:3430
  #, gcc-internal-format
  msgid "invalid argument to gimple call"
@@ -54912,7 +56273,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:3466
  #, gcc-internal-format
-@@ -24480,12 +22369,12 @@
+@@ -24480,12 +22038,12 @@
  #: tree-cfg.c:3506
  #, gcc-internal-format
  msgid "invalid vector comparison resulting type"
@@ -54927,7 +56288,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:3535
  #, gcc-internal-format
-@@ -24495,32 +22384,32 @@
+@@ -24495,32 +22053,32 @@
  #: tree-cfg.c:3541
  #, gcc-internal-format
  msgid "invalid operand in unary operation"
@@ -54966,7 +56327,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:3646
  #, gcc-internal-format
-@@ -24540,7 +22429,7 @@
+@@ -24540,7 +22098,7 @@
  #: tree-cfg.c:3706
  #, gcc-internal-format
  msgid "invalid operands in binary operation"
@@ -54975,7 +56336,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:3721
  #, gcc-internal-format
-@@ -24560,12 +22449,12 @@
+@@ -24560,12 +22118,12 @@
  #: tree-cfg.c:3809
  #, gcc-internal-format
  msgid "invalid non-vector operands to vector valued plus"
@@ -54990,7 +56351,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:3834
  #, gcc-internal-format
-@@ -24585,7 +22474,7 @@
+@@ -24585,7 +22143,7 @@
  #: tree-cfg.c:3951
  #, gcc-internal-format
  msgid "invalid operands in ternary operation"
@@ -54999,7 +56360,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:3967
  #, gcc-internal-format
-@@ -24602,7 +22491,7 @@
+@@ -24602,7 +22160,7 @@
  msgid "the first argument of a VEC_COND_EXPR must be of a boolean vector type of the same number of elements as the result"
  msgstr ""
  
@@ -55008,7 +56369,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "type mismatch in conditional expression"
  msgstr "los tipos de datos no coinciden en la expresión condicional"
-@@ -24625,7 +22514,7 @@
+@@ -24625,7 +22183,7 @@
  #: tree-cfg.c:4058
  #, gcc-internal-format
  msgid "invalid mask type in vector permute expression"
@@ -55017,7 +56378,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:4074
  #, fuzzy, gcc-internal-format
-@@ -24652,7 +22541,7 @@
+@@ -24652,7 +22210,7 @@
  #: tree-cfg.c:4149
  #, gcc-internal-format
  msgid "invalid operand in unary expression"
@@ -55026,7 +56387,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:4163
  #, gcc-internal-format
-@@ -24662,7 +22551,7 @@
+@@ -24662,7 +22220,7 @@
  #: tree-cfg.c:4189 tree-cfg.c:4215
  #, gcc-internal-format
  msgid "invalid rhs for gimple memory store"
@@ -55035,7 +56396,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:4249 tree-cfg.c:4267 tree-cfg.c:4281
  #, gcc-internal-format
-@@ -24693,12 +22582,12 @@
+@@ -24693,12 +22251,12 @@
  #: tree-cfg.c:4363
  #, gcc-internal-format
  msgid "invalid operand in return statement"
@@ -55050,7 +56411,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:4402
  #, gcc-internal-format
-@@ -24708,13 +22597,13 @@
+@@ -24708,13 +22266,13 @@
  #: tree-cfg.c:4421
  #, gcc-internal-format
  msgid "invalid operand to switch statement"
@@ -55066,7 +56427,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:4437
  #, fuzzy, gcc-internal-format
-@@ -24732,7 +22621,7 @@
+@@ -24732,7 +22290,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid operand to switch statement"
  msgid "invalid case range in switch statement"
@@ -55075,7 +56436,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:4466
  #, fuzzy, gcc-internal-format
-@@ -24770,17 +22659,17 @@
+@@ -24770,17 +22328,17 @@
  #: tree-cfg.c:4563
  #, gcc-internal-format
  msgid "invalid comparison code in gimple cond"
@@ -55096,7 +56457,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:4673
  #, gcc-internal-format
-@@ -24790,7 +22679,7 @@
+@@ -24790,7 +22348,7 @@
  #: tree-cfg.c:4687
  #, gcc-internal-format
  msgid "invalid PHI argument"
@@ -55105,7 +56466,7 @@ Index: gcc/po/es.po
  
  #: tree-cfg.c:4694
  #, gcc-internal-format, gfc-internal-format
-@@ -24958,42 +22847,42 @@
+@@ -24958,42 +22516,42 @@
  msgid "memory access check always fail"
  msgstr ""
  
@@ -55156,7 +56517,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "chkp_walk_pointer_assignments: unexpected RHS type: %s"
  msgstr ""
-@@ -25103,12 +22992,12 @@
+@@ -25103,12 +22661,12 @@
  #: tree-inline.c:3756
  #, gcc-internal-format
  msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
@@ -55171,7 +56532,7 @@ Index: gcc/po/es.po
  
  #: tree-inline.c:4425
  #, gcc-internal-format
-@@ -25198,27 +23087,27 @@
+@@ -25198,27 +22756,27 @@
  msgid "stmt volatile flag not up-to-date"
  msgstr "la opción volatile de stmt no está actualizada"
  
@@ -55204,7 +56565,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%qE may be used uninitialized in this function"
  msgstr "puede ser que se utilice %qE sin inicializar en esta función"
-@@ -25379,7 +23268,7 @@
+@@ -25379,7 +22937,7 @@
  msgid "vector shuffling operation will be expanded piecewise"
  msgstr "la operación de ordenamiento vectorial se expandirá por piezas"
  
@@ -55213,7 +56574,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "vectorization did not happen for a simd loop"
  msgstr ""
-@@ -25484,10 +23373,11 @@
+@@ -25484,10 +23042,11 @@
  #: c-family/c-common.c:9280 c-family/c-common.c:9303 c-family/c-common.c:9342
  #: c-family/c-common.c:9424 c-family/c-common.c:9467 c-family/c-common.c:9604
  #: config/darwin.c:2021 config/arm/arm.c:6488 config/arm/arm.c:6516
@@ -55229,7 +56590,7 @@ Index: gcc/po/es.po
  #: lto/lto-lang.c:243
  #, gcc-internal-format
  msgid "%qE attribute ignored"
-@@ -25723,7 +23613,7 @@
+@@ -25723,7 +23282,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "environment variable %qs not defined"
  msgid "Main variant is not defined"
@@ -55238,7 +56599,7 @@ Index: gcc/po/es.po
  
  #: tree.c:13545
  #, gcc-internal-format
-@@ -25964,7 +23854,7 @@
+@@ -25964,7 +23523,7 @@
  #: varasm.c:1366
  #, gcc-internal-format
  msgid "invalid register name for %q+D"
@@ -55247,7 +56608,7 @@ Index: gcc/po/es.po
  
  #: varasm.c:1368
  #, gcc-internal-format
-@@ -26029,7 +23919,7 @@
+@@ -26029,7 +23588,7 @@
  #: varasm.c:5064
  #, gcc-internal-format
  msgid "invalid initial value for member %qE"
@@ -55256,7 +56617,7 @@ Index: gcc/po/es.po
  
  #: varasm.c:5324
  #, fuzzy, gcc-internal-format
-@@ -26168,8 +24058,8 @@
+@@ -26168,8 +23727,8 @@
  msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
  msgstr "la longitud de la cadena %qd es mayor que la longitud %qd, la máxima que los compiladores ISO C%d deben admitir"
  
@@ -55267,7 +56628,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "overflow in constant expression"
  msgstr "desbordamiento en la expresión constante"
-@@ -26228,7 +24118,7 @@
+@@ -26228,7 +23787,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid operand in unary expression"
  msgid "logical %<or%> of equal expressions"
@@ -55276,7 +56637,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-common.c:1326
  #, fuzzy, gcc-internal-format
-@@ -26358,7 +24248,7 @@
+@@ -26358,7 +23917,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid parameter type %qT"
  msgid "%<_Atomic%>-qualified parameter type %qT of %q+D"
@@ -55285,7 +56646,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-common.c:1924
  #, gcc-internal-format
-@@ -26500,7 +24390,7 @@
+@@ -26500,7 +24059,7 @@
  #: c-family/c-common.c:3866
  #, gcc-internal-format
  msgid "invalid operands to binary %s (have %qT and %qT)"
@@ -55294,7 +56655,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-common.c:4116
  #, gcc-internal-format
-@@ -26543,20 +24433,20 @@
+@@ -26543,20 +24102,20 @@
  msgid "the compiler can assume that the address of %qD will always evaluate to %<true%>"
  msgstr "la dirección de %qD siempre se evaluará como %<true%>"
  
@@ -55319,7 +56680,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-common.c:4878
  #, gcc-internal-format
-@@ -26571,17 +24461,17 @@
+@@ -26571,17 +24130,17 @@
  #: c-family/c-common.c:4892
  #, gcc-internal-format
  msgid "invalid application of %qs to a void type"
@@ -55340,7 +56701,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-common.c:4951
  #, gcc-internal-format
-@@ -26675,6 +24565,7 @@
+@@ -26675,6 +24234,7 @@
  msgstr "se descarta el atributo %qE para el campo de tipo %qT"
  
  #: c-family/c-common.c:6684 c-family/c-common.c:6712 c-family/c-common.c:6808
@@ -55348,7 +56709,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "%qE attribute conflicts with attribute %s"
  msgid "%qE attribute ignored due to conflict with attribute %qs"
-@@ -26766,7 +24657,7 @@
+@@ -26766,7 +24326,7 @@
  #: c-family/c-common.c:7530
  #, gcc-internal-format
  msgid "invalid pointer mode %qs"
@@ -55357,7 +56718,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-common.c:7547
  #, gcc-internal-format
-@@ -26984,7 +24875,7 @@
+@@ -26984,7 +24544,7 @@
  msgid "assume_aligned parameter not integer constant"
  msgstr "la alineación solicitada no es una constante entera"
  
@@ -55366,7 +56727,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%<__simd__%> attribute cannot be used in the same function marked as a Cilk Plus SIMD-enabled function"
  msgstr ""
-@@ -27014,7 +24905,7 @@
+@@ -27014,7 +24574,7 @@
  msgid "type was previously declared %qE"
  msgstr "el tipo se declaró previamente %qE"
  
@@ -55375,7 +56736,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "%qs can only be specified for functions"
  msgid "%<transaction_safe_dynamic%> may only be specified for a virtual function"
-@@ -27049,14 +24940,14 @@
+@@ -27049,14 +24609,14 @@
  #: c-family/c-common.c:9001
  #, gcc-internal-format
  msgid "invalid vector type for attribute %qE"
@@ -55393,7 +56754,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "zero vector size"
  msgstr "vector de tamaño cero"
-@@ -27066,22 +24957,22 @@
+@@ -27066,22 +24626,22 @@
  msgid "number of components of the vector not a power of two"
  msgstr "el número de componentes del vector no es una potencia de dos"
  
@@ -55421,7 +56782,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
  msgstr "un argumento que no es nulo hace referencia a un operando que no es puntero (argumento %lu, operando %lu)"
-@@ -27121,12 +25012,12 @@
+@@ -27121,12 +24681,12 @@
  msgid "%qE attribute only applies to variadic functions"
  msgstr "el atributo %qE se aplica solamente a funciones variadic"
  
@@ -55436,7 +56797,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "requested position is less than zero"
  msgstr "la posición solicitada es menor a cero"
-@@ -27350,17 +25241,17 @@
+@@ -27350,17 +24910,17 @@
  msgid "function %qD used as %<asm%> output"
  msgstr "se usó la función %qD como salida %<asm%>"
  
@@ -55457,7 +56818,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "decrement of read-only location %qE"
  msgstr "decremento de la ubicación de sólo lectura %qE"
-@@ -27398,35 +25289,35 @@
+@@ -27398,35 +24958,35 @@
  #: c-family/c-common.c:10500
  #, gcc-internal-format
  msgid "invalid type argument (have %qT)"
@@ -55500,7 +56861,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "size of array is too large"
  msgstr "el tamaño de la matriz es demasiado grande"
-@@ -27475,7 +25366,7 @@
+@@ -27475,7 +25035,7 @@
  #: c-family/c-common.c:10957
  #, gcc-internal-format
  msgid "invalid memory model argument %d of %qE"
@@ -55509,7 +56870,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-common.c:10964
  #, gcc-internal-format
-@@ -27587,7 +25478,7 @@
+@@ -27587,7 +25147,7 @@
  msgid "division by zero"
  msgstr "división por cero"
  
@@ -55518,7 +56879,7 @@ Index: gcc/po/es.po
  #: cp/typeck.c:4820
  #, gcc-internal-format
  msgid "comparison between types %qT and %qT"
-@@ -27648,7 +25539,7 @@
+@@ -27648,7 +25208,7 @@
  msgstr "el valor del índice está fuera del límite"
  
  #: c-family/c-common.c:12539 c-family/c-common.c:12587
@@ -55527,7 +56888,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "conversion of scalar to vector involves truncation"
  msgid "conversion of scalar %qT to vector %qT involves truncation"
-@@ -27681,7 +25572,7 @@
+@@ -27681,7 +25241,7 @@
  #: c-family/c-format.c:175 c-family/c-format.c:362
  #, gcc-internal-format
  msgid "format string has invalid operand number"
@@ -55536,7 +56897,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-format.c:191
  #, gcc-internal-format
-@@ -27731,7 +25622,7 @@
+@@ -27731,7 +25291,7 @@
  #: c-family/c-format.c:368
  #, gcc-internal-format
  msgid "%<...%> has invalid operand number"
@@ -55545,7 +56906,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-format.c:375
  #, gcc-internal-format
-@@ -28128,7 +26019,7 @@
+@@ -28128,7 +25688,7 @@
  #: c-family/c-omp.c:199
  #, gcc-internal-format
  msgid "invalid expression type for %<#pragma omp atomic%>"
@@ -55554,7 +56915,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-omp.c:276
  #, gcc-internal-format
-@@ -28140,10 +26031,10 @@
+@@ -28140,10 +25700,10 @@
  msgid "%<#pragma omp atomic capture%> uses two different variables for memory"
  msgstr "%<#pragma omp atomic capture%> usa dos variables diferentes para la memoria"
  
@@ -55567,7 +56928,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-omp.c:493
  #, gcc-internal-format
-@@ -28150,37 +26041,37 @@
+@@ -28150,37 +25710,37 @@
  msgid "%qE is not initialized"
  msgstr "%qE no está inicializado"
  
@@ -55613,7 +56974,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-omp.c:741
  #, fuzzy, gcc-internal-format
-@@ -28188,12 +26079,12 @@
+@@ -28188,12 +25748,12 @@
  msgid "increment expression refers to iteration variable %qD"
  msgstr "incremento de la variable de sólo lectura %qD"
  
@@ -55628,7 +56989,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "%qE is not a function name"
  msgid "%qD is not an function argument"
-@@ -28370,7 +26261,7 @@
+@@ -28370,7 +25930,7 @@
  #: c-family/c-pch.c:430
  #, gcc-internal-format, gfc-internal-format
  msgid "%s: PCH file was invalid"
@@ -55637,7 +56998,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-pragma.c:92
  #, gcc-internal-format
-@@ -28390,7 +26281,7 @@
+@@ -28390,7 +25950,7 @@
  #: c-family/c-pragma.c:146 c-family/c-pragma.c:178
  #, gcc-internal-format
  msgid "invalid constant in %<#pragma pack%> - ignored"
@@ -55646,7 +57007,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-pragma.c:150 c-family/c-pragma.c:192
  #, gcc-internal-format
-@@ -28640,7 +26531,7 @@
+@@ -28640,7 +26200,7 @@
  #: c-family/c-pragma.c:1164
  #, gcc-internal-format
  msgid "invalid location for %<pragma %s%>, ignored"
@@ -55655,7 +57016,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-pragma.c:1171 c-family/c-pragma.c:1185
  #, gcc-internal-format
-@@ -28702,7 +26593,7 @@
+@@ -28702,7 +26262,7 @@
  msgid "<erroneous-expression>"
  msgstr "<expresión-errónea>"
  
@@ -55664,7 +57025,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "<return-value>"
  msgstr "<valor-devolución>"
-@@ -28728,7 +26619,7 @@
+@@ -28728,7 +26288,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid use of %<auto%>"
  msgid "invalid use of %<_Cilk_spawn%>"
@@ -55673,7 +57034,7 @@ Index: gcc/po/es.po
  
  #: c-family/cilk.c:392
  #, fuzzy, gcc-internal-format
-@@ -28745,7 +26636,7 @@
+@@ -28745,7 +26305,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid use of %qD in linkage specification"
  msgid "invalid use of label %q+D in %<_Cilk_spawn%>"
@@ -55682,7 +57043,7 @@ Index: gcc/po/es.po
  
  #: c-family/cilk.c:991
  #, gcc-internal-format
-@@ -28777,7 +26668,7 @@
+@@ -28777,7 +26337,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "multiple function type attributes specified"
  msgid "multiple -mcpu= options specified."
@@ -55691,7 +57052,7 @@ Index: gcc/po/es.po
  
  #: common/config/arc/arc-common.c:127
  #, fuzzy, gcc-internal-format
-@@ -28798,7 +26689,7 @@
+@@ -28798,7 +26358,7 @@
  #: common/config/bfin/bfin-common.c:358
  #, gcc-internal-format, gfc-internal-format
  msgid "-mcpu=%s has invalid silicon revision"
@@ -55700,7 +57061,7 @@ Index: gcc/po/es.po
  
  #: common/config/i386/i386-common.c:985
  #, gcc-internal-format
-@@ -28866,7 +26757,7 @@
+@@ -28866,7 +26426,7 @@
  msgid "for the option -mcache-block-size=X, the valid X must be: 4, 8, 16, 32, 64, 128, 256, or 512"
  msgstr ""
  
@@ -55709,7 +57070,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "unknown -mdebug-%s switch"
  msgstr "interruptor -mdebug-%s desconocido"
-@@ -28895,13 +26786,13 @@
+@@ -28895,13 +26455,13 @@
  #: common/config/rx/rx-common.c:61
  #, gcc-internal-format
  msgid "the RX200 cpu does not have FPU hardware"
@@ -55725,7 +57086,7 @@ Index: gcc/po/es.po
  
  #: common/config/s390/s390-common.c:95
  #, gcc-internal-format
-@@ -29120,7 +27011,7 @@
+@@ -29120,7 +26680,7 @@
  #: config/sol2-c.c:100
  #, gcc-internal-format
  msgid "invalid alignment for %<#pragma align%>, ignoring"
@@ -55734,7 +57095,7 @@ Index: gcc/po/es.po
  
  #: config/sol2-c.c:115
  #, gcc-internal-format
-@@ -29182,7 +27073,7 @@
+@@ -29182,7 +26742,7 @@
  #. coalesced sections.  Weak aliases (or any other kind of aliases) are
  #. not supported.  Weak symbols that aren't visible outside the .s file
  #. are not supported.
@@ -55743,7 +57104,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "alias definitions not supported in Mach-O; ignored"
  msgstr "las definiciones de alias no se admiten en Mach-O; descartadas"
-@@ -29193,19 +27084,19 @@
+@@ -29193,19 +26753,19 @@
  msgid "profiler support for VxWorks"
  msgstr "soporte de análisis de perfil para VxWorks"
  
@@ -55766,7 +57127,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "the second argument must be a 4-bit immediate"
  msgid "%Ktotal size and element size must be a non-zero constant immediate"
-@@ -29237,7 +27128,7 @@
+@@ -29237,7 +26797,7 @@
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "Invalid range %s in option %s"
  msgid "tuning string missing in option (%s)"
@@ -55775,7 +57136,7 @@ Index: gcc/po/es.po
  
  #: config/aarch64/aarch64.c:7949
  #, fuzzy, gcc-internal-format, gfc-internal-format
-@@ -29255,7 +27146,7 @@
+@@ -29255,7 +26815,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid floating point option: -mfpu=%s"
  msgid "invalid feature modifier in -mcpu=%qs"
@@ -55784,7 +57145,7 @@ Index: gcc/po/es.po
  
  #: config/aarch64/aarch64.c:8194
  #, fuzzy, gcc-internal-format
-@@ -29273,7 +27164,7 @@
+@@ -29273,7 +26833,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid data model option -mdata-model=%s"
  msgid "invalid feature modifier in -march=%qs"
@@ -55793,7 +57154,7 @@ Index: gcc/po/es.po
  
  #: config/aarch64/aarch64.c:8226
  #, fuzzy, gcc-internal-format
-@@ -29352,7 +27243,7 @@
+@@ -29352,7 +26912,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid memory model argument %d of %qE"
  msgid "invalid feature modifier in target %s %qs"
@@ -55802,7 +57163,7 @@ Index: gcc/po/es.po
  
  #: config/aarch64/aarch64.c:8769
  #, fuzzy, gcc-internal-format, gfc-internal-format
-@@ -29376,7 +27267,7 @@
+@@ -29376,7 +26936,7 @@
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "%s\"%s\"%s is invalid"
  msgid "target %s %s=%s is not valid"
@@ -55811,7 +57172,7 @@ Index: gcc/po/es.po
  
  #: config/aarch64/aarch64.c:8947
  #, fuzzy, gcc-internal-format, gfc-internal-format
-@@ -29388,7 +27279,7 @@
+@@ -29388,7 +26948,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "%s\"%s\"%s is invalid"
  msgid "target %s %qs is invalid"
@@ -55820,7 +57181,7 @@ Index: gcc/po/es.po
  
  #: config/aarch64/aarch64.c:8973
  #, gcc-internal-format
-@@ -29395,12 +27286,12 @@
+@@ -29395,12 +26955,12 @@
  msgid "malformed target %s list %qs"
  msgstr ""
  
@@ -55835,7 +57196,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "line number out of range"
  msgid "lane %wd out of range %wd - %wd"
-@@ -29582,7 +27473,7 @@
+@@ -29582,7 +27142,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid argument to %<__builtin_frame_address%>"
  msgid "invalid alignment value for __builtin_arc_aligned"
@@ -55844,7 +57205,7 @@ Index: gcc/po/es.po
  
  #: config/arc/arc.c:5514
  #, gcc-internal-format
-@@ -30009,15 +27900,15 @@
+@@ -30009,15 +27569,15 @@
  msgid "Thumb-1 hard-float VFP ABI"
  msgstr "ABI de VFP de coma flotante dura de Thumb-1"
  
@@ -55866,7 +57227,7 @@ Index: gcc/po/es.po
  #: config/sh/sh.c:9798 config/sh/sh.c:9827 config/sh/sh.c:9909
  #: config/sh/sh.c:9932 config/spu/spu.c:3680 config/stormy16/stormy16.c:2211
  #: config/v850/v850.c:2082 config/visium/visium.c:699
-@@ -30037,51 +27928,51 @@
+@@ -30037,51 +27597,51 @@
  msgid "%s %wd out of range %wd - %wd"
  msgstr "El código STOP está fuera de rango en %C"
  
@@ -55929,7 +57290,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "target CPU does not support unaligned accesses"
  msgid "target OS does not support unaligned accesses"
-@@ -30145,207 +28036,207 @@
+@@ -30145,207 +27705,207 @@
  #. happen as options are provided by device-specs.  It could be a
  #. typo in a device-specs or calling the compiler proper directly
  #. with -mmcu=<device>.
@@ -56175,7 +57536,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "rounding result will always be 0"
  msgstr ""
-@@ -30461,7 +28352,7 @@
+@@ -30461,7 +28021,7 @@
  #: config/cr16/cr16.c:293
  #, gcc-internal-format, gfc-internal-format
  msgid "invalid data model option -mdata-model=%s"
@@ -56184,7 +57545,7 @@ Index: gcc/po/es.po
  
  #: config/cr16/cr16.h:431
  #, gcc-internal-format
-@@ -30480,7 +28371,7 @@
+@@ -30480,7 +28040,7 @@
  #: config/cris/cris.c:893
  #, gcc-internal-format
  msgid "invalid use of ':' modifier"
@@ -56193,7 +57554,7 @@ Index: gcc/po/es.po
  
  #: config/cris/cris.c:1127 config/moxie/moxie.c:181
  #, gcc-internal-format, gfc-internal-format
-@@ -30640,7 +28531,7 @@
+@@ -30640,7 +28200,7 @@
  #: config/frv/frv.c:8681
  #, gcc-internal-format
  msgid "invalid IACC argument"
@@ -56202,7 +57563,7 @@ Index: gcc/po/es.po
  
  #: config/frv/frv.c:8704
  #, gcc-internal-format
-@@ -30795,7 +28686,7 @@
+@@ -30795,7 +28355,7 @@
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "Invalid range %s in option %s"
  msgid "too many size ranges specified in option %s"
@@ -56211,7 +57572,7 @@ Index: gcc/po/es.po
  
  #: config/i386/i386.c:4204
  #, fuzzy, gcc-internal-format, gfc-internal-format
-@@ -30968,7 +28859,7 @@
+@@ -30968,7 +28528,7 @@
  msgid "-mno-fentry isn%'t compatible with SEH"
  msgstr "-mno-fentry no es compatible con SEH"
  
@@ -56220,7 +57581,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "unknown option for -mrecip=%s"
  msgstr "opción desconocida para -mrecip=%s"
-@@ -30988,7 +28879,7 @@
+@@ -30988,7 +28548,7 @@
  msgid "regparam and thiscall attributes are not compatible"
  msgstr "los atributos regparam y thiscall no son compatibles"
  
@@ -56229,7 +57590,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%qE attribute requires an integer constant argument"
  msgstr "el atributo %qE requiere un argumento constante entero"
-@@ -31194,270 +29085,270 @@
+@@ -31194,270 +28754,270 @@
  msgid "non-integer operand used with operand code 'z'"
  msgstr "se usó un operando que no es entero con el código de operando '%c'"
  
@@ -56550,7 +57911,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "Pointer Checker requires MPX support on this target. Use -mmpx options to enable MPX."
  msgstr ""
-@@ -31514,17 +29405,17 @@
+@@ -31514,17 +29074,17 @@
  #: config/i386/xm-djgpp.h:85
  #, gcc-internal-format
  msgid "environment variable DJGPP not defined"
@@ -56571,7 +57932,7 @@ Index: gcc/po/es.po
  
  #: config/ia64/ia64-c.c:48
  #, gcc-internal-format
-@@ -31534,7 +29425,7 @@
+@@ -31534,7 +29094,7 @@
  #: config/ia64/ia64.c:722
  #, gcc-internal-format
  msgid "invalid argument of %qE attribute"
@@ -56580,7 +57941,7 @@ Index: gcc/po/es.po
  
  #: config/ia64/ia64.c:735
  #, gcc-internal-format
-@@ -31626,7 +29517,7 @@
+@@ -31626,7 +29186,7 @@
  #: config/m32c/m32c.c:412
  #, gcc-internal-format, gfc-internal-format
  msgid "invalid target memregs value '%d'"
@@ -56589,7 +57950,7 @@ Index: gcc/po/es.po
  
  #: config/m32c/m32c.c:2924
  #, gcc-internal-format
-@@ -31657,7 +29548,7 @@
+@@ -31657,7 +29217,7 @@
  #: config/m32r/m32r.c:389
  #, gcc-internal-format
  msgid "invalid argument of %qs attribute"
@@ -56598,7 +57959,7 @@ Index: gcc/po/es.po
  
  #: config/m68k/m68k.c:493
  #, gcc-internal-format, gfc-internal-format
-@@ -31667,7 +29558,7 @@
+@@ -31667,7 +29227,7 @@
  #: config/m68k/m68k.c:564
  #, gcc-internal-format
  msgid "-mpcrel -fPIC is not currently supported on selected cpu"
@@ -56607,7 +57968,7 @@ Index: gcc/po/es.po
  
  #: config/m68k/m68k.c:626
  #, gcc-internal-format, gfc-internal-format
-@@ -31695,7 +29586,7 @@
+@@ -31695,7 +29255,7 @@
  msgid "interrupt_thread is available only on fido"
  msgstr "interrupt_thread sólo está disponible en fido"
  
@@ -56616,7 +57977,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "stack limit expression is not supported"
  msgstr "no se admite la expresión del límite de la pila"
-@@ -31718,12 +29609,12 @@
+@@ -31718,12 +29278,12 @@
  #: config/mep/mep-pragma.c:121
  #, gcc-internal-format
  msgid "invalid coprocessor register range"
@@ -56631,7 +57992,7 @@ Index: gcc/po/es.po
  
  #: config/mep/mep-pragma.c:164
  #, gcc-internal-format
-@@ -31938,7 +29829,7 @@
+@@ -31938,7 +29498,7 @@
  msgid "argument %d of %qE must be a multiple of %d"
  msgstr "el argumento %d de %qE debe ser un múltiplo de %d"
  
@@ -56640,7 +58001,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "incompatible type for argument %d of %qE"
  msgstr "tipo incompatible para el argumento %d de %qE"
-@@ -31977,7 +29868,7 @@
+@@ -31977,7 +29537,7 @@
  #: config/microblaze/microblaze.c:1700
  #, gcc-internal-format
  msgid "%qs is an invalid argument to -mcpu="
@@ -56649,7 +58010,7 @@ Index: gcc/po/es.po
  
  #: config/microblaze/microblaze.c:1749
  #, gcc-internal-format
-@@ -32065,7 +29956,7 @@
+@@ -32065,7 +29625,7 @@
  #: config/nios2/nios2.c:3135
  #, gcc-internal-format
  msgid "invalid argument to built-in function"
@@ -56658,7 +58019,7 @@ Index: gcc/po/es.po
  
  #: config/mips/mips.c:15296
  #, gcc-internal-format
-@@ -32403,7 +30294,7 @@
+@@ -32403,7 +29963,7 @@
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "unrecognized register name %qs"
  msgid "Unrecognised MCU name '%s'."
@@ -56667,7 +58028,7 @@ Index: gcc/po/es.po
  
  #: config/msp430/msp430.c:840
  #, gcc-internal-format
-@@ -32424,7 +30315,7 @@
+@@ -32424,7 +29984,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid argument of %qE attribute"
  msgid "unrecognised interrupt vector argument of %qE attribute"
@@ -56676,7 +58037,7 @@ Index: gcc/po/es.po
  
  #: config/msp430/msp430.c:1857
  #, fuzzy, gcc-internal-format
-@@ -32505,25 +30396,25 @@
+@@ -32505,25 +30065,25 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid type for iteration variable %qE"
  msgid "invalid id value for interrupt/exception attribute"
@@ -56706,7 +58067,7 @@ Index: gcc/po/es.po
  
  #: config/nds32/nds32.c:2706
  #, fuzzy, gcc-internal-format
-@@ -32593,7 +30484,7 @@
+@@ -32593,7 +30153,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "instruction scheduling not supported on this target machine"
  msgid "CDX instructions are only supported with R2 architecture"
@@ -56715,7 +58076,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.c:1383
  #, fuzzy, gcc-internal-format
-@@ -32615,7 +30506,7 @@
+@@ -32615,7 +30175,7 @@
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "invalid argument to built-in function"
  msgid "invalid argument to built-in function %s"
@@ -56724,7 +58085,7 @@ Index: gcc/po/es.po
  
  #: config/nios2/nios2.c:3432
  #, gcc-internal-format, gfc-internal-format
-@@ -32702,7 +30593,7 @@
+@@ -32702,7 +30262,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "COLLECT_LTO_WRAPPER must be set"
  msgid "COLLECT_GCC must be set."
@@ -56733,7 +58094,7 @@ Index: gcc/po/es.po
  
  #: config/nvptx/mkoffload.c:545
  #, fuzzy, gcc-internal-format
-@@ -32710,23 +30601,23 @@
+@@ -32710,23 +30270,23 @@
  msgid "cannot open intermediate ptx file"
  msgstr "%s:no se puede abrir el fichero de grafo\n"
  
@@ -56761,7 +58122,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "using num_workers (%d), ignoring %d"
  msgstr ""
-@@ -32751,7 +30642,7 @@
+@@ -32751,7 +30311,7 @@
  msgid "-g option disabled"
  msgstr "opción -g desactivada"
  
@@ -56770,7 +58131,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-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"
-@@ -32869,336 +30760,347 @@
+@@ -32869,336 +30429,347 @@
  msgid "junk at end of #pragma longcall"
  msgstr "basura al final de #pragma longcall"
  
@@ -57184,7 +58545,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "%s only accepts 1 argument"
  msgid "builtin %s only accepts a string argument"
-@@ -33205,272 +31107,291 @@
+@@ -33205,272 +30776,291 @@
  msgstr "%s sólo acepta 1 argumento"
  
  #. Invalid CPU argument.
@@ -57541,7 +58902,7 @@ Index: gcc/po/es.po
  
  #. Definitions of target machine for GNU compiler,
  #. for IBM RS/6000 POWER running AIX version 4.3.
-@@ -33769,7 +31690,7 @@
+@@ -33769,7 +31359,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid parameter combination for AltiVec intrinsic"
  msgid "invalid parameter combination for intrinsic %qs"
@@ -57550,7 +58911,7 @@ Index: gcc/po/es.po
  
  #: config/s390/s390-c.c:913
  #, fuzzy, gcc-internal-format
-@@ -33787,7 +31708,7 @@
+@@ -33787,7 +31377,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "constant argument out of range for %qs"
  msgid "constant argument %d for builtin %qF is out of range (0.."
@@ -57559,7 +58920,7 @@ Index: gcc/po/es.po
  
  #: config/s390/s390.c:771
  #, fuzzy, gcc-internal-format
-@@ -33817,128 +31738,128 @@
+@@ -33817,128 +31407,128 @@
  msgid "bad builtin icode"
  msgstr "icode interno erróneo"
  
@@ -57713,7 +59074,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "argument to %qE attribute larger than %d"
  msgid "argument to %qs is too large (max. %d)"
-@@ -33945,7 +31866,7 @@
+@@ -33945,7 +31535,7 @@
  msgstr "el argumento para el atributo %qE es más grande que %d"
  
  #. Value is not allowed for the target attribute.
@@ -57722,7 +59083,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "%<__int128%> is not supported by this target"
  msgid "Value %qs is not supported by attribute %<target%>"
-@@ -34024,27 +31945,27 @@
+@@ -34024,27 +31614,27 @@
  msgid "-mrelax is only supported for RTP PIC"
  msgstr "-mrelax sólo se admite pare el PIC de RTP"
  
@@ -57755,7 +59116,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "-fcall-saved-REG is not supported for out registers"
  msgstr "no se admite -fcall-saved-REG para registros de salida"
-@@ -34330,7 +32251,7 @@
+@@ -34330,7 +31920,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid constant in %<#pragma pack%> - ignored"
  msgid "invalid constant in %<#pragma %s%>"
@@ -57764,7 +59125,7 @@ Index: gcc/po/es.po
  
  #: config/xtensa/xtensa.c:2179
  #, gcc-internal-format
-@@ -34383,60 +32304,60 @@
+@@ -34383,60 +31973,60 @@
  msgid "subprogram %q+F not marked Inline"
  msgstr ""
  
@@ -57838,7 +59199,7 @@ Index: gcc/po/es.po
  
  #: c/c-array-notation.c:253 cp/cp-array-notation.c:257
  #, gcc-internal-format
-@@ -34494,8 +32415,8 @@
+@@ -34494,8 +32084,8 @@
  #. an unprototyped function, it is compile-time undefined;
  #. making it a constraint in that case was rejected in
  #. DR#252.
@@ -57849,7 +59210,7 @@ Index: gcc/po/es.po
  #, 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"
-@@ -34555,7 +32476,7 @@
+@@ -34555,7 +32145,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"
  
@@ -57858,7 +59219,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "originally defined here"
  msgstr "se definió originalmente aquí"
-@@ -34801,7 +32722,7 @@
+@@ -34801,7 +32391,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid redeclaration of %q+D"
  msgid "include %qs or provide a declaration of %qD"
@@ -57867,7 +59228,7 @@ Index: gcc/po/es.po
  
  #: c/c-decl.c:3392
  #, gcc-internal-format
-@@ -34823,7 +32744,7 @@
+@@ -34823,7 +32413,7 @@
  msgid "each undeclared identifier is reported only once for each function it appears in"
  msgstr "cada identificador sin declarar se reporta sólo una vez para cada función en el que aparece"
  
@@ -57876,7 +59237,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "label %qE referenced outside of any function"
  msgstr "la etiqueta %qE es referenciada fuera de cualquier función"
-@@ -34843,8 +32764,8 @@
+@@ -34843,8 +32433,8 @@
  msgid "label %qD defined here"
  msgstr "la etiqueta %qD se define aquí"
  
@@ -57887,7 +59248,7 @@ Index: gcc/po/es.po
  #: cp/parser.c:3146 cp/parser.c:3227 cp/parser.c:3255 cp/parser.c:5994
  #, gcc-internal-format
  msgid "%qD declared here"
-@@ -34860,7 +32781,7 @@
+@@ -34860,7 +32450,7 @@
  msgid "duplicate label declaration %qE"
  msgstr "declaración duplicada de la etiqueta %qE"
  
@@ -57896,7 +59257,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "duplicate label %qD"
  msgstr "etiqueta %qD duplicada"
-@@ -34974,7 +32895,7 @@
+@@ -34974,7 +32564,7 @@
  #. C99 6.7.5.2p4
  #. A function definition isn't function prototype scope C99 6.2.1p4.
  #. C99 6.7.5.2p4
@@ -57905,7 +59266,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%<[*]%> not allowed in other than function prototype scope"
  msgstr "no se permite %<[*]%> en otro lugar que no sea el ámbido de prototipo de función"
-@@ -35009,7 +32930,7 @@
+@@ -35009,7 +32599,7 @@
  #. 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.
@@ -57914,7 +59275,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "variable-sized object may not be initialized"
  msgstr "un objeto de tamaño variable puede no ser inicializado"
-@@ -35022,12 +32943,12 @@
+@@ -35022,12 +32612,12 @@
  #: c/c-decl.c:4619
  #, gcc-internal-format
  msgid "inline function %q+D given attribute noinline"
@@ -57929,7 +59290,7 @@ Index: gcc/po/es.po
  
  #: c/c-decl.c:4671
  #, gcc-internal-format
-@@ -35067,7 +32988,7 @@
+@@ -35067,7 +32657,7 @@
  #: c/c-decl.c:5001
  #, gcc-internal-format
  msgid "uninitialized const %qD is invalid in C++"
@@ -57938,7 +59299,7 @@ Index: gcc/po/es.po
  
  #: c/c-decl.c:5058
  #, gcc-internal-format
-@@ -35077,7 +32998,7 @@
+@@ -35077,7 +32667,7 @@
  #: c/c-decl.c:5155
  #, gcc-internal-format
  msgid "defining a type in a compound literal is invalid in C++"
@@ -57947,7 +59308,7 @@ Index: gcc/po/es.po
  
  #: c/c-decl.c:5209 c/c-decl.c:5224
  #, gcc-internal-format
-@@ -35102,7 +33023,7 @@
+@@ -35102,7 +32692,7 @@
  #: c/c-decl.c:5245
  #, gcc-internal-format
  msgid "bit-field %qs has invalid type"
@@ -57956,7 +59317,7 @@ Index: gcc/po/es.po
  
  #: c/c-decl.c:5255
  #, gcc-internal-format
-@@ -35231,7 +33152,7 @@
+@@ -35231,7 +32821,7 @@
  msgid "storage class specified for unnamed parameter"
  msgstr "se especificó una clase de almacenamiento para un parámetro sin nombre"
  
@@ -57965,7 +59326,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "storage class specified for typename"
  msgstr "se especificó una clase de almacenamiento para el nombre de tipo"
-@@ -35295,10 +33216,10 @@
+@@ -35295,10 +32885,10 @@
  msgid "declaration of type name as array of functions"
  msgstr "declaración de nombre de tipo como una matriz de funciones"
  
@@ -57978,7 +59339,7 @@ Index: gcc/po/es.po
  
  #: c/c-decl.c:5800
  #, gcc-internal-format
-@@ -35384,19 +33305,19 @@
+@@ -35384,19 +32974,19 @@
  msgid "function definition has qualified void return type"
  msgstr "la definición de la función tiene un tipo de devolución void calificado"
  
@@ -58001,7 +59362,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "ISO C forbids qualified function types"
  msgstr "ISO C prohíbe los tipos de función calificados"
-@@ -35440,13 +33361,13 @@
+@@ -35440,13 +33030,13 @@
  #, fuzzy, gcc-internal-format
  #| msgid "bit-field %qs has invalid type"
  msgid "bit-field %qE has atomic type"
@@ -58017,7 +59378,7 @@ Index: gcc/po/es.po
  
  #: c/c-decl.c:6312
  #, gcc-internal-format
-@@ -35514,7 +33435,7 @@
+@@ -35514,7 +33104,7 @@
  msgid "a member of a structure or union cannot have a variably modified type"
  msgstr "un miembro de una estructura o union no puede tener un tipo modificado variablemente"
  
@@ -58026,7 +59387,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "variable or field %qE declared void"
  msgstr "se declaró la variable o campo %qE como void"
-@@ -35549,420 +33470,420 @@
+@@ -35549,420 +33139,420 @@
  msgid "unnamed field has incomplete type"
  msgstr "el campo sin nombre tiene tipo de dato incompleto"
  
@@ -58533,7 +59894,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "parameter %qD set but not used"
  msgstr "se definió el parámetro %qD pero no se usa"
-@@ -35970,232 +33891,232 @@
+@@ -35970,232 +33560,232 @@
  #. 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.
@@ -58810,7 +60171,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "right shift count >= width of type"
  msgstr "cuenta de desplazamiento a la derecha >= anchura del tipo"
-@@ -36210,7 +34131,7 @@
+@@ -36210,7 +33800,7 @@
  msgid "version control conflict marker in file"
  msgstr ""
  
@@ -58819,7 +60180,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "expected end of line"
  msgstr "se esperaba fin de línea"
-@@ -36245,8 +34166,8 @@
+@@ -36245,8 +33835,8 @@
  msgid "use %<enum%> keyword to refer to the type"
  msgstr ""
  
@@ -58830,7 +60191,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "expected declaration specifiers"
  msgstr "se esperaban especificadores de declaración"
-@@ -36262,7 +34183,7 @@
+@@ -36262,7 +33852,7 @@
  msgid "expected %<;%>, identifier or %<(%>"
  msgstr "se esperaba %<;>, identificador o %<(%>"
  
@@ -58839,7 +60200,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "prefix attributes are ignored for methods"
  msgstr "se descartan los atributos de prefijo para los métodos"
-@@ -36314,7 +34235,7 @@
+@@ -36314,7 +33904,7 @@
  msgid "%<__auto_type%> may only be used with a single declarator"
  msgstr "%<auto%> sólo se puede especificar para variables o declaraciones de función"
  
@@ -58848,7 +60209,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "expected %<,%> or %<;%>"
  msgstr "se esperaba %<,%> o %<;%>"
-@@ -36342,7 +34263,7 @@
+@@ -36342,7 +33932,7 @@
  msgid "ISO C90 does not support %<_Static_assert%>"
  msgstr "ISO C90 no admite %<_Static_assert%>"
  
@@ -58857,7 +60218,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "expected string literal"
  msgstr "se esperaba una cadena literal"
-@@ -36399,7 +34320,7 @@
+@@ -36399,7 +33989,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "template argument %d is invalid"
  msgid "empty enum is invalid"
@@ -58866,7 +60227,7 @@ Index: gcc/po/es.po
  
  #: c/c-parser.c:2707 c/c-parser.c:3649 c/c-parser.c:4437 c/c-parser.c:4734
  #: c/c-parser.c:6131 c/c-parser.c:6218 c/c-parser.c:6893 c/c-parser.c:7504
-@@ -36408,15 +34329,15 @@
+@@ -36408,15 +33998,15 @@
  #: c/c-parser.c:8877 c/c-parser.c:8885 c/c-parser.c:8914 c/c-parser.c:8927
  #: c/c-parser.c:9232 c/c-parser.c:9356 c/c-parser.c:9796 c/c-parser.c:9831
  #: c/c-parser.c:9884 c/c-parser.c:9937 c/c-parser.c:9953 c/c-parser.c:9999
@@ -58887,7 +60248,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "comma at end of enumerator list"
  msgstr "coma al final de la lista de enumeradores"
-@@ -36552,7 +34473,7 @@
+@@ -36552,7 +34142,7 @@
  msgid "expected %<}%> before %<else%>"
  msgstr "se esperaba %<}%> antes de %<else%>"
  
@@ -58896,7 +60257,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%<else%> without a previous %<if%>"
  msgstr "%<else%> sin un %<if%> previo"
-@@ -36572,12 +34493,12 @@
+@@ -36572,12 +34162,12 @@
  msgid "a label can only be part of a statement and a declaration is not a statement"
  msgstr "una etiqueta sólo puede ser parte de una declaración y una declaración no es un enunciado"
  
@@ -58911,7 +60272,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "-fcilkplus must be enabled to use %<_Cilk_sync%>"
  msgstr ""
-@@ -36591,17 +34512,17 @@
+@@ -36591,17 +34181,17 @@
  #. c_parser_skip_until_found stops at a closing nesting
  #. delimiter without consuming it, but here we need to consume
  #. it to proceed further.
@@ -58932,7 +60293,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "suggest braces around empty body in an %<else%> statement"
  msgstr "se sugieren llaves alrededor del cuerpo vacío en una declaración %<else%>"
-@@ -36611,7 +34532,7 @@
+@@ -36611,7 +34201,7 @@
  msgid "if statement cannot contain %<Cilk_spawn%>"
  msgstr ""
  
@@ -58941,7 +60302,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "suggest explicit braces to avoid ambiguous %<else%>"
  msgstr "se sugieren llaves explícitas para evitar un %<else%> ambiguo"
-@@ -36629,9 +34550,9 @@
+@@ -36629,9 +34219,9 @@
  #: c/c-parser.c:5831
  #, gcc-internal-format
  msgid "invalid iterating variable in fast enumeration"
@@ -58953,7 +60314,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "missing loop condition in loop with %<GCC ivdep%> pragma"
  msgstr ""
-@@ -36884,32 +34805,32 @@
+@@ -36884,32 +34474,32 @@
  msgid "no type or storage class may be specified here,"
  msgstr "ninguna clase de almacenamiento o tipo se puede especificar aquí,"
  
@@ -58992,7 +60353,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "the %<getter%> attribute may only be specified once"
  msgstr "el atributo %<getter%> sólo se puede especificar una vez"
-@@ -36920,50 +34841,50 @@
+@@ -36920,50 +34510,50 @@
  msgid "%<#pragma acc update%> may only be used in compound statements"
  msgstr "%<#pragma omp barrier%> sólo se puede usar en declaraciones compuestas"
  
@@ -59052,7 +60413,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%<#pragma GCC pch_preprocess%> must be first"
  msgstr "%<#pragma GCC pch_preprocess%> debe ser primero"
-@@ -36979,12 +34900,12 @@
+@@ -36979,12 +34569,12 @@
  msgid "%<#pragma grainsize%> must be inside a function"
  msgstr "no se permite #pragma GCC optimize dentro de funciones"
  
@@ -59067,7 +60428,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "expected integer expression"
  msgid "expected integer expression before ')'"
-@@ -36996,754 +34917,748 @@
+@@ -36996,754 +34586,748 @@
  msgid "expression must be integral"
  msgstr "la expresión num_threads debe ser integral"
  
@@ -59972,7 +61333,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "expected boolean expression"
  msgid "expected array notation expression"
-@@ -37755,26 +35670,26 @@
+@@ -37755,26 +35339,26 @@
  msgid "%qD has an incomplete type %qT"
  msgstr "%qD tiene un tipo de dato incompleto"
  
@@ -60004,7 +61365,7 @@ Index: gcc/po/es.po
  
  #. If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL.
  #: c/c-typeck.c:256
-@@ -37781,7 +35696,7 @@
+@@ -37781,7 +35365,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid use of incomplete typedef %qD"
  msgid "invalid use of incomplete typedef %qT"
@@ -60013,7 +61374,7 @@ Index: gcc/po/es.po
  
  #: c/c-typeck.c:329
  #, gcc-internal-format
-@@ -38014,296 +35929,296 @@
+@@ -38014,296 +35598,296 @@
  msgid "passing argument %d of %qE as signed due to prototype"
  msgstr "se pasa el argumento %d de %qE como signed debido al prototipo"
  
@@ -60371,7 +61732,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "array initialized from parenthesized string constant"
  msgstr "matriz inicializada con una constante de cadena entre paréntesis"
-@@ -38319,169 +36234,169 @@
+@@ -38319,169 +35903,169 @@
  #. strings are complete sentences, visible to gettext and checked at
  #. compile time.  It is the same as PEDWARN_FOR_QUALIFIERS but uses
  #. warning_at instead of pedwarn.
@@ -60579,7 +61940,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "return from incompatible pointer type"
  msgstr "devolución desde un tipo de puntero incompatible"
-@@ -38488,810 +36403,810 @@
+@@ -38488,810 +36072,810 @@
  
  #. ??? This should not be an error when inlining calls to
  #. unprototyped functions.
@@ -61559,7 +62920,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "  no known conversion for argument %d from %qT to %qT"
  msgid "  conversion of argument %d would be ill-formed:"
-@@ -39298,18 +37213,18 @@
+@@ -39298,18 +36882,18 @@
  msgstr "  no hay una conversión conocida para el argumento %d de %qT a %qT"
  
  #. Conversion of conversion function return value failed.
@@ -61581,7 +62942,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "  candidate expects %d argument, %d provided"
  msgid_plural "  candidate expects %d arguments, %d provided"
-@@ -39316,83 +37231,83 @@
+@@ -39316,83 +36900,83 @@
  msgstr[0] "  el candidato espera %d argumento, se proporcionaron %d"
  msgstr[1] "  el candidato espera %d argumentos, se proporcionaron %d"
  
@@ -61682,7 +63043,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "call of overloaded %<%D(%A)%> is ambiguous"
  msgstr "la llamada del %<%D(%A)%> sobrecargado es ambigua"
-@@ -39399,501 +37314,501 @@
+@@ -39399,501 +36983,501 @@
  
  #. It's no good looking for an overloaded operator() on a
  #. pointer-to-member-function.
@@ -62283,7 +63644,7 @@ Index: gcc/po/es.po
  
  #: cp/class.c:324
  #, fuzzy, gcc-internal-format
-@@ -39964,7 +37879,7 @@
+@@ -39964,7 +37548,7 @@
  #: cp/class.c:1350 cp/class.c:1358
  #, gcc-internal-format
  msgid "%q+D invalid in %q#T"
@@ -62292,7 +63653,7 @@ Index: gcc/po/es.po
  
  #: cp/class.c:1351
  #, gcc-internal-format
-@@ -40062,13 +37977,13 @@
+@@ -40062,13 +37646,13 @@
  #, fuzzy, gcc-internal-format
  #| msgid "%q+#D invalid; an anonymous union can only have non-static data members"
  msgid "%q#D invalid; an anonymous union can only have non-static data members"
@@ -62308,7 +63669,7 @@ Index: gcc/po/es.po
  
  #: cp/class.c:3111 cp/decl2.c:1545
  #, fuzzy, gcc-internal-format
-@@ -40171,12 +38086,12 @@
+@@ -40171,12 +37755,12 @@
  #: cp/class.c:3731
  #, gcc-internal-format
  msgid "field %q+D invalidly declared function type"
@@ -62323,7 +63684,7 @@ Index: gcc/po/es.po
  
  #: cp/class.c:3797
  #, fuzzy, gcc-internal-format
-@@ -40222,82 +38137,82 @@
+@@ -40222,82 +37806,82 @@
  msgid "  but does not override %<operator=(const %T&)%>"
  msgstr "  pero no se impone a %<operator=(const %T&)%>"
  
@@ -62421,7 +63782,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "non-static const member %q+#D in class without a constructor"
  msgid "non-static const member %q#D in class without a constructor"
-@@ -40305,147 +38220,147 @@
+@@ -40305,147 +37889,147 @@
  
  #. If the function is defaulted outside the class, we just
  #. give the synthesis error.
@@ -62596,7 +63957,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "cannot convert %qE from type %qT to type %qT"
  msgstr "no se puede convertir %qE desde el tipo %qT al tipo %qT"
-@@ -40455,12 +38370,12 @@
+@@ -40455,12 +38039,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.
@@ -62611,7 +63972,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "changes meaning of %qD from %q+#D"
  msgid "changes meaning of %qD from %q#D"
-@@ -40486,12 +38401,12 @@
+@@ -40486,12 +38070,12 @@
  #: cp/constexpr.c:190
  #, gcc-internal-format
  msgid "invalid type for parameter %d of constexpr function %q+#D"
@@ -62626,7 +63987,7 @@ Index: gcc/po/es.po
  
  #: cp/constexpr.c:227
  #, gcc-internal-format
-@@ -40498,55 +38413,55 @@
+@@ -40498,55 +38082,55 @@
  msgid "%q#T has virtual base classes"
  msgstr "%q#T tiene clases base virtuales"
  
@@ -62692,7 +64053,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "%qD called in a constant expression"
  msgid "%qD called in a constant expression before its definition is complete"
-@@ -40553,233 +38468,239 @@
+@@ -40553,233 +38137,239 @@
  msgstr "se llamó %qD en una expresión constante"
  
  #. The definition of fun was somehow unsuitable.
@@ -62976,7 +64337,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "unexpected AST of kind %s"
  msgstr "AST inesperado de género %s"
-@@ -40854,17 +38775,17 @@
+@@ -40854,17 +38444,17 @@
  msgid "try statements are not allowed inside loops marked with #pragma simd"
  msgstr "No se permite una declaración %s dentro de BLOCK en %C"
  
@@ -62997,7 +64358,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "in C++11 this throw will terminate because destructors default to noexcept"
  msgstr ""
-@@ -40904,7 +38825,7 @@
+@@ -40904,7 +38494,7 @@
  msgid "conversion from %qT to %qT discards qualifiers"
  msgstr "la conversión de %qT a %qT descarta los calificadores"
  
@@ -63006,7 +64367,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "casting %qT to %qT does not dereference pointer"
  msgstr "la conversión de %qT a %qT no dereferencía a los punteros"
-@@ -41206,7 +39127,7 @@
+@@ -41206,7 +38796,7 @@
  msgid "  candidate conversions include %qD and %qD"
  msgstr "  las conversiones candidatas incluyen %qD y %qD"
  
@@ -63015,7 +64376,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "template-parameter-"
  msgstr "parámetro-de-plantilla-"
-@@ -41222,7 +39143,7 @@
+@@ -41222,7 +38812,7 @@
  msgid "%qD was declared %<extern%> and later %<static%>"
  msgstr "%qD se declaró %<extern%> y después %<static%>"
  
@@ -63024,7 +64385,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "previous declaration of %q+D"
  msgid "previous declaration of %qD"
-@@ -41467,12 +39388,12 @@
+@@ -41467,12 +39057,12 @@
  #. that specialization that would cause an implicit
  #. instantiation to take place, in every translation unit in
  #. which such a use occurs.
@@ -63039,7 +64400,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "'setter' attribute of property %qD conflicts with previous declaration"
  msgid "%qD: visibility attribute ignored because it conflicts with previous declaration"
-@@ -41479,435 +39400,435 @@
+@@ -41479,435 +39069,435 @@
  msgstr "el atributo 'setter' de la propiedad %qD genera un conflicto con la declaración previa"
  
  #. Reject two definitions.
@@ -63561,7 +64922,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "zero-size array %qD"
  msgstr "matriz %qD de tamaño cero"
-@@ -41915,920 +39836,926 @@
+@@ -41915,920 +39505,926 @@
  #. 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.
@@ -64695,7 +66056,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%qs function with trailing return type has %qT as its type rather than plain %<auto%>"
  msgstr "la función %qs con tipo de devolución trailing tiene %qT como su tipo en lugar de un simple %<auto%>"
-@@ -42835,43 +40762,43 @@
+@@ -42835,43 +40431,43 @@
  
  #. Not using maybe_warn_cpp0x because this should
  #. always be an error.
@@ -64747,7 +66108,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "constructors cannot be declared virtual"
  msgid "constructors cannot be declared %<virtual%>"
-@@ -42878,483 +40805,483 @@
+@@ -42878,483 +40474,483 @@
  msgstr "los constructores no se pueden declarar virtual"
  
  #. Cannot be both friend and virtual.
@@ -65335,7 +66696,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "parameter %qD includes reference to array of unknown bound %qT"
  msgstr "el parámetro %qD incluye una referencia a matriz %qT de límite desconocido"
-@@ -43374,93 +41301,93 @@
+@@ -43374,93 +40970,93 @@
  #. 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.
@@ -65448,7 +66809,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%qD must take either one or two arguments"
  msgstr "%qD debe tomar uno o dos argumentos"
-@@ -43467,77 +41394,77 @@
+@@ -43467,77 +41063,77 @@
  
  #  En esta traducción se emplea 'devolver' por 'return'. Si embargo, aquí
  #  se cambió por cacofonía: no es agradable escuchar 'debe devolver'. cfuga
@@ -65541,7 +66902,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%qT referred to as enum"
  msgstr "se refirió a %qT como un enum"
-@@ -43549,75 +41476,75 @@
+@@ -43549,75 +41145,75 @@
  #. void f(class C);		// No template header here
  #.
  #. then the required template argument is missing.
@@ -65634,7 +66995,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "type %qT is not a direct or virtual base of %qT"
  msgid "%qT defined with direct virtual base"
-@@ -43625,42 +41552,42 @@
+@@ -43625,42 +41221,42 @@
  
  #  No me gusta mucho esta traducción. Creo que es mejor
  #  "el tipo base %qT no es de tipo struct o clase". cfuga
@@ -65686,7 +67047,7 @@ Index: gcc/po/es.po
  #, 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"
-@@ -43669,80 +41596,80 @@
+@@ -43669,80 +41265,80 @@
  #.
  #. IF no integral type can represent all the enumerator values, the
  #. enumeration is ill-formed.
@@ -65784,7 +67145,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "type of %qD defaults to %<int%>"
  msgid "use of %qD before deduction of %<auto%>"
-@@ -43761,7 +41688,7 @@
+@@ -43761,7 +41357,7 @@
  #: cp/decl2.c:417
  #, gcc-internal-format
  msgid "invalid types %<%T[%T]%> for array subscript"
@@ -65793,7 +67154,7 @@ Index: gcc/po/es.po
  
  #: cp/decl2.c:466
  #, fuzzy, gcc-internal-format
-@@ -43784,7 +41711,7 @@
+@@ -43784,7 +41380,7 @@
  msgid "deleting %qT is undefined"
  msgstr "el borrado de %qT está indefinido"
  
@@ -65802,7 +67163,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "template declaration of %q#D"
  msgstr "declaración plantilla de %q#D"
-@@ -43807,7 +41734,7 @@
+@@ -43807,7 +41403,7 @@
  #. [temp.mem]
  #.
  #. A destructor shall not be a member template.
@@ -65811,7 +67172,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "destructor %qD declared as member template"
  msgstr "se declaró el destructor %qD como una plantilla miembro"
-@@ -43852,7 +41779,7 @@
+@@ -43852,7 +41448,7 @@
  #: cp/decl2.c:979 cp/decl2.c:987
  #, gcc-internal-format
  msgid "invalid initializer for member function %qD"
@@ -65820,7 +67181,7 @@ Index: gcc/po/es.po
  
  #: cp/decl2.c:994
  #, fuzzy, gcc-internal-format
-@@ -44047,7 +41974,7 @@
+@@ -44047,7 +41643,7 @@
  msgid "inline function %qD used but never defined"
  msgstr "se usa la función inline %q+D pero nunca se define"
  
@@ -65829,7 +67190,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "default argument missing for parameter %P of %q+#D"
  msgstr "falta el argumento por defecto para el parámetro %P de %q+#D"
-@@ -44054,121 +41981,121 @@
+@@ -44054,121 +41650,121 @@
  
  #. We mark a lambda conversion op as deleted if we can't
  #. generate it properly; see maybe_add_lambda_conv_op.
@@ -65975,7 +67336,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%<::%D%> has not been declared"
  msgstr "%<::%D%> no se ha declarado"
-@@ -44205,7 +42132,7 @@
+@@ -44205,7 +41801,7 @@
  msgid "throwing NULL, which has integral, not pointer type"
  msgstr "arrojando NULL, que tiene un tipo integral, que no es puntero"
  
@@ -65984,7 +67345,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%qD should never be overloaded"
  msgstr "%qD nunca se debe sobrecargar"
-@@ -44267,7 +42194,7 @@
+@@ -44267,7 +41863,7 @@
  #: cp/friend.c:233
  #, gcc-internal-format
  msgid "invalid type %qT declared %<friend%>"
@@ -65993,7 +67354,7 @@ Index: gcc/po/es.po
  
  #. [temp.friend]
  #. Friend declarations shall not declare partial
-@@ -44398,21 +42325,21 @@
+@@ -44398,21 +41994,21 @@
  #: cp/init.c:742
  #, gcc-internal-format
  msgid "invalid initializer for array member %q#D"
@@ -66020,7 +67381,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "uninitialized reference member in %q#T"
  msgstr "miembro referencia sin inicializar en %q#T"
-@@ -44509,220 +42436,220 @@
+@@ -44509,220 +42105,220 @@
  msgid "bad array initializer"
  msgstr "inicializador de matriz erróneo"
  
@@ -66286,7 +67647,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "type to vector delete is neither pointer or array type"
  msgstr "el tipo de vector delete no es del tipo puntero ni matriz"
-@@ -44743,23 +42670,23 @@
+@@ -44743,23 +42339,23 @@
  msgid "because the array element type %qT has variable size"
  msgstr "la literal compuesta tiene tamaño variable"
  
@@ -66315,7 +67676,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%<this%> was not captured for this lambda function"
  msgstr "no se capturó %<this%> para esta función lambda"
-@@ -44772,7 +42699,7 @@
+@@ -44772,7 +42368,7 @@
  #: cp/lex.c:332
  #, gcc-internal-format, gfc-internal-format
  msgid "invalid #pragma %s"
@@ -66324,7 +67685,7 @@ Index: gcc/po/es.po
  
  #: cp/lex.c:340
  #, gcc-internal-format
-@@ -44834,94 +42761,94 @@
+@@ -44834,94 +42430,94 @@
  msgid "mangling unknown fixed point type"
  msgstr "se decodifica el tipo de coma fija desconocido"
  
@@ -66437,7 +67798,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "non-static data member %qD has Java class type"
  msgid "copying non-static data member %q#D of rvalue reference type"
-@@ -44928,74 +42855,74 @@
+@@ -44928,74 +42524,74 @@
  msgstr "el dato miembro que no es estático %qD tiene un tipo de clase Java"
  
  #. A trivial constructor doesn't have any NSDMI.
@@ -66526,7 +67887,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "defaulted function %q+D with default argument"
  msgstr "función definida por defecto %q+D con argumento por defecto"
-@@ -45019,7 +42946,7 @@
+@@ -45019,7 +42615,7 @@
  #: cp/name-lookup.c:827
  #, gcc-internal-format
  msgid "invalid redeclaration of %q+D"
@@ -66535,7 +67896,7 @@ Index: gcc/po/es.po
  
  #: cp/name-lookup.c:828
  #, gcc-internal-format
-@@ -45321,13 +43248,13 @@
+@@ -45321,13 +42917,13 @@
  msgid "LEXER_DEBUGGING_ENABLED_P is not set to true"
  msgstr ""
  
@@ -66552,7 +67913,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "the %<constexpr%> specifier cannot be used in a function declaration that is not a definition"
  msgid "%<#pragma acc routine%> not followed by a function declaration or definition"
-@@ -45353,7 +43280,7 @@
+@@ -45353,7 +42949,7 @@
  msgid "request for member %qE in non-class type %qT"
  msgstr "solicitud por el miembro %qE en el tipo %qT que no es clase"
  
@@ -66561,7 +67922,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%<%T::%E%> has not been declared"
  msgstr "%<%T::%E%> no se ha declarado"
-@@ -45427,7 +43354,7 @@
+@@ -45427,7 +43023,7 @@
  #: cp/parser.c:2980
  #, gcc-internal-format
  msgid "invalid template-id"
@@ -66570,7 +67931,7 @@ Index: gcc/po/es.po
  
  #: cp/parser.c:3013
  #, gcc-internal-format
-@@ -45434,7 +43361,7 @@
+@@ -45434,7 +43030,7 @@
  msgid "floating-point literal cannot appear in a constant-expression"
  msgstr "una literal de coma flotante no puede aparecer en una expresión constante"
  
@@ -66579,7 +67940,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
  msgstr "una conversión a un tipo diferente de un tipo integral o de enumeración no puede aparecer en una expresión constante"
-@@ -45507,18 +43434,18 @@
+@@ -45507,18 +43103,18 @@
  #: cp/parser.c:3144
  #, gcc-internal-format
  msgid "invalid use of template-name %qE without an argument list"
@@ -66601,7 +67962,7 @@ Index: gcc/po/es.po
  
  #. Issue an error message.
  #: cp/parser.c:3156
-@@ -45605,7 +43532,7 @@
+@@ -45605,7 +43201,7 @@
  #: cp/parser.c:3966
  #, gcc-internal-format
  msgid "a wide string is invalid in this context"
@@ -66610,7 +67971,7 @@ Index: gcc/po/es.po
  
  #: cp/parser.c:4081
  #, gcc-internal-format
-@@ -45645,7 +43572,7 @@
+@@ -45645,7 +43241,7 @@
  msgid "unable to find string literal operator %qD with %qT, %qT arguments"
  msgstr "no se puede encontrar un operador literal de cadena %qD con argumentos %qT, %qT"
  
@@ -66619,7 +67980,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "expected declaration"
  msgstr "se esperaba una declaración"
-@@ -45660,7 +43587,7 @@
+@@ -45660,7 +43256,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "expected %<...%>"
  msgid "expected ..."
@@ -66628,7 +67989,7 @@ Index: gcc/po/es.po
  
  #: cp/parser.c:4640
  #, fuzzy, gcc-internal-format
-@@ -45752,7 +43679,7 @@
+@@ -45752,7 +43348,7 @@
  msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization"
  msgstr "los sufijos de operador literal que no están precedidos por %<_%> están reservados para estandarización futura"
  
@@ -66637,7 +67998,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "expected unqualified-id"
  msgstr "se esperaba un id sin calificar"
-@@ -45828,7 +43755,7 @@
+@@ -45828,7 +43424,7 @@
  #: cp/parser.c:7305 cp/typeck.c:2498
  #, gcc-internal-format
  msgid "invalid use of %qD"
@@ -66646,7 +68007,7 @@ Index: gcc/po/es.po
  
  #: cp/parser.c:7314
  #, gcc-internal-format
-@@ -45917,144 +43844,144 @@
+@@ -45917,144 +43513,144 @@
  msgid "lambda-expression in template-argument"
  msgstr "expresión lambda en un contexto sin evaluar"
  
@@ -66818,7 +68179,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "compound-statement in constexpr function"
  msgid "%<goto%> in %<constexpr%> function"
-@@ -46061,49 +43988,55 @@
+@@ -46061,49 +43657,55 @@
  msgstr "declaración compuesta en una función constexpr"
  
  #. Issue a warning about this use of a GNU extension.
@@ -66883,7 +68244,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%<friend%> used outside of class"
  msgstr "se usó %<friend%> fuera de la clase"
-@@ -46110,483 +44043,483 @@
+@@ -46110,483 +43712,483 @@
  
  #. Complain about `auto' as a storage specifier, if
  #. we're complaining about C++0x compatibility.
@@ -67470,7 +68831,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
  msgstr "use %<%T::%D%> en lugar de %<%T::%D%> para nombrar el constructor en un nombre calificado"
-@@ -46595,339 +44528,339 @@
+@@ -46595,339 +44197,339 @@
  #. here because we do not have enough
  #. information about its original syntactic
  #. form.
@@ -67884,7 +69245,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "too few template-parameter-lists"
  msgstr "faltan listas-de-parámetros-de-plantilla"
-@@ -46936,464 +44869,464 @@
+@@ -46936,464 +44538,464 @@
  #. something like:
  #.
  #. template <class T> template <class U> void S::f();
@@ -68448,7 +69809,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "%<#pragma GCC option%> is not a string"
  msgid "%<#pragma acc routine%> does not refer to a function"
-@@ -47400,141 +45333,141 @@
+@@ -47400,141 +45002,141 @@
  msgstr "%<#pragma GCC option%> no es una cadena"
  
  #. cancel-and-throw is unimplemented.
@@ -68618,7 +69979,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "specializing %q#T in different namespace"
  msgstr "se especializó %q#T en un espacio de nombres diferente"
-@@ -47541,72 +45474,72 @@
+@@ -47541,72 +45143,72 @@
  
  #. But if we've had an implicit instantiation, that's a
  #. problem ([temp.expl.spec]/6).
@@ -68704,7 +70065,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "members of an explicitly specialized class are defined without a template header"
  msgstr ""
-@@ -47613,60 +45546,60 @@
+@@ -47613,60 +45215,60 @@
  
  #. This case handles bogus declarations like template <>
  #. template <class T> void f<int>();
@@ -68776,7 +70137,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%qD is not a template function"
  msgstr "%qD no es una función plantilla"
-@@ -47679,126 +45612,138 @@
+@@ -47679,126 +45281,138 @@
  #. program is ill-formed.
  #.
  #. Similar language is found in [temp.explicit].
@@ -68938,7 +70299,7 @@ Index: gcc/po/es.po
  #, 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"
-@@ -47805,19 +45750,19 @@
+@@ -47805,19 +45419,19 @@
  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"
  
@@ -68961,7 +70322,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "no default argument for %qD"
  msgstr "no hay un argumento por defecto para %qD"
-@@ -47825,49 +45770,49 @@
+@@ -47825,49 +45439,49 @@
  #. A primary class template can only have one
  #. parameter pack, at the end of the template
  #. parameter list.
@@ -69020,7 +70381,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "non-member function %qD cannot have cv-qualifier"
  msgid "member template %qD may not have virt-specifiers"
-@@ -47878,57 +45823,57 @@
+@@ -47878,57 +45492,57 @@
  #. An allocation function can be a function
  #. template. ... Template allocation functions shall
  #. have two or more parameters.
@@ -69090,7 +70451,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "redeclared with %d template parameter"
  msgid_plural "redeclared with %d template parameters"
-@@ -47935,7 +45880,7 @@
+@@ -47935,7 +45549,7 @@
  msgstr[0] "se redeclaró con %d parámetro de plantilla"
  msgstr[1] "se redeclaró con %d parámetros de plantilla"
  
@@ -69099,7 +70460,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "previous declaration %q+D used %d template parameter"
  #| msgid_plural "previous declaration %q+D used %d template parameters"
-@@ -47944,12 +45889,12 @@
+@@ -47944,12 +45558,12 @@
  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"
  
@@ -69114,7 +70475,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "redeclared here as %q#D"
  msgstr "redeclarado aquí como %q#D"
-@@ -47958,115 +45903,115 @@
+@@ -47958,115 +45572,115 @@
  #.
  #. A template-parameter may not be given default arguments
  #. by two different declarations in the same scope.
@@ -69252,7 +70613,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "  candidate expects %d argument, %d provided"
  #| msgid_plural "  candidate expects %d arguments, %d provided"
-@@ -48075,186 +46020,186 @@
+@@ -48075,186 +45689,186 @@
  msgstr[0] "  el candidato espera %d argumento, se proporcionaron %d"
  msgstr[1] "  el candidato espera %d argumentos, se proporcionaron %d"
  
@@ -69476,7 +70837,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "  expected a type, got %qE"
  msgid "  expected %qD but got %qD"
-@@ -48262,109 +46207,109 @@
+@@ -48262,109 +45876,109 @@
  
  #. Not sure if this is reachable, but it doesn't hurt
  #. to be robust.
@@ -69610,7 +70971,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "redefinition of default argument for %q#D"
  msgid "  when instantiating default argument for call to %D"
-@@ -48383,273 +46328,273 @@
+@@ -48383,273 +45997,273 @@
  #.
  #. is an attempt to declare a variable with function
  #. type.
@@ -69940,7 +71301,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "duplicate explicit instantiation of %q#T"
  msgstr "instanciación explícita duplicada de %q#T"
-@@ -48661,75 +46606,75 @@
+@@ -48661,75 +46275,75 @@
  #. member function or static data member of a class template
  #. shall be present in every translation unit in which it is
  #. explicitly instantiated.
@@ -70031,7 +71392,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "insn does not satisfy its constraints:"
  msgid "deduced expression type does not saatisy placeholder constraints"
-@@ -48796,86 +46741,86 @@
+@@ -48796,86 +46410,86 @@
  msgid "%qT is an inaccessible base of %qT"
  msgstr "%qT es una base inaccesible de %qT"
  
@@ -70136,7 +71497,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "overriding final function %q+D"
  msgstr "se anula la función final %q+D"
-@@ -48882,12 +46827,12 @@
+@@ -48882,12 +46496,12 @@
  
  #. A static member function cannot match an inherited
  #. virtual member function.
@@ -70151,7 +71512,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "  since %q+#D declared in base class"
  msgstr "  ya que se declaró %q+#D en la clase base"
-@@ -48907,466 +46852,466 @@
+@@ -48907,466 +46521,466 @@
  msgid "__label__ declarations are only allowed in function scopes"
  msgstr "las declaraciones __label__ sólo se permiten en ámbitos de función"
  
@@ -70714,7 +72075,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "no unexpanded parameter packs in binary fold"
  msgstr ""
-@@ -49382,124 +47327,124 @@
+@@ -49382,124 +46996,124 @@
  msgid "lambda-expression in a constant expression"
  msgstr "la expresión %qE no es una expresión constante"
  
@@ -70861,7 +72222,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "lang_* check: failed in %s, at %s:%d"
  msgstr "revisión lang_*: falló en %s, en %s:%d"
-@@ -49562,12 +47507,12 @@
+@@ -49562,12 +47176,12 @@
  #: cp/typeck.c:1562
  #, gcc-internal-format
  msgid "invalid application of %qs to a member function"
@@ -70876,7 +72237,7 @@ Index: gcc/po/es.po
  
  #: cp/typeck.c:1658
  #, gcc-internal-format
-@@ -49577,7 +47522,7 @@
+@@ -49577,7 +47191,7 @@
  #: cp/typeck.c:1709
  #, gcc-internal-format
  msgid "invalid application of %<__alignof%> to a bit-field"
@@ -70885,7 +72246,7 @@ Index: gcc/po/es.po
  
  #: cp/typeck.c:1720
  #, gcc-internal-format
-@@ -49588,7 +47533,7 @@
+@@ -49588,7 +47202,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid use of non-static member function %qD"
  msgid "invalid use of non-static member function of type %qT"
@@ -70894,7 +72255,7 @@ Index: gcc/po/es.po
  
  #: cp/typeck.c:2001
  #, gcc-internal-format
-@@ -49619,13 +47564,13 @@
+@@ -49619,13 +47233,13 @@
  #: cp/typeck.c:2337
  #, gcc-internal-format
  msgid "invalid use of nonstatic data member %qE"
@@ -70910,7 +72271,7 @@ Index: gcc/po/es.po
  
  #: cp/typeck.c:2545
  #, gcc-internal-format
-@@ -49672,17 +47617,17 @@
+@@ -49672,17 +47286,17 @@
  #: cp/typeck.c:3040
  #, gcc-internal-format
  msgid "invalid use of array indexing on pointer to member"
@@ -70931,7 +72292,7 @@ Index: gcc/po/es.po
  
  #: cp/typeck.c:3049
  #, gcc-internal-format
-@@ -49874,7 +47819,7 @@
+@@ -49874,7 +47488,7 @@
  #: cp/typeck.c:4949
  #, gcc-internal-format
  msgid "invalid operands of types %qT and %qT to binary %qO"
@@ -70940,7 +72301,7 @@ Index: gcc/po/es.po
  
  #: cp/typeck.c:5249
  #, gcc-internal-format
-@@ -49894,7 +47839,7 @@
+@@ -49894,7 +47508,7 @@
  #: cp/typeck.c:5284
  #, gcc-internal-format
  msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
@@ -70949,7 +72310,7 @@ Index: gcc/po/es.po
  
  #: cp/typeck.c:5359
  #, gcc-internal-format
-@@ -49909,7 +47854,7 @@
+@@ -49909,7 +47523,7 @@
  #: cp/typeck.c:5376
  #, gcc-internal-format
  msgid "invalid use of %qE to form a pointer-to-member-function"
@@ -70958,7 +72319,7 @@ Index: gcc/po/es.po
  
  #: cp/typeck.c:5379
  #, gcc-internal-format
-@@ -49991,7 +47936,7 @@
+@@ -49991,7 +47605,7 @@
  #: cp/typeck.c:6032
  #, gcc-internal-format
  msgid "invalid use of Boolean expression as operand to %<operator--%>"
@@ -70967,7 +72328,7 @@ Index: gcc/po/es.po
  
  #: cp/typeck.c:6194
  #, gcc-internal-format
-@@ -50008,269 +47953,269 @@
+@@ -50008,269 +47622,269 @@
  msgid "address requested for %qD, which is declared %<register%>"
  msgstr "se solicitó la dirección de %qD, la cual se declaró como %<register%>"
  
@@ -71299,7 +72660,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "returning a value from a destructor"
  msgstr "se devuelve un valor de un destructor"
-@@ -50277,57 +48222,57 @@
+@@ -50277,57 +47891,57 @@
  
  #. If a return statement appears in a handler of the
  #. function-try-block of a constructor, the program is ill-formed.
@@ -71367,7 +72728,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "using xvalue (rvalue reference) as lvalue"
  msgstr "se usa xvalue (referencia a r-valor) como l-valor"
-@@ -50401,23 +48346,23 @@
+@@ -50401,23 +48015,23 @@
  #: cp/typeck2.c:336
  #, gcc-internal-format
  msgid "invalid abstract return type for member function %q+#D"
@@ -71395,7 +72756,7 @@ Index: gcc/po/es.po
  
  #: cp/typeck2.c:348
  #, gcc-internal-format
-@@ -50428,25 +48373,25 @@
+@@ -50428,25 +48042,25 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid cast to function type %qT"
  msgid "invalid cast to abstract class type %qT"
@@ -71425,7 +72786,7 @@ Index: gcc/po/es.po
  
  #: cp/typeck2.c:363
  #, fuzzy, gcc-internal-format
-@@ -50502,195 +48447,195 @@
+@@ -50502,195 +48116,195 @@
  #: cp/typeck2.c:487
  #, gcc-internal-format
  msgid "invalid use of incomplete type %q#T"
@@ -71662,7 +73023,7 @@ Index: gcc/po/es.po
  #, 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"
-@@ -50901,7 +48846,7 @@
+@@ -50901,7 +48515,7 @@
  #: fortran/array.c:193
  #, gcc-internal-format, gfc-internal-format
  msgid "Invalid form of array reference at %C"
@@ -71671,7 +73032,7 @@ Index: gcc/po/es.po
  
  #: fortran/array.c:198 fortran/array.c:271
  #, gcc-internal-format, gfc-internal-format
-@@ -50910,8 +48855,8 @@
+@@ -50910,8 +48524,8 @@
  
  #: fortran/array.c:213 fortran/array.c:625 fortran/check.c:2642
  #: fortran/check.c:4950 fortran/check.c:4988 fortran/check.c:5030
@@ -71682,7 +73043,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Coarrays disabled at %C, use -fcoarray= to enable"
  msgid "Coarrays disabled at %C, use %<-fcoarray=%> to enable"
-@@ -50941,12 +48886,12 @@
+@@ -50941,12 +48555,12 @@
  #: fortran/array.c:253
  #, gcc-internal-format, gfc-internal-format
  msgid "Invalid form of coarray reference at %C"
@@ -71697,7 +73058,7 @@ Index: gcc/po/es.po
  
  #: fortran/array.c:317
  #, fuzzy, gcc-internal-format
-@@ -51063,7 +49008,7 @@
+@@ -51063,7 +48677,7 @@
  msgid "Array constructor including type specification at %C"
  msgstr "Fortran 2003: Los constructores de matriz incluyen especificación de tipo en %C"
  
@@ -71706,7 +73067,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Type-spec at %L cannot contain a deferred type parameter"
  msgstr "La especificación de tipo en %L no puede tener un parámetro de tipo diferido"
-@@ -51206,7 +49151,7 @@
+@@ -51206,7 +48820,7 @@
  #: fortran/check.c:176
  #, gcc-internal-format, gfc-internal-format
  msgid "Invalid kind for %s at %L"
@@ -71715,7 +73076,7 @@ Index: gcc/po/es.po
  
  #: fortran/check.c:195
  #, fuzzy, gcc-internal-format
-@@ -51589,7 +49534,7 @@
+@@ -51589,7 +49203,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "'%s' argument of '%s' intrinsic at %L has invalid shape in dimension %d (%ld/%ld)"
  msgid "%qs argument of %qs intrinsic at %L has invalid shape in dimension %d (%ld/%ld)"
@@ -71724,7 +73085,7 @@ Index: gcc/po/es.po
  
  #: fortran/check.c:1854 fortran/check.c:2105 fortran/check.c:2133
  #, fuzzy, gcc-internal-format
-@@ -51860,7 +49805,7 @@
+@@ -51860,7 +49474,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "'%s' argument of '%s' intrinsic at %L has invalid permutation of dimensions (dimension '%d' duplicated)"
  msgid "%qs argument of %qs intrinsic at %L has invalid permutation of dimensions (dimension %qd duplicated)"
@@ -71733,7 +73094,7 @@ Index: gcc/po/es.po
  
  #: fortran/check.c:3900
  #, gcc-internal-format, gfc-internal-format
-@@ -52218,7 +50163,7 @@
+@@ -52218,7 +49832,7 @@
  msgid "Intrinsic function NULL at %L cannot be an actual argument to STORAGE_SIZE, because it returns a disassociated pointer"
  msgstr ""
  
@@ -71742,7 +73103,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Assumed size polymorphic objects or components, such as that at %C, have not yet been implemented"
  msgstr "Objetos o componentes polimórficos de tamaño asumido, tales como el que está en %C, aún no están implementados"
-@@ -52225,13 +50170,13 @@
+@@ -52225,13 +49839,13 @@
  
  #. Since the extension field is 8 bit wide, we can only have
  #. up to 255 extension levels.
@@ -71758,7 +73119,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "'%s' of '%s' is PRIVATE at %L"
  msgid "%qs of %qs is PRIVATE at %L"
-@@ -52318,7 +50263,7 @@
+@@ -52318,7 +49932,7 @@
  #: fortran/decl.c:421
  #, gcc-internal-format, gfc-internal-format
  msgid "Invalid initializer %s in Data statement at %C"
@@ -71767,7 +73128,7 @@ Index: gcc/po/es.po
  
  #: fortran/decl.c:523
  #, gcc-internal-format, gfc-internal-format
-@@ -52336,242 +50281,295 @@
+@@ -52336,242 +49950,295 @@
  msgid "DATA statement at %C is not allowed in a PURE procedure"
  msgstr "No se permite la declaración DATA en %C en un procedimiento PURE"
  
@@ -72106,7 +73467,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "%qs at %C is a redefinition of the declaration in the corresponding interface for MODULE PROCEDURE %qs"
  msgstr ""
-@@ -52581,359 +50579,381 @@
+@@ -52581,359 +50248,381 @@
  # como `apuntado'. cfuga
  # Referencia: http://gcc.gnu.org/onlinedocs/gfortran/Cray-pointers.html
  #
@@ -72556,7 +73917,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
  msgid "Return type of BIND(C) function %qs at %L cannot be a character string"
-@@ -52941,317 +50961,338 @@
+@@ -52941,317 +50630,338 @@
  
  #. Use gfc_warning_now because we won't say that the symbol fails
  #. just because of this.
@@ -72957,7 +74318,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "Fortran 2008: END statement instead of %s statement at %L"
  msgid "END statement instead of %s statement at %L"
-@@ -53258,565 +51299,612 @@
+@@ -53258,565 +50968,612 @@
  msgstr "Fortran 2008: Declaración END en lugar de una declaración %s en %L"
  
  #. We would have required END [something].
@@ -73677,7 +75038,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
  msgstr "Error sintáctico en la declaración !GCC$ ATTRIBUTES en %C"
-@@ -53836,44 +51924,44 @@
+@@ -53836,44 +51593,44 @@
  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."
  
@@ -73730,7 +75091,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "<During initialization>\n"
  msgstr "<Durante la inicialización>\n"
-@@ -53963,7 +52051,7 @@
+@@ -53963,7 +51720,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "Invalid initialization expression for ALLOCATABLE component '%s' in structure constructor at %L"
  msgid "Invalid initialization expression for ALLOCATABLE component %qs in structure constructor at %L"
@@ -73739,7 +75100,7 @@ Index: gcc/po/es.po
  
  #: fortran/expr.c:2329
  #, fuzzy, gcc-internal-format
-@@ -53983,7 +52071,7 @@
+@@ -53983,7 +51740,7 @@
  msgid "Evaluation of nonstandard initialization expression at %L"
  msgstr "Extensión: Evaluación de una expresión de inicialización no estándar en %L"
  
@@ -73748,7 +75109,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Function '%s' in initialization expression at %L must be an intrinsic function"
  msgid "Function %qs in initialization expression at %L must be an intrinsic function"
-@@ -54150,31 +52238,31 @@
+@@ -54150,31 +51907,31 @@
  msgid "BOZ literal at %L used to initialize non-integer variable %qs"
  msgstr "Extensión: se usa la literal BOZ en %L para inicializar la variable '%s' que no es entera"
  
@@ -73785,7 +75146,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
  msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option %<-fno-range-check%>"
-@@ -54231,43 +52319,43 @@
+@@ -54231,43 +51988,43 @@
  #: fortran/expr.c:3451
  #, gcc-internal-format, gfc-internal-format
  msgid "Invalid procedure pointer assignment at %L"
@@ -73836,7 +75197,7 @@ Index: gcc/po/es.po
  
  #: fortran/expr.c:3538
  #, gcc-internal-format, gfc-internal-format
-@@ -54274,7 +52362,7 @@
+@@ -54274,7 +52031,7 @@
  msgid "Mismatch in the procedure pointer assignment at %L: mismatch in the calling convention"
  msgstr "No hay coincidencia en la asignación de puntero a procedimiento en %L: no hay coincidencia en la convención a llamada"
  
@@ -73845,7 +75206,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "NOPASS or explicit interface required at %C"
  msgid "Explicit interface required for %qs at %L: %s"
-@@ -54374,7 +52462,7 @@
+@@ -54374,7 +52131,7 @@
  msgid "Pointer initialization target at %L must have the TARGET attribute"
  msgstr "El objetivo de inicialización de puntero en %C debe tener el atributo TARGET"
  
@@ -73854,7 +75215,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Pointer initialization target at %L must have the SAVE attribute"
  msgstr "El objetivo de inicialización de puntero en %L debe tener el atributo SAVE"
-@@ -54384,99 +52472,99 @@
+@@ -54384,99 +52141,99 @@
  msgid "Procedure pointer initialization target at %L may not be a procedure pointer"
  msgstr "El objetivo de inicialización de puntero a procedimiento en %L tal vez no es un puntero a procedimiento"
  
@@ -73971,7 +75332,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "'%s' at %L associated to expression can not be used in a variable definition context (%s)"
  msgid "Elements with the same value at %L and %L in vector subscript in a variable definition context (%s)"
-@@ -54487,60 +52575,60 @@
+@@ -54487,60 +52244,60 @@
  msgid "can't open input file: %s"
  msgstr "no se puede abrir el fichero de entrada: %s"
  
@@ -74044,7 +75405,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "Scalarization using DIMEN_RANGE unimplemented"
  msgstr ""
-@@ -54622,672 +52710,672 @@
+@@ -54622,672 +52379,672 @@
  msgid "Expecting %<END INTERFACE %s%> at %C"
  msgstr "Se esperaba 'END INTERFACE %s' en %C"
  
@@ -74836,7 +76197,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Passed-object dummy argument of '%s' at %L must be at the same position as the passed-object dummy argument of the overridden procedure"
  msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure"
-@@ -55406,7 +53494,7 @@
+@@ -55406,7 +53163,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "Invalid reference to intrinsic `%A' at %0"
  msgid "Invalid standard code on intrinsic %qs (%d)"
@@ -74845,7 +76206,7 @@ Index: gcc/po/es.po
  
  #: fortran/intrinsic.c:4372
  #, fuzzy, gcc-internal-format
-@@ -55591,7 +53679,7 @@
+@@ -55591,7 +53348,7 @@
  #: fortran/io.c:1298 fortran/io.c:1329 fortran/io.c:1395
  #, gcc-internal-format, gfc-internal-format
  msgid "Invalid value for %s specification at %C"
@@ -74854,7 +76215,7 @@ Index: gcc/po/es.po
  
  #: fortran/io.c:1304 fortran/io.c:1335
  #, gcc-internal-format, gfc-internal-format
-@@ -55716,7 +53804,7 @@
+@@ -55716,7 +53473,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "%s specifier in %s statement at %C has invalid value '%s'"
  msgid "%s specifier in %s statement at %C has value %qs"
@@ -74863,7 +76224,7 @@ Index: gcc/po/es.po
  
  #: fortran/io.c:1793
  #, fuzzy, gcc-internal-format
-@@ -55728,7 +53816,7 @@
+@@ -55728,7 +53485,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "%s specifier in %s statement at %C has invalid value '%s'"
  msgid "%s specifier in %s statement at %C has invalid value %qs"
@@ -74872,7 +76233,7 @@ Index: gcc/po/es.po
  
  #: fortran/io.c:1876
  #, gcc-internal-format, gfc-internal-format
-@@ -55801,7 +53889,7 @@
+@@ -55801,7 +53558,7 @@
  msgid "UNIT number in CLOSE statement at %L must be non-negative"
  msgstr "El número UNIT en la declaración CLOSE en %L debe ser no negativo"
  
@@ -74881,7 +76242,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "%s statement not allowed in PURE procedure at %C"
  msgstr "No se permite una declaración %s en el procedimiento PURE en %C"
-@@ -55868,7 +53956,7 @@
+@@ -55868,7 +53625,7 @@
  #: fortran/io.c:2947
  #, gcc-internal-format, gfc-internal-format
  msgid "Invalid form of WRITE statement at %L, UNIT required"
@@ -74890,7 +76251,7 @@ Index: gcc/po/es.po
  
  #: fortran/io.c:2958
  #, gcc-internal-format, gfc-internal-format
-@@ -55933,7 +54021,7 @@
+@@ -55933,7 +53690,7 @@
  msgstr "Se esperaba una expresión en la declaración %s en %C"
  
  #. A general purpose syntax error.
@@ -74899,7 +76260,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Syntax error in %s statement at %C"
  msgstr "Error sintáctico en la declaración %s en %C"
-@@ -55984,7 +54072,7 @@
+@@ -55984,7 +53741,7 @@
  #: fortran/io.c:4111
  #, gcc-internal-format, gfc-internal-format
  msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
@@ -74908,7 +76269,7 @@ Index: gcc/po/es.po
  
  #: fortran/io.c:4121 fortran/trans-io.c:1303
  #, gcc-internal-format, gfc-internal-format
-@@ -56024,653 +54112,664 @@
+@@ -56024,653 +53781,664 @@
  msgid "gfc_op2string(): Bad code"
  msgstr "gfc_trans_code(): Código de declaración erróneo"
  
@@ -75699,7 +77060,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Syntax error in common block name at %C"
  msgstr "Error sintáctico en el nombre de bloque común en %C"
-@@ -56678,172 +54777,172 @@
+@@ -56678,172 +54446,172 @@
  #. If we find an error, just print it and continue,
  #. cause it's just semantic, and we can see if there
  #. are more errors.
@@ -75903,7 +77264,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Label '%s' at %C doesn't match WHERE label '%s'"
  msgid "Label %qs at %C doesn't match WHERE label %qs"
-@@ -56882,17 +54981,17 @@
+@@ -56882,17 +54650,17 @@
  msgid "match_level_4(): Bad operator"
  msgstr ""
  
@@ -75924,7 +77285,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "gfc_trans_code(): Bad statement code"
  msgid "gfc_code2string(): Bad code"
-@@ -57002,61 +55101,61 @@
+@@ -57002,61 +54770,61 @@
  msgid "unquote_string(): got bad string"
  msgstr ""
  
@@ -75997,7 +77358,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Can't open module file '%s' for writing at %C: %s"
  msgid "Can't open module file %qs for writing at %C: %s"
-@@ -57063,148 +55162,148 @@
+@@ -57063,148 +54831,148 @@
  msgstr "No se puede abrir el fichero de módulo '%s' para escritura en %C: %s"
  
  # El mensaje de error seguramente está mal redactado. cfuga
@@ -76173,7 +77534,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "COMMON block /%s/ not found at %C"
  msgstr "No se encontró el bloque COMMON /%s/ en %C"
-@@ -57220,501 +55319,501 @@
+@@ -57220,501 +54988,501 @@
  msgid "Syntax error in OpenACC expression list at %C"
  msgstr "Error sintáctico en la expresión en %C"
  
@@ -76772,7 +78133,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Variable '%s' in %s clause is used in NAMELIST statement at %L"
  msgid "Variable %qs in %s clause is used in NAMELIST statement at %L"
-@@ -57721,725 +55820,688 @@
+@@ -57721,725 +55489,688 @@
  msgstr "Se usó la variable '%s' en la cláusula %s en la declaración NAMELIST en %L"
  
  #. case OMP_LIST_REDUCTION:
@@ -77621,7 +78982,7 @@ Index: gcc/po/es.po
  #: fortran/parse.c:2852
  #, gcc-internal-format, gfc-internal-format
  msgid "Component %s at %L of type LOCK_TYPE must have a codimension or be a subcomponent of a coarray, which is not possible as the component has the pointer attribute"
-@@ -58507,244 +56569,299 @@
+@@ -58507,244 +56238,299 @@
  msgstr "El componente %s que no es comatriz en %L de tipo LOCK_TYPE o con subcomponente de tipo LOCK_TYPE debe tener una codimensión o ser un subcomponente de una comatriz. (Las variables de tipo %s pueden no tener una codimiensión ya que %s en %L tiene una codimensión o un componente submatriz)"
  
  #: fortran/parse.c:2968
@@ -77965,7 +79326,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Unexpected %s statement in MODULE at %C"
  msgstr "Declaración %s inesperada en MODULE en %C"
-@@ -58752,7 +56869,7 @@
+@@ -58752,7 +56538,7 @@
  #. If we see a duplicate main program, shut down.  If the second
  #. instance is an implied main program, i.e. data decls or executable
  #. statements, we're in for lots of errors.
@@ -77974,7 +79335,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Two main PROGRAMs at %L and %C"
  msgstr "Dos PROGRAMas principales en %L y %C"
-@@ -58786,17 +56903,17 @@
+@@ -58786,17 +56572,17 @@
  #: fortran/primary.c:281
  #, gcc-internal-format, gfc-internal-format
  msgid "Invalid Hollerith constant: %L must contain at least one character"
@@ -77995,7 +79356,7 @@ Index: gcc/po/es.po
  
  #: fortran/primary.c:393
  #, fuzzy, gcc-internal-format, gfc-internal-format
-@@ -58835,7 +56952,7 @@
+@@ -58835,7 +56621,7 @@
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "Invalid exponent-letter 'q' in real-literal-constant at %C"
  msgid "exponent-letter 'q' in real-literal-constant at %C"
@@ -78004,7 +79365,7 @@ Index: gcc/po/es.po
  
  #: fortran/primary.c:562
  #, fuzzy, gcc-internal-format
-@@ -58864,12 +56981,12 @@
+@@ -58864,12 +56650,12 @@
  #, fuzzy, gcc-internal-format
  #| msgid "Invalid exponent-letter 'q' in real-literal-constant at %C"
  msgid "Invalid exponent-letter %<q%> in real-literal-constant at %C"
@@ -78019,7 +79380,7 @@ Index: gcc/po/es.po
  
  #: fortran/primary.c:726
  #, gcc-internal-format, gfc-internal-format
-@@ -58899,7 +57016,7 @@
+@@ -58899,7 +56685,7 @@
  #: fortran/primary.c:1087
  #, gcc-internal-format, gfc-internal-format
  msgid "Invalid kind %d for CHARACTER constant at %C"
@@ -78028,7 +79389,7 @@ Index: gcc/po/es.po
  
  #: fortran/primary.c:1108
  #, gcc-internal-format, gfc-internal-format
-@@ -58996,166 +57113,172 @@
+@@ -58996,166 +56782,172 @@
  msgid "extend_ref(): Bad tail"
  msgstr ""
  
@@ -78231,7 +79592,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "'%s' at %C is not a variable"
  msgid "%qs at %C is not a variable"
-@@ -59456,245 +57579,245 @@
+@@ -59456,245 +57248,245 @@
  msgid "COMMON block %qs at %L that is also a global procedure"
  msgstr "Fortran 2003: El bloque COMMON '%s' en %L también es un procedimiento global"
  
@@ -78520,7 +79881,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
  msgid "ABSTRACT INTERFACE %qs must not be referenced at %L"
-@@ -59701,301 +57824,301 @@
+@@ -59701,301 +57493,301 @@
  msgstr "La ABSTRACT INTERFACE '%s' no se debe referenciar en %L"
  
  #. Internal procedures are taken care of in resolve_contained_fntype.
@@ -78878,7 +80239,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "Assumed shape array at %L must be a dummy argument"
  msgid "Assumed-type variable %s at %L may only be used as actual argument"
-@@ -60005,12 +58128,12 @@
+@@ -60005,12 +57797,12 @@
  #. for all inquiry functions in resolve_function; the reason is
  #. that the function-name resolution happens too late in that
  #. function.
@@ -78893,7 +80254,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "Assumed shape array at %L must be a dummy argument"
  msgid "Assumed-rank variable %s at %L may only be used as actual argument"
-@@ -60020,274 +58143,274 @@
+@@ -60020,274 +57812,274 @@
  #. for all inquiry functions in resolve_function; the reason is
  #. that the function-name resolution happens too late in that
  #. function.
@@ -79219,7 +80580,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Allocate-object at %L is subobject of object at %L"
  msgstr "El objeto de alojamiento en %L es un subobjeto del objeto en %L"
-@@ -60296,219 +58419,219 @@
+@@ -60296,219 +58088,219 @@
  #. 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.
@@ -79481,7 +80842,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Branch at %L may result in an infinite loop"
  msgstr "La ramificación en %L puede resultar en un bucle infinito"
-@@ -60515,12 +58638,12 @@
+@@ -60515,12 +58307,12 @@
  
  #. Note: A label at END CRITICAL does not leave the CRITICAL
  #. construct as END CRITICAL is still part of it.
@@ -79496,7 +80857,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
  msgstr "La declaración GOTO en %L deja la construcción DO CONCURRENT por la etiqueta en %L"
-@@ -60528,114 +58651,114 @@
+@@ -60528,114 +58320,114 @@
  #. 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.
@@ -79632,7 +80993,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "TODO: type-bound defined assignment(s) at %L not done because multiple part array references would occur in intermediate expressions."
  msgstr ""
-@@ -60642,35 +58765,35 @@
+@@ -60642,35 +58434,35 @@
  
  #. Even if standard does not support this feature, continue to build
  #. the two statements to avoid upsetting frontend_passes.c.
@@ -79676,7 +81037,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
  msgstr "La declaración de ASSIGN en %L requiere una variable INTEGER escalar por defecto"
-@@ -60677,40 +58800,40 @@
+@@ -60677,40 +58469,40 @@
  
  # 'kind' es el tipo del tipo de dato en Fortran. Lo traduzco como 
  # 'género', para evitar confusión con 'type' = 'tipo'. cfuga
@@ -79725,7 +81086,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
  msgid "Variable %s with binding label %s at %L uses the same global identifier as entity at %L"
-@@ -60718,7 +58841,7 @@
+@@ -60718,7 +58510,7 @@
  
  #. This can only happen if the variable is defined in a module - if it
  #. isn't the same module, reject it.
@@ -79734,7 +81095,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Variable %s from module %s with binding label %s at %L uses the same global identifier as entity at %L from module %s"
  msgstr ""
-@@ -60726,60 +58849,60 @@
+@@ -60726,60 +58518,60 @@
  #. Print an error if the procedure is defined multiple times; we have to
  #. exclude references to the same procedure via module association or
  #. multiple checks for the same procedure.
@@ -79805,7 +81166,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
  msgid "Implied SAVE for module variable %qs at %L, needed due to the default initialization"
-@@ -60787,521 +58910,527 @@
+@@ -60787,521 +58579,527 @@
  
  #. The shape of a main program or module array needs to be
  #. constant.
@@ -80434,7 +81795,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
  msgid "NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER components"
-@@ -61309,466 +59438,466 @@
+@@ -61309,466 +59107,466 @@
  
  #. FIXME: Once UDDTIO is implemented, the following can be
  #. removed.
@@ -80983,7 +82344,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
  msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE"
-@@ -61824,35 +59953,35 @@
+@@ -61824,35 +59622,35 @@
  msgid "Missing %<&%> in continued character constant at %C"
  msgstr "Falta un '&' en la constante de carácter continuado en %C"
  
@@ -81025,7 +82386,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Can't open file '%s'"
  msgid "Can't open file %qs"
-@@ -61886,7 +60015,7 @@
+@@ -61886,7 +59684,7 @@
  #: fortran/simplify.c:133
  #, gcc-internal-format, gfc-internal-format
  msgid "Invalid KIND parameter of %s at %L"
@@ -81034,7 +82395,7 @@ Index: gcc/po/es.po
  
  #: fortran/simplify.c:691
  #, gcc-internal-format
-@@ -62044,44 +60173,44 @@
+@@ -62044,44 +59842,44 @@
  msgid "DIM argument at %L is out of bounds"
  msgstr "El argumento DIM en %L está fuera de los límites"
  
@@ -81087,7 +82448,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "gfc_trans_code(): Bad statement code"
  msgid "gfc_simplify_mod(): Bad arguments"
-@@ -62090,98 +60219,98 @@
+@@ -62090,98 +59888,98 @@
  #. Result is processor-dependent. This processor just opts
  #. to not handle it at all.
  #. Result is processor-dependent.
@@ -81207,7 +82568,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Character '%s' in string at %L cannot be converted into character kind %d"
  msgid "Character %qs in string at %L cannot be converted into character kind %d"
-@@ -62193,45 +60322,45 @@
+@@ -62193,45 +59991,45 @@
  msgid "gfc_free_statement(): Bad statement"
  msgstr "gfc_trans_code(): Código de declaración erróneo"
  
@@ -81261,7 +82622,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Symbol '%s' at %L has no IMPLICIT type"
  msgid "Symbol %qs at %L has no IMPLICIT type"
-@@ -62238,7 +60367,7 @@
+@@ -62238,7 +60036,7 @@
  msgstr "El símbolo '%s' en %L no tiene tipo IMPLICIT"
  
  #. BIND(C) variables should not be implicitly declared.
@@ -81270,7 +82631,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Implicitly declared BIND(C) variable '%s' at %L may not be C interoperable"
  msgid "Implicitly declared BIND(C) variable %qs at %L may not be C interoperable"
-@@ -62246,146 +60375,146 @@
+@@ -62246,146 +60044,146 @@
  
  #. Dummy args to a BIND(C) routine may not be interoperable if
  #. they are implicitly typed.
@@ -81444,7 +82805,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid ""
  "%s procedure at %L is already declared as %s procedure. \n"
-@@ -62392,163 +60521,163 @@
+@@ -62392,163 +60190,163 @@
  "F2008: A pointer function assignment is ambiguous if it is the first executable statement after the specification block. Please add any other kind of executable statement before it. FIXME"
  msgstr ""
  
@@ -81637,7 +82998,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Name '%s' at %C is an ambiguous reference to '%s' from current program unit"
  msgid "Name %qs at %C is an ambiguous reference to %qs from current program unit"
-@@ -62555,72 +60684,72 @@
+@@ -62555,72 +60353,72 @@
  msgstr "El nombre '%s' en %C es una referencia ambigua a '%s' de la unidad de programa actual"
  
  #. Symbol is from another namespace.
@@ -81722,7 +83083,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Symbol '%s' is used before it is typed at %L"
  msgid "Symbol %qs is used before it is typed at %L"
-@@ -62630,7 +60759,7 @@
+@@ -62630,7 +60428,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "invalid expression for min lvalue"
  msgid "Invalid expression in gfc_element_size."
@@ -81731,7 +83092,7 @@ Index: gcc/po/es.po
  
  #: fortran/target-memory.c:346
  #, gcc-internal-format
-@@ -62654,51 +60783,51 @@
+@@ -62654,51 +60452,51 @@
  
  #. Problems occur when we get something like
  #. integer :: a(lots) = (/(i, i=1, lots)/)
@@ -81792,7 +83153,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
  msgid "Inconsistent equivalence rules involving %qs at %L and %qs at %L"
-@@ -62705,49 +60834,49 @@
+@@ -62705,49 +60503,49 @@
  msgstr "Reglas de equivalencia inconsistentes que involucran a '%s' en %L y a '%s' en %L"
  
  #. Aligning this field would misalign a previous field.
@@ -81851,7 +83212,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "COMMON at %L requires %d bytes of padding; reorder elements or use -fno-align-commons"
  msgid "COMMON at %L requires %d bytes of padding; reorder elements or use %<-fno-align-commons%>"
-@@ -62761,7 +60890,7 @@
+@@ -62761,7 +60559,7 @@
  #: fortran/trans-const.c:360
  #, gcc-internal-format, gfc-internal-format
  msgid "gfc_conv_constant_to_tree(): invalid type: %s"
@@ -81860,7 +83221,7 @@ Index: gcc/po/es.po
  
  #: fortran/trans-const.c:391
  #, gcc-internal-format, gfc-internal-format
-@@ -62768,83 +60897,83 @@
+@@ -62768,83 +60566,83 @@
  msgid "non-constant initialization expression at %L"
  msgstr "expresión de inicialización que no es constante en %L"
  
@@ -81958,7 +83319,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Sorry, $!ACC DECLARE at %L is not allowed in BLOCK construct"
  msgstr ""
-@@ -62875,12 +61004,12 @@
+@@ -62875,12 +60673,12 @@
  msgid "Sorry, coindexed access at %L to a scalar component with an array partref is not yet supported"
  msgstr "Lo siento, aún no se admiten las comatrices escalares alojables en %L"
  
@@ -81973,7 +83334,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Unknown argument list function at %L"
  msgstr "Lista de argumentos de función desconocida en %L"
-@@ -62920,7 +61049,7 @@
+@@ -62920,7 +60718,7 @@
  msgid "Bad IO basetype (%d)"
  msgstr "Tipo base ES erróneo (%d)"
  
@@ -81982,7 +83343,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "gfc_trans_omp_workshare(): Bad statement code"
  msgstr "gfc_trans_omp_workshare(): Código de declaración erróneo"
-@@ -62945,7 +61074,7 @@
+@@ -62945,7 +60743,7 @@
  #, fuzzy, gcc-internal-format
  #| msgid "gfc_trans_code(): Bad statement code"
  msgid "gfc_trans_select(): Bad type for case expr."
@@ -81991,7 +83352,7 @@ Index: gcc/po/es.po
  
  #: fortran/trans-types.c:488
  #, fuzzy, gcc-internal-format
-@@ -63017,7 +61146,7 @@
+@@ -63017,7 +60815,7 @@
  msgid "gfc_validate_kind(): Got bad kind"
  msgstr ""
  
@@ -82000,7 +83361,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Array element size too big at %C"
  msgstr "El tamaño del elemento de la matriz es demasiado grande en %C"
-@@ -63057,22 +61186,22 @@
+@@ -63057,22 +60855,22 @@
  msgid "non-static method %q+D overrides static method"
  msgstr "el método %q+D que no es estático anula al método estático"
  
@@ -82027,7 +83388,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "bad PC range for debug info for local %q+D"
  msgstr "rango de PC erróneo para la información de depuración para %q+D local"
-@@ -63150,7 +61279,7 @@
+@@ -63150,7 +60948,7 @@
  #: java/expr.c:3135
  #, gcc-internal-format
  msgid "invalid PC in line number table"
@@ -82036,7 +83397,7 @@ Index: gcc/po/es.po
  
  #: java/expr.c:3185
  #, gcc-internal-format, gfc-internal-format
-@@ -63321,7 +61450,7 @@
+@@ -63321,7 +61119,7 @@
  #: java/mangle_name.c:322 java/mangle_name.c:399
  #, gcc-internal-format
  msgid "internal error - invalid Utf8 name"
@@ -82045,7 +83406,7 @@ Index: gcc/po/es.po
  
  #: java/typeck.c:424
  #, gcc-internal-format
-@@ -63494,12 +61623,12 @@
+@@ -63494,12 +61292,12 @@
  #: lto/lto.c:1910
  #, gcc-internal-format
  msgid "invalid line in the resolution file"
@@ -82060,7 +83421,7 @@ Index: gcc/po/es.po
  
  #: lto/lto.c:1927
  #, fuzzy, gcc-internal-format
-@@ -63687,7 +61816,7 @@
+@@ -63687,7 +61485,7 @@
  #: objc/objc-act.c:902
  #, gcc-internal-format
  msgid "invalid property declaration"
@@ -82069,7 +83430,7 @@ Index: gcc/po/es.po
  
  #: objc/objc-act.c:910
  #, gcc-internal-format
-@@ -64101,7 +62230,7 @@
+@@ -64101,7 +61899,7 @@
  #: objc/objc-act.c:5570
  #, gcc-internal-format
  msgid "invalid receiver type %qs"
@@ -82078,7 +83439,7 @@ Index: gcc/po/es.po
  
  #: objc/objc-act.c:5587
  #, gcc-internal-format
-@@ -64308,7 +62437,7 @@
+@@ -64308,7 +62106,7 @@
  #: objc/objc-act.c:7381
  #, gcc-internal-format
  msgid "invalid setter, it must have one argument"
@@ -82087,7 +83448,7 @@ Index: gcc/po/es.po
  
  #: objc/objc-act.c:7545 objc/objc-act.c:7760
  #, gcc-internal-format
-@@ -64520,16 +62649,16 @@
+@@ -64520,16 +62318,16 @@
  #~ msgstr "%s:no es un fichero de grafo gcov\n"
  
  #~ msgid "%s:%d:%d: Invalid state file; %s"
@@ -82108,7 +83469,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Option tag unknown"
  #~ msgstr "Etiqueta de opción desconocida"
-@@ -64576,9 +62705,6 @@
+@@ -64576,9 +62374,6 @@
  #~ msgid "%s terminated with signal %d [%s]"
  #~ msgstr "%s terminado con la señal %d [%s]"
  
@@ -82118,7 +83479,7 @@ Index: gcc/po/es.po
  #~ msgid "could not write to temporary file %s"
  #~ msgstr "no se puede escribir en el fichero temporal %s"
  
-@@ -64637,16 +62763,16 @@
+@@ -64637,16 +62432,16 @@
  #~ msgstr "<consigno-sinnombre:"
  
  #~ msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
@@ -82139,7 +83500,7 @@ Index: gcc/po/es.po
  
  #~ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
  #~ msgstr "se llamó a mips_debuger_offset con un puntero que no es stack/frame/arg"
-@@ -64664,10 +62790,10 @@
+@@ -64664,10 +62459,10 @@
  #~ msgstr "se usó -mvsx con código little endian"
  
  #~ msgid "invalid %%c value"
@@ -82152,7 +83513,7 @@ Index: gcc/po/es.po
  
  #~ msgid "memory reference expected for 'O' output modifier"
  #~ msgstr "se esperaba una referencia de memoria para el modificador de salida 'O'"
-@@ -64676,7 +62802,7 @@
+@@ -64676,7 +62471,7 @@
  #~ msgstr "se esperaba una referencia de memoria para el modificador de salida 'R'"
  
  #~ msgid "invalid operand for code: '%c'"
@@ -82161,7 +83522,7 @@ Index: gcc/po/es.po
  
  #~ msgid "long long constant not a valid immediate operand"
  #~ msgstr "la constante long long no es un operando inmediato válido"
-@@ -64731,10 +62857,10 @@
+@@ -64731,10 +62526,10 @@
  #~ msgstr "Especifica el rango de registros a convertir en fijos"
  
  #~ msgid "If set, data speculative instructions will be chosen for schedule only if there are no other choices at the moment "
@@ -82174,7 +83535,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Ignored (obsolete)"
  #~ msgstr "Se descarta (obsoleto)"
-@@ -64767,7 +62893,7 @@
+@@ -64767,7 +62562,7 @@
  #~ msgstr "Usa secuencias atómicas de software admitidas por el núcleo"
  
  #~ msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
@@ -82183,7 +83544,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Assume big endian bytes, little endian words.  This option is deprecated."
  #~ msgstr "Asume bytes big endian, words little endian.  Esta opción es obsoleta."
-@@ -64795,7 +62921,7 @@
+@@ -64795,7 +62590,7 @@
  #~ msgstr "Soporte para el ABI Green Hills"
  
  #~ msgid "Specify CPU for scheduling purposes"
@@ -82192,7 +83553,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Specify which type of AE to target. This option sets the mul-type and byte-access."
  #~ msgstr "Especifica a qué tipo de AE se apunta. Esta opción establece el tipo muly el acceso a byte."
-@@ -64884,9 +63010,6 @@
+@@ -64884,9 +62679,6 @@
  #~ msgid "Do the full register move optimization pass"
  #~ msgstr "Hace el paso completo de optimización de movimiento de registros"
  
@@ -82202,7 +83563,7 @@ Index: gcc/po/es.po
  #~ msgid "Replace SSA temporaries with better names in copies"
  #~ msgstr "Reemplaza temporales SSA con mejores nombres en las copias"
  
-@@ -64900,7 +63023,7 @@
+@@ -64900,7 +62692,7 @@
  #~ msgstr "se esperaba un tipo entero o booleano"
  
  #~ msgid "invalid operand for unary %<&%>"
@@ -82211,7 +83572,7 @@ Index: gcc/po/es.po
  
  #~ msgid "bad size for make"
  #~ msgstr "tamaño erróneo para make"
-@@ -64912,7 +63035,7 @@
+@@ -64912,7 +62704,7 @@
  #~ msgstr "asignación implícita de %s%s%s campo oculto %s%s%s"
  
  #~ msgid "invalid argument to %<__builtin_return_address%>"
@@ -82220,7 +83581,7 @@ Index: gcc/po/es.po
  
  #~ msgid "unsupported argument to %<__builtin_frame_address%>"
  #~ msgstr "argumento no admitido para %<__builtin_frame_address%>"
-@@ -64921,7 +63044,7 @@
+@@ -64921,7 +62713,7 @@
  #~ msgstr "argumento no admitido para %<__builtin_return_address%>"
  
  #~ msgid "invalid memory model for %<__atomic_exchange%>"
@@ -82229,7 +83590,7 @@ Index: gcc/po/es.po
  
  #~ msgid "declaration of %q+D shadows a global declaration"
  #~ msgstr "la declaración de %q+D oscurece a una declaración global"
-@@ -65176,7 +63299,7 @@
+@@ -65176,7 +62968,7 @@
  #~ msgstr "la variable estática %q+D se marcó como dllimport"
  
  #~ msgid "that particular -g option is invalid with -maout and -melinux"
@@ -82238,7 +83599,7 @@ Index: gcc/po/es.po
  
  #~ msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
  #~ msgstr "actualmente las tablas de desenredo requieren un puntero de marco o %saccumulate-outgoing-args%s para ser correctas"
-@@ -65206,10 +63329,10 @@
+@@ -65206,10 +62998,10 @@
  #~ msgstr "se requiere la opción -munix=98 para las características C89 Enmienda 1.\n"
  
  #~ msgid "invalid AE type specified (%s)"
@@ -82251,7 +83612,7 @@ Index: gcc/po/es.po
  
  #~ msgid "unexpected mode %s encountered in picochip_emit_save_register"
  #~ msgstr "se encontró el modo inesperado %s en picochip_emit_save_register"
-@@ -65262,6 +63385,9 @@
+@@ -65262,6 +63054,9 @@
  #~ msgid "%s (disable warning using -mno-inefficient-warnings)"
  #~ msgstr "%s (desactive los avisos utilizando -mno-inefficient-warnings)"
  
@@ -82261,7 +83622,7 @@ Index: gcc/po/es.po
  #~ msgid "-maix64 and POWER architecture are incompatible"
  #~ msgstr "-maix64 y la arquitectura POWER son incompatibles"
  
-@@ -65503,7 +63629,7 @@
+@@ -65503,7 +63298,7 @@
  #~ msgstr "tipo de devolución covariante obsoleto para %q+#D"
  
  #~ msgid "invalid use of non-static data member %q+D"
@@ -82270,7 +83631,7 @@ Index: gcc/po/es.po
  
  #~ msgid "use of parameter %qD outside function body"
  #~ msgstr "se usó el parámetro %qD fuera del cuerpo de la función"
-@@ -65530,10 +63656,10 @@
+@@ -65530,10 +63325,10 @@
  #~ msgstr "la expresión de comparación de punteros no es una expresión constante"
  
  #~ msgid "invalid use of non-static member function"
@@ -82283,7 +83644,7 @@ Index: gcc/po/es.po
  
  #~ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
  #~ msgstr "(tal vez se utilizó incorrectamente la macro %<offsetof%>)"
-@@ -65851,7 +63977,7 @@
+@@ -65851,7 +63646,7 @@
  #~ msgstr "sub id de resolución"
  
  #~ msgid "invalid unsafe.Pointer conversion"
@@ -82292,7 +83653,7 @@ Index: gcc/po/es.po
  
  #~ msgid "both %<const%> and %<constexpr%> cannot be used here"
  #~ msgstr "no se pueden usar aquí %<const%> ni %<constexpr%>"
-@@ -65908,13 +64034,13 @@
+@@ -65908,13 +63703,13 @@
  #~ msgstr " (frv)"
  
  #~ msgid "invalid register in the move instruction"
@@ -82309,7 +83670,7 @@ Index: gcc/po/es.po
  
  #~ msgid "operand 1 must be a hard register"
  #~ msgstr "el operando 1 debe ser un registro fijo"
-@@ -65926,7 +64052,7 @@
+@@ -65926,7 +63721,7 @@
  #~ msgstr "no se puede reemplazar el registro-z"
  
  #~ msgid "invalid Z register replacement for insn"
@@ -82318,7 +83679,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%s:%d:%d:   recursively instantiated from %qs\n"
  #~ msgstr "%s:%d:%d:   instanciado recursivamente desde %qs\n"
-@@ -65965,7 +64091,7 @@
+@@ -65965,7 +63760,7 @@
  #~ msgstr "-mabi=\tEspecifica la ABI a utilizar"
  
  #~ msgid "Prepend the name of the cpu to all public symbol names"
@@ -82327,7 +83688,7 @@ Index: gcc/po/es.po
  
  #~ msgid "-mtext=SECTION\tPut functions in SECTION"
  #~ msgstr "-mtext=SECCIÓN\tPone las funciones en la SECCIÓN"
-@@ -66062,7 +64188,7 @@
+@@ -66062,7 +63857,7 @@
  #~ msgstr "llamada a método sin objeto"
  
  #~ msgid "invalid new of function type"
@@ -82336,7 +83697,7 @@ Index: gcc/po/es.po
  
  #~ msgid "no object for method call"
  #~ msgstr "no hay objeto para la llamada a método"
-@@ -66116,10 +64242,10 @@
+@@ -66116,10 +63911,10 @@
  #~ msgstr "los tipos de datos no coinciden en la expresión verdadera binaria"
  
  #~ msgid "invalid COND_EXPR in gimple assignment"
@@ -82349,7 +83710,7 @@ Index: gcc/po/es.po
  
  #~ msgid "verify_stmts failed"
  #~ msgstr "falló verify_stmts"
-@@ -66155,13 +64281,13 @@
+@@ -66155,13 +63950,13 @@
  #~ msgstr "valor erróneo (%s) para el interruptor %s"
  
  #~ msgid "invalid ABI option: -mabi=%s"
@@ -82366,7 +83727,7 @@ Index: gcc/po/es.po
  
  #~ msgid "See --target-help for supported MCUs"
  #~ msgstr "Vea --target-help para MCUs permitidos"
-@@ -66200,7 +64326,7 @@
+@@ -66200,7 +63995,7 @@
  #~ msgstr "el vector de permutación requiere un vector constante"
  
  #~ msgid "invalid vector permutation constant"
@@ -82375,7 +83736,7 @@ Index: gcc/po/es.po
  
  #~ msgid "vector permutation (%d %d)"
  #~ msgstr "permutación de vector (%d %d)"
-@@ -66245,7 +64371,7 @@
+@@ -66245,7 +64040,7 @@
  #~ msgstr "se desconoce la opción -m%s= especificada: '%s'"
  
  #~ msgid "invalid option for -mcmodel: '%s'"
@@ -82384,7 +83745,7 @@ Index: gcc/po/es.po
  
  #~ msgid "unknown ABI specified: '%s'"
  #~ msgstr "se especificó una ABI desconocida: '%s'"
-@@ -66260,7 +64386,7 @@
+@@ -66260,7 +64055,7 @@
  #~ msgstr "argumento de -mtraceback %qs desconocido; se esperaba %<full%>, %<partial%> o %<none%>"
  
  #~ msgid "invalid option for -mfloat-gprs: '%s'"
@@ -82393,7 +83754,7 @@ Index: gcc/po/es.po
  
  #~ msgid "unknown -malign-XXXXX option specified: '%s'"
  #~ msgstr "opción -malign-XXXXX especificada desconocida: '%s'"
-@@ -66305,7 +64431,7 @@
+@@ -66305,7 +64100,7 @@
  #~ msgstr "no se pueden inicializar %qT desde %qT"
  
  #~ msgid "%<__int128%> invalid for %qs"
@@ -82402,7 +83763,7 @@ Index: gcc/po/es.po
  
  #~ msgid "ISO C++ forbids initialization of member %qD"
  #~ msgstr "ISO C++ prohíbe la inicialización del miembro %qD"
-@@ -66398,28 +64524,28 @@
+@@ -66398,28 +64193,28 @@
  #~ msgstr "Los tipos no coinciden para el argumento dummy '%s' de '%s' %L con respecto al procedimiento sobreescrito"
  
  #~ msgid "Invalid SHIFT argument of DSHIFTL at %L"
@@ -82437,7 +83798,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
  #~ msgstr "La magnitud del tercer argumento de ISHFTC excede el BIT_SIZE del tercer argumento en %L"
-@@ -66452,7 +64578,7 @@
+@@ -66452,7 +64247,7 @@
  #~ msgstr "la clase que contiene a %q#D no es de tipo literal"
  
  #~ msgid "invalid LTO mode"
@@ -82446,7 +83807,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Enforce table jump"
  #~ msgstr "Refuerza el salto de tabla"
-@@ -66566,10 +64692,10 @@
+@@ -66566,10 +64361,10 @@
  #~ msgstr "#pragma pack(pop[, id], <n>) no se admite en este objetivo"
  
  #~ msgid "invalid type argument of array indexing"
@@ -82459,7 +83820,7 @@ Index: gcc/po/es.po
  
  #~ msgid "assignment (via 'asm' output) of data-member %qD in read-only structure"
  #~ msgstr "asignación (a través de la salida 'asm') de miembro-dato %qD en estructura de sólo-lectura"
-@@ -67086,7 +65212,7 @@
+@@ -67086,7 +64881,7 @@
  #~ msgstr "faltan argumentos para \"-%s\""
  
  #~ msgid "If scheduling post reload, do trace scheduling"
@@ -82468,7 +83829,7 @@ Index: gcc/po/es.po
  
  #~ msgid "(Each undeclared identifier is reported only once"
  #~ msgstr "(Cada identificador sin declarar solamente se reporta una vez"
-@@ -67457,7 +65583,7 @@
+@@ -67457,7 +65252,7 @@
  #~ msgstr "El parámetro ORDER de RESHAPE en %L está fuera de rango"
  
  #~ msgid "Invalid permutation in ORDER parameter at %L"
@@ -82477,7 +83838,7 @@ Index: gcc/po/es.po
  
  #~ msgid "PAD parameter required for short SOURCE parameter at %L"
  #~ msgstr "Se requiere el parámetro PAD para el parámetro SOURCE corto en %L"
-@@ -67505,7 +65631,7 @@
+@@ -67505,7 +65300,7 @@
  #~ msgstr "la variable o el campo %qs se declaró void"
  
  #~ msgid "%Jinvalid use of structure with flexible array member"
@@ -82486,7 +83847,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%Hprototype declaration"
  #~ msgstr "%Hdeclaración vacía"
-@@ -67682,7 +65808,7 @@
+@@ -67682,7 +65477,7 @@
  #~ msgstr "falta un %<(%> después de %<#pragma push_macro%> - descartado"
  
  #~ msgid "invalid constant in %<#pragma push_macro%> - ignored"
@@ -82495,7 +83856,7 @@ Index: gcc/po/es.po
  
  #~ msgid "missing %<)%> after %<#pragma push_macro%> - ignored"
  #~ msgstr "falta un %<)%> después de %<#pragma push_macro%> - descartado"
-@@ -67694,7 +65820,7 @@
+@@ -67694,7 +65489,7 @@
  #~ msgstr "falta un %<(%> después de %<#pragma pop_macro%> - descartado"
  
  #~ msgid "invalid constant in %<#pragma pop_macro%> - ignored"
@@ -82504,7 +83865,7 @@ Index: gcc/po/es.po
  
  #~ msgid "missing %<)%> after %<#pragma pop_macro%> - ignored"
  #~ msgstr "falta un %<)%> después de %<#pragma pop_macro%> - descartado"
-@@ -67901,7 +66027,7 @@
+@@ -67901,7 +65696,7 @@
  #~ msgstr "%Hla referencia a %qD es ambigua"
  
  #~ msgid "%Hinvalid use of %qD"
@@ -82513,7 +83874,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%Hcase label not within a switch statement"
  #~ msgstr "%Hla etiqueta case no se encuentra dentro de una declaración switch"
-@@ -67913,7 +66039,7 @@
+@@ -67913,7 +65708,7 @@
  #~ msgstr "%Hla declaración break no está dentro de un bucle o switch"
  
  #~ msgid "%Hinvalid exit from OpenMP structured block"
@@ -82522,7 +83883,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%Hbreak statement used with OpenMP for loop"
  #~ msgstr "%Hse usó la declaración break con un bucle for de OpenMP"
-@@ -67937,10 +66063,10 @@
+@@ -67937,10 +65732,10 @@
  #~ msgstr "%Hdemasiadas cláusulas %qs"
  
  #~ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
@@ -82535,7 +83896,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%H%qs is not valid for %qs"
  #~ msgstr "%H%qs no es válido para %qs"
-@@ -67973,7 +66099,7 @@
+@@ -67973,7 +65768,7 @@
  #~ msgstr "%H%qD no es un miembro de %qT"
  
  #~ msgid "%Hinvalid controlling predicate"
@@ -82544,7 +83905,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%Hinvalid increment expression"
  #~ msgstr "%Hfalta la expresión de decremento"
-@@ -68062,13 +66188,13 @@
+@@ -68062,13 +65857,13 @@
  #~ msgstr "El número máximo de ubicaciones de memoria grabadas por flow"
  
  #~ msgid "mt_final_prescan_insn, invalid insn #1"
@@ -82560,7 +83921,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Arithmetic underflow converting %s to %s at %L"
  #~ msgstr "Se convierte el desborde aritmético por debajo %s a %s en %L"
-@@ -68664,9 +66790,6 @@
+@@ -68664,9 +66459,6 @@
  #~ msgid "CONTAINS\n"
  #~ msgstr "CONTIENE\n"
  
@@ -82570,7 +83931,7 @@ Index: gcc/po/es.po
  #~ msgid "Setting value of PROTECTED variable at %C"
  #~ msgstr "Se establece el valor de la variable PROTECTED en %C"
  
-@@ -68785,25 +66908,25 @@
+@@ -68785,25 +66577,25 @@
  #~ msgstr "los tipos de datos no coinciden en la expresión unaria"
  
  #~ msgid "invalid operand in conversion"
@@ -82602,7 +83963,7 @@ Index: gcc/po/es.po
  
  #~ msgid "unexpected non-tuple"
  #~ msgstr "una no tupla inesperada"
-@@ -68893,7 +67016,7 @@
+@@ -68893,7 +66685,7 @@
  #~ msgstr "usando CONST_DOUBLE para las direcciones"
  
  #~ msgid "c4x_address_cost: Invalid addressing mode"
@@ -82611,7 +83972,7 @@ Index: gcc/po/es.po
  
  #~ msgid "c4x_print_operand: %%L inconsistency"
  #~ msgstr "c4x_print_operand: Inconsistencia %%L"
-@@ -68920,22 +67043,22 @@
+@@ -68920,22 +66712,22 @@
  #~ msgstr "c4x_rptb_insert: No se puede encontrar la etiqueta de inicio"
  
  #~ msgid "invalid indirect (S) memory address"
@@ -82639,7 +84000,7 @@ Index: gcc/po/es.po
  
  #~ msgid "c4x_operand_subword: address not offsettable"
  #~ msgstr "c4x_operand_subword: dirección no desplazable"
-@@ -69098,25 +67221,25 @@
+@@ -69098,25 +66890,25 @@
  #~ "\n"
  
  #~ msgid "Maximum number of loops to perform swing modulo scheduling on (mainly for debugging)"
@@ -82671,7 +84032,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Arithmetic overflow converting %s to %s at %L"
  #~ msgstr "Se convierte el desborde aritmético %s a %s en %L"
-@@ -69182,7 +67305,7 @@
+@@ -69182,7 +66974,7 @@
  #~ msgstr "no se permite '&' por sí solo con comentario en la línea %d"
  
  #~ msgid "Invalid second argument of REPEAT at %L"
@@ -82680,7 +84041,7 @@ Index: gcc/po/es.po
  
  #~ msgid "TRANSFER intrinsic not implemented for initialization at %L"
  #~ msgstr "El intrínseco TRANSFER no está implementado para la inicialización en %L"
-@@ -69363,13 +67486,13 @@
+@@ -69363,13 +67155,13 @@
  #~ msgstr "']' desbalanceado"
  
  #~ msgid "Invalid method declaration, method name required"
@@ -82696,7 +84057,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Missing formal parameter term"
  #~ msgstr "Falta el término de parámetro formal"
-@@ -69393,10 +67516,10 @@
+@@ -69393,10 +67185,10 @@
  #~ msgstr "Faltan término y ')' esperados"
  
  #~ msgid "Invalid control expression"
@@ -82709,7 +84070,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Missing term or ')' expected"
  #~ msgstr "Faltan término o ')' esperados"
-@@ -69420,13 +67543,13 @@
+@@ -69420,13 +67212,13 @@
  #~ msgstr "Faltan término y ']' esperados"
  
  #~ msgid "']' expected, invalid type expression"
@@ -82726,7 +84087,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Constructor invocation must be first thing in a constructor"
  #~ msgstr "La invocación del constructor debe ser el primer elemento en un constructor"
-@@ -69878,7 +68001,7 @@
+@@ -69878,7 +67670,7 @@
  #~ msgstr "Los métodos no se pueden sobreescribir para hacerlos más privados. El método %qs no es %s en la clase %qs"
  
  #~ msgid "Invalid checked exception class %qs in %<throws%> clause.  The exception must be a subclass of an exception thrown by %qs from class %qs"
@@ -82735,7 +84096,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Interface %qs inherits method %qs from interface %qs. This method is redefined with a different return type in interface %qs"
  #~ msgstr "La interfaz %qs hereda el método %qs de la interfaz %qs. Este método se redefine con un tipo de devolución diferente en la interfaz %qs"
-@@ -70034,7 +68157,7 @@
+@@ -70034,7 +67826,7 @@
  #~ msgstr "No se puede usar %qs con una constante"
  
  #~ msgid "Invalid cast from %qs to %qs"
@@ -82744,7 +84105,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%<[]%> can only be applied to arrays. It can't be applied to %qs"
  #~ msgstr "%<[]%> sólo se puede aplicar a matrices. No se puede aplicar a %qs"
-@@ -70049,7 +68172,7 @@
+@@ -70049,7 +67841,7 @@
  #~ msgstr "Tipo incompatible para la dimensión en la expresión de creación de matriz. %s convierte %qs a %<int%>"
  
  #~ msgid "Invalid array initializer for non-array type %qs"
@@ -82753,7 +84114,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%<return%> inside instance initializer"
  #~ msgstr "%<return%> dentro de un inicializador de instancia"
-@@ -70206,16 +68329,16 @@
+@@ -70206,16 +67998,16 @@
  #~ msgstr "Marcar datos como compartidos en lugar de privados"
  
  #~ msgid "invalid truth-value expression"
@@ -82774,7 +84135,7 @@ Index: gcc/po/es.po
  
  #~ msgid "GCC does not yet properly implement %<[*]%> array declarators"
  #~ msgstr "GCC aún no implementa adecuadamente los declaradores de matriz %<[*]%>"
-@@ -70278,7 +68401,7 @@
+@@ -70278,7 +68070,7 @@
  #~ msgstr "los operadores minimum/maximum son obsoletos"
  
  #~ msgid "invalid use of %qD as a default value for a template template-parameter"
@@ -82783,7 +84144,7 @@ Index: gcc/po/es.po
  
  #~ msgid "ISO C++ forbids assignment of arrays"
  #~ msgstr "ISO C++ prohíbe la asignación de matrices"
-@@ -70426,7 +68549,7 @@
+@@ -70426,7 +68218,7 @@
  #~ msgstr "Emite código que cumpla con IEEE, con excepciones inexactas"
  
  #~ msgid "Cirrus: Do not break up invalid instruction combinations with NOPs"
@@ -82792,7 +84153,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Assume int to be 8 bit integer"
  #~ msgstr "Asume que int sea entero de 8 bit"
-@@ -70459,7 +68582,7 @@
+@@ -70459,7 +68251,7 @@
  #~ msgstr "No fuerza las constantes en los registros"
  
  #~ msgid "Allow RTL generation to emit invalid 3 operand insns"
@@ -82801,7 +84162,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Disallow unsigned iteration counts for RPTB/DB"
  #~ msgstr "No permite cuentas de iteración unsigned para RPTB/DB"
-@@ -70474,10 +68597,10 @@
+@@ -70474,10 +68266,10 @@
  #~ msgstr "Selecciona el CPU para el cual se genera código"
  
  #~ msgid "invalid operand for 'v' modifier"
@@ -82814,7 +84175,7 @@ Index: gcc/po/es.po
  
  #~ msgid "unrecognized supposed constant in cris_global_pic_symbol"
  #~ msgstr "supuesta constante no reconocida en cris_global_pic_symbol"
-@@ -70504,7 +68627,7 @@
+@@ -70504,7 +68296,7 @@
  #~ msgstr "No establece las definiciones de Windows"
  
  #~ msgid "Align doubles on word boundary"
@@ -82823,7 +84184,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Uninitialized locals in .data"
  #~ msgstr "Locales sin inicializar en .data"
-@@ -70519,7 +68642,7 @@
+@@ -70519,7 +68311,7 @@
  #~ msgstr "No genera sin, cos, sqrt para FPU"
  
  #~ msgid "Do not align destination of the string operations"
@@ -82832,7 +84193,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Do not inline all known string operations"
  #~ msgstr "No convierte a inline todas las operaciones de cadenas conocidas"
-@@ -70672,10 +68795,10 @@
+@@ -70672,10 +68464,10 @@
  #~ msgstr "Convención de llamada alternativa"
  
  #~ msgid "Optimize for 32532 cpu"
@@ -82845,7 +84206,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Optimize for 32032"
  #~ msgstr "Optimiza para 32032"
-@@ -70786,7 +68909,7 @@
+@@ -70786,7 +68578,7 @@
  #~ msgstr "Especifica sí/no si se utiliza la coma flotante en los GPRs"
  
  #~ msgid "Don't align to the base type of the bit-field"
@@ -82854,7 +84215,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Assume that unaligned accesses are handled by the system"
  #~ msgstr "Asume que los accesos sin alinear son manejados por el sistema"
-@@ -70936,7 +69059,7 @@
+@@ -70936,7 +68728,7 @@
  #~ msgstr "el control puede alcanzar el final de la función %qD que no es void al ser inlined"
  
  #~ msgid "invalid initializer for bit string"
@@ -82863,7 +84224,7 @@ Index: gcc/po/es.po
  
  #~ msgid "volatile register variables don%'t work as you might wish"
  #~ msgstr "las variables de registro volatile no funcionan como usted quisiera"
-@@ -70981,7 +69104,7 @@
+@@ -70981,7 +68773,7 @@
  #~ msgstr "valor erróneo (%s) para -flush-trap=n (0=<n<=15)"
  
  #~ msgid "invalid option %<-mstack-increment=%s%>"
@@ -82872,7 +84233,7 @@ Index: gcc/po/es.po
  
  #~ msgid "bad value (%s) for -mabi= switch"
  #~ msgstr "valor erróneo (%s) para el interruptor -mabi="
-@@ -71024,13 +69147,13 @@
+@@ -71024,13 +68816,13 @@
  #~ msgstr "Se utilizó un cpu desconocido en -mcpu=%s."
  
  #~ msgid "invalid value for -mwarn-framesize"
@@ -82889,7 +84250,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%H function '%D' is defined after prior declaration as dllimport: attribute ignored"
  #~ msgstr "%H la función '%D' se define después de una declaración previa como dllimport: se descarta el atributo"
-@@ -71057,7 +69180,7 @@
+@@ -71057,7 +68849,7 @@
  #~ msgstr "convirtiendo el valor negativo %qE a %qT"
  
  #~ msgid "%qD invalid in %qT"
@@ -82898,7 +84259,7 @@ Index: gcc/po/es.po
  
  #~ msgid "than previous declaration %qF"
  #~ msgstr "que la declaración previa %qF"
-@@ -71209,7 +69332,7 @@
+@@ -71209,7 +69001,7 @@
  #~ msgstr "base %qT con sólo un constructor que no es por defecto en una clase sin un constructor"
  
  #~ msgid "%Jinvalid type qualifier for non-member function type"
@@ -82907,7 +84268,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%s to %qT from %qT"
  #~ msgstr "%s a %qT desde %qT"
-@@ -71284,10 +69407,10 @@
+@@ -71284,10 +69076,10 @@
  #~ msgstr "ISO C prohíbe el tipo calificado de devolución de una función void"
  
  #~ msgid "invalid type modifier within pointer declarator"
@@ -82920,7 +84281,7 @@ Index: gcc/po/es.po
  
  #~ msgid "parameter `%s' has incomplete type"
  #~ msgstr "el parámetro `%s' tiene tipo de dato incompleto"
-@@ -71567,7 +69690,7 @@
+@@ -71567,7 +69359,7 @@
  #~ msgstr "C tradicional rechaza el sufijo \"%.*s\""
  
  #~ msgid "invalid suffix \"%.*s\" on integer constant"
@@ -82929,7 +84290,7 @@ Index: gcc/po/es.po
  
  #~ msgid "imaginary constants are a GCC extension"
  #~ msgstr "las constantes imaginarias son una extensión GCC"
-@@ -71651,7 +69774,7 @@
+@@ -71651,7 +69443,7 @@
  #~ msgstr "directorio NULL en find_file"
  
  #~ msgid "one or more PCH files were found, but they were invalid"
@@ -82938,7 +84299,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%s is a block device"
  #~ msgstr "%s es un dispositivo de bloques"
-@@ -71741,7 +69864,7 @@
+@@ -71741,7 +69533,7 @@
  #~ msgstr "la directiva de estilo de línea es una extensión de GCC"
  
  #~ msgid "invalid preprocessing directive #%s"
@@ -82947,7 +84308,7 @@ Index: gcc/po/es.po
  
  #~ msgid "\"defined\" cannot be used as a macro name"
  #~ msgstr "\"defined\" no se puede usar como un nombre de macro"
-@@ -71765,7 +69888,7 @@
+@@ -71765,7 +69557,7 @@
  #~ msgstr "#include_next en fichero primario de código fuente"
  
  #~ msgid "invalid flag \"%s\" in line directive"
@@ -82956,7 +84317,7 @@ Index: gcc/po/es.po
  
  #~ msgid "\"%s\" after #line is not a positive integer"
  #~ msgstr "\"%s\" después de #line no es un entero positivo"
-@@ -71777,7 +69900,7 @@
+@@ -71777,7 +69569,7 @@
  #~ msgstr "\"%s\" después de # no es un entero positivo"
  
  #~ msgid "invalid #ident directive"
@@ -82965,7 +84326,7 @@ Index: gcc/po/es.po
  
  #~ msgid "registering \"%s\" as both a pragma and a pragma namespace"
  #~ msgstr "registrando \"%s\" como un pragma y como un espacio de nombres de pragma"
-@@ -71789,7 +69912,7 @@
+@@ -71789,7 +69581,7 @@
  #~ msgstr "#pragma una vez en el fichero principal"
  
  #~ msgid "invalid #pragma GCC poison directive"
@@ -82974,7 +84335,7 @@ Index: gcc/po/es.po
  
  #~ msgid "poisoning existing macro \"%s\""
  #~ msgstr "envenenando la macro existente \"%s\""
-@@ -71834,10 +69957,10 @@
+@@ -71834,10 +69626,10 @@
  #~ msgstr "\"%s\" reafirmado"
  
  #~ msgid "invalid built-in macro \"%s\""
@@ -82987,7 +84348,7 @@ Index: gcc/po/es.po
  
  #~ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
  #~ msgstr "pegar \"%s\" y \"%s\" no da un elemento válido de preprocesamiento"
-@@ -71885,7 +70008,7 @@
+@@ -71885,7 +69677,7 @@
  #~ msgstr "el argumento de macro \"%s\" debería ser convertido a cadena en C tradicional"
  
  #~ msgid "invalid hash type %d in cpp_macro_definition"
@@ -82996,7 +84357,7 @@ Index: gcc/po/es.po
  
  #~ msgid "while writing precompiled header"
  #~ msgstr "al escribir el encabezado precompilado"
-@@ -71915,7 +70038,7 @@
+@@ -71915,7 +69707,7 @@
  #~ msgstr "se regresó un valor en block_exit_expr"
  
  #~ msgid "invalid specification!  Bug in cc"
@@ -83005,7 +84366,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Internal gcov abort.\n"
  #~ msgstr "Aborto interno de gcov.\n"
-@@ -71979,7 +70102,7 @@
+@@ -71979,7 +69771,7 @@
  #~ msgstr "%s: aborto interno\n"
  
  #~ msgid "jump to `%s' invalidly jumps into binding contour"
@@ -83014,7 +84375,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%Jlabel '%D' used before containing binding contour"
  #~ msgstr "%Jse usó antes la etiqueta '%D' que contenía un contorno de unión"
-@@ -71994,7 +70117,7 @@
+@@ -71994,7 +69786,7 @@
  #~ msgstr "no se puede hacer timevar_pop '%s' cuando el tope de la pila timevars es '%s'"
  
  #~ msgid "invalid option `%s'"
@@ -83023,7 +84384,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%Jfunction '%F' can never be inlined because it contains a nested function"
  #~ msgstr "%Jla función '%F' nunca puede ser inlined porque contiene una función anidada"
-@@ -72012,7 +70135,7 @@
+@@ -72012,7 +69804,7 @@
  #~ msgstr "el trabajo interno fuerza el uso de APCS-32"
  
  #~ msgid "-mfpe switch not supported by ep9312 target cpu - ignored."
@@ -83032,7 +84393,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Use the 32-bit version of the APCS"
  #~ msgstr "Usar la versión 32-bit del APCS"
-@@ -72099,16 +70222,16 @@
+@@ -72099,16 +69891,16 @@
  #~ msgstr "código de extensión de registro erróneo"
  
  #~ msgid "invalid offset in ybase addressing"
@@ -83053,7 +84414,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Don't pass parameters in registers"
  #~ msgstr "No pasar los parámetros en los registros"
-@@ -72288,10 +70411,10 @@
+@@ -72288,10 +70080,10 @@
  #~ msgstr "No usar PIC imbuído"
  
  #~ msgid "invalid UNSPEC as operand (1)"
@@ -83066,7 +84427,7 @@ Index: gcc/po/es.po
  
  #~ msgid "UNKNOWN in s390_output_symbolic_const !?"
  #~ msgstr "UNKNOWN en s390_output_symbolic_const !?"
-@@ -72348,13 +70471,13 @@
+@@ -72348,13 +70140,13 @@
  #~ msgstr "el especificador de tipo del valor devuelto para el constructor es descartado"
  
  #~ msgid "storage class `static' invalid for function `%s' declared out of global scope"
@@ -83083,7 +84444,7 @@ Index: gcc/po/es.po
  
  #~ msgid "return type for `main' changed to `int'"
  #~ msgstr "el tipo de devolución para `main' cambió a `int'"
-@@ -72387,7 +70510,7 @@
+@@ -72387,7 +70179,7 @@
  #~ msgstr "`%#D' redeclarado como %C"
  
  #~ msgid "invalid token"
@@ -83092,7 +84453,7 @@ Index: gcc/po/es.po
  
  #~ msgid "`::%D' has not been declared"
  #~ msgstr "`::%D' no puede ser declarado"
-@@ -72544,19 +70667,19 @@
+@@ -72544,19 +70336,19 @@
  #~ msgstr "directiva errónea -- falta una comilla que cierre"
  
  #~ msgid "invalid #ident"
@@ -83116,7 +84477,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Null character at %0 -- line ignored"
  #~ msgstr "Carácter nulo en %0 -- línea descartada"
-@@ -72598,7 +70721,7 @@
+@@ -72598,7 +70390,7 @@
  #~ msgstr "Falta el primer operando binario para el operador binario en %0"
  
  #~ msgid "Invalid token at %0 in expression or subexpression at %1"
@@ -83125,7 +84486,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Unrecognized character at %0 [info -f g77 M LEX]"
  #~ msgstr "Carácter no reconocido en %0 [info -f g77 M LEX]"
-@@ -72607,7 +70730,7 @@
+@@ -72607,7 +70399,7 @@
  #~ msgstr "La definición de la etiqueta %A en %0 en una declaración vacía (para %1)"
  
  #~ msgid "Invalid first character at %0 [info -f g77 M LEX]"
@@ -83134,7 +84495,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Line too long as of %0 [info -f g77 M LEX]"
  #~ msgstr "Línea demasiado larga para %0 [info -f g77 M LEX]"
-@@ -72622,7 +70745,7 @@
+@@ -72622,7 +70414,7 @@
  #~ msgstr "El indicador de continuación en %0 debe aparecer en la columna 6 [info -f g77 M LEX]"
  
  #~ msgid "Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]"
@@ -83143,7 +84504,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Hollerith constant at %0 specified %A more characters than are present as of %1"
  #~ msgstr "La constante hollerith en %0 especifica %A más caracteres que los presentes en %1"
-@@ -72637,10 +70760,10 @@
+@@ -72637,10 +70429,10 @@
  #~ msgstr "Falta el punto que cierra entre `.%A' en %0 y %1"
  
  #~ msgid "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field"
@@ -83156,7 +84517,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Unrecognized FORMAT specifier at %0"
  #~ msgstr "Especificador FORMAT no reconocido en %0"
-@@ -72685,7 +70808,7 @@
+@@ -72685,7 +70477,7 @@
  #~ msgstr "La referencia de la declaración DO a la etiqueta en %0 y la definición de la etiqueta en %2 están separadas por un bloque sin terminar que empieza en %1"
  
  #~ msgid "Label definition at %0 invalid on this kind of statement"
@@ -83165,7 +84526,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Statement at %0 must specify construct name specified at %1"
  #~ msgstr "La declaración en %0 debe especificar el nombre de la construcción especificada en %1"
-@@ -72730,7 +70853,7 @@
+@@ -72730,7 +70522,7 @@
  #~ msgstr "Etiqueta indefinida, primero referenciada en %0"
  
  #~ msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
@@ -83174,7 +84535,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements"
  #~ msgstr "El especificador de acceso en %0 debe seguir inmediatamente a la declaración de tipo derivado en %1 sin declaraciones que intervengan"
-@@ -72741,9 +70864,6 @@
+@@ -72741,9 +70533,6 @@
  #~ msgid "No components specified as of %0 for structure definition beginning at %1"
  #~ msgstr "No se especificaron componentes para %0 para la la definición de la estructura que comienza en %1"
  
@@ -83184,7 +84545,7 @@ Index: gcc/po/es.po
  #~ msgid "Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead"
  #~ msgstr "Nombres de campos en %0 para la definici{on de la estructura exterior -- especifíquelos en su lugar en una declaración RECORD subsecuente"
  
-@@ -72757,11 +70877,8 @@
+@@ -72757,11 +70546,8 @@
  #~ msgstr "Se especificaron cero o un mapa en %0 para la unión que comienza en %1 -- se requieren por lo menos dos"
  
  #~ msgid "Items in I/O list starting at %0 invalid for namelist-directed I/O"
@@ -83197,7 +84558,7 @@ Index: gcc/po/es.po
  #~ msgid "No UNIT= specifier in I/O control list at %0"
  #~ msgstr "No hay un especificador UNIT= en la lista de control de E/S en %0"
  
-@@ -72781,19 +70898,19 @@
+@@ -72781,19 +70567,19 @@
  #~ msgstr "Desacuerdo de tipo y/o parámetro de tipo entre el valor CASE o el valor dentro del rango en %0 y SELECT CASE en %1"
  
  #~ msgid "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement"
@@ -83220,7 +84581,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Expression at %0 has incorrect data type or rank for its context"
  #~ msgstr "La expresión en %0 tiene el tipo de dato o rango incorrecto para su contexto"
-@@ -72820,7 +70937,7 @@
+@@ -72820,7 +70606,7 @@
  #~ msgstr "Paréntesis gratuitos alrededor de la construcción con DO implícito en %0"
  
  #~ msgid "Zero-size specification invalid at %0"
@@ -83229,7 +84590,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Zero-size array at %0"
  #~ msgstr "Matriz de tamaño cero en %0"
-@@ -73458,7 +71575,7 @@
+@@ -73458,7 +71244,7 @@
  #~ msgstr "enum anónimo declarado dentro de una lista de parámetros"
  
  #~ msgid "bit-field `%s' type invalid in ISO C"
@@ -83238,7 +84599,7 @@ Index: gcc/po/es.po
  
  #~ msgid "duplicate member `%s'"
  #~ msgstr "miembro duplicado `%s'"
-@@ -73467,7 +71584,7 @@
+@@ -73467,7 +71253,7 @@
  #~ msgstr "se dieron los tipos de los parámetros en la lista de parámetros y por separado"
  
  #~ msgid "ignoring invalid multibyte character"
@@ -83247,7 +84608,7 @@ Index: gcc/po/es.po
  
  #~ msgid "options array incorrectly sorted: %s is before %s"
  #~ msgstr "opciones de matriz ordenadas incorrectamente: %s está antes de %s"
-@@ -73702,7 +71819,7 @@
+@@ -73702,7 +71488,7 @@
  #~ msgstr "ISO C++ no permite \"%s\" en #if"
  
  #~ msgid "invalid character '\\%03o' in #if"
@@ -83256,7 +84617,7 @@ Index: gcc/po/es.po
  
  #~ msgid "absolute file name in remap_filename"
  #~ msgstr "nombre de fichero absoluto en remap_filename"
-@@ -73808,43 +71925,43 @@
+@@ -73808,43 +71594,43 @@
  #~ msgstr "El nombre `%s' contiene comillas"
  
  #~ msgid "invalid string `%s' in define_cpu_unit"
@@ -83312,7 +84673,7 @@ Index: gcc/po/es.po
  
  #~ msgid "repetition `%s' <= 1 in reservation `%s'"
  #~ msgstr "repetición `%s' <= 1 en la reservación `%s'"
-@@ -74032,7 +72149,7 @@
+@@ -74032,7 +71818,7 @@
  #~ msgstr "use -dwarf-2    para DWARF v2"
  
  #~ msgid "ignoring option `%s' due to invalid debug level specification"
@@ -83321,7 +84682,7 @@ Index: gcc/po/es.po
  
  #~ msgid "`%s': unknown or unsupported -g option"
  #~ msgstr "`%s': opción -g desconocida o sin soporte"
-@@ -74083,16 +72200,16 @@
+@@ -74083,16 +71869,16 @@
  #~ msgstr "%%R no es seguido por %%B/C/D/E"
  
  #~ msgid "invalid %%Q value"
@@ -83342,7 +84703,7 @@ Index: gcc/po/es.po
  
  #~ msgid "`%%d' operand isn't a register"
  #~ msgstr "el operando `%%d' no es un registro"
-@@ -74110,7 +72227,7 @@
+@@ -74110,7 +71896,7 @@
  #~ msgstr "valor erróneo (%s) para el interruptor -mips"
  
  #~ msgid "invalid option `entry%s'"
@@ -83351,7 +84712,7 @@ Index: gcc/po/es.po
  
  #~ msgid "-mentry is only meaningful with -mips-16"
  #~ msgstr "-mentry sólo tiene significado con -mips-16"
-@@ -74132,7 +72249,7 @@
+@@ -74132,7 +71918,7 @@
  #~ msgstr "Usar pseudo ops mips16 de entry/exit"
  
  #~ msgid "invalid %%z value"
@@ -83360,7 +84721,7 @@ Index: gcc/po/es.po
  
  #~ msgid "can't have varargs with -mfp-arg-in-fp-regs"
  #~ msgstr "no se puede tener varargs con -mfp-arg-in-fp-regs"
-@@ -74231,7 +72348,7 @@
+@@ -74231,7 +72017,7 @@
  #~ msgstr "  inicializando el temporal a partir del resultado de `%D'"
  
  #~ msgid "field `%D' invalidly declared offset type"
@@ -83369,7 +84730,7 @@ Index: gcc/po/es.po
  
  #~ msgid "lookup of `%D' finds `%#D'"
  #~ msgstr "la búsqueda de `%D' encuentra a `%#D'"
-@@ -74246,7 +72363,7 @@
+@@ -74246,7 +72032,7 @@
  #~ msgstr "`%T' implícitamente es un nombre de tipo"
  
  #~ msgid "parameter `%D' invalidly declared offset type"
@@ -83378,7 +84739,7 @@ Index: gcc/po/es.po
  
  #~ msgid "`%s %T' declares a new type at namespace scope"
  #~ msgstr "`%s %T' declara un tipo nuevo en el ámbito del nombre de espacio"
-@@ -74284,6 +72401,9 @@
+@@ -74284,6 +72070,9 @@
  #~ msgid "`%T' is not a class or union type"
  #~ msgstr "`%T' no es una clase o tipo union"
  
@@ -83388,7 +84749,7 @@ Index: gcc/po/es.po
  #~ msgid "\\x%x"
  #~ msgstr "\\x%x"
  
-@@ -74291,7 +72411,7 @@
+@@ -74291,7 +72080,7 @@
  #~ msgstr "declaración friend previa de `%D'"
  
  #~ msgid "invalid use of member `%D'"
@@ -83397,7 +84758,7 @@ Index: gcc/po/es.po
  
  #~ msgid "object missing in use of pointer-to-member construct"
  #~ msgstr "falta objeto en el uso de una consctrucción que apunta a miembros"
-@@ -74427,7 +72547,7 @@
+@@ -74427,7 +72216,7 @@
  #~ msgstr "dependencia circular en los argumentos por defecto de `%#D'"
  
  #~ msgid "invalid type `%T' for default argument to `%T'"
@@ -83406,7 +84767,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%s before `%c'"
  #~ msgstr "%s antes de `%c'"
-@@ -74442,7 +72562,7 @@
+@@ -74442,7 +72231,7 @@
  #~ msgstr "ISO C++ prohíbe la conversión de `%#T' a `(...)'"
  
  #~ msgid "invalid application of `%s' to non-static member"
@@ -83415,7 +84776,7 @@ Index: gcc/po/es.po
  
  #~ msgid "destructor specifier `%T::~%T' must have matching names"
  #~ msgstr "el especificador del destructor `%T::~%T' debe tener nombres coincidentes"
-@@ -74631,7 +72751,7 @@
+@@ -74631,7 +72420,7 @@
  #~ msgstr "más de un sufijo `i' o una `j' en una constante entera"
  
  #~ msgid "invalid suffix on integer constant"
@@ -83424,7 +84785,7 @@ Index: gcc/po/es.po
  
  #~ msgid "integer constant is too large for this configuration of the compiler - truncated to %d bits"
  #~ msgstr "la constante entera es muy grande para esta configuración del compilador - truncando a %d bits"
-@@ -74877,7 +72997,7 @@
+@@ -74877,7 +72666,7 @@
  #~ msgstr "no se permiten números de coma flotante en expresiones #if"
  
  #~ msgid "invalid character constant in #if"
@@ -83433,7 +84794,7 @@ Index: gcc/po/es.po
  
  #~ msgid "octal character constant does not fit in a byte"
  #~ msgstr "la constante de carácter octal no cabe en un byte"
-@@ -74925,7 +73045,7 @@
+@@ -74925,7 +72714,7 @@
  #~ msgstr "`defined' debe ser seguido por ident o (ident)"
  
  #~ msgid "cccp error: invalid special hash type"
@@ -83442,7 +84803,7 @@ Index: gcc/po/es.po
  
  #~ msgid "#include expects \"fname\" or <fname>"
  #~ msgstr "#include espera \"fname\" ó <fname>"
-@@ -74934,10 +73054,10 @@
+@@ -74934,10 +72723,10 @@
  #~ msgstr "no hay ruta de inclusión en la cual se encuentre %.*s"
  
  #~ msgid "invalid macro name"
@@ -83455,7 +84816,7 @@ Index: gcc/po/es.po
  
  #~ msgid "parameter name starts with a digit in #define"
  #~ msgstr "el nombre de un parámetro empieza con un dígito en un #define"
-@@ -74955,7 +73075,7 @@
+@@ -74955,7 +72744,7 @@
  #~ msgstr "el operador # debe continuar con un nombre de argumento de macro"
  
  #~ msgid "invalid format #line command"
@@ -83464,7 +84825,7 @@ Index: gcc/po/es.po
  
  #~ msgid "undefining `defined'"
  #~ msgstr "borrando la definición de `defined'"
-@@ -75213,7 +73333,7 @@
+@@ -75213,7 +73002,7 @@
  #~ msgstr "`%D' como declarador"
  
  #~ msgid "invalid type: `void &'"
@@ -83473,7 +84834,7 @@ Index: gcc/po/es.po
  
  #~ msgid "typedef declaration includes an initializer"
  #~ msgstr "la declaración typedef incluye un inicializador"
-@@ -75267,13 +73387,13 @@
+@@ -75267,13 +73056,13 @@
  #~ msgstr "petición por el miembro `%T::%D' en la expresión de tipo no agregado `%T'"
  
  #~ msgid "invalid use of type decl `%#D' as expression"
@@ -83490,7 +84851,7 @@ Index: gcc/po/es.po
  
  #~ msgid "pointer to member function called, but not in class scope"
  #~ msgstr "se llamó a apuntador a función miembro, pero no en el alcance de la clase"
-@@ -75282,16 +73402,16 @@
+@@ -75282,16 +73071,16 @@
  #~ msgstr "¿!¿se declaró la función `%D' sobrecargada, pero no aparece ninguna definición con la cual resolverlo?!?"
  
  #~ msgid "invalid call to member function needing `this' in static member function scope"
@@ -83511,7 +84872,7 @@ Index: gcc/po/es.po
  
  #~ msgid "due to the presence of a constructor"
  #~ msgstr "debido a la presencia de un constructor"
-@@ -75372,31 +73492,31 @@
+@@ -75372,31 +73161,31 @@
  #~ msgstr "output_operand: %s"
  
  #~ msgid "invalid %H value"
@@ -83552,7 +84913,7 @@ Index: gcc/po/es.po
  
  #~ msgid "-march=%s does not support -mips%d"
  #~ msgstr "-march=%s no tiene soporte para -mips%d"
-@@ -75561,7 +73681,7 @@
+@@ -75561,7 +73350,7 @@
  #~ msgstr "falta los campos variantes (por lo menos `%s')"
  
  #~ msgid "bad initializer for field `%s'"
@@ -83561,7 +84922,7 @@ Index: gcc/po/es.po
  
  #~ msgid "no initializer value for variant field `%s'"
  #~ msgstr "no hay un valor inicializador para el campo variante `%s'"
-@@ -75585,7 +73705,7 @@
+@@ -75585,7 +73374,7 @@
  #~ msgstr "índice de inicio no constante para la tupla"
  
  #~ msgid "invalid array tuple label"
@@ -83570,7 +84931,7 @@ Index: gcc/po/es.po
  
  #~ msgid "incompatible array tuple element %s"
  #~ msgstr "elemento %s de tupla matriz incompatible"
-@@ -75741,7 +73861,7 @@
+@@ -75741,7 +73530,7 @@
  #~ msgstr "no se puede dereferenciar el valor de PTR usando un `->' unario"
  
  #~ msgid "invalid type argument of `->'"
@@ -83579,7 +84940,7 @@ Index: gcc/po/es.po
  
  #~ msgid "operand of '.' is not a STRUCT"
  #~ msgstr "el operando de '.' no es un STRUCT"
-@@ -75816,7 +73936,7 @@
+@@ -75816,7 +73605,7 @@
  #~ msgstr "no se puede llamar a un PROCESS, usted START un PROCESS"
  
  #~ msgid "invalid %s"
@@ -83588,7 +84949,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%s parameter %d is READ-only"
  #~ msgstr "%s del parámetro %d es READ-only"
-@@ -75843,7 +73963,7 @@
+@@ -75843,7 +73632,7 @@
  #~ msgstr "solamente se permite una expresión en el índice de la cadena"
  
  #~ msgid "invalid: primval ( untyped_exprlist )"
@@ -83597,7 +84958,7 @@ Index: gcc/po/es.po
  
  #~ msgid "operand is variable-size bitstring/power-set"
  #~ msgstr "el operando es una cadena de bits/powerset de tamaño variable"
-@@ -75864,7 +73984,7 @@
+@@ -75864,7 +73653,7 @@
  #~ msgstr "no se puede usar el operador %s en la variable de modo PROC"
  
  #~ msgid "invalid right operand of %s"
@@ -83606,7 +84967,7 @@ Index: gcc/po/es.po
  
  #~ msgid "left argument to MOD/REM operator must be integral"
  #~ msgstr "el argumento izquierdo del operador MOD/REM debe ser integral"
-@@ -75912,7 +74032,7 @@
+@@ -75912,7 +73701,7 @@
  #~ msgstr "operador %s aplicado a una variable boolean"
  
  #~ msgid "decode_constant: invalid component_ref"
@@ -83615,7 +84976,7 @@ Index: gcc/po/es.po
  
  #~ msgid "decode_constant: mode and value mismatch"
  #~ msgstr "decode_constant: no coinciden el modo y el valor"
-@@ -76017,7 +74137,7 @@
+@@ -76017,7 +73806,7 @@
  #~ msgstr "faltan argumentos para esta cadena de formato"
  
  #~ msgid "type of argument %d invalid for conversion code at offset %d"
@@ -83624,7 +84985,7 @@ Index: gcc/po/es.po
  
  #~ msgid "unmatched open paren"
  #~ msgstr "paréntesis abierto sin coincidencia"
-@@ -76080,7 +74200,7 @@
+@@ -76080,7 +73869,7 @@
  #~ msgstr " ignorar mayúsculas y minúsculas de la entrada no funcionará"
  
  #~ msgid "invalid C'xx' "
@@ -83633,7 +84994,7 @@ Index: gcc/po/es.po
  
  #~ msgid "malformed exponent part of floating-point literal"
  #~ msgstr "parte del exponente malformada de una literal de coma flotante"
-@@ -76101,16 +74221,16 @@
+@@ -76101,16 +73890,16 @@
  #~ msgstr "secuencia de control sin terminar"
  
  #~ msgid "invalid integer literal in control sequence"
@@ -83653,7 +85014,7 @@ Index: gcc/po/es.po
  
  #~ msgid "integer literal too big"
  #~ msgstr "entero literal demasiado grande"
-@@ -76125,7 +74245,7 @@
+@@ -76125,7 +73914,7 @@
  #~ msgstr "falta un `=' en la directiva del compilador"
  
  #~ msgid "invalid value follows `=' in compiler directive"
@@ -83662,7 +85023,7 @@ Index: gcc/po/es.po
  
  #~ msgid "`%s' not integer constant synonym "
  #~ msgstr "`%s' no es un sinónimo de la constante entera "
-@@ -76276,7 +74396,7 @@
+@@ -76276,7 +74065,7 @@
  #~ msgstr "lista de nombres de campos de tupla errónea"
  
  #~ msgid "invalid syntax for label in tuple"
@@ -83671,7 +85032,7 @@ Index: gcc/po/es.po
  
  #~ msgid "bad syntax in tuple"
  #~ msgstr "sintaxis errónea en la tupla"
-@@ -76285,7 +74405,7 @@
+@@ -76285,7 +74074,7 @@
  #~ msgstr "nombre que no es modo antes de la tupla"
  
  #~ msgid "invalid expression/location syntax"
@@ -83680,7 +85041,7 @@ Index: gcc/po/es.po
  
  #~ msgid "RECEIVE expression"
  #~ msgstr "expresión RECEIVE"
-@@ -76351,7 +74471,7 @@
+@@ -76351,7 +74140,7 @@
  #~ msgstr "modo sin propiedad que no es valor en la definición de la señal"
  
  #~ msgid "RETURNS spec with invalid mode"
@@ -83689,7 +85050,7 @@ Index: gcc/po/es.po
  
  #~ msgid "operand to REF is not a mode"
  #~ msgstr "el operando para REF no es un modo"
-@@ -76366,7 +74486,7 @@
+@@ -76366,7 +74155,7 @@
  #~ msgstr "el modo de grabación no debe tener la propiedad que no es valor"
  
  #~ msgid "invalid attribute for argument `%s' (only IN or LOC allowed)"
@@ -83698,7 +85059,7 @@ Index: gcc/po/es.po
  
  #~ msgid "PROCESS may only be declared at module level"
  #~ msgstr "solamente se puede declarar PROCESS en el nivel de módulos"
-@@ -76447,7 +74567,7 @@
+@@ -76447,7 +74236,7 @@
  #~ msgstr "SEND WITH debe tener un modo"
  
  #~ msgid "internal error: RECEIVE CASE stack invalid"
@@ -83707,7 +85068,7 @@ Index: gcc/po/es.po
  
  #~ msgid "SET requires INSTANCE location"
  #~ msgstr "SET requiere de una ubicación INSTANCE"
-@@ -76561,10 +74681,10 @@
+@@ -76561,10 +74350,10 @@
  #~ msgstr "solamente se puede construir un powerset a partir de un modo discreto"
  
  #~ msgid "non-constant bitstring size invalid"
@@ -83720,7 +85081,7 @@ Index: gcc/po/es.po
  
  #~ msgid "array or string index is a mode (instead of a value)"
  #~ msgstr "el índice de una matriz o una cadena es un modo (en lugar de un valor)"
-@@ -76594,7 +74714,7 @@
+@@ -76594,7 +74383,7 @@
  #~ msgstr "el índice de matriz no es discreto"
  
  #~ msgid "invalid compound index for bitstring mode"
@@ -83729,7 +85090,7 @@ Index: gcc/po/es.po
  
  # FIXME: revisar que variable_size sea algo fijo en el código. cfuga
  #~ msgid "conversions from variable_size value"
-@@ -76753,7 +74873,7 @@
+@@ -76753,7 +74542,7 @@
  #~ msgstr "si un campo tiene una disposición POS, entonces todos los campos deben tener una disposición POS"
  
  #~ msgid "invalid parameterized type"
@@ -83738,7 +85099,7 @@ Index: gcc/po/es.po
  
  #~ msgid "abstract virtual `%#D' called from constructor"
  #~ msgstr "virtual abstracto `%#D' llamado desde un constructor"
-@@ -76792,10 +74912,10 @@
+@@ -76792,10 +74581,10 @@
  #~ msgstr "Definición de etiqueta extra %A en %0 a continuación de la definición de la etiqueta %B en %1"
  
  #~ msgid "Continuation indicator at %0 invalid on first non-comment line of file or following END or INCLUDE [info -f g77 M LEX]"
@@ -83751,7 +85112,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Integer at %0 too large except as negative number (preceded by unary minus sign)"
  #~ msgstr "Entero en %0 demasiado grande excepto como número negativo (precedido por el signo de menos unario)"
-@@ -76832,16 +74952,16 @@
+@@ -76832,16 +74621,16 @@
  
  # No me gusta esta traducción (y las que siguen del estilo). cfuga
  #~ msgid "Invalid binary digit(s) found in string of digits at %0"
@@ -83772,7 +85133,7 @@ Index: gcc/po/es.po
  
  #~ msgid "%A part of complex constant at %0 must be a real or integer constant -- otherwise use CMPLX() or COMPLEX() in place of ()"
  #~ msgstr "%A parte de la constante compleja en %0 debe ser una constante real o entera -- de otra forma use CMPLX() o COMPLEX() en lugar de ()"
-@@ -76850,19 +74970,19 @@
+@@ -76850,19 +74639,19 @@
  #~ msgstr "%A parte de la constante compleja en %0 no es una constante real o entera"
  
  #~ msgid "Invalid keyword `%%%A' at %0 in this context"
@@ -83796,7 +85157,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Concatenation operator at %0 must operate on two subexpressions of character type, but the subexpression at %1 is not of character type"
  #~ msgstr "El operando de concatenación en %0 debe operar en dos subexpresiones de tipo carácter, pero la subexpresión en %1 no es de tipo carácter"
-@@ -76871,25 +74991,25 @@
+@@ -76871,25 +74660,25 @@
  #~ msgstr "El operador de concatenación en %0 debe operar en dos subexpresiones escalares (no matrices), dos invocaciones de la función regresan caracteres escalares, o una combinación de ambos -- pero la subexpresión en %1 es %A"
  
  #~ msgid "Invalid operand (is %A) at %1 for concatenation operator at %0"
@@ -83826,7 +85187,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Character constant at %0 has no closing quote at %1 [info -f g77 M LEX]"
  #~ msgstr "La constante de carácter en %0 no tiene comilla que cierra en %1 [info -f g77 M LEX]"
-@@ -76904,19 +75024,19 @@
+@@ -76904,19 +74693,19 @@
  #~ msgstr "La continuación de línea en %0 debe tener un `&' ya que continúa un elemento léxico dividido [info -f g77 M LEX]"
  
  #~ msgid "Continuation line at %0 invalid because it consists only of a single `&' as the only nonblank character"
@@ -83851,7 +85212,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Enclose hollerith constant in statement at %0 in parentheses"
  #~ msgstr "Encierre la constante hollerith en paréntesis en la declaración en %0"
-@@ -76925,154 +75045,154 @@
+@@ -76925,154 +74714,154 @@
  #~ msgstr "El descriptor de edición de control nP no está seguido de una coma sin por un descriptor de edición en %0 diferente de D, E, EN, F o G"
  
  #~ msgid "Invalid edit descriptor at %0 following nP control edit descriptor"
@@ -84056,7 +85417,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Defined operator at %0 contains a nonletter -- must contain only letters A-Z (or a-z)"
  #~ msgstr "El operador definido en %0 contiene un carácter que no es letra -- debe contener solamente letras A-Z (o a-z)"
-@@ -77081,7 +75201,7 @@
+@@ -77081,7 +74870,7 @@
  #~ msgstr "Un carácter que no es letra en el operador definido en %0"
  
  #~ msgid "Invalid type-declaration attribute at %0 -- must be one of: DIMENSION(array-spec), EXTERNAL, INTRINSIC, PARAMETER, or SAVE"
@@ -84065,7 +85426,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Unrecognized value for character constant at %0 -- expecting %A"
  #~ msgstr "Valor no reconocido para la constante de carácter en %0 -- se esperaba %A"
-@@ -77090,7 +75210,7 @@
+@@ -77090,7 +74879,7 @@
  #~ msgstr "Valor no reconocido para una constante de carácter en %0"
  
  #~ msgid "Range specification at %0 invalid -- at least one expression must be specified, or use CASE DEFAULT"
@@ -84074,7 +85435,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Range specification at %0 useless; first expression greater than second expression in range, so range can never be matched by any selection expression"
  #~ msgstr "Especificación de rango en %0 inútil; la primera expresión es más grande que la segunda expresión en el rango, así que el rango nunca coincidirá con cualquier expresión de rango"
-@@ -77099,7 +75219,7 @@
+@@ -77099,7 +74888,7 @@
  #~ msgstr "Rango inútil en %0"
  
  #~ msgid "Invalid kind at %0 for type at %1 -- unsupported or not permitted"
@@ -84083,7 +85444,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Cannot establish implicit type for initial letter `%A' at %0 -- already explicitly established or used to set implicit type of some name, or backwards order of letters in letter range"
  #~ msgstr "No se puede establecer el tipo implícito para la letra inicial `%A' en %0 -- ya se estableció explícitamente o se usó para establecer el tipo implícito de otro nombre, o en orden inverso de letras en el rango de letras"
-@@ -77108,7 +75228,7 @@
+@@ -77108,7 +74897,7 @@
  #~ msgstr "No se puede establecer el tipo implícito para la letra inicial `%A' en %0"
  
  #~ msgid "Label definition %A (at %0) invalid -- must be in columns 1-5"
@@ -84092,7 +85453,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Run-time expression at %0 in FORMAT statement that does not follow the first executable statement in the program unit -- move the statement"
  #~ msgstr "Hay una expresión en tiempo de ejecución en %0 en la declaración FORMAT que no sigue la primera declaración ejecutable en la unidad de programa -- mueva la declaración"
-@@ -77126,19 +75246,19 @@
+@@ -77126,19 +74915,19 @@
  #~ msgstr "El operador booleano/lógico en %0 debe operar en dos subexpresiones de tipo lógico, pero ninguna subexpresión en %1 o %2 es de tipo lógico"
  
  #~ msgid "Invalid operands at %1 and %2 for boolean operator at %0"
@@ -84115,7 +85476,7 @@ Index: gcc/po/es.po
  
  #~ msgid ".NOT. operator at %0 must operate on subexpression of logical type, but the subexpression at %1 is not of logical type"
  #~ msgstr "El operador .NOT. en %0 debe operar en una subexpresión de tipo lógico, pero la subexpresión en %1 no es de tipo lógico"
-@@ -77147,46 +75267,46 @@
+@@ -77147,46 +74936,46 @@
  #~ msgstr "El operador .NOT. en %0 debe operar en expresiones escalares -- pero la subexpresión en %1 es %A"
  
  #~ msgid "Invalid operand (is %A) at %1 for .NOT. operator at %0"
@@ -84170,7 +85531,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Too few arguments passed to intrinsic `%A' at %0"
  #~ msgstr "Se pasaron muy pocos argumentos al intrínseco `%A' en %0"
-@@ -77249,7 +75369,7 @@
+@@ -77249,7 +75038,7 @@
  #~ msgstr "Se requiere el relleno de %A %D antes de `%B' en el bloque común `%C' en %0 -- considere reordenar los miembros, primero los de tamaño de tipo más grande"
  
  #~ msgid "Invalid length specification at %0 for IMPLICIT statement -- must be integer constant expression"
@@ -84179,7 +85540,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Type of ENTRY point at %0 to function conflicts with type(s) of previous entrypoint(s) -- must all be identical-length CHARACTER or none be CHARACTER type"
  #~ msgstr "El tipo del punto ENTRY en %0 a la función tiene conflictos con el(los) tipo(s) de punto(s) de entrada previo(s) -- deben ser todos CHARACTER de longitud idéntica o ninguno debe ser de tipo CHARACTER"
-@@ -77288,7 +75408,7 @@
+@@ -77288,7 +75077,7 @@
  #~ msgstr "La variable DO `%A' es de tipo REAL o DOUBLE PRECISION en %0"
  
  #~ msgid "Invalid actual argument at %0 -- replace hollerith constants with %%REF('string') and typeless constants with INTEGER constant equivalents, or use -fugly-args or -fugly"
@@ -84188,7 +85549,7 @@ Index: gcc/po/es.po
  
  #~ msgid "Quadruple-precision floating-point unsupported -- treating constant at %0 as double-precision"
  #~ msgstr "Coma flotante de precisión cuádruple sin soporte -- se tratan las constantes en %0 como de doble precisión"
-@@ -77303,7 +75423,7 @@
+@@ -77303,7 +75092,7 @@
  #~ msgstr "Establecer la ruta de clases y suprimir la ruta del sistema"
  
  #~ msgid "invalid reference to NULL ptr, use ptr-to-member instead"
@@ -176519,7 +177880,11 @@ Index: gcc/po/ChangeLog
 ===================================================================
 --- a/src/gcc/po/ChangeLog	(.../tags/gcc_6_2_0_release)
 +++ b/src/gcc/po/ChangeLog	(.../branches/gcc-6-branch)
-@@ -1,3 +1,65 @@
+@@ -1,3 +1,69 @@
++2016-12-15  Joseph Myers  <joseph at codesourcery.com>
++
++	* es.po: Update.
++
 +2016-12-08  Joseph Myers  <joseph at codesourcery.com>
 +
 +	* es.po: Update.
@@ -626570,30 +627935,30 @@ Index: gcc/config/i386/i386.c
    /* CLFLUSHOPT instructions.  */
    IX86_BUILTIN_CLFLUSHOPT,
  
-@@ -32344,7 +32394,10 @@
+@@ -32344,7 +32394,11 @@
    IX86_BUILTIN_LWPINS32,
    IX86_BUILTIN_LWPINS64,
  
--  IX86_BUILTIN_CLZS,
 +  /* LZCNT */
 +  IX86_BUILTIN_LZCNT16,
+   IX86_BUILTIN_CLZS,
 +  IX86_BUILTIN_LZCNT32,
 +  IX86_BUILTIN_LZCNT64,
  
    /* RTM */
    IX86_BUILTIN_XBEGIN,
-@@ -32368,7 +32421,9 @@
+@@ -32368,7 +32422,10 @@
    /* BMI instructions.  */
    IX86_BUILTIN_BEXTR32,
    IX86_BUILTIN_BEXTR64,
--  IX86_BUILTIN_CTZS,
 +  IX86_BUILTIN_TZCNT16,
+   IX86_BUILTIN_CTZS,
 +  IX86_BUILTIN_TZCNT32,
 +  IX86_BUILTIN_TZCNT64,
  
    /* TBM instructions.  */
    IX86_BUILTIN_BEXTRI32,
-@@ -32947,9 +33002,6 @@
+@@ -32947,9 +33004,6 @@
    { OPTION_MASK_ISA_AVX512VL, CODE_FOR_avx512vl_us_truncatev8siv8hi2_mask_store, "__builtin_ia32_pmovusdw256mem_mask", IX86_BUILTIN_PMOVUSDW256_MEM, UNKNOWN, (int) VOID_FTYPE_PV8HI_V8SI_UQI },
    { OPTION_MASK_ISA_AVX512VL, CODE_FOR_avx512vl_us_truncatev4siv4hi2_mask_store, "__builtin_ia32_pmovusdw128mem_mask", IX86_BUILTIN_PMOVUSDW128_MEM, UNKNOWN, (int) VOID_FTYPE_PV8HI_V4SI_UQI },
  
@@ -626603,13 +627968,15 @@ Index: gcc/config/i386/i386.c
    /* RDPKRU and WRPKRU.  */
    { OPTION_MASK_ISA_PKU, CODE_FOR_rdpkru,  "__builtin_ia32_rdpkru", IX86_BUILTIN_RDPKRU, UNKNOWN, (int) UNSIGNED_FTYPE_VOID },
    { OPTION_MASK_ISA_PKU, CODE_FOR_wrpkru,  "__builtin_ia32_wrpkru", IX86_BUILTIN_WRPKRU, UNKNOWN, (int) VOID_FTYPE_UNSIGNED }
-@@ -33759,13 +33811,19 @@
+@@ -33759,13 +33813,23 @@
    { OPTION_MASK_ISA_AVX2, CODE_FOR_avx2_lshrvv8si, "__builtin_ia32_psrlv8si", IX86_BUILTIN_PSRLVV8SI, UNKNOWN, (int) V8SI_FTYPE_V8SI_V8SI },
    { OPTION_MASK_ISA_AVX2, CODE_FOR_avx2_lshrvv4si, "__builtin_ia32_psrlv4si", IX86_BUILTIN_PSRLVV4SI, UNKNOWN, (int) V4SI_FTYPE_V4SI_V4SI },
  
 -  { OPTION_MASK_ISA_LZCNT, CODE_FOR_clzhi2_lzcnt,   "__builtin_clzs",   IX86_BUILTIN_CLZS,    UNKNOWN,     (int) UINT16_FTYPE_UINT16 },
 +  /* LZCNT */
 +  { OPTION_MASK_ISA_LZCNT, CODE_FOR_lzcnt_hi, "__builtin_ia32_lzcnt_u16", IX86_BUILTIN_LZCNT16, UNKNOWN, (int) UINT16_FTYPE_UINT16 },
++  /* Same as above, for backward compatibility.  */
++  { OPTION_MASK_ISA_LZCNT, CODE_FOR_lzcnt_hi, "__builtin_clzs", IX86_BUILTIN_CLZS, UNKNOWN, (int) UINT16_FTYPE_UINT16 },
 +  { OPTION_MASK_ISA_LZCNT, CODE_FOR_lzcnt_si, "__builtin_ia32_lzcnt_u32", IX86_BUILTIN_LZCNT32, UNKNOWN, (int) UINT_FTYPE_UINT },
 +  { OPTION_MASK_ISA_LZCNT | OPTION_MASK_ISA_64BIT, CODE_FOR_lzcnt_di, "__builtin_ia32_lzcnt_u64", IX86_BUILTIN_LZCNT64, UNKNOWN, (int) UINT64_FTYPE_UINT64 },
  
@@ -626619,13 +627986,15 @@ Index: gcc/config/i386/i386.c
 -  { OPTION_MASK_ISA_BMI, CODE_FOR_ctzhi2,       "__builtin_ctzs",           IX86_BUILTIN_CTZS,    UNKNOWN, (int) UINT16_FTYPE_UINT16 },
  
 +  { OPTION_MASK_ISA_BMI, CODE_FOR_bmi_tzcnt_hi, "__builtin_ia32_tzcnt_u16", IX86_BUILTIN_TZCNT16, UNKNOWN, (int) UINT16_FTYPE_UINT16 },
++  /* Same as above, for backward compatibility.  */
++  { OPTION_MASK_ISA_BMI, CODE_FOR_bmi_tzcnt_hi, "__builtin_ctzs", IX86_BUILTIN_CTZS, UNKNOWN, (int) UINT16_FTYPE_UINT16 },
 +  { OPTION_MASK_ISA_BMI, CODE_FOR_bmi_tzcnt_si, "__builtin_ia32_tzcnt_u32", IX86_BUILTIN_TZCNT32, UNKNOWN, (int) UINT_FTYPE_UINT },
 +  { OPTION_MASK_ISA_BMI | OPTION_MASK_ISA_64BIT, CODE_FOR_bmi_tzcnt_di, "__builtin_ia32_tzcnt_u64", IX86_BUILTIN_TZCNT64, UNKNOWN, (int) UINT64_FTYPE_UINT64 },
 +
    /* TBM */
    { OPTION_MASK_ISA_TBM, CODE_FOR_tbm_bextri_si, "__builtin_ia32_bextri_u32", IX86_BUILTIN_BEXTRI32, UNKNOWN, (int) UINT_FTYPE_UINT_UINT },
    { OPTION_MASK_ISA_TBM | OPTION_MASK_ISA_64BIT, CODE_FOR_tbm_bextri_di, "__builtin_ia32_bextri_u64", IX86_BUILTIN_BEXTRI64, UNKNOWN, (int) UINT64_FTYPE_UINT64_UINT64 },
-@@ -37537,11 +37595,49 @@
+@@ -37537,11 +37601,53 @@
      {
        enum ix86_builtins fn_code = (enum ix86_builtins)
  				   DECL_FUNCTION_CODE (fndecl);
@@ -626639,6 +628008,7 @@ Index: gcc/config/i386/i386.c
            return fold_builtin_cpu (fndecl, args);
 +
 +	case IX86_BUILTIN_TZCNT16:
++	case IX86_BUILTIN_CTZS:
 +	case IX86_BUILTIN_TZCNT32:
 +	case IX86_BUILTIN_TZCNT64:
 +	  gcc_assert (n_args == 1);
@@ -626646,7 +628016,8 @@ Index: gcc/config/i386/i386.c
 +	    {
 +	      tree type = TREE_TYPE (TREE_TYPE (fndecl));
 +	      tree arg = args[0];
-+	      if (fn_code == IX86_BUILTIN_TZCNT16)
++	      if (fn_code == IX86_BUILTIN_TZCNT16
++		  || fn_code == IX86_BUILTIN_CTZS)
 +		arg = fold_convert (short_unsigned_type_node, arg);
 +	      if (integer_zerop (arg))
 +		return build_int_cst (type, TYPE_PRECISION (TREE_TYPE (arg)));
@@ -626656,6 +628027,7 @@ Index: gcc/config/i386/i386.c
 +	  break;
 +
 +	case IX86_BUILTIN_LZCNT16:
++	case IX86_BUILTIN_CLZS:
 +	case IX86_BUILTIN_LZCNT32:
 +	case IX86_BUILTIN_LZCNT64:
 +	  gcc_assert (n_args == 1);
@@ -626663,7 +628035,8 @@ Index: gcc/config/i386/i386.c
 +	    {
 +	      tree type = TREE_TYPE (TREE_TYPE (fndecl));
 +	      tree arg = args[0];
-+	      if (fn_code == IX86_BUILTIN_LZCNT16)
++	      if (fn_code == IX86_BUILTIN_LZCNT16
++		  || fn_code == IX86_BUILTIN_CLZS)
 +		arg = fold_convert (short_unsigned_type_node, arg);
 +	      if (integer_zerop (arg))
 +		return build_int_cst (type, TYPE_PRECISION (TREE_TYPE (arg)));
@@ -626677,7 +628050,7 @@ Index: gcc/config/i386/i386.c
  	}
      }
  
-@@ -37552,6 +37648,70 @@
+@@ -37552,6 +37658,70 @@
    return NULL_TREE;
  }
  
@@ -626748,7 +628121,7 @@ Index: gcc/config/i386/i386.c
  /* Make builtins to detect cpu type and features supported.  NAME is
     the builtin name, CODE is the builtin code, and FTYPE is the function
     type of the builtin.  */
-@@ -38513,8 +38673,10 @@
+@@ -38513,8 +38683,10 @@
      case FLOAT128_FTYPE_FLOAT128:
      case FLOAT_FTYPE_FLOAT:
      case INT_FTYPE_INT:
@@ -626760,7 +628133,7 @@ Index: gcc/config/i386/i386.c
      case INT64_FTYPE_INT64:
      case INT64_FTYPE_V4SF:
      case INT64_FTYPE_V2DF:
-@@ -40361,7 +40523,7 @@
+@@ -40361,7 +40533,7 @@
  	  error ("%qE needs isa option %s", fndecl, opts);
  	  free (opts);
  	}
@@ -626769,7 +628142,7 @@ Index: gcc/config/i386/i386.c
      }
  
    switch (fcode)
-@@ -48848,6 +49010,8 @@
+@@ -48848,6 +49020,8 @@
    /* ms_abi and sysv_abi calling convention function attributes.  */
    { "ms_abi", 0, 0, false, true, true, ix86_handle_abi_attribute, true },
    { "sysv_abi", 0, 0, false, true, true, ix86_handle_abi_attribute, true },
@@ -626778,7 +628151,7 @@ Index: gcc/config/i386/i386.c
    { "ms_hook_prologue", 0, 0, true, false, false, ix86_handle_fndecl_attribute,
      false },
    { "callee_pop_aggregate_return", 1, 1, false, true, true,
-@@ -52690,8 +52854,6 @@
+@@ -52690,8 +52864,6 @@
  static tree
  ix86_canonical_va_list_type (tree type)
  {
@@ -626787,7 +628160,7 @@ Index: gcc/config/i386/i386.c
    /* Resolve references and pointers to va_list type.  */
    if (TREE_CODE (type) == MEM_REF)
      type = TREE_TYPE (type);
-@@ -52700,64 +52862,25 @@
+@@ -52700,64 +52872,25 @@
    else if (POINTER_TYPE_P (type) && TREE_CODE (TREE_TYPE (type)) == ARRAY_TYPE)
      type = TREE_TYPE (type);
  
@@ -626866,7 +628239,7 @@ Index: gcc/config/i386/i386.c
    return std_canonical_va_list_type (type);
  }
  
-@@ -53662,9 +53785,7 @@
+@@ -53662,9 +53795,7 @@
  	return V4SFmode;
  
      case DFmode:
@@ -626877,7 +628250,7 @@ Index: gcc/config/i386/i386.c
  	return V8DFmode;
        else if (TARGET_AVX && !TARGET_PREFER_AVX128)
  	return V4DFmode;
-@@ -53749,9 +53870,14 @@
+@@ -53749,9 +53880,14 @@
    tree vectype = stmt_info ? stmt_vectype (stmt_info) : NULL_TREE;
    int stmt_cost = ix86_builtin_vectorization_cost (kind, vectype, misalign);
  
@@ -626893,7 +628266,7 @@ Index: gcc/config/i386/i386.c
    if (where == vect_body && stmt_info && stmt_in_inner_loop_p (stmt_info))
      count *= 50;  /* FIXME.  */
  
-@@ -54615,6 +54741,9 @@
+@@ -54615,6 +54751,9 @@
  #undef TARGET_FOLD_BUILTIN
  #define TARGET_FOLD_BUILTIN ix86_fold_builtin
  
@@ -627228,6 +628601,82 @@ Index: gcc/config/aarch64/aarch64.md
    "<su>bfx\\t%<w>0, %<w>1, %3, %2"
    [(set_attr "type" "bfm")]
  )
+Index: gcc/config/aarch64/aarch64.c
+===================================================================
+--- a/src/gcc/config/aarch64/aarch64.c	(.../tags/gcc_6_2_0_release)
++++ b/src/gcc/config/aarch64/aarch64.c	(.../branches/gcc-6-branch)
+@@ -9280,18 +9280,6 @@
+ 
+   if (GET_CODE (x) == SYMBOL_REF)
+     {
+-      if (aarch64_cmodel == AARCH64_CMODEL_LARGE)
+-	{
+-	  /* This is alright even in PIC code as the constant
+-	     pool reference is always PC relative and within
+-	     the same translation unit.  */
+-	  if (nopcrelative_literal_loads
+-	      && CONSTANT_POOL_ADDRESS_P (x))
+-	    return SYMBOL_SMALL_ABSOLUTE;
+-	  else
+-	    return SYMBOL_FORCE_TO_MEM;
+-	}
+-
+       if (aarch64_tls_symbol_p (x))
+ 	return aarch64_classify_tls_symbol (x);
+ 
+@@ -9332,6 +9320,16 @@
+ 		    ?  SYMBOL_SMALL_GOT_28K : SYMBOL_SMALL_GOT_4G);
+ 	  return SYMBOL_SMALL_ABSOLUTE;
+ 
++	case AARCH64_CMODEL_LARGE:
++	  /* This is alright even in PIC code as the constant
++	     pool reference is always PC relative and within
++	     the same translation unit.  */
++	  if (nopcrelative_literal_loads
++	      && CONSTANT_POOL_ADDRESS_P (x))
++	    return SYMBOL_SMALL_ABSOLUTE;
++	  else
++	    return SYMBOL_FORCE_TO_MEM;
++
+ 	default:
+ 	  gcc_unreachable ();
+ 	}
+Index: gcc/config/rs6000/darwin.md
+===================================================================
+--- a/src/gcc/config/rs6000/darwin.md	(.../tags/gcc_6_2_0_release)
++++ b/src/gcc/config/rs6000/darwin.md	(.../branches/gcc-6-branch)
+@@ -265,6 +265,7 @@
+   return "bcl 20,31,%0\\n%0:";
+ }
+   [(set_attr "type" "branch")
++   (set_attr "cannot_copy" "yes")
+    (set_attr "length" "4")])
+ 
+ (define_insn "load_macho_picbase_di"
+@@ -281,6 +282,7 @@
+   return "bcl 20,31,%0\\n%0:";
+ }
+   [(set_attr "type" "branch")
++   (set_attr "cannot_copy" "yes")
+    (set_attr "length" "4")])
+ 
+ (define_expand "macho_correct_pic"
+@@ -416,6 +418,7 @@
+     return "bcl 20,31,%0\\n%0:";
+ }
+   [(set_attr "type" "branch")
++   (set_attr "cannot_copy" "yes")
+    (set_attr "length" "4")])
+ 
+ (define_insn "reload_macho_picbase_di"
+@@ -439,6 +442,7 @@
+     return "bcl 20,31,%0\\n%0:";
+ }
+   [(set_attr "type" "branch")
++   (set_attr "cannot_copy" "yes")
+    (set_attr "length" "4")])
+ 
+ ;; We need to restore the PIC register, at the site of nonlocal label.
 Index: gcc/config/rs6000/predicates.md
 ===================================================================
 --- a/src/gcc/config/rs6000/predicates.md	(.../tags/gcc_6_2_0_release)
@@ -627368,7 +628817,61 @@ Index: gcc/config/rs6000/rs6000.c
  	}
      }
  
-@@ -7827,7 +7835,7 @@
+@@ -6659,25 +6667,43 @@
+   /* Double word values on VSX can use xxpermdi or lxvdsx.  */
+   if (VECTOR_MEM_VSX_P (mode) && (mode == V2DFmode || mode == V2DImode))
+     {
+-      rtx op0 = XVECEXP (vals, 0, 0);
+-      rtx op1 = XVECEXP (vals, 0, 1);
++      rtx op[2];
++      size_t i;
++      size_t num_elements = (all_same) ? 1 : 2;
++      for (i = 0; i < num_elements; i++)
++	{
++	  op[i] = XVECEXP (vals, 0, i);
++	  /* Just in case there is a SUBREG with a smaller mode, do a
++	     conversion.  */
++	  if (GET_MODE (op[i]) != inner_mode)
++	    {
++	      rtx tmp = gen_reg_rtx (inner_mode);
++	      convert_move (tmp, op[i], 0);
++	      op[i] = tmp;
++	    }
++	  /* Allow load with splat double word.  */
++	  else if (MEM_P (op[i]))
++	    {
++	      if (!all_same)
++		op[i] = force_reg (inner_mode, op[i]);
++	    }
++	  else if (!REG_P (op[i]))
++	    op[i] = force_reg (inner_mode, op[i]);
++	}
++
+       if (all_same)
+ 	{
+-	  if (!MEM_P (op0) && !REG_P (op0))
+-	    op0 = force_reg (inner_mode, op0);
+ 	  if (mode == V2DFmode)
+-	    emit_insn (gen_vsx_splat_v2df (target, op0));
++	    emit_insn (gen_vsx_splat_v2df (target, op[0]));
+ 	  else
+-	    emit_insn (gen_vsx_splat_v2di (target, op0));
++	    emit_insn (gen_vsx_splat_v2di (target, op[0]));
+ 	}
+       else
+ 	{
+-	  op0 = force_reg (inner_mode, op0);
+-	  op1 = force_reg (inner_mode, op1);
+ 	  if (mode == V2DFmode)
+-	    emit_insn (gen_vsx_concat_v2df (target, op0, op1));
++	    emit_insn (gen_vsx_concat_v2df (target, op[0], op[1]));
+ 	  else
+-	    emit_insn (gen_vsx_concat_v2di (target, op0, op1));
++	    emit_insn (gen_vsx_concat_v2di (target, op[0], op[1]));
+ 	}
+       return;
+     }
+@@ -7827,7 +7853,7 @@
  	 pointer, so it works with both GPRs and VSX registers.  */
        /* Make sure both operands are registers.  */
        else if (GET_CODE (x) == PLUS
@@ -627377,7 +628880,7 @@ Index: gcc/config/rs6000/rs6000.c
  	return gen_rtx_PLUS (Pmode,
  			     force_reg (Pmode, XEXP (x, 0)),
  			     force_reg (Pmode, XEXP (x, 1)));
-@@ -8836,12 +8844,16 @@
+@@ -8836,12 +8862,16 @@
  	return 1;
      }
  
@@ -627399,7 +628902,7 @@ Index: gcc/config/rs6000/rs6000.c
      return 0;
    /* If not REG_OK_STRICT (before reload) let pass any stack offset.  */
    if (! reg_ok_strict
-@@ -28434,11 +28446,15 @@
+@@ -28434,11 +28464,15 @@
  {
  #if TARGET_MACHO
    macho_branch_islands ();
@@ -627417,7 +628920,7 @@ Index: gcc/config/rs6000/rs6000.c
      while (insn
  	   && NOTE_P (insn)
  	   && NOTE_KIND (insn) != NOTE_INSN_DELETED_LABEL)
-@@ -28451,11 +28467,40 @@
+@@ -28451,11 +28485,40 @@
  	  deleted_debug_label = insn;
  	insn = PREV_INSN (insn);
        }
@@ -627462,7 +628965,7 @@ Index: gcc/config/rs6000/rs6000.c
      else if (deleted_debug_label)
        for (insn = deleted_debug_label; insn; insn = NEXT_INSN (insn))
  	if (NOTE_KIND (insn) == NOTE_INSN_DELETED_DEBUG_LABEL)
-@@ -28653,53 +28698,54 @@
+@@ -28653,53 +28716,54 @@
  	 seems to set the bit when not optimizing.  */
        fprintf (file, "%d\n", ((float_parms << 1) | (! optimize)));
  
@@ -627555,7 +629058,7 @@ Index: gcc/config/rs6000/rs6000.c
      }
  
    /* Arrange to define .LCTOC1 label, if not already done.  */
-@@ -29217,7 +29263,10 @@
+@@ -29217,7 +29281,10 @@
  		     (TREE_CODE (decl) == FUNCTION_DECL
  		      ? "[DS]" : "[UA]"),
  		     NULL);
@@ -627567,7 +629070,7 @@ Index: gcc/config/rs6000/rs6000.c
      }
  
    if (VTABLE_NAME_P (name))
-@@ -37832,6 +37881,15 @@
+@@ -37832,6 +37899,15 @@
        else
  	gcc_unreachable ();
      }
@@ -627583,7 +629086,7 @@ Index: gcc/config/rs6000/rs6000.c
    else if (INT_REGNO_P (r))
      {
        switch (mode)
-@@ -37910,6 +37968,15 @@
+@@ -37910,6 +37986,15 @@
        else
  	gcc_unreachable ();
      }
@@ -627599,7 +629102,7 @@ Index: gcc/config/rs6000/rs6000.c
    else if (INT_REGNO_P (r))
      {
        switch (mode)
-@@ -38589,7 +38656,7 @@
+@@ -38589,7 +38674,7 @@
  	    if (GET_CODE (use_body) != SET
  		|| GET_CODE (SET_SRC (use_body)) != UNSPEC
  		|| XINT (SET_SRC (use_body), 1) != UNSPEC_VSX_XXSPLTW
diff --git a/debian/rules.patch b/debian/rules.patch
index 541eb96..c902fef 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -15,6 +15,7 @@ series_file	?= $(patchdir)/series
 debian_patches = \
 	svn-updates \
 	libiberty-updates \
+	$(if $(with_linaro_branch),gcc-linaro-r243646-revert) \
 	$(if $(with_linaro_branch),gcc-linaro) \
 	$(if $(with_linaro_branch),gcc-linaro-no-macros) \
 	$(if $(with_linaro_branch),linaro-issue2575) \

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/gcc-6.git



More information about the Reproducible-commits mailing list