[gcc-7] 185/354: * Update to SVN 20170514 (r248033) from the gcc-7-branch.

Ximin Luo infinity0 at debian.org
Thu Nov 23 15:50:50 UTC 2017


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

infinity0 pushed a commit to branch master
in repository gcc-7.

commit 3bfa73d7842cb1fa2482a3fef8022366afce9337
Author: doko <doko at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date:   Sun May 14 15:51:33 2017 +0000

      * Update to SVN 20170514 (r248033) from the gcc-7-branch.
    
    
    git-svn-id: svn+ssh://svn.debian.org/svn/gcccvs/branches/sid/gcc-7@9461 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
 debian/changelog                |    3 +-
 debian/patches/svn-updates.diff | 5353 +++++++++++++++++++++++++++++++++++++--
 2 files changed, 5196 insertions(+), 160 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 8dff13f..c88e5c4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,11 @@
 gcc-7 (7.1.0-5) UNRELEASED; urgency=medium
 
+  * Update to SVN 20170514 (r248033) from the gcc-7-branch.
   * Disable offload compilers for snapshot builds.
   * Build libgo when not building common libs.
   * Fix building libgfortran and libgphobos when building without common libs.
 
- -- Matthias Klose <doko at debian.org>  Fri, 05 May 2017 13:47:57 +0200
+ -- Matthias Klose <doko at debian.org>  Sun, 14 May 2017 08:50:34 -0700
 
 gcc-7 (7.1.0-4) experimental; urgency=medium
 
diff --git a/debian/patches/svn-updates.diff b/debian/patches/svn-updates.diff
index 94220d7..dbc6705 100644
--- a/debian/patches/svn-updates.diff
+++ b/debian/patches/svn-updates.diff
@@ -1,10 +1,10 @@
-# DP: updates from the 7 branch upto 20170505 (r247630).
+# DP: updates from the 7 branch upto 20170514 (r248033).
 
 last_update()
 {
 	cat > ${dir}LAST_UPDATED <EOF
-Fri May  5 11:23:48 CEST 2017
-Fri May  5 09:23:48 UTC 2017 (revision 247630)
+Sun May 14 08:46:43 PDT 2017
+Sun May 14 15:46:43 UTC 2017 (revision 248033)
 EOF
 }
 
@@ -12,6 +12,145 @@ LANG=C svn diff svn://gcc.gnu.org/svn/gcc/tags/gcc_7_1_0_release svn://gcc.gnu.o
 	| sed -r 's,^--- (\S+)\t(\S+)(.*)$,--- a/src/\1\t\2,;s,^\+\+\+ (\S+)\t(\S+)(.*)$,+++ b/src/\1\t\2,' \
 	| awk '/^Index:.*\.(class|texi)/ {skip=1; next} /^Index:/ { skip=0 } skip==0'
 
+Index: libstdc++-v3/include/std/utility
+===================================================================
+--- a/src/libstdc++-v3/include/std/utility	(.../tags/gcc_7_1_0_release)
++++ b/src/libstdc++-v3/include/std/utility	(.../branches/gcc-7-branch)
+@@ -89,6 +89,8 @@
+ 
+   // _GLIBCXX_RESOLVE_LIB_DEFECTS
+   // 2770. tuple_size<const T> specialization is not SFINAE compatible
++
++#if __cplusplus <= 201402L
+   template<typename _Tp, typename = void>
+     struct __tuple_size_cv_impl { };
+ 
+@@ -106,7 +108,26 @@
+ 
+   template<typename _Tp>
+     struct tuple_size<const volatile _Tp> : __tuple_size_cv_impl<_Tp> { };
++#else
++  template<typename _Tp,
++	   typename _Up = typename remove_cv<_Tp>::type,
++	   typename = typename enable_if<is_same<_Tp, _Up>::value>::type,
++	   size_t = tuple_size<_Tp>::value>
++    using __enable_if_has_tuple_size = _Tp;
+ 
++  template<typename _Tp>
++    struct tuple_size<const __enable_if_has_tuple_size<_Tp>>
++    : public tuple_size<_Tp> { };
++
++  template<typename _Tp>
++    struct tuple_size<volatile __enable_if_has_tuple_size<_Tp>>
++    : public tuple_size<_Tp> { };
++
++  template<typename _Tp>
++    struct tuple_size<const volatile __enable_if_has_tuple_size<_Tp>>
++    : public tuple_size<_Tp> { };
++#endif
++
+   /// Gives the type of the ith element of a given tuple type.
+   template<std::size_t __i, typename _Tp>
+     struct tuple_element;
+Index: libstdc++-v3/ChangeLog
+===================================================================
+--- a/src/libstdc++-v3/ChangeLog	(.../tags/gcc_7_1_0_release)
++++ b/src/libstdc++-v3/ChangeLog	(.../branches/gcc-7-branch)
+@@ -1,3 +1,11 @@
++2017-05-12  Jonathan Wakely  <jwakely at redhat.com>
++
++	PR libstdc++/78939
++	* include/std/utility (tuple_size<cv T>) [__cplusplus > 201402L]:
++	Only define partial specializations when tuple_size<T>::value is
++	valid.
++	* testsuite/20_util/tuple/78939.cc: New.
++
+ 2017-05-02  Release Manager
+ 
+ 	* GCC 7.1.0 released.
+Index: libstdc++-v3/testsuite/20_util/tuple/78939.cc
+===================================================================
+--- a/src/libstdc++-v3/testsuite/20_util/tuple/78939.cc	(.../tags/gcc_7_1_0_release)
++++ b/src/libstdc++-v3/testsuite/20_util/tuple/78939.cc	(.../branches/gcc-7-branch)
+@@ -0,0 +1,49 @@
++// Copyright (C) 2017 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING3.  If not see
++// <http://www.gnu.org/licenses/>.
++
++// { dg-options "-std=gnu++17" }
++// { dg-do compile { target c++1z } }
++
++// PR libstdc++/78939
++
++#include <utility>
++
++struct A { int i, j; };
++
++int
++test01()
++{
++  A a{};
++  const auto [i, j] = a;
++  return i + j;
++}
++
++int
++test02()
++{
++  A a{};
++  volatile auto [i, j] = a;
++  return i + j;
++}
++
++int
++test03()
++{
++  A a{};
++  const volatile auto [i, j] = a;
++  return i + j;
++}
+Index: libgcc/config.host
+===================================================================
+--- a/src/libgcc/config.host	(.../tags/gcc_7_1_0_release)
++++ b/src/libgcc/config.host	(.../branches/gcc-7-branch)
+@@ -389,7 +389,7 @@
+ 	;;
+ arm*-*-freebsd*)                # ARM FreeBSD EABI
+ 	tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix arm/t-elf"
+-	tmake_file="${tmake_file} arm/t-bpabi arm/t-freebsd t-slibgcc-libgcc"
++	tmake_file="${tmake_file} arm/t-bpabi arm/t-freebsd"
+ 	tm_file="${tm_file} arm/bpabi-lib.h"
+ 	unwind_header=config/arm/unwind-arm.h
+ 	tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
+Index: libgcc/ChangeLog
+===================================================================
+--- a/src/libgcc/ChangeLog	(.../tags/gcc_7_1_0_release)
++++ b/src/libgcc/ChangeLog	(.../branches/gcc-7-branch)
+@@ -1,3 +1,11 @@
++2017-05-10  Andreas Tobler  <andreast at gcc.gnu.org>
++
++	Backport from mainline
++        2017-05-09  Andreas Tobler  <andreast at gcc.gnu.org>
++
++	* config.host: Use the generic FreeBSD t-slibgcc-elf-ver for
++	arm*-*-freebsd* instead of the t-slibgcc-libgcc.
++
+ 2017-05-02  Release Manager
+ 
+ 	* GCC 7.1.0 released.
 Index: gcc/c/ChangeLog
 ===================================================================
 --- a/src/gcc/c/ChangeLog	(.../tags/gcc_7_1_0_release)
@@ -55,7 +194,7 @@ Index: gcc/DATESTAMP
 +++ b/src/gcc/DATESTAMP	(.../branches/gcc-7-branch)
 @@ -1 +1 @@
 -20170502
-+20170505
++20170514
 Index: gcc/tree-chrec.c
 ===================================================================
 --- a/src/gcc/tree-chrec.c	(.../tags/gcc_7_1_0_release)
@@ -184,7 +323,86 @@ Index: gcc/ChangeLog
 ===================================================================
 --- a/src/gcc/ChangeLog	(.../tags/gcc_7_1_0_release)
 +++ b/src/gcc/ChangeLog	(.../branches/gcc-7-branch)
-@@ -1,3 +1,55 @@
+@@ -1,3 +1,134 @@
++2017-05-14  Uros Bizjak  <ubizjak at gmail.com>
++
++	Backport from mainline
++	2017-05-11  Uros Bizjak  <ubizjak at gmail.com>
++
++	PR target/80706
++	* config/i386/sync.md (UNSPEC_LDX_ATOMIC): New unspec.
++	(UNSPEC_STX_ATOMIC): Ditto.
++	(loaddi_via_sse): New insn.
++	(storedi_via_sse): Ditto.
++	(atomic_loaddi_fpu): Emit loaddi_via_sse and storedi_via_sse.
++	Update corresponding peephole2 patterns.
++	(atomic_storedi_fpu): Ditto.
++
++2017-05-13  Bill Schmidt  <wschmidt at linux.vnet.ibm.com>
++
++	Backport from mainline
++	2017-05-05  Bill Schmidt  <wschmidt at linux.vnet.ibm.com>
++
++	* config/rs6000/rs6000.c (rs6000_vect_nonmem): New static var.
++	(rs6000_init_cost): Initialize rs6000_vect_nonmem.
++	(rs6000_add_stmt_cost): Update rs6000_vect_nonmem.
++	(rs6000_finish_cost): Avoid vectorizing simple copy loops with
++	VF=2 that require versioning.
++
++2017-05-12  Bill Schmidt  <wschmidt at linux.vnet.ibm.com>
++
++	Backport from mainline
++	2017-05-10  Bill Schmidt  <wschmidt at linux.vnet.ibm.com>
++
++	* config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8
++	built-ins for vec_xl and vec_xst with short and char pointer
++	arguments.
++
++2017-05-10  John David Anglin  <danglin at gcc.gnu.org>
++
++	PR target/80090
++	* config/pa/pa.c (pa_assemble_integer): When outputting a SYMBOL_REF,
++	handle calling assemble_external ourself.
++
++	PR target/79027
++	* config/pa/pa.c (pa_cannot_change_mode_class): Reject changes to/from
++	modes with zero size.  Enhance comment.
++
++2017-05-09  Michael Meissner  <meissner at linux.vnet.ibm.com>
++
++	Back port from mainline
++	2017-05-05  Michael Meissner  <meissner at linux.vnet.ibm.com>
++
++	PR target/79038
++	PR target/79202
++	PR target/79203
++	* config/rs6000/rs6000.md (u code attribute): Add FIX and
++	UNSIGNED_FIX.
++	(extendsi<mode>2): Add support for doing sign extension via
++	VUPKHSW and XXPERMDI if the value is in Altivec registers and we
++	don't have ISA 3.0 instructions.
++	(extendsi<mode>2 splitter): Likewise.
++	(fix_trunc<mode>si2): If we are at ISA 2.07 (VSX small integer),
++	generate the normal insns since SImode can now go in vector
++	registers.  Disallow the special UNSPECs needed for previous
++	machines to hide SImode being used.  Add new insns
++	fctiw{,w}_<mode>_smallint if SImode can go in vector registers.
++	(fix_trunc<mode>si2_stfiwx): Likewise.
++	(fix_trunc<mode>si2_internal): Likewise.
++	(fixuns_trunc<mode>si2): Likewise.
++	(fixuns_trunc<mode>si2_stfiwx): Likewise.
++	(fctiw<u>z_<mode>_smallint): Likewise.
++	(fctiw<u>z_<mode>_mem): New combiner pattern to prevent conversion
++	of floating point to 32-bit integer from doing a direct move to
++	the GPR registers to do a store.
++	(fctiwz_<mode>): Break long line.
++
++2017-05-08  Tamar Christina  <tamar.christina at arm.com>
++
++	PR middle-end/79665
++	* expr.c (expand_expr_real_2): Move TRUNC_MOD_EXPR, FLOOR_MOD_EXPR,
++	CEIL_MOD_EXPR, ROUND_MOD_EXPR cases.
++
 +2017-05-03  Jan Beulich  <jbeulich at suse.com>
 +
 +	Backport from mainline
@@ -240,6 +458,318 @@ Index: gcc/ChangeLog
  2017-05-02  Release Manager
  
  	* GCC 7.1.0 released.
+Index: gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst.c	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/testsuite/gcc.target/powerpc/p8-vec-xl-xst.c	(.../branches/gcc-7-branch)
+@@ -0,0 +1,62 @@
++/* { dg-do compile { target { powerpc*-*-* } } } */
++/* { 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" } */
++
++/* Verify fix for problem where vec_xl and vec_xst are not recognized
++   for the vector char and vector short cases on P8 only.  */
++
++#include <altivec.h>
++
++vector unsigned char
++foo (unsigned char * address)
++{
++  return __builtin_vec_xl (0, address);
++}
++
++void
++bar (vector unsigned char x, unsigned char * address)
++{
++  __builtin_vec_xst (x, 0, address);
++}
++
++vector unsigned short
++foot (unsigned short * address)
++{
++  return __builtin_vec_xl (0, address);
++}
++
++void
++bart (vector unsigned short x, unsigned short * address)
++{
++  __builtin_vec_xst (x, 0, address);
++}
++
++vector unsigned char
++fool (unsigned char * address)
++{
++  return vec_xl (0, address);
++}
++
++void
++barl (vector unsigned char x, unsigned char * address)
++{
++  vec_xst (x, 0, address);
++}
++
++vector unsigned short
++footle (unsigned short * address)
++{
++  return vec_xl (0, address);
++}
++
++void
++bartle (vector unsigned short x, unsigned short * address)
++{
++  vec_xst (x, 0, address);
++}
++
++/* { dg-final { scan-assembler-times "lxvd2x"   4 } } */
++/* { dg-final { scan-assembler-times "stxvd2x"  4 } } */
++/* { dg-final { scan-assembler-times "xxpermdi" 8 } } */
+Index: gcc/testsuite/gcc.target/powerpc/versioned-copy-loop.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/powerpc/versioned-copy-loop.c	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/testsuite/gcc.target/powerpc/versioned-copy-loop.c	(.../branches/gcc-7-branch)
+@@ -0,0 +1,30 @@
++/* { dg-do compile } */
++/* { dg-require-effective-target powerpc_p8vector_ok } */
++/* { dg-options "-O3 -fdump-tree-vect-details" } */
++
++/* Verify that a pure copy loop with a vectorization factor of two
++   that requires alignment will not be vectorized.  See the cost
++   model hooks in rs6000.c.  */
++
++typedef long unsigned int size_t;
++typedef unsigned char uint8_t;
++
++extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
++       size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
++
++void foo (void *dstPtr, const void *srcPtr, void *dstEnd)
++{
++    uint8_t *d = (uint8_t*)dstPtr;
++    const uint8_t *s = (const uint8_t*)srcPtr;
++    uint8_t* const e = (uint8_t*)dstEnd;
++
++    do
++      {
++	memcpy (d, s, 8);
++	d += 8;
++	s += 8;
++      }
++    while (d < e);
++}
++
++/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" } } */
+Index: gcc/testsuite/gcc.target/powerpc/ppc-round2.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/powerpc/ppc-round2.c	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/testsuite/gcc.target/powerpc/ppc-round2.c	(.../branches/gcc-7-branch)
+@@ -3,18 +3,21 @@
+ /* { dg-require-effective-target powerpc_p8vector_ok } */
+ /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
+ /* { dg-options "-O2 -mcpu=power8" } */
+-/* { dg-final { scan-assembler-times "fcfid "      2 } } */
+-/* { dg-final { scan-assembler-times "fcfids "     2 } } */
++/* { dg-final { scan-assembler-times "fcfid \|xscvsxddp "    2 } } */
++/* { dg-final { scan-assembler-times "fcfids \|xscvsxdsp "   2 } } */
++/* { dg-final { scan-assembler-times "fctiwz \|xscvdpsxws "  2 } } */
+ /* { dg-final { scan-assembler-times "fctiwuz \|xscvdpuxws " 2 } } */
+-/* { dg-final { scan-assembler-times "fctiwz \|xscvdpsxws "  2 } } */
+-/* { dg-final { scan-assembler-times "mfvsrd "     4 } } */
+-/* { dg-final { scan-assembler-times "mtvsrwa "    2 } } */
+-/* { dg-final { scan-assembler-times "mtvsrwz "    2 } } */
+-/* { dg-final { scan-assembler-not   "lwz"           } } */
+-/* { dg-final { scan-assembler-not   "lfiwax "       } } */
+-/* { dg-final { scan-assembler-not   "lfiwzx "       } } */
+-/* { dg-final { scan-assembler-not   "stw"           } } */
+-/* { dg-final { scan-assembler-not   "stfiwx "       } } */
++/* { dg-final { scan-assembler-times {\mmfvsrwz\M}           2 } } */
++/* { dg-final { scan-assembler-times {\mmtvsrwz\M}           2 } } */
++/* { dg-final { scan-assembler-times {\mvupkhsw\M}           2 } } */
++/* { dg-final { scan-assembler-times {\mxxpermdi\M}          2 } } */
++/* { dg-final { scan-assembler-not   {\mmfvsrd\M}              } } */
++/* { dg-final { scan-assembler-not   {\mmtvsrwa\M}             } } */
++/* { dg-final { scan-assembler-not   {\mlwz\M}                 } } */
++/* { dg-final { scan-assembler-not   {\mlfiwax\M}              } } */
++/* { dg-final { scan-assembler-not   {\mlfiwzx\M}              } } */
++/* { dg-final { scan-assembler-not   {\mstw\M}                 } } */
++/* { dg-final { scan-assembler-not   {\mstfiwx\M}              } } */
+ 
+ /* Make sure we don't have loads/stores to the GPR unit.  */
+ double
+Index: gcc/testsuite/gcc.target/powerpc/ppc-round3.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/powerpc/ppc-round3.c	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/testsuite/gcc.target/powerpc/ppc-round3.c	(.../branches/gcc-7-branch)
+@@ -0,0 +1,45 @@
++/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
++/* { dg-require-effective-target powerpc_p9vector_ok } */
++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */
++/* { dg-options "-O2 -mcpu=power9" } */
++/* { dg-final { scan-assembler-times "fcfid \|xscvsxddp "    2 } } */
++/* { dg-final { scan-assembler-times "fcfids \|xscvsxdsp "   2 } } */
++/* { dg-final { scan-assembler-times "fctiwz \|xscvdpsxws "  2 } } */
++/* { dg-final { scan-assembler-times "fctiwuz \|xscvdpuxws " 2 } } */
++/* { dg-final { scan-assembler-times {\mvextsw2d\M}          2 } } */
++/* { dg-final { scan-assembler-times {\mxxextractuw\M}       2 } } */
++/* { dg-final { scan-assembler-not   {\mmfvsrd\M}              } } */
++/* { dg-final { scan-assembler-not   {\mmfvsrwz\M}             } } */
++/* { dg-final { scan-assembler-not   {\mmtvsrwa\M}             } } */
++/* { dg-final { scan-assembler-not   {\mmtvsrwz\M}             } } */
++/* { dg-final { scan-assembler-not   {\mlwz\M}                 } } */
++/* { dg-final { scan-assembler-not   {\mlfiwax\M}              } } */
++/* { dg-final { scan-assembler-not   {\mlfiwzx\M}              } } */
++/* { dg-final { scan-assembler-not   {\mstw\M}                 } } */
++/* { dg-final { scan-assembler-not   {\mstfiwx\M}              } } */
++
++/* Make sure we don't have loads/stores to the GPR unit.  */
++double
++round_double_int (double a)
++{
++  return (double)(int)a;
++}
++
++float
++round_float_int (float a)
++{
++  return (float)(int)a;
++}
++
++double
++round_double_uint (double a)
++{
++  return (double)(unsigned int)a;
++}
++
++float
++round_float_uint (float a)
++{
++  return (float)(unsigned int)a;
++}
+Index: gcc/testsuite/gcc.target/i386/pr22152.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr22152.c	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr22152.c	(.../branches/gcc-7-branch)
+@@ -1,18 +1,18 @@
+-/* { dg-do compile } */
++/* { dg-do compile { target ia32 } } */
+ /* { dg-options "-O2 -msse2 -mtune=core2" } */
+ /* { dg-additional-options "-mno-vect8-ret-in-mem" { target *-*-vxworks* } } */
+-/* { dg-additional-options "-mabi=sysv" { target x86_64-*-mingw* } } */
+ 
+ #include <mmintrin.h>
+ 
++typedef __SIZE_TYPE__ size_t;
++
+ __m64
+-unsigned_add3 (const __m64 * a, const __m64 * b, unsigned int count)
++unsigned_add3 (const __m64 * a, const __m64 * b, size_t count)
+ {
+-  __m64 sum;
+-  unsigned int i;
++  __m64 sum = { 0, 0 };
+ 
+-  for (i = 1; i < count; i++)
+-    sum = _mm_add_si64 (a[i], b[i]);
++  if (count > 0)
++    sum = _mm_add_si64 (a[count-1], b[count-1]);
+ 
+   return sum;
+ }
+Index: gcc/testsuite/gcc.target/i386/pr80706.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr80706.c	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr80706.c	(.../branches/gcc-7-branch)
+@@ -0,0 +1,30 @@
++/* PR target/80706 */
++/* { dg-do run { target sse2_runtime } } */
++/* { dg-options "-O2 -msse2" } */
++
++union U { double value; struct S { int lsw; int msw; } parts; };
++
++__attribute__((noinline, noclone)) double
++foo (void)
++{
++  __asm volatile ("" : : : "memory");
++  return 2.0;
++}
++
++__attribute__((noinline, noclone)) double
++bar (void)
++{
++  double s = foo ();
++  union U z;
++  z.value = s;
++  z.parts.lsw = 0;
++  return z.value * z.value + s * s;
++}
++
++int
++main ()
++{
++  if (bar () != 8.0)
++    __builtin_abort ();
++  return 0;
++}
+Index: gcc/testsuite/gfortran.dg/proc_ptr_comp_49.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/proc_ptr_comp_49.f90	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/proc_ptr_comp_49.f90	(.../branches/gcc-7-branch)
+@@ -0,0 +1,21 @@
++! { dg-do compile }
++!
++! PR 80392: [5/6/7 Regression] [OOP] ICE with allocatable polymorphic function result in a procedure pointer component
++!
++! Contributed by <zed.three at gmail.com>
++
++module mwe
++
++  implicit none
++
++  type :: MyType
++     procedure(my_op), nopass, pointer :: op
++  end type
++
++contains
++
++  function my_op() result(foo)
++    class(MyType), allocatable :: foo
++  end function
++
++end module
+Index: gcc/testsuite/gfortran.dg/intent_out_9.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/intent_out_9.f90	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/intent_out_9.f90	(.../branches/gcc-7-branch)
+@@ -0,0 +1,27 @@
++! { dg-do compile }
++! { dg-options "-fdump-tree-original" }
++!
++! PR 80121: Memory leak with derived-type intent(out) argument
++!
++! Contributed by Andrew Wood <andrew at fluidgravity.co.uk>
++
++PROGRAM p
++    IMPLICIT NONE
++    TYPE t1
++      INTEGER, ALLOCATABLE :: i(:)
++    END TYPE
++    call leak
++  CONTAINS
++    SUBROUTINE s1(e)
++      TYPE(t1), ALLOCATABLE, INTENT(OUT) :: e(:)
++      ALLOCATE( e(1) )
++      ALLOCATE( e(1)%i(2) )
++    END SUBROUTINE
++    SUBROUTINE leak
++      TYPE(t1), ALLOCATABLE :: e(:)
++      CALL s1(e)
++      CALL s1(e)
++    END SUBROUTINE
++END PROGRAM
++
++! { dg-final { scan-tree-dump-times "__builtin_free" 6 "original" } }
 Index: gcc/testsuite/gfortran.dg/dtio_29.f03
 ===================================================================
 --- a/src/gcc/testsuite/gfortran.dg/dtio_29.f03	(.../tags/gcc_7_1_0_release)
@@ -363,13 +893,64 @@ Index: gcc/testsuite/ChangeLog
 ===================================================================
 --- a/src/gcc/testsuite/ChangeLog	(.../tags/gcc_7_1_0_release)
 +++ b/src/gcc/testsuite/ChangeLog	(.../branches/gcc-7-branch)
-@@ -1,3 +1,30 @@
+@@ -1,3 +1,81 @@
++2017-05-14  Uros Bizjak  <ubizjak at gmail.com>
++
++	Backport from mainline
++	2017-05-11  Uros Bizjak  <ubizjak at gmail.com>
++		    Jakub Jelinek  <jakub at redhat.com>
++
++	PR target/80706
++	* gcc.target/i386/pr80706.c: New test.
++
++	2017-05-11  Uros Bizjak  <ubizjak at gmail.com>
++
++	* gcc.target/i386/pr22152.c: Fix undefined testcase.
++	Remove unnecessary loop.  Run on 32-bit targets only.
++
++2017-05-13  Bill Schmidt  <wschmidt at linux.vnet.ibm.com>
++
++	Backport from mainline
++	2017-05-05  Bill Schmidt  <wschmidt at linux.vnet.ibm.com>
++
++	* gcc.target/powerpc/versioned-copy-loop.c: New file.
++
++2017-05-12  Bill Schmidt  <wschmidt at linux.vnet.ibm.com>
++
++	Backport from mainline
++	2017-05-10  Bill Schmidt  <wschmidt at linux.vnet.ibm.com>
++
++	* gcc.target/powerpc/p8-vec-xl-xst.c: New file.
++
++2017-05-09  Michael Meissner  <meissner at linux.vnet.ibm.com>
++
++	Back port from mainline
++	2017-05-05  Michael Meissner  <meissner at linux.vnet.ibm.com>
++
++	PR target/79038
++	PR target/79202
++	PR target/79203
++	* gcc.target/powerpc/ppc-round3.c: New test.
++	* gcc.target/powerpc/ppc-round2.c: Update expected code.
++
++2017-05-05  Janus Weil  <janus at gcc.gnu.org>
++
++	Backport from trunk
++	PR fortran/80121
++	* gfortran.dg/intent_out_9.f90: New test case.
++
++2017-05-05  Janus Weil  <janus at gcc.gnu.org>
++
++	Backport from trunk
++	PR fortran/80392
++	* gfortran.dg/proc_ptr_comp_49.f90: New test case.
++
 +2017-05-04  Jerry DeLisle  <jvdelisle at gcc.gnu.org>
 +
 +	Backport from mainline
 +	PR fortran/80484
 +	* gfortran.dg/dtio_29.f03: New test.
-+	
++
 +2017-05-03  Richard Biener  <rguenther at suse.de>
 +
 +	Backport from mainline
@@ -394,11 +975,462 @@ Index: gcc/testsuite/ChangeLog
  2017-05-02  Release Manager
  
  	* GCC 7.1.0 released.
+Index: gcc/expr.c
+===================================================================
+--- a/src/gcc/expr.c	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/expr.c	(.../branches/gcc-7-branch)
+@@ -8792,54 +8792,62 @@
+       expand_operands (treeop0, treeop1, subtarget, &op0, &op1, EXPAND_NORMAL);
+       return REDUCE_BIT_FIELD (expand_mult (mode, op0, op1, target, unsignedp));
+ 
++    case TRUNC_MOD_EXPR:
++    case FLOOR_MOD_EXPR:
++    case CEIL_MOD_EXPR:
++    case ROUND_MOD_EXPR:
++
+     case TRUNC_DIV_EXPR:
+     case FLOOR_DIV_EXPR:
+     case CEIL_DIV_EXPR:
+     case ROUND_DIV_EXPR:
+     case EXACT_DIV_EXPR:
+-      /* If this is a fixed-point operation, then we cannot use the code
+-	 below because "expand_divmod" doesn't support sat/no-sat fixed-point
+-         divisions.   */
+-      if (ALL_FIXED_POINT_MODE_P (mode))
+-	goto binop;
++     {
++       /* If this is a fixed-point operation, then we cannot use the code
++	  below because "expand_divmod" doesn't support sat/no-sat fixed-point
++	  divisions.   */
++       if (ALL_FIXED_POINT_MODE_P (mode))
++	 goto binop;
+ 
+-      if (modifier == EXPAND_STACK_PARM)
+-	target = 0;
+-      /* Possible optimization: compute the dividend with EXPAND_SUM
+-	 then if the divisor is constant can optimize the case
+-	 where some terms of the dividend have coeffs divisible by it.  */
+-      expand_operands (treeop0, treeop1,
+-		       subtarget, &op0, &op1, EXPAND_NORMAL);
+-      if (SCALAR_INT_MODE_P (mode)
+-	  && optimize >= 2
+-	  && get_range_pos_neg (treeop0) == 1
+-	  && get_range_pos_neg (treeop1) == 1)
+-	{
+-	  /* If both arguments are known to be positive when interpreted
+-	     as signed, we can expand it as both signed and unsigned
+-	     division or modulo.  Choose the cheaper sequence in that case.  */
+-	  bool speed_p = optimize_insn_for_speed_p ();
+-	  do_pending_stack_adjust ();
+-	  start_sequence ();
+-	  rtx uns_ret = expand_divmod (0, code, mode, op0, op1, target, 1);
+-	  rtx_insn *uns_insns = get_insns ();
+-	  end_sequence ();
+-	  start_sequence ();
+-	  rtx sgn_ret = expand_divmod (0, code, mode, op0, op1, target, 0);
+-	  rtx_insn *sgn_insns = get_insns ();
+-	  end_sequence ();
+-	  unsigned uns_cost = seq_cost (uns_insns, speed_p);
+-	  unsigned sgn_cost = seq_cost (sgn_insns, speed_p);
+-	  if (uns_cost < sgn_cost || (uns_cost == sgn_cost && unsignedp))
+-	    {
+-	      emit_insn (uns_insns);
+-	      return uns_ret;
+-	    }
+-	  emit_insn (sgn_insns);
+-	  return sgn_ret;
+-	}
+-      return expand_divmod (0, code, mode, op0, op1, target, unsignedp);
+-
++       if (modifier == EXPAND_STACK_PARM)
++	 target = 0;
++       /* Possible optimization: compute the dividend with EXPAND_SUM
++	  then if the divisor is constant can optimize the case
++	  where some terms of the dividend have coeffs divisible by it.  */
++       expand_operands (treeop0, treeop1,
++			subtarget, &op0, &op1, EXPAND_NORMAL);
++       bool mod_p = code == TRUNC_MOD_EXPR || code == FLOOR_MOD_EXPR
++		    || code == CEIL_MOD_EXPR || code == ROUND_MOD_EXPR;
++       if (SCALAR_INT_MODE_P (mode)
++	   && optimize >= 2
++	   && get_range_pos_neg (treeop0) == 1
++	   && get_range_pos_neg (treeop1) == 1)
++	 {
++	   /* If both arguments are known to be positive when interpreted
++	      as signed, we can expand it as both signed and unsigned
++	      division or modulo.  Choose the cheaper sequence in that case.  */
++	   bool speed_p = optimize_insn_for_speed_p ();
++	   do_pending_stack_adjust ();
++	   start_sequence ();
++	   rtx uns_ret = expand_divmod (mod_p, code, mode, op0, op1, target, 1);
++	   rtx_insn *uns_insns = get_insns ();
++	   end_sequence ();
++	   start_sequence ();
++	   rtx sgn_ret = expand_divmod (mod_p, code, mode, op0, op1, target, 0);
++	   rtx_insn *sgn_insns = get_insns ();
++	   end_sequence ();
++	   unsigned uns_cost = seq_cost (uns_insns, speed_p);
++	   unsigned sgn_cost = seq_cost (sgn_insns, speed_p);
++	   if (uns_cost < sgn_cost || (uns_cost == sgn_cost && unsignedp))
++	     {
++	       emit_insn (uns_insns);
++	       return uns_ret;
++	     }
++	   emit_insn (sgn_insns);
++	   return sgn_ret;
++	 }
++       return expand_divmod (mod_p, code, mode, op0, op1, target, unsignedp);
++     }
+     case RDIV_EXPR:
+       goto binop;
+ 
+@@ -8849,16 +8857,6 @@
+       gcc_assert (temp);
+       return temp;
+ 
+-    case TRUNC_MOD_EXPR:
+-    case FLOOR_MOD_EXPR:
+-    case CEIL_MOD_EXPR:
+-    case ROUND_MOD_EXPR:
+-      if (modifier == EXPAND_STACK_PARM)
+-	target = 0;
+-      expand_operands (treeop0, treeop1,
+-		       subtarget, &op0, &op1, EXPAND_NORMAL);
+-      return expand_divmod (1, code, mode, op0, op1, target, unsignedp);
+-
+     case FIXED_CONVERT_EXPR:
+       op0 = expand_normal (treeop0);
+       if (target == 0 || modifier == EXPAND_STACK_PARM)
+Index: gcc/go/go-gcc.cc
+===================================================================
+--- a/src/gcc/go/go-gcc.cc	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/go/go-gcc.cc	(.../branches/gcc-7-branch)
+@@ -2811,9 +2811,9 @@
+ 
+   tree decl = build_decl(BUILTINS_LOCATION, VAR_DECL,
+                          get_identifier_from_string(name), type_tree);
+-  DECL_EXTERNAL(decl) = 0;
++  DECL_EXTERNAL(decl) = 1;
+   TREE_PUBLIC(decl) = 1;
+-  TREE_STATIC(decl) = 1;
++  TREE_STATIC(decl) = 0;
+   DECL_ARTIFICIAL(decl) = 1;
+   if (! asm_name.empty())
+     SET_DECL_ASSEMBLER_NAME(decl, get_identifier_from_string(asm_name));
+Index: gcc/go/ChangeLog
+===================================================================
+--- a/src/gcc/go/ChangeLog	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/go/ChangeLog	(.../branches/gcc-7-branch)
+@@ -1,3 +1,9 @@
++2017-05-11  Ian Lance Taylor  <iant at google.com>
++
++	PR go/64238
++	* go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
++	DECL_EXTERNAL, clear TREE_STATIC.
++
+ 2017-05-02  Release Manager
+ 
+ 	* GCC 7.1.0 released.
+Index: gcc/ada/system-linux-aarch64-ilp32.ads
+===================================================================
+--- a/src/gcc/ada/system-linux-aarch64-ilp32.ads	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/ada/system-linux-aarch64-ilp32.ads	(.../branches/gcc-7-branch)
+@@ -1,157 +0,0 @@
+-------------------------------------------------------------------------------
+---                                                                          --
+---                        GNAT RUN-TIME COMPONENTS                          --
+---                                                                          --
+---                               S Y S T E M                                --
+---                                                                          --
+---                                 S p e c                                  --
+---                        (GNU-Linux/ARM Version)                           --
+---                                                                          --
+---          Copyright (C) 1992-2017, Free Software Foundation, Inc.         --
+---                                                                          --
+--- This specification is derived from the Ada Reference Manual for use with --
+--- GNAT. The copyright notice above, and the license provisions that follow --
+--- apply solely to the  contents of the part following the private keyword. --
+---                                                                          --
+--- GNAT is free software;  you can  redistribute it  and/or modify it under --
+--- terms of the  GNU General Public License as published  by the Free Soft- --
+--- ware  Foundation;  either version 3,  or (at your option) any later ver- --
+--- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+--- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+--- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
+---                                                                          --
+--- As a special exception under Section 7 of GPL version 3, you are granted --
+--- additional permissions described in the GCC Runtime Library Exception,   --
+--- version 3.1, as published by the Free Software Foundation.               --
+---                                                                          --
+--- You should have received a copy of the GNU General Public License and    --
+--- a copy of the GCC Runtime Library Exception along with this program;     --
+--- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
+--- <http://www.gnu.org/licenses/>.                                          --
+---                                                                          --
+--- GNAT was originally developed  by the GNAT team at  New York University. --
+--- Extensive contributions were provided by Ada Core Technologies Inc.      --
+---                                                                          --
+-------------------------------------------------------------------------------
+-
+-package System is
+-   pragma Pure;
+-   --  Note that we take advantage of the implementation permission to make
+-   --  this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
+-   --  2005, this is Pure in any case (AI-362).
+-
+-   pragma No_Elaboration_Code_All;
+-   --  Allow the use of that restriction in units that WITH this unit
+-
+-   type Name is (SYSTEM_NAME_GNAT);
+-   System_Name : constant Name := SYSTEM_NAME_GNAT;
+-
+-   --  System-Dependent Named Numbers
+-
+-   Min_Int               : constant := Long_Long_Integer'First;
+-   Max_Int               : constant := Long_Long_Integer'Last;
+-
+-   Max_Binary_Modulus    : constant := 2 ** Long_Long_Integer'Size;
+-   Max_Nonbinary_Modulus : constant := 2 ** Integer'Size - 1;
+-
+-   Max_Base_Digits       : constant := Long_Long_Float'Digits;
+-   Max_Digits            : constant := Long_Long_Float'Digits;
+-
+-   Max_Mantissa          : constant := 63;
+-   Fine_Delta            : constant := 2.0 ** (-Max_Mantissa);
+-
+-   Tick                  : constant := 0.000_001;
+-
+-   --  Storage-related Declarations
+-
+-   type Address is private;
+-   pragma Preelaborable_Initialization (Address);
+-   Null_Address : constant Address;
+-
+-   Storage_Unit : constant := 8;
+-   Word_Size    : constant := 32;
+-   Memory_Size  : constant := 2 ** Word_Size;
+-
+-   --  Address comparison
+-
+-   function "<"  (Left, Right : Address) return Boolean;
+-   function "<=" (Left, Right : Address) return Boolean;
+-   function ">"  (Left, Right : Address) return Boolean;
+-   function ">=" (Left, Right : Address) return Boolean;
+-   function "="  (Left, Right : Address) return Boolean;
+-
+-   pragma Import (Intrinsic, "<");
+-   pragma Import (Intrinsic, "<=");
+-   pragma Import (Intrinsic, ">");
+-   pragma Import (Intrinsic, ">=");
+-   pragma Import (Intrinsic, "=");
+-
+-   --  Other System-Dependent Declarations
+-
+-   type Bit_Order is (High_Order_First, Low_Order_First);
+-   Default_Bit_Order : constant Bit_Order :=
+-                         Bit_Order'Val (Standard'Default_Bit_Order);
+-   pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
+-
+-   --  Priority-related Declarations (RM D.1)
+-
+-   --  0 .. 98 corresponds to the system priority range 1 .. 99.
+-   --
+-   --  If the scheduling policy is SCHED_FIFO or SCHED_RR the runtime makes use
+-   --  of the entire range provided by the system.
+-   --
+-   --  If the scheduling policy is SCHED_OTHER the only valid system priority
+-   --  is 1 and other values are simply ignored.
+-
+-   Max_Priority           : constant Positive := 97;
+-   Max_Interrupt_Priority : constant Positive := 98;
+-
+-   subtype Any_Priority       is Integer      range  0 .. 98;
+-   subtype Priority           is Any_Priority range  0 .. 97;
+-   subtype Interrupt_Priority is Any_Priority range 98 .. 98;
+-
+-   Default_Priority : constant Priority := 48;
+-
+-private
+-
+-   type Address is mod Memory_Size;
+-   Null_Address : constant Address := 0;
+-
+-   --------------------------------------
+-   -- System Implementation Parameters --
+-   --------------------------------------
+-
+-   --  These parameters provide information about the target that is used
+-   --  by the compiler. They are in the private part of System, where they
+-   --  can be accessed using the special circuitry in the Targparm unit
+-   --  whose source should be consulted for more detailed descriptions
+-   --  of the individual switch values.
+-
+-   Backend_Divide_Checks     : constant Boolean := False;
+-   Backend_Overflow_Checks   : constant Boolean := True;
+-   Command_Line_Args         : constant Boolean := True;
+-   Configurable_Run_Time     : constant Boolean := False;
+-   Denorm                    : constant Boolean := True;
+-   Duration_32_Bits          : constant Boolean := False;
+-   Exit_Status_Supported     : constant Boolean := True;
+-   Fractional_Fixed_Ops      : constant Boolean := False;
+-   Frontend_Layout           : constant Boolean := False;
+-   Machine_Overflows         : constant Boolean := False;
+-   Machine_Rounds            : constant Boolean := True;
+-   Preallocated_Stacks       : constant Boolean := False;
+-   Signed_Zeros              : constant Boolean := True;
+-   Stack_Check_Default       : constant Boolean := False;
+-   Stack_Check_Probes        : constant Boolean := True;
+-   Stack_Check_Limits        : constant Boolean := False;
+-   Support_Aggregates        : constant Boolean := True;
+-   Support_Atomic_Primitives : constant Boolean := True;
+-   Support_Composite_Assign  : constant Boolean := True;
+-   Support_Composite_Compare : constant Boolean := True;
+-   Support_Long_Shifts       : constant Boolean := True;
+-   Always_Compatible_Rep     : constant Boolean := False;
+-   Suppress_Standard_Library : constant Boolean := False;
+-   Use_Ada_Main_Program_Name : constant Boolean := False;
+-   Frontend_Exceptions       : constant Boolean := False;
+-   ZCX_By_Default            : constant Boolean := True;
+-
+-end System;
+Index: gcc/ada/ChangeLog
+===================================================================
+--- a/src/gcc/ada/ChangeLog	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/ada/ChangeLog	(.../branches/gcc-7-branch)
+@@ -1,3 +1,29 @@
++2017-05-12  Eric Botcazou  <ebotcazou at adacore.com>
++
++	* system-linux-arm.ads (Memory_Size): Use Long_Integer'Size
++	instead of Word_Size.
++
++	Revert
++	2017-03-28  Andreas Schwab  <schwab at suse.de>
++
++	PR ada/80117
++	* system-linux-aarch64-ilp32.ads: New file.
++	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename
++	from LIBGNAT_TARGET_PAIRS.
++	(LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define.
++	(LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and
++	LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64
++	or -mabi=ilp32, resp.
++
++2017-05-10  H.J. Lu  <hongjiu.lu at intel.com>
++
++	Back port from mainline
++	2017-05-10  H.J. Lu  <hongjiu.lu at intel.com>
++
++	PR ada/80626
++	* system-linux-x86.ads (Memory_Size): Use Long_Integer'Size
++	instead of Word_Size.
++
+ 2017-05-02  Release Manager
+ 
+ 	* GCC 7.1.0 released.
+Index: gcc/ada/system-linux-x86.ads
+===================================================================
+--- a/src/gcc/ada/system-linux-x86.ads	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/ada/system-linux-x86.ads	(.../branches/gcc-7-branch)
+@@ -70,7 +70,7 @@
+ 
+    Storage_Unit : constant := 8;
+    Word_Size    : constant := Standard'Word_Size;
+-   Memory_Size  : constant := 2 ** Word_Size;
++   Memory_Size  : constant := 2 ** Long_Integer'Size;
+ 
+    --  Address comparison
+ 
+Index: gcc/ada/gcc-interface/Makefile.in
+===================================================================
+--- a/src/gcc/ada/gcc-interface/Makefile.in	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/ada/gcc-interface/Makefile.in	(.../branches/gcc-7-branch)
+@@ -1973,7 +1973,7 @@
+ 
+ # AArch64 Linux
+ ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),)
+-  LIBGNAT_TARGET_PAIRS_COMMON = \
++  LIBGNAT_TARGET_PAIRS = \
+   a-exetim.adb<a-exetim-posix.adb \
+   a-exetim.ads<a-exetim-default.ads \
+   a-intnam.ads<a-intnam-linux.ads \
+@@ -1993,22 +1993,9 @@
+   s-taspri.ads<s-taspri-posix.ads \
+   g-sercom.adb<g-sercom-linux.adb \
+   $(ATOMICS_TARGET_PAIRS) \
+-  $(ATOMICS_BUILTINS_TARGET_PAIRS)
+-
+-  LIBGNAT_TARGET_PAIRS_32 = \
+-  system.ads<system-linux-aarch64-ilp32.ads
+-
+-  LIBGNAT_TARGET_PAIRS_64 = \
++  $(ATOMICS_BUILTINS_TARGET_PAIRS) \
+   system.ads<system-linux-arm.ads
+ 
+-  ifneq (,$(or $(filter aarch64-linux-gnu, $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multiarch)), $(filter ../lib64, $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory))))
+-    LIBGNAT_TARGET_PAIRS = \
+-    $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
+-  else
+-    LIBGNAT_TARGET_PAIRS = \
+-    $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
+-  endif
+-
+   TOOLS_TARGET_PAIRS =  \
+     mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
+     indepsw.adb<indepsw-gnu.adb
+Index: gcc/ada/system-linux-arm.ads
+===================================================================
+--- a/src/gcc/ada/system-linux-arm.ads	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/ada/system-linux-arm.ads	(.../branches/gcc-7-branch)
+@@ -70,7 +70,7 @@
+ 
+    Storage_Unit : constant := 8;
+    Word_Size    : constant := Standard'Word_Size;
+-   Memory_Size  : constant := 2 ** Word_Size;
++   Memory_Size  : constant := 2 ** Long_Integer'Size;
+ 
+    --  Address comparison
+ 
+Index: gcc/fortran/trans-expr.c
+===================================================================
+--- a/src/gcc/fortran/trans-expr.c	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/fortran/trans-expr.c	(.../branches/gcc-7-branch)
+@@ -5454,6 +5454,16 @@
+ 	      if (fsym && fsym->attr.allocatable
+ 		  && fsym->attr.intent == INTENT_OUT)
+ 		{
++		  if (fsym->ts.type == BT_DERIVED
++		      && fsym->ts.u.derived->attr.alloc_comp)
++		  {
++		    // deallocate the components first
++		    tmp = gfc_deallocate_alloc_comp (fsym->ts.u.derived,
++						     parmse.expr, e->rank);
++		    if (tmp != NULL_TREE)
++		      gfc_add_expr_to_block (&se->pre, tmp);
++		  }
++
+ 		  tmp = build_fold_indirect_ref_loc (input_location,
+ 						     parmse.expr);
+ 		  if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (tmp)))
 Index: gcc/fortran/ChangeLog
 ===================================================================
 --- a/src/gcc/fortran/ChangeLog	(.../tags/gcc_7_1_0_release)
 +++ b/src/gcc/fortran/ChangeLog	(.../branches/gcc-7-branch)
-@@ -1,3 +1,11 @@
+@@ -1,3 +1,26 @@
++2017-05-05  Janus Weil  <janus at gcc.gnu.org>
++
++	Backport from trunk
++	PR fortran/80121
++	* trans-expr.c (gfc_conv_procedure_call): Deallocate the components
++	of allocatable intent(out) arguments.
++
++2017-05-05  Janus Weil  <janus at gcc.gnu.org>
++
++	Backport from trunk
++	PR fortran/80392
++	* trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
++	building a derived type that includes a procedure pointer component
++	with a polymorphic result.
++
 +2017-05-04  Jerry DeLisle  <jvdelisle at gcc.gnu.org>
 +
 +	Backport from trunk.
@@ -422,6 +1454,24 @@ Index: gcc/fortran/module.c
  	  m = gfc_match (" =>");
  
  	  if (type == INTERFACE_USER_OP && m == MATCH_YES
+Index: gcc/fortran/trans-types.c
+===================================================================
+--- a/src/gcc/fortran/trans-types.c	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/fortran/trans-types.c	(.../branches/gcc-7-branch)
+@@ -2617,9 +2617,10 @@
+ 	 the same as derived, by forcing the procedure pointer component to
+ 	 be built as if the explicit interface does not exist.  */
+       if (c->attr.proc_pointer
+-	  && ((c->ts.type != BT_DERIVED && c->ts.type != BT_CLASS)
+-	       || (c->ts.u.derived
+-		   && !gfc_compare_derived_types (derived, c->ts.u.derived))))
++	  && (c->ts.type != BT_DERIVED || (c->ts.u.derived
++		    && !gfc_compare_derived_types (derived, c->ts.u.derived)))
++	  && (c->ts.type != BT_CLASS || (CLASS_DATA (c)->ts.u.derived
++		    && !gfc_compare_derived_types (derived, CLASS_DATA (c)->ts.u.derived))))
+ 	field_type = gfc_get_ppc_type (c);
+       else if (c->attr.proc_pointer && derived->backend_decl)
+ 	{
 Index: gcc/fortran/io.c
 ===================================================================
 --- a/src/gcc/fortran/io.c	(.../tags/gcc_7_1_0_release)
@@ -594,7 +1644,15 @@ Index: gcc/po/es.po
 ===================================================================
 --- a/src/gcc/po/es.po	(.../tags/gcc_7_1_0_release)
 +++ b/src/gcc/po/es.po	(.../branches/gcc-7-branch)
-@@ -35,10 +35,10 @@
+@@ -17,6 +17,7 @@
+ # dereference        - desreferencia
+ # hardware           - hardware
+ # hotness            - calentura
++# immediate          - inmediato
+ # insns              - instrucciones  #: config/frv/frv.opt:126
+ # instruction        - instrucción
+ # iv optimization    - optimización iv
+@@ -35,10 +36,10 @@
  #
  msgid ""
  msgstr ""
@@ -604,11 +1662,11 @@ Index: gcc/po/es.po
 -"POT-Creation-Date: 2017-04-24 20:38+0000\n"
 -"PO-Revision-Date: 2017-04-16 10:33+0200\n"
 +"POT-Creation-Date: 2017-05-01 22:24+0000\n"
-+"PO-Revision-Date: 2017-05-02 21:34+0200\n"
++"PO-Revision-Date: 2017-05-06 12:55+0200\n"
  "Last-Translator: Antonio Ceballos <aceballos at gmail.com>\n"
  "Language-Team: Spanish <es at tp.org.es>\n"
  "Language: es\n"
-@@ -794,15 +794,12 @@
+@@ -794,15 +795,12 @@
  "\n"
  
  #: gcov.c:656
@@ -626,7 +1684,7 @@ Index: gcc/po/es.po
  "\n"
  
  #: gcov.c:657
-@@ -1996,10 +1993,9 @@
+@@ -1996,10 +1994,9 @@
  msgstr "Límite en el número de revisiones de tiempo de ejecución insertadas por las versiones de bucle del vectorizador para revisión de alias."
  
  #: params.def:568
@@ -639,7 +1697,7 @@ Index: gcc/po/es.po
  
  #: params.def:573
  #, no-c-format
-@@ -2398,16 +2394,14 @@
+@@ -2398,16 +2395,14 @@
  msgstr "Cantidad máxima de bbs similares con las cuales comparar un bb."
  
  #: params.def:1104
@@ -660,7 +1718,7 @@ Index: gcc/po/es.po
  
  #: params.def:1116
  #, no-c-format
-@@ -2837,42 +2831,42 @@
+@@ -2837,42 +2832,42 @@
  msgid "<command-line>"
  msgstr "<línea-de-orden>"
  
@@ -715,7 +1773,7 @@ Index: gcc/po/es.po
  #, c-format
  msgid "invalid operand prefix '%%%c'"
  msgstr "prefijo de operando no válido '%%%c'"
-@@ -3030,29 +3024,29 @@
+@@ -3030,29 +3025,29 @@
  msgid "invalid UNSPEC as operand: %d"
  msgstr "UNSPEC no válido como operando: %d"
  
@@ -756,7 +1814,7 @@ Index: gcc/po/es.po
  #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458
  #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481
  #: config/bfin/bfin.c:1488
-@@ -3060,13 +3054,13 @@
+@@ -3060,13 +3055,13 @@
  msgid "invalid operand for code '%c'"
  msgstr "operando no válido para el código '%c'"
  
@@ -772,7 +1830,60 @@ Index: gcc/po/es.po
  #, c-format
  msgid "obsolete Maverick format code '%c'"
  msgstr "código de formato Maverick obsoleto '%c'"
-@@ -3885,98 +3879,98 @@
+@@ -3139,34 +3134,24 @@
+ msgstr "conversión de coma fija no admitida"
+ 
+ #: config/avr/avr.c:9803
+-#, fuzzy
+-#| msgid "Loop variable"
+ msgid "variable"
+-msgstr "Variable de ciclo"
++msgstr "variable"
+ 
+ #: config/avr/avr.c:9808
+-#, fuzzy
+-#| msgid "a parameter"
+ msgid "function parameter"
+-msgstr "un parámetro"
++msgstr "parámetro de función"
+ 
+ #: config/avr/avr.c:9813
+-#, fuzzy
+-#| msgid "structure"
+ msgid "structure field"
+-msgstr "estructura"
++msgstr "campo de estructura"
+ 
+ #: config/avr/avr.c:9819
+-#, fuzzy
+-#| msgid "creating array of functions"
+ msgid "return type of function"
+-msgstr "se crea la matriz de funciones"
++msgstr "tipo de retorno de función"
+ 
+ #: config/avr/avr.c:9824
+-#, fuzzy
+-#| msgid "null pointer"
+ msgid "pointer"
+-msgstr "puntero nulo"
++msgstr "puntero"
+ 
+ #: config/avr/driver-avr.c:48
+ #, c-format
+@@ -3476,10 +3461,9 @@
+ msgstr "el operando no es un entero, código de operando 'R' no válido"
+ 
+ #: config/i386/i386.c:18261
+-#, fuzzy, c-format
+-#| msgid "operand is not a specific integer, invalid operand code 'r'"
++#, c-format
+ msgid "operand is not a specific integer, invalid operand code 'R'"
+-msgstr "el operando no es un entero concreto, código de operando 'r' no válido"
++msgstr "el operando no es un entero concreto, código de operando 'R' no válido"
+ 
+ #: config/i386/i386.c:18357
+ #, c-format
+@@ -3885,98 +3869,98 @@
  msgid "emit_fusion_p9_store not MEM"
  msgstr "emit_fusion_p9_store no MEM"
  
@@ -891,7 +2002,254 @@ Index: gcc/po/es.po
  msgid "binary operator does not support mixing vector bool with floating point vector operands"
  msgstr "el operador binario no admite que se mezclen operandos bool vector y vector de coma flotante"
  
-@@ -17367,7 +17361,7 @@
+@@ -6204,10 +6188,8 @@
+ msgstr "Advierte de 'new' de tipos con alineamiento extendido sin -faligned-new."
+ 
+ #: c-family/c.opt:296
+-#, fuzzy
+-#| msgid "-Waligned-new=all Warn even if 'new' uses a class member allocation function."
+ msgid "-Waligned-new=[none|global|all]\tWarn even if 'new' uses a class member allocation function."
+-msgstr "-Waligned-new=all Avisa aunque 'new' use una función de reserva miembro de clase."
++msgstr "-Waligned-new=[none|global|all]\tAvisa aunque 'new' use una función de reserva miembro de clase."
+ 
+ #: c-family/c.opt:300 ada/gcc-interface/lang.opt:57
+ msgid "Enable most warning messages."
+@@ -6226,10 +6208,8 @@
+ msgstr "-Walloc-zero Advierte de llamadas a funciones de reserva que especifican cero bytes."
+ 
+ #: c-family/c.opt:317
+-#, fuzzy
+-#| msgid "-Walloca-larger-than=<number> Warn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than <number> bytes."
+ msgid "-Walloca-larger-than=<number>\tWarn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than <number> bytes."
+-msgstr "-Walloca-larger-than=<número> Advierte de usos no acotados de alloca y de usos acotados cuyo límite pueda ser más grande que <número> bytes."
++msgstr "-Walloca-larger-than=<número>\tAdvierte de usos no acotados de alloca y de usos acotados cuyo límite pueda ser más grande que <número> bytes."
+ 
+ #: c-family/c.opt:331
+ msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector."
+@@ -6380,10 +6360,8 @@
+ msgstr "Avisa sobre un cuerpo vacío en una declaración if o else."
+ 
+ #: c-family/c.opt:489
+-#, fuzzy
+-#| msgid "Warn about stray tokens after #elif and #endif."
+ msgid "Warn about stray tokens after #else and #endif."
+-msgstr "Avisa sobre elementos sobrantes después de #elif y #endif."
++msgstr "Avisa sobre elementos sobrantes después de #else y #endif."
+ 
+ #: c-family/c.opt:493
+ msgid "Warn about comparison of different enum types."
+@@ -6898,10 +6876,8 @@
+ msgstr "Avisa si se usa una matriz de longitud variable."
+ 
+ #: c-family/c.opt:1104
+-#, fuzzy
+-#| msgid "-Walloca-larger-than=<number> Warn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than <number> bytes."
+ msgid "-Wvla-larger-than=<number>\tWarn on unbounded uses of variable-length arrays, and on bounded uses of variable-length arrays whose bound can be larger than <number> bytes."
+-msgstr "-Walloca-larger-than=<número> Advierte de usos no acotados de alloca y de usos acotados cuyo límite pueda ser más grande que <número> bytes."
++msgstr "-Wvla-larger-than=<número>\tAdvierte de usos no acotados de arrays de longitud variable y de usos acotados de arrays de longitud variable cuyo límite pueda ser más grande que <número> bytes."
+ 
+ #: c-family/c.opt:1110
+ msgid "Warn when a register variable is declared volatile."
+@@ -8953,10 +8929,8 @@
+ msgstr "Las ramificaciones son así de caras (1-5, unidades arbitrarias)."
+ 
+ #: config/i386/i386.opt:275
+-#, fuzzy
+-#| msgid "Data greater than given threshold will go into .ldata section in x86-64 medium model."
+ msgid "-mlarge-data-threshold=<number>\tData greater than given threshold will go into .ldata section in x86-64 medium model."
+-msgstr "Los datos más grandes que el límite dado irán a la sección .ldata en el modeolo medium del x86-64."
++msgstr "-mlarge-data-threshold=<número>\tLos datos más grandes que el límite dado irán a la sección .ldata en el modeolo medium del x86-64."
+ 
+ #: config/i386/i386.opt:279
+ msgid "Use given x86-64 code model."
+@@ -12753,17 +12727,15 @@
+ 
+ #: config/mips/mips.opt:393
+ msgid "Use lwxc1/swxc1/ldxc1/sdxc1 instructions where applicable."
+-msgstr ""
++msgstr "Usa instrucciones lwxc1/swxc1/ldxc1/sdxc1 donde sean aplicables."
+ 
+ #: config/mips/mips.opt:397
+ msgid "Use 4-operand madd.s/madd.d and related instructions where applicable."
+-msgstr ""
++msgstr "Usa operandos cuaternarios madd.s/madd.d e instrucciones relacionadas donde sean aplicables."
+ 
+ #: config/mips/mips.opt:409
+-#, fuzzy
+-#| msgid "Use Virtualization Application Specific instructions."
+ msgid "Use Virtualization (VZ) instructions."
+-msgstr "Usa instrucciones específicas de aplicación de virtualización."
++msgstr "Usa instrucciones virtualización (VZ)."
+ 
+ #: config/mips/mips.opt:413
+ msgid "Use eXtended Physical Address (XPA) instructions."
+@@ -13346,10 +13318,8 @@
+ msgstr "Avisa cuando no se está usando la protección contra destrucción de la pila por alguna razón."
+ 
+ #: common.opt:693
+-#, fuzzy
+-#| msgid "Warn if stack usage might be larger than specified amount."
+ msgid "-Wstack-usage=<number>\tWarn if stack usage might be larger than specified amount."
+-msgstr "Avisa si el uso de pila puede ser mayor que el monto especificado."
++msgstr "-Wstack-usage=<number>\tAvisa si el uso de pila puede ser mayor que el monto especificado."
+ 
+ #: common.opt:697 common.opt:701
+ msgid "Warn about code which might break strict aliasing rules."
+@@ -13810,10 +13780,8 @@
+ msgstr "Realiza el paso de la propagación hacia adelante en RTL."
+ 
+ #: common.opt:1379
+-#, fuzzy
+-#| msgid "-ffp-contract=[off|on|fast] Perform floating-point expression contraction."
+ msgid "-ffp-contract=[off|on|fast]\tPerform floating-point expression contraction."
+-msgstr "-ffp-contract=[off|on|fast] Realiza contracción de expresión de coma flotante."
++msgstr "-ffp-contract=[off|on|fast]\tRealiza contracción de expresión de coma flotante."
+ 
+ #: common.opt:1382
+ #, c-format
+@@ -13914,10 +13882,8 @@
+ msgstr "Realiza la conversión de saltos condicionales a ejecución condicional."
+ 
+ #: common.opt:1531
+-#, fuzzy
+-#| msgid "-fstack-reuse=[all|named_vars|none] Set stack reuse level for local variables."
+ msgid "-fstack-reuse=[all|named_vars|none]\tSet stack reuse level for local variables."
+-msgstr "-fstack-reuse=[all|named_vars|none] Establece el nivel de reúso de la pila para variables locales."
++msgstr "-fstack-reuse=[all|named_vars|none]\tEstablece el nivel de reúso de la pila para variables locales."
+ 
+ #: common.opt:1534
+ #, c-format
+@@ -14017,10 +13983,8 @@
+ msgstr "Realiza la Propagación de Rango Valor IPA."
+ 
+ #: common.opt:1664
+-#, fuzzy
+-#| msgid "-fira-algorithm=[CB|priority] Set the used IRA algorithm."
+ msgid "-fira-algorithm=[CB|priority]\tSet the used IRA algorithm."
+-msgstr "-fira-algorithm=[CB|priority] Establece el algoritmo IRA a usar."
++msgstr "-fira-algorithm=[CB|priority]\tEstablece el algoritmo IRA a usar."
+ 
+ #: common.opt:1667
+ #, c-format
+@@ -14028,10 +13992,8 @@
+ msgstr "algoritmo IRA %qs desconocido"
+ 
+ #: common.opt:1677
+-#, fuzzy
+-#| msgid "-fira-region=[one|all|mixed] Set regions for IRA."
+ msgid "-fira-region=[one|all|mixed]\tSet regions for IRA."
+-msgstr "-fira-region=[one|all|mixed] Establece las regiones para IRA."
++msgstr "-fira-region=[one|all|mixed]\tEstablece las regiones para IRA."
+ 
+ #: common.opt:1680
+ #, c-format
+@@ -14367,10 +14329,8 @@
+ msgstr "Reordena los bloques básicos para mejorar la ubicación del código."
+ 
+ #: common.opt:2076
+-#, fuzzy
+-#| msgid "-freorder-blocks-algorithm=[simple|stc] Set the used basic block reordering algorithm."
+ msgid "-freorder-blocks-algorithm=[simple|stc]\tSet the used basic block reordering algorithm."
+-msgstr "-freorder-blocks-algorithm=[simple|stc] Establece el algoritmo de ordenación de bloque básico usado."
++msgstr "-freorder-blocks-algorithm=[simple|stc]\tEstablece el algoritmo de ordenación de bloque básico usado."
+ 
+ #: common.opt:2079
+ #, c-format
+@@ -14739,10 +14699,8 @@
+ msgstr "Activa las optimizaciones de bucles a nivel de árbol."
+ 
+ #: common.opt:2526
+-#, fuzzy
+-#| msgid "Enable automatic parallelization of loops."
+ msgid "-ftree-parallelize-loops=<number>\tEnable automatic parallelization of loops."
+-msgstr "Activa la paralelización automática de bucles."
++msgstr "-ftree-parallelize-loops=<número>\tActiva la paralelización automática de bucles."
+ 
+ #: common.opt:2530
+ msgid "Enable hoisting loads from conditional pointers."
+@@ -14870,13 +14828,11 @@
+ 
+ #: common.opt:2693
+ msgid "Specifies the cost model for vectorization. -fvect-cost-model=[unlimited|dynamic|cheap]\tSpecifies the cost model for vectorization."
+-msgstr ""
++msgstr "Especifica el modelo de coste para vectorización. -fvect-cost-model=[unlimited|dynamic|cheap]\tEspecifica el modelo de coste para vectorización."
+ 
+ #: common.opt:2698
+-#, fuzzy
+-#| msgid "Specifies the vectorization cost model for code marked with a simd directive."
+ msgid "-fsimd-cost-model=[unlimited|dynamic|cheap]\tSpecifies the vectorization cost model for code marked with a simd directive."
+-msgstr "Especifica el modelo de coste de la vectorización para código marcado con directiva simd."
++msgstr "-fsimd-cost-model=[unlimited|dynamic|cheap]\tEspecifica el modelo de coste de la vectorización para código marcado con directiva simd."
+ 
+ #: common.opt:2701
+ #, c-format
+@@ -15569,10 +15525,9 @@
+ msgstr "se descartan los atributos de tipo después de que el tipo ya se definió"
+ 
+ #: auto-profile.c:347
+-#, fuzzy, gcc-internal-format
+-#| msgid "Offset exceeds 16 bytes."
++#, gcc-internal-format
+ msgid "offset exceeds 16 bytes"
+-msgstr "El desplazamiento excede 16 bytes."
++msgstr "el desplazamiento excede 16 bytes"
+ 
+ #: auto-profile.c:854
+ #, gcc-internal-format
+@@ -15580,40 +15535,34 @@
+ msgstr "No se esperaba TAG."
+ 
+ #: auto-profile.c:920
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Cannot open profile file %s."
++#, gcc-internal-format, gfc-internal-format
+ msgid "cannot open profile file %s"
+-msgstr "No se puede abrir el fichero de perfil %s."
++msgstr "no se puede abrir el fichero de perfil %s"
+ 
+ #: auto-profile.c:926
+-#, fuzzy, gcc-internal-format
+-#| msgid "AutoFDO profile magic number does not match."
++#, gcc-internal-format
+ msgid "AutoFDO profile magic number does not match"
+-msgstr "El número mágico de perfil AutoFDO no cuadra."
++msgstr "El número mágico de perfil AutoFDO no cuadra"
+ 
+ #: auto-profile.c:934
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "AutoFDO profile version %u does match %u."
++#, gcc-internal-format, gfc-internal-format
+ msgid "AutoFDO profile version %u does match %u"
+-msgstr "La versión %u de perfil AutoFDO no cuadra con %u."
++msgstr "La versión %u de perfil AutoFDO no cuadra con %u"
+ 
+ #: auto-profile.c:946
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Cannot read string table from %s."
++#, gcc-internal-format, gfc-internal-format
+ msgid "cannot read string table from %s"
+-msgstr "No se puede leer la tabla de cadenas de %s."
++msgstr "no se puede leer la tabla de cadenas de %s"
+ 
+ #: auto-profile.c:954
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Cannot read function profile from %s."
++#, gcc-internal-format, gfc-internal-format
+ msgid "cannot read function profile from %s"
+-msgstr "No se puede leer el perfil de función de %s."
++msgstr "no se puede leer el perfil de función de %s"
+ 
+ #: auto-profile.c:964
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Cannot read working set from %s."
++#, gcc-internal-format, gfc-internal-format
+ msgid "cannot read working set from %s"
+-msgstr "No se puede leer el conjunto de trabajo de %s."
++msgstr "no se puede leer el conjunto de trabajo de %s"
+ 
+ #: bt-load.c:1564
+ #, gcc-internal-format
+@@ -17367,7 +17316,7 @@
  msgid "assuming signed overflow does not occur when combining constants around a comparison"
  msgstr "se asume que el desbordamiento con signo no sucede cuando se combinan constantes alrededor de una comparación"
  
@@ -900,7 +2258,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"
-@@ -17903,8 +17897,8 @@
+@@ -17903,8 +17852,8 @@
  msgid "null pointer dereference"
  msgstr "desreferencia a puntero nulo"
  
@@ -911,7 +2269,7 @@ Index: gcc/po/es.po
  #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564
  #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174
  #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993
-@@ -17918,297 +17912,297 @@
+@@ -17918,297 +17867,297 @@
  msgid "nonnull argument %qD compared to NULL"
  msgstr "argumento %qD no nulo comparado con NULL"
  
@@ -1268,7 +2626,158 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "null format string"
  msgstr "cadena de formato nula"
-@@ -20395,159 +20389,159 @@
+@@ -18364,16 +18313,14 @@
+ msgstr "tarea contenedora"
+ 
+ #: gimplify.c:6852
+-#, fuzzy, gcc-internal-format
+-#| msgid "%qE not specified in enclosing %s"
++#, gcc-internal-format
+ msgid "%qE not specified in enclosing %qs"
+-msgstr "no se especificó %qE en el %s que lo contiene"
++msgstr "no se especificó %qE en el %qs que lo contiene"
+ 
+ #: gimplify.c:6854
+-#, fuzzy, gcc-internal-format
+-#| msgid "enclosing %s"
++#, gcc-internal-format
+ msgid "enclosing %qs"
+-msgstr "%s contenedora"
++msgstr "%qs contenedora"
+ 
+ #: gimplify.c:6965
+ #, gcc-internal-format
+@@ -18742,10 +18689,9 @@
+ msgstr "el tipo incompatible definido en otra unidad de traducción"
+ 
+ #: ipa-devirt.c:1142
+-#, fuzzy, gcc-internal-format
+-#| msgid "type name %<%s%> should match type name %<%s%>"
++#, gcc-internal-format
+ msgid "type name %qs should match type name %qs"
+-msgstr "el nombre de tipo %<%s%> debería concordar con el nombre de tipo %<%s%>"
++msgstr "el nombre de tipo %qs debería concordar con el nombre de tipo %qs"
+ 
+ #: ipa-devirt.c:1146 ipa-devirt.c:1238
+ #, gcc-internal-format
+@@ -18763,10 +18709,9 @@
+ msgstr "no coincide el tipo del valor de retorno"
+ 
+ #: ipa-devirt.c:1204
+-#, fuzzy, gcc-internal-format
+-#| msgid "field initializer type mismatch"
++#, gcc-internal-format
+ msgid "implicit this pointer type mismatch"
+-msgstr "no coincide el tipo del inicializador del campo"
++msgstr "no coincide el tipo del puntero this implícito"
+ 
+ #: ipa-devirt.c:1207
+ #, gcc-internal-format, gfc-internal-format
+@@ -18981,16 +18926,14 @@
+ msgstr "falta el resumen de inclusión en línea ipa en el fichero de entrada"
+ 
+ #: ipa-pure-const.c:187
+-#, fuzzy, gcc-internal-format
+-#| msgid "function might be candidate for attribute %<%s%>"
++#, gcc-internal-format
+ msgid "function might be candidate for attribute %qs"
+-msgstr "la función puede ser candidata para el atributo %<%s%>"
++msgstr "la función puede ser candidata para el atributo %qs"
+ 
+ #: ipa-pure-const.c:188
+-#, fuzzy, gcc-internal-format
+-#| msgid "function might be candidate for attribute %<%s%> if it is known to return normally"
++#, gcc-internal-format
+ msgid "function might be candidate for attribute %qs if it is known to return normally"
+-msgstr "la función puede ser candidata para el atributo %<%s%> si se sabe que devuelve normalmente"
++msgstr "la función puede ser candidata para el atributo %qs si se sabe que retorna normalmente"
+ 
+ #: ipa-reference.c:1182
+ #, gcc-internal-format
+@@ -19149,10 +19092,9 @@
+ msgstr "flujo de bytecode: sección LTO %s inesperada"
+ 
+ #: lto-streamer.c:383
+-#, fuzzy, gcc-internal-format
+-#| msgid "bytecode stream in file '%s' generated with LTO version %d.%d instead of the expected %d.%d"
++#, gcc-internal-format
+ msgid "bytecode stream in file %qs generated with LTO version %d.%d instead of the expected %d.%d"
+-msgstr "flujo de bytecode en el fichero '%s' generado con LTO versión %d.%d en lugar de la versión esperada %d.%d"
++msgstr "flujo de bytecode en el fichero %qs generado con LTO versión %d.%d en lugar de la versión esperada %d.%d"
+ 
+ #: lto-wrapper.c:114
+ #, gcc-internal-format
+@@ -19467,10 +19409,9 @@
+ msgstr "operando -fopenacc-dim defectuoso en '%s'"
+ 
+ #: omp-offload.c:1157
+-#, fuzzy, gcc-internal-format
+-#| msgid "inner loop uses same OpenACC parallelism as containing loop"
++#, gcc-internal-format
+ msgid "routine call uses same OpenACC parallelism as containing loop"
+-msgstr "el bucle interno usa el mismo paralelismo OpenACC que el bucle que lo contiene"
++msgstr "la llamada a la rutina usa el mismo paralelismo OpenACC que el bucle que lo contiene"
+ 
+ #: omp-offload.c:1161 omp-offload.c:1193
+ #, gcc-internal-format
+@@ -19478,16 +19419,14 @@
+ msgstr "bucle que lo contiene aquí"
+ 
+ #: omp-offload.c:1166
+-#, fuzzy, gcc-internal-format
+-#| msgid "%s uses OpenACC parallelism disallowed by containing routine"
++#, gcc-internal-format
+ msgid "routine call uses OpenACC parallelism disallowed by containing routine"
+-msgstr "%s usa paralelismo OpenACC no permitido por la rutina que lo contiene"
++msgstr "la llamada a la rutina usa paralelismo OpenACC no permitido por la rutina que lo contiene"
+ 
+ #: omp-offload.c:1168
+-#, fuzzy, gcc-internal-format
+-#| msgid "%s uses OpenACC parallelism disallowed by containing routine"
++#, gcc-internal-format
+ msgid "loop uses OpenACC parallelism disallowed by containing routine"
+-msgstr "%s usa paralelismo OpenACC no permitido por la rutina que lo contiene"
++msgstr "el bucle usa paralelismo OpenACC no permitido por la rutina que lo contiene"
+ 
+ #: omp-offload.c:1173
+ #, gcc-internal-format
+@@ -19511,10 +19450,9 @@
+ msgstr "insuficiente paralelismo disponible para paralelizar bucle de elemento"
+ 
+ #: omp-offload.c:1337
+-#, fuzzy, gcc-internal-format
+-#| msgid "insufficient partitioning available to parallelize%s loop"
++#, gcc-internal-format
+ msgid "insufficient partitioning available to parallelize loop"
+-msgstr "insuficiente paralelismo disponible para paralelizar bucle %s"
++msgstr "insuficiente paralelismo disponible para paralelizar bucle"
+ 
+ #: omp-simd-clone.c:192
+ #, gcc-internal-format
+@@ -19713,8 +19651,7 @@
+ msgstr "la opción -fsanitize=all no es válida"
+ 
+ #: opts.c:1642
+-#, fuzzy, gcc-internal-format
+-#| msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s; did you mean %qs"
++#, gcc-internal-format
+ msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s; did you mean %qs?"
+ msgstr "no se reconoce el argumento para la opción -f%ssanitize%s=: %q.*s; ¿quiso decir %qs?"
+ 
+@@ -20043,10 +19980,9 @@
+ msgstr "insn con UID %i no encontrada para el operando %i de insn %i"
+ 
+ #: read-rtl-function.c:409
+-#, fuzzy, gcc-internal-format
+-#| msgid "function %qs cannot be declared %<mutable%>"
++#, gcc-internal-format
+ msgid "%<__RTL%> function cannot be compiled with %<-flto%>"
+-msgstr "la función %qs no se puede declarar %<mutable%>"
++msgstr "la función %<__RTL%> no se puede compilar con %<-flto%>"
+ 
+ #: read-rtl-function.c:710
+ #, gcc-internal-format, gfc-internal-format
+@@ -20395,159 +20331,159 @@
  msgid "%D renamed after being referenced in assembly"
  msgstr "se renombró %D después de ser referenciado en el ensamblado"
  
@@ -1459,7 +2968,78 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "section of alias %q+D must match section of its target"
  msgstr "la sección del alias %q+D debe cuadrar con la sección de su objetivo"
-@@ -22215,8 +22209,8 @@
+@@ -20648,34 +20584,29 @@
+ msgstr "No se pueden usar las optimizaciones de bucle Graphite (isl no está disponible) (-fgraphite, -fgraphite-identity, -floop-nest-optimize, -floop-parallelize-all"
+ 
+ #: toplev.c:1273
+-#, fuzzy, gcc-internal-format
+-#| msgid "-fcheck-pointer-bounds is not supported for this target"
++#, gcc-internal-format
+ msgid "%<-fcheck-pointer-bounds%> is not supported for this target"
+-msgstr "no se admite -fcheck-pointer-bounds para este objetivo"
++msgstr "no se admite %<-fcheck-pointer-bounds%> para este objetivo"
+ 
+ #: toplev.c:1281
+-#, fuzzy, gcc-internal-format
+-#| msgid "-fcheck-pointer-bounds is not supported with -fsanitize=bounds"
++#, gcc-internal-format
+ msgid "%<-fcheck-pointer-bounds%> is not supported with %<-fsanitize=bounds-strict%>"
+-msgstr "fcheck-pointer-bounds no se admite con -fsanitize=bounds"
++msgstr "%<-fcheck-pointer-bounds%> no se admite con %<-fsanitize=bounds-strict%>"
+ 
+ #: toplev.c:1288
+-#, fuzzy, gcc-internal-format
+-#| msgid "-fcheck-pointer-bounds is not supported with -fsanitize=bounds"
++#, gcc-internal-format
+ msgid "%<-fcheck-pointer-bounds%> is not supported with %<-fsanitize=bounds%>"
+-msgstr "fcheck-pointer-bounds no se admite con -fsanitize=bounds"
++msgstr "%<-fcheck-pointer-bounds%> no se admite con %<-fsanitize=bounds%>"
+ 
+ #: toplev.c:1296
+-#, fuzzy, gcc-internal-format
+-#| msgid "-fcheck-pointer-bounds is not supported with Address Sanitizer"
++#, gcc-internal-format
+ msgid "%<-fcheck-pointer-bounds%> is not supported with Address Sanitizer"
+-msgstr "fcheck-pointer-bounds no se admite con Address Sanitizer"
++msgstr "%<-fcheck-pointer-bounds%> no se admite con Address Sanitizer"
+ 
+ #: toplev.c:1304
+-#, fuzzy, gcc-internal-format
+-#| msgid "-fcheck-pointer-bounds is not supported with Address Sanitizer"
++#, gcc-internal-format
+ msgid "%<-fcheck-pointer-bounds%> is not supported with Thread Sanitizer"
+-msgstr "fcheck-pointer-bounds no se admite con Address Sanitizer"
++msgstr "%<-fcheck-pointer-bounds%> no se admite con Thread Sanitizer"
+ 
+ #: toplev.c:1320
+ #, gcc-internal-format
+@@ -21644,10 +21575,9 @@
+ msgstr "la comprebación de acceso de memoria siempre falla"
+ 
+ #: tree-chkp.c:1996
+-#, fuzzy, gcc-internal-format
+-#| msgid "-fcheck-pointer-bounds requires '%s' name for internal usage"
++#, gcc-internal-format
+ msgid "-fcheck-pointer-bounds requires %qs name for internal usage"
+-msgstr "-fcheck-pointer-bounds requiere nombre '%s' para uso interno "
++msgstr "-fcheck-pointer-bounds requiere nombre %qs para uso interno "
+ 
+ #: tree-chkp.c:2774
+ #, gcc-internal-format, gfc-internal-format
+@@ -21866,10 +21796,9 @@
+ msgstr "dentro de este bucle"
+ 
+ #: tree-ssa-loop-prefetch.c:2045
+-#, fuzzy, gcc-internal-format
+-#| msgid "-falign-labels=%d is not supported"
++#, gcc-internal-format
+ msgid "%<l1-cache-size%> parameter is not a power of two %d"
+-msgstr "no se admite -falign-labels=%d"
++msgstr "el parámetro %<l1-cache-size%> no es potencia de dos %d"
+ 
+ #: tree-ssa-operands.c:975
+ #, gcc-internal-format
+@@ -22215,8 +22144,8 @@
  #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937
  #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062
  #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172
@@ -1470,7 +3050,7 @@ Index: gcc/po/es.po
  #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715
  #: config/i386/i386.c:41425 config/ia64/ia64.c:762
  #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741
-@@ -22252,92 +22246,92 @@
+@@ -22252,92 +22181,92 @@
  msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
  msgstr "%qE implica visibilidad por defecto, pero %qD ya se había declarado con una visibilidad diferente"
  
@@ -1581,7 +3161,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "type is deprecated"
  msgstr "el tipo es obsoleto"
-@@ -22364,262 +22358,262 @@
+@@ -22364,262 +22293,262 @@
  #. main variant only.
  #.
  #. Convenience macro for matching individual fields.
@@ -1896,7 +3476,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "verify_type failed"
  msgstr "falló verify_type"
-@@ -23616,13 +23610,13 @@
+@@ -23616,13 +23545,13 @@
  msgid "%<fallthrough%> attribute specified with a parameter"
  msgstr "el atributo %<fallthrough%> se especificó con un parámetro"
  
@@ -1912,7 +3492,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "too many arguments to function %qE"
  msgstr "demasiados argumentos para la función %qE"
-@@ -23707,72 +23701,72 @@
+@@ -23707,72 +23636,72 @@
  msgid "index %E denotes an offset greater than size of %qT"
  msgstr "el índice %E denota un desplazamiento mayor que el tamaño de %qT"
  
@@ -1999,7 +3579,7 @@ Index: gcc/po/es.po
  #: cp/call.c:4836 cp/call.c:4843
  #, gcc-internal-format
  msgid "conversion of scalar %qT to vector %qT involves truncation"
-@@ -23780,22 +23774,22 @@
+@@ -23780,22 +23709,22 @@
  
  #. Reject arguments that are built-in functions with
  #. no library fallback.
@@ -2026,7 +3606,41 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd"
  msgstr ""
-@@ -24585,20 +24579,19 @@
+@@ -23816,10 +23745,9 @@
+ msgstr "el argumento de la cadena de formato no es un tipo de cadena"
+ 
+ #: c-family/c-format.c:210
+-#, fuzzy, gcc-internal-format
+-#| msgid "found a %<%s%> reference but the format argument should be a string"
++#, gcc-internal-format
+ msgid "found a %qs reference but the format argument should be a string"
+-msgstr "se encontró una referencia %<%s%> pero el argumento de formato debe ser una cadena"
++msgstr "se encontró una referencia %qs pero el argumento de formato debe ser una cadena"
+ 
+ #: c-family/c-format.c:213
+ #, gcc-internal-format
+@@ -23827,16 +23755,14 @@
+ msgstr "se encontró un %qT pero el argumento de formato debe ser una cadena"
+ 
+ #: c-family/c-format.c:223
+-#, fuzzy, gcc-internal-format
+-#| msgid "format argument should be a %<%s%> reference but a string was found"
++#, gcc-internal-format
+ msgid "format argument should be a %qs reference but a string was found"
+-msgstr "el argumento de formato debe ser una referencia %<%s%> pero se encontró una cadena"
++msgstr "el argumento de formato debe ser una referencia %qs pero se encontró una cadena"
+ 
+ #: c-family/c-format.c:245
+-#, fuzzy, gcc-internal-format
+-#| msgid "format argument should be a %<%s%> reference"
++#, gcc-internal-format
+ msgid "format argument should be a %qs reference"
+-msgstr "el argumento de formato debe ser una referencia %<%s%>"
++msgstr "el argumento de formato debe ser una referencia %qs"
+ 
+ #: c-family/c-format.c:289
+ #, gcc-internal-format
+@@ -24585,20 +24511,19 @@
  msgstr "no se admite la declaración %<#pragma weak%> de %q+D; se ignorará"
  
  #: c-family/c-pragma.c:418
@@ -2051,7 +3665,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-pragma.c:485 c-family/c-pragma.c:487
  #, gcc-internal-format
-@@ -24661,10 +24654,9 @@
+@@ -24661,10 +24586,9 @@
  msgstr "basura al final de %<#pragma GCC visibility%>"
  
  #: c-family/c-pragma.c:750
@@ -2064,7 +3678,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-pragma.c:776
  #, gcc-internal-format
-@@ -24682,16 +24674,14 @@
+@@ -24682,16 +24606,14 @@
  msgstr "opción desconocida después del tipo %<#pragma GCC diagnostic%>"
  
  #: c-family/c-pragma.c:802
@@ -2085,7 +3699,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-pragma.c:842
  #, gcc-internal-format
-@@ -24905,28 +24895,24 @@
+@@ -24905,28 +24827,24 @@
  msgstr "un %<and%> de pruebas equivalentes mutuamente exclusivas siempre es falso"
  
  #: c-family/c-warn.c:248
@@ -2122,7 +3736,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-warn.c:374
  #, gcc-internal-format
-@@ -24962,82 +24948,82 @@
+@@ -24962,82 +24880,82 @@
  #: c-family/c-warn.c:687
  #, gcc-internal-format
  msgid "argument to %<sizeof%> in %qD call is the same expression as the destination; did you mean to remove the addressof?"
@@ -2221,7 +3835,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-warn.c:860 c-family/c-warn.c:867
  #, fuzzy, gcc-internal-format
-@@ -25066,10 +25052,9 @@
+@@ -25066,10 +24984,9 @@
  msgstr "%q+D sólo toma cero o dos argumentos"
  
  #: c-family/c-warn.c:910
@@ -2234,7 +3848,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-warn.c:952
  #, gcc-internal-format
-@@ -25087,10 +25072,9 @@
+@@ -25087,10 +25004,9 @@
  msgstr "la conversión de %qT desde %qT puede alterar su valor"
  
  #: c-family/c-warn.c:989
@@ -2247,7 +3861,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-warn.c:1024
  #, gcc-internal-format
-@@ -25118,10 +25102,9 @@
+@@ -25118,10 +25034,9 @@
  msgstr "falta el case por defecto para un switch"
  
  #: c-family/c-warn.c:1179
@@ -2260,7 +3874,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-warn.c:1252
  #, gcc-internal-format
-@@ -25319,10 +25302,9 @@
+@@ -25319,10 +25234,9 @@
  msgstr "argumento de tipo no válido de %<->%> (se tiene %qT)"
  
  #: c-family/c-warn.c:1414
@@ -2273,7 +3887,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-warn.c:1419
  #, gcc-internal-format
-@@ -25471,10 +25453,9 @@
+@@ -25471,10 +25385,9 @@
  msgstr "comparación de un ~unsigned promovido con unsigned"
  
  #: c-family/c-warn.c:1897
@@ -2286,7 +3900,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-warn.c:1959
  #, gcc-internal-format
-@@ -25482,16 +25463,14 @@
+@@ -25482,16 +25395,14 @@
  msgstr "se define tipo %qD localmente pero no se usa"
  
  #: c-family/c-warn.c:1994
@@ -2307,7 +3921,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-warn.c:2031
  #, gcc-internal-format
-@@ -25505,28 +25484,24 @@
+@@ -25505,28 +25416,24 @@
  
  #: c-family/c-warn.c:2040 c-family/c-warn.c:2045 c-family/c-warn.c:2050
  #: c-family/c-warn.c:2055
@@ -2344,7 +3958,7 @@ Index: gcc/po/es.po
  
  #: c-family/c-warn.c:2210
  #, fuzzy
-@@ -25537,16 +25512,14 @@
+@@ -25537,16 +25444,14 @@
  msgstr[1] "el paso del argumento %d de %qE descarta el calificador %qv del tipo del destino del puntero"
  
  #: c-family/c-warn.c:2275 c/c-typeck.c:5217 cp/call.c:5316
@@ -2365,7 +3979,7 @@ Index: gcc/po/es.po
  
  #: c-family/cilk.c:106
  #, fuzzy, gcc-internal-format
-@@ -25555,10 +25528,9 @@
+@@ -25555,10 +25460,9 @@
  msgstr "su función será mal compilada"
  
  #: c-family/cilk.c:250
@@ -2378,7 +3992,7 @@ Index: gcc/po/es.po
  
  #: c-family/cilk.c:393
  #, fuzzy, gcc-internal-format
-@@ -25572,15 +25544,14 @@
+@@ -25572,15 +25476,14 @@
  msgstr ""
  
  #: c-family/cilk.c:495
@@ -2397,7 +4011,7 @@ Index: gcc/po/es.po
  
  #: c-family/cppspec.c:93
  #, gcc-internal-format
-@@ -25592,11 +25563,10 @@
+@@ -25592,11 +25495,10 @@
  msgid "too many input files"
  msgstr "demasiados ficheros de entrada"
  
@@ -2412,7 +4026,7 @@ Index: gcc/po/es.po
  
  #: common/config/alpha/alpha-common.c:76
  #, gcc-internal-format
-@@ -25604,16 +25574,14 @@
+@@ -25604,16 +25506,14 @@
  msgstr "valor %qs erróneo para el interruptor -mtls-size"
  
  #: common/config/arc/arc-common.c:82
@@ -2433,7 +4047,7 @@ Index: gcc/po/es.po
  
  #: common/config/bfin/bfin-common.c:304 common/config/m68k/m68k-common.c:60
  #, gcc-internal-format, gfc-internal-format
-@@ -25681,35 +25649,34 @@
+@@ -25681,35 +25581,34 @@
  msgstr "valor erróneo %<%s%> para el interruptor -mtls-size="
  
  #: common/config/msp430/msp430-common.c:57
@@ -2476,7 +4090,7 @@ Index: gcc/po/es.po
  
  #: common/config/rs6000/rs6000-common.c:174 config/sparc/sparc.c:1371
  #, gcc-internal-format, gfc-internal-format
-@@ -25732,10 +25699,9 @@
+@@ -25732,10 +25631,9 @@
  msgstr "se descarta la opción -msimple-fpu"
  
  #: common/config/rs6000/rs6000-common.c:314
@@ -2489,7 +4103,7 @@ Index: gcc/po/es.po
  
  #: common/config/rx/rx-common.c:61
  #, gcc-internal-format
-@@ -25743,10 +25709,9 @@
+@@ -25743,10 +25641,9 @@
  msgstr "la cpu RX200 no tiene FPU de hardware"
  
  #: common/config/rx/rx-common.c:63
@@ -2502,7 +4116,7 @@ Index: gcc/po/es.po
  
  #: common/config/s390/s390-common.c:98
  #, gcc-internal-format
-@@ -25836,16 +25801,14 @@
+@@ -25836,16 +25733,14 @@
  
  #. Arbitrary limit, number should be like xx.yy.zz
  #: config/darwin-driver.c:125
@@ -2523,7 +4137,54 @@ Index: gcc/po/es.po
  
  #: config/darwin-driver.c:233
  #, fuzzy, gcc-internal-format
-@@ -26068,203 +26031,203 @@
+@@ -25902,10 +25797,9 @@
+ msgstr "el atributo de compatibilidad vtable 2.95 %qE sólo aplica a clases C++"
+ 
+ #: config/darwin.c:2758
+-#, fuzzy, gcc-internal-format
+-#| msgid "visibility attribute not supported in this configuration; ignored"
++#, gcc-internal-format
+ msgid "protected visibility attribute not supported in this configuration; ignored"
+-msgstr "no se admiten los atributos de visibilidad en esta configuración; descartados"
++msgstr "no se admiten los atributos de visibilidad protected en esta configuración; descartados"
+ 
+ #: config/darwin.c:2947
+ #, gcc-internal-format, gfc-internal-format
+@@ -26039,16 +25933,14 @@
+ msgstr "soporte de análisis de perfil para VxWorks"
+ 
+ #: config/aarch64/aarch64-builtins.c:1089 config/arm/arm-builtins.c:2246
+-#, fuzzy, gcc-internal-format
+-#| msgid "argument must be a constant"
++#, gcc-internal-format
+ msgid "%Kargument %d must be a constant immediate"
+-msgstr "el argumento debe ser una constante"
++msgstr "el %Kargumento %d debe ser un inmediato constante"
+ 
+ #: config/aarch64/aarch64-builtins.c:1160 config/arm/arm-builtins.c:2471
+-#, fuzzy, gcc-internal-format
+-#| msgid "index mask must be an immediate"
++#, gcc-internal-format
+ msgid "%Klane index must be a constant immediate"
+-msgstr "la máscara de índice debe ser un inmediato"
++msgstr "el índice %Klane debe ser un inmediato constante"
+ 
+ #: config/aarch64/aarch64-builtins.c:1163
+ #, fuzzy, gcc-internal-format
+@@ -26057,10 +25949,9 @@
+ msgstr "el segundo argumento debe ser un inmediato de 4-bit"
+ 
+ #: config/aarch64/aarch64.c:927
+-#, fuzzy, gcc-internal-format
+-#| msgid "%qs is incompatible with %qs"
++#, gcc-internal-format
+ msgid "%qs is incompatible with %s %s"
+-msgstr "%qs es incompatible con %qs"
++msgstr "%qs es incompatible con %s %s"
+ 
+ #: config/aarch64/aarch64.c:929
+ #, fuzzy, gcc-internal-format
+@@ -26068,203 +25959,187 @@
  msgid "%qs feature modifier is incompatible with %s %s"
  msgstr "%qs es incompatible con %qs"
  
@@ -2531,13 +4192,15 @@ Index: gcc/po/es.po
 +#: config/aarch64/aarch64.c:8382
  #, gcc-internal-format, gfc-internal-format
  msgid "unknown flag passed in -moverride=%s (%s)"
- msgstr ""
+-msgstr ""
++msgstr "indicador pasado en -moverride=%s (%s) desconocido"
  
 -#: config/aarch64/aarch64.c:8418
 +#: config/aarch64/aarch64.c:8426
  #, gcc-internal-format, gfc-internal-format
  msgid "%s string ill-formed\n"
- msgstr ""
+-msgstr ""
++msgstr "cadena %s mal formada\n"
  
 -#: config/aarch64/aarch64.c:8475
 +#: config/aarch64/aarch64.c:8483
@@ -2554,18 +4217,22 @@ Index: gcc/po/es.po
  msgstr "cadena de elemento %s desconocida\n"
  
 -#: config/aarch64/aarch64.c:8707
+-#, fuzzy, gcc-internal-format
+-#| msgid "valid arguments to %qs are: %s"
 +#: config/aarch64/aarch64.c:8715
- #, fuzzy, gcc-internal-format
- #| msgid "valid arguments to %qs are: %s"
++#, gcc-internal-format
  msgid "valid arguments are: %s; did you mean %qs?"
- msgstr "los argumentos válidos para %qs son: %s"
+-msgstr "los argumentos válidos para %qs son: %s"
++msgstr "los argumentos válidos son: %s; ¿quiso decir %qs?"
  
 -#: config/aarch64/aarch64.c:8748
+-#, fuzzy, gcc-internal-format
+-#| msgid "missing path after %qs"
 +#: config/aarch64/aarch64.c:8756
- #, fuzzy, gcc-internal-format
- #| msgid "missing path after %qs"
++#, gcc-internal-format
  msgid "missing cpu name in %<-mcpu=%s%>"
- msgstr "falta una ruta después de %qs"
+-msgstr "falta una ruta después de %qs"
++msgstr "falta el nombre de la cpu en %<-mcpu=%s%>"
  
 -#: config/aarch64/aarch64.c:8755
 +#: config/aarch64/aarch64.c:8763
@@ -2582,11 +4249,13 @@ Index: gcc/po/es.po
  msgstr "falta una ruta después de %qs"
  
 -#: config/aarch64/aarch64.c:8785
+-#, fuzzy, gcc-internal-format
+-#| msgid "unknown value %s for -mfpu"
 +#: config/aarch64/aarch64.c:8793
- #, fuzzy, gcc-internal-format
- #| msgid "unknown value %s for -mfpu"
++#, gcc-internal-format
  msgid "unknown value %qs for -march"
- msgstr "valor %s desconocido para -mfpu"
+-msgstr "valor %s desconocido para -mfpu"
++msgstr "valor %qs desconocido para -march"
  
 -#: config/aarch64/aarch64.c:8789
 +#: config/aarch64/aarch64.c:8797
@@ -2596,18 +4265,22 @@ Index: gcc/po/es.po
  msgstr "opción de modelo de datos -mdata-model=%s no válida"
  
 -#: config/aarch64/aarch64.c:8815
+-#, fuzzy, gcc-internal-format
+-#| msgid "Unknown cpu used in -mtune=%s."
 +#: config/aarch64/aarch64.c:8823
- #, fuzzy, gcc-internal-format
- #| msgid "Unknown cpu used in -mtune=%s."
++#, gcc-internal-format
  msgid "missing cpu name in %<-mtune=%s%>"
- msgstr "Se utilizó un cpu desconocido en -mtune=%s."
+-msgstr "Se utilizó un cpu desconocido en -mtune=%s."
++msgstr "falta el nombre de la cpu en %<-mtune=%s%>"
  
 -#: config/aarch64/aarch64.c:8818
+-#, fuzzy, gcc-internal-format
+-#| msgid "unknown value %s for -mfpu"
 +#: config/aarch64/aarch64.c:8826
- #, fuzzy, gcc-internal-format
- #| msgid "unknown value %s for -mfpu"
++#, gcc-internal-format
  msgid "unknown value %qs for -mtune"
- msgstr "valor %s desconocido para -mfpu"
+-msgstr "valor %s desconocido para -mfpu"
++msgstr "valor %qs desconocido para -mtune"
  
 -#: config/aarch64/aarch64.c:8921 config/arm/arm.c:3093
 +#: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094
@@ -2616,11 +4289,13 @@ Index: gcc/po/es.po
  msgstr "la opción -mcpu=%s genera un conflicto con la opción -march=%s"
  
 -#: config/aarch64/aarch64.c:8956
+-#, fuzzy, gcc-internal-format
+-#| msgid "The compiler does not support -march=%s."
 +#: config/aarch64/aarch64.c:8964
- #, fuzzy, gcc-internal-format
- #| msgid "The compiler does not support -march=%s."
++#, gcc-internal-format
  msgid "Assembler does not support -mabi=ilp32"
- msgstr "El compilador no tiene soporte para -march=%s."
+-msgstr "El compilador no tiene soporte para -march=%s."
++msgstr "El ensamblador no tiene soporte para -mabi=ilp32"
  
 -#: config/aarch64/aarch64.c:8960
 +#: config/aarch64/aarch64.c:8968
@@ -2638,14 +4313,17 @@ Index: gcc/po/es.po
 +#: config/aarch64/aarch64.c:9195
  #, gcc-internal-format, gfc-internal-format
  msgid "missing architecture name in 'arch' target %s"
- msgstr ""
+-msgstr ""
++msgstr "falta el nombre de la arquitectura en el objetivo 'arch' %s"
  
 -#: config/aarch64/aarch64.c:9190
+-#, fuzzy, gcc-internal-format
+-#| msgid "unknown value %s for -mfpu"
 +#: config/aarch64/aarch64.c:9198
- #, fuzzy, gcc-internal-format
- #| msgid "unknown value %s for -mfpu"
++#, gcc-internal-format
  msgid "unknown value %qs for 'arch' target %s"
- msgstr "valor %s desconocido para -mfpu"
+-msgstr "valor %s desconocido para -mfpu"
++msgstr "valor %qs desconocido para el objetivo 'arch' %s"
  
 -#: config/aarch64/aarch64.c:9194
 +#: config/aarch64/aarch64.c:9202
@@ -2654,18 +4332,22 @@ Index: gcc/po/es.po
  msgstr ""
  
 -#: config/aarch64/aarch64.c:9228
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "missing makefile target after %qs"
 +#: config/aarch64/aarch64.c:9236
- #, fuzzy, gcc-internal-format, gfc-internal-format
- #| msgid "missing makefile target after %qs"
++#, gcc-internal-format, gfc-internal-format
  msgid "missing cpu name in 'cpu' target %s"
- msgstr "falta un fichero make objetivo después de %qs"
+-msgstr "falta un fichero make objetivo después de %qs"
++msgstr "falta el nombre de la cpu en el objetivo 'cpu' %s"
  
 -#: config/aarch64/aarch64.c:9231
+-#, fuzzy, gcc-internal-format
+-#| msgid "unknown value %s for -mfpu"
 +#: config/aarch64/aarch64.c:9239
- #, fuzzy, gcc-internal-format
- #| msgid "unknown value %s for -mfpu"
++#, gcc-internal-format
  msgid "unknown value %qs for 'cpu' target %s"
- msgstr "valor %s desconocido para -mfpu"
+-msgstr "valor %s desconocido para -mfpu"
++msgstr "valor %qs desconocido para el objetivo 'cpu' %s"
  
 -#: config/aarch64/aarch64.c:9235
 +#: config/aarch64/aarch64.c:9243
@@ -2674,11 +4356,13 @@ Index: gcc/po/es.po
  msgstr ""
  
 -#: config/aarch64/aarch64.c:9266
+-#, fuzzy, gcc-internal-format
+-#| msgid "unknown value %s for -mfpu"
 +#: config/aarch64/aarch64.c:9274
- #, fuzzy, gcc-internal-format
- #| msgid "unknown value %s for -mfpu"
++#, gcc-internal-format
  msgid "unknown value %qs for 'tune' target %s"
- msgstr "valor %s desconocido para -mfpu"
+-msgstr "valor %s desconocido para -mfpu"
++msgstr "valor %qs desconocido para el objetivo 'tune' %s"
  
 -#: config/aarch64/aarch64.c:9307
 +#: config/aarch64/aarch64.c:9315
@@ -2695,32 +4379,40 @@ Index: gcc/po/es.po
  msgstr "argumento de modelo de memoria %d no válido de %qE"
  
 -#: config/aarch64/aarch64.c:9364
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "malformed spec function arguments"
 +#: config/aarch64/aarch64.c:9372
- #, fuzzy, gcc-internal-format, gfc-internal-format
- #| msgid "malformed spec function arguments"
++#, gcc-internal-format, gfc-internal-format
  msgid "malformed target %s"
- msgstr "argumentos de la función de especificación malformados"
+-msgstr "argumentos de la función de especificación malformados"
++msgstr "objetivo %s mal formado"
  
 -#: config/aarch64/aarch64.c:9412
+-#, fuzzy, gcc-internal-format
+-#| msgid "%s only accepts 1 argument"
 +#: config/aarch64/aarch64.c:9420
- #, fuzzy, gcc-internal-format
- #| msgid "%s only accepts 1 argument"
++#, gcc-internal-format
  msgid "target %s %qs does not accept an argument"
- msgstr "%s sólo acepta 1 argumento"
+-msgstr "%s sólo acepta 1 argumento"
++msgstr "el objetivo %s %qs no acepta un argumento"
  
 -#: config/aarch64/aarch64.c:9421
+-#, fuzzy, gcc-internal-format
+-#| msgid "matching constraint does not allow a register"
 +#: config/aarch64/aarch64.c:9429
- #, fuzzy, gcc-internal-format
- #| msgid "matching constraint does not allow a register"
++#, gcc-internal-format
  msgid "target %s %qs does not allow a negated form"
- msgstr "la restricción coincidente no permite un registro"
+-msgstr "la restricción coincidente no permite un registro"
++msgstr "el objetivo %s %qs no permite una forma negada"
  
 -#: config/aarch64/aarch64.c:9476
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%s\"%s\"%s is invalid"
 +#: config/aarch64/aarch64.c:9484
- #, fuzzy, gcc-internal-format, gfc-internal-format
- #| msgid "%s\"%s\"%s is invalid"
++#, gcc-internal-format, gfc-internal-format
  msgid "target %s %s=%s is not valid"
- msgstr "%s\"%s\"%s es no válido"
+-msgstr "%s\"%s\"%s es no válido"
++msgstr "el objetivo %s %s=%s no es válido"
  
 -#: config/aarch64/aarch64.c:9536 config/arm/arm.c:30367
 +#: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411
@@ -2733,18 +4425,22 @@ Index: gcc/po/es.po
  msgstr "el argumento del atributo %qE no es una cadena"
  
 -#: config/aarch64/aarch64.c:9546
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "malformed #pragma call"
 +#: config/aarch64/aarch64.c:9554
- #, fuzzy, gcc-internal-format, gfc-internal-format
- #| msgid "malformed #pragma call"
++#, gcc-internal-format, gfc-internal-format
  msgid "malformed target %s value"
- msgstr "#pragma call malformado"
+-msgstr "#pragma call malformado"
++msgstr "valor del objetivo %s mal formado"
  
 -#: config/aarch64/aarch64.c:9563
+-#, fuzzy, gcc-internal-format
+-#| msgid "%s\"%s\"%s is invalid"
 +#: config/aarch64/aarch64.c:9571
- #, fuzzy, gcc-internal-format
- #| msgid "%s\"%s\"%s is invalid"
++#, gcc-internal-format
  msgid "target %s %qs is invalid"
- msgstr "%s\"%s\"%s es no válido"
+-msgstr "%s\"%s\"%s es no válido"
++msgstr "el objetivo %s %qs no es válido"
  
 -#: config/aarch64/aarch64.c:9572
 +#: config/aarch64/aarch64.c:9580
@@ -2756,14 +4452,207 @@ Index: gcc/po/es.po
 +#: config/aarch64/aarch64.c:11428
  #, gcc-internal-format
  msgid "%Klane %wd out of range %wd - %wd"
- msgstr ""
+-msgstr ""
++msgstr "%Klane %wd fuera de rango %wd - %wd"
  
 -#: config/aarch64/aarch64.c:11422
 +#: config/aarch64/aarch64.c:11430
  #, fuzzy, gcc-internal-format
  #| msgid "line number out of range"
  msgid "lane %wd out of range %wd - %wd"
-@@ -26687,63 +26650,63 @@
+@@ -26338,10 +26213,9 @@
+ msgstr ""
+ 
+ #: config/arc/arc.c:720
+-#, fuzzy, gcc-internal-format
+-#| msgid "-fno-fat-lto-objects are supported only with linker plugin."
++#, gcc-internal-format
+ msgid "-mno-dpfp-lrsr supported only with -mdpfp"
+-msgstr "-fno-fat-lto-object sólo se admite con el plugin enlazador."
++msgstr "-mno-dpfp-lrsr sólo se admite con -mdpfp"
+ 
+ #: config/arc/arc.c:725
+ #, fuzzy, gcc-internal-format
+@@ -26352,17 +26226,17 @@
+ #: config/arc/arc.c:729
+ #, gcc-internal-format
+ msgid "-mspfp_fast not available on ARC600 or ARC601"
+-msgstr ""
++msgstr "-mspfp_fast no disponible en ARC600 ni ARC601"
+ 
+ #: config/arc/arc.c:734
+ #, gcc-internal-format
+ msgid "No FPX/FPU mixing allowed"
+-msgstr ""
++msgstr "No está permitido mezclar FPX/FPU"
+ 
+ #: config/arc/arc.c:740
+ #, gcc-internal-format, gfc-internal-format
+ msgid "PIC is not supported for %s. Generating non-PIC code only.."
+-msgstr ""
++msgstr "No se admite PIC para %s. Se generará soloamente código no PIC.."
+ 
+ #. Check options against architecture options.  Throw an error if
+ #. option is not allowed.
+@@ -26370,18 +26244,17 @@
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+ #| msgid "%qD is not a variable in clause %qs"
+ msgid "%s is not available for %s architecture"
+-msgstr "%qD no es una variable en la cláusula %qs"
++msgstr "%s no está disponible para la arquitectura %s"
+ 
+ #: config/arc/arc.c:879
+ #, gcc-internal-format
+ msgid "compact-casesi is not applicable to ARCv2"
+-msgstr ""
++msgstr "compact-casesi no es aplicable a ARCv2"
+ 
+ #: config/arc/arc.c:1378
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "multiple function type attributes specified"
++#, gcc-internal-format, gfc-internal-format
+ msgid "multiply option implies r%d is fixed"
+-msgstr "se especificaron múltiples atributos de tipo de función"
++msgstr "la opción multiply implica r%d fijo"
+ 
+ #: config/arc/arc.c:1601 config/epiphany/epiphany.c:492
+ #: config/epiphany/epiphany.c:532
+@@ -26395,73 +26268,69 @@
+ msgstr "el argumento del atributo %qE no es \"ilink1\" o \"ilink2\""
+ 
+ #: config/arc/arc.c:1618
+-#, fuzzy, gcc-internal-format
+-#| msgid "argument of %qE attribute is not \"ilink1\" or \"ilink2\""
++#, gcc-internal-format
+ msgid "argument of %qE attribute is not \"ilink\""
+-msgstr "el argumento del atributo %qE no es \"ilink1\" o \"ilink2\""
++msgstr "el argumento del atributo %qE no es \"ilink\""
+ 
+ #: config/arc/arc.c:5715
+-#, fuzzy, gcc-internal-format
+-#| msgid "bit array slice with non-constant length"
++#, gcc-internal-format
+ msgid "__builtin_arc_aligned with non-constant alignment"
+-msgstr "rebanada de la matriz de bits con longitud no constante"
++msgstr "__builtin_arc_aligned con alineamiento no constante"
+ 
+ #: config/arc/arc.c:5723
+-#, fuzzy, gcc-internal-format
+-#| msgid "invalid argument to %<__builtin_frame_address%>"
++#, gcc-internal-format
+ msgid "invalid alignment value for __builtin_arc_aligned"
+-msgstr "argumento no válido para %<__builtin_frame_address%>"
++msgstr "valor de argumento no válido para __builtin_arc_aligned"
+ 
+ #: config/arc/arc.c:5850
+ #, gcc-internal-format
+ msgid "builtin operand should be an unsigned 6-bit value"
+-msgstr ""
++msgstr "el operando interno debería ser un valor de 6 bits sin signo"
+ 
+ #: config/arc/arc.c:5891
+-#, fuzzy, gcc-internal-format
+-#| msgid "-mcorea should be used with -mmulticore"
++#, gcc-internal-format
+ msgid "operand 1 should be an unsigned 3-bit immediate"
+-msgstr "-mcorea se debe usar con -mmulticore"
++msgstr "el operando 1 debería ser un inmediato de 3 bits sin signo"
+ 
+ #: config/arc/arc.c:5932 config/arc/arc.c:6029
+ #, gcc-internal-format
+ msgid "operand 2 should be an unsigned 3-bit value (I0-I7)"
+-msgstr ""
++msgstr "el operando 2 debería ser un valor de 3 bits sin signo (10-17)"
+ 
+ #: config/arc/arc.c:5965 config/arc/arc.c:5997
+ #, gcc-internal-format
+ msgid "operand 1 should be an unsigned 3-bit value (I0-I7)"
+-msgstr ""
++msgstr "el operando 1 debería ser un valor de 3 bits sin signo (10-17)"
+ 
+ #: config/arc/arc.c:5969 config/arc/arc.c:6001
+ #, gcc-internal-format
+ msgid "operand 2 should be an unsigned 8-bit value"
+-msgstr ""
++msgstr "el operando 2 debería ser un valor de 8 bits sin signo"
+ 
+ #: config/arc/arc.c:6033
+ #, gcc-internal-format
+ msgid "operand 3 should be an unsigned 8-bit value"
+-msgstr ""
++msgstr "el operando 3 debería ser un valor de 8 bits sin signo"
+ 
+ #: config/arc/arc.c:6066
+ #, gcc-internal-format
+ msgid "operand 4 should be an unsigned 8-bit value (0-255)"
+-msgstr ""
++msgstr "el operando 4 debería ser un valor de 8 bits sin signo (0-255)"
+ 
+ #: config/arc/arc.c:6070
+ #, gcc-internal-format
+ msgid "operand 3 should be an unsigned 3-bit value (I0-I7)"
+-msgstr ""
++msgstr "el operando 3 debería ser un valor de 3 bits sin signo (10-17)"
+ 
+ #: config/arc/arc.c:6077
+ #, gcc-internal-format
+ msgid "operand 2 should be an unsigned 3-bit value (subreg 0-7)"
+-msgstr ""
++msgstr "el operando 2 debería ser un valor de 3 bits sin signo (0-7)"
+ 
+ #: config/arc/arc.c:6080
+ #, gcc-internal-format
+ msgid "operand 2 should be an even 3-bit value (subreg 0,2,4,6)"
+-msgstr ""
++msgstr "el operando 2 debería ser un valor de 3 bits par (subreg 0,2,4,6)"
+ 
+ #: config/arc/arc.c:6127
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+@@ -26470,22 +26339,19 @@
+ msgstr "se usó un símbolo como un operando inmediato"
+ 
+ #: config/arc/arc.c:6132
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "argument 2 must be a 5-bit unsigned literal"
++#, gcc-internal-format, gfc-internal-format
+ msgid "operand %d should be a 6 bit unsigned immediate"
+-msgstr "el argumento 2 debe ser una literal sin signo de 5-bit"
++msgstr "el operando %d debería ser un inmediato sin signo de 6 bits"
+ 
+ #: config/arc/arc.c:6136
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "argument 2 must be a 5-bit unsigned literal"
++#, gcc-internal-format, gfc-internal-format
+ msgid "operand %d should be a 8 bit unsigned immediate"
+-msgstr "el argumento 2 debe ser una literal sin signo de 5-bit"
++msgstr "el operando %d debería ser un inmediato sin signo de 8 bits"
+ 
+ #: config/arc/arc.c:6140
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "argument 2 must be a 5-bit unsigned literal"
++#, gcc-internal-format, gfc-internal-format
+ msgid "operand %d should be a 3 bit unsigned immediate"
+-msgstr "el argumento 2 debe ser una literal sin signo de 5-bit"
++msgstr "el operando %d debería ser un inmediato sin signo de 3 bits"
+ 
+ #: config/arc/arc.c:6143
+ #, gcc-internal-format, gfc-internal-format
+@@ -26495,12 +26361,12 @@
+ #: config/arc/arc.c:6194
+ #, gcc-internal-format
+ msgid "register number must be a compile-time constant. Try giving higher optimization levels"
+-msgstr ""
++msgstr "el número de registro debe ser una constante en tiempo de compilación. Pruebe a poner niveles de optimización más altos"
+ 
+ #: config/arc/arc.c:6215
+ #, gcc-internal-format
+ msgid "operand for sleep instruction must be an unsigned 6 bit compile-time constant"
+-msgstr ""
++msgstr "el operando para la instrucción sleep debe ser una constante en tiempo de compilación sin signo de 6 bits"
+ 
+ #: config/arc/arc.c:6804
+ #, gcc-internal-format
+@@ -26687,63 +26553,63 @@
  msgid "the count should be no less than 0.  please check the intrinsic _mm_sra_si64 in code."
  msgstr ""
  
@@ -2839,7 +4728,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format
  msgid "target CPU does not support unaligned accesses"
  msgstr "el CPU objetivo no admite accesos sin alinear"
-@@ -26750,131 +26713,137 @@
+@@ -26750,131 +26616,137 @@
  
  #. To support this we need to be able to parse FPU feature options
  #. from the architecture string.
@@ -3002,7 +4891,7 @@ Index: gcc/po/es.po
  #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673
  #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763
  #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456
-@@ -26890,81 +26859,81 @@
+@@ -26890,81 +26762,81 @@
  msgid "%qE attribute only applies to functions"
  msgstr "el atributo %qE se aplica solamente a funciones"
  
@@ -3098,7 +4987,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "invalid vector type for attribute %qs"
  msgid "invalid fpu for attribute(target(\"%s\"))"
-@@ -26973,13 +26942,13 @@
+@@ -26973,13 +26845,13 @@
  #. This doesn't really make sense until we support
  #. general dynamic selection of the architecture and all
  #. sub-features.
@@ -3115,7 +5004,7 @@ Index: gcc/po/es.po
  #, gcc-internal-format, gfc-internal-format
  msgid "attribute(target(\"%s\")) is unknown"
  msgstr "se desconoce attribute(target(\"%s\"))"
-@@ -29775,7 +29744,7 @@
+@@ -29775,7 +29647,7 @@
  msgid "vec_cmpne only accepts 2 arguments"
  msgstr "vec_insert sólo acepta 3 argumentos"
  
@@ -3124,7 +5013,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format
  #| msgid "vec_insert only accepts 3 arguments"
  msgid "vec_adde only accepts 3 arguments"
-@@ -29787,44 +29756,44 @@
+@@ -29787,44 +29659,44 @@
  msgid "vec_addec only accepts 3 arguments"
  msgstr "vec_insert sólo acepta 3 argumentos"
  
@@ -3177,7 +5066,7 @@ Index: gcc/po/es.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  #| msgid "invalid parameter combination for AltiVec intrinsic"
  msgid "invalid parameter combination for AltiVec intrinsic %s"
-@@ -30935,112 +30904,112 @@
+@@ -30935,112 +30807,112 @@
  msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)"
  msgstr ""
  
@@ -3311,7 +5200,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)"
-@@ -31047,7 +31016,7 @@
+@@ -31047,7 +30919,7 @@
  msgstr "el argumento para el atributo %qE es más grande que %d"
  
  #. Value is not allowed for the target attribute.
@@ -9759,7 +11648,15 @@ Index: gcc/po/ChangeLog
 ===================================================================
 --- a/src/gcc/po/ChangeLog	(.../tags/gcc_7_1_0_release)
 +++ b/src/gcc/po/ChangeLog	(.../branches/gcc-7-branch)
-@@ -1,3 +1,20 @@
+@@ -1,3 +1,28 @@
++2017-05-12  Joseph Myers  <joseph at codesourcery.com>
++
++	* sv.po: Update.
++
++2017-05-08  Joseph Myers  <joseph at codesourcery.com>
++
++	* es.po, sv.po: Update.
++
 +2017-05-04  Joseph Myers  <joseph at codesourcery.com>
 +
 +	* be.po, da.po, el.po, fi.po, hr.po, id.po, ja.po, nl.po, ru.po,
@@ -25166,16 +27063,98 @@ Index: gcc/po/sv.po
 ===================================================================
 --- a/src/gcc/po/sv.po	(.../tags/gcc_7_1_0_release)
 +++ b/src/gcc/po/sv.po	(.../branches/gcc-7-branch)
-@@ -22,7 +22,7 @@
+@@ -17,13 +17,14 @@
+ # rank			ordning
+ # scope			räckvidd
+ # store			lagra
++# tile			bricka
+ # thunk			snutt
+ msgid ""
  msgstr ""
- "Project-Id-Version: gcc 7.1-b20170226\n"
+-"Project-Id-Version: gcc 7.1-b20170226\n"
++"Project-Id-Version: gcc 7.1.0\n"
  "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
 -"POT-Creation-Date: 2017-04-24 20:38+0000\n"
+-"PO-Revision-Date: 2017-03-09 22:05+0100\n"
 +"POT-Creation-Date: 2017-05-01 22:24+0000\n"
- "PO-Revision-Date: 2017-03-09 22:05+0100\n"
++"PO-Revision-Date: 2017-05-12 21:49+0200\n"
  "Last-Translator: Göran Uddeborg <goeran at uddeborg.se>\n"
  "Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
-@@ -2817,42 +2817,42 @@
+ "Language: sv\n"
+@@ -691,7 +692,7 @@
+ #: gcov-tool.c:419
+ #, c-format
+ msgid "  overlap [options] <dir1> <dir2>       Compute the overlap of two profiles\n"
+-msgstr "  overlap [flaggor] <kat1> <kag2>       Beräkna överlappningen mellan två profiler\n"
++msgstr "  overlap [flaggor] <kat1> <kat2>       Beräkna överlappningen mellan två profiler\n"
+ 
+ #: gcov-tool.c:421
+ #, c-format
+@@ -780,15 +781,12 @@
+ "\n"
+ 
+ #: gcov.c:656
+-#, fuzzy, c-format
+-#| msgid ""
+-#| "Usage: gcov [OPTION]... SOURCE|OBJ...\n"
+-#| "\n"
++#, c-format
+ msgid ""
+ "Usage: gcov [OPTION...] SOURCE|OBJ...\n"
+ "\n"
+ msgstr ""
+-"Användning: gcov [FLAGGA]... KÄLLA|OBJ...\n"
++"Användning: gcov [FLAGGA…] KÄLLA|OBJ…\n"
+ "\n"
+ 
+ #: gcov.c:657
+@@ -1969,7 +1967,7 @@
+ #: params.def:552
+ #, no-c-format
+ msgid "Maximum number of arguments in a PHI supported by TREE if-conversion unless the loop is marked with simd pragma."
+-msgstr "Maximalt antal argument i en PHI som stödjs av TREE if-konvertering om inte slingan är märked med simd-pragma."
++msgstr "Maximalt antal argument i en PHI som stödjs av TREE if-konvertering om inte slingan är märkt med simd-pragma."
+ 
+ #: params.def:558
+ #, no-c-format
+@@ -1982,8 +1980,7 @@
+ msgstr "Gräns för antalet körtidskontroller som läggs in av vektoriserarens slingversionering för aliaskontroller."
+ 
+ #: params.def:568
+-#, fuzzy, no-c-format
+-#| msgid "Max number of loop peels to enhancement alignment of data references in a loop."
++#, no-c-format
+ msgid "Maximum number of loop peels to enhance alignment of data references in a loop."
+ msgstr "Maximala antalet slingavskalningar för att förbättra justering av datareferenser i en slinga."
+ 
+@@ -2195,7 +2192,7 @@
+ #: params.def:858
+ #, no-c-format
+ msgid "size of tiles for loop blocking."
+-msgstr "storlek på bitar för slingblockning."
++msgstr "storlek på brickor för slingblockning."
+ 
+ #: params.def:865
+ #, no-c-format
+@@ -2383,14 +2380,12 @@
+ msgstr "Maximalt antal liknande gb att jämföra ett gb med."
+ 
+ #: params.def:1104
+-#, fuzzy, no-c-format
+-#| msgid "Allow the store merging pass to introduce unaligned stores if it is legal to do so"
++#, no-c-format
+ msgid "Allow the store merging pass to introduce unaligned stores if it is legal to do so."
+-msgstr "Tillåt passet för lagringssammanslagning att introducera ojusterade lagringar om det är tillåtet att göra det"
++msgstr "Tillåt passet för lagringssammanslagning att introducera ojusterade lagringar om det är tillåtet att göra det."
+ 
+ #: params.def:1110
+-#, fuzzy, no-c-format
+-#| msgid "Maximum number of constant stores to merge in the store merging pass"
++#, no-c-format
+ msgid "Maximum number of constant stores to merge in the store merging pass."
+ msgstr "Maximalt antal konstantlagringar att slå samman i passet för sammanslagning av lagring."
+ 
+@@ -2817,42 +2812,42 @@
  msgid "<command-line>"
  msgstr "<kommandorad>"
  
@@ -25230,7 +27209,7 @@ Index: gcc/po/sv.po
  #, c-format
  msgid "invalid operand prefix '%%%c'"
  msgstr "ogiltig operandprefix ”%%%c”"
-@@ -3010,29 +3010,29 @@
+@@ -3010,29 +3005,29 @@
  msgid "invalid UNSPEC as operand: %d"
  msgstr "ogiltig UNSPEC som operand: %d"
  
@@ -25271,7 +27250,7 @@ Index: gcc/po/sv.po
  #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458
  #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481
  #: config/bfin/bfin.c:1488
-@@ -3040,13 +3040,13 @@
+@@ -3040,13 +3035,13 @@
  msgid "invalid operand for code '%c'"
  msgstr "ogiltig operand för kod ”%c”"
  
@@ -25287,7 +27266,60 @@ Index: gcc/po/sv.po
  #, c-format
  msgid "obsolete Maverick format code '%c'"
  msgstr "föråldrad Maverick-formatkod ”%c”"
-@@ -3865,98 +3865,98 @@
+@@ -3119,34 +3114,24 @@
+ msgstr "ej stödd fixdecimalskonvertering"
+ 
+ #: config/avr/avr.c:9803
+-#, fuzzy
+-#| msgid "Loop variable"
+ msgid "variable"
+-msgstr "Slingvariabel"
++msgstr "variabel"
+ 
+ #: config/avr/avr.c:9808
+-#, fuzzy
+-#| msgid "redefinition of parameter %q+D"
+ msgid "function parameter"
+-msgstr "omdefinition av parametern %q+D"
++msgstr "funktionsparameter"
+ 
+ #: config/avr/avr.c:9813
+-#, fuzzy
+-#| msgid "struct defined here"
+ msgid "structure field"
+-msgstr "post definierad här"
++msgstr "postfält"
+ 
+ #: config/avr/avr.c:9819
+-#, fuzzy
+-#| msgid "creating array of functions"
+ msgid "return type of function"
+-msgstr "skapar vektor av funktioner"
++msgstr "returtyp för en funktion"
+ 
+ #: config/avr/avr.c:9824
+-#, fuzzy
+-#| msgid "null pointer"
+ msgid "pointer"
+-msgstr "nollpekare"
++msgstr "pekare"
+ 
+ #: config/avr/driver-avr.c:48
+ #, c-format
+@@ -3456,10 +3441,9 @@
+ msgstr "operanden är inte ett heltal, ogiltig operandkod ”R”"
+ 
+ #: config/i386/i386.c:18261
+-#, fuzzy, c-format
+-#| msgid "operand is not a specific integer, invalid operand code 'r'"
++#, c-format
+ msgid "operand is not a specific integer, invalid operand code 'R'"
+-msgstr "operanden är inte ett specifikt heltal, ogiltig operandkod ”r”"
++msgstr "operanden är inte ett specifikt heltal, ogiltig operandkod ”R”"
+ 
+ #: config/i386/i386.c:18357
+ #, c-format
+@@ -3865,98 +3849,98 @@
  msgid "emit_fusion_p9_store not MEM"
  msgstr "emit_fusion_p9_store inte MEM"
  
@@ -25406,7 +27438,548 @@ Index: gcc/po/sv.po
  msgid "binary operator does not support mixing vector bool with floating point vector operands"
  msgstr "binär operator stödjer inte blandning av operanderna vektorboolean och flyttalsvektor"
  
-@@ -17351,7 +17351,7 @@
+@@ -5653,7 +5637,7 @@
+ 
+ #: fortran/lang.opt:266
+ msgid "Warn on intrinsics not part of the selected standard."
+-msgstr "Inbyggd för inbyggda som inte är med i den valda standarden."
++msgstr "Varna för inbyggda som inte är med i den valda standarden."
+ 
+ #: fortran/lang.opt:278
+ msgid "Warn about USE statements that have no ONLY qualifier."
+@@ -6186,10 +6170,8 @@
+ msgstr "Varna för ”new” av en typ med utökad justering utan -faligned-new."
+ 
+ #: c-family/c.opt:296
+-#, fuzzy
+-#| msgid "-Waligned-new=all Warn even if 'new' uses a class member allocation function."
+ msgid "-Waligned-new=[none|global|all]\tWarn even if 'new' uses a class member allocation function."
+-msgstr "-Waligned-new=all Varna även om ”new” använder en allokeringsfunktion som är klassmedlem."
++msgstr "-Waligned-new=[none|global|all]\tVarna även om ”new” använder en allokeringsfunktion som är klassmedlem."
+ 
+ #: c-family/c.opt:300 ada/gcc-interface/lang.opt:57
+ msgid "Enable most warning messages."
+@@ -6208,10 +6190,8 @@
+ msgstr "-Walloc-zero Varna för anrop till allokeringsfunktioner som anger noll byte."
+ 
+ #: c-family/c.opt:317
+-#, fuzzy
+-#| msgid "-Walloca-larger-than=<number> Warn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than <number> bytes."
+ msgid "-Walloca-larger-than=<number>\tWarn on unbounded uses of alloca, and on bounded uses of alloca whose bound can be larger than <number> bytes."
+-msgstr "-Walloca-larger-than=<antal> Varna vid obegränsade användningar av alloca, och vid begränsade användningar av alloca vars gränser kan bara större än <antal> byte."
++msgstr "-Walloca-larger-than=<antal>\tVarna vid obegränsade användningar av alloca, och vid begränsade användningar av alloca vars gränser kan bara större än <antal> byte."
+ 
+ #: c-family/c.opt:331
+ msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector."
+@@ -6362,10 +6342,8 @@
+ msgstr "Varna för en tom kropp i en if- eller else-sats."
+ 
+ #: c-family/c.opt:489
+-#, fuzzy
+-#| msgid "Warn about stray tokens after #elif and #endif."
+ msgid "Warn about stray tokens after #else and #endif."
+-msgstr "Varna för vilsekomna symboler efter #elif och #endif."
++msgstr "Varna för vilsekomna symboler efter #else och #endif."
+ 
+ #: c-family/c.opt:493
+ msgid "Warn about comparison of different enum types."
+@@ -6393,7 +6371,7 @@
+ 
+ #: c-family/c.opt:525
+ msgid "Warn if passing too many arguments to a function for its format string."
+-msgstr "Varna för för många argument argument till en funktion för dess formatsträng."
++msgstr "Varna för för många argument till en funktion för dess formatsträng."
+ 
+ #: c-family/c.opt:529
+ msgid "Warn about format strings that are not literals."
+@@ -6457,7 +6435,7 @@
+ 
+ #: c-family/c.opt:600
+ msgid "Warn if \"defined\" is used outside #if."
+-msgstr "Varna om ”definied” är utanför #if."
++msgstr "Varna om ”defined” är utanför #if."
+ 
+ #: c-family/c.opt:604
+ msgid "Warn about implicit function declarations."
+@@ -6477,7 +6455,7 @@
+ 
+ #: c-family/c.opt:623
+ msgid "Warn for suspicious integer expressions in boolean context."
+-msgstr "Varna för misstänkta heltalsutttryck i booleska sammanhang."
++msgstr "Varna för misstänkta heltalsuttryck i booleska sammanhang."
+ 
+ #: c-family/c.opt:627
+ msgid "Warn when there is a cast to a pointer from an integer of a different size."
+@@ -6637,11 +6615,11 @@
+ 
+ #: c-family/c.opt:785
+ msgid "Warn if C++1z noexcept function type will change the mangled name of a symbol."
+-msgstr ""
++msgstr "Varna om funktionstypen noexcept i C++1z kommer ändra det manglade namnet på en symbol."
+ 
+ #: c-family/c.opt:789
+ msgid "Warn when non-templatized friend functions are declared within a template."
+-msgstr "Varna när en vänfuktion som inte är en mall deklareras inuti en mall."
++msgstr "Varna när en vänfunktion som inte är en mall deklareras inuti en mall."
+ 
+ #: c-family/c.opt:793
+ msgid "Warn about non-virtual destructors."
+@@ -6741,7 +6719,7 @@
+ 
+ #: c-family/c.opt:924
+ msgid "Warn about uses of register storage specifier."
+-msgstr "Varna för användning av lagringsspecificeraren register."
++msgstr "Varna för användning av lagringsspecificeraren ”register”."
+ 
+ #: c-family/c.opt:928
+ msgid "Warn when the compiler reorders code."
+@@ -6880,10 +6858,8 @@
+ msgstr "Varna om en vektor med variabel längd används."
+ 
+ #: c-family/c.opt:1104
+-#, fuzzy
+-#| msgid "-Wvla-larger-than=<number> Warn on unbounded uses of variable-length arrays, and on bounded uses of variable-length arrays whose bound can be larger than <number> bytes."
+ msgid "-Wvla-larger-than=<number>\tWarn on unbounded uses of variable-length arrays, and on bounded uses of variable-length arrays whose bound can be larger than <number> bytes."
+-msgstr "-Wvla-larger-than=<antal> Varna för obegränsade användningar av vektorer med variabel längd, och för begräsade användningar av vektorer med variabel längd var gräns kan vara större än <antal> byte."
++msgstr "-Wvla-larger-than=<antal>\tVarna för obegränsade användningar av vektorer med variabel längd, och för begränsade användningar av vektorer med variabel längd vars gräns kan vara större än <antal> byte."
+ 
+ #: c-family/c.opt:1110
+ msgid "Warn when a register variable is declared volatile."
+@@ -6992,7 +6968,7 @@
+ 
+ #: c-family/c.opt:1235
+ msgid "Forces Pointer Bounds Checker to treat all trailing arrays in structures as possibly flexible.  By default only arrays fields with zero length or that are marked with attribute bnd_variable_size are treated as flexible."
+-msgstr "Tvingar pekargränskontrollen att behandla alla avslutande vektorer i poster som eventuellt flexibla.  Som standard hanteras endast vektorfält med nolllängd eller som är märkta med attributet bnd_variable_size som flexibla."
++msgstr "Tvingar pekargränskontrollen att behandla alla avslutande vektorer i poster som eventuellt flexibla.  Som standard hanteras endast vektorfält med nollängd eller som är märkta med attributet bnd_variable_size som flexibla."
+ 
+ #: c-family/c.opt:1241
+ msgid "Allow Pointer Bounds Checker optimizations.  By default allowed on optimization levels >0."
+@@ -7008,7 +6984,7 @@
+ 
+ #: c-family/c.opt:1254
+ msgid "Use statically initialized variable for vars bounds instead of generating them each time it is required."
+-msgstr "Använd en statiskt initierad för variabelgränser istället för att generera dem varje gång det behövs."
++msgstr "Använd en statiskt initierad variabel för variabelgränser istället för att generera dem varje gång det behövs."
+ 
+ #: c-family/c.opt:1259
+ msgid "Use statically initialized variable for constant bounds instead of generating them each time it is required."
+@@ -7282,7 +7258,7 @@
+ 
+ #: c-family/c.opt:1608
+ msgid "-fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments."
+-msgstr "-fno-pretty-templates Finskriv inte mallspecialiceringar som mallsignaturer följda av argumenten."
++msgstr "-fno-pretty-templates Finskriv inte mallspecialiseringar som mallsignaturer följda av argumenten."
+ 
+ #: c-family/c.opt:1612
+ msgid "Treat known sprintf return values as constants."
+@@ -7415,7 +7391,7 @@
+ 
+ #: c-family/c.opt:1790
+ msgid "Interpret imaginary, fixed-point, or other gnu number suffix as the corresponding number literal rather than a user-defined number literal."
+-msgstr "Tolka imaginära, flyttals-, eller andra gnu-suffix på tal som motsvarande talkonstant snarare än en användardefinierad talkonstant"
++msgstr "Tolka imaginära, flyttals-, eller andra gnu-suffix på tal som motsvarande talkonstant snarare än en användardefinierad talkonstant."
+ 
+ #: c-family/c.opt:1795
+ msgid "-idirafter <dir>\tAdd <dir> to the end of the system include path."
+@@ -7535,7 +7511,7 @@
+ 
+ #: c-family/c.opt:1942
+ msgid "Conform to the ISO 2014 C++ standard with GNU extensions."
+-msgstr "Följ standarden ISO 2014 C++ med GNU-utökningar"
++msgstr "Följ standarden ISO 2014 C++ med GNU-utökningar."
+ 
+ #: c-family/c.opt:1946
+ msgid "Conform to the ISO 201z(7?) C++ draft standard with GNU extensions (experimental and incomplete support)."
+@@ -7543,7 +7519,7 @@
+ 
+ #: c-family/c.opt:1953
+ msgid "Conform to the ISO 2011 C standard with GNU extensions."
+-msgstr "Följ standarden ISO 2011 C med GNU-utökningar"
++msgstr "Följ standarden ISO 2011 C med GNU-utökningar."
+ 
+ #: c-family/c.opt:1957
+ msgid "Deprecated in favor of -std=gnu11."
+@@ -7611,7 +7587,7 @@
+ 
+ #: go/lang.opt:42
+ msgid "-fgo-c-header=<file>\tWrite Go struct definitions to file as C code."
+-msgstr "-fdump-c-header=filnamn\tSkriv Go-postdefinitioner till en fil som C-kod."
++msgstr "-fgo-c-header=filnamn\tSkriv Go-postdefinitioner till en fil som C-kod."
+ 
+ #: go/lang.opt:46
+ msgid "Add explicit checks for division by zero."
+@@ -7872,7 +7848,7 @@
+ 
+ #: config/bfin/bfin.opt:69
+ msgid "Generate code that won't be linked against any other ID shared libraries, but may be used as a shared library."
+-msgstr "Generera kod som inte kommer länkas mot några andra delade ID-bibliotek men kan användas av ett delat bibliotek."
++msgstr "Generera kod som inte kommer länkas mot några andra delade ID-bibliotek men kan användas som ett delat bibliotek."
+ 
+ #: config/bfin/bfin.opt:74 config/m68k/m68k.opt:175
+ msgid "ID of shared library to build."
+@@ -8320,8 +8296,6 @@
+ msgstr "Aktivera approximationen av division.  Att aktivera detta reducerar precisionen på resultatet av division till ungefär 16 bitar för enkel precision och till 32 bitar för dubbel precision."
+ 
+ #: config/aarch64/aarch64.opt:190
+-#, fuzzy
+-#| msgid "Enables verbose cost model dummping in the debug dump files."
+ msgid "Enables verbose cost model dumping in the debug dump files."
+ msgstr "Aktiverar utförlig dump av kostnadsmodellen i dumpfilerna för felsökning."
+ 
+@@ -8587,7 +8561,7 @@
+ 
+ #: config/epiphany/epiphany.opt:28
+ msgid "preferentially allocate registers that allow short instruction generation."
+-msgstr "allokera företrädesvis register som tillåter generering av korta instruktioner"
++msgstr "allokera företrädesvis register som tillåter generering av korta instruktioner."
+ 
+ #: config/epiphany/epiphany.opt:32
+ msgid "Set branch cost."
+@@ -8934,10 +8908,8 @@
+ msgstr "Hopp är så här dyra (1-5, godtyckliga enheter)."
+ 
+ #: config/i386/i386.opt:275
+-#, fuzzy
+-#| msgid "Data greater than given threshold will go into .ldata section in x86-64 medium model."
+ msgid "-mlarge-data-threshold=<number>\tData greater than given threshold will go into .ldata section in x86-64 medium model."
+-msgstr "Data större än den angivna gränsen kommer hamna i .ldata-sektionen i x86-64 medelmodell."
++msgstr "-mlarge-data-threshold=<antal>\tData större än den angivna gränsen kommer hamna i .ldata-sektionen i x86-64 medelmodell."
+ 
+ #: config/i386/i386.opt:279
+ msgid "Use given x86-64 code model."
+@@ -9114,7 +9086,7 @@
+ 
+ #: config/i386/i386.opt:569
+ msgid "Generate cld instruction in the function prologue."
+-msgstr "Generera cld-instruktioner i funktionsprologen"
++msgstr "Generera cld-instruktioner i funktionsprologen."
+ 
+ # Det avbrutna meddelandet är felrapporterat:
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47103
+@@ -9124,7 +9096,7 @@
+ 
+ #: config/i386/i386.opt:578
+ msgid "Disable Scalar to Vector optimization pass transforming 64-bit integer computations into a vector ones."
+-msgstr "Avaktivera optimeringspasset skalär till vektor som transformera 64-bitars heltalsberäkningar till vektorberäkningar."
++msgstr "Avaktivera optimeringspasset skalär till vektor som transformerar 64-bitars heltalsberäkningar till vektorberäkningar."
+ 
+ #: config/i386/i386.opt:583
+ msgid "Do dispatch scheduling if processor is bdver1, bdver2, bdver3, bdver4 or znver1 and Haifa scheduling is selected."
+@@ -9240,15 +9212,15 @@
+ 
+ #: config/i386/i386.opt:702
+ msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124FMAPS built-in functions and code generation."
+-msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX512F- och AVX512IFMAPS-funktioner och -kodgenerering."
++msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX512F- och AVX5124FMAPS-funktioner och -kodgenerering."
+ 
+ #: config/i386/i386.opt:706
+ msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX5124VNNIW built-in functions and code generation."
+-msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX512F- och AVX512VNNIW-funktioner och -kodgenerering."
++msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX512F- och AVX5124VNNIW-funktioner och -kodgenerering."
+ 
+ #: config/i386/i386.opt:710
+ msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512F and AVX512VPOPCNTDQ built-in functions and code generation."
+-msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX512F- och AVX5124VNNIW-funktioner och -kodgenerering."
++msgstr "Stöd inbyggda MMX-, SSE-, SSE2-, SSE3-, SSSE3-, SSE4.1-, SSE4.2-, AVX-, AVX2-, AVX512F- och AVX512VPOPCNTDQ-funktioner och -kodgenerering."
+ 
+ #: config/i386/i386.opt:714
+ msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation."
+@@ -9400,11 +9372,11 @@
+ 
+ #: config/i386/i386.opt:862
+ msgid "Emit profiling counter call at function entry before prologue."
+-msgstr "Generera profileringsräknaranrop vid funktionsstart före prologen"
++msgstr "Generera profileringsräknaranrop vid funktionsstart före prologen."
+ 
+ #: config/i386/i386.opt:866
+ msgid "Generate __mcount_loc section with all mcount or __fentry__ calls."
+-msgstr "Generera en __mcount_loc-sektion med alla mcount- eller __fentry__-anrop"
++msgstr "Generera en __mcount_loc-sektion med alla mcount- eller __fentry__-anrop."
+ 
+ #: config/i386/i386.opt:870
+ msgid "Generate mcount/__fentry__ calls as nops. To activate they need to be patched in."
+@@ -9697,7 +9669,7 @@
+ 
+ #: config/nvptx/nvptx.opt:42
+ msgid "Specify size of .local memory used for stack when the exact amount is not known."
+-msgstr ""
++msgstr "Ange storlekn på .local-minne använt till stack när den exakta mängden inte är känd."
+ 
+ #: config/nvptx/nvptx.opt:46
+ msgid "Generate code that can keep local state uniform across all lanes."
+@@ -11599,7 +11571,7 @@
+ 
+ #: config/rx/rx.opt:50
+ msgid "Specify the target RX cpu type."
+-msgstr "Ange mål-RX-cpu-typen"
++msgstr "Ange mål-RX-cpu-typen."
+ 
+ #: config/rx/rx.opt:71
+ msgid "Data is stored in big-endian format."
+@@ -12745,13 +12717,11 @@
+ 
+ #: config/mips/mips.opt:397
+ msgid "Use 4-operand madd.s/madd.d and related instructions where applicable."
+-msgstr "Anv-nd 4-operanders madd.s/madd.d och relaterade instruktioner där det går."
++msgstr "Använd 4-operanders madd.s/madd.d och relaterade instruktioner där det går."
+ 
+ #: config/mips/mips.opt:409
+-#, fuzzy
+-#| msgid "Use Virtualization Application Specific instructions."
+ msgid "Use Virtualization (VZ) instructions."
+-msgstr "Använd instruktioner specifika för virtualiseringstillämpningar."
++msgstr "Använd virtualiseringsinstruktioner (VZ)."
+ 
+ #: config/mips/mips.opt:413
+ msgid "Use eXtended Physical Address (XPA) instructions."
+@@ -13330,10 +13300,8 @@
+ msgstr "Varna när stacköverskrivningsskydd inte läggs ut av någon anledning."
+ 
+ #: common.opt:693
+-#, fuzzy
+-#| msgid "Warn if stack usage might be larger than specified amount."
+ msgid "-Wstack-usage=<number>\tWarn if stack usage might be larger than specified amount."
+-msgstr "Varna om stackanvändningen kan vara större än den angivna mängden."
++msgstr "-Wstack-usage=<antal>\tVarna om stackanvändningen kan vara större än den angivna mängden."
+ 
+ #: common.opt:697 common.opt:701
+ msgid "Warn about code which might break strict aliasing rules."
+@@ -13766,7 +13734,7 @@
+ 
+ #: common.opt:1339
+ msgid "-fpermitted-flt-eval-methods=[c11|ts-18661]\tSpecify which values of FLT_EVAL_METHOD are permitted."
+-msgstr "-fpermitted-flt-eval-methods=[c11|ts-18661]\tAngi vilka värden på FLT_EVAL_METHOD som är tillåtna."
++msgstr "-fpermitted-flt-eval-methods=[c11|ts-18661]\tAnge vilka värden på FLT_EVAL_METHOD som är tillåtna."
+ 
+ #: common.opt:1342
+ #, c-format
+@@ -13794,10 +13762,8 @@
+ msgstr "Utför ett framåtpropageringspass på RTL."
+ 
+ #: common.opt:1379
+-#, fuzzy
+-#| msgid "-ffp-contract=[off|on|fast] Perform floating-point expression contraction."
+ msgid "-ffp-contract=[off|on|fast]\tPerform floating-point expression contraction."
+-msgstr "-ffp-contract=[off|on|fast] Utför kontraktion av flyttalsuttryck."
++msgstr "-ffp-contract=[off|on|fast]\tUtför kontraktion av flyttalsuttryck."
+ 
+ #: common.opt:1382
+ #, c-format
+@@ -13898,10 +13864,8 @@
+ msgstr "Utför konvertering av villkorliga hopp till villkorlig exekvering."
+ 
+ #: common.opt:1531
+-#, fuzzy
+-#| msgid "-fstack-reuse=[all|named_vars|none] Set stack reuse level for local variables."
+ msgid "-fstack-reuse=[all|named_vars|none]\tSet stack reuse level for local variables."
+-msgstr "-fstack-reuse=[all|named_vars|none] Ställ in stackåteranvändningsnivån för lokala variabler."
++msgstr "-fstack-reuse=[all|named_vars|none]\tStäll in stackåteranvändningsnivån för lokala variabler."
+ 
+ #: common.opt:1534
+ #, c-format
+@@ -14001,10 +13965,8 @@
+ msgstr "Utför IPA-propagering av värdeintervall."
+ 
+ #: common.opt:1664
+-#, fuzzy
+-#| msgid "-fira-algorithm=[CB|priority] Set the used IRA algorithm."
+ msgid "-fira-algorithm=[CB|priority]\tSet the used IRA algorithm."
+-msgstr "-fira-algorithm=[CB|priority] Bestäm den använda IRA-algoritmen."
++msgstr "-fira-algorithm=[CB|priority]\tBestäm den använda IRA-algoritmen."
+ 
+ #: common.opt:1667
+ #, c-format
+@@ -14012,10 +13974,8 @@
+ msgstr "okänd IRA-algoritm %qs"
+ 
+ #: common.opt:1677
+-#, fuzzy
+-#| msgid "-fira-region=[one|all|mixed] Set regions for IRA."
+ msgid "-fira-region=[one|all|mixed]\tSet regions for IRA."
+-msgstr "-fira-region=[one|all|mixed] Sätt regioner för IRA."
++msgstr "-fira-region=[one|all|mixed]\tSätt regioner för IRA."
+ 
+ #: common.opt:1680
+ #, c-format
+@@ -14251,7 +14211,7 @@
+ 
+ #: common.opt:1950
+ msgid "Specify a plugin to load."
+-msgstr "Ange en instickmodul att läsa in."
++msgstr "Ange en insticksmodul att läsa in."
+ 
+ #: common.opt:1954
+ msgid "-fplugin-arg-<name>-<key>[=<value>]\tSpecify argument <key>=<value> for plugin <name>."
+@@ -14288,7 +14248,7 @@
+ #: common.opt:1986
+ #, c-format
+ msgid "unknown profile update method %qs"
+-msgstr "okänd prfiluppdateringsmetod %qs"
++msgstr "okänd profiluppdateringsmetod %qs"
+ 
+ #: common.opt:1999
+ msgid "Enable common options for generating profile info for profile feedback directed optimizations."
+@@ -14351,10 +14311,8 @@
+ msgstr "Flytta om grundblock för att förbättra kodplacering."
+ 
+ #: common.opt:2076
+-#, fuzzy
+-#| msgid "-freorder-blocks-algorithm=[simple|stc] Set the used basic block reordering algorithm."
+ msgid "-freorder-blocks-algorithm=[simple|stc]\tSet the used basic block reordering algorithm."
+-msgstr "-freorder-blocks-algorithm=[simple|stc] Sätt algoritmen att användas för ordningsändring av grundblock."
++msgstr "-freorder-blocks-algorithm=[simple|stc]\tSätt algoritmen att användas för ordningsändring av grundblock."
+ 
+ #: common.opt:2079
+ #, c-format
+@@ -14696,11 +14654,11 @@
+ 
+ #: common.opt:2489
+ msgid "Detect paths that trigger erroneous or undefined behavior due to dereferencing a null pointer.  Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap."
+-msgstr "Detektera vägar som utlöser felaktigt eller odefinierat beteende på grund av dereferering av nollpekare.  Isolera dessa vägar från huvusakliga styrflödet och gör om satsen med det felaktiga elelr odefinierade beteendet till en fälla."
++msgstr "Detektera vägar som utlöser felaktigt eller odefinierat beteende på grund av dereferering av nollpekare.  Isolera dessa vägar från huvudsakliga styrflödet och gör om satsen med det felaktiga eller odefinierade beteendet till en fälla."
+ 
+ #: common.opt:2495
+ msgid "Detect paths that trigger erroneous or undefined behavior due a null value being used in a way forbidden by a returns_nonnull or nonnull attribute.  Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap."
+-msgstr "Detektera vägar som utlöser felaktigt eller odefinierat beteende på grund av att ett nollvärde används på ett sätt som förbjuds av ett returns_nonnull- eller nonnull-attribut.  Isolera dessa vägar från huvusakliga styrflödet och gör om satsen med det felaktiga elelr odefinierade beteendet till en fälla."
++msgstr "Detektera vägar som utlöser felaktigt eller odefinierat beteende på grund av att ett nollvärde används på ett sätt som förbjuds av ett returns_nonnull- eller nonnull-attribut.  Isolera dessa vägar från huvudsakliga styrflödet och gör om satsen med det felaktiga eller odefinierade beteendet till en fälla."
+ 
+ #: common.opt:2502
+ msgid "Enable loop distribution on trees."
+@@ -14723,10 +14681,8 @@
+ msgstr "Aktivera slingoptimeringar på trädnivå."
+ 
+ #: common.opt:2526
+-#, fuzzy
+-#| msgid "Enable automatic parallelization of loops."
+ msgid "-ftree-parallelize-loops=<number>\tEnable automatic parallelization of loops."
+-msgstr "Aktivera automatisk parallellisering av slingor."
++msgstr "-ftree-parallelize-loops=<antal>\tAktivera automatisk parallellisering av slingor."
+ 
+ #: common.opt:2530
+ msgid "Enable hoisting loads from conditional pointers."
+@@ -14742,7 +14698,7 @@
+ 
+ #: common.opt:2542
+ msgid "Perform function-local points-to analysis on trees."
+-msgstr "Utför funktionslokala pekar-på-analyser i träd"
++msgstr "Utför funktionslokala pekar-på-analyser i träd."
+ 
+ #: common.opt:2546
+ msgid "Enable reassociation on tree level."
+@@ -14854,13 +14810,11 @@
+ 
+ #: common.opt:2693
+ msgid "Specifies the cost model for vectorization. -fvect-cost-model=[unlimited|dynamic|cheap]\tSpecifies the cost model for vectorization."
+-msgstr ""
++msgstr "Anger kostnadsmodellen för vektorisering.  -fvect-cost-model=[unlimited|dynamic|cheap]\tAnger kostnadsmodellen för vektorisering."
+ 
+ #: common.opt:2698
+-#, fuzzy
+-#| msgid "Specifies the vectorization cost model for code marked with a simd directive."
+ msgid "-fsimd-cost-model=[unlimited|dynamic|cheap]\tSpecifies the vectorization cost model for code marked with a simd directive."
+-msgstr "Anger kostnadsmodellen för vektorisering för kod markerad med ett simd-direktiv."
++msgstr "-fsimd-cost-model=[unlimited|dynamic|cheap]\tAnger kostnadsmodellen för vektorisering för kod markerad med ett simd-direktiv."
+ 
+ #: common.opt:2701
+ #, c-format
+@@ -15552,10 +15506,9 @@
+ msgstr "typattribut ignoreras efter att typen redan är definierad"
+ 
+ #: auto-profile.c:347
+-#, fuzzy, gcc-internal-format
+-#| msgid "Offset exceeds 16 bytes."
++#, gcc-internal-format
+ msgid "offset exceeds 16 bytes"
+-msgstr "Avstånd överskrider 16 byte."
++msgstr "avstånd överskrider 16 byte"
+ 
+ #: auto-profile.c:854
+ #, gcc-internal-format
+@@ -15563,40 +15516,34 @@
+ msgstr "Ej förväntades TAGG."
+ 
+ #: auto-profile.c:920
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Cannot open profile file %s."
++#, gcc-internal-format, gfc-internal-format
+ msgid "cannot open profile file %s"
+-msgstr "Kan inte öppna profileringssfilen %s."
++msgstr "kan inte öppna profileringssfilen %s"
+ 
+ #: auto-profile.c:926
+-#, fuzzy, gcc-internal-format
+-#| msgid "AutoFDO profile magic number does not match."
++#, gcc-internal-format
+ msgid "AutoFDO profile magic number does not match"
+-msgstr "AutoFDO-profilens magiska tal stämmer inte."
++msgstr "AutoFDO-profilens magiska tal stämmer inte"
+ 
+ #: auto-profile.c:934
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "AutoFDO profile version %u does match %u."
++#, gcc-internal-format, gfc-internal-format
+ msgid "AutoFDO profile version %u does match %u"
+-msgstr "AutoFDO-profilens version %u stämmer inte med %u."
++msgstr "AutoFDO-profilens version %u stämmer inte med %u"
+ 
+ #: auto-profile.c:946
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Cannot read string table from %s."
++#, gcc-internal-format, gfc-internal-format
+ msgid "cannot read string table from %s"
+-msgstr "Det går inte att läsa strängtabellen från %s."
++msgstr "det går inte att läsa strängtabellen från %s"
+ 
+ #: auto-profile.c:954
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Cannot read function profile from %s."
++#, gcc-internal-format, gfc-internal-format
+ msgid "cannot read function profile from %s"
+-msgstr "Det går inte att läsa profilen från %s."
++msgstr "det går inte att läsa profilen från %s"
+ 
+ #: auto-profile.c:964
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Cannot read working set from %s."
++#, gcc-internal-format, gfc-internal-format
+ msgid "cannot read working set from %s"
+-msgstr "Det går inte arbetsmängden från %s."
++msgstr "det går inte arbetsmängden från %s"
+ 
+ #: bt-load.c:1564
+ #, gcc-internal-format
+@@ -15894,7 +15841,7 @@
+ #: calls.c:1491
+ #, gcc-internal-format
+ msgid "in a call to built-in allocation function %qD"
+-msgstr "i ett anrop av den inbyggd allokeringsfunktionen %qD"
++msgstr "i ett anrop av den inbyggda allokeringsfunktionen %qD"
+ 
+ #: calls.c:1494
+ #, gcc-internal-format
+@@ -15904,7 +15851,7 @@
+ #: calls.c:1508
+ #, gcc-internal-format, gfc-internal-format
+ msgid "cannot tail-call: %s"
+-msgstr "kan inte göra svansarnop: %s"
++msgstr "kan inte göra svansanrop: %s"
+ 
+ #: calls.c:3071
+ #, gcc-internal-format
+@@ -17051,10 +16998,9 @@
+ msgstr "%qs har spillt över"
+ 
+ #: coverage.c:332
+-#, fuzzy, gcc-internal-format
+-#| msgid "%s:corrupted\n"
++#, gcc-internal-format
+ msgid "%qs is corrupted"
+-msgstr "%s:trasig\n"
++msgstr "%qs är trasig"
+ 
+ #: coverage.c:390
+ #, gcc-internal-format
+@@ -17351,7 +17297,7 @@
  msgid "assuming signed overflow does not occur when combining constants around a comparison"
  msgstr "antar att teckenspill inte förekommer vid kombination av konstanter runt en jämförelse"
  
@@ -25415,7 +27988,16 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "fold check: original tree changed by fold"
  msgstr "vikningskontroll: originalträdet ändrat av vikning"
-@@ -17887,8 +17887,8 @@
+@@ -17773,7 +17719,7 @@
+ #: gcov-tool.c:123
+ #, gcc-internal-format, gfc-internal-format
+ msgid "output file %s already exists in folder %s"
+-msgstr ""
++msgstr "utdatafilen %s finns redan i mappen %s"
+ 
+ #: gcov-tool.c:223
+ #, gcc-internal-format
+@@ -17887,8 +17833,8 @@
  msgid "null pointer dereference"
  msgstr "nollpekardereferens"
  
@@ -25426,7 +28008,7 @@ Index: gcc/po/sv.po
  #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564
  #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174
  #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993
-@@ -17902,297 +17902,297 @@
+@@ -17902,297 +17848,297 @@
  msgid "nonnull argument %qD compared to NULL"
  msgstr "icke-null-argument %qD jämfört med NULL"
  
@@ -25602,7 +28184,8 @@ Index: gcc/po/sv.po
 +#: gimple-ssa-sprintf.c:2481
  #, gcc-internal-format
  msgid "%<%.*s%> directive output may be truncated writing up to %wu bytes into a region of size between %wu and %wu"
- msgstr "utdata från direktivet %<%.*s%> kan ha huggts av när upp till %wu byte skrevs till en region med storlek mellan %wu och %wu"
+-msgstr "utdata från direktivet %<%.*s%> kan ha huggts av när upp till %wu byte skrevs till en region med storlek mellan %wu och %wu"
++msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när upp till %wu byte skrevs till en region med storlek mellan %wu och %wu"
  
 -#: gimple-ssa-sprintf.c:2483
 +#: gimple-ssa-sprintf.c:2484
@@ -25620,7 +28203,8 @@ Index: gcc/po/sv.po
 +#: gimple-ssa-sprintf.c:2503
  #, gcc-internal-format
  msgid "%<%.*s%> directive output may be truncated writing likely %wu or more bytes into a region of size between %wu and %wu"
- msgstr "utdata från direktivet %<%.*s%> kan ha huggts av när antagligen %wu eller fler byte skrevs till en region med storlek mellan %wu och %wu"
+-msgstr "utdata från direktivet %<%.*s%> kan ha huggts av när antagligen %wu eller fler byte skrevs till en region med storlek mellan %wu och %wu"
++msgstr "utdata från direktivet %<%.*s%> kan ha huggits av när antagligen %wu eller fler byte skrevs till en region med storlek mellan %wu och %wu"
  
 -#: gimple-ssa-sprintf.c:2505
 +#: gimple-ssa-sprintf.c:2506
@@ -25722,7 +28306,8 @@ Index: gcc/po/sv.po
 +#: gimple-ssa-sprintf.c:2782
  #, gcc-internal-format
  msgid "using the range [%E, %E] for directive argument"
- msgstr "använder intevallet [%E, %E] som direktivargument"
+-msgstr "använder intevallet [%E, %E] som direktivargument"
++msgstr "använder intervallet [%E, %E] som direktivargument"
  
 -#: gimple-ssa-sprintf.c:2801
 +#: gimple-ssa-sprintf.c:2802
@@ -25783,7 +28368,191 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "null format string"
  msgstr "nollformatsträng"
-@@ -20379,157 +20379,157 @@
+@@ -18348,16 +18294,14 @@
+ msgstr "omgivande uppgift"
+ 
+ #: gimplify.c:6852
+-#, fuzzy, gcc-internal-format
+-#| msgid "%qE not specified in enclosing %s"
++#, gcc-internal-format
+ msgid "%qE not specified in enclosing %qs"
+-msgstr "%qE inte angiven i omgivande %s"
++msgstr "%qE inte angiven i omgivande %qs"
+ 
+ #: gimplify.c:6854
+-#, fuzzy, gcc-internal-format
+-#| msgid "enclosing %s"
++#, gcc-internal-format
+ msgid "enclosing %qs"
+-msgstr "omgivande %s"
++msgstr "omgivande %qs"
+ 
+ #: gimplify.c:6965
+ #, gcc-internal-format
+@@ -18726,10 +18670,9 @@
+ msgstr "den inkompatibla typen definierad i en annan översättningsenhet"
+ 
+ #: ipa-devirt.c:1142
+-#, fuzzy, gcc-internal-format
+-#| msgid "type name %<%s%> should match type name %<%s%>"
++#, gcc-internal-format
+ msgid "type name %qs should match type name %qs"
+-msgstr "typnamnet %<%s%> skall matcha typnamnet %<%s%>"
++msgstr "typnamnet %qs skall matcha typnamnet %qs"
+ 
+ #: ipa-devirt.c:1146 ipa-devirt.c:1238
+ #, gcc-internal-format
+@@ -18964,16 +18907,14 @@
+ msgstr "ipa-inline-sammanfattning saknas i indatafil"
+ 
+ #: ipa-pure-const.c:187
+-#, fuzzy, gcc-internal-format
+-#| msgid "function might be candidate for attribute %<%s%>"
++#, gcc-internal-format
+ msgid "function might be candidate for attribute %qs"
+-msgstr "funktionen kan vara en kandidat för attributet %<%s%>"
++msgstr "funktionen kan vara en kandidat för attributet %qs"
+ 
+ #: ipa-pure-const.c:188
+-#, fuzzy, gcc-internal-format
+-#| msgid "function might be candidate for attribute %<%s%> if it is known to return normally"
++#, gcc-internal-format
+ msgid "function might be candidate for attribute %qs if it is known to return normally"
+-msgstr "funktionen kan vara en kandidat för attributet %<%s%> om man vet att den returnerar normalt"
++msgstr "funktionen kan vara en kandidat för attributet %qs om man vet att den returnerar normalt"
+ 
+ #: ipa-reference.c:1182
+ #, gcc-internal-format
+@@ -19132,10 +19073,9 @@
+ msgstr "bytekodström: oväntad LTO-sektion %s"
+ 
+ #: lto-streamer.c:383
+-#, fuzzy, gcc-internal-format
+-#| msgid "bytecode stream in file '%s' generated with LTO version %d.%d instead of the expected %d.%d"
++#, gcc-internal-format
+ msgid "bytecode stream in file %qs generated with LTO version %d.%d instead of the expected %d.%d"
+-msgstr "bytekodströmmen i filen ”%s” är genererad med LTO-version %d.%d istället för den förväntade %d.%d"
++msgstr "bytekodströmmen i filen %qs är genererad med LTO-version %d.%d istället för den förväntade %d.%d"
+ 
+ #: lto-wrapper.c:114
+ #, gcc-internal-format
+@@ -19213,10 +19153,9 @@
+ msgstr "anropet behöver ifunc, som inte stödjs av detta mål"
+ 
+ #: multiple_target.c:74
+-#, fuzzy, gcc-internal-format
+-#| msgid "target OS does not support unaligned accesses"
++#, gcc-internal-format
+ msgid "target does not support function version dispatcher"
+-msgstr "mål-OS:et stödjer inte ojusterade åtkomster"
++msgstr "målet stödjer inte funktionsversionsavsändare"
+ 
+ #: multiple_target.c:83
+ #, gcc-internal-format
+@@ -19450,10 +19389,9 @@
+ msgstr "operand till -fopenacc-dim är felformulerad vid ”%s”"
+ 
+ #: omp-offload.c:1157
+-#, fuzzy, gcc-internal-format
+-#| msgid "inner loop uses same OpenACC parallelism as containing loop"
++#, gcc-internal-format
+ msgid "routine call uses same OpenACC parallelism as containing loop"
+-msgstr "den inre slingan använder samma OpenACC-parallellism som den omgivande slingan"
++msgstr "rutinanropet använder samma OpenACC-parallellism som den omgivande slingan"
+ 
+ #: omp-offload.c:1161 omp-offload.c:1193
+ #, gcc-internal-format
+@@ -19461,16 +19399,14 @@
+ msgstr "kringliggande slinga här"
+ 
+ #: omp-offload.c:1166
+-#, fuzzy, gcc-internal-format
+-#| msgid "%s uses OpenACC parallelism disallowed by containing routine"
++#, gcc-internal-format
+ msgid "routine call uses OpenACC parallelism disallowed by containing routine"
+-msgstr "%s använder OpenACC-parallellism som är otillåtet av den omgivande rutinen"
++msgstr "rutinanropet använder OpenACC-parallellism som är otillåtet av den omgivande rutinen"
+ 
+ #: omp-offload.c:1168
+-#, fuzzy, gcc-internal-format
+-#| msgid "%s uses OpenACC parallelism disallowed by containing routine"
++#, gcc-internal-format
+ msgid "loop uses OpenACC parallelism disallowed by containing routine"
+-msgstr "%s använder OpenACC-parallellism som är otillåtet av den omgivande rutinen"
++msgstr "slingan använder OpenACC-parallellism som är otillåtet av den omgivande rutinen"
+ 
+ #: omp-offload.c:1173
+ #, gcc-internal-format
+@@ -19488,16 +19424,14 @@
+ msgstr "otillräcklig partitionering tillgänglig för att parallellisera elementslinga"
+ 
+ #: omp-offload.c:1335
+-#, fuzzy, gcc-internal-format
+-#| msgid "insufficient partitioning available to parallelize element loop"
++#, gcc-internal-format
+ msgid "insufficient partitioning available to parallelize tile loop"
+-msgstr "otillräcklig partitionering tillgänglig för att parallellisera elementslinga"
++msgstr "otillräcklig partitionering tillgänglig för att parallellisera brickslinga"
+ 
+ #: omp-offload.c:1337
+-#, fuzzy, gcc-internal-format
+-#| msgid "insufficient partitioning available to parallelize%s loop"
++#, gcc-internal-format
+ msgid "insufficient partitioning available to parallelize loop"
+-msgstr "otillräcklig partitionering tillgänglig för att parallellisera%s slinga"
++msgstr "otillräcklig partitionering tillgänglig för att parallellisera slinga"
+ 
+ #: omp-simd-clone.c:192
+ #, gcc-internal-format
+@@ -19696,10 +19630,9 @@
+ msgstr "flaggan -fsanitize=all är inte giltig"
+ 
+ #: opts.c:1642
+-#, fuzzy, gcc-internal-format
+-#| msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s; did you mean %qs"
++#, gcc-internal-format
+ msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s; did you mean %qs?"
+-msgstr "okänt argument till flaggan -f%ssanitize%s=: %q.*s; menade du %qs"
++msgstr "okänt argument till flaggan -f%ssanitize%s=: %q.*s; menade du %qs?"
+ 
+ #: opts.c:1649
+ #, gcc-internal-format
+@@ -19799,7 +19732,7 @@
+ #: opts.c:2602
+ #, gcc-internal-format, gfc-internal-format
+ msgid "unrecognized gcc debugging option: %c"
+-msgstr "ej igenkänd debuggningsflagga för gcc: %c"
++msgstr "ej igenkänd felsökningsflagga för gcc: %c"
+ 
+ #: opts.c:2627
+ #, gcc-internal-format, gfc-internal-format
+@@ -19934,10 +19867,9 @@
+ msgstr "insticksmodul %s skulle ha angetts före -fplugin-arg-%s på kommandoraden"
+ 
+ #: plugin.c:350
+-#, fuzzy, gcc-internal-format
+-#| msgid "unable to register info for plugin '%s' - plugin name not found"
++#, gcc-internal-format
+ msgid "unable to register info for plugin %qs - plugin name not found"
+-msgstr "kan inte registrera information för insticksmodulen ”%s” – inget namn på insticksmodulen finns"
++msgstr "kan inte registrera information för insticksmodulen %qs – inget namn på insticksmodulen finns"
+ 
+ #: plugin.c:446
+ #, gcc-internal-format, gfc-internal-format
+@@ -20027,10 +19959,9 @@
+ msgstr "instruktion med UID %i finns inte för operand %i i instruktion %i"
+ 
+ #: read-rtl-function.c:409
+-#, fuzzy, gcc-internal-format
+-#| msgid "function %qs cannot be declared %<mutable%>"
++#, gcc-internal-format
+ msgid "%<__RTL%> function cannot be compiled with %<-flto%>"
+-msgstr "funktionen %qs kan inte deklareras %<mutable%>"
++msgstr "en %<__RTL%>-funktion kan inte kompileras med %<-flto%>"
+ 
+ #: read-rtl-function.c:710
+ #, gcc-internal-format, gfc-internal-format
+@@ -20379,157 +20310,157 @@
  msgid "%D renamed after being referenced in assembly"
  msgstr "%D byter namn efter att ha refererats i assembler"
  
@@ -25972,7 +28741,87 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "section of alias %q+D must match section of its target"
  msgstr "sektionen för aliaset %q+D måste stämma med sektionen för dess mål"
-@@ -22199,8 +22199,8 @@
+@@ -20630,34 +20561,29 @@
+ msgstr "Graphite-slingoptimeringar kan inte användas (isl är inte tillgängligt) (-fgraphite, -fgraphite-identity, -floop-nest-optimize, -floop-parallelize-all)"
+ 
+ #: toplev.c:1273
+-#, fuzzy, gcc-internal-format
+-#| msgid "-fcheck-pointer-bounds is not supported for this target"
++#, gcc-internal-format
+ msgid "%<-fcheck-pointer-bounds%> is not supported for this target"
+-msgstr "-fcheck-pointer-bounds stödjs inte för denna målarkitektur"
++msgstr "%<-fcheck-pointer-bounds%> stödjs inte för denna målarkitektur"
+ 
+ #: toplev.c:1281
+-#, fuzzy, gcc-internal-format
+-#| msgid "-fcheck-pointer-bounds is not supported with -fsanitize=bounds"
++#, gcc-internal-format
+ msgid "%<-fcheck-pointer-bounds%> is not supported with %<-fsanitize=bounds-strict%>"
+-msgstr "-fcheck-pointer-bounds stödjs inte med -fsanitize=bounds"
++msgstr "%<-fcheck-pointer-bounds%> stödjs inte med %<-fsanitize=bounds-strict%>"
+ 
+ #: toplev.c:1288
+-#, fuzzy, gcc-internal-format
+-#| msgid "-fcheck-pointer-bounds is not supported with -fsanitize=bounds"
++#, gcc-internal-format
+ msgid "%<-fcheck-pointer-bounds%> is not supported with %<-fsanitize=bounds%>"
+-msgstr "-fcheck-pointer-bounds stödjs inte med -fsanitize=bounds"
++msgstr "%<-fcheck-pointer-bounds%> stödjs inte med %<-fsanitize=bounds%>"
+ 
+ #: toplev.c:1296
+-#, fuzzy, gcc-internal-format
+-#| msgid "-fcheck-pointer-bounds is not supported with Address Sanitizer"
++#, gcc-internal-format
+ msgid "%<-fcheck-pointer-bounds%> is not supported with Address Sanitizer"
+-msgstr "-fcheck-pointer-bounds stödjs inte med adressrengöring"
++msgstr "%<-fcheck-pointer-bounds%> stödjs inte med adressrengöring"
+ 
+ #: toplev.c:1304
+-#, fuzzy, gcc-internal-format
+-#| msgid "-fcheck-pointer-bounds is not supported with Address Sanitizer"
++#, gcc-internal-format
+ msgid "%<-fcheck-pointer-bounds%> is not supported with Thread Sanitizer"
+-msgstr "-fcheck-pointer-bounds stödjs inte med adressrengöring"
++msgstr "%<-fcheck-pointer-bounds%> stödjs inte med trådrengöring"
+ 
+ #: toplev.c:1320
+ #, gcc-internal-format
+@@ -21313,7 +21239,7 @@
+ #: tree-cfg.c:4232
+ #, gcc-internal-format
+ msgid "vector insertion not at element boundary"
+-msgstr "vektorinsättning inte på elemntgräns"
++msgstr "vektorinsättning inte på elementgräns"
+ 
+ #: tree-cfg.c:4264
+ #, gcc-internal-format
+@@ -21628,10 +21554,9 @@
+ msgstr "minnesåtkomstkontrollen misslyckas alltid"
+ 
+ #: tree-chkp.c:1996
+-#, fuzzy, gcc-internal-format
+-#| msgid "-fcheck-pointer-bounds requires '%s' name for internal usage"
++#, gcc-internal-format
+ msgid "-fcheck-pointer-bounds requires %qs name for internal usage"
+-msgstr "-fcheck-pointer-bounds kräver ”%s”-stöd för intern användning"
++msgstr "-fcheck-pointer-bounds kräver %qs-namn för intern användning"
+ 
+ #: tree-chkp.c:2774
+ #, gcc-internal-format, gfc-internal-format
+@@ -21850,10 +21775,9 @@
+ msgstr "i denna slinga"
+ 
+ #: tree-ssa-loop-prefetch.c:2045
+-#, fuzzy, gcc-internal-format
+-#| msgid "-faligned-new=%d is not a power of two"
++#, gcc-internal-format
+ msgid "%<l1-cache-size%> parameter is not a power of two %d"
+-msgstr "-falign-new=%d är inte en exponent av två"
++msgstr "%<l1-cache-size%>-parametern är inte en exponent av %d"
+ 
+ #: tree-ssa-operands.c:975
+ #, gcc-internal-format
+@@ -22199,8 +22123,8 @@
  #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937
  #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062
  #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172
@@ -25983,7 +28832,7 @@ Index: gcc/po/sv.po
  #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715
  #: config/i386/i386.c:41425 config/ia64/ia64.c:762
  #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741
-@@ -22236,92 +22236,92 @@
+@@ -22236,92 +22160,92 @@
  msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
  msgstr "%qE implicerar standardsynlighet, men %qD har redan deklarerats med annan synlighet"
  
@@ -26094,7 +28943,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "type is deprecated"
  msgstr "typen bör undvikas"
-@@ -22348,262 +22348,262 @@
+@@ -22348,262 +22272,262 @@
  #. main variant only.
  #.
  #. Convenience macro for matching individual fields.
@@ -26409,7 +29258,49 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "verify_type failed"
  msgstr "verify_type misslyckades"
-@@ -23600,13 +23600,13 @@
+@@ -23293,7 +23217,7 @@
+ #: c-family/c-common.c:775
+ #, gcc-internal-format
+ msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
+-msgstr "stränglängden %qd är större än den längden %qd som ISO C%d kompilatorer skall stödja"
++msgstr "stränglängden %qd är större än den längden %qd som ISO C%d-kompilatorer skall stödja"
+ 
+ #: c-family/c-common.c:959
+ #, gcc-internal-format
+@@ -23328,7 +23252,7 @@
+ #: c-family/c-common.c:1263
+ #, gcc-internal-format
+ msgid "negative integer implicitly converted to unsigned type"
+-msgstr "negativt heltal implicit konverterat till unsigned typ"
++msgstr "negativt heltal implicit konverterat till teckenlös typ"
+ 
+ #: c-family/c-common.c:1269
+ #, gcc-internal-format
+@@ -23428,7 +23352,7 @@
+ #: c-family/c-common.c:3339
+ #, gcc-internal-format
+ msgid "%<<<%> in boolean context, did you mean %<<%> ?"
+-msgstr "%<<<%> in boolean context, did you mean %<<%>?"
++msgstr "%<<<%> i boolesk kontext, menade du %<<%>?"
+ 
+ #: c-family/c-common.c:3355
+ #, gcc-internal-format
+@@ -23583,12 +23507,12 @@
+ #: c-family/c-common.c:5537 c-family/c-common.c:5584
+ #, gcc-internal-format
+ msgid "bad option %qs to attribute %<optimize%>"
+-msgstr "felaktig flagga %s till attributet %<optimize%>"
++msgstr "felaktig flagga %qs till attributet %<optimize%>"
+ 
+ #: c-family/c-common.c:5540 c-family/c-common.c:5588
+ #, gcc-internal-format
+ msgid "bad option %qs to pragma %<optimize%>"
+-msgstr "felaktig flagga %s till pragmat %<optimize%>"
++msgstr "felaktig flagga %qs till pragmat %<optimize%>"
+ 
+ #: c-family/c-common.c:5620
+ #, gcc-internal-format
+@@ -23600,13 +23524,13 @@
  msgid "%<fallthrough%> attribute specified with a parameter"
  msgstr "attributet %<fallthrough%> angivet med en parameter"
  
@@ -26425,7 +29316,16 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "too many arguments to function %qE"
  msgstr "för många argument till funktionen %qE"
-@@ -23691,72 +23691,72 @@
+@@ -23684,7 +23608,7 @@
+ #: c-family/c-common.c:6294
+ #, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+-msgstr "försök att ta adressen till en medlemmen %qD i en bitfältspost"
++msgstr "försök att ta adressen till en medlem %qD i en bitfältspost"
+ 
+ #: c-family/c-common.c:6346
+ #, gcc-internal-format
+@@ -23691,72 +23615,72 @@
  msgid "index %E denotes an offset greater than size of %qT"
  msgstr "index %E anger ett avstånd större än storleken på %qT"
  
@@ -26512,7 +29412,7 @@ Index: gcc/po/sv.po
  #: cp/call.c:4836 cp/call.c:4843
  #, gcc-internal-format
  msgid "conversion of scalar %qT to vector %qT involves truncation"
-@@ -23764,22 +23764,22 @@
+@@ -23764,22 +23688,22 @@
  
  #. Reject arguments that are built-in functions with
  #. no library fallback.
@@ -26539,7 +29439,104 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd"
  msgstr "miljövariabeln SOURCE_DATE_EPOCH måste expandera till ett ickenegativt heltal mindre än eller lika med %wd"
-@@ -25542,7 +25542,7 @@
+@@ -23800,10 +23724,9 @@
+ msgstr "argument för formatsträng är inte en strängtyp"
+ 
+ #: c-family/c-format.c:210
+-#, fuzzy, gcc-internal-format
+-#| msgid "found a %<%s%> reference but the format argument should be a string"
++#, gcc-internal-format
+ msgid "found a %qs reference but the format argument should be a string"
+-msgstr "hittade en %<%s%>-referens men formatargumentet skall vara en sträng"
++msgstr "hittade en %qs-referens men formatargumentet skall vara en sträng"
+ 
+ #: c-family/c-format.c:213
+ #, gcc-internal-format
+@@ -23811,16 +23734,14 @@
+ msgstr "hittade en %qT men formatargumentet skall vara en sträng"
+ 
+ #: c-family/c-format.c:223
+-#, fuzzy, gcc-internal-format
+-#| msgid "format argument should be a %<%s%> reference but a string was found"
++#, gcc-internal-format
+ msgid "format argument should be a %qs reference but a string was found"
+-msgstr "formatargumentet skulle vara en %<%s%>-referens men en sträng fanns"
++msgstr "formatargumentet skulle vara en %qs-referens men en sträng fanns"
+ 
+ #: c-family/c-format.c:245
+-#, fuzzy, gcc-internal-format
+-#| msgid "format argument should be a %<%s%> reference"
++#, gcc-internal-format
+ msgid "format argument should be a %qs reference"
+-msgstr "formatargumentet skall vara en %<%s%>-referens"
++msgstr "formatargumentet skall vara en %qs-referens"
+ 
+ #: c-family/c-format.c:289
+ #, gcc-internal-format
+@@ -24140,7 +24061,7 @@
+ #: c-family/c-indentation.c:610
+ #, gcc-internal-format
+ msgid "...this statement, but the latter is misleadingly indented as if it were guarded by the %qs"
+-msgstr ""
++msgstr "… denna sats, men den senare är på ett missledande sätt indenterad som om den vore vaktad av %qs:en"
+ 
+ #: c-family/c-lex.c:224
+ #, gcc-internal-format
+@@ -25047,7 +24968,7 @@
+ #: c-family/c-warn.c:961 c-family/c-warn.c:965
+ #, gcc-internal-format
+ msgid "conversion to %qT alters %qT constant value"
+-msgstr "konvertering till %qT ändrar konstant %qT värde"
++msgstr "konvertering till %qT ändrar konstant %qT-värde"
+ 
+ #: c-family/c-warn.c:985 c-family/c-warn.c:993
+ #, gcc-internal-format
+@@ -25062,7 +24983,7 @@
+ #: c-family/c-warn.c:1024
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+-msgstr "stort heltal implicit trunkerat till unsigned typ"
++msgstr "stort heltal implicit trunkerat till teckenlös typ"
+ 
+ #: c-family/c-warn.c:1030 c-family/c-warn.c:1037 c-family/c-warn.c:1045
+ #, gcc-internal-format
+@@ -25097,7 +25018,7 @@
+ #: c-family/c-warn.c:1280
+ #, gcc-internal-format
+ msgid "the omitted middle operand in ?: will always be %<true%>, suggest explicit middle operand"
+-msgstr "de utelämnade mittoperanden i ?: kommer alltid att vara %<true%>, föreslår explicit mittoperand"
++msgstr "den utelämnade mittoperanden i ?: kommer alltid att vara %<true%>, föreslår explicit mittoperand"
+ 
+ #: c-family/c-warn.c:1301
+ #, gcc-internal-format
+@@ -25423,7 +25344,7 @@
+ #: c-family/c-warn.c:1830
+ #, gcc-internal-format
+ msgid "promoted ~unsigned is always non-zero"
+-msgstr "befordrat ~unsigned är alltid skild från noll"
++msgstr "befordrad ~unsigned är alltid skild från noll"
+ 
+ #: c-family/c-warn.c:1833
+ #, gcc-internal-format
+@@ -25443,7 +25364,7 @@
+ #: c-family/c-warn.c:1959
+ #, gcc-internal-format
+ msgid "typedef %qD locally defined but not used"
+-msgstr "typedef %q+D är lokalt definierad men inte använd"
++msgstr "typedef %qD är lokalt definierad men inte använd"
+ 
+ #: c-family/c-warn.c:1994
+ #, gcc-internal-format
+@@ -25469,7 +25390,7 @@
+ #: c-family/c-warn.c:2055
+ #, gcc-internal-format
+ msgid "declaration of %q+D with attribute %qs follows declaration with attribute %qs"
+-msgstr "deklarationen av %q+D med attributet %qs följer på en deklaration med attributet %qs "
++msgstr "deklarationen av %q+D med attributet %qs följer på en deklaration med attributet %qs"
+ 
+ #: c-family/c-warn.c:2102
+ #, gcc-internal-format
+@@ -25542,7 +25463,7 @@
  msgid "too many input files"
  msgstr "för många indatafiler"
  
@@ -26548,7 +29545,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "unknown value %qs for -mcpu"
  msgstr "okänt värde %qs till -mcpu"
-@@ -26000,184 +26000,184 @@
+@@ -26000,184 +25921,179 @@
  msgid "%qs feature modifier is incompatible with %s %s"
  msgstr "funktionsmodifieraren %qs är inkompatibel med %s %s"
  
@@ -26583,25 +29580,31 @@ Index: gcc/po/sv.po
  msgstr "giltiga argument är: %s; menade du %qs?"
  
 -#: config/aarch64/aarch64.c:8748
+-#, fuzzy, gcc-internal-format
+-#| msgid "missing cpu name in -mcpu=%qs"
 +#: config/aarch64/aarch64.c:8756
- #, fuzzy, gcc-internal-format
- #| msgid "missing cpu name in -mcpu=%qs"
++#, gcc-internal-format
  msgid "missing cpu name in %<-mcpu=%s%>"
- msgstr "cpu-namn saknas i -mcpu=%qs"
+-msgstr "cpu-namn saknas i -mcpu=%qs"
++msgstr "cpu-namn saknas i %<-mcpu=%s%>"
  
 -#: config/aarch64/aarch64.c:8755
+-#, fuzzy, gcc-internal-format
+-#| msgid "invalid feature modifier in -mcpu=%qs"
 +#: config/aarch64/aarch64.c:8763
- #, fuzzy, gcc-internal-format
- #| msgid "invalid feature modifier in -mcpu=%qs"
++#, gcc-internal-format
  msgid "invalid feature modifier in %<-mcpu=%s%>"
- msgstr "ogiltig funktionsmodifierare i -mcpu=%qs"
+-msgstr "ogiltig funktionsmodifierare i -mcpu=%qs"
++msgstr "ogiltig funktionsmodifierare i %<-mcpu=%s%>"
  
 -#: config/aarch64/aarch64.c:8782
+-#, fuzzy, gcc-internal-format
+-#| msgid "missing arch name in -march=%qs"
 +#: config/aarch64/aarch64.c:8790
- #, fuzzy, gcc-internal-format
- #| msgid "missing arch name in -march=%qs"
++#, gcc-internal-format
  msgid "missing arch name in %<-march=%s%>"
- msgstr "arkitekturnamn saknas i -march=%qs"
+-msgstr "arkitekturnamn saknas i -march=%qs"
++msgstr "arkitekturnamn saknas i %<-march=%s%>"
  
 -#: config/aarch64/aarch64.c:8785
 +#: config/aarch64/aarch64.c:8793
@@ -26610,18 +29613,22 @@ Index: gcc/po/sv.po
  msgstr "okänt värde %qs till -march"
  
 -#: config/aarch64/aarch64.c:8789
+-#, fuzzy, gcc-internal-format
+-#| msgid "invalid feature modifier in -march=%qs"
 +#: config/aarch64/aarch64.c:8797
- #, fuzzy, gcc-internal-format
- #| msgid "invalid feature modifier in -march=%qs"
++#, gcc-internal-format
  msgid "invalid feature modifier in %<-march=%s%>"
- msgstr "ogiltig funktionsmodifierare i -march=%qs"
+-msgstr "ogiltig funktionsmodifierare i -march=%qs"
++msgstr "ogiltig funktionsmodifierare i %<-march=%s%>"
  
 -#: config/aarch64/aarch64.c:8815
+-#, fuzzy, gcc-internal-format
+-#| msgid "missing cpu name in -mtune=%qs"
 +#: config/aarch64/aarch64.c:8823
- #, fuzzy, gcc-internal-format
- #| msgid "missing cpu name in -mtune=%qs"
++#, gcc-internal-format
  msgid "missing cpu name in %<-mtune=%s%>"
- msgstr "cpu-namn saknas i -mtune=%qs"
+-msgstr "cpu-namn saknas i -mtune=%qs"
++msgstr "cpu-namn saknas i %<-mtune=%s%>"
  
 -#: config/aarch64/aarch64.c:8818
 +#: config/aarch64/aarch64.c:8826
@@ -26769,7 +29776,16 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "lane %wd out of range %wd - %wd"
  msgstr "bana %wd utanför intervallet %wd - %wd"
-@@ -26584,62 +26584,62 @@
+@@ -26279,7 +26195,7 @@
+ #: config/arc/arc.c:850 config/arc/arc.c:858
+ #, gcc-internal-format, gfc-internal-format
+ msgid "%s is not available for %s architecture"
+-msgstr "%s är inte tillgängligt arkitekturen %s"
++msgstr "%s är inte tillgängligt för arkitekturen %s"
+ 
+ #: config/arc/arc.c:879
+ #, gcc-internal-format
+@@ -26584,62 +26500,62 @@
  msgid "the count should be no less than 0.  please check the intrinsic _mm_sra_si64 in code."
  msgstr "antalet skall inte vara mindre än 0.  kontrollera den inbyggda _mm_sra_si64 i koden."
  
@@ -26844,7 +29860,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "target CPU does not support unaligned accesses"
  msgstr "målprocessorn stödjer inte ojusterade åtkomster"
-@@ -26646,128 +26646,134 @@
+@@ -26646,128 +26562,133 @@
  
  #. To support this we need to be able to parse FPU feature options
  #. from the architecture string.
@@ -26879,9 +29895,10 @@ Index: gcc/po/sv.po
  msgstr "APCS-återanropsbar kod stödjs inte.  Ignoreras"
  
 -#: config/arm/arm.c:3372
+-#, fuzzy, gcc-internal-format
+-#| msgid "selected fp16 options are incompatible."
 +#: config/arm/arm.c:3373
- #, fuzzy, gcc-internal-format
- #| msgid "selected fp16 options are incompatible."
++#, gcc-internal-format
  msgid "selected fp16 options are incompatible"
  msgstr "valda fp16-alternativ är inkompatibla"
  
@@ -26998,13 +30015,13 @@ Index: gcc/po/sv.po
 +#: config/arm/arm.c:26560
 +#, gcc-internal-format
 +msgid "parameter passing for argument of type %qT changed in GCC 7.1"
-+msgstr ""
++msgstr "parameterskickandet för argument av typen %qT ändrades i GCC 7.1"
 +
 +#: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902
  #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673
  #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763
  #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456
-@@ -26783,72 +26789,72 @@
+@@ -26783,72 +26704,72 @@
  msgid "%qE attribute only applies to functions"
  msgstr "attributet %qE är bara tillämpligt på funktioner"
  
@@ -27018,7 +30035,8 @@ Index: gcc/po/sv.po
 +#: config/arm/arm.c:6863
  #, gcc-internal-format
  msgid "%qE attribute not available to functions with variable number of arguments"
- msgstr "attributet %qE är inte tillgänglit för funktioner med ett variabelt antal argument"
+-msgstr "attributet %qE är inte tillgänglit för funktioner med ett variabelt antal argument"
++msgstr "attributet %qE är inte tillgängligt för funktioner med ett variabelt antal argument"
  
 -#: config/arm/arm.c:6835
 +#: config/arm/arm.c:6872
@@ -27091,7 +30109,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "invalid fpu for attribute(target(\"%s\"))"
  msgstr "ogiltig fpu för attribute(target(\"%s\"))"
-@@ -26856,13 +26862,13 @@
+@@ -26856,13 +26777,13 @@
  #. This doesn't really make sense until we support
  #. general dynamic selection of the architecture and all
  #. sub-features.
@@ -27099,7 +30117,8 @@ Index: gcc/po/sv.po
 +#: config/arm/arm.c:30443
  #, gcc-internal-format
  msgid "auto fpu selection not currently permitted here"
- msgstr "automatiskt fpu-val är närvarande inte tillåtet här"
+-msgstr "automatiskt fpu-val är närvarande inte tillåtet här"
++msgstr "automatiskt fpu-val är för närvarande inte tillåtet här"
  
 -#: config/arm/arm.c:30406 config/i386/i386.c:6838 config/i386/i386.c:6885
 -#: config/s390/s390.c:14915 config/s390/s390.c:14965 config/s390/s390.c:14982
@@ -27108,7 +30127,285 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "attribute(target(\"%s\")) is unknown"
  msgstr "attribute(target(\"%s\")) är okänt"
-@@ -29498,7 +29504,7 @@
+@@ -27045,7 +26966,7 @@
+ #: config/avr/avr.c:9660
+ #, gcc-internal-format
+ msgid "address space %qs not supported for devices with flash size up to %d KiB"
+-msgstr "adressrymden %qs stödjs inte för enheter med flash-storlek upp til %d KiB"
++msgstr "adressrymden %qs stödjs inte för enheter med flash-storlek upp till %d KiB"
+ 
+ #: config/avr/avr.c:9831
+ #, gcc-internal-format
+@@ -27503,7 +27424,7 @@
+ #: config/i386/i386.c:4692
+ #, gcc-internal-format
+ msgid "wrong argument %qs to option %qs"
+-msgstr "felaktiga argument %qs till flaggan %qs"
++msgstr "felaktigt argument %qs till flaggan %qs"
+ 
+ #: config/i386/i386.c:4698
+ #, gcc-internal-format
+@@ -27513,7 +27434,7 @@
+ #: config/i386/i386.c:4708
+ #, gcc-internal-format
+ msgid "wrong strategy name %qs specified for option %qs"
+-msgstr "felaktigt strateginamn %qs angivet till flaggan %s"
++msgstr "felaktigt strateginamn %qs angivet till flaggan %qs"
+ 
+ #. rep; movq isn't available in 32-bit code.
+ #: config/i386/i386.c:4734
+@@ -27529,7 +27450,7 @@
+ #: config/i386/i386.c:4757
+ #, gcc-internal-format
+ msgid "the max value for the last size range should be -1 for option %qs"
+-msgstr "maxvärdet för den sista storleksintervallet skall vara -1 för flaggan %qs"
++msgstr "maxvärdet för det sista storleksintervallet skall vara -1 för flaggan %qs"
+ 
+ #: config/i386/i386.c:4764
+ #, gcc-internal-format
+@@ -27549,13 +27470,12 @@
+ #: config/i386/i386.c:5270
+ #, gcc-internal-format
+ msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate"
+-msgstr "%<tune=x86-64%> bör undvikas.  Använd istället det som passar av %<tune=k8%> och %<tune=generic%>"
++msgstr "%<-mtune=x86-64%> bör undvikas.  Använd istället det som passar av %<-mtune=k8%> och %<-mtune=generic%>"
+ 
+ #: config/i386/i386.c:5272
+-#, fuzzy, gcc-internal-format
+-#| msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate"
++#, gcc-internal-format
+ msgid "%<target(\"tune=x86-64\")%> is deprecated; use %<target(\"tune=k8\")%> or %<target(\"tune=generic\")%> instead as appropriate"
+-msgstr "%<tune=x86-64%> bör undvikas.  Använd istället det som passar av %<tune=k8%> och %<tune=generic%>"
++msgstr "%<target(\"tune=x86-64\")%> bör undvikas.  Använd istället det som passar av %<target(\"tune=k8\")%> och %<target(\"tune=generic\")%>"
+ 
+ #. rep; movq isn't available in 32-bit code.
+ #: config/i386/i386.c:5299
+@@ -27602,10 +27522,9 @@
+ 
+ # "generic" är bokstavligt argument till flaggan
+ #: config/i386/i386.c:5425
+-#, fuzzy, gcc-internal-format
+-#| msgid "%<generic%> CPU can be used only for %<-mtune=%> switch"
++#, gcc-internal-format
+ msgid "%<generic%> CPU can be used only for %<target(\"tune=\")%> attribute"
+-msgstr "CPU %<generic%> kan användas endast till flaggan %<-mtune=%>"
++msgstr "CPU %<generic%> kan användas endast till attributet %<target(\"tune=\")%>"
+ 
+ # "intel" är bokstavligt argument till flaggan
+ #: config/i386/i386.c:5432
+@@ -27615,10 +27534,9 @@
+ 
+ # "intel" är bokstavligt argument till flaggan
+ #: config/i386/i386.c:5434
+-#, fuzzy, gcc-internal-format
+-#| msgid "%<intel%> CPU can be used only for %<-mtune=%> switch"
++#, gcc-internal-format
+ msgid "%<intel%> CPU can be used only for %<target(\"tune=\")%> attribute"
+-msgstr "CPU %<intel%> kan användas endast till flaggan %<-mtune=%>"
++msgstr "CPU %<intel%> kan användas endast till attributet %<target(\"tune=\")%>"
+ 
+ #: config/i386/i386.c:5442 config/i386/i386.c:5718
+ #, gcc-internal-format
+@@ -27636,10 +27554,9 @@
+ msgstr "felaktigt värde (%qs) till flaggan %<-march=%>"
+ 
+ #: config/i386/i386.c:5664
+-#, fuzzy, gcc-internal-format
+-#| msgid "bad value (%qs) for %<-march=%> switch"
++#, gcc-internal-format
+ msgid "bad value (%qs) for %<target(\"arch=\")%> attribute"
+-msgstr "felaktigt värde (%qs) till flaggan %<-march=%>"
++msgstr "felaktigt värde (%qs) till attributet %<target(\"arch=\")%>"
+ 
+ #: config/i386/i386.c:5681
+ #, gcc-internal-format
+@@ -27647,10 +27564,9 @@
+ msgstr "giltiga argument till flaggan %<-march=%> är: %s; menade du %qs?"
+ 
+ #: config/i386/i386.c:5683
+-#, fuzzy, gcc-internal-format
+-#| msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?"
++#, gcc-internal-format
+ msgid "valid arguments to %<target(\"arch=\")%> attribute are: %s; did you mean %qs?"
+-msgstr "giltiga argument till flaggan %<-march=%> är: %s; menade du %qs?"
++msgstr "giltiga argument till attributet %<target(\"arch=\")%> är: %s; menade du %qs?"
+ 
+ #: config/i386/i386.c:5688
+ #, gcc-internal-format
+@@ -27658,10 +27574,9 @@
+ msgstr "giltiga argument till flaggan %<-march=%> är: %s"
+ 
+ #: config/i386/i386.c:5689
+-#, fuzzy, gcc-internal-format
+-#| msgid "valid arguments to %<-march=%> switch are: %s"
++#, gcc-internal-format
+ msgid "valid arguments to %<target(\"arch=\")%> attribute are: %s"
+-msgstr "giltiga argument till flaggan %<-march=%> är: %s"
++msgstr "giltiga argument till attributet %<target(\"arch=\")%> är: %s"
+ 
+ #: config/i386/i386.c:5736
+ #, gcc-internal-format
+@@ -27669,10 +27584,9 @@
+ msgstr "felaktigt värde (%qs) till flaggan %<-mtune=%>"
+ 
+ #: config/i386/i386.c:5737
+-#, fuzzy, gcc-internal-format
+-#| msgid "bad value (%qs) for %<-mtune=%> switch"
++#, gcc-internal-format
+ msgid "bad value (%qs) for %<target(\"tune=\")%> attribute"
+-msgstr "felaktigt värde (%qs) till flaggan %<-mtune=%>"
++msgstr "felaktigt värde (%qs) till attributet %<target(\"tune=\")%>"
+ 
+ #: config/i386/i386.c:5752
+ #, gcc-internal-format
+@@ -27680,10 +27594,9 @@
+ msgstr "giltiga argument till flaggan %<-mtune=%> är: %s; menade du %qs?"
+ 
+ #: config/i386/i386.c:5754
+-#, fuzzy, gcc-internal-format
+-#| msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?"
++#, gcc-internal-format
+ msgid "valid arguments to %<target(\"tune=\")%> attribute are: %s; did you mean %qs?"
+-msgstr "giltiga argument till flaggan %<-mtune=%> är: %s; menade du %qs?"
++msgstr "giltiga argument till attributet %<target(\"tune=\")%> är: %s; menade du %qs?"
+ 
+ #: config/i386/i386.c:5759
+ #, gcc-internal-format
+@@ -27691,10 +27604,9 @@
+ msgstr "giltiga argument till flaggan %<-mtune=%> är: %s"
+ 
+ #: config/i386/i386.c:5760
+-#, fuzzy, gcc-internal-format
+-#| msgid "valid arguments to %<-mtune=%> switch are: %s"
++#, gcc-internal-format
+ msgid "valid arguments to %<target(\"tune=\")%> attribute are: %s"
+-msgstr "giltiga argument till flaggan %<-mtune=%> är: %s"
++msgstr "giltiga argument till attributet %<target(\"tune=\")%> är: %s"
+ 
+ #: config/i386/i386.c:5826
+ #, gcc-internal-format
+@@ -27717,10 +27629,9 @@
+ msgstr "%<-mrtd%> ignoreras i 64-bitsläge"
+ 
+ #: config/i386/i386.c:5865
+-#, fuzzy, gcc-internal-format
+-#| msgid "%<-mrtd%> is ignored in 64bit mode"
++#, gcc-internal-format
+ msgid "%<target(\"rtd\")%> is ignored in 64bit mode"
+-msgstr "%<-mrtd%> ignoreras i 64-bitsläge"
++msgstr "%<target(\"rtd\")%> ignoreras i 64-bitsläge"
+ 
+ #: config/i386/i386.c:5938
+ #, gcc-internal-format
+@@ -27753,10 +27664,9 @@
+ msgstr "%<-msseregparm%> använd utan SSE aktiverat"
+ 
+ #: config/i386/i386.c:5987
+-#, fuzzy, gcc-internal-format
+-#| msgid "%<-msseregparm%> used without SSE enabled"
++#, gcc-internal-format
+ msgid "%<target(\"sseregparm\")%> used without SSE enabled"
+-msgstr "%<-msseregparm%> använd utan SSE aktiverat"
++msgstr "%<target(\"sseregparm\")%> använt utan SSE aktiverat"
+ 
+ #: config/i386/i386.c:5997
+ #, gcc-internal-format
+@@ -27774,10 +27684,9 @@
+ msgstr "stackavkänning kräver %<-maccumulate-outgoing-args%> för att bli korrekt"
+ 
+ #: config/i386/i386.c:6056
+-#, fuzzy, gcc-internal-format
+-#| msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness"
++#, gcc-internal-format
+ msgid "stack probing requires %<target(\"accumulate-outgoing-args\")%> for correctness"
+-msgstr "stackavkänning kräver %<-maccumulate-outgoing-args%> för att bli korrekt"
++msgstr "stackavkänning kräver %<target(\"accumulate-outgoing-args\")%> för att bli korrekt"
+ 
+ #: config/i386/i386.c:6070
+ #, gcc-internal-format
+@@ -27785,10 +27694,9 @@
+ msgstr "fasta ebp-register kräver %<-maccumulate-outgoing-args%>"
+ 
+ #: config/i386/i386.c:6072
+-#, fuzzy, gcc-internal-format
+-#| msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>"
++#, gcc-internal-format
+ msgid "fixed ebp register requires %<target(\"accumulate-outgoing-args\")%>"
+-msgstr "fasta ebp-register kräver %<-maccumulate-outgoing-args%>"
++msgstr "fasta ebp-register kräver %<target(\"accumulate-outgoing-args\")%>"
+ 
+ #: config/i386/i386.c:6178
+ #, gcc-internal-format
+@@ -27998,7 +27906,7 @@
+ #: config/i386/i386.c:13824
+ #, gcc-internal-format
+ msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine.  This may be worked around by avoiding functions with aggregate return."
+-msgstr "Dynamic Realign Argument Pointer (DRAP) stödjs inte i avbrottshanteringsrutiner.  Detta gan gås runt genom att undvika funktioner med sammansatta returvärden."
++msgstr "Dynamic Realign Argument Pointer (DRAP) stödjs inte i avbrottshanteringsrutiner.  Detta kan gås runt genom att undvika funktioner med sammansatta returvärden."
+ 
+ #: config/i386/i386.c:14836
+ #, gcc-internal-format
+@@ -28018,10 +27926,9 @@
+ msgstr "-fsplit-stack stödjer inte 3 registerparametrar"
+ 
+ #: config/i386/i386.c:17672 config/i386/i386.c:17686
+-#, fuzzy, gcc-internal-format
+-#| msgid "unsupported operand size for extended register"
++#, gcc-internal-format
+ msgid "unsupported size for integer register"
+-msgstr "ej stödd operandstorlek för utökat register"
++msgstr "ej stödd storlek för heltalsregister"
+ 
+ #: config/i386/i386.c:17718
+ #, gcc-internal-format
+@@ -29028,16 +28935,14 @@
+ msgstr "__delay_cycles() tar endast konstanta argument"
+ 
+ #: config/msp430/msp430.c:2504
+-#, fuzzy, gcc-internal-format
+-#| msgid "__delay_cycles only takes non-negative cycle counts."
++#, gcc-internal-format
+ msgid "__delay_cycles only takes non-negative cycle counts"
+-msgstr "__delay_cycles tar endast ickenegativa antal cykler."
++msgstr "__delay_cycles tar endast ickenegativa antal cykler"
+ 
+ #: config/msp430/msp430.c:2524
+-#, fuzzy, gcc-internal-format
+-#| msgid "__delay_cycles is limited to 32-bit loop counts."
++#, gcc-internal-format
+ msgid "__delay_cycles is limited to 32-bit loop counts"
+-msgstr "__delay_cycles är begränsad till 32-bitars slingräknare."
++msgstr "__delay_cycles är begränsad till 32-bitars slingräknare"
+ 
+ #: config/msp430/msp430.c:2594
+ #, gcc-internal-format
+@@ -29102,10 +29007,9 @@
+ msgstr "ogiltig warm-funktion för återställningsattribut"
+ 
+ #: config/nds32/nds32.c:2707
+-#, fuzzy, gcc-internal-format
+-#| msgid "position-independent code requires %qs"
++#, gcc-internal-format
+ msgid "position-independent code not supported"
+-msgstr "positionsoberoende kod behöver %qs"
++msgstr "positionsoberoende kod stödjs inte"
+ 
+ #: config/nios2/nios2.c:561
+ #, gcc-internal-format
+@@ -29313,10 +29217,9 @@
+ msgstr "använder vector_length (%d), ignorerar %d"
+ 
+ #: config/nvptx/nvptx.c:4675
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "using vector_length (%d), ignoring %d"
++#, gcc-internal-format, gfc-internal-format
+ msgid "using vector_length (%d), ignoring runtime setting"
+-msgstr "använder vector_length (%d), ignorerar %d"
++msgstr "använder vector_length (%d), ignorerar körtidsinställningen"
+ 
+ #: config/nvptx/nvptx.c:4685
+ #, gcc-internal-format, gfc-internal-format
+@@ -29498,7 +29401,7 @@
  msgid "vec_cmpne only accepts 2 arguments"
  msgstr "vec_cmpne tar endast 2 argument"
  
@@ -27117,7 +30414,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "vec_adde only accepts 3 arguments"
  msgstr "vec_adde tar endast 3 argument"
-@@ -29508,42 +29514,42 @@
+@@ -29508,42 +29411,42 @@
  msgid "vec_addec only accepts 3 arguments"
  msgstr "vec_addec tar endast 3 argument"
  
@@ -27168,7 +30465,139 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "invalid parameter combination for AltiVec intrinsic %s"
  msgstr "ogiltigt parameterkombination för inbyggd %s i AltiVec"
-@@ -30603,114 +30609,114 @@
+@@ -29601,7 +29504,7 @@
+ #: config/rs6000/rs6000.c:4145
+ #, gcc-internal-format
+ msgid "not configured for SPE ABI"
+-msgstr "inte konfigurerad för SPE-ABI:"
++msgstr "inte konfigurerad för SPE-ABI"
+ 
+ #: config/rs6000/rs6000.c:4150
+ #, gcc-internal-format
+@@ -29636,15 +29539,14 @@
+ #. Enforce that none of the ISA_3_0_MASKS_SERVER flags
+ #. were explicitly cleared.
+ #: config/rs6000/rs6000.c:4301 config/rs6000/rs6000.c:4312
+-#, fuzzy, gcc-internal-format
+-#| msgid "-mcmodel incompatible with other toc options"
++#, gcc-internal-format
+ msgid "-mpower9-minmax incompatible with explicitly disabled options"
+-msgstr "-mcmodel är inkompatibel med andra toc-flaggor"
++msgstr "-mpower9-minmax är inkompatibel med uttryckligen avaktiverade flaggor"
+ 
+ #: config/rs6000/rs6000.c:4304
+ #, gcc-internal-format
+ msgid "Power9 target option is incompatible with -mcpu=<xxx> for <xxx> less than power9"
+-msgstr ""
++msgstr "Målflaggan för power9 är inkompatibel med -mcpu=<xxx> för <xxx> som är mindre än power9"
+ 
+ #: config/rs6000/rs6000.c:4336
+ #, gcc-internal-format
+@@ -29723,7 +29625,7 @@
+ #: config/rs6000/rs6000.c:4647
+ #, gcc-internal-format
+ msgid "-mpower9-dform, -mpower9-dform-vector, -mpower9-dform-scalar require -mdirect-move"
+-msgstr ""
++msgstr "-mpower9-dform, -mpower9-dform-vector, -mpower9-dform-scalar kräver -mdirect-move"
+ 
+ #: config/rs6000/rs6000.c:4670
+ #, gcc-internal-format
+@@ -29791,10 +29693,9 @@
+ msgstr "-mfloat128-hardware behöver fullt ISA 3.0-stöd"
+ 
+ #: config/rs6000/rs6000.c:4867
+-#, fuzzy, gcc-internal-format
+-#| msgid "-mfloat128-hardware requires -mfloat128-type"
++#, gcc-internal-format
+ msgid "-mfloat128-hardware requires -m64"
+-msgstr "-mfloat128-hardware behöver -mfloat128-type"
++msgstr "-mfloat128-hardware behöver -m64"
+ 
+ #: config/rs6000/rs6000.c:4931
+ #, gcc-internal-format, gfc-internal-format
+@@ -30211,13 +30112,12 @@
+ #: config/rs6000/rs6000.c:39777
+ #, gcc-internal-format, gfc-internal-format
+ msgid "-mno-%s turns off -m%s"
+-msgstr ""
++msgstr "-mno-%s slår av -m%s"
+ 
+ #: config/rs6000/rs6000.c:39794
+-#, fuzzy, gcc-internal-format
+-#| msgid "-mpower9-vector requires -mpower8-vector"
++#, gcc-internal-format
+ msgid "-mno-power9-vector turns off -mpower9-dform"
+-msgstr "-mpower9-vector behöver -mpower8-vector"
++msgstr "-mno-power9-vector slår av -mpower9-dform"
+ 
+ #. Definitions of target machine for GNU compiler,
+ #. for IBM RS/6000 POWER running AIX version 4.3.
+@@ -30508,22 +30408,19 @@
+ msgstr "inbyggd %qF är endast för GCC:s interna användning."
+ 
+ #: config/s390/s390-c.c:879
+-#, fuzzy, gcc-internal-format
+-#| msgid "%qs is deprecated"
++#, gcc-internal-format
+ msgid "builtin %qF is deprecated."
+-msgstr "%qs bör undvikas"
++msgstr "inbyggd %qF bör undvikas."
+ 
+ #: config/s390/s390-c.c:883
+-#, fuzzy, gcc-internal-format
+-#| msgid "-mvsx-timode requires -mvsx"
++#, gcc-internal-format
+ msgid "%qF requires -mvx"
+-msgstr "-mvsx-timode behöver -mvsx"
++msgstr "%qF behöver -mvx"
+ 
+ #: config/s390/s390-c.c:889
+-#, fuzzy, gcc-internal-format
+-#| msgid "ABI requires -march=rv%d"
++#, gcc-internal-format
+ msgid "%qF requires -march=arch12 or higher"
+-msgstr "ABI:et kräver -march=rv%d"
++msgstr "%qF behöver -march=arch12 eller högre"
+ 
+ #: config/s390/s390-c.c:903
+ #, gcc-internal-format
+@@ -30543,13 +30440,12 @@
+ #: config/s390/s390-c.c:966
+ #, gcc-internal-format
+ msgid "%qs matching variant requires -march=arch12 or higher"
+-msgstr ""
++msgstr "%qs-matchning kräver -march=arch12 eller högre"
+ 
+ #: config/s390/s390-c.c:972
+-#, fuzzy, gcc-internal-format
+-#| msgid "%qs is deprecated"
++#, gcc-internal-format
+ msgid "%qs matching variant is deprecated."
+-msgstr "%qs bör undvikas"
++msgstr "%qs-matchningsvariant bör undvikas"
+ 
+ #: config/s390/s390-c.c:1012
+ #, gcc-internal-format
+@@ -30572,15 +30468,14 @@
+ msgstr "inbyggd %qF stödjs inte utan -mhtm (standard med -march=zEC12 och högre)."
+ 
+ #: config/s390/s390.c:843
+-#, fuzzy, gcc-internal-format
+-#| msgid "builtin %qF is not supported without -mvx (default with -march=z13 and higher)."
++#, gcc-internal-format
+ msgid "builtin %qF requires -mvx (default with -march=z13 and higher)."
+-msgstr "inbyggd %qF stödjs inte utan -mvx (standard med -march=z13 och högre)."
++msgstr "inbyggd %qF behöver -mvx (standard med -march=z13 och högre)."
+ 
+ #: config/s390/s390.c:850
+ #, gcc-internal-format
+ msgid "Builtin %qF requires arch12 or higher."
+-msgstr ""
++msgstr "Inbyggd %qF kräver arch12 eller högre."
+ 
+ #: config/s390/s390.c:869
+ #, gcc-internal-format
+@@ -30603,114 +30498,114 @@
  msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)"
  msgstr "begärt attribut %qE är inte ett kommaseparerat par av ickenegativa heltalskonstanter eller för stort (max. %d)"
  
@@ -27305,6 +30734,1169 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "value %qs is not supported by attribute %<target%>"
  msgstr "värdet %qs stödjs inte av attributet %<target%>"
+@@ -33404,10 +33299,9 @@
+ msgstr "kvalificeraren %E ignorerad på asm"
+ 
+ #: c/c-parser.c:6175
+-#, fuzzy, gcc-internal-format
+-#| msgid "expected %<,%> or %<)%>"
++#, gcc-internal-format
+ msgid "expected %<:%> or %<)%>"
+-msgstr "%<,%> eller %<)%> förväntades"
++msgstr "%<:%> eller %<)%> förväntades"
+ 
+ #: c/c-parser.c:6487
+ #, gcc-internal-format
+@@ -33480,10 +33374,9 @@
+ msgstr "kompatibla typen finns här"
+ 
+ #: c/c-parser.c:7466
+-#, fuzzy, gcc-internal-format
+-#| msgid "%<_Generic> selector matches multiple associations"
++#, gcc-internal-format
+ msgid "%<_Generic%> selector matches multiple associations"
+-msgstr "%<_Generic>-väljare matchar flera associationer"
++msgstr "%<_Generic%>-väljare matchar flera associationer"
+ 
+ #: c/c-parser.c:7468
+ #, gcc-internal-format
+@@ -33666,10 +33559,9 @@
+ #: cp/parser.c:35805 cp/parser.c:38116 cp/parser.c:38131 cp/parser.c:38147
+ #: cp/parser.c:38163 cp/parser.c:38179 cp/parser.c:38207 cp/parser.c:38220
+ #: cp/parser.c:38243 cp/parser.c:38256
+-#, fuzzy, gcc-internal-format
+-#| msgid "%<#pragma omp flush%> may only be used in compound statements"
++#, gcc-internal-format
+ msgid "%<#pragma %s%> may only be used in compound statements"
+-msgstr "%<#pragma omp flush%> får bara användas i sammansatta satser"
++msgstr "%<#pragma %s%> får bara användas i sammansatta satser"
+ 
+ #: c/c-parser.c:10214 cp/parser.c:38233
+ #, gcc-internal-format
+@@ -33963,7 +33855,7 @@
+ #: c/c-parser.c:13783 cp/parser.c:36161
+ #, gcc-internal-format
+ msgid "array section in %<#pragma acc declare%>"
+-msgstr "vektorsektionen i %<pragma acc declare%>"
++msgstr "vektorsektionen i %<#pragma acc declare%>"
+ 
+ #: c/c-parser.c:13803 cp/parser.c:36181
+ #, gcc-internal-format
+@@ -33991,10 +33883,9 @@
+ msgstr "variabeln %qD använd mer än en gång med %<#pragma acc declare%>"
+ 
+ #: c/c-parser.c:13933 cp/parser.c:36305
+-#, fuzzy, gcc-internal-format
+-#| msgid "expected %<data%> after %<#pragma acc enter%>"
++#, gcc-internal-format
+ msgid "expected %<data%> after %<#pragma acc %s%>"
+-msgstr "%<data%> förväntades efter %<#pragma acc enter%>"
++msgstr "%<data%> förväntades efter %<#pragma acc %s%>"
+ 
+ #: c/c-parser.c:13949 cp/parser.c:36322
+ #, gcc-internal-format
+@@ -34032,16 +33923,14 @@
+ msgstr "%<#pragma acc routine%> redan använd på %qD"
+ 
+ #: c/c-parser.c:14277 cp/parser.c:37585
+-#, fuzzy, gcc-internal-format
+-#| msgid "%<#pragma acc routine%> must be applied before %s"
++#, gcc-internal-format
+ msgid "%<#pragma acc routine%> must be applied before use"
+-msgstr "%<#pragma acc routine%> måste vara tillämpad före %s"
++msgstr "%<#pragma acc routine%> måste vara tillämpad före användning"
+ 
+ #: c/c-parser.c:14278 cp/parser.c:37586
+-#, fuzzy, gcc-internal-format
+-#| msgid "%<#pragma acc routine%> must be applied before %s"
++#, gcc-internal-format
+ msgid "%<#pragma acc routine%> must be applied before definition"
+-msgstr "%<#pragma acc routine%> måste vara tillämpad före %s"
++msgstr "%<#pragma acc routine%> måste vara tillämpad före definitionen"
+ 
+ #: c/c-parser.c:14321 cp/parser.c:36497
+ #, gcc-internal-format
+@@ -34196,7 +34085,7 @@
+ #: c/c-parser.c:16813 cp/parser.c:36749
+ #, gcc-internal-format
+ msgid "%<#pragma omp declare target%> with clauses in between %<#pragma omp declare target%> without clauses and %<#pragma omp end declare target%>"
+-msgstr "%<#pragma omp declare target%> med klausuler mellan %<#pragma omp declare target%> utan klasusuler och %<#pragma omp end declare target%>"
++msgstr "%<#pragma omp declare target%> med klausuler mellan %<#pragma omp declare target%> utan klausuler och %<#pragma omp end declare target%>"
+ 
+ #: c/c-parser.c:16832 cp/parser.c:36768
+ #, gcc-internal-format
+@@ -34888,7 +34777,7 @@
+ #: c/c-typeck.c:5524
+ #, gcc-internal-format, gfc-internal-format
+ msgid "cast to %s address space pointer from disjoint generic address space pointer"
+-msgstr "typkonvertering till adressrymdspekare %s från skild generisk adressrymdspekare "
++msgstr "typkonvertering till adressrymdspekare %s från skild generisk adressrymdspekare"
+ 
+ #: c/c-typeck.c:5529
+ #, gcc-internal-format, gfc-internal-format
+@@ -36082,7 +35971,7 @@
+ #: cp/call.c:3509
+ #, gcc-internal-format
+ msgid "  conversion from return type %qT of template conversion function specialization to %qT is not an exact match"
+-msgstr "  konvertering från returtypen %qT för specialiceringen av mallkonverteringsfunktionen till %qT är inte en exakt matchning"
++msgstr "  konvertering från returtypen %qT för specialiseringen av mallkonverteringsfunktionen till %qT är inte en exakt matchning"
+ 
+ #: cp/call.c:3520
+ #, gcc-internal-format
+@@ -36529,16 +36418,14 @@
+ msgstr "pure virtual %q#D anropad från initierare av ickestatisk datamedlem"
+ 
+ #: cp/call.c:8777
+-#, fuzzy, gcc-internal-format
+-#| msgid "pure virtual %q#D called from non-static data member initializer"
++#, gcc-internal-format
+ msgid "pure virtual %q#D called from constructor"
+-msgstr "pure virtual %q#D anropad från initierare av ickestatisk datamedlem"
++msgstr "pure virtual %q#D anropad från en konstruerare"
+ 
+ #: cp/call.c:8778
+-#, fuzzy, gcc-internal-format
+-#| msgid "pure virtual %q#D called from non-static data member initializer"
++#, gcc-internal-format
+ msgid "pure virtual %q#D called from destructor"
+-msgstr "pure virtual %q#D anropad från initierare av ickestatisk datamedlem"
++msgstr "pure virtual %q#D anropad från en konstruerare"
+ 
+ #: cp/call.c:8801
+ #, gcc-internal-format
+@@ -36839,7 +36726,7 @@
+ #: cp/class.c:3788
+ #, gcc-internal-format
+ msgid "non-static data member %q+D in a union may not have reference type %qT"
+-msgstr "icke-statisk datamedlem %q#D i en union får inte ha referenstyp %qT"
++msgstr "icke-statisk datamedlem %q+D i en union får inte ha referenstyp %qT"
+ 
+ #: cp/class.c:3798
+ #, gcc-internal-format
+@@ -37968,7 +37855,7 @@
+ #: cp/decl.c:1325
+ #, gcc-internal-format
+ msgid "redeclaration %qD differs in %<constexpr%> from previous declaration"
+-msgstr "omdeklaration av %q+D skiljer i %<constexpr%> från tidigare deklaration"
++msgstr "omdeklaration av %qD skiljer i %<constexpr%> från tidigare deklaration"
+ 
+ #: cp/decl.c:1328 cp/decl.c:13702
+ #, gcc-internal-format
+@@ -38343,7 +38230,7 @@
+ #: cp/decl.c:4178
+ #, gcc-internal-format, gfc-internal-format
+ msgid "-faligned-new=%d is not a power of two"
+-msgstr "-falign-new=%d är inte en exponent av två"
++msgstr "-faligned-new=%d är inte en exponent av två"
+ 
+ #: cp/decl.c:4641
+ #, gcc-internal-format
+@@ -38740,7 +38627,7 @@
+ #: cp/decl.c:6785 cp/decl.c:12397
+ #, gcc-internal-format
+ msgid "ISO C++1z does not allow %<register%> storage class specifier"
+-msgstr "ISO C++1z tillåter inte specificeraren %<register%> av  lagringsklass"
++msgstr "ISO C++1z tillåter inte specificeraren %<register%> av lagringsklass"
+ 
+ #: cp/decl.c:6789 cp/decl.c:12401
+ #, gcc-internal-format
+@@ -39036,7 +38923,7 @@
+ #: cp/decl.c:8762
+ #, gcc-internal-format
+ msgid "deduction guide %qD must be declared at namespace scope"
+-msgstr "härledningsguden %qD måste deklareras med namnrymdsräckvidd"
++msgstr "härledningsguiden %qD måste deklareras med namnrymdsräckvidd"
+ 
+ #: cp/decl.c:8768
+ #, gcc-internal-format
+@@ -39054,16 +38941,14 @@
+ msgstr "%qD har en ogiltig argumentlista"
+ 
+ #: cp/decl.c:8798
+-#, fuzzy, gcc-internal-format
+-#| msgid "integer suffix %<%s%> shadowed by implementation"
++#, gcc-internal-format
+ msgid "integer suffix %qs shadowed by implementation"
+-msgstr "heltalssuffixet %<%s%> skuggas av implementationen"
++msgstr "heltalssuffixet %qs skuggas av implementationen"
+ 
+ #: cp/decl.c:8804
+-#, fuzzy, gcc-internal-format
+-#| msgid "floating point suffix %<%s%> shadowed by implementation"
++#, gcc-internal-format
+ msgid "floating point suffix %qs shadowed by implementation"
+-msgstr "flyttalssuffixet %<%s%> skuggas av implementationen"
++msgstr "flyttalssuffixet %qs skuggas av implementationen"
+ 
+ #: cp/decl.c:8810
+ #, gcc-internal-format
+@@ -39118,17 +39003,17 @@
+ #: cp/decl.c:9280
+ #, gcc-internal-format
+ msgid "%<constexpr%> needed for in-class initialization of static data member %q#D of non-integral type"
+-msgstr "%<constexpr%> behövs för initiering i klassen av statisk datamedlem med icke heltaltyp %q#D"
++msgstr "%<constexpr%> behövs för initiering i klassen av statisk datamedlem med icke heltalstyp %q#D"
+ 
+ #: cp/decl.c:9284
+ #, gcc-internal-format
+ msgid "in-class initialization of static data member %q#D of non-literal type"
+-msgstr "initiering i klassen av statisk datamedlem med icke heltaltyp %q#D"
++msgstr "initiering i klassen av statisk datamedlem med icke heltalstyp %q#D"
+ 
+ #: cp/decl.c:9298
+ #, gcc-internal-format
+ msgid "invalid in-class initialization of static data member of non-integral type %qT"
+-msgstr "ogiltig initiering i klassen av statisk datamedlem med icke heltaltyp %qT"
++msgstr "ogiltig initiering i klassen av statisk datamedlem med icke heltalstyp %qT"
+ 
+ #: cp/decl.c:9305
+ #, gcc-internal-format
+@@ -39323,7 +39208,7 @@
+ #: cp/decl.c:9846
+ #, gcc-internal-format
+ msgid "inline variables are only available with -std=c++1z or -std=gnu++1z"
+-msgstr "inline-variabler är endast tillgängliga med -std=c++11 eller -std=gnu++11"
++msgstr "inline-variabler är endast tillgängliga med -std=c++1z eller -std=gnu++1z"
+ 
+ #: cp/decl.c:10099
+ #, gcc-internal-format
+@@ -39478,7 +39363,7 @@
+ #: cp/decl.c:10590
+ #, gcc-internal-format
+ msgid "template placeholder type %qT must be followed by a simple declarator-id"
+-msgstr "mallens platshållartyp %qT måste följas av ett enklel deklarerar-id"
++msgstr "mallens platshållartyp %qT måste följas av ett enkelt deklarerar-id"
+ 
+ #: cp/decl.c:10608
+ #, gcc-internal-format
+@@ -39563,7 +39448,7 @@
+ #: cp/decl.c:10696
+ #, gcc-internal-format
+ msgid "decomposition declaration cannot be declared %<mutable%>"
+-msgstr "dekomoneringsdeklarationen får inte deklareras %<mutable%>"
++msgstr "dekomponeringsdeklarationen får inte deklareras %<mutable%>"
+ 
+ #: cp/decl.c:10700
+ #, gcc-internal-format
+@@ -39573,7 +39458,7 @@
+ #: cp/decl.c:10711
+ #, gcc-internal-format
+ msgid "decomposition declaration cannot be declared with type %qT"
+-msgstr "dekompneringsdeklarationen får inte deklareras med typen %qT"
++msgstr "dekomponeringsdeklarationen får inte deklareras med typen %qT"
+ 
+ #: cp/decl.c:10714
+ #, gcc-internal-format
+@@ -39663,7 +39548,7 @@
+ #: cp/decl.c:11007
+ #, gcc-internal-format
+ msgid "trailing return type %qT of deduction guide is not a specialization of %qT"
+-msgstr "den avslutande returtypen %qT hos deduktionsguiden är inte en specialicering av %qT"
++msgstr "den avslutande returtypen %qT hos deduktionsguiden är inte en specialisering av %qT"
+ 
+ #. Not using maybe_warn_cpp0x because this should
+ #. always be an error.
+@@ -39703,10 +39588,9 @@
+ msgstr "destruerare får inte vara ref-kvalificerade"
+ 
+ #: cp/decl.c:11072
+-#, fuzzy, gcc-internal-format
+-#| msgid "destructors may not be ref-qualified"
++#, gcc-internal-format
+ msgid "constructors may not be ref-qualified"
+-msgstr "destruerare får inte vara ref-kvalificerade"
++msgstr "konstruerare får inte vara ref-kvalificerade"
+ 
+ #: cp/decl.c:11090
+ #, gcc-internal-format
+@@ -39950,10 +39834,9 @@
+ msgstr "ej statisk datamedlem deklarerad med platshållaren %qT"
+ 
+ #: cp/decl.c:11873
+-#, fuzzy, gcc-internal-format
+-#| msgid "ISO C++ forbids flexible array members"
++#, gcc-internal-format
+ msgid "ISO C++ forbids flexible array member %qs"
+-msgstr "ISO C++ förbjuder flexibla vektormedlemmar"
++msgstr "ISO C++ förbjuder den flexibla vektormedlemen %qs"
+ 
+ #: cp/decl.c:11876
+ #, gcc-internal-format
+@@ -40503,10 +40386,9 @@
+ msgstr "ökat uppräkningsvärde är för stort för %<unsigned long%>"
+ 
+ #: cp/decl.c:14532
+-#, fuzzy, gcc-internal-format
+-#| msgid "incremented enumerator value is too large for %<unsigned long%>"
++#, gcc-internal-format
+ msgid "incremented enumerator value is too large for %<long%>"
+-msgstr "ökat uppräkningsvärde är för stort för %<unsigned long%>"
++msgstr "ökat uppräkningsvärde är för stort för %<long%>"
+ 
+ #: cp/decl.c:14543
+ #, gcc-internal-format
+@@ -41354,13 +41236,12 @@
+ #: cp/init.c:2868
+ #, gcc-internal-format
+ msgid "non-constant array new length must be specified directly, not by typedef"
+-msgstr ""
++msgstr "en ny längd för en icke-konstant vektor måste anges direkt, inte av en typedef"
+ 
+ #: cp/init.c:2870
+-#, fuzzy, gcc-internal-format
+-#| msgid "try removing the parentheses around the type-id"
++#, gcc-internal-format
+ msgid "non-constant array new length must be specified without parentheses around the type-id"
+-msgstr "försök ta bort parenteserna runt typ-id:t"
++msgstr "new-längden för en icke-konstant vektor måste anges utan parenteserna runt typ-id:t"
+ 
+ #: cp/init.c:2880
+ #, gcc-internal-format
+@@ -41691,7 +41572,7 @@
+ #: cp/method.c:1799
+ #, gcc-internal-format
+ msgid "%q#D inherits from multiple base subobjects"
+-msgstr "%q#D ärver från flera bassubjobjekt"
++msgstr "%q#D ärver från flera bassubobjekt"
+ 
+ #: cp/method.c:1819
+ #, gcc-internal-format
+@@ -42031,10 +41912,9 @@
+ msgstr "argumentberoende uppslagning hittar %q+D"
+ 
+ #: cp/name-lookup.c:6215
+-#, fuzzy, gcc-internal-format
+-#| msgid "definition of std::initializer_list does not match #include <initializer_list>"
++#, gcc-internal-format
+ msgid "declaration of std::initializer_list does not match #include <initializer_list>, isn't a template"
+-msgstr "definitionen av std::initializer_list matchar inte #include <initializer_list>"
++msgstr "definitionen av std::initializer_list matchar inte #include <initializer_list>, är inte en mall"
+ 
+ #: cp/name-lookup.c:6526
+ #, gcc-internal-format
+@@ -44403,7 +44283,7 @@
+ #: cp/pt.c:2993
+ #, gcc-internal-format
+ msgid "friend declaration %qD is not visible to explicit specialization"
+-msgstr "vändeklarationen %qD  är inte synlig för en explicit specialisering"
++msgstr "vändeklarationen %qD är inte synlig för en explicit specialisering"
+ 
+ #: cp/pt.c:2996
+ #, gcc-internal-format
+@@ -44736,7 +44616,7 @@
+ #: cp/pt.c:6147
+ #, gcc-internal-format
+ msgid "  template parameter %qD is not a parameter pack, but argument %qD is"
+-msgstr "mallparameter %qD är inte ett parameterpaket, men argument %qD är det"
++msgstr "  mallparameter %qD är inte ett parameterpaket, men argument %qD är det"
+ 
+ #: cp/pt.c:6158
+ #, gcc-internal-format
+@@ -45213,7 +45093,7 @@
+ #: cp/pt.c:17236
+ #, gcc-internal-format
+ msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation"
+-msgstr ""
++msgstr "%qD deklarerades inte i detta definitionsområde, och inga deklarationer hittades av en argumentberoende uppslagning vid instantieringspunkten"
+ 
+ #: cp/pt.c:17265
+ #, gcc-internal-format
+@@ -45719,16 +45599,14 @@
+ msgstr "användning av parameter från den kringliggande funktionen"
+ 
+ #: cp/semantics.c:3514
+-#, fuzzy, gcc-internal-format
+-#| msgid "use of parameter from containing function"
++#, gcc-internal-format
+ msgid "use of parameter outside function body"
+-msgstr "användning av parameter från den kringliggande funktionen"
++msgstr "användning av parameter utanför funktionskroppen"
+ 
+ #: cp/semantics.c:3524
+-#, fuzzy, gcc-internal-format
+-#| msgid "missing template arguments after %qT"
++#, gcc-internal-format
+ msgid "missing template arguments"
+-msgstr "mallargument saknas efter %qT"
++msgstr "mallargument saknas"
+ 
+ #: cp/semantics.c:3551
+ #, gcc-internal-format
+@@ -46077,7 +45955,7 @@
+ #: cp/tree.c:3893
+ #, gcc-internal-format
+ msgid "%qE attribute applied to %qD with void return type"
+-msgstr "attributet %qE tillämpad på %qD med returtypen void"
++msgstr "attributet %qE tillämpat på %qD med returtypen void"
+ 
+ #: cp/tree.c:3900
+ #, gcc-internal-format
+@@ -46629,7 +46507,7 @@
+ #: cp/typeck.c:5931
+ #, gcc-internal-format
+ msgid "%<~%> on an expression of type bool"
+-msgstr "%<~%> på ett yttryck av typ bool"
++msgstr "%<~%> på ett uttryck av typ bool"
+ 
+ #: cp/typeck.c:5932
+ #, gcc-internal-format
+@@ -47183,10 +47061,9 @@
+ msgstr "ogiltig användning av medlem %qD (glömde du %<&%>?)"
+ 
+ #: cp/typeck2.c:529
+-#, fuzzy, gcc-internal-format
+-#| msgid "invalid use of %qT"
++#, gcc-internal-format
+ msgid "invalid use of placeholder %qT"
+-msgstr "ogiltigt användning av %qT"
++msgstr "ogiltig användning av platshållaren %qT"
+ 
+ #: cp/typeck2.c:536
+ #, gcc-internal-format
+@@ -47873,10 +47750,9 @@
+ msgstr "%qs vid %L måste vara ickenegativt"
+ 
+ #: fortran/check.c:310
+-#, fuzzy, gcc-internal-format
+-#| msgid "%qs argument of %qs intrinsic at %L must be %s"
++#, gcc-internal-format
+ msgid "%qs argument of %qs intrinsic at %L must be positive"
+-msgstr "%qs-argumentet till inbyggd %qs vid %L måste vara %s"
++msgstr "%qs-argumentet till inbyggd %qs vid %L måste vara positivt"
+ 
+ #: fortran/check.c:343
+ #, gcc-internal-format
+@@ -48030,16 +47906,14 @@
+ msgstr "VALUE-argumentet till den inbyggda funktionen %s vid %L måste vara definierbart"
+ 
+ #: fortran/check.c:1173 fortran/check.c:1187
+-#, fuzzy, gcc-internal-format
+-#| msgid "%qs argument of %qs intrinsic at %L must be %s"
++#, gcc-internal-format
+ msgid "%qs argument of %qs intrinsic at %L not yet supported"
+-msgstr "%qs-argumentet till inbyggd %qs vid %L måste vara %s"
++msgstr "%qs-argumentet till inbyggd %qs vid %L stödjs inte ännu"
+ 
+ #: fortran/check.c:1207
+-#, fuzzy, gcc-internal-format
+-#| msgid "%qs argument of %qs intrinsic at %L is not a valid dimension index"
++#, gcc-internal-format
+ msgid "%qs argument of %qs intrinsic at %L shall specify a valid integer kind"
+-msgstr "%qs-argumentet till inbyggd %qs vid %L är inte ett giltigt dimensionsindex"
++msgstr "%qs-argumentet till inbyggd %qs vid %L skall ange en giltig heltalssort"
+ 
+ #: fortran/check.c:1247 fortran/check.c:1344
+ #, gcc-internal-format, gfc-internal-format
+@@ -48355,7 +48229,7 @@
+ #: fortran/check.c:3467
+ #, gcc-internal-format, gfc-internal-format
+ msgid "The FROM and TO arguments at %L violate aliasing restrictions (F2003 12.4.1.7)"
+-msgstr "Argumenten FROM och TO vid %L bryter mod restriktioner (F2003 12.4.1.7)"
++msgstr "Argumenten FROM och TO vid %L bryter aliasrestriktioner (F2003 12.4.1.7)"
+ 
+ #: fortran/check.c:3494
+ #, gcc-internal-format
+@@ -48700,7 +48574,7 @@
+ #: fortran/check.c:5454
+ #, gcc-internal-format
+ msgid "%qs and %qs arguments of %qs intrinsic at %L must have identical shape."
+-msgstr "%qs- och %qs-argumenten till inbyggd %qs vid %L måste ha identiska former"
++msgstr "%qs- och %qs-argumenten till inbyggd %qs vid %L måste ha identiska former."
+ 
+ #: fortran/check.c:5710 fortran/check.c:5742
+ #, gcc-internal-format
+@@ -49067,7 +48941,7 @@
+ #: fortran/decl.c:1878
+ #, gcc-internal-format
+ msgid "Component %qs with CLASS at %C must be allocatable or pointer"
+-msgstr "Procedur %qs med CLASS vid %C måste vara allokerbar eller en pekare"
++msgstr "Komponenten %qs med CLASS vid %C måste vara allokerbar eller en pekare"
+ 
+ #: fortran/decl.c:1887
+ #, gcc-internal-format, gfc-internal-format
+@@ -49379,7 +49253,7 @@
+ #: fortran/decl.c:4213
+ #, gcc-internal-format, gfc-internal-format
+ msgid "%s at %L is a DEC extension, enable with -fdec-static"
+-msgstr "%s vid %L är en DEC-utökning, aktivera den med -fdec-structure"
++msgstr "%s vid %L är en DEC-utökning, aktivera den med -fdec-static"
+ 
+ #: fortran/decl.c:4229
+ #, gcc-internal-format, gfc-internal-format
+@@ -50128,10 +50002,9 @@
+ msgstr "Misslyckades att skapa en post av typen ”%s” vid %C"
+ 
+ #: fortran/decl.c:8590
+-#, fuzzy, gcc-internal-format
+-#| msgid "Type definition of '%s' at %C was already defined at %L"
++#, gcc-internal-format
+ msgid "Type definition of %qs at %C was already defined at %L"
+-msgstr "Typdefinitionen av ”%s” vid %C definierades redan vid %L"
++msgstr "Typdefinitionen av %qs vid %C definierades redan vid %L"
+ 
+ #: fortran/decl.c:8637
+ #, gcc-internal-format, gfc-internal-format
+@@ -50159,10 +50032,9 @@
+ msgstr "Skräp efter icke nästad STRUCTURE-sats vid %C"
+ 
+ #: fortran/decl.c:8743
+-#, fuzzy, gcc-internal-format
+-#| msgid "Structure name '%s' at %C cannot be the same as an intrinsic type"
++#, gcc-internal-format
+ msgid "Structure name %qs at %C cannot be the same as an intrinsic type"
+-msgstr "Postnamnet ”%s” vid %C får inte vara samma som en inbyggd typ"
++msgstr "Postnamnet %qs vid %C får inte vara samma som en inbyggd typ"
+ 
+ #: fortran/decl.c:8897
+ #, gcc-internal-format, gfc-internal-format
+@@ -50580,8 +50452,7 @@
+ msgstr "Ogiltigt initieringsuttryck för ALLOCATABLE-komponent %qs i postkonstrueraren vid %L"
+ 
+ #: fortran/expr.c:2323
+-#, fuzzy, gcc-internal-format
+-#| msgid "Assumed or deferred character length variable %qs  in constant expression at %L"
++#, gcc-internal-format
+ msgid "Assumed or deferred character length variable %qs in constant expression at %L"
+ msgstr "Teckenlängdsvariabel %qs med antagen eller fördröjd längd i konstant uttryck vid %L"
+ 
+@@ -50656,10 +50527,9 @@
+ msgstr "Specifikationsfunktionen %qs vid %L måste vara PURE"
+ 
+ #: fortran/expr.c:2795
+-#, fuzzy, gcc-internal-format
+-#| msgid "Specification function '%s' at %L cannot be RECURSIVE"
++#, gcc-internal-format
+ msgid "Specification function %qs at %L cannot be RECURSIVE"
+-msgstr "Specifikationsfunktionen ”%s” vid %L får inte vara RECURSIVE"
++msgstr "Specifikationsfunktionen %qs vid %L får inte vara RECURSIVE"
+ 
+ #: fortran/expr.c:2941
+ #, gcc-internal-format
+@@ -50852,16 +50722,14 @@
+ msgstr "Det stämmer inte i procedurpekartilldelningen vid %L: anropskonventionen stämmer inte"
+ 
+ #: fortran/expr.c:3593
+-#, fuzzy, gcc-internal-format
+-#| msgid "Interface mismatch in procedure pointer assignment at %L: '%s' is not a subroutine"
++#, gcc-internal-format
+ msgid "Interface mismatch in procedure pointer assignment at %L: %qs is not a subroutine"
+-msgstr "Gränssnitten stämmer inte överens i procedurpekartilldelning vid %L: ”%s” är inte en subrutin"
++msgstr "Gränssnitten stämmer inte överens i procedurpekartilldelning vid %L: %qs är inte en subrutin"
+ 
+ #: fortran/expr.c:3603 fortran/expr.c:3618
+-#, fuzzy, gcc-internal-format
+-#| msgid "Explicit interface required for %qs at %L: %s"
++#, gcc-internal-format
+ msgid "Explicit interface required for component %qs at %L: %s"
+-msgstr "Explicit gränssnitt krävs för %qs vid %L: %s"
++msgstr "Explicit gränssnitt krävs för komponenten %qs vid %L: %s"
+ 
+ #: fortran/expr.c:3609 fortran/expr.c:3624 fortran/resolve.c:2458
+ #, gcc-internal-format
+@@ -51814,22 +51682,19 @@
+ msgstr "Alternativ retur vid %L är inte tillåtet i en DTIO-procedur"
+ 
+ #: fortran/interface.c:4697
+-#, fuzzy, gcc-internal-format
+-#| msgid "DTIO procedure '%s' at %L must be a subroutine"
++#, gcc-internal-format
+ msgid "DTIO procedure %qs at %L must be a subroutine"
+-msgstr "DTIO-proceduren ”%s” vid %L måste vara en subrutin"
++msgstr "DTIO-proceduren %qs vid %L måste vara en subrutin"
+ 
+ #: fortran/interface.c:4706
+-#, fuzzy, gcc-internal-format
+-#| msgid "Too few dummy arguments in DTIO procedure '%s' at %L"
++#, gcc-internal-format
+ msgid "Too few dummy arguments in DTIO procedure %qs at %L"
+-msgstr "För få argument i DTIO-proceduren ”%s” vid %L"
++msgstr "För få argument i DTIO-proceduren %qs vid %L"
+ 
+ #: fortran/interface.c:4713
+-#, fuzzy, gcc-internal-format
+-#| msgid "Too many dummy arguments in DTIO procedure '%s' at %L"
++#, gcc-internal-format
+ msgid "Too many dummy arguments in DTIO procedure %qs at %L"
+-msgstr "För många attrappargument i DTIO-proceduren ”%s” vid %L"
++msgstr "För många attrappargument i DTIO-proceduren %qs vid %L"
+ 
+ #: fortran/intrinsic.c:196
+ #, gcc-internal-format, gfc-internal-format
+@@ -52538,10 +52403,9 @@
+ msgstr "Postkomponentnamn eller operatornamn förväntades efter ”.” vid %C"
+ 
+ #: fortran/match.c:224
+-#, fuzzy, gcc-internal-format
+-#| msgid "'%s' is neither a defined operator nor a structure component in dotted string at %C"
++#, gcc-internal-format
+ msgid "%qs is neither a defined operator nor a structure component in dotted string at %C"
+-msgstr "”%s” är varken en definierad operator eller en postkomponent i en punktsträng vid %C"
++msgstr "%qs är varken en definierad operator eller en postkomponent i en punktsträng vid %C"
+ 
+ #: fortran/match.c:294
+ #, gcc-internal-format
+@@ -52805,10 +52669,9 @@
+ msgstr "%s-sats vid %C lämnar ett OpenACC-strukturerat block"
+ 
+ #: fortran/match.c:2736
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%s statement at %C leaving OpenACC structured block"
++#, gcc-internal-format, gfc-internal-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+-msgstr "%s-sats vid %C lämnar ett OpenACC-strukturerat block"
++msgstr "%s-sats vid %C lämnar ett OpenMP-strukturerat block"
+ 
+ #: fortran/match.c:2760
+ #, gcc-internal-format, gfc-internal-format
+@@ -52912,23 +52775,20 @@
+ 
+ #: fortran/match.c:3144 fortran/match.c:3361 fortran/match.c:3573
+ #: fortran/match.c:4083 fortran/match.c:4420
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Redundant STAT tag found at %L "
++#, gcc-internal-format, gfc-internal-format
+ msgid "Redundant STAT tag found at %L"
+-msgstr "Överflödig STAT-tagg funnen vid %L "
++msgstr "Överflödig STAT-tagg funnen vid %L"
+ 
+ #: fortran/match.c:3165 fortran/match.c:3382 fortran/match.c:3593
+ #: fortran/match.c:4109 fortran/match.c:4445
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Redundant ERRMSG tag found at %L "
++#, gcc-internal-format, gfc-internal-format
+ msgid "Redundant ERRMSG tag found at %L"
+-msgstr "Överflödig ERRMSG-tagg funnen vid %L "
++msgstr "Överflödig ERRMSG-tagg funnen vid %L"
+ 
+ #: fortran/match.c:3186
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Redundant UNTIL_COUNT tag found at %L "
++#, gcc-internal-format, gfc-internal-format
+ msgid "Redundant UNTIL_COUNT tag found at %L"
+-msgstr "Överflödig UNTIL_COUNT-tagg funnen vid %L "
++msgstr "Överflödig UNTIL_COUNT-tagg funnen vid %L"
+ 
+ #: fortran/match.c:3252
+ #, gcc-internal-format, gfc-internal-format
+@@ -52941,10 +52801,9 @@
+ msgstr "ENTRY WAIT-sats vid %C"
+ 
+ #: fortran/match.c:3274
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "VALUE statement at %C"
++#, gcc-internal-format, gfc-internal-format
+ msgid "FAIL IMAGE statement at %C"
+-msgstr "VALUE-sats vid %C"
++msgstr "FAIL IMAGE-sats vid %C"
+ 
+ #: fortran/match.c:3309
+ #, gcc-internal-format, gfc-internal-format
+@@ -52962,10 +52821,9 @@
+ msgstr "Bildstyrsatsen %s vid %C i DO CONCURRENT-block"
+ 
+ #: fortran/match.c:3403
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Redundant ACQUIRED_LOCK tag found at %L "
++#, gcc-internal-format, gfc-internal-format
+ msgid "Redundant ACQUIRED_LOCK tag found at %L"
+-msgstr "Överflödig ACQUIRED_LOCK-tagg funnen vid %L "
++msgstr "Överflödig ACQUIRED_LOCK-tagg funnen vid %L"
+ 
+ #: fortran/match.c:3468
+ #, gcc-internal-format, gfc-internal-format
+@@ -53073,10 +52931,9 @@
+ msgstr "SOURCE-tagg vid %L"
+ 
+ #: fortran/match.c:4132
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Redundant SOURCE tag found at %L "
++#, gcc-internal-format, gfc-internal-format
+ msgid "Redundant SOURCE tag found at %L"
+-msgstr "Överflödig SOURCE-tagg funnen vid %L "
++msgstr "Överflödig SOURCE-tagg funnen vid %L"
+ 
+ #: fortran/match.c:4139
+ #, gcc-internal-format, gfc-internal-format
+@@ -53094,10 +52951,9 @@
+ msgstr "MOLD-tagg vid %L"
+ 
+ #: fortran/match.c:4169
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Redundant MOLD tag found at %L "
++#, gcc-internal-format, gfc-internal-format
+ msgid "Redundant MOLD tag found at %L"
+-msgstr "Överflödig MOLD-tagg funnen vid %L "
++msgstr "Överflödig MOLD-tagg funnen vid %L"
+ 
+ #: fortran/match.c:4176
+ #, gcc-internal-format, gfc-internal-format
+@@ -53434,10 +53290,9 @@
+ msgstr "Byter namn på operatorer i USE-sats vid %C"
+ 
+ #: fortran/module.c:678
+-#, fuzzy, gcc-internal-format
+-#| msgid "The name %qs at %C has already been used as an external module name."
++#, gcc-internal-format
+ msgid "The name %qs at %C has already been used as an external module name"
+-msgstr "Namnet %qs vid %C har redan använts som ett externt modulnamn."
++msgstr "Namnet %qs vid %C har redan använts som ett externt modulnamn"
+ 
+ #: fortran/module.c:741
+ #, gcc-internal-format, gfc-internal-format
+@@ -53445,10 +53300,9 @@
+ msgstr "SUBMODULE-deklaration vid %C"
+ 
+ #: fortran/module.c:746
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "ENTRY statement at %C cannot appear within a contained subprogram"
++#, gcc-internal-format, gfc-internal-format
+ msgid "SUBMODULE declaration at %C cannot appear within another scoping unit"
+-msgstr "ENTRY-sats vid %C kan inte förekomma inuti ett inneslutet underprogram"
++msgstr "SUBMODULE-deklarationen vid %C får inte förekomma en annan räckviddsenhet"
+ 
+ #: fortran/module.c:821
+ #, gcc-internal-format, gfc-internal-format
+@@ -53737,22 +53591,19 @@
+ msgstr "!$OMP DECLARE REDUCTION %s finns inte vid %L"
+ 
+ #: fortran/openmp.c:2062
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Invalid clause in module with $!ACC DECLARE at %L"
++#, gcc-internal-format, gfc-internal-format
+ msgid "Invalid clause in module with !$ACC DECLARE at %L"
+-msgstr "Ogiltig klausul i modul med $!ACC DECLARE vid %L"
++msgstr "Ogiltig klausul i modul med !$ACC DECLARE vid %L"
+ 
+ #: fortran/openmp.c:2072
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable is USE-associated with $!ACC DECLARE at %L"
++#, gcc-internal-format, gfc-internal-format
+ msgid "Variable is USE-associated with !$ACC DECLARE at %L"
+-msgstr "Variabel i USE-associated med $!ACC DECLARE vid %L"
++msgstr "Variabel i USE-associated med !$ACC DECLARE vid %L"
+ 
+ #: fortran/openmp.c:2080
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Assumed-size dummy array with $!ACC DECLARE at %L"
++#, gcc-internal-format, gfc-internal-format
+ msgid "Assumed-size dummy array with !$ACC DECLARE at %L"
+-msgstr "Attrappvektor med antagen storlek med $!ACC DECLARE vid %L"
++msgstr "Attrappvektor med antagen storlek med !$ACC DECLARE vid %L"
+ 
+ #: fortran/openmp.c:2127
+ #, gcc-internal-format
+@@ -53760,10 +53611,9 @@
+ msgstr "%<acc update%> måste innehålla åtminstone en %<device%>- eller %<host%>- eller %<self%>-klausul vid %L"
+ 
+ #: fortran/openmp.c:2175
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Invalid argument to $!ACC WAIT at %L"
++#, gcc-internal-format, gfc-internal-format
+ msgid "Invalid argument to !$ACC WAIT at %L"
+-msgstr "Ogiltiga argument till $!ACC WAIT vid %L"
++msgstr "Ogiltiga argument till !$ACC WAIT vid %L"
+ 
+ #: fortran/openmp.c:2184
+ #, gcc-internal-format, gfc-internal-format
+@@ -53863,7 +53713,7 @@
+ #: fortran/openmp.c:3058
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Variable at %L mentioned multiple times in clauses of the same OMP DECLARE TARGET directive"
+-msgstr "Variabeln vid %L nämnd flera gånger i klausuler av samm OMP DECLARE TARGET-direktiv"
++msgstr "Variabeln vid %L nämnd flera gånger i klausuler av samma OMP DECLARE TARGET-direktiv"
+ 
+ #: fortran/openmp.c:3073
+ #, gcc-internal-format, gfc-internal-format
+@@ -53873,7 +53723,7 @@
+ #: fortran/openmp.c:3079
+ #, gcc-internal-format, gfc-internal-format
+ msgid "OMP DECLARE TARGET COMMON at %L previously mentioned in TO clause and later in LINK clause"
+-msgstr "OMP DECLARE TARGET COMMON %L är tidigare nämnde i en TO-klausul och senare i en LINK-klausul"
++msgstr "OMP DECLARE TARGET COMMON %L är tidigare nämnd i en TO-klausul och senare i en LINK-klausul"
+ 
+ #: fortran/openmp.c:3083
+ #, gcc-internal-format, gfc-internal-format
+@@ -53966,16 +53816,14 @@
+ msgstr "POINTER-objekt %qs av härledd typ i %s-klausul vid %L"
+ 
+ #: fortran/openmp.c:3735
+-#, fuzzy, gcc-internal-format
+-#| msgid "Cray pointer object of derived type %qs in %s clause at %L"
++#, gcc-internal-format
+ msgid "Cray pointer object %qs of derived type in %s clause at %L"
+-msgstr "Cray-pekareobjekt av härledd typ %qs i %s-klausul vid %L"
++msgstr "Cray-pekarobjekt %qs av härledd typ i %s-klausul vid %L"
+ 
+ #: fortran/openmp.c:3738
+-#, fuzzy, gcc-internal-format
+-#| msgid "Cray pointee object of derived type %qs in %s clause at %L"
++#, gcc-internal-format
+ msgid "Cray pointee object %qs of derived type in %s clause at %L"
+-msgstr "Cray-utpekadobjekt av härledd typ %qs i %s-klausul vid %L"
++msgstr "Cray-utpekat objekt %qs av härledd typ i %s-klausul vid %L"
+ 
+ #: fortran/openmp.c:3744 fortran/openmp.c:4682
+ #, gcc-internal-format
+@@ -53983,16 +53831,14 @@
+ msgstr "POINTER-objekt %qs av polymorf typ i %s-klausul vid %L"
+ 
+ #: fortran/openmp.c:3749
+-#, fuzzy, gcc-internal-format
+-#| msgid "Cray pointer object of polymorphic type %qs in %s clause at %L"
++#, gcc-internal-format
+ msgid "Cray pointer object %qs of polymorphic type in %s clause at %L"
+-msgstr "Cray-pekareobjekt av polymorf typ %qs i %s-klausul vid %L"
++msgstr "Cray-pekarobjekt %qs av polymorf typ i %s-klausul vid %L"
+ 
+ #: fortran/openmp.c:3754
+-#, fuzzy, gcc-internal-format
+-#| msgid "Cray pointee object of polymorphic type %qs in %s clause at %L"
++#, gcc-internal-format
+ msgid "Cray pointee object %qs of polymorphic type in %s clause at %L"
+-msgstr "Cray-utpekadobjekt av polymorf typ %qs i %s-klausul vid %L"
++msgstr "Cray-utpekat objekt %qs av polymorf typ i %s-klausul vid %L"
+ 
+ #: fortran/openmp.c:3764 fortran/openmp.c:4380 fortran/openmp.c:4485
+ #, gcc-internal-format
+@@ -54045,16 +53891,14 @@
+ msgstr "VALUE-objekt %qs i %s-klausul vid %L"
+ 
+ #: fortran/openmp.c:3857
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Implicitly declared function %s used in !$OMP DECLARE REDUCTION at %L "
++#, gcc-internal-format, gfc-internal-format
+ msgid "Implicitly declared function %s used in !$OMP DECLARE REDUCTION at %L"
+-msgstr "Den implicit deklarerade funktionen %s används i !$OMP DECLARE REDUCTION vid %L "
++msgstr "Den implicit deklarerade funktionen %s används i !$OMP DECLARE REDUCTION vid %L"
+ 
+ #: fortran/openmp.c:3906
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Implicitly declared subroutine %s used in !$OMP DECLARE REDUCTION at %L "
++#, gcc-internal-format, gfc-internal-format
+ msgid "Implicitly declared subroutine %s used in !$OMP DECLARE REDUCTION at %L"
+-msgstr "Den implicit deklarerade subrutinen %s används i !$OMP DECLARE REDUCTION vid %L "
++msgstr "Den implicit deklarerade subrutinen %s används i !$OMP DECLARE REDUCTION vid %L"
+ 
+ #: fortran/openmp.c:3939
+ #, gcc-internal-format, gfc-internal-format
+@@ -54172,7 +54016,7 @@
+ #: fortran/openmp.c:4311
+ #, gcc-internal-format, gfc-internal-format
+ msgid "SINK addend not a constant integer at %L"
+-msgstr "SINK-termen är inte ett konstant heltal %L"
++msgstr "SINK-termen är inte ett konstant heltal vid %L"
+ 
+ #: fortran/openmp.c:4317
+ #, gcc-internal-format, gfc-internal-format
+@@ -54572,10 +54416,9 @@
+ msgstr "PARAMETER-objekt %qs är inte tillåtet vid %L"
+ 
+ #: fortran/openmp.c:5987
+-#, fuzzy, gcc-internal-format
+-#| msgid "Array sections: %qs not allowed in $!ACC DECLARE at %L"
++#, gcc-internal-format
+ msgid "Array sections: %qs not allowed in !$ACC DECLARE at %L"
+-msgstr "Vektorsektioner: %qs är inte tillåtet i $!ACC DECLARE vid %L"
++msgstr "Vektorsektioner: %qs är inte tillåtet i !$ACC DECLARE vid %L"
+ 
+ #: fortran/openmp.c:6114
+ #, gcc-internal-format, gfc-internal-format
+@@ -54735,7 +54578,7 @@
+ #: fortran/parse.c:625
+ #, gcc-internal-format, gfc-internal-format
+ msgid "OpenACC directives at %C may not appear in PURE procedures"
+-msgstr "OpenACC-direktiv vid %C för inte förekomma i PURE-procedurer"
++msgstr "OpenACC-direktiv vid %C får inte förekomma i PURE-procedurer"
+ 
+ #: fortran/parse.c:701
+ #, gcc-internal-format, gfc-internal-format
+@@ -54820,7 +54663,7 @@
+ #: fortran/parse.c:2763
+ #, gcc-internal-format
+ msgid "Derived-type %qs with BIND(C) must not have a CONTAINS section at %C"
+-msgstr "Härledd typ %qs med BIND(C) får nte ha en CONTAINS-sektion vid %C"
++msgstr "Härledd typ %qs med BIND(C) får inte ha en CONTAINS-sektion vid %C"
+ 
+ #: fortran/parse.c:2783
+ #, gcc-internal-format, gfc-internal-format
+@@ -55093,10 +54936,9 @@
+ msgstr "CRITICAL-block i unuti OpenACC-region vid %C"
+ 
+ #: fortran/parse.c:4348
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "CRITICAL block inside of OpenACC region at %C"
++#, gcc-internal-format, gfc-internal-format
+ msgid "CRITICAL block inside of OpenMP region at %C"
+-msgstr "CRITICAL-block i unuti OpenACC-region vid %C"
++msgstr "CRITICAL-block i unuti OpenMP-region vid %C"
+ 
+ #: fortran/parse.c:4374
+ #, gcc-internal-format, gfc-internal-format
+@@ -55412,10 +55254,9 @@
+ msgstr "Syntaxfel i COMPLEX-konstant vid %C"
+ 
+ #: fortran/primary.c:1558
+-#, fuzzy, gcc-internal-format
+-#| msgid "Namelist '%s' can not be an argument at %L"
++#, gcc-internal-format
+ msgid "Namelist %qs can not be an argument at %L"
+-msgstr "Namnlistan ”%s” kan inte vara ett argument vid %L"
++msgstr "Namnlistan %qs kan inte vara ett argument vid %L"
+ 
+ #: fortran/primary.c:1644
+ #, gcc-internal-format
+@@ -55518,10 +55359,9 @@
+ msgstr "Postkonstruerare med saknade valfria argument vid %C"
+ 
+ #: fortran/primary.c:2672
+-#, fuzzy, gcc-internal-format
+-#| msgid "No initializer for allocatable component '%qs' given in the structure constructor at %C"
++#, gcc-internal-format
+ msgid "No initializer for allocatable component %qs given in the structure constructor at %C"
+-msgstr "Ingen initierare för den allokerbara komponenten ”%qs” angiven i postkonstrueraren vid %C"
++msgstr "Ingen initierare för den allokerbara komponenten %s angiven i postkonstrueraren vid %C"
+ 
+ #: fortran/primary.c:2679
+ #, gcc-internal-format
+@@ -55596,7 +55436,7 @@
+ #: fortran/primary.c:3306
+ #, gcc-internal-format, gfc-internal-format
+ msgid "The leftmost part-ref in a data-ref can not be a function reference at %C"
+-msgstr "Den vänstraste part-ref i en data-ref kan inte vara en fuktionsreferens vid %C"
++msgstr "Den vänstraste part-ref i en data-ref kan inte vara en funktionsreferens vid %C"
+ 
+ #: fortran/primary.c:3460
+ #, gcc-internal-format
+@@ -55609,10 +55449,9 @@
+ msgstr "Symbol vid %C passar inte som uttryck"
+ 
+ #: fortran/primary.c:3574
+-#, fuzzy, gcc-internal-format
+-#| msgid "Derived type '%s' cannot be used as a variable at %C"
++#, gcc-internal-format
+ msgid "Derived type %qs cannot be used as a variable at %C"
+-msgstr "Den härledda typen ”%s” får inte användas som en variabel vid %C"
++msgstr "Den härledda typen %qs får inte användas som en variabel vid %C"
+ 
+ #: fortran/primary.c:3615
+ #, gcc-internal-format, gfc-internal-format
+@@ -55765,16 +55604,14 @@
+ msgstr "Resultatet %qs av innesluten funktion %qs vid %L har ingen IMPLICIT-typ"
+ 
+ #: fortran/resolve.c:619
+-#, fuzzy, gcc-internal-format
+-#| msgid "Character-valued %s %qs at %L must not be assumed length"
++#, gcc-internal-format
+ msgid "Character-valued module procedure %qs at %L must not be assumed length"
+-msgstr "Teckenvärd %s %qs vid %L får inte ha antagen längd"
++msgstr "Teckenvärd modulprocedur %qs vid %L får inte ha antagen längd"
+ 
+ #: fortran/resolve.c:621
+-#, fuzzy, gcc-internal-format
+-#| msgid "Character-valued %s %qs at %L must not be assumed length"
++#, gcc-internal-format
+ msgid "Character-valued internal function %qs at %L must not be assumed length"
+-msgstr "Teckenvärd %s %qs vid %L får inte ha antagen längd"
++msgstr "Teckenvärd intern funktion %qs vid %L får inte ha antagen längd"
+ 
+ #: fortran/resolve.c:793
+ #, gcc-internal-format, gfc-internal-format
+@@ -56042,8 +55879,7 @@
+ msgstr "Returtypen stämmer inte för funktionen %qs vid %L (%s/%s)"
+ 
+ #: fortran/resolve.c:2471
+-#, fuzzy, gcc-internal-format
+-#| msgid "Interface mismatch in global procedure %qs at %L: %s "
++#, gcc-internal-format
+ msgid "Interface mismatch in global procedure %qs at %L: %s"
+ msgstr "Gränssnitt stämmer inte överens i den globala proceduren %qs vid %L: %s"
+ 
+@@ -56944,7 +56780,7 @@
+ #: fortran/resolve.c:9699
+ #, gcc-internal-format, gfc-internal-format
+ msgid "FORALL index-name at %L must be a scalar variable of type integer"
+-msgstr "FORALL-indexnamn vid %L måste vara en skalär variabel av heltalsltyp"
++msgstr "FORALL-indexnamn vid %L måste vara en skalär variabel av heltalstyp"
+ 
+ #: fortran/resolve.c:9709
+ #, gcc-internal-format, gfc-internal-format
+@@ -57311,10 +57147,9 @@
+ msgstr "RECURSIVE-attribut stämmer inte mellan MODULE PROCEDURE vid %L och dess gränssnitt i %s"
+ 
+ #: fortran/resolve.c:12347
+-#, fuzzy, gcc-internal-format
+-#| msgid "%s between the MODULE PROCEDURE declaration in module %s and the declaration at %L in SUBMODULE %s"
++#, gcc-internal-format
+ msgid "%s between the MODULE PROCEDURE declaration in MODULE %qs and the declaration at %L in (SUB)MODULE %qs"
+-msgstr "%s mellan MODULE PROCEDURE-deklarationen i modulen %s och deklarationen vid %L i SUBMODULE %s"
++msgstr "%s mellan MODULE PROCEDURE-deklarationen i MODULE %qs och deklarationen vid %L i (SUB)MODULE %qs"
+ 
+ #: fortran/resolve.c:12434
+ #, gcc-internal-format
+@@ -57822,10 +57657,9 @@
+ msgstr "LOGICAL-resultatvariabeln %qs vid %L med icke-C_Bool-sort i BIND(C)-proceduren %qs"
+ 
+ #: fortran/resolve.c:14732
+-#, fuzzy, gcc-internal-format
+-#| msgid "Namelist '%s' can not be an argument to subroutine or function at %L"
++#, gcc-internal-format
+ msgid "Namelist %qs can not be an argument to subroutine or function at %L"
+-msgstr "Namnlistan ”%s” får inte vara ett argument till en subrutin eller funktion vid %L"
++msgstr "Namnlistan %qs får inte vara ett argument till en subrutin eller funktion vid %L"
+ 
+ #: fortran/resolve.c:14802
+ #, gcc-internal-format, gfc-internal-format
+@@ -58043,10 +57877,9 @@
+ msgstr "Felaktig OpenACC-fortsättning vid %C: !$ACC förväntades, fick !$OMP"
+ 
+ #: fortran/scanner.c:1412 fortran/scanner.c:1509
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Wrong OpenACC continuation at %C: expected !$ACC, got !$OMP"
++#, gcc-internal-format, gfc-internal-format
+ msgid "Wrong OpenMP continuation at %C: expected !$OMP, got !$ACC"
+-msgstr "Felaktig OpenACC-fortsättning vid %C: !$ACC förväntades, fick !$OMP"
++msgstr "Felaktig OpenMP-fortsättning vid %C: !$OMP förväntades, fick !$ACC"
+ 
+ #: fortran/scanner.c:1423
+ #, gcc-internal-format
+@@ -58565,7 +58398,7 @@
+ #: fortran/symbol.c:976
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Duplicate AUTOMATIC attribute specified at %L"
+-msgstr "Dubblerat VOLATILE-attribut angivet vid %L"
++msgstr "Dubblerat AUTOMATIC-attribut angivet vid %L"
+ 
+ #: fortran/symbol.c:1000
+ #, gcc-internal-format
+@@ -59027,10 +58860,9 @@
+ msgstr "Returvärdet %qs för funktionen %qs deklarerad vid %L är inte satt"
+ 
+ #: fortran/trans-decl.c:6136
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Sorry, $!ACC DECLARE at %L is not allowed in BLOCK construct"
++#, gcc-internal-format, gfc-internal-format
+ msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct"
+-msgstr "Ledsen, $!ACC DECLARE vid %L är inte tillåtet i BLOCK-konstruktion"
++msgstr "Ledsen, !$ACC DECLARE vid %L är inte tillåtet i BLOCK-konstruktion"
+ 
+ #: fortran/trans-expr.c:897
+ #, gcc-internal-format, gfc-internal-format
+@@ -59079,10 +58911,9 @@
+ msgstr "Ledsen, händelsekomponenten hos härledd typ vid %L stödjs inte ännu"
+ 
+ #: fortran/trans-intrinsic.c:10232
+-#, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "The event variable at %L shall not be coindexed "
++#, gcc-internal-format, gfc-internal-format
+ msgid "The event variable at %L shall not be coindexed"
+-msgstr "Händelsevariabeln vid %L får inte vara co-indexerat"
++msgstr "Händelsevariabeln vid %L får inte vara co-indexerad"
+ 
+ #: fortran/trans-io.c:1957
+ #, gcc-internal-format
+@@ -60361,102 +60192,3 @@
+ #, gcc-internal-format
+ msgid "creating selector for nonexistent method %qE"
+ msgstr "skapar väljare för icke existerande metod %qE"
+-
+-#~ msgid "Cannot open intermediate output file %s\n"
+-#~ msgstr "Kan inte öppna intermediär utfil %s\n"
+-
+-#~ msgid "module procedure"
+-#~ msgstr "modulprocedur"
+-
+-#~ msgid "internal function"
+-#~ msgstr "intern funktion"
+-
+-#~ msgid "Specifies the cost model for vectorization."
+-#~ msgstr "Anger kostnadsmodellen för vektorisering."
+-
+-#~ msgid "%s uses same OpenACC parallelism as containing loop"
+-#~ msgstr "%s använder samma OpenACC-parallellism som den omgivande slingan"
+-
+-#~ msgid "not support -fpic"
+-#~ msgstr "stödjer inte -fpic"
+-
+-#~ msgid "implicit declaration of function %qE;did you mean %qs?"
+-#~ msgstr "implicit deklaration av funktionen %qE; menade du %qs?"
+-
+-#~ msgid "%<#pragma acc enter data%> may only be used in compound statements"
+-#~ msgstr "%<#pragma acc enter data%> får bara användas i sammansatta satser"
+-
+-#~ msgid "%<#pragma acc exit data%> may only be used in compound statements"
+-#~ msgstr "%<#pragma acc exit data%> får bara användas i sammansatta satser"
+-
+-#~ msgid "%<#pragma acc update%> may only be used in compound statements"
+-#~ msgstr "%<#pragma acc update%> får bara användas i sammansatta satser"
+-
+-#~ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+-#~ msgstr "%<#pragma omp barrier%> får bara användas i sammansatta satser"
+-
+-#~ msgid "%<#pragma omp taskwait%> may only be used in compound statements"
+-#~ msgstr "%<#pragma omp taskwait%> får bara användas i sammansatta satser"
+-
+-#~ msgid "%<#pragma omp taskyield%> may only be used in compound statements"
+-#~ msgstr "%<#pragma omp taskyield%> får bara användas i sammansatta satser"
+-
+-#~ msgid "%<#pragma omp cancel%> may only be used in compound statements"
+-#~ msgstr "%<#pragma omp cancel%> får bara användas i sammansatta satser"
+-
+-#~ msgid "%<%s%> value must be positive"
+-#~ msgstr "%<%s%>-värdet måste vara positivt"
+-
+-#~ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
+-#~ msgstr "%<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> eller %<max%> förväntades"
+-
+-#~ msgid "%<#pragma acc enter data%> has no data movement clause"
+-#~ msgstr "%<#pragma acc enter data%> har ingen dataflyttningsklausul"
+-
+-#~ msgid "%<#pragma omp ordered%> with %<depend> clause may only be used in compound statements"
+-#~ msgstr "%<#pragma omp ordered%> med en %<depend>-klausul får bara användas i sammansatta satser"
+-
+-#~ msgid "%<#pragma omp cancellation point%> may only be used in compound statements"
+-#~ msgstr "%<#pragma omp cancellation point%> får bara användas i sammansatta satser"
+-
+-#~ msgid "%<#pragma omp target update%> may only be used in compound statements"
+-#~ msgstr "%<#pragma omp target update%> får bara användas i sammansatta satser"
+-
+-#~ msgid "%<#pragma omp target enter data%> may only be used in compound statements"
+-#~ msgstr "%<#pragma omp target enter data%> får bara användas i sammansatta satser"
+-
+-#~ msgid "%<#pragma omp target exit data%> may only be used in compound statements"
+-#~ msgstr "%<#pragma omp target exit data%> får bara användas i sammansatta satser"
+-
+-#~ msgid "%<#pragma omp target exit data%> with map-type other than %<from%>, %<release> or %<delete%> on %<map%> clause"
+-#~ msgstr "%<#pragma omp target exit data%> med en annan map-typ än %<from%>, %<release> eller %<delete%> på %<map%>-klausul"
+-
+-#~ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or identifier"
+-#~ msgstr "%<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> eller identifierare förväntades"
+-
+-#~ msgid "ISO C++ forbids flexible array member %<%s%>"
+-#~ msgstr "ISO C++ förbjuder flexibla vektormedlemmar %<%s%>"
+-
+-#~ msgid "class template argument deduction requires an initializer"
+-#~ msgstr "härledning av klassmallargument behöver en initierare"
+-
+-#~ msgid "%<#pragma acc wait%> may only be used in compound statements"
+-#~ msgstr "%<#pragma acc wait%> får bara användas i sammansatta satser"
+-
+-#~ msgid "cannot deduce template arguments for %qT, as it has no deduction guides or user-declared constructors"
+-#~ msgstr "kan inte härleda mallargument för %qT, eftersom den inte har några härledningsguider eller användardeklarerade konstruerare"
+-
+-#~ msgid "invalid use of %<auto%>"
+-#~ msgstr "ogiltigt användning av %<auto%>"
+-
+-#~ msgid "Component '%s' at %C already declared at %L"
+-#~ msgstr "Komponenten ”%s” vid %C är redan deklarerad vid %L"
+-
+-#~ msgid "Type name '%s' at %C is ambiguous"
+-#~ msgstr "Typnamnet ”%s” vid %C är tvetydigt"
+-
+-#~ msgid "The GENERIC DTIO INTERFACE at %C is not present in the MODULE '%s'"
+-#~ msgstr "GENERIC DTIO INTERFACE vid %C finns inte i MODULE ”%s”"
+-
+-#~ msgid "Pointer initialization target at %L must not be ALLOCATABLE "
+-#~ msgstr "Pekarinitieringsmål vid %L får inte vara ALLOCATABLE "
 Index: gcc/po/de.po
 ===================================================================
 --- a/src/gcc/po/de.po	(.../tags/gcc_7_1_0_release)
@@ -42625,3 +47217,446 @@ Index: gcc/config/i386/sse.md
  	  UNSPEC_VPERMIL2))]
    "TARGET_XOP"
    "vpermil2<ssemodesuffix>\t{%4, %3, %2, %1, %0|%0, %1, %2, %3, %4}"
+Index: gcc/config/i386/sync.md
+===================================================================
+--- a/src/gcc/config/i386/sync.md	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/config/i386/sync.md	(.../branches/gcc-7-branch)
+@@ -25,6 +25,9 @@
+   UNSPEC_FILD_ATOMIC
+   UNSPEC_FIST_ATOMIC
+ 
++  UNSPEC_LDX_ATOMIC
++  UNSPEC_STX_ATOMIC
++
+   ;; __atomic support
+   UNSPEC_LDA
+   UNSPEC_STA
+@@ -199,9 +202,8 @@
+ 	}
+       else
+ 	{
+-	  adjust_reg_mode (tmp, DImode);
+-	  emit_move_insn (tmp, src);
+-	  emit_move_insn (mem, tmp);
++	  emit_insn (gen_loaddi_via_sse (tmp, src));
++	  emit_insn (gen_storedi_via_sse (mem, tmp));
+ 	}
+ 
+       if (mem != dst)
+@@ -226,10 +228,12 @@
+   "operands[5] = gen_lowpart (DFmode, operands[1]);")
+ 
+ (define_peephole2
+-  [(set (match_operand:DI 0 "sse_reg_operand")
+-	(match_operand:DI 1 "memory_operand"))
++  [(set (match_operand:DF 0 "sse_reg_operand")
++	(unspec:DF [(match_operand:DI 1 "memory_operand")]
++		   UNSPEC_LDX_ATOMIC))
+    (set (match_operand:DI 2 "memory_operand")
+-	(match_dup 0))
++	(unspec:DI [(match_dup 0)]
++		   UNSPEC_STX_ATOMIC))
+    (set (match_operand:DF 3 "fp_register_operand")
+ 	(match_operand:DF 4 "memory_operand"))]
+   "!TARGET_64BIT
+@@ -301,7 +305,9 @@
+   rtx dst = operands[0], src = operands[1];
+   rtx mem = operands[2], tmp = operands[3];
+ 
+-  if (!SSE_REG_P (src))
++  if (SSE_REG_P (src))
++    emit_move_insn (dst, src);
++  else
+     {
+       if (REG_P (src))
+ 	{
+@@ -313,16 +319,13 @@
+ 	{
+ 	  emit_insn (gen_loaddi_via_fpu (tmp, src));
+ 	  emit_insn (gen_storedi_via_fpu (dst, tmp));
+-	  DONE;
+ 	}
+       else
+ 	{
+-	  adjust_reg_mode (tmp, DImode);
+-	  emit_move_insn (tmp, src);
+-	  src = tmp;
++	  emit_insn (gen_loaddi_via_sse (tmp, src));
++	  emit_insn (gen_storedi_via_sse (dst, tmp));
+ 	}
+     }
+-  emit_move_insn (dst, src);
+   DONE;
+ })
+ 
+@@ -344,10 +347,12 @@
+ (define_peephole2
+   [(set (match_operand:DF 0 "memory_operand")
+ 	(match_operand:DF 1 "fp_register_operand"))
+-   (set (match_operand:DI 2 "sse_reg_operand")
+-	(match_operand:DI 3 "memory_operand"))
++   (set (match_operand:DF 2 "sse_reg_operand")
++	(unspec:DF [(match_operand:DI 3 "memory_operand")]
++		   UNSPEC_LDX_ATOMIC))
+    (set (match_operand:DI 4 "memory_operand")
+-	(match_dup 2))]
++	(unspec:DI [(match_dup 2)]
++		   UNSPEC_STX_ATOMIC))]
+   "!TARGET_64BIT
+    && peep2_reg_dead_p (3, operands[2])
+    && rtx_equal_p (operands[0], adjust_address_nv (operands[3], DFmode, 0))"
+@@ -382,6 +387,32 @@
+   [(set_attr "type" "fmov")
+    (set_attr "mode" "DI")])
+ 
++(define_insn "loaddi_via_sse"
++  [(set (match_operand:DF 0 "register_operand" "=x")
++	(unspec:DF [(match_operand:DI 1 "memory_operand" "m")]
++		   UNSPEC_LDX_ATOMIC))]
++  "TARGET_SSE"
++{
++  if (TARGET_SSE2)
++    return "%vmovq\t{%1, %0|%0, %1}";
++  return "movlps\t{%1, %0|%0, %1}";
++}
++  [(set_attr "type" "ssemov")
++   (set_attr "mode" "DI")])
++
++(define_insn "storedi_via_sse"
++  [(set (match_operand:DI 0 "memory_operand" "=m")
++	(unspec:DI [(match_operand:DF 1 "register_operand" "x")]
++		   UNSPEC_STX_ATOMIC))]
++  "TARGET_SSE"
++{
++  if (TARGET_SSE2)
++    return "%vmovq\t{%1, %0|%0, %1}";
++  return "movlps\t{%1, %0|%0, %1}";
++}
++  [(set_attr "type" "ssemov")
++   (set_attr "mode" "DI")])
++
+ (define_expand "atomic_compare_and_swap<mode>"
+   [(match_operand:QI 0 "register_operand")	;; bool success output
+    (match_operand:SWI124 1 "register_operand")	;; oldval output
+Index: gcc/config/rs6000/rs6000.c
+===================================================================
+--- a/src/gcc/config/rs6000/rs6000.c	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/config/rs6000/rs6000.c	(.../branches/gcc-7-branch)
+@@ -5873,6 +5873,10 @@
+ 
+ /* Implement targetm.vectorize.init_cost.  */
+ 
++/* For each vectorized loop, this var holds TRUE iff a non-memory vector
++   instruction is needed by the vectorization.  */
++static bool rs6000_vect_nonmem;
++
+ static void *
+ rs6000_init_cost (struct loop *loop_info)
+ {
+@@ -5881,6 +5885,7 @@
+   data->cost[vect_prologue] = 0;
+   data->cost[vect_body]     = 0;
+   data->cost[vect_epilogue] = 0;
++  rs6000_vect_nonmem = false;
+   return data;
+ }
+ 
+@@ -5907,6 +5912,15 @@
+ 
+       retval = (unsigned) (count * stmt_cost);
+       cost_data->cost[where] += retval;
++
++      /* Check whether we're doing something other than just a copy loop.
++	 Not all such loops may be profitably vectorized; see
++	 rs6000_finish_cost.  */
++      if ((kind == vec_to_scalar || kind == vec_perm
++	   || kind == vec_promote_demote || kind == vec_construct
++	   || kind == scalar_to_vec)
++	  || (where == vect_body && kind == vector_stmt))
++	rs6000_vect_nonmem = true;
+     }
+ 
+   return retval;
+@@ -5923,6 +5937,19 @@
+   if (cost_data->loop_info)
+     rs6000_density_test (cost_data);
+ 
++  /* Don't vectorize minimum-vectorization-factor, simple copy loops
++     that require versioning for any reason.  The vectorization is at
++     best a wash inside the loop, and the versioning checks make
++     profitability highly unlikely and potentially quite harmful.  */
++  if (cost_data->loop_info)
++    {
++      loop_vec_info vec_info = loop_vec_info_for_loop (cost_data->loop_info);
++      if (!rs6000_vect_nonmem
++	  && LOOP_VINFO_VECT_FACTOR (vec_info) == 2
++	  && LOOP_REQUIRES_VERSIONING (vec_info))
++	cost_data->cost[vect_body] += 10000;
++    }
++
+   *prologue_cost = cost_data->cost[vect_prologue];
+   *body_cost     = cost_data->cost[vect_body];
+   *epilogue_cost = cost_data->cost[vect_epilogue];
+@@ -18183,6 +18210,17 @@
+       def_builtin ("__builtin_vsx_st_elemrev_v16qi",
+ 		   void_ftype_v16qi_long_pvoid, VSX_BUILTIN_ST_ELEMREV_V16QI);
+     }
++  else
++    {
++      rs6000_builtin_decls[(int)VSX_BUILTIN_LD_ELEMREV_V8HI]
++	= rs6000_builtin_decls[(int)VSX_BUILTIN_LXVW4X_V8HI];
++      rs6000_builtin_decls[(int)VSX_BUILTIN_LD_ELEMREV_V16QI]
++	= rs6000_builtin_decls[(int)VSX_BUILTIN_LXVW4X_V16QI];
++      rs6000_builtin_decls[(int)VSX_BUILTIN_ST_ELEMREV_V8HI]
++	= rs6000_builtin_decls[(int)VSX_BUILTIN_STXVW4X_V8HI];
++      rs6000_builtin_decls[(int)VSX_BUILTIN_ST_ELEMREV_V16QI]
++	= rs6000_builtin_decls[(int)VSX_BUILTIN_STXVW4X_V16QI];
++    }
+ 
+   def_builtin ("__builtin_vec_vsx_ld", opaque_ftype_long_pcvoid,
+ 	       VSX_BUILTIN_VEC_LD);
+Index: gcc/config/rs6000/rs6000.md
+===================================================================
+--- a/src/gcc/config/rs6000/rs6000.md	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/config/rs6000/rs6000.md	(.../branches/gcc-7-branch)
+@@ -566,7 +566,9 @@
+ (define_code_iterator any_float		[float unsigned_float])
+ 
+ (define_code_attr u  [(sign_extend	"")
+-		      (zero_extend	"u")])
++		      (zero_extend	"u")
++		      (fix		"")
++		      (unsigned_fix	"u")])
+ 
+ (define_code_attr su [(sign_extend	"s")
+ 		      (zero_extend	"u")
+@@ -1027,8 +1029,8 @@
+ 
+ 
+ (define_insn "extendsi<mode>2"
+-  [(set (match_operand:EXTSI 0 "gpc_reg_operand" "=r,r,wl,wu,wj,wK")
+-	(sign_extend:EXTSI (match_operand:SI 1 "lwa_operand" "Y,r,Z,Z,r,wK")))]
++  [(set (match_operand:EXTSI 0 "gpc_reg_operand" "=r,r,wl,wu,wj,wK,wH")
++	(sign_extend:EXTSI (match_operand:SI 1 "lwa_operand" "Y,r,Z,Z,r,wK,wH")))]
+   ""
+   "@
+    lwa%U1%X1 %0,%1
+@@ -1036,10 +1038,39 @@
+    lfiwax %0,%y1
+    lxsiwax %x0,%y1
+    mtvsrwa %x0,%1
+-   vextsw2d %0,%1"
+-  [(set_attr "type" "load,exts,fpload,fpload,mffgpr,vecexts")
+-   (set_attr "sign_extend" "yes")])
++   vextsw2d %0,%1
++   #"
++  [(set_attr "type" "load,exts,fpload,fpload,mffgpr,vecexts,vecperm")
++   (set_attr "sign_extend" "yes")
++   (set_attr "length" "4,4,4,4,4,4,8")])
+ 
++(define_split
++  [(set (match_operand:DI 0 "altivec_register_operand")
++	(sign_extend:DI (match_operand:SI 1 "altivec_register_operand")))]
++  "TARGET_VSX_SMALL_INTEGER && TARGET_P8_VECTOR && !TARGET_P9_VECTOR
++   && reload_completed"
++  [(const_int 0)]
++{
++  rtx dest = operands[0];
++  rtx src = operands[1];
++  int dest_regno = REGNO (dest);
++  int src_regno = REGNO (src);
++  rtx dest_v2di = gen_rtx_REG (V2DImode, dest_regno);
++  rtx src_v4si = gen_rtx_REG (V4SImode, src_regno);
++
++  if (VECTOR_ELT_ORDER_BIG)
++    {
++      emit_insn (gen_altivec_vupkhsw (dest_v2di, src_v4si));
++      emit_insn (gen_vsx_xxspltd_v2di (dest_v2di, dest_v2di, const1_rtx));
++    }
++  else
++    {
++      emit_insn (gen_altivec_vupklsw (dest_v2di, src_v4si));
++      emit_insn (gen_vsx_xxspltd_v2di (dest_v2di, dest_v2di, const0_rtx));
++    }
++  DONE;
++})
++
+ (define_insn_and_split "*extendsi<mode>2_dot"
+   [(set (match_operand:CC 2 "cc_reg_operand" "=x,?y")
+ 	(compare:CC (sign_extend:EXTSI (match_operand:SI 1 "gpc_reg_operand" "r,r"))
+@@ -5570,7 +5601,7 @@
+   "TARGET_HARD_FLOAT && ((TARGET_FPRS && <TARGET_FLOAT>) || <E500_CONVERT>)"
+   "
+ {
+-  if (!<E500_CONVERT>)
++  if (!<E500_CONVERT> && !TARGET_VSX_SMALL_INTEGER)
+     {
+       rtx src = force_reg (<MODE>mode, operands[1]);
+ 
+@@ -5596,7 +5627,8 @@
+    (clobber (match_scratch:DI 2 "=d"))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
+    && (<MODE>mode != SFmode || TARGET_SINGLE_FLOAT)
+-   && TARGET_STFIWX && can_create_pseudo_p ()"
++   && TARGET_STFIWX && can_create_pseudo_p ()
++   && !TARGET_VSX_SMALL_INTEGER"
+   "#"
+   ""
+   [(pc)]
+@@ -5637,7 +5669,8 @@
+ 	(fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "d,<rreg>")))
+    (clobber (match_operand:DI 2 "gpc_reg_operand" "=1,d"))
+    (clobber (match_operand:DI 3 "offsettable_mem_operand" "=o,o"))]
+-  "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
++  "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
++   && !TARGET_VSX_SMALL_INTEGER"
+   "#"
+   ""
+   [(pc)]
+@@ -5721,7 +5754,7 @@
+        || <E500_CONVERT>)"
+   "
+ {
+-  if (!<E500_CONVERT>)
++  if (!<E500_CONVERT> && !TARGET_VSX_SMALL_INTEGER)
+     {
+       emit_insn (gen_fixuns_trunc<mode>si2_stfiwx (operands[0], operands[1]));
+       DONE;
+@@ -5733,7 +5766,8 @@
+ 	(unsigned_fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "d")))
+    (clobber (match_scratch:DI 2 "=d"))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && <TARGET_FLOAT> && TARGET_FCTIWUZ
+-   && TARGET_STFIWX && can_create_pseudo_p ()"
++   && TARGET_STFIWX && can_create_pseudo_p ()
++   && !TARGET_VSX_SMALL_INTEGER"
+   "#"
+   ""
+   [(pc)]
+@@ -5818,13 +5852,43 @@
+     }
+   DONE;
+ })
+-; Here, we use (set (reg) (unspec:DI [(fix:SI ...)] UNSPEC_FCTIWZ))
+-; rather than (set (subreg:SI (reg)) (fix:SI ...))
+-; because the first makes it clear that operand 0 is not live
+-; before the instruction.
++
++;; If -mvsx-small-integer, we can represent the FIX operation directly.  On
++;; older machines, we have to use an UNSPEC to produce a SImode and move it
++;; to another location, since SImode is not allowed in vector registers.
++(define_insn "*fctiw<u>z_<mode>_smallint"
++  [(set (match_operand:SI 0 "vsx_register_operand" "=d,wi")
++	(any_fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>")))]
++  "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
++   && TARGET_VSX_SMALL_INTEGER"
++  "@
++   fctiw<u>z %0,%1
++   xscvdp<su>xws %x0,%x1"
++  [(set_attr "type" "fp")])
++
++;; Combiner pattern to prevent moving the result of converting a floating point
++;; value to 32-bit integer to GPR in order to save it.
++(define_insn_and_split "*fctiw<u>z_<mode>_mem"
++  [(set (match_operand:SI 0 "memory_operand" "=Z")
++	(any_fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "wa")))
++   (clobber (match_scratch:SI 2 "=wa"))]
++  "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
++   && TARGET_VSX_SMALL_INTEGER"
++  "#"
++  "&& reload_completed"
++  [(set (match_dup 2)
++	(any_fix:SI (match_dup 1)))
++   (set (match_dup 0)
++	(match_dup 2))])
++
++;; Here, we use (set (reg) (unspec:DI [(fix:SI ...)] UNSPEC_FCTIWZ))
++;; rather than (set (subreg:SI (reg)) (fix:SI ...))
++;; because the first makes it clear that operand 0 is not live
++;; before the instruction.
+ (define_insn "fctiwz_<mode>"
+   [(set (match_operand:DI 0 "gpc_reg_operand" "=d,wi")
+-	(unspec:DI [(fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>"))]
++	(unspec:DI [(fix:SI
++		     (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>"))]
+ 		   UNSPEC_FCTIWZ))]
+   "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT"
+   "@
+Index: gcc/config/pa/pa.c
+===================================================================
+--- a/src/gcc/config/pa/pa.c	(.../tags/gcc_7_1_0_release)
++++ b/src/gcc/config/pa/pa.c	(.../branches/gcc-7-branch)
+@@ -3299,6 +3299,24 @@
+ static bool
+ pa_assemble_integer (rtx x, unsigned int size, int aligned_p)
+ {
++  bool result;
++  tree decl = NULL;
++
++  /* When we have a SYMBOL_REF with a SYMBOL_REF_DECL, we need to call
++     call assemble_external and set the SYMBOL_REF_DECL to NULL before
++     calling output_addr_const.  Otherwise, it may call assemble_external
++     in the midst of outputing the assembler code for the SYMBOL_REF.
++     We restore the SYMBOL_REF_DECL after the output is done.  */
++  if (GET_CODE (x) == SYMBOL_REF)
++    {
++      decl = SYMBOL_REF_DECL (x);
++      if (decl)
++	{
++	  assemble_external (decl);
++	  SET_SYMBOL_REF_DECL (x, NULL);
++	}
++    }
++
+   if (size == UNITS_PER_WORD
+       && aligned_p
+       && function_label_operand (x, VOIDmode))
+@@ -3311,9 +3329,15 @@
+ 
+       output_addr_const (asm_out_file, x);
+       fputc ('\n', asm_out_file);
+-      return true;
++      result = true;
+     }
+-  return default_assemble_integer (x, size, aligned_p);
++  else
++    result = default_assemble_integer (x, size, aligned_p);
++
++  if (decl)
++    SET_SYMBOL_REF_DECL (x, decl);
++
++  return result;
+ }
+ 

+ /* Output an ascii string.  */
+@@ -9962,19 +9986,23 @@
+   if (from == to)
+     return false;
+ 
++  if (GET_MODE_SIZE (from) == GET_MODE_SIZE (to))
++    return false;
++
++  /* Reject changes to/from modes with zero size.  */
++  if (!GET_MODE_SIZE (from) || !GET_MODE_SIZE (to))
++    return true;
++
+   /* Reject changes to/from complex and vector modes.  */
+   if (COMPLEX_MODE_P (from) || VECTOR_MODE_P (from)
+       || COMPLEX_MODE_P (to) || VECTOR_MODE_P (to))
+     return true;
+       
+-  if (GET_MODE_SIZE (from) == GET_MODE_SIZE (to))
+-    return false;
+-
+-  /* There is no way to load QImode or HImode values directly from
+-     memory.  SImode loads to the FP registers are not zero extended.
+-     On the 64-bit target, this conflicts with the definition of
+-     LOAD_EXTEND_OP.  Thus, we can't allow changing between modes
+-     with different sizes in the floating-point registers.  */
++  /* There is no way to load QImode or HImode values directly from memory
++     to a FP register.  SImode loads to the FP registers are not zero
++     extended.  On the 64-bit target, this conflicts with the definition
++     of LOAD_EXTEND_OP.  Thus, we can't allow changing between modes with
++     different sizes in the floating-point registers.  */
+   if (MAYBE_FP_REG_CLASS_P (rclass))
+     return true;
+ 

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



More information about the Reproducible-commits mailing list