]> git.pld-linux.org Git - packages/gcc.git/commitdiff
- rel 3; update branch patch auto/th/gcc-4_6_1-3
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Thu, 8 Sep 2011 18:51:58 +0000 (18:51 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    gcc-branch.diff -> 1.50
    gcc.spec -> 1.665

gcc-branch.diff
gcc.spec

index 978b86641e07c89af18230187240d14ccb097468..668199e0d06cad4d46987e09f0569a37cf07981f 100644 (file)
@@ -1,7 +1,7 @@
 Index: configure
 ===================================================================
---- configure  (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ configure  (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- configure  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ configure  (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -2705,9 +2705,8 @@
  
  # these libraries are built for the target environment, and are built after
@@ -148,8 +148,8 @@ Index: configure
  # is now the case.
 Index: Makefile.in
 ===================================================================
---- Makefile.in        (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ Makefile.in        (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- Makefile.in        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ Makefile.in        (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -966,7 +966,6 @@
      maybe-configure-target-libtermcap \
      maybe-configure-target-winsup \
@@ -819,10 +819,341 @@ Index: Makefile.in
  configure-target-gperf: maybe-all-target-newlib maybe-all-target-libgloss
  configure-target-gperf: maybe-all-target-libstdc++-v3
  
+Index: libgcc/ChangeLog
+===================================================================
+--- libgcc/ChangeLog   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgcc/ChangeLog   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,15 @@
++2011-08-24  Richard Sandiford  <richard.sandiford@linaro.org>
++
++      PR target/50090
++      * config/arm/bpabi-lib.h (RENAME_LIBRARY_SET): Delete.
++      (RENAME_LIBRARY): Use a C-level alias instead of an assembly one.
++
++2011-08-23  Uros Bizjak  <ubizjak@gmail.com>
++
++      * config/i386/64/sfp-machine.h (ASM_INVALID): New define.
++      (ASM_DIVZERO): Ditto.
++      (FP_HANLDE_EXCEPTIONS): Use ASM_INVALID and ASM_DIVZERO.
++
+ 2011-06-27  Release Manager
+       * GCC 4.6.1 released.
+Index: libgcc/config/arm/bpabi-lib.h
+===================================================================
+--- libgcc/config/arm/bpabi-lib.h      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgcc/config/arm/bpabi-lib.h      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -20,17 +20,10 @@
+    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+    <http://www.gnu.org/licenses/>.  */
+-#if defined (__thumb__)
+-#define RENAME_LIBRARY_SET ".thumb_set"
+-#else
+-#define RENAME_LIBRARY_SET ".set"
+-#endif
+-
+ /* Make __aeabi_AEABI_NAME an alias for __GCC_NAME.  */
+ #define RENAME_LIBRARY(GCC_NAME, AEABI_NAME)          \
+-  __asm__ (".globl\t__aeabi_" #AEABI_NAME "\n"                \
+-         RENAME_LIBRARY_SET "\t__aeabi_" #AEABI_NAME  \
+-           ", __" #GCC_NAME "\n");
++  typeof (__##GCC_NAME) __aeabi_##AEABI_NAME \
++    __attribute__((alias ("__" #GCC_NAME)));
+ /* Give some libgcc functions an additional __aeabi name.  */
+ #ifdef L_muldi3
+Index: libgcc/config/i386/64/sfp-machine.h
+===================================================================
+--- libgcc/config/i386/64/sfp-machine.h        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgcc/config/i386/64/sfp-machine.h        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -79,17 +79,25 @@
+   unsigned short int __unused5;
+ };
++#ifdef __AVX__
++ #define ASM_INVALID "vdivss %0, %0, %0"
++ #define ASM_DIVZERO "vdivss %1, %0, %0"
++#else
++ #define ASM_INVALID "divss %0, %0"
++ #define ASM_DIVZERO "divss %1, %0"
++#endif
++
+ #define FP_HANDLE_EXCEPTIONS                                          \
+   do {                                                                        \
+     if (_fex & FP_EX_INVALID)                                         \
+       {                                                                       \
+       float f = 0.0;                                                  \
+-      __asm__ __volatile__ ("divss %0, %0 " : : "x" (f));             \
++      __asm__ __volatile__ (ASM_INVALID : : "x" (f));                 \
+       }                                                                       \
+     if (_fex & FP_EX_DIVZERO)                                         \
+       {                                                                       \
+       float f = 1.0, g = 0.0;                                         \
+-      __asm__ __volatile__ ("divss %1, %0" : : "x" (f), "x" (g));     \
++      __asm__ __volatile__ (ASM_DIVZERO : : "x" (f), "x" (g));        \
+       }                                                                       \
+     if (_fex & FP_EX_OVERFLOW)                                                \
+       {                                                                       \
+Index: libgomp/ChangeLog
+===================================================================
+--- libgomp/ChangeLog  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgomp/ChangeLog  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,24 @@
++2011-08-19  Jakub Jelinek  <jakub@redhat.com>
++
++      PR fortran/49792
++      * testsuite/libgomp.fortran/pr49792-1.f90: New test.
++      * testsuite/libgomp.fortran/pr49792-2.f90: New test.
++
++2011-07-29  Jakub Jelinek  <jakub@redhat.com>
++
++      PR middle-end/49897
++      PR middle-end/49898
++      * testsuite/libgomp.c/pr49897-1.c: New test.
++      * testsuite/libgomp.c/pr49897-2.c: New test.
++      * testsuite/libgomp.c/pr49898-1.c: New test.
++      * testsuite/libgomp.c/pr49898-2.c: New test.
++
++2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      PR target/49541
++      * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
++      ldflags.
++
+ 2011-06-27  Release Manager
+       * GCC 4.6.1 released.
+Index: libgomp/testsuite/libgomp.fortran/pr49792-1.f90
+===================================================================
+--- libgomp/testsuite/libgomp.fortran/pr49792-1.f90    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ libgomp/testsuite/libgomp.fortran/pr49792-1.f90    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,18 @@
++! PR fortran/49792
++! { dg-do run }
++
++subroutine reverse(n, a)
++  integer :: n
++  real(kind=8) :: a(n)
++!$omp parallel workshare
++  a(:) = a(n:1:-1)
++!$omp end parallel workshare
++end subroutine reverse
++
++program pr49792
++  real(kind=8) :: a(16) = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
++  real(kind=8) :: b(16)
++  b(:) = a(16:1:-1)
++  call reverse (16,a)
++  if (any (a.ne.b)) call abort
++end program pr49792
+Index: libgomp/testsuite/libgomp.fortran/pr49792-2.f90
+===================================================================
+--- libgomp/testsuite/libgomp.fortran/pr49792-2.f90    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ libgomp/testsuite/libgomp.fortran/pr49792-2.f90    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,22 @@
++! PR fortran/49792
++! { dg-do run }
++! { dg-options "-std=f2003 -fall-intrinsics" }
++
++subroutine reverse(n, a)
++  integer :: n
++  real(kind=8) :: a(n)
++!$omp parallel workshare
++  a(:) = a(n:1:-1)
++!$omp end parallel workshare
++end subroutine reverse
++
++program pr49792
++  integer :: b(16)
++  integer, allocatable :: a(:)
++  b = 1
++!$omp parallel workshare
++  a = b
++!$omp end parallel workshare
++  if (size(a).ne.size(b)) call abort()
++  if (any (a.ne.b)) call abort()
++end program pr49792
+Index: libgomp/testsuite/lib/libgomp.exp
+===================================================================
+--- libgomp/testsuite/lib/libgomp.exp  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgomp/testsuite/lib/libgomp.exp  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -137,7 +137,6 @@
+         lappend ALWAYS_CFLAGS "ldflags=-L${blddir}/.libs"
+     }
+     lappend ALWAYS_CFLAGS "additional_flags=-I${srcdir}/.."
+-    lappend ALWAYS_CFLAGS "ldflags=-lgomp"
+     # We use atomic operations in the testcases to validate results.
+     if { ([istarget i?86-*-*] || [istarget x86_64-*-*])
+Index: libgomp/testsuite/libgomp.c/pr49897-1.c
+===================================================================
+--- libgomp/testsuite/libgomp.c/pr49897-1.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ libgomp/testsuite/libgomp.c/pr49897-1.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,31 @@
++/* PR middle-end/49897 */
++/* { dg-do run } */
++
++extern void abort (void);
++
++int
++main ()
++{
++  int i, j, x = 0, y, sum = 0;
++#pragma omp parallel reduction(+:sum)
++  {
++  #pragma omp for firstprivate(x) lastprivate(x, y)
++    for (i = 0; i < 10; i++)
++      {
++      x = i;
++      y = 0;
++      #pragma omp parallel reduction(+:sum)
++      {
++      #pragma omp for firstprivate(y) lastprivate(y)
++        for (j = 0; j < 10; j++)
++          {
++            y = j;
++            sum += y;
++          }
++      }
++      }
++  }
++  if (x != 9 || y != 9 || sum != 450)
++    abort ();
++  return 0;
++}
+Index: libgomp/testsuite/libgomp.c/pr49898-1.c
+===================================================================
+--- libgomp/testsuite/libgomp.c/pr49898-1.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ libgomp/testsuite/libgomp.c/pr49898-1.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,26 @@
++/* PR middle-end/49898 */
++/* { dg-do run } */
++
++extern void abort (void);
++
++int
++main ()
++{
++  int i, j, sum = 0;
++#pragma omp parallel
++  {
++  #pragma omp for reduction(+:sum)
++    for (i = 0; i < 10; i++)
++      {
++      #pragma omp parallel
++      {
++      #pragma omp for reduction(+:sum)
++        for (j = 0; j < 10; j++)
++          sum += j;
++      }
++      }
++  }
++  if (sum != 450)
++    abort ();
++  return 0;
++}
+Index: libgomp/testsuite/libgomp.c/pr49897-2.c
+===================================================================
+--- libgomp/testsuite/libgomp.c/pr49897-2.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ libgomp/testsuite/libgomp.c/pr49897-2.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,25 @@
++/* PR middle-end/49897 */
++/* { dg-do run } */
++
++extern void abort (void);
++
++int
++main ()
++{
++  int i, j, x = 0, y, sum = 0;
++#pragma omp parallel for reduction(+:sum) firstprivate(x) lastprivate(x, y)
++  for (i = 0; i < 10; i++)
++    {
++      x = i;
++      y = 0;
++    #pragma omp parallel for reduction(+:sum) firstprivate(y) lastprivate(y)
++      for (j = 0; j < 10; j++)
++      {
++        y = j;
++        sum += y;
++      }
++    }
++  if (x != 9 || y != 9 || sum != 450)
++    abort ();
++  return 0;
++}
+Index: libgomp/testsuite/libgomp.c/pr49898-2.c
+===================================================================
+--- libgomp/testsuite/libgomp.c/pr49898-2.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ libgomp/testsuite/libgomp.c/pr49898-2.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,18 @@
++/* PR middle-end/49898 */
++/* { dg-do run } */
++
++extern void abort (void);
++
++int
++main ()
++{
++  int i, j, sum = 0;
++#pragma omp parallel for reduction(+:sum)
++  for (i = 0; i < 10; i++)
++    #pragma omp parallel for reduction(+:sum)
++    for (j = 0; j < 10; j++)
++      sum += j;
++  if (sum != 450)
++    abort ();
++  return 0;
++}
+Index: libquadmath/ChangeLog
+===================================================================
+--- libquadmath/ChangeLog      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libquadmath/ChangeLog      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,8 @@
++2011-08-01  Jakub Jelinek  <jakub@redhat.com>
++
++      * math/rem_pio2q.c (__quadmath_kernel_rem_pio2): Fix up fq to y
++      conversion for prec 3 and __FLT_EVAL_METHOD__ != 0.
++
+ 2011-06-27  Release Manager
+       * GCC 4.6.1 released.
+Index: libquadmath/math/rem_pio2q.c
+===================================================================
+--- libquadmath/math/rem_pio2q.c       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libquadmath/math/rem_pio2q.c       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -282,14 +282,20 @@
+               break;
+           case 3:     /* painful */
+               for (i=jz;i>0;i--) {
+-                  fw      = fq[i-1]+fq[i];
+-                  fq[i]  += fq[i-1]-fw;
+-                  fq[i-1] = fw;
++#if __FLT_EVAL_METHOD__ != 0
++                  volatile
++#endif
++                  double fv = (double)(fq[i-1]+fq[i]);
++                  fq[i]  += fq[i-1]-fv;
++                  fq[i-1] = fv;
+               }
+               for (i=jz;i>1;i--) {
+-                  fw      = fq[i-1]+fq[i];
+-                  fq[i]  += fq[i-1]-fw;
+-                  fq[i-1] = fw;
++#if __FLT_EVAL_METHOD__ != 0
++                  volatile
++#endif
++                  double fv = (double)(fq[i-1]+fq[i]);
++                  fq[i]  += fq[i-1]-fv;
++                  fq[i-1] = fv;
+               }
+               for (fw=0.0,i=jz;i>=2;i--) fw += fq[i];
+               if(ih==0) {
 Index: gcc/doc/invoke.texi
 ===================================================================
---- gcc/doc/invoke.texi        (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/doc/invoke.texi        (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/doc/invoke.texi        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/doc/invoke.texi        (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -611,7 +611,8 @@
  -momit-leaf-frame-pointer  -mno-red-zone -mno-tls-direct-seg-refs @gol
  -mcmodel=@var{code-model} -mabi=@var{name} @gol
@@ -833,7 +1164,18 @@ Index: gcc/doc/invoke.texi
  
  @emph{i386 and x86-64 Windows Options}
  @gccoptlist{-mconsole -mcygwin -mno-cygwin -mdll
-@@ -12769,6 +12770,12 @@
+@@ -12172,6 +12173,10 @@
+ @item corei7-avx
+ Intel Core i7 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3,
+ SSE4.1, SSE4.2, AVX, AES and PCLMUL instruction set support.
++@item core-avx-i
++Intel Core CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3,
++SSE4.1, SSE4.2, AVX, AES, PCLMUL, FSGSBASE, RDRND and F16C instruction
++set support.
+ @item atom
+ Intel Atom CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3
+ instruction set support.
+@@ -12769,6 +12774,12 @@
  to 255, 8bit unsigned integer divide will be used instead of
  32bit/64bit integer divide.
  
@@ -846,17 +1188,271 @@ Index: gcc/doc/invoke.texi
  @end table
  
  These @samp{-m} switches are supported in addition to the above
+Index: gcc/doc/md.texi
+===================================================================
+--- gcc/doc/md.texi    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/doc/md.texi    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -4641,8 +4641,9 @@
+ string.  The instruction is not allowed to prefetch more than one byte
+ at a time since either string may end in the first byte and reading past
+ that may access an invalid page or segment and cause a fault.  The
+-effect of the instruction is to store a value in operand 0 whose sign
+-indicates the result of the comparison.
++comparison terminates early if the fetched bytes are different or if
++they are equal to zero.  The effect of the instruction is to store a
++value in operand 0 whose sign indicates the result of the comparison.
+ @cindex @code{cmpstr@var{m}} instruction pattern
+ @item @samp{cmpstr@var{m}}
+@@ -4660,8 +4661,10 @@
+ order starting at the beginning of each string.  The instruction is not allowed
+ to prefetch more than one byte at a time since either string may end in the
+ first byte and reading past that may access an invalid page or segment and
+-cause a fault.  The effect of the instruction is to store a value in operand 0
+-whose sign indicates the result of the comparison.
++cause a fault.  The comparison will terminate when the fetched bytes
++are different or if they are equal to zero.  The effect of the
++instruction is to store a value in operand 0 whose sign indicates the
++result of the comparison.
+ @cindex @code{cmpmem@var{m}} instruction pattern
+ @item @samp{cmpmem@var{m}}
+@@ -4669,9 +4672,10 @@
+ of @samp{cmpstr@var{m}}.  The two memory blocks specified are compared
+ byte by byte in lexicographic order starting at the beginning of each
+ block.  Unlike @samp{cmpstr@var{m}} the instruction can prefetch
+-any bytes in the two memory blocks.  The effect of the instruction is
+-to store a value in operand 0 whose sign indicates the result of the
+-comparison.
++any bytes in the two memory blocks.  Also unlike @samp{cmpstr@var{m}}
++the comparison will not stop if both bytes are zero.  The effect of
++the instruction is to store a value in operand 0 whose sign indicates
++the result of the comparison.
+ @cindex @code{strlen@var{m}} instruction pattern
+ @item @samp{strlen@var{m}}
+@@ -5510,7 +5514,7 @@
+ @cindex @code{stack_protect_set} instruction pattern
+ @item @samp{stack_protect_set}
+-This pattern, if defined, moves a @code{Pmode} value from the memory
++This pattern, if defined, moves a @code{ptr_mode} value from the memory
+ in operand 1 to the memory in operand 0 without leaving the value in
+ a register afterward.  This is to avoid leaking the value some place
+ that an attacker might use to rewrite the stack guard slot after
+@@ -5521,7 +5525,7 @@
+ @cindex @code{stack_protect_test} instruction pattern
+ @item @samp{stack_protect_test}
+-This pattern, if defined, compares a @code{Pmode} value from the
++This pattern, if defined, compares a @code{ptr_mode} value from the
+ memory in operand 1 with the memory in operand 0 without leaving the
+ value in a register afterward and branches to operand 2 if the values
+ weren't equal.
+Index: gcc/c-family/ChangeLog
+===================================================================
+--- gcc/c-family/ChangeLog     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/c-family/ChangeLog     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,9 @@
++2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR middle-end/50266
++      * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
++      computations.
++
+ 2011-06-27  Release Manager
+       * GCC 4.6.1 released.
+Index: gcc/c-family/c-common.c
+===================================================================
+--- gcc/c-family/c-common.c    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/c-family/c-common.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1229,7 +1229,21 @@
+       STRIP_TYPE_NOPS (op0);
+       if (code != ADDR_EXPR && code != REALPART_EXPR && code != IMAGPART_EXPR)
+       op0 = decl_constant_value_for_optimization (op0);
+-      if (op0 != orig_op0 || in_init)
++      /* ??? Cope with user tricks that amount to offsetof.  The middle-end is
++       not prepared to deal with them if they occur in initializers.  */
++      if (op0 != orig_op0
++        && code == ADDR_EXPR
++        && (op1 = get_base_address (op0)) != NULL_TREE
++        && TREE_CODE (op1) == INDIRECT_REF
++        && TREE_CONSTANT (TREE_OPERAND (op1, 0)))
++      {
++        tree offset = fold_offsetof (op0, op1);
++        op1
++          = fold_convert_loc (loc, TREE_TYPE (expr), TREE_OPERAND (op1, 0));
++        ret = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (expr), op1,
++                               offset);
++      }
++      else if (op0 != orig_op0 || in_init)
+       ret = in_init
+         ? fold_build1_initializer_loc (loc, code, TREE_TYPE (expr), op0)
+         : fold_build1_loc (loc, code, TREE_TYPE (expr), op0);
 Index: gcc/DATESTAMP
 ===================================================================
---- gcc/DATESTAMP      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/DATESTAMP      (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/DATESTAMP      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/DATESTAMP      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1 +1 @@
 -20110627
-+20110714
++20110908
+Index: gcc/tree.c
+===================================================================
+--- gcc/tree.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree.c (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -9386,6 +9386,31 @@
+                        ? "_Unwind_SjLj_Resume" : "_Unwind_Resume"),
+                       ECF_NORETURN);
++  if (built_in_decls[BUILT_IN_RETURN_ADDRESS] == NULL_TREE)
++    {
++      ftype = build_function_type_list (ptr_type_node, integer_type_node,
++                                      NULL_TREE);
++      local_define_builtin ("__builtin_return_address", ftype,
++                          BUILT_IN_RETURN_ADDRESS,
++                          "__builtin_return_address",
++                          ECF_NOTHROW);
++    }
++
++  if (built_in_decls[BUILT_IN_PROFILE_FUNC_ENTER] == NULL_TREE
++      || built_in_decls[BUILT_IN_PROFILE_FUNC_EXIT] == NULL_TREE)
++    {
++      ftype = build_function_type_list (void_type_node, ptr_type_node,
++                                      ptr_type_node, NULL_TREE);
++      if (built_in_decls[BUILT_IN_PROFILE_FUNC_ENTER] == NULL_TREE)
++      local_define_builtin ("__cyg_profile_func_enter", ftype,
++                            BUILT_IN_PROFILE_FUNC_ENTER,
++                            "__cyg_profile_func_enter", 0);
++      if (built_in_decls[BUILT_IN_PROFILE_FUNC_EXIT] == NULL_TREE)
++      local_define_builtin ("__cyg_profile_func_exit", ftype,
++                            BUILT_IN_PROFILE_FUNC_EXIT,
++                            "__cyg_profile_func_exit", 0);
++    }
++
+   /* The exception object and filter values from the runtime.  The argument
+      must be zero before exception lowering, i.e. from the front end.  After
+      exception lowering, it will be the region number for the exception
+@@ -10470,9 +10495,14 @@
+         if (result || !walk_subtrees)
+           return result;
+-        result = walk_type_fields (*type_p, func, data, pset, lh);
+-        if (result)
+-          return result;
++        /* But do not walk a pointed-to type since it may itself need to
++           be walked in the declaration case if it isn't anonymous.  */
++        if (!POINTER_TYPE_P (*type_p))
++          {
++            result = walk_type_fields (*type_p, func, data, pset, lh);
++            if (result)
++              return result;
++          }
+         /* If this is a record type, also walk the fields.  */
+         if (RECORD_OR_UNION_TYPE_P (*type_p))
+Index: gcc/builtins.c
+===================================================================
+--- gcc/builtins.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/builtins.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -4117,9 +4117,9 @@
+ }
+ /* Expand expression EXP, which is a call to the memcmp built-in function.
+-   Return NULL_RTX if we failed and the
+-   caller should emit a normal call, otherwise try to get the result in
+-   TARGET, if convenient (and in mode MODE, if that's convenient).  */
++   Return NULL_RTX if we failed and the caller should emit a normal call,
++   otherwise try to get the result in TARGET, if convenient (and in mode
++   MODE, if that's convenient).  */
+ static rtx
+ expand_builtin_memcmp (tree exp, ATTRIBUTE_UNUSED rtx target,
+@@ -4131,7 +4131,10 @@
+                        POINTER_TYPE, POINTER_TYPE, INTEGER_TYPE, VOID_TYPE))
+     return NULL_RTX;
+-#if defined HAVE_cmpmemsi || defined HAVE_cmpstrnsi
++  /* Note: The cmpstrnsi pattern, if it exists, is not suitable for
++     implementing memcmp because it will stop if it encounters two
++     zero bytes.  */
++#if defined HAVE_cmpmemsi
+   {
+     rtx arg1_rtx, arg2_rtx, arg3_rtx;
+     rtx result;
+@@ -4146,16 +4149,9 @@
+       = get_pointer_alignment (arg2, BIGGEST_ALIGNMENT) / BITS_PER_UNIT;
+     enum machine_mode insn_mode;
+-#ifdef HAVE_cmpmemsi
+     if (HAVE_cmpmemsi)
+       insn_mode = insn_data[(int) CODE_FOR_cmpmemsi].operand[0].mode;
+     else
+-#endif
+-#ifdef HAVE_cmpstrnsi
+-    if (HAVE_cmpstrnsi)
+-      insn_mode = insn_data[(int) CODE_FOR_cmpstrnsi].operand[0].mode;
+-    else
+-#endif
+       return NULL_RTX;
+     /* If we don't have POINTER_TYPE, call the function.  */
+@@ -4180,18 +4176,10 @@
+       set_mem_size (arg2_rtx, arg3_rtx);
+       }
+-#ifdef HAVE_cmpmemsi
+     if (HAVE_cmpmemsi)
+       insn = gen_cmpmemsi (result, arg1_rtx, arg2_rtx, arg3_rtx,
+                          GEN_INT (MIN (arg1_align, arg2_align)));
+     else
+-#endif
+-#ifdef HAVE_cmpstrnsi
+-    if (HAVE_cmpstrnsi)
+-      insn = gen_cmpstrnsi (result, arg1_rtx, arg2_rtx, arg3_rtx,
+-                          GEN_INT (MIN (arg1_align, arg2_align)));
+-    else
+-#endif
+       gcc_unreachable ();
+     if (insn)
+@@ -4217,7 +4205,7 @@
+     else
+       return convert_to_mode (mode, result, 0);
+   }
+-#endif
++#endif /* HAVE_cmpmemsi.  */
+   return NULL_RTX;
+ }
+Index: gcc/omp-low.c
+===================================================================
+--- gcc/omp-low.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/omp-low.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -785,7 +785,7 @@
+                 break;
+             if (c)
+-              return true;
++              goto maybe_mark_addressable_and_ret;
+           }
+       }
+@@ -795,7 +795,9 @@
+        returns, the task hasn't necessarily terminated.  */
+       if (!TREE_READONLY (decl) && is_task_ctx (shared_ctx))
+       {
+-        tree outer = maybe_lookup_decl_in_outer_ctx (decl, shared_ctx);
++        tree outer;
++      maybe_mark_addressable_and_ret:
++        outer = maybe_lookup_decl_in_outer_ctx (decl, shared_ctx);
+         if (is_gimple_reg (outer))
+           {
+             /* Taking address of OUTER in lower_send_shared_vars
 Index: gcc/reorg.c
 ===================================================================
---- gcc/reorg.c        (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/reorg.c        (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/reorg.c        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/reorg.c        (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -2152,7 +2152,7 @@
              /* This must be an INSN or CALL_INSN.  */
              pat = PATTERN (trial);
@@ -896,15 +1492,428 @@ Index: gcc/reorg.c
  
 Index: gcc/DEV-PHASE
 ===================================================================
---- gcc/DEV-PHASE      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/DEV-PHASE      (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/DEV-PHASE      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/DEV-PHASE      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1 @@
 +prerelease
 Index: gcc/ChangeLog
 ===================================================================
---- gcc/ChangeLog      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/ChangeLog      (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -1,3 +1,306 @@
+--- gcc/ChangeLog      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/ChangeLog      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,719 @@
++2011-09-08  Martin Jambor  <mjambor@suse.cz>
++
++      Backport from mainline
++      2011-09-07  Martin Jambor  <mjambor@suse.cz>
++
++      PR tree-optimization/49911
++      * tree-sra.c (analyze_access_subtree): Change type of to-be-replaced
++      enumerations to the corresponding plain integer type.
++
++2011-09-08  Richard Guenther  <rguenther@suse.de>
++
++      Backport from mainline
++      2011-07-04  Richard Guenther  <rguenther@suse.de>
++
++      PR tree-optimization/49518
++      PR tree-optimization/49628
++      * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Skip
++      irrelevant data-references.
++
++2011-09-08  Richard Guenther  <rguenther@suse.de>
++
++      Backport from mainline
++      2011-08-23  Richard Guenther  <rguenther@suse.de>
++
++      PR tree-optimization/50162
++      * tree-vect-stmts.c (vectorizable_call): Fix argument lookup.
++
++2011-09-08  Richard Guenther  <rguenther@suse.de>
++
++      Backport from mainline
++      2011-05-05  Michael Matz  <matz@suse.de>
++
++      * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
++      * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
++      * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
++      * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
++      * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
++      * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
++      * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
++      * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
++      * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
++      * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
++      * config/i386/linux.h (ENDFILE_SPEC): Add Ofast.
++      * config/i386/linux64.h (ENDFILE_SPEC): Add Ofast.
++      * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
++      * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
++      * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
++      * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
++
++2011-09-08  Eric Botcazou  <ebotcazou@adacore.com>
++          Iain Sandoe  <iains@gcc.gnu.org>
++
++      Backport from mainline (restore powerpc-darwin Ada bootstrap).
++      * config/rs6000/rs6000.c (compute_save_world_info): Test
++      cfun->has_nonlocal_label to determine if the out-of-line save
++      world call may be used.
++
++2011-09-08  Jakub Jelinek  <jakub@redhat.com>
++
++      PR target/50310
++      * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Return
++      code early if TARGET_AVX.
++      (ix86_expand_fp_vcond): Handle LTGT and UNEQ.
++
++2011-09-06  Martin Jambor  <mjambor@suse.cz>
++
++      Revert
++      2011-09-02  Martin Jambor  <mjambor@suse.cz>
++        PR middle-end/49886
++        * ipa-split.c (split_function): Do not skip any arguments if
++        can_change_signature is set or there are function type attributes.
++
++2011-09-05  Georg-Johann Lay  <avr@gjlay.de>
++
++      PR target/50289
++      Backport from mainline r178528
++      * config/avr/avr.c (sequent_regs_live): Don't recognize sequences
++      that contain global register variable.
++
++2011-09-02  Martin Jambor  <mjambor@suse.cz>
++
++      PR middle-end/49886
++      * ipa-split.c (split_function): Do not skip any arguments if
++      can_change_signature is set or there are function type attributes.
++
++2011-09-01  Ira Rosen  <ira.rosen@linaro.org>
++
++      PR tree-optimization/50178
++      * tree-vect-stmts.c (vectorizable_call): Update the related
++      pattern statement before deleting the original call.
++      (vect_transform_stmt): Don't expect the related pattern statement
++      to match the original statement after transformation.
++
++2011-08-29  Richard Guenther  <rguenther@suse.de>
++
++      PR middle-end/50116
++      * varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
++
++2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
++
++      * config/i386/sse.md (vec_extract_lo_<mode>): Prevent both
++      operands in memory.
++      (vec_extract_lo_v16hi): Ditto.
++      (*vec_extract_v4sf_mem): Add TARGET_SSE insn constraint.
++      * config/i386/i386.c (legitimize_tls_address): Change REG_EQIV
++      notes to REG_EQUAL.
++
++2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
++
++      PR target/50202
++      * config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
++      when all outputs are unused.
++      (sse4_2_pcmpistr): Ditto.
++
++2011-08-26  Jakub Jelinek  <jakub@redhat.com>
++
++      PR c/50179
++      * c-typeck.c (c_process_expr_stmt): Skip over nops and
++      call mark_exp_read even if exprv is ADDR_EXPR.
++
++2011-08-20  Jakub Jelinek  <jakub@redhat.com>
++
++      PR tree-optimization/48739
++      * tree-ssa.c: Include cfgloop.h.
++      (execute_update_addresses_taken): When updating ssa, if in
++      loop closed SSA form, call rewrite_into_loop_closed_ssa instead of
++      update_ssa.
++      * Makefile.in (tree-ssa.o): Depend on $(CFGLOOP_H).
++
++2011-08-18  Jakub Jelinek  <jakub@redhat.com>
++
++      PR target/50092
++      * config/i386/i386.c (assign_386_stack_local): Call validize_mem
++      on the result before returning it.
++
++2011-08-16  Liang Wang  <lwang1@marvell.com>
++
++      * ggc.h (ggc_alloc_rtvec_sized): Change arguments of
++      ggc_alloc_zone_vec_rtvec_def.
++
++2011-08-12  Nick Clifton  <nickc@redhat.com>
++
++      * builtins.c (expand_builtin_memcmp): Do not use cmpstrnsi
++      pattern.
++      * doc/md.texi (cmpstrn): Note that the comparison stops if both
++      fetched bytes are zero.
++      (cmpstr): Likewise.
++      (cmpmem): Note that the comparison does not stop if both of the
++      fetched bytes are zero.
++
++2011-08-11  Kazuhiro Inaoka  <kazuhiro.inaoka.ud@renesas.com>
++
++      * config/rx/rx.md (movsicc): Allow register to register
++      transfers.
++      (*movsicc): Likewise.
++      (*stcc): Restrict this pattern to EQ and NE compares.
++      (*stcc_reg): New pattern.  Works for any comparison but only for
++      register transfers.
++
++2011-08-10  DJ Delorie  <dj@redhat.com>
++
++      * expr.c (expand_expr_addr_expr_1): Detect a user request for
++      a local frame in a naked function, and produce a suitable
++      error for that specific case.
++
++2011-08-09  Martin Jambor  <mjambor@suse.cz>
++
++      PR middle-end/49923
++      * tree-sra.c (access_precludes_ipa_sra_p): Also check access
++      memory alignment.
++
++2011-08-09  Nick Clifton  <nickc@redhat.com>
++
++      * config/rx/rx.md: Disable extender peepholes at -O3.
++
++2011-08-06  Uros Bizjak  <ubizjak@gmail.com>
++
++      PR target/50001
++      * config/alpha/alpha.c (alpha_instantiate_decls): New function.
++      (TARGET_INSTANTIATE_DECLS): New define.
++
++2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>
++
++      Backport from mainline
++      2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>
++
++      * config/i386/i386.c (processor_alias_table): Add core-avx-i.
++
++      * doc/invoke.texi: Document core-avx-i.
++
++2011-08-03  Jakub Jelinek  <jakub@redhat.com>
++
++      PR tree-optimization/49948
++      * gimple.c (walk_stmt_load_store_addr_ops): Walk CONSTRUCTOR elements.
++
++2011-08-02  Uros Bizjak  <ubizjak@gmail.com>
++
++      * doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
++      (stack_protect_test): The pattern compares ptr_mode value.
++
++2011-07-31  Uros Bizjak  <ubizjak@gmail.com>
++
++      PR target/49920
++      * config/i386/i386.md (strset): Do not expand strset_singleop
++      when %eax or $edi are fixed.
++      (*strsetdi_rex_1): Disable when %eax or %edi are fixed.
++      (*strsetsi_1): Ditto.
++      (*strsethi_1): Ditto.
++      (*strsetqi_1): Ditto.
++      (*rep_stosdi_rex64): Disable when %eax, %ecx or %edi are fixed.
++      (*rep_stossi): Ditto.
++      (*rep_stosqi): Ditto.
++      (*strlenqi_1): Ditto.
++      (cmpstrnsi): Also fail when %ecx is fixed.
++      (*cmpstrnqi_nz_1): Disable when %ecx, %esi or %edi are fixed.
++      (*cmpstrnqi_1): Ditto.
++      (*strmovdi_rex_1): Disable when %esi or %edi are fixed.
++      (*strmovsi_1): Ditto.
++      (*strmovhi_1): Ditto.
++      (*strmovqi_1): Ditto.
++      (*rep_movdi_rex64): Disable when %ecx, %esi or %edi are fixed.
++      (*rep_movsi): Ditto.
++      (*rep_movqi): Ditto.
++
++2011-07-31  Mikael Pettersson  <mikpe@it.uu.se>
++
++      PR target/47908
++      * config/m68k/m68k.c (m68k_override_options_after_change): New function.
++      Disable instruction scheduling for non-ColdFire targets.
++      (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
++
++2011-07-29  Jakub Jelinek  <jakub@redhat.com>
++
++      PR middle-end/49897
++      PR middle-end/49898
++      * omp-low.c (use_pointer_for_field): If disallowing copy-in/out
++      in nested parallel and outer is a gimple_reg, mark it as addressable
++      and set its bit in task_shared_vars bitmap too.
++
++2011-07-29  Wei Guozhi  <carrot@google.com>
++
++      Backport from mainline
++      2011-07-29  Wei Guozhi  <carrot@google.com>
++
++      PR rtl-optimization/49799
++      * combine.c (make_compound_operation): Check if the bit field is valid
++      before change it to bit field extraction.
++
++2011-07-28  Jakub Jelinek  <jakub@redhat.com>
++
++      PR debug/49871
++      * dwarf2out.c (size_of_die, value_format, output_die): Use
++      DW_FORM_udata instead of DW_FORM_data[48] for
++      dw_val_class_unsigned_const DW_AT_data_member_location for DWARF 3.
++
++2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
++
++      Backport from mainline
++      2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
++
++      PR target/47364
++      * config/i386/i386.md (strlen<mode>): Replace SWI48x with P.
++
++2011-07-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
++
++      Backport from mainline:
++      2011-07-26  Martin Jambor  <mjambor@suse.cz>
++
++      * tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
++      return false for invariants.
++
++2011-07-27  Jakub Jelinek  <jakub@redhat.com>
++
++      PR target/49866
++      * config/i386/i386.md (*call_pop_1_vzeroupper, *call_pop_1,
++      *sibcall_pop_1_vzeroupper, *sibcall_pop_1, *call_1_vzeroupper,
++      *call_1, *sibcall_1_vzeroupper, *sibcall_1, *call_1_rex64_vzeroupper,
++      *call_1_rex64, *call_1_rex64_ms_sysv_vzeroupper,
++      *call_1_rex64_ms_sysv, *sibcall_1_rex64_vzeroupper,
++      *sibcall_1_rex64, *call_value_pop_1_vzeroupper,
++      *call_value_pop_1, *sibcall_value_pop_1_vzeroupper,
++      *sibcall_value_pop_1, *call_value_1_vzeroupper,
++      *call_value_1, *sibcall_value_1_vzeroupper,
++      *sibcall_value_1, *call_value_1_rex64_vzeroupper,
++      *call_value_1_rex64, *call_value_1_rex64_ms_sysv_vzeroupper,
++      *call_value_1_rex64_ms_sysv, *sibcall_value_1_rex64_vzeroupper,
++      *sibcall_value_1_rex64): Use z constraint instead of s constraint.
++
++      Backport from mainline
++      2011-05-16  Uros Bizjak  <ubizjak@gmail.com>
++
++      * config/i386/constraints.md (z): New constraint.
++
++2011-07-25  Andrew Pinski  <apinski@cavium.com>
++
++      PR tree-opt/49671
++      * tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
++      TREE_THIS_NOTRAP into the inner most MEM_REF.
++      Always copy TREE_THIS_VOLATILE.
++      * tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
++      arguments are not volatile references.
++
++2011-07-25  Georg-Johann Lay  <avr@gjlay.de>
++
++      PR target/39386
++      Backport from mainline r176756
++      2011-07-25  Georg-Johann Lay
++      * config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as
++      shift counter for x << x and x >> x shifts.
++
++2011-07-22  Uros Bizjak  <ubizjak@gmail.com>
++
++      * config.gcc (x86_64-*-linux*): Set
++      default_gnu_indirect_function to yes.
++
++2011-07-22  Richard Guenther  <rguenther@suse.de>
++
++      PR tree-optimization/45819
++      * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly
++      preserve volatile and notrap flags.
++
++2011-07-21  Uros Bizjak  <ubizjak@gmail.com>
++
++      Backport from mainline
++      2011-07-04  Uros Bizjak  <ubizjak@gmail.com>
++
++      PR target/49600
++      * config/i386/i386.md (SSE2 int->float split): Push operand 1 in
++      general register to memory for !TARGET_INTER_UNIT_MOVES.
++
++2011-07-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
++
++      * config/s390/s390.c (s390_class_max_nregs): Fix return type.
++      * config/s390/s390-protos.h (s390_class_max_nregs): Likewise.
++
++2011-07-19  Jakub Jelinek  <jakub@redhat.com>
++
++      PR tree-optimization/49768
++      * tree-ssa-ccp.c (fold_nonarray_ctor_reference): Return NULL
++      if offset is smaller than bitoffset, but offset+size is bigger
++      than bitoffset.
++
++2011-07-18  Jakub Jelinek  <jakub@redhat.com>
++
++      PR middle-end/49675
++      * tree.c (build_common_builtin_nodes): Register
++      __builtin_return_address, __cyg_profile_func_enter
++      and __cyg_profile_func_exit.
++
++2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      * config.gcc: Obsolete i[3456x]86-*-netware*.
++
++2011-07-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++
++      PR target/49746
++      Revert:
++      2010-12-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++
++      * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean
++      patterns.
++
++2011-07-17  Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR middle-end/49732
++      * tree.c (walk_tree_1) <DECL_EXPR>: Do not walk a pointed-to type.
++
++2011-07-16  Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR tree-optimization/49725
++      Backport from mainline
++      2011-03-31  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
++      a zero minimum index only if it is redundant.
++
++2011-07-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++
++      PR target/49723
++      * config/pa/pa.md (casesi): Use gen_int_mode instead of GEN_INT.
++
++2011-07-15  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
++
++      Backport from mainline:
++      2011-07-13  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
++
++      * config/spu/spu.c (TARGET_ASM_FILE_START): Do not define.
++      (asm_file_start): Remove.
++      (spu_machine_dependent_reorg): Call compute_bb_for_insn and
++      free_bb_for_insn around code that modifies insns before
++      restarting df analysis.
++
++2011-07-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      Backport from mainline:
++      2011-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      PR target/49541
++      * config/sol2.h (LIB_SPEC): Simplify.
++      Move LIB_THREAD_LDFLAGS_SPEC ...
++      (LINK_SPEC): ... here.
++
++2011-07-14  James Greenhalgh  <james.greenhalgh@arm.com>
++
++      * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add __ARM_FEATURE_DSP.
++
++2011-07-14  Andrew Pinski  <pinskia@gmail.com>
++
++      PR tree-opt/49309
++      * tree-mudflap.c (mf_xform_derefs_1 <case MEM_REF>):
++      Use fold_build2_loc instead of build2.
++      Use the correct type for the new tree.
++
 +2011-07-14  Georg-Johann Lay  <avr@gjlay.de>
 +      
 +      PR target/49487
@@ -1211,10 +2220,61 @@ Index: gcc/ChangeLog
  2011-06-27  Release Manager
  
        * GCC 4.6.1 released.
+@@ -10,7 +726,7 @@
+ 2011-06-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+       Backport from mainline.
+-        2011-06-13  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
++      2011-06-13  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+       PR target/48454
+       * config/arm/neon.md (vec_pack_trunc): Set the lengths
+Index: gcc/testsuite/gcc.target/arm/pr41679.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/pr41679.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr41679.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,16 +0,0 @@
+-/* { dg-do compile } */
+-/* { dg-options "-march=armv5te -g -O2" } */
+-
+-extern int a;
+-extern char b;
+-extern int foo (void);
+-
+-void
+-test (void)
+-{
+-  int c;
+-  b = foo () ? '~' : '\0';
+-  while ((c = foo ()))
+-    if (c == '7')
+-      a = 0;
+-}
+Index: gcc/testsuite/gcc.target/arm/pr46883.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/pr46883.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr46883.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,16 +0,0 @@
+-/* { dg-do compile } */
+-/* { dg-options "-O1 -march=armv5te" } */
+-
+-void bar (unsigned char *q, unsigned short *data16s, int len)
+-{
+-  int i;
+-
+-  for (i = 0; i < len; i++)
+-    {
+-      q[2 * i] =
+-        (((data16s[i] & 0xFF) << 8) | ((data16s[i] >> 8) & 0xFF)) & 0xFF;
+-      q[2 * i + 1] =
+-        ((unsigned short)
+-         (((data16s[i] & 0xFF) << 8) | ((data16s[i] >> 8) & 0xFF))) >> 8;
+-    }
+-}
 Index: gcc/testsuite/gcc.target/arm/scd42-3.c
 ===================================================================
---- gcc/testsuite/gcc.target/arm/scd42-3.c     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gcc.target/arm/scd42-3.c     (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gcc.target/arm/scd42-3.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/scd42-3.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,6 +1,7 @@
  /* Verify that ldr is preferred on XScale for loading a 3 or 4 byte constant. */
  /* { dg-do compile } */
@@ -1224,10 +2284,22 @@ Index: gcc/testsuite/gcc.target/arm/scd42-3.c
  /* { dg-options "-mcpu=xscale -O" } */
  
  unsigned load4(void) __attribute__ ((naked));
+Index: gcc/testsuite/gcc.target/arm/pr45701-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/pr45701-1.c   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr45701-1.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+-/* { dg-options "-march=armv7-a -mthumb -Os" }  */
++/* { dg-skip-if "" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
++/* { dg-options "-mthumb -Os" }  */
+ /* { dg-final { scan-assembler "push\t\{r3" } } */
+ /* { dg-final { scan-assembler-not "r8" } } */
 Index: gcc/testsuite/gcc.target/arm/fp16-compile-vcvt.c
 ===================================================================
---- gcc/testsuite/gcc.target/arm/fp16-compile-vcvt.c   (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gcc.target/arm/fp16-compile-vcvt.c   (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gcc.target/arm/fp16-compile-vcvt.c   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/fp16-compile-vcvt.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,7 +1,7 @@
  /* { dg-do compile } */
 -/* { dg-require-effective-target arm_neon_fp16_ok } */
@@ -1238,10 +2310,33 @@ Index: gcc/testsuite/gcc.target/arm/fp16-compile-vcvt.c
  
  /* Test generation of VFP __fp16 instructions.  */
  
+Index: gcc/testsuite/gcc.target/arm/wmul-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/wmul-3.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/wmul-3.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -march=armv6t2" } */
++/* { dg-require-effective-target arm_dsp } */
++/* { dg-options "-O2" } */
+ int mac(const short *a, const short *b, int sqr, int *sum)
+ {
+Index: gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/vfp-ldmdbs.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_vfp_ok } */
++/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
+ /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+ extern void baz (float);
 Index: gcc/testsuite/gcc.target/arm/pr42879.c
 ===================================================================
---- gcc/testsuite/gcc.target/arm/pr42879.c     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gcc.target/arm/pr42879.c     (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gcc.target/arm/pr42879.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr42879.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,4 +1,5 @@
 -/* { dg-options "-march=armv7-a -mthumb -Os" }  */
 +/* { dg-require-effective-target arm_thumb2_ok } */
@@ -1251,8 +2346,8 @@ Index: gcc/testsuite/gcc.target/arm/pr42879.c
  struct A
 Index: gcc/testsuite/gcc.target/arm/ctz.c
 ===================================================================
---- gcc/testsuite/gcc.target/arm/ctz.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gcc.target/arm/ctz.c (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gcc.target/arm/ctz.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/ctz.c (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,6 +1,6 @@
  /* { dg-do compile } */
 -/* { dg-require-effective-target arm32 } */
@@ -1264,8 +2359,8 @@ Index: gcc/testsuite/gcc.target/arm/ctz.c
  {
 Index: gcc/testsuite/gcc.target/arm/thumb-bitfld1.c
 ===================================================================
---- gcc/testsuite/gcc.target/arm/thumb-bitfld1.c       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gcc.target/arm/thumb-bitfld1.c       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gcc.target/arm/thumb-bitfld1.c       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/thumb-bitfld1.c       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,5 +1,6 @@
  /* { dg-do compile } */
 -/* { dg-options "-O1 -mthumb -march=armv5t" }  */
@@ -1274,29 +2369,183 @@ Index: gcc/testsuite/gcc.target/arm/thumb-bitfld1.c
  
  struct foo
  {
+Index: gcc/testsuite/gcc.target/arm/pr39839.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/pr39839.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr39839.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,5 @@
+-/* { dg-options "-mthumb -Os -march=armv5te -mthumb-interwork -fpic" }  */
+-/* { dg-require-effective-target arm_thumb1_ok } */
++/* { dg-require-effective-target fpic } */
++/* { dg-options "-Os -fpic" }  */
+ /* { dg-final { scan-assembler-not "str\[\\t \]*r.,\[\\t \]*.sp," } } */
+ struct S
+Index: gcc/testsuite/gcc.target/arm/vfp-ldmias.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/vfp-ldmias.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/vfp-ldmias.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_vfp_ok } */
++/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
+ /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+ extern void baz (float);
+Index: gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/vfp-ldmdbd.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_vfp_ok } */
++/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
+ /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+ extern void bar (double);
+Index: gcc/testsuite/gcc.target/arm/pr45701-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/pr45701-2.c   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr45701-2.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+-/* { dg-options "-march=armv7-a -mthumb -Os" }  */
++/* { dg-skip-if "" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
++/* { dg-options "-mthumb -Os" }  */
+ /* { dg-final { scan-assembler "push\t\{r3" } } */
+ /* { dg-final { scan-assembler-not "r8" } } */
+Index: gcc/testsuite/gcc.target/arm/pr42093.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/pr42093.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr42093.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,4 +1,4 @@
+-/* { dg-options "-mthumb -O2" }  */
++/* { dg-options "-mthumb -O2 -fno-reorder-blocks" }  */
+ /* { dg-require-effective-target arm_thumb2_ok } */
+ /* { dg-final { scan-assembler-not "tbb" } } */
+ /* { dg-final { scan-assembler-not "tbh" } } */
+Index: gcc/testsuite/gcc.target/arm/wmul-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/wmul-4.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/wmul-4.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -march=armv6t2" } */
++/* { dg-require-effective-target arm_dsp } */
++/* { dg-options "-O2" } */
+ int mac(const int *a, const int *b, long long sqr, long long *sum)
+ {
+Index: gcc/testsuite/gcc.target/arm/vfp-stmdbs.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/vfp-stmdbs.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/vfp-stmdbs.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_vfp_ok } */
++/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
+ /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+ void
+Index: gcc/testsuite/gcc.target/arm/pr40657-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/pr40657-2.c   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr40657-2.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,4 +1,4 @@
+-/* { dg-options "-Os -march=armv4t -mthumb" }  */
++/* { dg-options "-Os -mthumb" }  */
+ /* { dg-require-effective-target arm_thumb1_ok } */
+ /* { dg-final { scan-assembler-not "sub\[\\t \]*sp,\[\\t \]*sp" } } */
+ /* { dg-final { scan-assembler-not "add\[\\t \]*sp,\[\\t \]*sp" } } */
+Index: gcc/testsuite/gcc.target/arm/pr42574.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/pr42574.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr42574.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,4 +1,4 @@
+-/* { dg-options "-mthumb -Os -fpic -march=armv5te" }  */
++/* { dg-options "-mthumb -Os -fpic" }  */
+ /* { dg-require-effective-target arm_thumb1_ok } */
+ /* { dg-require-effective-target fpic } */
+ /* Make sure the address of glob.c is calculated only once and using
 Index: gcc/testsuite/gcc.target/arm/stack-corruption.c
 ===================================================================
---- gcc/testsuite/gcc.target/arm/stack-corruption.c    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gcc.target/arm/stack-corruption.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gcc.target/arm/stack-corruption.c    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/stack-corruption.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,4 +1,5 @@
  /* { dg-do compile } */
 +/* { dg-skip-if "" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
  /* { dg-options "-O -mthumb -fno-omit-frame-pointer" } */
  
  int main() {
+Index: gcc/testsuite/gcc.target/arm/vfp-ldmiad.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/vfp-ldmiad.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/vfp-ldmiad.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_vfp_ok } */
++/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
+ /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+ extern void bar (double);
 Index: gcc/testsuite/gcc.target/arm/pr40482.c
 ===================================================================
---- gcc/testsuite/gcc.target/arm/pr40482.c     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gcc.target/arm/pr40482.c     (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gcc.target/arm/pr40482.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr40482.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,3 +1,4 @@
 +/* { dg-skip-if "" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
  /* { dg-options "-mthumb -Os" }  */
  /* { dg-final { scan-assembler-not "ldr" } } */
  
+Index: gcc/testsuite/gcc.target/arm/vfp-stmias.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/vfp-stmias.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/vfp-stmias.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_vfp_ok } */
++/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
+ /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+ void
+Index: gcc/testsuite/gcc.target/arm/vfp-stmdbd.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/vfp-stmdbd.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/vfp-stmdbd.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_vfp_ok } */
++/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
+ /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+ void
+Index: gcc/testsuite/gcc.target/arm/pr42235.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/pr42235.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr42235.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,4 +1,4 @@
+-/* { dg-options "-mthumb -O2 -march=armv5te" }  */
++/* { dg-options "-mthumb -O2" }  */
+ /* { dg-require-effective-target arm_thumb1_ok } */
+ /* { dg-final { scan-assembler-not "add\[\\t \]*r.,\[\\t \]*r.,\[\\t \]*\#1" } } */
+ /* { dg-final { scan-assembler-not "add\[\\t \]*r.,\[\\t \]*\#1" } } */
+Index: gcc/testsuite/gcc.target/arm/wmul-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/wmul-1.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/wmul-1.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -march=armv6t2" } */
++/* { dg-require-effective-target arm_dsp } */
++/* { dg-options "-O2" } */
+ int mac(const short *a, const short *b, int sqr, int *sum)
+ {
 Index: gcc/testsuite/gcc.target/arm/pr45701-3.c
 ===================================================================
---- gcc/testsuite/gcc.target/arm/pr45701-3.c   (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gcc.target/arm/pr45701-3.c   (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gcc.target/arm/pr45701-3.c   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr45701-3.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,5 +1,6 @@
  /* { dg-do compile } */
 -/* { dg-options "-march=armv7-a -mthumb -Os" }  */
@@ -1305,10 +2554,33 @@ Index: gcc/testsuite/gcc.target/arm/pr45701-3.c
  /* { dg-final { scan-assembler "push\t.*r8" } } */
  /* { dg-final { scan-assembler-not "push\t*r3" } } */
  
+Index: gcc/testsuite/gcc.target/arm/vfp-stmiad.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/vfp-stmiad.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/vfp-stmiad.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-require-effective-target arm_vfp_ok } */
++/* { dg-skip-if "need fp instructions" { *-*-* } { "-mfloat-abi=soft" } { "" } } */
+ /* { dg-options "-O2 -mfpu=vfp -mfloat-abi=softfp" } */
+ void
+Index: gcc/testsuite/gcc.target/arm/thumb-branch1.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/thumb-branch1.c       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/thumb-branch1.c       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+-/* { dg-options "-Os -mthumb -march=armv5te" } */
++/* { dg-skip-if "" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
++/* { dg-options "-Os -mthumb" } */
+ int returnbool(int a, int b)
+ {
 Index: gcc/testsuite/gcc.target/arm/20031108-1.c
 ===================================================================
---- gcc/testsuite/gcc.target/arm/20031108-1.c  (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gcc.target/arm/20031108-1.c  (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gcc.target/arm/20031108-1.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/20031108-1.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,5 +1,6 @@
  /* PR optimization/10467  */
  /* { dg-do compile } */
@@ -1316,10 +2588,66 @@ Index: gcc/testsuite/gcc.target/arm/20031108-1.c
  /* { dg-options "-O2 -mthumb" } */
  
  typedef enum {Ident_1} Enumeration;
+Index: gcc/testsuite/gcc.target/arm/mla-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/mla-1.c       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/mla-1.c       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -march=armv5te" } */
++/* { dg-skip-if "" { arm_thumb1 } { "*" } { "" } } */
++/* { dg-options "-O2" } */
+ int
+Index: gcc/testsuite/gcc.target/arm/wmul-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/wmul-2.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/wmul-2.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -march=armv6t2" } */
++/* { dg-require-effective-target arm_dsp } */
++/* { dg-options "-O2" } */
+ void vec_mpy(int y[], const short x[], short scaler)
+ {
+Index: gcc/testsuite/gcc.target/arm/pr42495.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/pr42495.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr42495.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,4 +1,4 @@
+-/* { dg-options "-mthumb -Os -fpic -march=armv5te -fdump-rtl-hoist" }  */
++/* { dg-options "-mthumb -Os -fpic -fdump-rtl-hoist" }  */
+ /* { dg-require-effective-target arm_thumb1_ok } */
+ /* { dg-require-effective-target fpic } */
+ /* Make sure all calculations of gObj's address get hoisted to one location.  */
+Index: gcc/testsuite/gcc.target/arm/pr40956.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/pr40956.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr40956.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,4 @@
+-/* { dg-options "-mthumb -Os -fpic -march=armv5te" }  */
+-/* { dg-require-effective-target arm_thumb1_ok } */
++/* { dg-options "-Os -fpic" }  */
+ /* { dg-require-effective-target fpic } */
+ /* Make sure the constant "0" is loaded into register only once.  */
+ /* { dg-final { scan-assembler-times "mov\[\\t \]*r., #0" 1 } } */
+Index: gcc/testsuite/gcc.target/arm/pr42505.c
+===================================================================
+--- gcc/testsuite/gcc.target/arm/pr42505.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/arm/pr42505.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,4 @@
+-/* { dg-options "-mthumb -Os -march=armv5te" }  */
+-/* { dg-require-effective-target arm_thumb1_ok } */
++/* { dg-options "-Os" }  */
+ /* { dg-final { scan-assembler-not "str\[\\t \]*r.,\[\\t \]*.sp," } } */
+ struct A {
 Index: gcc/testsuite/gcc.target/powerpc/altivec-34.c
 ===================================================================
 --- gcc/testsuite/gcc.target/powerpc/altivec-34.c      (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/powerpc/altivec-34.c      (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/powerpc/altivec-34.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,24 @@
 +/* PR target/49621 */
 +/* { dg-do compile } */
@@ -1345,10 +2673,32 @@ Index: gcc/testsuite/gcc.target/powerpc/altivec-34.c
 +
 +  return 0;
 +}
+Index: gcc/testsuite/gcc.target/i386/avx-check.h
+===================================================================
+--- gcc/testsuite/gcc.target/i386/avx-check.h  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/i386/avx-check.h  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,6 +1,7 @@
+ #include <stdlib.h>
+ #include "cpuid.h"
+ #include "m256-check.h"
++#include "avx-os-support.h"
+ static void avx_test (void);
+@@ -20,7 +21,8 @@
+     return 0;
+   /* Run AVX test only if host has AVX support.  */
+-  if ((ecx & (bit_AVX | bit_OSXSAVE)) == (bit_AVX | bit_OSXSAVE))
++  if (((ecx & (bit_AVX | bit_OSXSAVE)) == (bit_AVX | bit_OSXSAVE))
++      && avx_os_support ())
+     {
+       do_test ();
+ #ifdef DEBUG
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-1.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-load-1.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-1.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-1.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,19 @@
 +/* { dg-do compile } */
 +/* { dg-options "-O3 -dp -mavx -mavx256-split-unaligned-load" } */
@@ -1372,7 +2722,7 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-1.c
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-3.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-load-3.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-3.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-3.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,19 @@
 +/* { dg-do compile } */
 +/* { dg-options "-O3 -dp -mavx -mavx256-split-unaligned-load" } */
@@ -1393,10 +2743,38 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-3.c
 +/* { dg-final { scan-assembler-not "\\*avx_movupd256/1" } } */
 +/* { dg-final { scan-assembler "\\*avx_movupd/1" } } */
 +/* { dg-final { scan-assembler "vinsertf128" } } */
+Index: gcc/testsuite/gcc.target/i386/pr49920.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr49920.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.target/i386/pr49920.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,23 @@
++/* { dg-do compile } */
++/* { dg-options "-O2" } */
++/* { dg-require-effective-target ilp32 } */
++
++typedef __SIZE_TYPE__ size_t;
++extern void *malloc (size_t);
++
++register unsigned int MR_mr0 asm ("esi");
++register unsigned int MR_mr1 asm ("edi");
++
++void ml_backend__ml_closure_gen_module11 (void)
++{
++  unsigned int MR_tempr1, MR_tempr2, MR_tempr3;
++
++  MR_tempr1 = (unsigned int)((char *) malloc (sizeof (unsigned int)) + 4);
++  MR_tempr3 = ((unsigned int *) MR_mr0)[0];
++
++  ((unsigned int *) (MR_tempr1 - 4))[0] = MR_tempr3;
++
++  MR_tempr2 = (unsigned int)((char *) malloc (2 * sizeof (unsigned int)));
++
++  ((unsigned int *) MR_tempr2)[1] = MR_tempr1;
++}
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-5.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-load-5.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-5.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-5.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,43 @@
 +/* { dg-do run } */
 +/* { dg-require-effective-target avx } */
@@ -1444,7 +2822,7 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-5.c
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c   (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c   (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,22 @@
 +/* { dg-do compile } */
 +/* { dg-options "-O3 -dp -mavx -mavx256-split-unaligned-store" } */
@@ -1471,7 +2849,7 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-1.c
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-7.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-load-7.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-7.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-7.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,60 @@
 +/* { dg-do run } */
 +/* { dg-require-effective-target avx } */
@@ -1533,10 +2911,34 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-7.c
 +      abort ();
 +    }
 +}
+Index: gcc/testsuite/gcc.target/i386/aes-avx-check.h
+===================================================================
+--- gcc/testsuite/gcc.target/i386/aes-avx-check.h      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/i386/aes-avx-check.h      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -3,6 +3,7 @@
+ #endif
+ #include <stdlib.h>
+ #include "cpuid.h"
++#include "avx-os-support.h"
+ static void aes_avx_test (void);
+@@ -22,8 +23,9 @@
+     return 0;
+   /* Run AES + AVX test only if host has AES + AVX support.  */
+-  if ((ecx & (bit_AVX | bit_OSXSAVE | bit_AES))
+-      == (bit_AVX | bit_OSXSAVE | bit_AES))
++  if (((ecx & (bit_AVX | bit_OSXSAVE | bit_AES))
++       == (bit_AVX | bit_OSXSAVE | bit_AES))
++      && avx_os_support ())
+     {
+       do_test ();
+ #ifdef DEBUG
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c   (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c   (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,22 @@
 +/* { dg-do compile } */
 +/* { dg-options "-O3 -dp -mavx -mavx256-split-unaligned-store" } */
@@ -1563,7 +2965,7 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-3.c
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-5.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-store-5.c   (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-5.c   (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-5.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,42 @@
 +/* { dg-do run } */
 +/* { dg-require-effective-target avx } */
@@ -1610,7 +3012,7 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-5.c
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-7.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-store-7.c   (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-7.c   (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-7.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,45 @@
 +/* { dg-do run } */
 +/* { dg-require-effective-target avx } */
@@ -1657,10 +3059,73 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-7.c
 +      abort ();
 +    }
 +}
+Index: gcc/testsuite/gcc.target/i386/pr49866.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr49866.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.target/i386/pr49866.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,23 @@
++/* PR target/49866 */
++/* { dg-do assemble } */
++/* { dg-options "-O2 -mcmodel=large" { target lp64 } } */
++
++void fn (void *, int, int);
++int fn2 (void);
++void baz (int);
++
++static void
++foo (void *x, int y)
++{
++  int i;
++  for (i = 0; i < y; i++)
++    fn (x, fn2 (), i);
++}
++
++void
++bar (int u, int v, int w, void *x)
++{
++  baz (u);
++  foo (x, w);
++  baz (u);
++}
+Index: gcc/testsuite/gcc.target/i386/avx-os-support.h
+===================================================================
+--- gcc/testsuite/gcc.target/i386/avx-os-support.h     (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.target/i386/avx-os-support.h     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,10 @@
++/* Check if the OS supports executing AVX instructions.  */
++
++static int
++avx_os_support (void)
++{
++  unsigned int eax, edx;
++
++  __asm__ ("xgetbv" : "=a" (eax), "=d" (edx) : "c" (0));
++  return (eax & 6) == 6;
++}
+Index: gcc/testsuite/gcc.target/i386/pr50202.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr50202.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.target/i386/pr50202.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,15 @@
++/* { dg-do compile } */
++/* { dg-options "-O -fno-tree-dse -fno-dce -msse4" } */
++/* { dg-require-effective-target sse4 } */
++
++typedef char __v16qi __attribute__ ((__vector_size__ (16)));
++
++__v16qi v;
++int i;
++
++void
++foo (void)
++{
++  i = __builtin_ia32_pcmpistri128 (v, v, 255);
++  i = 255;
++}
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-2.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-load-2.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-2.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-2.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,29 @@
 +/* { dg-do compile } */
 +/* { dg-require-effective-target lp64 } */
@@ -1694,7 +3159,7 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-2.c
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,19 @@
 +/* { dg-do compile } */
 +/* { dg-options "-O3 -dp -mavx -mno-avx256-split-unaligned-load -mno-avx256-split-unaligned-store" } */
@@ -1718,7 +3183,7 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-4.c
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-6.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-load-6.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-6.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-load-6.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,42 @@
 +/* { dg-do run } */
 +/* { dg-require-effective-target avx } */
@@ -1765,7 +3230,7 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-load-6.c
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c   (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c   (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,29 @@
 +/* { dg-do compile } */
 +/* { dg-require-effective-target lp64 } */
@@ -1796,10 +3261,34 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-2.c
 +/* { dg-final { scan-assembler-not "\\*avx_movdqu256/2" } } */
 +/* { dg-final { scan-assembler "movdqu.*\\*avx_movv16qi_internal/3" } } */
 +/* { dg-final { scan-assembler "vextractf128" } } */
+Index: gcc/testsuite/gcc.target/i386/pclmul-avx-check.h
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pclmul-avx-check.h   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.target/i386/pclmul-avx-check.h   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -3,6 +3,7 @@
+ #endif
+ #include <stdlib.h>
+ #include "cpuid.h"
++#include "avx-os-support.h"
+ static void pclmul_avx_test (void);
+@@ -22,8 +23,9 @@
+     return 0;
+   /* Run PCLMUL + AVX test only if host has PCLMUL + AVX support.  */
+-  if ((ecx & (bit_AVX | bit_OSXSAVE | bit_PCLMUL))
+-      == (bit_AVX | bit_OSXSAVE | bit_PCLMUL))
++  if (((ecx & (bit_AVX | bit_OSXSAVE | bit_PCLMUL))
++       == (bit_AVX | bit_OSXSAVE | bit_PCLMUL))
++      && avx_os_support ())
+     {
+       do_test ();
+ #ifdef DEBUG
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c   (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c   (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,20 @@
 +/* { dg-do compile } */
 +/* { dg-options "-O3 -dp -mavx -mno-avx256-split-unaligned-load -mno-avx256-split-unaligned-store" } */
@@ -1824,7 +3313,7 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-4.c
 Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-6.c
 ===================================================================
 --- gcc/testsuite/gcc.target/i386/avx256-unaligned-store-6.c   (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-6.c   (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/i386/avx256-unaligned-store-6.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,42 @@
 +/* { dg-do run } */
 +/* { dg-require-effective-target avx } */
@@ -1871,7 +3360,7 @@ Index: gcc/testsuite/gcc.target/i386/avx256-unaligned-store-6.c
 Index: gcc/testsuite/gcc.target/sparc/cas64.c
 ===================================================================
 --- gcc/testsuite/gcc.target/sparc/cas64.c     (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.target/sparc/cas64.c     (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.target/sparc/cas64.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,15 @@
 +/* PR target/49660 */
 +
@@ -1888,10 +3377,26 @@ Index: gcc/testsuite/gcc.target/sparc/cas64.c
 +}
 +
 +/* { dg-final { scan-assembler-not "compare_and_swap_8" } } */
+Index: gcc/testsuite/g++.old-deja/g++.pt/crash60.C
+===================================================================
+--- gcc/testsuite/g++.old-deja/g++.pt/crash60.C        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/g++.old-deja/g++.pt/crash60.C        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -5,9 +5,9 @@
+ // We ICE'd rather than fail to instantiate.
+ template< typename SID, class SDR >
+-void k( SID sid, SDR* p,
++void k( SID sid, SDR* p,      // { dg-message "note" }
+  void (SDR::*)
+- ( typename SID::T ) );               // { dg-message "note" }
++ ( typename SID::T ) );
+ struct E { };
+ struct S { void f( int ); };
 Index: gcc/testsuite/lib/scanasm.exp
 ===================================================================
---- gcc/testsuite/lib/scanasm.exp      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/lib/scanasm.exp      (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/lib/scanasm.exp      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/lib/scanasm.exp      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -50,16 +50,22 @@
        }
      }
@@ -1992,8 +3497,8 @@ Index: gcc/testsuite/lib/scanasm.exp
      } else {
 Index: gcc/testsuite/lib/scandump.exp
 ===================================================================
---- gcc/testsuite/lib/scandump.exp     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/lib/scandump.exp     (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/lib/scandump.exp     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/lib/scandump.exp     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -55,7 +55,8 @@
      set src [file tail [lindex $testcase 0]]
      set output_file "[glob -nocomplain $src.[lindex $args 2]]"
@@ -2046,8 +3551,8 @@ Index: gcc/testsuite/lib/scandump.exp
  
 Index: gcc/testsuite/lib/target-supports-dg.exp
 ===================================================================
---- gcc/testsuite/lib/target-supports-dg.exp   (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/lib/target-supports-dg.exp   (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/lib/target-supports-dg.exp   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/lib/target-supports-dg.exp   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -172,6 +172,12 @@
      if { [llength $args] < 1 || [llength $args] > 2 } {
        error "syntax error, need a single effective-target keyword with optional selector"
@@ -2071,9 +3576,142 @@ Index: gcc/testsuite/lib/target-supports-dg.exp
  }
 Index: gcc/testsuite/lib/target-supports.exp
 ===================================================================
---- gcc/testsuite/lib/target-supports.exp      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/lib/target-supports.exp      (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -1932,45 +1932,53 @@
+--- gcc/testsuite/lib/target-supports.exp      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/lib/target-supports.exp      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -370,45 +370,16 @@
+     return $alias_available_saved
+ }
+-###############################
+-# proc check_ifunc_available { }
+-###############################
++# Returns 1 if the target toolchain supports ifunc, 0 otherwise.
+-# Determine if the target toolchain supports the ifunc attribute.
+-
+-# Returns 1 if the target supports ifunc.  Returns 0 if the target
+-# does not support ifunc.
+-
+ proc check_ifunc_available { } {
+-    global ifunc_available_saved
+-    global tool
+-
+-    if [info exists ifunc_available_saved] {
+-        verbose "check_ifunc_available  returning saved $ifunc_available_saved" 2
+-    } else {
+-      set src ifunc[pid].c
+-      set obj ifunc[pid].o
+-        verbose "check_ifunc_available  compiling testfile $src" 2
+-      set f [open $src "w"]
+-      puts $f "#endif"
+-      puts $f "#ifdef __cplusplus\nextern \"C\"\n#endif"
+-      puts $f "void g() {}"
+-      puts $f "void f() __attribute__((ifunc(\"g\")));"
+-      close $f
+-      set lines [${tool}_target_compile $src $obj object ""]
+-      file delete $src
+-      remote_file build delete $obj
+-
+-      if [string match "" $lines] then {
+-          set ifunc_available_saved 1
+-      } else {
+-          set ifunc_available_saved 0
+-      }
+-
+-      verbose "check_ifunc_available  returning $ifunc_available_saved" 2
+-    }
+-
+-    return $ifunc_available_saved
++    return [check_no_compiler_messages ifunc_available object {
++      #ifdef __cplusplus
++      extern "C"
++      #endif
++      void g() {}
++      void f() __attribute__((ifunc("g")));
++    }]
+ }
+ # Returns true if --gc-sections is supported on the target.
+@@ -465,7 +436,7 @@
+     }
+     if { [istarget avr-*-*]
+        || [istarget hppa2.0w-hp-hpux11.23]
+-      || [istarget hppa64-hp-hpux11.23] } {
++       || [istarget hppa64-hp-hpux11.23] } {
+       return 0;   
+     }
+     return 1
+@@ -1054,8 +1025,8 @@
+           check_runtime_nocache sse_os_support_available {
+               int main ()
+               {
+-                  __asm__ volatile ("movss %xmm2,%xmm1");
+-                  return 0;
++                asm volatile ("movss %xmm2,%xmm1");
++                return 0;
+               }
+           } "-msse"
+       } else {
+@@ -1064,6 +1035,29 @@
+     }]
+ }
++# Return 1 if the target OS supports running AVX executables, 0
++# otherwise.  Cache the result.
++
++proc check_avx_os_support_available { } {
++    return [check_cached_effective_target avx_os_support_available {
++      # If this is not the right target then we can skip the test.
++      if { !([istarget x86_64-*-*] || [istarget i?86-*-*]) } {
++          expr 0
++      } else {
++          # Check that OS has AVX and SSE saving enabled.
++          check_runtime_nocache avx_os_support_available {
++              int main ()
++              {
++                unsigned int eax, edx;
++
++                asm ("xgetbv" : "=a" (eax), "=d" (edx) : "c" (0));
++                return (eax & 6) != 6;
++              }
++          } ""
++      }
++    }]
++}
++
+ # Return 1 if the target supports executing SSE instructions, 0
+ # otherwise.  Cache the result.
+@@ -1160,7 +1154,8 @@
+ proc check_effective_target_avx_runtime { } {
+     if { [check_effective_target_avx]
+-       && [check_avx_hw_available] } {
++       && [check_avx_hw_available]
++       && [check_avx_os_support_available] } {
+       return 1
+     }
+     return 0
+@@ -1887,6 +1882,18 @@
+     }
+ }
++# Return 1 if this is an ARM target that supports DSP multiply with
++# current multilib flags.
++
++proc check_effective_target_arm_dsp { } {
++    return [check_no_compiler_messages arm_dsp assembly {
++      #ifndef __ARM_FEATURE_DSP
++      #error not DSP
++      #endif
++      int i;
++    }]
++}
++
+ # Add the options needed for NEON.  We need either -mfloat-abi=softfp
+ # or -mfloat-abi=hard, but if one is already specified by the
+ # multilib, use it.  Similarly, if a -mfpu option already enables
+@@ -1932,45 +1939,53 @@
  # or -mfloat-abi=hard, but if one is already specified by the
  # multilib, use it.
  
@@ -2156,7 +3794,26 @@ Index: gcc/testsuite/lib/target-supports.exp
  }
  
  # Return 1 is this is an ARM target where -mthumb causes Thumb-1 to be
-@@ -3913,3 +3921,11 @@
+@@ -1995,6 +2010,18 @@
+     } "-mthumb"]
+ }
++# Return 1 if this is an ARM target where Thumb-1 is used without options
++# added by the test.
++
++proc check_effective_target_arm_thumb1 { } {
++    return [check_no_compiler_messages arm_thumb1 assembly {
++      #if !defined(__arm__) || !defined(__thumb__) || defined(__thumb2__)
++      #error not thumb1
++      #endif
++      int i;
++    } ""]
++}
++
+ # Return 1 if the target supports executing NEON instructions, 0
+ # otherwise.  Cache the result.
+@@ -3913,3 +3940,11 @@
      return 1
  }
  
@@ -2168,10 +3825,147 @@ Index: gcc/testsuite/lib/target-supports.exp
 +      void foo(void) { z = (c *) y; }
 +    } "-Wcast-align"]
 +}
+Index: gcc/testsuite/gfortran.dg/auto_char_dummy_array_3.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/auto_char_dummy_array_3.f90      (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/auto_char_dummy_array_3.f90      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,25 @@
++! { dg-do run }
++
++! PR fortran/49885
++! Check that character arrays with non-constant char-length are handled
++! correctly.
++
++! Contributed by Daniel Kraft <d@domob.eu>,
++! based on original test case and variant by Tobias Burnus in comment 2.
++
++PROGRAM main
++  IMPLICIT NONE
++
++  CALL s (10)
++      
++CONTAINS
++
++  SUBROUTINE s (nb)
++    INTEGER :: nb
++    CHARACTER(MAX (80, nb)) :: bad_rec(1)
++
++    bad_rec(1)(1:2) = 'abc'
++    IF (bad_rec(1)(1:2) /= 'ab') CALL abort ()
++  END SUBROUTINE s
++
++END PROGRAM main
+Index: gcc/testsuite/gfortran.dg/string_5.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/string_5.f90     (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/string_5.f90     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,7 @@
++! { dg-do compile }
++! PR fortran/48876 - this used to segfault.
++! Test case contributed by mhp77 (a) gmx.at.
++program test
++  character ::  string =  "string"( : -1 )
++end program test
++
+Index: gcc/testsuite/gfortran.dg/namelist_72.f
+===================================================================
+--- gcc/testsuite/gfortran.dg/namelist_72.f    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/namelist_72.f    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,33 @@
++! { dg-do run }
++!
++! PR fortran/49791
++!
++! Contributed by Elliott Sales de Andrade
++!
++      program namelist_test
++
++      dimension xpos(5000), ypos(5000)
++      namelist /geometry/ xpos, ypos
++
++      xpos = -huge(xpos)
++      ypos = -huge(ypos)
++
++      open(unit=4,file='geometry.in')
++      write(4,'(a)') '$geometry'
++      write(4,'(a)') ' xpos(1)= 0.00, 0.10, 0.20, 0.30, 0.40,'
++      write(4,'(a)') ' ypos(1)= 0.50, 0.60, 0.70, 0.80, 0.90,'
++      write(4,'(a)') '$end'
++
++      close(4)
++
++      open (unit=4,file='geometry.in',status='old',form='formatted')
++      read (4,geometry)
++      close(4, status='delete')
++
++      !print *, 'xpos', xpos(1:10), 'ypos', ypos(1:10)
++
++      if (any (xpos(1:5) /= [0.00, 0.10, 0.20, 0.30, 0.40]))call abort()
++      if (any (ypos(1:5) /= [0.50, 0.60, 0.70, 0.80, 0.90]))call abort()
++      if (any (xpos(6:) /= -huge(xpos))) call abort ()
++      if (any (ypos(6:) /= -huge(ypos))) call abort ()
++      end
+Index: gcc/testsuite/gfortran.dg/alloc_comp_initializer_3.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/alloc_comp_initializer_3.f90     (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/alloc_comp_initializer_3.f90     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,15 @@
++! { dg-do compile }
++!
++! PR fortran/50050
++! Out of bound whilst releasing initialization of allocate object
++!
++! Contributed by someone <sigurdkn@gmail.com>
++
++program bug
++  implicit none
++  type foo
++    integer, pointer :: a => null()
++  end type
++  type(foo), dimension(:,:), allocatable :: data
++  allocate(data(1:1,1)) ! This used to lead to an ICE
++end program
+Index: gcc/testsuite/gfortran.dg/typebound_proc_24.f03
+===================================================================
+--- gcc/testsuite/gfortran.dg/typebound_proc_24.f03    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/typebound_proc_24.f03    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,32 @@
++! { dg-do compile }
++!
++! PR 49112: [4.6/4.7 Regression] [OOP] Missing type-bound procedure, "duplicate save" warnings and internal compiler error
++!
++! Contributed by John <jwmwalrus@gmail.com>
++
++module datetime_mod
++
++  implicit none
++
++  type :: DateTime
++    integer :: year, month, day
++  contains
++    procedure :: getFormattedString
++  end type
++
++  type(DateTime) :: ISO_REFERENCE_DATE = DateTime(1875, 5, 20)
++
++contains
++
++  character function getFormattedString(dt)
++    class(DateTime) :: dt
++  end function
++
++  subroutine test
++    type(DateTime) :: dt
++    print *,dt%getFormattedString()
++  end subroutine
++
++end module 
++
++! { dg-final { cleanup-modules "datetime_mod" } }
 Index: gcc/testsuite/gfortran.dg/pr49698.f90
 ===================================================================
 --- gcc/testsuite/gfortran.dg/pr49698.f90      (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gfortran.dg/pr49698.f90      (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gfortran.dg/pr49698.f90      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,15 @@
 +! PR fortran/49698
 +! { dg-do compile }
@@ -2191,7 +3985,7 @@ Index: gcc/testsuite/gfortran.dg/pr49698.f90
 Index: gcc/testsuite/gfortran.dg/extends_14.f03
 ===================================================================
 --- gcc/testsuite/gfortran.dg/extends_14.f03   (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gfortran.dg/extends_14.f03   (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gfortran.dg/extends_14.f03   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,28 @@
 +! { dg-do compile }
 +! { dg-options "-fdump-tree-original" }
@@ -2221,10 +4015,71 @@ Index: gcc/testsuite/gfortran.dg/extends_14.f03
 +
 +! { dg-final { scan-tree-dump-times "__builtin_free" 3 "original" } }
 +! { dg-final { cleanup-tree-dump "original" } }
+Index: gcc/testsuite/gfortran.dg/allocate_error_3.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/allocate_error_3.f90     (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/allocate_error_3.f90     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,9 @@
++! { dg-do compile }
++!
++! PR 49708: [4.5/4.6/4.7 Regression] ICE with allocate and no dimensions
++!
++! Contributed by <fnordxyz@yahoo.com>
++
++  real, pointer :: x(:)
++  allocate(x)            ! { dg-error "Array specification required" }
++end 
+Index: gcc/testsuite/gfortran.dg/namelist_73.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/namelist_73.f90  (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/namelist_73.f90  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,28 @@
++! { dg-do run }
++!
++! PR fortran/50109
++!
++! Contributed by Jim Hanson
++!
++      program namelist_test
++
++      integer nfp
++      namelist /indata/ nfp
++
++      nfp = 99
++      open(unit=4, status='scratch')
++      write(4,'(a)') '$indata'
++      write(4,'(a)') 'NFP = 5,'
++      write(4,'(a)') "!  "
++      write(4,'(a)') "! "
++      write(4,'(a)') "!  "
++      write(4,'(a)') '/'
++
++      rewind(4)
++      read (4,nml=indata)
++      close(4)
++
++!      write(*,*) nfp
++      if (nfp /= 5) call abort()
++
++      end
+Index: gcc/testsuite/gfortran.dg/initialization_28.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/initialization_28.f90    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/initialization_28.f90    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,9 @@
++! { dg-do compile }
++!
++! PR fortran/50163
++!
++! Contributed by Philip Mason
++!
++character(len=2) :: xx ='aa'
++integer :: iloc=index(xx,'bb') ! { dg-error "has not been declared or is a variable" }
++end
 Index: gcc/testsuite/gfortran.dg/pr49472.f90
 ===================================================================
 --- gcc/testsuite/gfortran.dg/pr49472.f90      (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gfortran.dg/pr49472.f90      (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gfortran.dg/pr49472.f90      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,15 @@
 +! PR rtl-optimization/49472
 +! { dg-do compile }
@@ -2244,7 +4099,7 @@ Index: gcc/testsuite/gfortran.dg/pr49472.f90
 Index: gcc/testsuite/gfortran.dg/pr49540-2.f90
 ===================================================================
 --- gcc/testsuite/gfortran.dg/pr49540-2.f90    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gfortran.dg/pr49540-2.f90    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gfortran.dg/pr49540-2.f90    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,17 @@
 +! PR fortran/49540
 +! { dg-do compile }
@@ -2266,7 +4121,7 @@ Index: gcc/testsuite/gfortran.dg/pr49540-2.f90
 Index: gcc/testsuite/gfortran.dg/intrinsic_signal.f90
 ===================================================================
 --- gcc/testsuite/gfortran.dg/intrinsic_signal.f90     (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gfortran.dg/intrinsic_signal.f90     (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gfortran.dg/intrinsic_signal.f90     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,21 @@
 +! { dg-do compile }
 +!
@@ -2289,10 +4144,130 @@ Index: gcc/testsuite/gfortran.dg/intrinsic_signal.f90
 +   logical interrupted
 +   old_handler = signal(2, ctrlc_ast)    
 +end subroutine set_ctrl_c
+Index: gcc/testsuite/gfortran.dg/widechar_compare_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/widechar_compare_1.f90   (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/widechar_compare_1.f90   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,10 @@
++! { dg-do run }
++! PR 50192 - on little-endian systems, this used to fail.
++program main
++  character(kind=4,len=2) :: c1, c2
++  c1 = 4_' '
++  c2 = 4_' '
++  c1(1:1) = transfer(257, mold=c1(1:1))
++  c2(1:1) = transfer(64, mold=c2(1:1))
++  if (c1 < c2) call abort
++end program main
+Index: gcc/testsuite/gfortran.dg/pointer_comp_init_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/pointer_comp_init_1.f90  (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/pointer_comp_init_1.f90  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,30 @@
++! { dg-do compile }
++!
++! PR fortran/50050
++! ICE whilst trying to access NULL shape.
++
++! Reduced from the FoX library http://www1.gly.bris.ac.uk/~walker/FoX/
++! Contributed by Andrew Benson <abenson@its.caltech.edu>
++
++module m_common_attrs
++  implicit none
++
++  type dict_item
++  end type dict_item
++
++  type dict_item_ptr
++     type(dict_item), pointer :: d => null()
++  end type dict_item_ptr
++
++contains
++
++  subroutine add_item_to_dict()
++    type(dict_item_ptr), pointer :: tempList(:)
++    integer :: n
++
++    allocate(tempList(0:n+1)) 
++  end subroutine add_item_to_dict
++
++end module m_common_attrs
++
++! { dg-final { cleanup-modules "m_common_attrs" } }
+Index: gcc/testsuite/gfortran.dg/pr49675.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/pr49675.f90      (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/pr49675.f90      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,6 @@
++! PR middle-end/49675
++! { dg-do compile }
++! { dg-options "-finstrument-functions" }
++end
++! { dg-final { scan-assembler "__cyg_profile_func_enter" } }
++! { dg-final { scan-assembler "__cyg_profile_func_exit" } }
+Index: gcc/testsuite/gfortran.dg/where_3.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/where_3.f90      (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/where_3.f90      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,15 @@
++! { dg-do compile }
++!
++! PR fortran/50129
++! ICE after reporting an error on a masked ELSEWHERE statement following an
++! unmasked one.
++!
++! Contributed by Joost Van de Vondele <Joost.VandeVondele@pci.uzh.ch>
++
++INTEGER :: I(3)
++WHERE (I>2)
++ELSEWHERE
++ELSEWHERE (I<1) ! { dg-error "follows previous unmasked ELSEWHERE" }
++END WHERE
++END
++
+Index: gcc/testsuite/gfortran.dg/lto/pr45586-2_0.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/lto/pr45586-2_0.f90      (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/lto/pr45586-2_0.f90      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,34 @@
++! { dg-lto-do link }
++!
++! PR fortran/45586 (comment 53)
++!
++
++MODULE M1
++  INTEGER, PARAMETER :: dp=8
++  TYPE realspace_grid_type
++     REAL(KIND=dp), DIMENSION ( :, :, : ), ALLOCATABLE :: r
++  END TYPE realspace_grid_type
++  TYPE realspace_grid_p_type
++     TYPE(realspace_grid_type), POINTER :: rs_grid
++  END TYPE realspace_grid_p_type
++  TYPE realspaces_grid_p_type
++     TYPE(realspace_grid_p_type), DIMENSION(:), POINTER :: rs
++  END TYPE realspaces_grid_p_type
++END MODULE
++
++MODULE M2
++ USE M1
++CONTAINS
++ SUBROUTINE S1()
++  INTEGER :: i,j
++  TYPE(realspaces_grid_p_type), DIMENSION(:), POINTER :: rs_gauge
++  REAL(dp), DIMENSION(:, :, :), POINTER    :: y
++  y=>rs_gauge(i)%rs(j)%rs_grid%r
++ END SUBROUTINE
++END MODULE
++
++USE M2
++  CALL S1()
++END
++
++! { dg-final { cleanup-modules "m1 m2" } }
 Index: gcc/testsuite/gfortran.dg/typebound_proc_23.f90
 ===================================================================
 --- gcc/testsuite/gfortran.dg/typebound_proc_23.f90    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gfortran.dg/typebound_proc_23.f90    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gfortran.dg/typebound_proc_23.f90    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,32 @@
 +! { dg-do run }
 +!
@@ -2329,7 +4304,7 @@ Index: gcc/testsuite/gfortran.dg/typebound_proc_23.f90
 Index: gcc/testsuite/gfortran.dg/read_list_eof_1.f90
 ===================================================================
 --- gcc/testsuite/gfortran.dg/read_list_eof_1.f90      (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gfortran.dg/read_list_eof_1.f90      (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gfortran.dg/read_list_eof_1.f90      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,54 @@
 +! { dg-do run }
 +! PR 49296 List formatted read of file without EOR marker (\n).
@@ -2385,10 +4360,23 @@ Index: gcc/testsuite/gfortran.dg/read_list_eof_1.f90
 +    close(10)
 +  end subroutine genfil
 +end program read_list_eof_1
+Index: gcc/testsuite/gfortran.dg/abstract_type_6.f03
+===================================================================
+--- gcc/testsuite/gfortran.dg/abstract_type_6.f03      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gfortran.dg/abstract_type_6.f03      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -31,7 +31,7 @@
+ CONTAINS
+    ! useful proc to satisfy deferred procedure in top. Because we've
+    ! extended middle we wouldn't get told off if we forgot this.
+-   PROCEDURE :: proc_a => bottom_a
++   PROCEDURE :: proc_a => bottom_a  ! { dg-error "must be a module procedure" }
+    ! calls middle%proc_b and then provides extra behaviour
+    PROCEDURE :: proc_b => bottom_b
+    ! calls top_c and then provides extra behaviour
 Index: gcc/testsuite/gfortran.dg/reshape_zerosize_3.f90
 ===================================================================
 --- gcc/testsuite/gfortran.dg/reshape_zerosize_3.f90   (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gfortran.dg/reshape_zerosize_3.f90   (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gfortran.dg/reshape_zerosize_3.f90   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,43 @@
 +! { dg-do run }
 +! PR 49479 - this used not to print anything.
@@ -2435,8 +4423,8 @@ Index: gcc/testsuite/gfortran.dg/reshape_zerosize_3.f90
 +! { dg-final { cleanup-modules "m1" } }
 Index: gcc/testsuite/gfortran.dg/allocatable_scalar_9.f90
 ===================================================================
---- gcc/testsuite/gfortran.dg/allocatable_scalar_9.f90 (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gfortran.dg/allocatable_scalar_9.f90 (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gfortran.dg/allocatable_scalar_9.f90 (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gfortran.dg/allocatable_scalar_9.f90 (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -49,7 +49,7 @@
  if(allocated(na4%b4)) call abort()
  end
@@ -2449,7 +4437,7 @@ Index: gcc/testsuite/gfortran.dg/allocatable_scalar_9.f90
 Index: gcc/testsuite/gfortran.dg/pr49540-1.f90
 ===================================================================
 --- gcc/testsuite/gfortran.dg/pr49540-1.f90    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gfortran.dg/pr49540-1.f90    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gfortran.dg/pr49540-1.f90    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,6 @@
 +! PR fortran/49540
 +! { dg-do compile }
@@ -2457,10 +4445,88 @@ Index: gcc/testsuite/gfortran.dg/pr49540-1.f90
 +  common /a/ b(100000,100)
 +  data b /10000000 * 0.0/
 +end block data
+Index: gcc/testsuite/gfortran.dg/result_in_spec_4.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/result_in_spec_4.f90     (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/result_in_spec_4.f90     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,27 @@
++! { dg-do compile }
++!
++! PR fortran/49648
++! ICE for calls to a use-associated function returning an array whose spec
++! depends on a function call.
++
++! Contributed by Tobias Burnus <burnus@net-b.de>
++
++module m2
++  COMPLEX, SAVE, ALLOCATABLE :: P(:)
++contains
++  FUNCTION getPhaseMatrix() RESULT(PM)
++    COMPLEX:: PM(SIZE(P),3)
++    PM=0.0
++  END FUNCTION
++end module m2
++
++module m
++  use m2
++contains
++   SUBROUTINE gf_generateEmbPot()
++      COMPLEX :: sigma2(3,3)
++      sigma2 = MATMUL(getPhaseMatrix(), sigma2)
++   END SUBROUTINE
++end module m
++
++! { dg-final { cleanup-modules "m m2" } }
+Index: gcc/testsuite/gfortran.dg/zero_stride_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/zero_stride_1.f90        (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/zero_stride_1.f90        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,7 @@
++! { dg-do compile }
++!  PR 50130 - this caused an ICE.  Test case supplied by Joost
++!  VandeVondele.
++integer, parameter :: a(10)=0
++integer, parameter :: b(10)=a(1:10:0) ! { dg-error "Illegal stride of zero" }
++END
++
+Index: gcc/testsuite/gfortran.dg/vect/pr50178.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/vect/pr50178.f90 (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.dg/vect/pr50178.f90 (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,29 @@
++! { dg-do compile }
++
++module yemdyn
++   implicit none
++   integer, parameter :: jpim = selected_int_kind(9)
++   integer, parameter :: jprb = selected_real_kind(13,300)
++   real(kind=jprb) :: elx
++   real(kind=jprb), allocatable :: xkcoef(:)
++   integer(kind=jpim),allocatable :: ncpln(:), npne(:)
++end module yemdyn
++
++subroutine suedyn
++
++   use yemdyn
++
++   implicit none
++
++   integer(kind=jpim) :: jm, jn
++   real(kind=jprb) :: zjm, zjn, zxxx
++
++   jn=0
++   do jm=0,ncpln(jn)
++      zjm=real(jm,jprb) / elx
++      xkcoef(npne(jn)+jm) = - zxxx*(zjm**2)**0.5_jprb
++   end do
++
++end subroutine suedyn
++
++! { dg-final { cleanup-tree-dump "vect" } }
 Index: gcc/testsuite/gcc.c-torture/execute/pr49644.c
 ===================================================================
 --- gcc/testsuite/gcc.c-torture/execute/pr49644.c      (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/execute/pr49644.c      (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.c-torture/execute/pr49644.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,16 @@
 +/* PR c/49644 */
 +
@@ -2478,10 +4544,132 @@ Index: gcc/testsuite/gcc.c-torture/execute/pr49644.c
 +    abort ();
 +  return 0;
 +}
+Index: gcc/testsuite/gcc.c-torture/execute/pr49768.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/execute/pr49768.c      (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.c-torture/execute/pr49768.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,12 @@
++/* PR tree-optimization/49768 */
++
++extern void abort (void);
++
++int
++main ()
++{
++  static struct { unsigned int : 1; unsigned int s : 1; } s = { .s = 1 };
++  if (s.s != 1)
++    abort ();
++  return 0;
++}
+Index: gcc/testsuite/gcc.c-torture/execute/ieee/pr50310.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/execute/ieee/pr50310.c (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.c-torture/execute/ieee/pr50310.c (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,73 @@
++/* PR target/50310 */
++
++extern void abort (void);
++double s1[4], s2[4], s3[64];
++
++void
++foo (void)
++{
++  int i;
++  for (i = 0; i < 4; i++)
++    s3[0 * 4 + i] = __builtin_isgreater (s1[i], s2[i]) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[1 * 4 + i] = (!__builtin_isgreater (s1[i], s2[i])) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[2 * 4 + i] = __builtin_isgreaterequal (s1[i], s2[i]) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[3 * 4 + i] = (!__builtin_isgreaterequal (s1[i], s2[i])) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[4 * 4 + i] = __builtin_isless (s1[i], s2[i]) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[5 * 4 + i] = (!__builtin_isless (s1[i], s2[i])) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[6 * 4 + i] = __builtin_islessequal (s1[i], s2[i]) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[7 * 4 + i] = (!__builtin_islessequal (s1[i], s2[i])) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[8 * 4 + i] = __builtin_islessgreater (s1[i], s2[i]) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[9 * 4 + i] = (!__builtin_islessgreater (s1[i], s2[i])) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[10 * 4 + i] = __builtin_isunordered (s1[i], s2[i]) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[11 * 4 + i] = (!__builtin_isunordered (s1[i], s2[i])) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[12 * 4 + i] = s1[i] > s2[i] ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[13 * 4 + i] = s1[i] <= s2[i] ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[14 * 4 + i] = s1[i] < s2[i] ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[15 * 4 + i] = s1[i] >= s2[i] ? -1.0 : 0.0;
++}
++
++int
++main ()
++{
++  int i;
++  s1[0] = 5.0;
++  s1[1] = 6.0;
++  s1[2] = 5.0;
++  s1[3] = __builtin_nan ("");
++  s2[0] = 6.0;
++  s2[1] = 5.0;
++  s2[2] = 5.0;
++  s2[3] = 5.0;
++  asm volatile ("" : : : "memory");
++  foo ();
++  asm volatile ("" : : : "memory");
++  for (i = 0; i < 16 * 4; i++)
++    if (i >= 12 * 4 && (i & 3) == 3)
++      {
++      if (s3[i] != 0.0) abort ();
++      }
++    else
++      {
++        static int masks[] = { 2, 2|4, 1, 1|4, 1|2, 8, 2, 1 };
++        if (s3[i]
++          != (((1 << (i & 3)) & ((i & 4) ? ~masks[i / 8] : masks[i / 8]))
++              ? -1.0 : 0.0))
++        abort ();
++      }
++  return 0;
++}
+Index: gcc/testsuite/gcc.c-torture/compile/20110906-1.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/compile/20110906-1.c   (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.c-torture/compile/20110906-1.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,22 @@
++/* PR middle-end/50266 */
++/* Testcase by <bero@arklinux.org> */
++
++struct a {
++ unsigned int a;
++ unsigned int b;
++};
++
++struct a *const p = (struct a *)0x4A004100;
++
++void foo(void)
++{
++ unsigned int i = 0;
++ unsigned int *const x[] = {
++  &p->a,
++  &p->b,
++  0
++ };
++
++ (*(volatile unsigned int *)((x[i]))
++   = (unsigned int)((unsigned int)((*(volatile unsigned int *)(x[i])))));
++}
 Index: gcc/testsuite/gcc.c-torture/compile/pr38752.c
 ===================================================================
 --- gcc/testsuite/gcc.c-torture/compile/pr38752.c      (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.c-torture/compile/pr38752.c      (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.c-torture/compile/pr38752.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,25 @@
 +typedef struct
 +{
@@ -2508,10 +4696,48 @@ Index: gcc/testsuite/gcc.c-torture/compile/pr38752.c
 +  return 0;
 +}
 +
+Index: gcc/testsuite/gcc.c-torture/compile/pr46883.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/compile/pr46883.c      (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.c-torture/compile/pr46883.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,13 @@
++void bar (unsigned char *q, unsigned short *data16s, int len)
++{
++  int i;
++
++  for (i = 0; i < len; i++)
++    {
++      q[2 * i] =
++        (((data16s[i] & 0xFF) << 8) | ((data16s[i] >> 8) & 0xFF)) & 0xFF;
++      q[2 * i + 1] =
++        ((unsigned short)
++         (((data16s[i] & 0xFF) << 8) | ((data16s[i] >> 8) & 0xFF))) >> 8;
++    }
++}
+Index: gcc/testsuite/gcc.c-torture/compile/pr41679.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/compile/pr41679.c      (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.c-torture/compile/pr41679.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,15 @@
++/* { dg-options "-g" } */
++
++extern int a;
++extern char b;
++extern int foo (void);
++
++void
++test (void)
++{
++  int c;
++  b = foo () ? '~' : '\0';
++  while ((c = foo ()))
++    if (c == '7')
++      a = 0;
++}
 Index: gcc/testsuite/gnat.dg/opt17.adb
 ===================================================================
 --- gcc/testsuite/gnat.dg/opt17.adb    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gnat.dg/opt17.adb    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gnat.dg/opt17.adb    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,13 @@
 +-- { dg-do compile }
 +-- { dg-options "-O" }
@@ -2529,7 +4755,7 @@ Index: gcc/testsuite/gnat.dg/opt17.adb
 Index: gcc/testsuite/gnat.dg/opt17.ads
 ===================================================================
 --- gcc/testsuite/gnat.dg/opt17.ads    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gnat.dg/opt17.ads    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gnat.dg/opt17.ads    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,7 @@
 +package Opt17 is
 +
@@ -2538,10 +4764,103 @@ Index: gcc/testsuite/gnat.dg/opt17.ads
 +  function Func return S;
 +
 +end Opt17;
+Index: gcc/testsuite/gnat.dg/pointer_controlled.adb
+===================================================================
+--- gcc/testsuite/gnat.dg/pointer_controlled.adb       (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gnat.dg/pointer_controlled.adb       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,31 @@
++-- PR ada/49732
++-- Testcase by Vorfeed Canal
++
++-- { dg-do compile }
++-- { dg-options "-gnato" }
++
++with Interfaces.C; use Interfaces.C;
++with Interfaces.C.Strings; use Interfaces.C.Strings;
++with Interfaces.C.Pointers;
++
++procedure Pointer_Controlled is
++
++   function Create (Name : String) return size_t is
++
++      type Name_String is new char_array (0 .. Name'Length);
++      type Name_String_Ptr is access Name_String;
++      pragma Controlled (Name_String_Ptr);
++
++      Name_Str : constant Name_String_Ptr := new Name_String;
++      Name_Len : size_t;
++
++   begin
++      To_C (Name, Name_Str.all, Name_Len);
++      return 1;
++   end;
++
++   Test : size_t;
++
++begin
++   Test := Create("ABC");
++end;
+Index: gcc/testsuite/gcc.dg/pr48739-1.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr48739-1.c   (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/pr48739-1.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,27 @@
++/* PR tree-optimization/48739 */
++/* { dg-do compile } */
++/* { dg-require-effective-target pthread } */
++/* { dg-options "-O1 -ftree-parallelize-loops=2 -fno-tree-dominator-opts" } */
++
++extern int g;
++extern void bar (void);
++
++int
++foo (int x)
++{
++  int a, b, *c = (int *) 0;
++  for (a = 0; a < 10; ++a)
++    {
++      bar ();
++      for (b = 0; b < 5; ++b)
++      {
++        x = 0;
++        c = &x;
++        g = 1;
++      }
++    }
++  *c = x;
++  for (x = 0; x != 10; x++)
++    ;
++  return g;
++}
+Index: gcc/testsuite/gcc.dg/pr45819.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr45819.c     (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/pr45819.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,20 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -fdump-tree-optimized" } */
++
++struct ehci_regs {
++    char x;
++    unsigned int port_status[0];
++} __attribute__ ((packed));
++
++struct ehci_hcd {
++    struct ehci_regs *regs;
++};
++
++int ehci_hub_control (struct ehci_hcd *ehci, int wIndex)
++{
++  unsigned int *status_reg = &ehci->regs->port_status[wIndex];
++  return *(volatile unsigned int *)status_reg;
++}
++
++/* { dg-final { scan-tree-dump "={v}" "optimized" } } */
++/* { dg-final { cleanup-tree-dump "optimized" } } */
 Index: gcc/testsuite/gcc.dg/gomp/pr49640.c
 ===================================================================
 --- gcc/testsuite/gcc.dg/gomp/pr49640.c        (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.dg/gomp/pr49640.c        (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.dg/gomp/pr49640.c        (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,29 @@
 +/* PR middle-end/49640 */
 +/* { dg-do compile } */
@@ -2575,7 +4894,7 @@ Index: gcc/testsuite/gcc.dg/gomp/pr49640.c
 Index: gcc/testsuite/gcc.dg/pr49619.c
 ===================================================================
 --- gcc/testsuite/gcc.dg/pr49619.c     (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.dg/pr49619.c     (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.dg/pr49619.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,13 @@
 +/* PR rtl-optimization/49619 */
 +/* { dg-do compile } */
@@ -2590,10 +4909,53 @@ Index: gcc/testsuite/gcc.dg/pr49619.c
 +  b = 0;
 +  b = (a && ((a = 1, 0 >= b) || (short) (x + (b & x))));
 +}
+Index: gcc/testsuite/gcc.dg/pr48739-2.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr48739-2.c   (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/pr48739-2.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,27 @@
++/* PR tree-optimization/48739 */
++/* { dg-do compile } */
++/* { dg-require-effective-target pthread } */
++/* { dg-options "-O1 -ftree-parallelize-loops=2 -fno-tree-dominator-opts" } */
++
++extern int g, v[10];
++extern void bar (void);
++
++int
++foo (int x)
++{
++  int a, b, *c = (int *) 0;
++  for (a = 0; a < 10; ++a)
++    {
++      bar ();
++      for (b = 0; b < 5; ++b)
++      {
++        x = 0;
++        c = &x;
++        g = 1;
++      }
++    }
++  *c = x;
++  for (x = 0; x != 10; x++)
++    v[x] = x;
++  return g;
++}
+Index: gcc/testsuite/gcc.dg/compat/struct-layout-1_test.h
+===================================================================
+--- gcc/testsuite/gcc.dg/compat/struct-layout-1_test.h (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.dg/compat/struct-layout-1_test.h (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1 @@
+-#if (__SIZEOF_INT__ >= 4) 
+-T(0,enum E2 a:31;,B(0,a,e2_m1,e2_0))
+-#else
+-T(0,enum E2 a:15;,B(0,a,e2_m1,e2_0))
+-#endif
++T(0,enum E2 a:7;,B(0,a,e2_m1,e2_0))
 Index: gcc/testsuite/gcc.dg/debug/pr49522.c
 ===================================================================
 --- gcc/testsuite/gcc.dg/debug/pr49522.c       (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.dg/debug/pr49522.c       (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.dg/debug/pr49522.c       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,41 @@
 +/* PR debug/49522 */
 +/* { dg-do compile } */
@@ -2636,10 +4998,27 @@ Index: gcc/testsuite/gcc.dg/debug/pr49522.c
 +      }
 +    }
 +}
+Index: gcc/testsuite/gcc.dg/debug/dwarf2/pr49871.c
+===================================================================
+--- gcc/testsuite/gcc.dg/debug/dwarf2/pr49871.c        (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/debug/dwarf2/pr49871.c        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,12 @@
++/* PR debug/49871 */
++/* { dg-do compile } */
++/* { dg-options "-gdwarf-3 -dA -fno-merge-debug-strings" } */
++
++struct S
++{
++  char a[1 << 16];
++  int b;
++} s;
++
++/* { dg-final { scan-assembler "\\(DW_AT_data_member_location\\)\[^\\r\\n\]*\[\\r\\n\]+\[^\\r\\n\]*\\(DW_FORM_udata\\)" } } */
++/* { dg-final { scan-assembler-not "\\(DW_AT_data_member_location\\)\[^\\r\\n\]*\[\\r\\n\]+\[^\\r\\n\]*\\(DW_FORM_data\[48\]\\)" } } */
 Index: gcc/testsuite/gcc.dg/graphite/pr37485.c
 ===================================================================
---- gcc/testsuite/gcc.dg/graphite/pr37485.c    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gcc.dg/graphite/pr37485.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gcc.dg/graphite/pr37485.c    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.dg/graphite/pr37485.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,4 +1,4 @@
 -/* { dg-options "-O2 -fdump-tree-graphite-all" } */
 +/* { dg-options "-O2 -floop-block -fno-loop-strip-mine -fno-loop-interchange -ffast-math -fdump-tree-graphite-all" } */
@@ -2648,8 +5027,8 @@ Index: gcc/testsuite/gcc.dg/graphite/pr37485.c
  typedef int             Int32;
 Index: gcc/testsuite/gcc.dg/torture/arm-fp16-ops-5.c
 ===================================================================
---- gcc/testsuite/gcc.dg/torture/arm-fp16-ops-5.c      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gcc.dg/torture/arm-fp16-ops-5.c      (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gcc.dg/torture/arm-fp16-ops-5.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.dg/torture/arm-fp16-ops-5.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,8 +1,8 @@
  /* Test various operators on __fp16 and mixed __fp16/float operands.  */
  /* { dg-do compile { target arm*-*-* } } */
@@ -2663,8 +5042,8 @@ Index: gcc/testsuite/gcc.dg/torture/arm-fp16-ops-5.c
  
 Index: gcc/testsuite/gcc.dg/torture/arm-fp16-ops-6.c
 ===================================================================
---- gcc/testsuite/gcc.dg/torture/arm-fp16-ops-6.c      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gcc.dg/torture/arm-fp16-ops-6.c      (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gcc.dg/torture/arm-fp16-ops-6.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.dg/torture/arm-fp16-ops-6.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,8 +1,8 @@
  /* Test various operators on __fp16 and mixed __fp16/float operands.  */
  /* { dg-do compile { target arm*-*-* } } */
@@ -2676,10 +5055,162 @@ Index: gcc/testsuite/gcc.dg/torture/arm-fp16-ops-6.c
  
  #include "arm-fp16-ops.h"
  
+Index: gcc/testsuite/gcc.dg/torture/pr49886.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pr49886.c     (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/torture/pr49886.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,103 @@
++/* { dg-do run } */
++/* { dg-xfail-run-if "" { "*-*-*" } { "-O2" "-O3" "-Os" } } */
++
++struct PMC {
++    unsigned flags;
++};
++
++typedef struct Pcc_cell
++{
++    struct PMC *p;
++    long bla;
++    long type;
++} Pcc_cell;
++
++int gi;
++int cond;
++
++extern void abort ();
++extern void never_ever(int interp, struct PMC *pmc)
++  __attribute__((noinline,noclone));
++
++void never_ever (int interp, struct PMC *pmc)
++{
++  abort ();
++}
++
++static void mark_cell(int * interp, Pcc_cell *c)
++  __attribute__((__nonnull__(1)));
++
++static void
++mark_cell(int * interp, Pcc_cell *c)
++{
++  if (!cond)
++    return;
++
++  if (c && c->type == 4 && c->p
++      && !(c->p->flags & (1<<18)))
++    never_ever(gi + 1, c->p);
++  if (c && c->type == 4 && c->p
++      && !(c->p->flags & (1<<17)))
++    never_ever(gi + 2, c->p);
++  if (c && c->type == 4 && c->p
++      && !(c->p->flags & (1<<16)))
++    never_ever(gi + 3, c->p);
++  if (c && c->type == 4 && c->p
++      && !(c->p->flags & (1<<15)))
++    never_ever(gi + 4, c->p);
++  if (c && c->type == 4 && c->p
++      && !(c->p->flags & (1<<14)))
++    never_ever(gi + 5, c->p);
++  if (c && c->type == 4 && c->p
++      && !(c->p->flags & (1<<13)))
++    never_ever(gi + 6, c->p);
++  if (c && c->type == 4 && c->p
++      && !(c->p->flags & (1<<12)))
++    never_ever(gi + 7, c->p);
++  if (c && c->type == 4 && c->p
++      && !(c->p->flags & (1<<11)))
++    never_ever(gi + 8, c->p);
++  if (c && c->type == 4 && c->p
++      && !(c->p->flags & (1<<10)))
++    never_ever(gi + 9, c->p);
++}
++
++static void
++foo(int * interp, Pcc_cell *c)
++{
++  mark_cell(interp, c);
++}
++
++static struct Pcc_cell *
++__attribute__((noinline,noclone))
++getnull(void)
++{
++  return (struct Pcc_cell *) 0;
++}
++
++
++int main()
++{
++  int i;
++
++  cond = 1;
++  for (i = 0; i < 100; i++)
++    foo (&gi, getnull ());
++  return 0;
++}
++
++
++void
++bar_1 (int * interp, Pcc_cell *c)
++{
++  c->bla += 1;
++  mark_cell(interp, c);
++}
++
++void
++bar_2 (int * interp, Pcc_cell *c)
++{
++  c->bla += 2;
++  mark_cell(interp, c);
++}
++
+Index: gcc/testsuite/gcc.dg/torture/pr49518.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pr49518.c     (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/torture/pr49518.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,19 @@
++/* { dg-do compile } */
++
++int a, b;
++struct S { unsigned int s, t, u; } c, d = { 0, 1, 0 };
++
++void
++test (unsigned char z)
++{
++  char e[] = {0, 0, 0, 0, 1};
++  for (c.s = 1; c.s; c.s++)
++    {
++      b = e[c.s];
++      if (a)
++      break;
++      b = z >= c.u;
++      if (d.t)
++      break;
++    }
++}
+Index: gcc/testsuite/gcc.dg/torture/pr50092.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pr50092.c     (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/torture/pr50092.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,15 @@
++/* PR target/50092 */
++/* { dg-do compile { target lp64 } } */
++
++volatile int v;
++
++void bar (long double);
++void baz (_Complex long double *);
++
++void
++foo (void)
++{
++  _Complex long double w[100000000];
++  bar ((long double) v / 2147483648.0);
++  baz (w);
++}
 Index: gcc/testsuite/gcc.dg/torture/pr49651.c
 ===================================================================
 --- gcc/testsuite/gcc.dg/torture/pr49651.c     (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.dg/torture/pr49651.c     (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.dg/torture/pr49651.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,31 @@
 +/* { dg-do run } */
 +
@@ -2715,7 +5246,7 @@ Index: gcc/testsuite/gcc.dg/torture/pr49651.c
 Index: gcc/testsuite/gcc.dg/tree-ssa/pr49094.c
 ===================================================================
 --- gcc/testsuite/gcc.dg/tree-ssa/pr49094.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/gcc.dg/tree-ssa/pr49094.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/gcc.dg/tree-ssa/pr49094.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,38 @@
 +/* { dg-do run } */
 +/* { dg-options "-O" } */
@@ -2755,10 +5286,247 @@ Index: gcc/testsuite/gcc.dg/tree-ssa/pr49094.c
 +  ip_fw_fwd_addr.ip_dst.s_addr = 1;
 +  return intermediary ((void *) &ip_fw_fwd_addr);
 +}
+Index: gcc/testsuite/gcc.dg/tree-ssa/pr49923.c
+===================================================================
+--- gcc/testsuite/gcc.dg/tree-ssa/pr49923.c    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/tree-ssa/pr49923.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,55 @@
++/* { dg-do run } */
++/* { dg-options "-O3" } */
++
++#define PACKED __attribute__(( packed ))
++
++struct PACKED aostk_point_u8 {
++  unsigned char x;
++  unsigned char y;
++};
++
++struct PACKED aostk_size_u8 {
++  unsigned char width;
++  unsigned char height;
++};
++
++struct PACKED aostk_glyph {
++      unsigned short i;
++      struct aostk_size_u8 size;
++      char top;
++      struct aostk_point_u8 advance;
++      unsigned char pitch;
++      unsigned char* data;
++      char left;
++};
++
++
++struct PACKED aostk_font {
++      unsigned short numglyphs;
++      unsigned char height;
++      struct aostk_glyph* glyphs;
++};
++
++struct aostk_font glob_font;
++
++static struct aostk_glyph* aostk_get_glyph(struct aostk_font* f, unsigned int c) {
++      return f->glyphs;
++}
++
++int aostk_font_strwidth(struct aostk_font* font, const char* str) {
++      struct aostk_glyph* g = aostk_get_glyph(font, 0);
++      return (g != 0);
++}
++
++struct aostk_font*
++__attribute__ ((noinline, noclone))
++get_some_font (void)
++{
++  return &glob_font;
++}
++
++int main (int argc, char *argv[])
++{
++  return (int) aostk_font_strwidth (get_some_font (), "sth");
++  
++}
+Index: gcc/testsuite/gcc.dg/tree-ssa/pr49671-1.c
+===================================================================
+--- gcc/testsuite/gcc.dg/tree-ssa/pr49671-1.c  (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/tree-ssa/pr49671-1.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,17 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -fdump-tree-optimized" }  */
++volatile int t;
++static inline int cvmx_atomic_get32(volatile int *ptr)
++{
++    return *ptr;
++}
++void f(void)
++{
++  while (!cvmx_atomic_get32(&t))
++    ;
++}
++
++/* { dg-final { scan-tree-dump "\{v\}" "optimized" } } */
++/* { dg-final { cleanup-tree-dump "optimized" } } */
++
++
+Index: gcc/testsuite/gcc.dg/tree-ssa/pr49671-2.c
+===================================================================
+--- gcc/testsuite/gcc.dg/tree-ssa/pr49671-2.c  (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/tree-ssa/pr49671-2.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,17 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -fdump-tree-optimized" }  */
++int t;
++static inline int cvmx_atomic_get32(int *ptr)
++{
++    return *(volatile int*)ptr;
++}
++void f(void)
++{
++  while (!cvmx_atomic_get32(&t))
++    ;
++}
++
++/* { dg-final { scan-tree-dump "\{v\}" "optimized" } } */
++/* { dg-final { cleanup-tree-dump "optimized" } } */
++
++
+Index: gcc/testsuite/gcc.dg/pr49948.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr49948.c     (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/pr49948.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,22 @@
++/* PR tree-optimization/49948 */
++/* { dg-do compile } */
++/* { dg-options "-O3 -ftree-parallelize-loops=2" } */
++
++extern int a, *b;
++int
++foo (void)
++{
++  int c, d = 8, *e[8], i;
++  if (a <= 7)
++    {
++      for (i = 0; i < 8; ++i)
++      e[i] = &c;
++      while (--d)
++      {
++        a = 0;
++        b = e[0];
++      }
++      return 0;
++    }
++  return b == &d;
++}
+Index: gcc/testsuite/gcc.dg/ipa/pr48195.c
+===================================================================
+--- gcc/testsuite/gcc.dg/ipa/pr48195.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.dg/ipa/pr48195.c (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ /* { dg-do link } */
+ /* { dg-options "-O2 -flto --param partial-inlining-entry-probability=101" } */
++/* { dg-require-effective-target lto } */
+ extern void abort(void);
+Index: gcc/testsuite/gcc.dg/pr49799.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr49799.c     (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/pr49799.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,25 @@
++/* PR rtl-optimization/49799 */
++/* { dg-do assemble } */
++/* { dg-options "-O2 -w" } */
++
++static __inline int bar(int a)
++{
++    int tmp;
++
++    if (a <= 0) a ^= 0xFFFFFFFF;
++
++    return tmp - 1;
++}
++
++void foo(short *K)
++{
++    short tmp;
++    short *pptr, P[14];
++
++    pptr = P;
++    tmp = bar(*K);
++    *pptr = (*K << tmp) >> 16;
++
++    if (*P < tmp)
++        *K++ = 0;
++}
+Index: gcc/testsuite/gcc.dg/pr50310-2.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr50310-2.c   (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gcc.dg/pr50310-2.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,47 @@
++/* PR target/50310 */
++/* { dg-do run } */
++/* { dg-options "-O3" } */
++/* { dg-options "-O3 -mavx" { target avx_runtime } } */
++
++double s1[4], s2[4], s3[64];
++
++int
++main (void)
++{
++  int i;
++  asm volatile ("" : : : "memory");
++  for (i = 0; i < 4; i++)
++    s3[0 * 4 + i] = __builtin_isgreater (s1[i], s2[i]) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[1 * 4 + i] = (!__builtin_isgreater (s1[i], s2[i])) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[2 * 4 + i] = __builtin_isgreaterequal (s1[i], s2[i]) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[3 * 4 + i] = (!__builtin_isgreaterequal (s1[i], s2[i])) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[4 * 4 + i] = __builtin_isless (s1[i], s2[i]) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[5 * 4 + i] = (!__builtin_isless (s1[i], s2[i])) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[6 * 4 + i] = __builtin_islessequal (s1[i], s2[i]) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[7 * 4 + i] = (!__builtin_islessequal (s1[i], s2[i])) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[8 * 4 + i] = __builtin_islessgreater (s1[i], s2[i]) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[9 * 4 + i] = (!__builtin_islessgreater (s1[i], s2[i])) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[10 * 4 + i] = __builtin_isunordered (s1[i], s2[i]) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[11 * 4 + i] = (!__builtin_isunordered (s1[i], s2[i])) ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[12 * 4 + i] = s1[i] > s2[i] ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[13 * 4 + i] = s1[i] >= s2[i] ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[14 * 4 + i] = s1[i] < s2[i] ? -1.0 : 0.0;
++  for (i = 0; i < 4; i++)
++    s3[15 * 4 + i] = s1[i] <= s2[i] ? -1.0 : 0.0;
++  asm volatile ("" : : : "memory");
++  return 0;
++}
+Index: gcc/testsuite/gcc.dg/vect/vect-70.c
+===================================================================
+--- gcc/testsuite/gcc.dg/vect/vect-70.c        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.dg/vect/vect-70.c        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -7,7 +7,7 @@
+ struct s{
+   int m;
+-  int n[N][N][N];
++  int n[N/6][N/6][N];
+ };
+ struct test1{
 Index: gcc/testsuite/gcc.dg/vect/pr48377.c
 ===================================================================
---- gcc/testsuite/gcc.dg/vect/pr48377.c        (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/gcc.dg/vect/pr48377.c        (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/gcc.dg/vect/pr48377.c        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/gcc.dg/vect/pr48377.c        (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,5 +1,6 @@
  /* PR tree-optimization/48377 */
  /* { dg-do run } */
@@ -2768,8 +5536,8 @@ Index: gcc/testsuite/gcc.dg/vect/pr48377.c
  
 Index: gcc/testsuite/ada/acats/run_acats
 ===================================================================
---- gcc/testsuite/ada/acats/run_acats  (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/ada/acats/run_acats  (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/ada/acats/run_acats  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/ada/acats/run_acats  (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -10,12 +10,12 @@
  # type -p is missing from Solaris 2 /bin/sh and /bin/ksh (ksh88), but both
  # ksh93 and bash have it.
@@ -2788,9 +5556,407 @@ Index: gcc/testsuite/ada/acats/run_acats
  }
 Index: gcc/testsuite/ChangeLog
 ===================================================================
---- gcc/testsuite/ChangeLog    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/ChangeLog    (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -1,3 +1,239 @@
+--- gcc/testsuite/ChangeLog    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/ChangeLog    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,637 @@
++2011-09-08  Martin Jambor  <mjambor@suse.cz>
++
++      Backport from mainline
++      2011-09-07  Martin Jambor  <mjambor@suse.cz>
++
++      PR tree-optimization/49911
++      * g++.dg/tree-ssa/pr49911.C: New test.
++
++2011-09-08  Richard Guenther  <rguenther@suse.de>
++
++      Backport from mainline
++      2011-07-04  Richard Guenther  <rguenther@suse.de>
++
++      PR tree-optimization/49518
++      PR tree-optimization/49628
++      * g++.dg/torture/pr49628.C: New testcase.
++      * gcc.dg/torture/pr49518.c: Likewise.
++
++2011-09-08  Jakub Jelinek  <jakub@redhat.com>
++
++      PR target/50310
++      * gcc.c-torture/execute/ieee/pr50310.c: New test.
++      * gcc.dg/pr50310-2.c: New test.
++
++2011-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
++
++      PR c++/50309
++      * g++.dg/cpp0x/noexcept11.C: New.
++
++2011-09-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
++
++      Backport from trunk
++      * g++.dg/ext/altivec-17.C: Fix dg-error to match current compiler.
++
++2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * gcc.c-torture/compile/20110906-1.c: New test.
++
++2011-09-06  Martin Jambor  <mjambor@suse.cz>
++
++      * gcc.c-torture/execute/pr49886.c: Move to...
++      * gcc.dg/torture/pr49886.c: ...here. Xfail run test for -O2 and above.
++
++2011-09-04  Jason Merrill  <jason@redhat.com>
++
++      PR c++/49267
++      * g++.dg/cpp0x/rv-conv1.C: New.
++
++2011-09-05  Jakub Jelinek  <jakub@redhat.com>
++
++      * gcc.dg/compat/struct-layout-1_test.h: Decrease bitfield size
++      to work even with -fshort-enums.
++
++2011-09-02  Martin Jambor  <mjambor@suse.cz>
++
++      PR middle-end/49886
++      * gcc.c-torture/execute/pr49886.c: New testcase.
++      * gfortran.fortran-torture/compile/pr50260.f90: Likewise.
++
++2011-09-01  Ira Rosen  <ira.rosen@linaro.org>
++
++      PR tree-optimization/50178
++      * gfortran.dg/vect/pr50178.f90: New test.
++
++2011-08-29  Jakub Jelinek  <jakub@redhat.com>
++          Jason Merrill  <jason@redhat.com>
++
++      * g++.dg/dfp/base.C: New test.
++
++2011-08-30  Jason Merrill  <jason@redhat.com>
++
++      PR c++/50089
++      * g++.dg/cpp0x/lambda/lambda-qualified.C: New.
++
++      PR c++/50220
++      * g++.dg/cpp0x/lambda/lambda-50220.C: New.
++
++      PR c++/50234
++      * g++.dg/cpp0x/constexpr-value3.C: New.
++
++2011-08-29  Jason Merrill  <jason@redhat.com>
++
++      PR c++/50224
++      * g++.dg/cpp0x/lambda/lambda-use2.C: New.
++
++2011-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
++
++      Backport from trunk
++      PR libfortran/50192
++      * gfortran.dg/widechar_compare_1.f90:  New test.
++
++2011-08-27  Uros Bizjak  <ubizjak@gmail.com>
++
++      PR target/50202
++      * gcc.target/i386/pr50202.c: New test.
++
++2011-08-26  Mikael Morin  <mikael.morin@gcc.gnu.org>
++
++      PR fortran/50050
++      * gfortran.dg/pointer_comp_init_1.f90: New test.
++
++2011-08-26  Jakub Jelinek  <jakub@redhat.com>
++
++      PR c/50179
++      * c-c++-common/Wunused-var-14.c: New test.
++
++2011-08-25  Jason Merrill  <jason@redhat.com>
++
++      PR c++/50157
++      * g++.dg/cpp0x/sfinae27.C: New.
++
++2011-08-25  Tobias Burnus  <burnus@net-b.de>
++
++      PR fortran/50163
++      * gfortran.dg/initialization_28.f90: New.
++
++2011-08-23  Jason Merrill  <jason@redhat.com>
++
++      PR c++/50024
++      * g++.dg/cpp0x/constexpr-initlist5.C: New.
++
++2011-08-23  Jakub Jelinek  <jakub@redhat.com>
++
++      PR c++/46862
++      * g++.dg/dfp/nofields.C: New test.
++
++2011-08-22  Mikael Morin  <mikael.morin@gcc.gnu.org>
++
++      PR fortran/50050
++      * gfortran.dg/alloc_comp_initializer_3.f90: New test.
++
++2011-08-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
++
++      Backport from trunk
++      PR fortran/50130
++      * gfortran.dg/zero_stride_1.f90:  New test.
++
++2011-08-20  Mikael Morin  <mikael.morin@sfr.fr>
++
++      PR fortran/50129
++      * gfortran.dg/where_3.f90: New test.
++
++2011-08-20  Jakub Jelinek  <jakub@redhat.com>
++
++      PR tree-optimization/48739
++      * gcc.dg/pr48739-1.c: New test.
++      * gcc.dg/pr48739-2.c: New test.
++
++2011-08-19  Tobias Burnus  <burnus@net-b.de>
++
++      PR fortran/50109
++      * gfortran.dg/namelist_73.f90: New.
++
++2011-08-18  Jakub Jelinek  <jakub@redhat.com>
++
++      PR target/50092
++      * gcc.dg/torture/pr50092.c: New test.
++
++2011-08-16  Jason Merrill  <jason@redhat.com>
++
++      PR c++/50086
++      * g++.dg/cpp0x/variadic-unresolved.C: New.
++
++      PR c++/50054
++      * g++.dg/cpp0x/initlist56.C: New.
++
++2011-08-12  David Li  <davidxl@google.com>
++
++      * g++.dg/abi/vbase15.C: New test.
++
++2011-08-09  Martin Jambor  <mjambor@suse.cz>
++
++      PR middle-end/49923
++      * gcc.dg/tree-ssa/pr49923.c: New test.
++
++2011-08-05  Jason Merrill  <jason@redhat.com>
++
++      PR c++/48993
++      * g++.dg/cpp0x/constexpr-48089.C: Add cases.
++
++      PR c++/49921
++      * g++.dg/cpp0x/decltype31.C: New.
++
++      PR c++/49669
++      * g++.dg/init/array28.C: New.
++
++      PR c++/49988
++      * g++.dg/cpp0x/constexpr-non-const-arg3.C: New.
++
++2011-08-05  Janus Weil  <janus@gcc.gnu.org>
++
++      PR fortran/49112
++      * gfortran.dg/abstract_type_6.f03: Modified.
++      * gfortran.dg/typebound_proc_24.f03: New.
++
++2011-08-03  Jakub Jelinek  <jakub@redhat.com>
++
++      PR tree-optimization/49948
++      * gcc.dg/pr49948.c: New test.
++
++2011-08-03  Daniel Kraft  <d@domob.eu>
++
++      PR fortran/49885
++      * gfortran.dg/auto_char_dummy_array_3.f90: New test.
++
++2011-08-02  Jason Merrill  <jason@redhat.com>
++
++      PR c++/43886
++      * g++.dg/cpp0x/lambda/lambda-defarg2.C: New.
++
++      PR c++/49593
++      * g++.dg/cpp0x/variadic115.C: New.
++
++      PR c++/49803
++      * g++.dg/cpp0x/union5.C: New.
++
++      PR c++/49924
++      * g++.dg/cpp0x/constexpr-array4.C: New.
++
++      PR c++/49260
++      * g++.dg/cpp0x/lambda/lambda-eh2.C: Change options.
++
++2011-07-31  Uros Bizjak  <ubizjak@gmail.com>
++
++      PR target/49920
++      * gcc.target/i386/pr49920.c: New test.
++
++2011-07-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
++
++      Backport from trunk.
++      PR fortran/48876
++      * gfortran.dg/string_5.f90:  New test.
++
++2011-07-29  Wei Guozhi  <carrot@google.com>
++
++      Backported from mainline
++      2011-07-29  Wei Guozhi  <carrot@google.com>
++
++      PR rtl-optimization/49799
++      * gcc.dg/pr49799.c: New test case.
++
++2011-07-28  Jakub Jelinek  <jakub@redhat.com>
++
++      PR debug/49871
++      * gcc.dg/debug/dwarf2/pr49871.c: New test.
++
++2011-07-28  Tobias Burnus  <burnus@net-b.de>
++
++      PR fortran/45586
++      * gfortran.dg/lto/pr45586-2_0.f90: New.
++
++2011-07-27  Jeffrey Yasskin  <jyasskin@google.com>
++
++      * g++.old-deja/g++.pt/crash60.C: Updated.
++
++2011-07-27  Jakub Jelinek  <jakub@redhat.com>
++
++      PR target/49866
++      * gcc.target/i386/pr49866.c: New test.
++
++2011-07-27  Tobias Burnus  <burnus@net-b.de>
++
++      Backported from mainline
++      2011-07-23  Tobias Burnus  <burnus@net-b.de>
++
++      PR fortran/49791
++      * gfortran.dg/namelist_72.f: New.
++
++2011-07-27  Uros Bizjak  <ubizjak@gmail.com>
++
++      * gcc.target/i386/avx-os-support.h: New.
++      * gcc.target/i386/avx-check.h: Include avx-os-support.h
++      (main): Check avx_os_support before the test is run.
++      * gcc.target/i386/aes-avx-check.h: Ditto.
++      * gcc.target/i386/pclmul-avx-check.h: Ditto.
++
++2011-07-26  Ira Rosen  <ira.rosen@linaro.org>
++
++      * gcc.dg/vect/vect-70.c: Reduce the data size to fit SPU local store.
++
++2011-07-25  Andrew Pinski  <apinski@cavium.com>
++
++      PR tree-opt/49671
++      * gcc.dg/tree-ssa/pr49671-1.c: New testcase.
++      * gcc.dg/tree-ssa/pr49671-2.c: New testcase.
++
++2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      PR testsuite/49753
++      * g++.dg/torture/pr49309.C: Add -fpreprocessed to dg-options.
++
++      Revert:
++      2011-07-15  Jakub Jelinek  <jakub@redhat.com>
++
++      PR testsuite/49753
++      * g++.dg/torture/pr49309.C: Remove.
++
++2011-07-23  Janus Weil  <janus@gcc.gnu.org>
++
++      PR fortran/49708
++      * gfortran.dg/allocate_error_3.f90: New.
++
++2011-07-22  Uros Bizjak  <ubizjak@gmail.com>
++
++      * lib/target-supports.exp (check_ifunc_available): Rewrite.
++
++2011-07-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      PR debug/47393
++      * g++.dg/debug/dwarf2/icf.C: XFAIL some scan-assembler on
++      mips-sgi-irix*.
++
++2011-07-22  Richard Guenther  <rguenther@suse.de>
++
++      PR tree-optimization/45819
++      * gcc.dg/pr45819.c: New testcase.
++
++2011-07-21  Uros Bizjak  <ubizjak@gmail.com>
++
++      * lib/target-supports.exp (check_avx_os_support_available): New.
++      (check_effective_target_avx_runtime): Use it.
++
++2011-07-19  Jason Merrill  <jason@redhat.com>
++
++      PR c++/49785
++      * g++.dg/cpp0x/variadic114.C: New.
++
++2011-07-19  Jakub Jelinek  <jakub@redhat.com>
++
++      PR tree-optimization/49768
++      * gcc.c-torture/execute/pr49768.c: New test.
++
++2011-07-18  Mikael Morin  <mikael.morin@sfr.fr>
++
++      PR fortran/49648
++      * gfortran.dg/result_in_spec_4.f90: New test.
++
++2011-07-18  Jakub Jelinek  <jakub@redhat.com>
++
++      PR middle-end/49675
++      * gfortran.dg/pr49675.f90: New test.
++
++2011-07-17  Eric Botcazou  <ebotcazou@adacore.com>
++
++      * gnat.dg/pointer_controlled.adb: New test.
++
++2011-07-15  Jakub Jelinek  <jakub@redhat.com>
++
++      PR testsuite/49753
++      * g++.dg/torture/pr49309.C: Remove.
++
++2011-07-14  Janis Johnson  <janisjo@codesourcery.com>
++
++      * gcc.target/arm/pr40657-2.c: Remove -march.
++      * gcc.target/arm/pr42235.c: Likewise.
++      * gcc.target/arm/pr42495.c: Likewise.
++      * gcc.target/arm/pr42574.c: Likewise.
++      * gcc.target/arm/pr40956.c: Remove target-specific options.
++      * gcc.target/arm/pr42505.c: Likewise.
++
++      * lib/target-supports.exp (check_effective_target_arm_thumb1): New.
++      * gcc.target/arm/mla-1.c: Skip for arm_thumb1, don't specify -march.
++
++      * gcc.target/arm/pr42093.c: Use "-fno-reorder-blocks".
++
++      * gcc.target/arm/pr39839.c: Don't specify -march, require thumb.
++      * gcc.target/arm/thumb-branch1.c: Likewise.
++
++      * gcc.target/arm/pr45701-1.c: Don't specify -march, require thumb.
++      * gcc.target/arm/pr45701-2.c: Likewise.
++
++      * gcc.target/arm/vfp-ldmdbs.c: Skip for soft float.
++      * gcc.target/arm/vfp-ldmias.c: Likewise.
++      * gcc.target/arm/vfp-ldmdbd.c: Likewise.
++      * gcc.target/arm/vfp-stmdbs.c: Likewise.
++      * gcc.target/arm/vfp-ldmiad.c: Likewise.
++      * gcc.target/arm/vfp-stmias.c: Likewise.
++      * gcc.target/arm/vfp-stmdbd.c: Likewise.
++      * gcc.target/arm/vfp-stmiad.c: Likewise.
++
++      * gcc.c-torture/compile/pr41679.c: Move from gcc.target/arm.
++      * gcc.c-torture/compile/pr46883.c: Likewise.
++
++      * gcc.target/arm/pr41679.c: Remove test directives in preparation
++      for move to ../../gcc.c-torture/compile.
++      * gcc.target/arm/pr46883.c: Likewise.
++
++      * lib/target-supports.exp (check_effective_target_arm_dsp): New.
++      * gcc.target/arm/wmul-1.c: Use it instead of specific -march.
++      * gcc.target/arm/wmul-2.c: Likewise.
++      * gcc.target/arm/wmul-3.c: Likewise.
++      * gcc.target/arm/wmul-4.c: Likewise.
++
++2011-07-14  Andrew Pinski  <pinskia@gmail.com>
++
++      PR tree-opt/49309
++      * g++.dg/torture/pr49309.C: New testcase.
++
 +2011-07-14  Richard Guenther  <rguenther@suse.de>
 +
 +      PR tree-optimization/49651
@@ -3030,7 +6196,7 @@ Index: gcc/testsuite/ChangeLog
  2011-06-27  Release Manager
  
        * GCC 4.6.1 released.
-@@ -186,7 +422,7 @@
+@@ -186,7 +820,7 @@
  
  2011-06-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
  
@@ -3039,7 +6205,7 @@ Index: gcc/testsuite/ChangeLog
        * g++.dg/diagnostic/bitfld2.C: New.
  
  2011-06-04  Ira Rosen  <ira.rosen@linaro.org>
-@@ -558,7 +794,7 @@
+@@ -558,7 +1192,7 @@
  
  2011-05-06  Dodji Seketeli  <dodji@redhat.com>
  
@@ -3048,10 +6214,63 @@ Index: gcc/testsuite/ChangeLog
        * g++.dg/template/member9.C: New test case.
  
  2011-05-05  Jason Merrill  <jason@redhat.com>
+Index: gcc/testsuite/gfortran.fortran-torture/compile/pr50260.f90
+===================================================================
+--- gcc/testsuite/gfortran.fortran-torture/compile/pr50260.f90 (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/gfortran.fortran-torture/compile/pr50260.f90 (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,48 @@
++MODULE cp_parser_methods
++  INTEGER, PARAMETER :: default_string_length=80
++  INTEGER, PARAMETER :: default_path_length=250
++  TYPE ilist_type
++     LOGICAL                              :: in_use
++  END TYPE ilist_type
++  TYPE cp_parser_type
++     CHARACTER(LEN=default_path_length)             :: ifn
++     INTEGER                                        :: icol,icol1,icol2
++     TYPE(ilist_type), POINTER                      :: ilist
++  END TYPE cp_parser_type
++  TYPE cp_error_type
++  END TYPE cp_error_type
++CONTAINS
++  FUNCTION cts(i) RESULT(res)
++    CHARACTER(len=6)                         :: res
++  END FUNCTION cts
++  FUNCTION parser_location(parser,error) RESULT(res)
++    TYPE(cp_parser_type), POINTER            :: parser
++    TYPE(cp_error_type), INTENT(inout)       :: error
++    CHARACTER(len=default_path_length+default_string_length)       :: res
++    LOGICAL                                  :: failure
++    IF (.NOT. failure) THEN
++       res="file:'"//TRIM(parser%ifn)//"' line:"//cts(parser%icol)
++    END IF
++  END FUNCTION parser_location
++  SUBROUTINE parser_get_integer(parser,at_end, error)
++    TYPE(cp_parser_type), POINTER            :: parser
++    TYPE(cp_error_type), INTENT(inout)       :: error
++    LOGICAL                                  :: failure, my_at_end
++    IF (.NOT.failure) THEN
++       IF (.NOT.parser%ilist%in_use) THEN
++          CALL cp_assert("A"// TRIM(parser_location(parser,error)))
++       END IF
++    END IF
++  END SUBROUTINE parser_get_integer
++  SUBROUTINE parser_get_string(parser,at_end,error)
++    TYPE(cp_parser_type), POINTER            :: parser
++    LOGICAL, INTENT(out), OPTIONAL           :: at_end
++    TYPE(cp_error_type), INTENT(inout)       :: error
++    LOGICAL                                  :: failure, my_at_end
++    IF (.NOT.failure) THEN
++       IF (PRESENT(at_end)) THEN
++          CALL cp_assert("s"//TRIM(parser_location(parser,error)))
++       END IF
++    END IF
++  END SUBROUTINE parser_get_string
++END MODULE cp_parser_methods
 Index: gcc/testsuite/g++.dg/rtti/anon-ns1.C
 ===================================================================
 --- gcc/testsuite/g++.dg/rtti/anon-ns1.C       (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/g++.dg/rtti/anon-ns1.C       (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/g++.dg/rtti/anon-ns1.C       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,15 @@
 +// PR c++/49440
 +// The typeinfo name for A should start with * so we compare
@@ -3068,10 +6287,30 @@ Index: gcc/testsuite/g++.dg/rtti/anon-ns1.C
 +{
 +  throw A();
 +}
+Index: gcc/testsuite/g++.dg/debug/dwarf2/icf.C
+===================================================================
+--- gcc/testsuite/g++.dg/debug/dwarf2/icf.C    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/g++.dg/debug/dwarf2/icf.C    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -40,11 +40,11 @@
+ // Verify that we get .debug_dcall and .debug_vcall tables generated
+ // and that we see entries for both virtual calls. 
+-// { dg-final { scan-assembler "\\.section.*\.debug_dcall" } }
++// { dg-final { scan-assembler "\\.section.*\.debug_dcall" { xfail mips-sgi-irix* } } }
+ // { dg-final { scan-assembler "\\.section.*\.debug_vcall" } }
+-// { dg-final { scan-assembler "New caller" } }
+-// { dg-final { scan-assembler "Caller DIE offset" } }
++// { dg-final { scan-assembler "New caller" { xfail mips-sgi-irix* } } }
++// { dg-final { scan-assembler "Caller DIE offset" { xfail mips-sgi-irix* } } }
+ // { dg-final { scan-assembler "Point of call" } }
+-// { dg-final { scan-assembler "Callee DIE offset" } }
++// { dg-final { scan-assembler "Callee DIE offset" { xfail mips-sgi-irix* } } }
+ // { dg-final { scan-assembler "0\[ \t\]+.*Vtable slot" } }
+ // { dg-final { scan-assembler "0x1\[ \t\]+.*Vtable slot" } }
 Index: gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C
 ===================================================================
---- gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,8 +1,8 @@
  /* Test various operators on __fp16 and mixed __fp16/float operands.  */
  /* { dg-do compile { target arm*-*-* } } */
@@ -3085,8 +6324,8 @@ Index: gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C
  
 Index: gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C
 ===================================================================
---- gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,8 +1,8 @@
  /* Test various operators on __fp16 and mixed __fp16/float operands.  */
  /* { dg-do compile { target arm*-*-* } } */
@@ -3098,10 +6337,21 @@ Index: gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C
  
  #include "arm-fp16-ops.h"
  
+Index: gcc/testsuite/g++.dg/ext/altivec-17.C
+===================================================================
+--- gcc/testsuite/g++.dg/ext/altivec-17.C      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/g++.dg/ext/altivec-17.C      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -12,5 +12,5 @@
+ void Foo (bool_simd_type const &a)
+ {
+-  simd_type const &v = a; // { dg-error "'const simd_type&' from expression of type 'const bool_simd_type'" }
++  simd_type const &v = a; // { dg-error "invalid initialization of reference of type" }
+ }
 Index: gcc/testsuite/g++.dg/opt/pr48273.C
 ===================================================================
 --- gcc/testsuite/g++.dg/opt/pr48273.C (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/g++.dg/opt/pr48273.C (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/g++.dg/opt/pr48273.C (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,10 @@
 +// { dg-do compile { target x86_64-*-* } }
 +// { dg-options "-fschedule-insns2 -fsel-sched-pipelining -fselective-scheduling2 -funroll-all-loops -march=core2" }
@@ -3113,10 +6363,45 @@ Index: gcc/testsuite/g++.dg/opt/pr48273.C
 +  for (;;)
 +    bar ();
 +}
+Index: gcc/testsuite/g++.dg/abi/vbase15.C
+===================================================================
+--- gcc/testsuite/g++.dg/abi/vbase15.C (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/abi/vbase15.C (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,30 @@
++ // { dg-do run }
++
++struct Spec
++
++{
++ virtual int id () const = 0;
++};
++class D1_1_Spec :  public virtual Spec { };
++class D1_2_Spec :  public virtual Spec { };
++class D1_3_Spec :  public virtual Spec { };
++class D2_1_Spec : public D1_1_Spec, public D1_2_Spec { };
++class D2_Spec : public virtual D2_1_Spec, public virtual D1_3_Spec { };
++
++struct D3_Spec : public D2_Spec
++{
++ virtual int id () const { return 3; }
++
++};
++
++__attribute__((noinline)) void foo(D3_Spec* spec)
++{
++  spec->id();
++}
++
++int main()
++{
++ D3_Spec spec;
++ foo(&spec);
++ return 0;
++}
 Index: gcc/testsuite/g++.dg/init/ref19.C
 ===================================================================
 --- gcc/testsuite/g++.dg/init/ref19.C  (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/g++.dg/init/ref19.C  (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/g++.dg/init/ref19.C  (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,17 @@
 +// PR c++/49528
 +// { dg-do run }
@@ -3135,10 +6420,68 @@ Index: gcc/testsuite/g++.dg/init/ref19.C
 +  if (d != 1)
 +    return 1;
 +}
+Index: gcc/testsuite/g++.dg/init/array28.C
+===================================================================
+--- gcc/testsuite/g++.dg/init/array28.C        (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/init/array28.C        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,7 @@
++// PR c++/49669
++
++struct Foo { explicit Foo(int) { } };
++struct Goo {
++  Goo() : x(Foo(4), Foo(5)) { } // { dg-error "array" }
++  Foo x[2];
++};
+Index: gcc/testsuite/g++.dg/tree-ssa/pr49911.C
+===================================================================
+--- gcc/testsuite/g++.dg/tree-ssa/pr49911.C    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/tree-ssa/pr49911.C    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,41 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -fstrict-enums -fno-rtti -fno-exceptions -fno-strict-aliasing -fdump-tree-vrp2" } */
++
++
++extern  void JS_Assert();
++typedef enum {
++eax,         ecx,         edx,         ebx,         esp,         ebp,
++esi,         edi     }
++RegisterID;
++union StateRemat {
++  RegisterID reg_;
++  int offset_;
++};
++static StateRemat FromRegister(RegisterID reg) {
++  StateRemat sr;
++  sr.reg_ = reg;
++  return sr;
++}
++static StateRemat FromAddress3(int address) {
++  StateRemat sr;
++    sr.offset_ = address;
++  //sr.offset_ = 0;
++  if (address < 46 &&    address >= 0) {
++    JS_Assert();
++  }
++  return sr;
++}
++struct FrameState {
++  StateRemat dataRematInfo2(bool y, int z) {
++    if (y)         return FromRegister(RegisterID(1));
++    return FromAddress3(z);
++  }
++};
++FrameState frame;
++StateRemat x;
++void jsop_setelem(bool y, int z) {
++  x = frame.dataRematInfo2(y, z);
++}
++
++/* { dg-final { scan-tree-dump-times "Folding predicate.*45" 0 "vrp2"} } */
++/* { dg-final { cleanup-tree-dump "vrp2" } } */
 Index: gcc/testsuite/g++.dg/tree-ssa/pr49516.C
 ===================================================================
 --- gcc/testsuite/g++.dg/tree-ssa/pr49516.C    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/g++.dg/tree-ssa/pr49516.C    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/g++.dg/tree-ssa/pr49516.C    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,86 @@
 +/* { dg-do run } */
 +/* { dg-options "-O2" } */
@@ -3229,7 +6572,7 @@ Index: gcc/testsuite/g++.dg/tree-ssa/pr49516.C
 Index: gcc/testsuite/g++.dg/diagnostic/aka1.C
 ===================================================================
 --- gcc/testsuite/g++.dg/diagnostic/aka1.C     (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/g++.dg/diagnostic/aka1.C     (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/g++.dg/diagnostic/aka1.C     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,15 @@
 +// Basic test for typedef stripping in diagnostics.
 +
@@ -3249,7 +6592,7 @@ Index: gcc/testsuite/g++.dg/diagnostic/aka1.C
 Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic1.C
 ===================================================================
 --- gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic1.C       (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic1.C       (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic1.C       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,15 @@
 +// PR c++/49672
 +// { dg-options -std=c++0x }
@@ -3269,7 +6612,7 @@ Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic1.C
 Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref2.C
 ===================================================================
 --- gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref2.C    (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref2.C    (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref2.C    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,13 @@
 +// PR c++/49598
 +// { dg-options -std=c++0x }
@@ -3284,10 +6627,211 @@ Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref2.C
 +  if ([=]{ return ir; }() != 10)
 +    return 1;
 +}
+Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-defarg2.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/lambda/lambda-defarg2.C (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-defarg2.C (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,7 @@
++// PR c++/43886
++// { dg-options -std=c++0x }
++
++void f2() {
++  int i = 1;
++  void g5(int = ([]{ return sizeof i; })());
++}
+Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-use2.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/lambda/lambda-use2.C    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-use2.C    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,11 @@
++// PR c++/50224
++// { dg-options "-std=c++0x -Wunused-parameter" }
++
++struct T;
++
++void m(T& t) // ERROR here
++{
++  [&]{
++    t; // ``t`` is referenced here
++  };
++}
+Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-qualified.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/lambda/lambda-qualified.C       (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-qualified.C       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,17 @@
++// PR c++/50089
++// { dg-options -std=c++0x }
++
++struct TestBase
++{
++  void foo() {}
++};
++
++struct Test : TestBase
++{
++  void foo()
++  {
++    [this]{
++      /*this->*/TestBase::foo(); // ICE without this->
++    }();
++  }
++};
+Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-50220.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/lambda/lambda-50220.C   (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-50220.C   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,9 @@
++// PR c++/50220
++// { dg-options -std=c++0x }
++
++template<typename Foo> struct Foobar {};
++
++void foobar(const Foobar<void>& obj)
++{
++  [obj](){}();
++}
+Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-eh2.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/lambda/lambda-eh2.C     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/g++.dg/cpp0x/lambda/lambda-eh2.C     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,5 +1,6 @@
+ // PR c++/47263
+-// { dg-options -std=c++0x }
++// PR c++/49260
++// { dg-options "-std=c++0x -fno-asynchronous-unwind-tables -fno-dwarf2-cfi-asm" }
+ // { dg-do run }
+ #include <exception>
+Index: gcc/testsuite/g++.dg/cpp0x/constexpr-48089.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/constexpr-48089.C       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/testsuite/g++.dg/cpp0x/constexpr-48089.C       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -22,3 +22,29 @@
+ };
+ constexpr R r;                        // { dg-bogus "" "" { xfail *-*-* } }
++
++// Ill-formed (no diagnostic required)
++struct T {
++  int i;
++  constexpr int f() { return i; }
++  constexpr T(): i(0) { }
++  constexpr T(const T& t) : i(f()) { } // { dg-message "" }
++};
++
++constexpr T t1;
++// Ill-formed (diagnostic required)
++constexpr T t2(t1);           // { dg-error "" }
++
++// Well-formed
++struct U {
++  int i, j;
++  constexpr int f(int _i) { return _i; }
++  constexpr int g() { return i; }
++  constexpr U(): i(0), j(0) { }
++  constexpr U(const U& t) : i(f(t.i)),j(0) { } // { dg-bogus "" "" { xfail *-*-* } }
++  constexpr U(int _i) : i(_i),j(g()) { } // { dg-bogus "" "" { xfail *-*-* } }
++};
++
++constexpr U u1;
++constexpr U u2(u1);           // { dg-bogus "" "" { xfail *-*-* } }
++constexpr U u3(1);            // { dg-bogus "" "" { xfail *-*-* } }
+Index: gcc/testsuite/g++.dg/cpp0x/union5.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/union5.C        (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/union5.C        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,23 @@
++// PR c++/49803
++// { dg-options -std=c++0x }
++
++struct X
++{
++  X() = delete;
++};
++
++union Y
++{
++  // N3291=11-0061 12.6.2/8 says no initialization of
++  // of other variant members (i.e. m_x) should
++  // be performed.
++  Y() : m_char1{ }
++  { }
++
++  struct
++  {
++    char m_char1;
++  };
++
++  X    m_x;
++};
+Index: gcc/testsuite/g++.dg/cpp0x/decltype31.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/decltype31.C    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/decltype31.C    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,13 @@
++// PR c++/49921
++// { dg-options -std=c++0x }
++
++struct Local
++{
++  void f();
++};
++
++Local *l;
++void (Local::*ptr)();
++decltype((l->*ptr)) i;               // { dg-error "member function" }
++
++// { dg-prune-output "invalid type in declaration" }
+Index: gcc/testsuite/g++.dg/cpp0x/constexpr-non-const-arg3.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/constexpr-non-const-arg3.C      (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/constexpr-non-const-arg3.C      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,23 @@
++// PR c++/49988
++// { dg-options -std=c++0x }
++// { dg-do run }
++
++template<int ... I> struct X { };
++
++struct A {
++  char data[3];
++  template<int ... I>
++    constexpr
++    A(const char (&s)[3], X<I...> x) : data{ s[I]...} { }
++};
++struct B {
++  A a;
++  B(const char (&s)[3]) : a{s,X<0,1,2>{}} { }
++};
++
++int main()
++{
++  B b{"12"};
++  if (b.a.data[0] != '1')
++    return 1;
++}
+Index: gcc/testsuite/g++.dg/cpp0x/variadic-unresolved.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/variadic-unresolved.C   (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/variadic-unresolved.C   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,12 @@
++// PR c++/50086
++// { dg-options -std=c++0x }
++
++template<typename T> void tfun();
++template<typename T> void fun1(T);
++template<typename... Types> void fun2(Types... args);
++
++int main()
++{
++  fun1(tfun<int>); // ok
++  fun2(tfun<int>); // error: unresolved overloaded function type
++}
 Index: gcc/testsuite/g++.dg/cpp0x/regress/regress5.C
 ===================================================================
 --- gcc/testsuite/g++.dg/cpp0x/regress/regress5.C      (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/regress/regress5.C      (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/g++.dg/cpp0x/regress/regress5.C      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,16 @@
 +// { dg-options -std=c++0x }
 +
@@ -3305,10 +6849,100 @@ Index: gcc/testsuite/g++.dg/cpp0x/regress/regress5.C
 +
 +extern B b;
 +B b2(b);
+Index: gcc/testsuite/g++.dg/cpp0x/constexpr-initlist5.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/constexpr-initlist5.C   (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/constexpr-initlist5.C   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,15 @@
++// PR c++/50024
++// { dg-options -std=c++0x }
++
++template< class T >
++struct Container
++{
++  Container(){
++    int* ptr = new int{};
++  }
++};
++
++int main() {
++    Container< int > c;
++}
++
+Index: gcc/testsuite/g++.dg/cpp0x/rv-conv1.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/rv-conv1.C      (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/rv-conv1.C      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,9 @@
++// PR c++/49267
++// { dg-options -std=c++0x }
++
++struct X {
++  operator int&();
++  operator int&&();
++};
++
++int&&x = X();
+Index: gcc/testsuite/g++.dg/cpp0x/variadic114.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/variadic114.C   (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/variadic114.C   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,27 @@
++// PR c++/49785
++// { dg-options -std=c++0x }
++
++template <typename, typename ...> struct B { };
++template <typename> class A;
++
++template <typename R, typename ... S>
++struct A <R (S ...)> : public B <R, S ...>
++{
++  struct C {};
++  template <typename D> A (D, C = C ()) { }
++  R operator () (...);
++};
++
++template <typename R, typename ... S, typename T>
++auto operator >> (A <R (S ...)>, T)->A <R (S ...)>
++{
++  []() {};
++}
++
++int
++main ()
++{
++  A <int (int, int)> a = [](int, int) {};
++  auto b = []{};
++  (a >> b) (3, 5);
++}
+Index: gcc/testsuite/g++.dg/cpp0x/variadic115.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/variadic115.C   (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/variadic115.C   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,19 @@
++// PR c++/49593
++// { dg-options -std=c++0x }
++
++template<typename... T> void f(T...) { }
++
++template<typename... Args>
++static void
++g(Args&&... args)
++{
++  f( static_cast<Args>(args)... );
++  f( (Args)args... );
++  f( Args(args)... );
++  f( Args{args}... );
++}
++
++int main()
++{
++  g(1, '2', 3.0);
++}
 Index: gcc/testsuite/g++.dg/cpp0x/constexpr-cleanup.C
 ===================================================================
 --- gcc/testsuite/g++.dg/cpp0x/constexpr-cleanup.C     (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/g++.dg/cpp0x/constexpr-cleanup.C     (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/g++.dg/cpp0x/constexpr-cleanup.C     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,9 @@
 +// { dg-options -std=c++0x }
 +
@@ -3319,10 +6953,91 @@ Index: gcc/testsuite/g++.dg/cpp0x/constexpr-cleanup.C
 +};
 +
 +constexpr int i = A().i;      // { dg-error "non-literal" }
+Index: gcc/testsuite/g++.dg/cpp0x/sfinae27.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/sfinae27.C      (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/sfinae27.C      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,20 @@
++// PR c++/50157
++// { dg-options -std=c++0x }
++
++template<class T>
++T val();
++
++template<class T, class Arg, class =
++  decltype(::new T(val<Arg>()))
++>
++auto test(int) -> char;
++
++template<class, class>
++auto test(...) -> char (&)[2];
++
++struct P {
++  explicit operator bool(); // (#13)
++};
++
++typedef decltype(test<bool, P>(0)) type; // OK
++typedef decltype(test<float, P>(0)) type2; // Error (#17)
+Index: gcc/testsuite/g++.dg/cpp0x/noexcept11.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/noexcept11.C    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/noexcept11.C    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,4 @@
++// PR c++/50309
++// { dg-options -std=c++0x }
++
++void foo () noexcept () { } // { dg-error "expected" }
+Index: gcc/testsuite/g++.dg/cpp0x/initlist57.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/initlist57.C    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/initlist57.C    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,8 @@
++// PR c++/50054
++// { dg-options -std=c++0x }
++
++void g( const int& (a)[1] ) {}        // { dg-error "array of references" }
++
++int main () {
++    g( { 1, 2 } );            // { dg-error "initializer list" }
++}
+Index: gcc/testsuite/g++.dg/cpp0x/constexpr-array4.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/constexpr-array4.C      (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/constexpr-array4.C      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,14 @@
++// PR c++/49924
++// { dg-options -std=c++0x }
++
++struct A { constexpr A() { } };
++
++struct B {
++  A array[1]; //non-static member array of a literal type w constexpr ctor
++  constexpr B() : array{} { } // here is the problem
++};
++
++int main()
++{
++  constexpr B b{};  // won't compile
++}
+Index: gcc/testsuite/g++.dg/cpp0x/constexpr-value3.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/constexpr-value3.C      (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/constexpr-value3.C      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,10 @@
++// PR c++/50234
++// { dg-options -std=c++0x }
++
++#define SA(X) static_assert((X),#X)
++
++struct A { int i; };
++
++constexpr int f(A a) { return a.i; }
++
++SA(f({}) == 0);
 Index: gcc/testsuite/g++.dg/torture/pr49615.C
 ===================================================================
 --- gcc/testsuite/g++.dg/torture/pr49615.C     (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr49615.C     (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/g++.dg/torture/pr49615.C     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,29 @@
 +/* { dg-do compile } */
 +/* { dg-options "-g" } */
@@ -3353,10 +7068,72 @@ Index: gcc/testsuite/g++.dg/torture/pr49615.C
 +  for (;;) { }
 +}
 +
+Index: gcc/testsuite/g++.dg/torture/pr49309.C
+===================================================================
+--- gcc/testsuite/g++.dg/torture/pr49309.C     (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/torture/pr49309.C     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,15 @@
++// PR tree-optimization/49309
++// { dg-do compile }
++// { dg-options "-fpreprocessed -fmudflap" }
++
++struct A
++{
++  int i;
++
++  A();
++  A(const A&);
++};
++
++inline void foo(A a) { a = A(); }
++
++void bar() { foo(A()); }
+Index: gcc/testsuite/g++.dg/torture/pr49628.C
+===================================================================
+--- gcc/testsuite/g++.dg/torture/pr49628.C     (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/torture/pr49628.C     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,37 @@
++/* { dg-do compile } */
++
++#include <vector>
++
++template <int rank, int dim> class Tensor;
++template <int dim> class Tensor<1,dim> {
++public:
++    explicit Tensor (const bool initialize = true);
++    Tensor (const Tensor<1,dim> &);
++    Tensor<1,dim> & operator = (const Tensor<1,dim> &);
++    double values[(dim!=0) ? (dim) : 1];
++};
++template <int dim>
++inline Tensor<1,dim> & Tensor<1,dim>::operator = (const Tensor<1,dim> &p)
++{
++  for (unsigned int i=0; i<dim; ++i)
++    values[i] = p.values[i];
++};
++template <int dim> class Quadrature {
++public:
++    const unsigned int n_quadrature_points;
++};
++class MappingQ1
++{
++  class InternalData  {
++  public:
++      std::vector<Tensor<1,3> > shape_derivatives;
++      unsigned int n_shape_functions;
++  };
++  void compute_data (const Quadrature<3> &quadrature, InternalData &data)
++      const;
++};
++void MappingQ1::compute_data (const Quadrature<3> &q, InternalData &data) const
++{
++  const unsigned int n_q_points = q.n_quadrature_points;
++  data.shape_derivatives.resize(data.n_shape_functions * n_q_points);
++}
 Index: gcc/testsuite/g++.dg/torture/pr49644.C
 ===================================================================
 --- gcc/testsuite/g++.dg/torture/pr49644.C     (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/g++.dg/torture/pr49644.C     (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/g++.dg/torture/pr49644.C     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,17 @@
 +// PR c/49644
 +// { dg-do run }
@@ -3375,10 +7152,62 @@ Index: gcc/testsuite/g++.dg/torture/pr49644.C
 +    abort ();
 +  return 0;
 +}
+Index: gcc/testsuite/g++.dg/dfp/nofields.C
+===================================================================
+--- gcc/testsuite/g++.dg/dfp/nofields.C        (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/dfp/nofields.C        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,19 @@
++// PR c++/46862
++// { dg-do compile }
++
++namespace std
++{
++  namespace decimal
++  {
++    class decimal32 { };      // { dg-error "does not have any fields" }
++    class decimal64 { };      // { dg-error "does not have any fields" }
++    class decimal128 { };     // { dg-error "does not have any fields" }
++  }
++}
++
++void
++foo (std::decimal::decimal32 x,
++     std::decimal::decimal64 y,
++     std::decimal::decimal128 z)
++{
++}
+Index: gcc/testsuite/g++.dg/dfp/base.C
+===================================================================
+--- gcc/testsuite/g++.dg/dfp/base.C    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/g++.dg/dfp/base.C    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,23 @@
++// PR c++/50207
++// { dg-do compile }
++
++namespace std
++{
++  namespace decimal
++  {
++    template <class _Fmt> struct _FmtTraits;
++    class decimal32;
++    template <> struct _FmtTraits <decimal32>
++    {
++      static const long _NumBytes = 4UL;
++    };
++    template <class _Tr> class _DecBase
++    {
++      unsigned char _Bytes[_Tr::_NumBytes];
++    };
++    class decimal32 : public _DecBase <_FmtTraits <decimal32> >       // { dg-error "has base" }
++    {
++      decimal32 () { }
++    };
++  }
++}
 Index: gcc/testsuite/g++.dg/template/param3.C
 ===================================================================
 --- gcc/testsuite/g++.dg/template/param3.C     (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/g++.dg/template/param3.C     (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/g++.dg/template/param3.C     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,12 @@
 +// PR c++/49418
 +
@@ -3395,7 +7224,7 @@ Index: gcc/testsuite/g++.dg/template/param3.C
 Index: gcc/testsuite/g++.dg/template/template-id-4.C
 ===================================================================
 --- gcc/testsuite/g++.dg/template/template-id-4.C      (.../tags/gcc_4_6_1_release)    (wersja 0)
-+++ gcc/testsuite/g++.dg/template/template-id-4.C      (.../branches/gcc-4_6-branch)   (wersja 176280)
++++ gcc/testsuite/g++.dg/template/template-id-4.C      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -0,0 +1,22 @@
 +// PR c++/48157
 +
@@ -3419,10 +7248,28 @@ Index: gcc/testsuite/g++.dg/template/template-id-4.C
 +{
 +  TTest2< void (AType::*)() >::check<AType>(0);
 +}
+Index: gcc/testsuite/c-c++-common/Wunused-var-14.c
+===================================================================
+--- gcc/testsuite/c-c++-common/Wunused-var-14.c        (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/testsuite/c-c++-common/Wunused-var-14.c        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,13 @@
++/* PR c/50179 */
++/* { dg-options "-Wunused" } */
++/* { dg-do compile } */
++
++void bar (int, ...);
++
++char *
++foo (void)
++{
++  bar (1, (__extension__ ({ static char b[2]; b[0] = 1; b; })));
++  bar (1, ({ static char c[2]; c[0] = 1; c; }));
++  return ({ static char d[2]; d[0] = 1; d; });
++}
 Index: gcc/cp/typeck.c
 ===================================================================
---- gcc/cp/typeck.c    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/cp/typeck.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/cp/typeck.c    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cp/typeck.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -4331,6 +4331,7 @@
                {
                case MULT_EXPR:
@@ -3441,8 +7288,48 @@ Index: gcc/cp/typeck.c
                case PLUS_EXPR:
 Index: gcc/cp/init.c
 ===================================================================
---- gcc/cp/init.c      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/cp/init.c      (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/cp/init.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cp/init.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -332,7 +332,7 @@
+      constructor.  */
+   /* The AGGR_INIT_EXPR tweaking below breaks in templates.  */
+-  gcc_assert (!processing_template_decl);
++  gcc_assert (!processing_template_decl || SCALAR_TYPE_P (type));
+   if (CLASS_TYPE_P (type))
+     {
+@@ -526,8 +526,10 @@
+       {
+         if (init)
+           {
+-            gcc_assert (TREE_CHAIN (init) == NULL_TREE);
+-            init = TREE_VALUE (init);
++            if (TREE_CHAIN (init))
++              init = error_mark_node;
++            else
++              init = TREE_VALUE (init);
+             if (BRACE_ENCLOSED_INITIALIZER_P (init))
+               init = digest_init (type, init);
+           }
+@@ -627,8 +629,6 @@
+ {
+   tree fields;
+-  *uses_unions_p = 0;
+-
+   /* Note whether or not T is a union.  */
+   if (TREE_CODE (t) == UNION_TYPE)
+     *uses_unions_p = 1;
+@@ -682,7 +682,7 @@
+   tree next_subobject;
+   VEC(tree,gc) *vbases;
+   int i;
+-  int uses_unions_p;
++  int uses_unions_p = 0;
+   /* Build up a list of initializations.  The TREE_PURPOSE of entry
+      will be the subobject (a FIELD_DECL or BINFO) to initialize.  The
 @@ -1492,7 +1492,7 @@
        tree fn = get_callee_fndecl (rval);
        if (fn && DECL_DECLARED_CONSTEXPR_P (fn))
@@ -3454,8 +7341,16 @@ Index: gcc/cp/init.c
        }
 Index: gcc/cp/class.c
 ===================================================================
---- gcc/cp/class.c     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/cp/class.c     (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/cp/class.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cp/class.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,6 +1,6 @@
+ /* Functions related to building classes and their related objects.
+    Copyright (C) 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+-   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
++   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
+    Free Software Foundation, Inc.
+    Contributed by Michael Tiemann (tiemann@cygnus.com)
 @@ -677,21 +677,10 @@
     the abstract.  */
  
@@ -3481,10 +7376,76 @@ Index: gcc/cp/class.c
  }
  
  /* Create a VAR_DECL for a primary or secondary vtable for CLASS_TYPE.
+@@ -2306,8 +2295,7 @@
+   else
+     BV_VCALL_INDEX (*virtuals) = NULL_TREE;
+-  if (lost)
+-    BV_LOST_PRIMARY (*virtuals) = true;
++  BV_LOST_PRIMARY (*virtuals) = lost;
+ }
+ /* Called from modify_all_vtables via dfs_walk.  */
+@@ -5715,6 +5703,27 @@
+   /* Finish debugging output for this type.  */
+   rest_of_type_compilation (t, ! LOCAL_CLASS_P (t));
++
++  if (TYPE_TRANSPARENT_AGGR (t))
++    {
++      tree field = first_field (t);
++      if (field == NULL_TREE || error_operand_p (field))
++      {
++        error ("type transparent class %qT does not have any fields", t);
++        TYPE_TRANSPARENT_AGGR (t) = 0;
++      }
++      else if (DECL_ARTIFICIAL (field))
++      {
++        if (DECL_FIELD_IS_BASE (field))
++          error ("type transparent class %qT has base classes", t);
++        else
++          {
++            gcc_checking_assert (DECL_VIRTUAL_P (field));
++            error ("type transparent class %qT has virtual functions", t);
++          }
++        TYPE_TRANSPARENT_AGGR (t) = 0;
++      }
++    }
+ }
+ /* When T was built up, the member declarations were added in reverse
+Index: gcc/cp/decl.c
+===================================================================
+--- gcc/cp/decl.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cp/decl.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -8749,6 +8749,10 @@
+           /* Pick up the exception specifications.  */
+           raises = declarator->u.function.exception_specification;
++          /* If the exception-specification is ill-formed, let's pretend
++             there wasn't one.  */
++          if (raises == error_mark_node)
++            raises = NULL_TREE;
+           /* Say it's a definition only for the CALL_EXPR
+              closest to the identifier.  */
+Index: gcc/cp/method.c
+===================================================================
+--- gcc/cp/method.c    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cp/method.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -360,6 +360,8 @@
+         /* Output the thunk into the same section as function.  */
+         DECL_SECTION_NAME (thunk_fndecl) = DECL_SECTION_NAME (function);
++        if (DECL_COMDAT_GROUP (function))
++          make_decl_one_only (thunk_fndecl, DECL_COMDAT_GROUP (function));
+       }
+     }
 Index: gcc/cp/error.c
 ===================================================================
---- gcc/cp/error.c     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/cp/error.c     (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/cp/error.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cp/error.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -2618,14 +2618,28 @@
  
    reinit_cxx_pp ();
@@ -3516,8 +7477,8 @@ Index: gcc/cp/error.c
  }
 Index: gcc/cp/tree.c
 ===================================================================
---- gcc/cp/tree.c      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/cp/tree.c      (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/cp/tree.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cp/tree.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -495,9 +495,16 @@
        dummy = move (dummy);
        VEC_quick_push (tree, argvec, dummy);
@@ -3548,9 +7509,130 @@ Index: gcc/cp/tree.c
  
 Index: gcc/cp/ChangeLog
 ===================================================================
---- gcc/cp/ChangeLog   (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/cp/ChangeLog   (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -1,3 +1,55 @@
+--- gcc/cp/ChangeLog   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cp/ChangeLog   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,176 @@
++2011-09-08  Jakub Jelinek  <jakub@redhat.com>
++
++      PR c++/50255
++      * method.c (use_thunk): If emitting thunk into the same section
++      as function, use the same DECL_COMDAT_GROUP as well.
++
++2011-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
++
++      PR c++/50309
++      * decl.c (grokdeclarator): Check u.function.exception_specification
++      for error_mark_node.
++
++2011-09-04  Jason Merrill  <jason@redhat.com>
++
++      PR c++/49267
++      * call.c (compare_ics): rvaluedness_matches_p can differ
++      based on the source type, not just target.
++
++2011-08-29  Jakub Jelinek  <jakub@redhat.com>
++          Jason Merrill  <jason@redhat.com>
++
++      PR c++/50207
++      * class.c (finish_struct_1): Complain if the first field is
++      artificial.
++
++2011-08-30  Jason Merrill  <jason@redhat.com>
++
++      PR c++/50089
++      * semantics.c (finish_id_expression): Use
++      current_nonlambda_class_type for qualified-ids.
++
++      PR c++/50220
++      * semantics.c (add_capture): Call complete_type for copy.
++
++      PR c++/50234
++      * semantics.c (cxx_eval_component_reference): Handle
++      value-initialization for omitted initializers.
++
++2011-08-29  Jason Merrill  <jason@redhat.com>
++
++      PR c++/50224
++      * semantics.c (finish_id_expression): Mark captured variables used.
++
++2011-08-25  Jason Merrill  <jason@redhat.com>
++
++      PR c++/50157
++      * call.c (convert_like_real): Exit early if bad and !tf_error.
++
++2011-08-23  Jason Merrill  <jason@redhat.com>
++
++      PR c++/50024
++      * semantics.c (maybe_constant_value): Don't try to fold { }.
++      * pt.c (build_non_dependent_expr): Don't wrap { }.
++      * init.c (build_value_init): Allow scalar value-init in templates.
++
++2011-08-23  Jakub Jelinek  <jakub@redhat.com>
++
++      PR c++/46862
++      * class.c (finish_struct_1): If TYPE_TRANSPARENT_AGGR is set on a type
++      which doesn't have any fields, clear it and diagnose.
++
++2011-08-16  Jason Merrill  <jason@redhat.com>
++
++      PR c++/50086
++      * pt.c (unify_pack_expansion): Correct overloaded unification
++      logic.
++
++      PR c++/50054
++      * typeck2.c (cxx_incomplete_type_diagnostic): Handle
++      init_list_type_node.
++
++2011-08-12  David Li  <davidxl@google.com>
++
++      * class.c (update_vtable_entry_for_fn): Set
++      LOST_PRIMARY bit properly.
++
++2011-08-05  Jason Merrill  <jason@redhat.com>
++
++      PR c++/48993
++      * semantics.c (potential_constant_expression_1) [CALL_EXPR]: Sorry
++      on 'this' in a constructor.
++
++      PR c++/49921
++      * semantics.c (finish_decltype_type): Call invalid_nonstatic_memfn_p.
++
++      PR c++/49669
++      * init.c (perform_member_init): Handle invalid array initializer.
++
++      PR c++/49988
++      * semantics.c (cxx_eval_array_reference): Handle failure to
++      reduce the array operand to something we can work with.
++
++2011-08-02  Jason Merrill  <jason@redhat.com>
++
++      PR c++/43886
++      * parser.c (cp_parser_lambda_body): Clear local_variables_forbidden_p.
++
++      PR c++/49593
++      * pt.c (find_parameter_packs_r): Handle CONSTRUCTOR.
++
++      PR c++/49803
++      * init.c (sort_mem_initializers): Initialize uses_unions_p here.
++      (build_field_list): Not here.
++
++      PR c++/49924
++      * semantics.c (cxx_eval_vec_init_1): Fix logic.
++
++      PR c++/49260
++      * call.c (build_call_a): Set cp_function_chain->can_throw here.
++      (build_cxx_call): Not here.
++
++2011-07-27  Jeffrey Yasskin  <jyasskin@google.com>
++
++      * pt.c (build_template_decl): Copy the function_decl's
++      source location to the new template_decl.
++
++2011-07-19  Jason Merrill  <jason@redhat.com>
++
++      PR c++/49785
++      * pt.c (coerce_template_parms): Handle non-pack after pack.
++
 +2011-07-11  Jason Merrill  <jason@redhat.com>
 +
 +      PR c++/49672
@@ -3608,9 +7690,22 @@ Index: gcc/cp/ChangeLog
        * GCC 4.6.1 released.
 Index: gcc/cp/typeck2.c
 ===================================================================
---- gcc/cp/typeck2.c   (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/cp/typeck2.c   (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -900,7 +900,7 @@
+--- gcc/cp/typeck2.c   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cp/typeck2.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -442,6 +442,12 @@
+       break;
+     case LANG_TYPE:
++      if (type == init_list_type_node)
++      {
++        emit_diagnostic (diag_kind, input_location, 0,
++                         "invalid use of brace-enclosed initializer list");
++        break;
++      }
+       gcc_assert (type == unknown_type_node);
+       if (value && TREE_CODE (value) == COMPONENT_REF)
+       goto bad_member;
+@@ -900,7 +906,7 @@
        {
          /* Allow the result of build_array_copy and of
             build_value_init_noctor.  */
@@ -3621,9 +7716,64 @@ Index: gcc/cp/typeck2.c
                  (type, TREE_TYPE (init))))
 Index: gcc/cp/pt.c
 ===================================================================
---- gcc/cp/pt.c        (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/cp/pt.c        (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -8620,11 +8620,12 @@
+--- gcc/cp/pt.c        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cp/pt.c        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -3013,6 +3013,7 @@
+       *walk_subtrees = 0;
+       return NULL_TREE;
++    case CONSTRUCTOR:
+     case TEMPLATE_DECL:
+       cp_walk_tree (&TREE_TYPE (t),
+                   &find_parameter_packs_r, ppd, ppd->visited);
+@@ -4109,6 +4110,7 @@
+   tree tmpl = build_lang_decl (TEMPLATE_DECL, DECL_NAME (decl), NULL_TREE);
+   DECL_TEMPLATE_PARMS (tmpl) = parms;
+   DECL_CONTEXT (tmpl) = DECL_CONTEXT (decl);
++  DECL_SOURCE_LOCATION (tmpl) = DECL_SOURCE_LOCATION (decl);
+   DECL_MEMBER_TEMPLATE_P (tmpl) = member_template_p;
+   return tmpl;
+@@ -6295,6 +6297,7 @@
+      subtract it from nparms to get the number of non-variadic
+      parameters.  */
+   int variadic_p = 0;
++  int post_variadic_parms = 0;
+   if (args == error_mark_node)
+     return error_mark_node;
+@@ -6305,19 +6308,22 @@
+   for (parm_idx = 0; parm_idx < nparms; ++parm_idx)
+     {
+       tree tparm = TREE_VALUE (TREE_VEC_ELT (parms, parm_idx));
++      if (variadic_p)
++      ++post_variadic_parms;
+       if (template_parameter_pack_p (tparm))
+       ++variadic_p;
+     }
+   inner_args = INNERMOST_TEMPLATE_ARGS (args);
+-  /* If there are 0 or 1 parameter packs, we need to expand any argument
+-     packs so that we can deduce a parameter pack from some non-packed args
+-     followed by an argument pack, as in variadic85.C.  If there are more
+-     than that, we need to leave argument packs intact so the arguments are
+-     assigned to the right parameter packs.  This should only happen when
+-     dealing with a nested class inside a partial specialization of a class
+-     template, as in variadic92.C.  */
+-  if (variadic_p <= 1)
++  /* If there are no parameters that follow a parameter pack, we need to
++     expand any argument packs so that we can deduce a parameter pack from
++     some non-packed args followed by an argument pack, as in variadic85.C.
++     If there are such parameters, we need to leave argument packs intact
++     so the arguments are assigned properly.  This can happen when dealing
++     with a nested class inside a partial specialization of a class
++     template, as in variadic92.C, or when deducing a template parameter pack
++     from a sub-declarator, as in variadic114.C.  */
++  if (!post_variadic_parms)
+     inner_args = expand_template_argument_pack (inner_args);
+   nargs = inner_args ? NUM_TMPL_ARGS (inner_args) : 0;
+@@ -8620,11 +8626,12 @@
    return r;
  }
  
@@ -3639,7 +7789,7 @@ Index: gcc/cp/pt.c
  {
    /* Collect all of the extra "packed" parameters into an
       argument pack.  */
-@@ -8632,11 +8633,18 @@
+@@ -8632,11 +8639,18 @@
    tree parmtypevec;
    tree argpack = make_node (NONTYPE_ARGUMENT_PACK);
    tree argtypepack = cxx_make_type (TYPE_ARGUMENT_PACK);
@@ -3659,7 +7809,7 @@ Index: gcc/cp/pt.c
    for (i = 0; i < len; i++, spec_parm = DECL_CHAIN (spec_parm))
      {
        TREE_VEC_ELT (parmvec, i) = spec_parm;
-@@ -8647,10 +8655,20 @@
+@@ -8647,10 +8661,20 @@
    SET_ARGUMENT_PACK_ARGS (argpack, parmvec);
    SET_ARGUMENT_PACK_ARGS (argtypepack, parmtypevec);
    TREE_TYPE (argpack) = argtypepack;
@@ -3681,7 +7831,7 @@ Index: gcc/cp/pt.c
  /* Substitute ARGS into T, which is an pack expansion
     (i.e. TYPE_PACK_EXPANSION or EXPR_PACK_EXPANSION). Returns a
     TREE_VEC with the substituted arguments, a PACK_EXPANSION_* node
-@@ -11200,8 +11218,12 @@
+@@ -11200,8 +11224,12 @@
      expr = name;
  
    if (dependent_scope_p (scope))
@@ -3696,7 +7846,65 @@ Index: gcc/cp/pt.c
  
    if (!BASELINK_P (name) && !DECL_P (expr))
      {
-@@ -17466,21 +17488,21 @@
+@@ -14772,7 +14800,6 @@
+         tree arg = TREE_VEC_ELT (packed_args, i);
+       tree arg_expr = NULL_TREE;
+         int arg_strict = strict;
+-        bool skip_arg_p = false;
+         if (call_args_p)
+           {
+@@ -14815,19 +14842,15 @@
+                     if (resolve_overloaded_unification
+                         (tparms, targs, parm, arg,
+                        (unification_kind_t) strict,
+-                       sub_strict)
+-                        != 0)
+-                      return 1;
+-                    skip_arg_p = true;
++                       sub_strict))
++                    goto unified;
++                  return 1;
+                   }
+-                if (!skip_arg_p)
+-                  {
+-                  arg_expr = arg;
+-                    arg = unlowered_expr_type (arg);
+-                    if (arg == error_mark_node)
+-                      return 1;
+-                  }
++              arg_expr = arg;
++              arg = unlowered_expr_type (arg);
++              if (arg == error_mark_node)
++                return 1;
+               }
+       
+             arg_strict = sub_strict;
+@@ -14838,16 +14861,14 @@
+                                                 &parm, &arg, arg_expr);
+           }
+-        if (!skip_arg_p)
+-          {
+-          /* For deduction from an init-list we need the actual list.  */
+-          if (arg_expr && BRACE_ENCLOSED_INITIALIZER_P (arg_expr))
+-            arg = arg_expr;
+-            if (unify (tparms, targs, parm, arg, arg_strict))
+-              return 1;
+-          }
++      /* For deduction from an init-list we need the actual list.  */
++      if (arg_expr && BRACE_ENCLOSED_INITIALIZER_P (arg_expr))
++        arg = arg_expr;
++      if (unify (tparms, targs, parm, arg, arg_strict))
++        return 1;
+       }
++    unified:
+       /* For each parameter pack, collect the deduced value.  */
+       for (pack = packs; pack; pack = TREE_CHAIN (pack))
+         {
+@@ -17466,21 +17487,21 @@
          spec_parm = skip_artificial_parms_for (d, spec_parm);
          tmpl_parm = skip_artificial_parms_for (subst_decl, tmpl_parm);
        }
@@ -3731,20 +7939,128 @@ Index: gcc/cp/pt.c
        gcc_assert (!spec_parm);
  
        /* Substitute into the body of the function.  */
+@@ -18888,6 +18909,10 @@
+   if (TREE_CODE (expr) == THROW_EXPR)
+     return expr;
++  /* Don't wrap an initializer list, we need to be able to look inside.  */
++  if (BRACE_ENCLOSED_INITIALIZER_P (expr))
++    return expr;
++
+   if (TREE_CODE (expr) == COND_EXPR)
+     return build3 (COND_EXPR,
+                  TREE_TYPE (expr),
 Index: gcc/cp/semantics.c
 ===================================================================
---- gcc/cp/semantics.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/cp/semantics.c (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -2895,7 +2895,7 @@
+--- gcc/cp/semantics.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cp/semantics.c (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -2895,8 +2895,11 @@
          tree containing_function = current_function_decl;
          tree lambda_stack = NULL_TREE;
          tree lambda_expr = NULL_TREE;
 -        tree initializer = decl;
 +        tree initializer = convert_from_reference (decl);
  
++        /* Mark it as used now even if the use is ill-formed.  */
++        mark_used (decl);
++
          /* Core issue 696: "[At the July 2009 meeting] the CWG expressed
             support for an approach in which a reference to a local
-@@ -6666,7 +6666,7 @@
+            [constant] automatic variable in a nested class or lambda body
+@@ -3203,7 +3206,7 @@
+       if (scope)
+       {
+         decl = (adjust_result_of_qualified_name_lookup
+-                (decl, scope, current_class_type));
++                (decl, scope, current_nonlambda_class_type()));
+         if (TREE_CODE (decl) == FUNCTION_DECL)
+           mark_used (decl);
+@@ -4835,6 +4838,9 @@
+   expr = resolve_nondeduced_context (expr);
++  if (invalid_nonstatic_memfn_p (expr, complain))
++    return error_mark_node;
++
+   /* To get the size of a static data member declared as an array of
+      unknown bound, we need to instantiate it.  */
+   if (TREE_CODE (expr) == VAR_DECL
+@@ -6300,12 +6306,22 @@
+   elem_type = TREE_TYPE (TREE_TYPE (ary));
+   if (TREE_CODE (ary) == CONSTRUCTOR)
+     len = CONSTRUCTOR_NELTS (ary);
+-  else
++  else if (TREE_CODE (ary) == STRING_CST)
+     {
+       elem_nchars = (TYPE_PRECISION (elem_type)
+                    / TYPE_PRECISION (char_type_node));
+       len = (unsigned) TREE_STRING_LENGTH (ary) / elem_nchars;
+     }
++  else
++    {
++      /* We can't do anything with other tree codes, so use
++       VERIFY_CONSTANT to complain and fail.  */
++      VERIFY_CONSTANT (ary);
++      /* This should be unreachable, but be more fault-tolerant on the
++       release branch.  */
++      *non_constant_p = true;
++      return t;
++    }
+   if (compare_tree_int (index, len) >= 0)
+     {
+       if (tree_int_cst_lt (index, array_type_nelts_top (TREE_TYPE (ary))))
+@@ -6375,7 +6391,8 @@
+       if (field == part)
+         return value;
+     }
+-  if (TREE_CODE (TREE_TYPE (whole)) == UNION_TYPE)
++  if (TREE_CODE (TREE_TYPE (whole)) == UNION_TYPE
++      && CONSTRUCTOR_NELTS (whole) > 0)
+     {
+       /* FIXME Mike Miller wants this to be OK.  */
+       if (!allow_non_constant)
+@@ -6384,8 +6401,12 @@
+       *non_constant_p = true;
+       return t;
+     }
+-  gcc_unreachable();
+-  return error_mark_node;
++
++  /* If there's no explicit init for this field, it's value-initialized.  */
++  value = build_value_init (TREE_TYPE (t), tf_warning_or_error);
++  return cxx_eval_constant_expression (call, value,
++                                     allow_non_constant, addr,
++                                     non_constant_p);
+ }
+ /* Subroutine of cxx_eval_constant_expression.
+@@ -6589,6 +6610,7 @@
+   tree elttype = TREE_TYPE (atype);
+   int max = tree_low_cst (array_type_nelts (atype), 0);
+   VEC(constructor_elt,gc) *n = VEC_alloc (constructor_elt, gc, max + 1);
++  bool default_init = false;
+   int i;
+   /* For the default constructor, build up a call to the default
+@@ -6607,6 +6629,7 @@
+       release_tree_vector (argvec);
+       init = cxx_eval_constant_expression (call, init, allow_non_constant,
+                                          addr, non_constant_p);
++      default_init = true;
+     }
+   if (*non_constant_p && !allow_non_constant)
+@@ -6634,7 +6657,7 @@
+         eltinit = cxx_eval_constant_expression
+           (call, eltinit, allow_non_constant, addr, non_constant_p);
+       }
+-      else if (TREE_CODE (init) == CONSTRUCTOR)
++      else if (default_init)
+       {
+         /* Initializing an element using the call to the default
+            constructor we just built above.  */
+@@ -6666,7 +6689,7 @@
  
    if (!*non_constant_p)
      {
@@ -3753,7 +8069,7 @@ Index: gcc/cp/semantics.c
        TREE_CONSTANT (init) = true;
        return init;
      }
-@@ -6932,6 +6932,15 @@
+@@ -6932,6 +6955,15 @@
        break;
  
      case TARGET_EXPR:
@@ -3769,7 +8085,34 @@ Index: gcc/cp/semantics.c
      case INIT_EXPR:
        /* Pass false for 'addr' because these codes indicate
         initialization of a temporary.  */
-@@ -7745,8 +7754,15 @@
+@@ -7276,6 +7308,7 @@
+   if (type_dependent_expression_p (t)
+       || type_unknown_p (t)
++      || BRACE_ENCLOSED_INITIALIZER_P (t)
+       || !potential_constant_expression (t)
+       || value_dependent_expression_p (t))
+     return t;
+@@ -7482,7 +7515,17 @@
+                 {
+                   tree x = get_nth_callarg (t, 0);
+                   if (is_this_parameter (x))
+-                    /* OK.  */;
++                    {
++                      if (DECL_CONSTRUCTOR_P (DECL_CONTEXT (x)))
++                        {
++                          if (flags & tf_error)
++                            sorry ("calling a member function of the "
++                                   "object being constructed in a constant "
++                                   "expression");
++                          return false;
++                        }
++                      /* Otherwise OK.  */;
++                    }
+                   else if (!potential_constant_expression_1 (x, rval, flags))
+                     {
+                       if (flags & tf_error)
+@@ -7745,8 +7788,15 @@
        return potential_constant_expression_1 (TREE_OPERAND (t, 1),
                                              want_rval, flags);
  
@@ -3786,7 +8129,7 @@ Index: gcc/cp/semantics.c
        return potential_constant_expression_1 (TREE_OPERAND (t, 1),
                                              rval, flags);
  
-@@ -8081,7 +8097,7 @@
+@@ -8081,7 +8131,7 @@
        SET_TYPE_STRUCTURAL_EQUALITY (type);
      }
    else
@@ -3795,7 +8138,17 @@ Index: gcc/cp/semantics.c
    return type;
  }
  
-@@ -8457,6 +8473,9 @@
+@@ -8242,6 +8292,9 @@
+       if (!real_lvalue_p (initializer))
+       error ("cannot capture %qE by reference", initializer);
+     }
++  else
++    /* Capture by copy requires a complete type.  */
++    type = complete_type (type);
+   /* Make member variable.  */
+   member = build_lang_decl (FIELD_DECL, id, type);
+@@ -8457,6 +8510,9 @@
    if (LAMBDA_EXPR_CAPTURE_LIST (CLASSTYPE_LAMBDA_EXPR (type)) != NULL_TREE)
      return;
  
@@ -3805,11 +8158,45 @@ Index: gcc/cp/semantics.c
    stattype = build_function_type (TREE_TYPE (TREE_TYPE (callop)),
                                  FUNCTION_ARG_CHAIN (callop));
  
+Index: gcc/cp/parser.c
+===================================================================
+--- gcc/cp/parser.c    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cp/parser.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -7940,8 +7940,11 @@
+ cp_parser_lambda_body (cp_parser* parser, tree lambda_expr)
+ {
+   bool nested = (current_function_decl != NULL_TREE);
++  bool local_variables_forbidden_p = parser->local_variables_forbidden_p;
+   if (nested)
+     push_function_context ();
++  /* Clear this in case we're in the middle of a default argument.  */
++  parser->local_variables_forbidden_p = false;
+   /* Finish the function call operator
+      - class_specifier
+@@ -8028,6 +8031,7 @@
+     expand_or_defer_fn (finish_function (/*inline*/2));
+   }
++  parser->local_variables_forbidden_p = local_variables_forbidden_p;
+   if (nested)
+     pop_function_context();
+ }
 Index: gcc/cp/call.c
 ===================================================================
---- gcc/cp/call.c      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/cp/call.c      (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -2554,8 +2554,6 @@
+--- gcc/cp/call.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cp/call.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -351,6 +351,9 @@
+   nothrow = ((decl && TREE_NOTHROW (decl))
+            || TYPE_NOTHROW_P (TREE_TYPE (TREE_TYPE (function))));
++  if (!nothrow && at_function_scope_p () && cfun && cp_function_chain)
++    cp_function_chain->can_throw = 1;
++
+   if (decl && TREE_THIS_VOLATILE (decl) && cfun && cp_function_chain)
+     current_function_returns_abnormally = 1;
+@@ -2554,8 +2557,6 @@
      return build_pointer_type (TREE_TYPE (type));
    if (TREE_CODE (type) == FUNCTION_TYPE)
      return build_pointer_type (type);
@@ -3818,10 +8205,117 @@ Index: gcc/cp/call.c
    return type;
  }
  
+@@ -5328,6 +5329,9 @@
+   diagnostic_t diag_kind;
+   int flags;
++  if (convs->bad_p && !(complain & tf_error))
++    return error_mark_node;
++
+   if (convs->bad_p
+       && convs->kind != ck_user
+       && convs->kind != ck_list
+@@ -5363,16 +5367,13 @@
+         else if (t->kind == ck_identity)
+           break;
+       }
+-      if (complain & tf_error)
+-      {
+-        permerror (input_location, "invalid conversion from %qT to %qT", TREE_TYPE (expr), totype);
+-        if (fn)
+-          permerror (DECL_SOURCE_LOCATION (fn),
+-                     "  initializing argument %P of %qD", argnum, fn);
+-      }
+-      else
+-      return error_mark_node;
++      permerror (input_location, "invalid conversion from %qT to %qT",
++               TREE_TYPE (expr), totype);
++      if (fn)
++      permerror (DECL_SOURCE_LOCATION (fn),
++                 "  initializing argument %P of %qD", argnum, fn);
++
+       return cp_convert (totype, expr);
+     }
+@@ -6459,11 +6460,6 @@
+   /* If this call might throw an exception, note that fact.  */
+   fndecl = get_callee_fndecl (fn);
+-  if ((!fndecl || !TREE_NOTHROW (fndecl))
+-      && at_function_scope_p ()
+-      && cfun
+-      && cp_function_chain)
+-    cp_function_chain->can_throw = 1;
+   /* Check that arguments to builtin functions match the expectations.  */
+   if (fndecl
+@@ -7549,13 +7545,13 @@
+   if (ref_conv1 && ref_conv2)
+     {
+-      if (!ref_conv1->this_p && !ref_conv2->this_p
+-        && (TYPE_REF_IS_RVALUE (ref_conv1->type)
+-            != TYPE_REF_IS_RVALUE (ref_conv2->type)))
++      if (!ref_conv1->this_p && !ref_conv2->this_p)
+       {
+-        if (ref_conv1->rvaluedness_matches_p)
++        if (ref_conv1->rvaluedness_matches_p
++            > ref_conv2->rvaluedness_matches_p)
+           return 1;
+-        if (ref_conv2->rvaluedness_matches_p)
++        if (ref_conv2->rvaluedness_matches_p
++            > ref_conv1->rvaluedness_matches_p)
+           return -1;
+       }
+Index: gcc/tree-ssa-ccp.c
+===================================================================
+--- gcc/tree-ssa-ccp.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree-ssa-ccp.c (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1520,7 +1520,7 @@
+       double_int bitoffset;
+       double_int byte_offset_cst = tree_to_double_int (byte_offset);
+       double_int bits_per_unit_cst = uhwi_to_double_int (BITS_PER_UNIT);
+-      double_int bitoffset_end;
++      double_int bitoffset_end, access_end;
+       /* Variable sized objects in static constructors makes no sense,
+        but field_size can be NULL for flexible array members.  */
+@@ -1541,14 +1541,16 @@
+       else
+       bitoffset_end = double_int_zero;
+-      /* Is OFFSET in the range (BITOFFSET, BITOFFSET_END)? */
+-      if (double_int_cmp (uhwi_to_double_int (offset), bitoffset, 0) >= 0
++      access_end = double_int_add (uhwi_to_double_int (offset),
++                                 uhwi_to_double_int (size));
++
++      /* Is there any overlap between [OFFSET, OFFSET+SIZE) and
++       [BITOFFSET, BITOFFSET_END)?  */
++      if (double_int_cmp (access_end, bitoffset, 0) > 0
+         && (field_size == NULL_TREE
+             || double_int_cmp (uhwi_to_double_int (offset),
+                                bitoffset_end, 0) < 0))
+       {
+-        double_int access_end = double_int_add (uhwi_to_double_int (offset),
+-                                                uhwi_to_double_int (size));
+         double_int inner_offset = double_int_sub (uhwi_to_double_int (offset),
+                                                   bitoffset);
+         /* We do have overlap.  Now see if field is large enough to
+@@ -1556,6 +1558,8 @@
+            fields.  */
+         if (double_int_cmp (access_end, bitoffset_end, 0) > 0)
+           return NULL_TREE;
++        if (double_int_cmp (uhwi_to_double_int (offset), bitoffset, 0) < 0)
++          return NULL_TREE;
+         return fold_ctor_reference (type, cval,
+                                     double_int_to_uhwi (inner_offset), size);
+       }
 Index: gcc/tree-ssa-dom.c
 ===================================================================
---- gcc/tree-ssa-dom.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/tree-ssa-dom.c (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/tree-ssa-dom.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree-ssa-dom.c (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -208,12 +208,11 @@
      {
        enum tree_code subcode = gimple_assign_rhs_code (stmt);
@@ -3838,8 +8332,8 @@ Index: gcc/tree-ssa-dom.c
          case GIMPLE_UNARY_RHS:
 Index: gcc/sel-sched.c
 ===================================================================
---- gcc/sel-sched.c    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/sel-sched.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/sel-sched.c    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/sel-sched.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -6778,7 +6778,8 @@
    bookkeeping_p = 1;
    pipelining_p = (bookkeeping_p
@@ -3852,9 +8346,61 @@ Index: gcc/sel-sched.c
  }
 Index: gcc/dwarf2out.c
 ===================================================================
---- gcc/dwarf2out.c    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/dwarf2out.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -17118,7 +17118,7 @@
+--- gcc/dwarf2out.c    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/dwarf2out.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -10647,7 +10647,15 @@
+         size += size_of_sleb128 (AT_int (a));
+         break;
+       case dw_val_class_unsigned_const:
+-        size += constant_size (AT_unsigned (a));
++        {
++          int csize = constant_size (AT_unsigned (a));
++          if (dwarf_version == 3
++              && a->dw_attr == DW_AT_data_member_location
++              && csize >= 4)
++            size += size_of_uleb128 (AT_unsigned (a));
++          else
++            size += csize;
++        }
+         break;
+       case dw_val_class_const_double:
+         size += 2 * HOST_BITS_PER_WIDE_INT / HOST_BITS_PER_CHAR;
+@@ -10917,8 +10925,16 @@
+       case 2:
+         return DW_FORM_data2;
+       case 4:
++        /* In DWARF3 DW_AT_data_member_location with
++           DW_FORM_data4 or DW_FORM_data8 is a loclistptr, not
++           constant, so we need to use DW_FORM_udata if we need
++           a large constant.  */
++        if (dwarf_version == 3 && a->dw_attr == DW_AT_data_member_location)
++          return DW_FORM_udata;
+         return DW_FORM_data4;
+       case 8:
++        if (dwarf_version == 3 && a->dw_attr == DW_AT_data_member_location)
++          return DW_FORM_udata;
+         return DW_FORM_data8;
+       default:
+         gcc_unreachable ();
+@@ -11225,8 +11241,15 @@
+         break;
+       case dw_val_class_unsigned_const:
+-        dw2_asm_output_data (constant_size (AT_unsigned (a)),
+-                             AT_unsigned (a), "%s", name);
++        {
++          int csize = constant_size (AT_unsigned (a));
++          if (dwarf_version == 3
++              && a->dw_attr == DW_AT_data_member_location
++              && csize >= 4)
++            dw2_asm_output_data_uleb128 (AT_unsigned (a), "%s", name);
++          else
++            dw2_asm_output_data (csize, AT_unsigned (a), "%s", name);
++        }
+         break;
+       case dw_val_class_const_double:
+@@ -17118,7 +17141,7 @@
                {
                  int count = tree_low_cst (TREE_OPERAND (index, 1), 0)
                              - tree_low_cst (TREE_OPERAND (index, 0), 0);
@@ -3863,11 +8409,62 @@ Index: gcc/dwarf2out.c
                    {
                      if (val)
                        memcpy (array + curpos, array + pos, fieldsize);
+Index: gcc/expr.c
+===================================================================
+--- gcc/expr.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/expr.c (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -6943,6 +6943,14 @@
+                               modifier == EXPAND_INITIALIZER
+                               ? EXPAND_INITIALIZER : EXPAND_CONST_ADDRESS);
++        if (TREE_ADDRESSABLE (exp)
++            && ! MEM_P (result)
++            && ! targetm.calls.allocate_stack_slots_for_args ())
++          {
++            error ("local frame unavailable (naked function?)");
++            return result;
++          }
++
+         /* If the DECL isn't in memory, then the DECL wasn't properly
+            marked TREE_ADDRESSABLE, which will be either a front-end
+            or a tree optimizer bug.  */
 Index: gcc/ada/ChangeLog
 ===================================================================
---- gcc/ada/ChangeLog  (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/ada/ChangeLog  (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -1,3 +1,13 @@
+--- gcc/ada/ChangeLog  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/ada/ChangeLog  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,45 @@
++2011-09-08  Iain Sandoe  <iains@gcc.gnu.org>
++
++      Backport from mainline (restore powerpc-darwin Ada bootstrap).
++      * gcc-interface/Makefile.in (darwin): Provide powerpc64 system 
++      implementation.
++      * system-darwin-ppc64.ads: New file.
++
++2011-09-06  Iain Sandoe  <iains@gcc.gnu.org>
++
++      Backport from mainline.
++      * gcc-interface/Makefile.in (darwin, SO_OPTS): Provide architecture
++      size switches to the link phase for shared libs.
++
++2011-07-23  Eric Botcazou  <ebotcazou@adacore.com>
++
++      Backport from mainline
++      2011-07-23  Arnaud Charlet  <charlet@adacore.com>
++
++      PR ada/49819
++      * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
++      g-trasym-dwarf.adb.
++
++2011-07-15  Eric Botcazou  <ebotcazou@adacore.com>
++
++      PR ada/48711
++      * g-socthi-mingw.adb (Fill): Fix formatting.
++
++2011-07-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
++
++      PR ada/46350
++      * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
++
 +2011-07-14  Florian Weimer  <fw@deneb.enyo.de>
 +
 +      PR ada/48711
@@ -3883,22 +8480,84 @@ Index: gcc/ada/ChangeLog
        * GCC 4.6.1 released.
 Index: gcc/ada/g-socthi-mingw.adb
 ===================================================================
---- gcc/ada/g-socthi-mingw.adb (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/ada/g-socthi-mingw.adb (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/ada/g-socthi-mingw.adb (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/ada/g-socthi-mingw.adb (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -277,7 +277,8 @@
        use type C.size_t;
  
        Fill  : constant Boolean :=
 -                (C.unsigned (Flags) and SOSC.MSG_WAITALL) /= 0;
-+      SOSC.MSG_WAITALL /= -1
-+      and then (C.unsigned (Flags) and SOSC.MSG_WAITALL) /= 0;
++        SOSC.MSG_WAITALL /= -1
++          and then (C.unsigned (Flags) and SOSC.MSG_WAITALL) /= 0;
        --  Is the MSG_WAITALL flag set? If so we need to fully fill all vectors
  
        Res   : C.int;
+Index: gcc/ada/gcc-interface/Makefile.in
+===================================================================
+--- gcc/ada/gcc-interface/Makefile.in  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/ada/gcc-interface/Makefile.in  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1792,7 +1792,6 @@
+   s-osinte.adb<s-osinte-posix.adb \
+   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
+   g-sercom.adb<g-sercom-linux.adb \
+-  g-trasym.adb<g-trasym-dwarf.adb \
+   $(ATOMICS_TARGET_PAIRS)
+   ifeq ($(strip $(filter-out xenomai,$(THREAD_KIND))),)
+@@ -2105,6 +2104,7 @@
+ endif
+ ifeq ($(strip $(filter-out darwin%,$(osys))),)
++  SO_OPTS = -Wl,-flat_namespace -shared-libgcc
+   ifeq ($(strip $(filter-out %86,$(arch))),)
+     LIBGNAT_TARGET_PAIRS = \
+     a-intnam.ads<a-intnam-darwin.ads \
+@@ -2124,6 +2124,7 @@
+     ifeq ($(strip $(MULTISUBDIR)),/x86_64)
+       LIBGNAT_TARGET_PAIRS += \
+       system.ads<system-darwin-x86_64.ads
++      SO_OPTS += -m64
+     else
+       LIBGNAT_TARGET_PAIRS += \
+       system.ads<system-darwin-x86.ads
+@@ -2150,6 +2151,7 @@
+     ifeq ($(strip $(MULTISUBDIR)),/i386)
+       LIBGNAT_TARGET_PAIRS += \
+       system.ads<system-darwin-x86.ads
++      SO_OPTS += -m32
+     else
+       LIBGNAT_TARGET_PAIRS += \
+       system.ads<system-darwin-x86_64.ads
+@@ -2171,8 +2173,15 @@
+     a-numaux.ads<a-numaux-darwin.ads \
+     a-numaux.adb<a-numaux-darwin.adb \
+     g-trasym.ads<g-trasym-unimplemented.ads \
+-    g-trasym.adb<g-trasym-unimplemented.adb \
+-    system.ads<system-darwin-ppc.ads
++    g-trasym.adb<g-trasym-unimplemented.adb
++    ifeq ($(strip $(MULTISUBDIR)),/ppc64)
++      LIBGNAT_TARGET_PAIRS += \
++        system.ads<system-darwin-ppc64.ads
++      SO_OPTS += -m64
++    else
++      LIBGNAT_TARGET_PAIRS += \
++        system.ads<system-darwin-ppc.ads
++    endif
+   endif
+   TOOLS_TARGET_PAIRS =  \
+@@ -2180,7 +2189,6 @@
+   EH_MECHANISM=-gcc
+   GNATLIB_SHARED = gnatlib-shared-darwin
+-  SO_OPTS = -Wl,-flat_namespace -shared-libgcc
+   RANLIB = ranlib -c
+   GMEM_LIB = gmemlib
+   LIBRARY_VERSION := $(LIB_VERSION)
 Index: gcc/ada/gcc-interface/Make-lang.in
 ===================================================================
---- gcc/ada/gcc-interface/Make-lang.in (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/ada/gcc-interface/Make-lang.in (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/ada/gcc-interface/Make-lang.in (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/ada/gcc-interface/Make-lang.in (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -481,11 +481,11 @@
  # Since the RTL should be built with the latest compiler, remove the
  #  stamp target in the parent directory whenever gnat1 is rebuilt
@@ -3913,10 +8572,178 @@ Index: gcc/ada/gcc-interface/Make-lang.in
  
  # use cross-gcc
  gnat-cross: force
+Index: gcc/ada/system-darwin-ppc64.ads
+===================================================================
+--- gcc/ada/system-darwin-ppc64.ads    (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ gcc/ada/system-darwin-ppc64.ads    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,149 @@
++------------------------------------------------------------------------------
++--                                                                          --
++--                        GNAT RUN-TIME COMPONENTS                          --
++--                                                                          --
++--                               S Y S T E M                                --
++--                                                                          --
++--                                 S p e c                                  --
++--                         (Darwin/PPC64 Version)                           --
++--                                                                          --
++--             Copyright (C) 2011, 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).
++
++   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.01;
++
++   --  Storage-related Declarations
++
++   type Address is private;
++   pragma Preelaborable_Initialization (Address);
++   Null_Address : constant Address;
++
++   Storage_Unit : constant := 8;
++   Word_Size    : constant := 64;
++   Memory_Size  : constant := 2 ** 64;
++
++   --  Address comparison
++
++   function "<"  (Left, Right : Address) return Boolean;
++   function "<=" (Left, Right : Address) return Boolean;
++   function ">"  (Left, Right : Address) return Boolean;
++   function ">=" (Left, Right : Address) return Boolean;
++   function "="  (Left, Right : Address) return Boolean;
++
++   pragma Import (Intrinsic, "<");
++   pragma Import (Intrinsic, "<=");
++   pragma Import (Intrinsic, ">");
++   pragma Import (Intrinsic, ">=");
++   pragma Import (Intrinsic, "=");
++
++   --  Other System-Dependent Declarations
++
++   type Bit_Order is (High_Order_First, Low_Order_First);
++   Default_Bit_Order : constant Bit_Order := High_Order_First;
++   pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
++
++   --  Priority-related Declarations (RM D.1)
++
++   --  The values defined here are copied from the ppc version.
++
++   Max_Interrupt_Priority : constant Positive := 63;
++   Max_Priority           : constant Positive := Max_Interrupt_Priority - 1;
++
++   subtype Any_Priority is Integer range 0 .. Max_Interrupt_Priority;
++   subtype Priority is Any_Priority range 0 .. Max_Priority;
++   subtype Interrupt_Priority is Any_Priority
++     range Priority'Last + 1 .. Max_Interrupt_Priority;
++
++   Default_Priority : constant Priority :=
++     (Priority'Last - Priority'First) / 2;
++
++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 := False;
++   Stack_Check_Limits        : constant Boolean := False;
++   Support_64_Bit_Divides    : constant Boolean := True;
++   Support_Aggregates        : constant Boolean := True;
++   Support_Composite_Assign  : constant Boolean := True;
++   Support_Composite_Compare : constant Boolean := True;
++   Support_Long_Shifts       : constant Boolean := True;
++   Always_Compatible_Rep     : constant Boolean := False;
++   Suppress_Standard_Library : constant Boolean := False;
++   Use_Ada_Main_Program_Name : constant Boolean := False;
++   ZCX_By_Default            : constant Boolean := True;
++   GCC_ZCX_Support           : constant Boolean := True;
++
++end System;
+Index: gcc/ada/s-taprop-hpux-dce.adb
+===================================================================
+--- gcc/ada/s-taprop-hpux-dce.adb      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/ada/s-taprop-hpux-dce.adb      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -888,8 +888,7 @@
+       if T.Common.State = Interrupt_Server_Blocked_On_Event_Flag then
+          System.Interrupt_Management.Operations.Interrupt_Self_Process
+-           (System.Interrupt_Management.Interrupt_ID
+-             (PIO.Get_Interrupt_ID (T)));
++           (PIO.Get_Interrupt_ID (T));
+       end if;
+    end Abort_Task;
 Index: gcc/sel-sched-ir.c
 ===================================================================
---- gcc/sel-sched-ir.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/sel-sched-ir.c (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/sel-sched-ir.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/sel-sched-ir.c (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -2904,6 +2904,7 @@
        if (CANT_MOVE (insn)
            || INSN_ASM_P (insn)
@@ -3927,8 +8754,8 @@ Index: gcc/sel-sched-ir.c
            /* TRAP_IF though have an INSN code is control_flow_insn_p ().  */
 Index: gcc/tree-eh.c
 ===================================================================
---- gcc/tree-eh.c      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/tree-eh.c      (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/tree-eh.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree-eh.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -2459,6 +2459,13 @@
        return true;
        return false;
@@ -3945,8 +8772,8 @@ Index: gcc/tree-eh.c
      }
 Index: gcc/fortran/intrinsic.c
 ===================================================================
---- gcc/fortran/intrinsic.c    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/fortran/intrinsic.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/fortran/intrinsic.c    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/intrinsic.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -2588,7 +2588,7 @@
  
    add_sym_2 ("signal", GFC_ISYM_SIGNAL, CLASS_IMPURE, ACTUAL_NO, BT_INTEGER,
@@ -3956,10 +8783,57 @@ Index: gcc/fortran/intrinsic.c
  
    make_generic ("signal", GFC_ISYM_SIGNAL, GFC_STD_GNU);
  
+Index: gcc/fortran/trans-expr.c
+===================================================================
+--- gcc/fortran/trans-expr.c   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/trans-expr.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -4309,10 +4309,8 @@
+   gfc_add_block_to_block (&block, &loop.pre);
+   gfc_add_block_to_block (&block, &loop.post);
+-  for (n = 0; n < cm->as->rank; n++)
+-    mpz_clear (lss->shape[n]);
+-  gfc_free (lss->shape);
+-
++  gcc_assert (lss->shape != NULL);
++  gfc_free_shape (&lss->shape, cm->as->rank);
+   gfc_cleanup_loop (&loop);
+   return gfc_finish_block (&block);
+@@ -6033,10 +6031,6 @@
+   rss = NULL;
+   if (lss != gfc_ss_terminator)
+     {
+-      /* Allow the scalarizer to workshare array assignments.  */
+-      if (ompws_flags & OMPWS_WORKSHARE_FLAG)
+-      ompws_flags |= OMPWS_SCALARIZER_WS;
+-
+       /* The assignment needs scalarization.  */
+       lss_section = lss;
+@@ -6092,6 +6086,10 @@
+         gfc_mark_ss_chain_used (loop.temp_ss, 3);
+       }
++      /* Allow the scalarizer to workshare array assignments.  */
++      if ((ompws_flags & OMPWS_WORKSHARE_FLAG) && loop.temp_ss == NULL)
++      ompws_flags |= OMPWS_SCALARIZER_WS;
++
+       /* Start the scalarized loop body.  */
+       gfc_start_scalarized_body (&loop, &body);
+     }
+@@ -6200,6 +6198,7 @@
+           && !gfc_expr_attr (expr1).codimension
+           && !gfc_is_coindexed (expr1))
+       {
++        ompws_flags &= ~OMPWS_SCALARIZER_WS;
+         tmp = gfc_alloc_allocatable_for_assignment (&loop, expr1, expr2);
+         if (tmp != NULL_TREE)
+           gfc_add_expr_to_block (&loop.code[expr1->rank - 1], tmp);
 Index: gcc/fortran/trans-array.c
 ===================================================================
---- gcc/fortran/trans-array.c  (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/fortran/trans-array.c  (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/fortran/trans-array.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/trans-array.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -4490,7 +4490,7 @@
    gfc_se se;
    HOST_WIDE_INT hi;
@@ -4030,6 +8904,15 @@ Index: gcc/fortran/trans-array.c
          }
        break;
  
+@@ -4694,7 +4722,7 @@
+   gcc_assert (GFC_ARRAY_TYPE_P (type));
+   onstack = TREE_CODE (type) != POINTER_TYPE;
+-  gfc_start_block (&init);
++  gfc_init_block (&init);
+   /* Evaluate character string length.  */
+   if (sym->ts.type == BT_CHARACTER
 @@ -6521,18 +6549,22 @@
        switch (purpose)
        {
@@ -4063,8 +8946,8 @@ Index: gcc/fortran/trans-array.c
            }
 Index: gcc/fortran/array.c
 ===================================================================
---- gcc/fortran/array.c        (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/fortran/array.c        (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/fortran/array.c        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/array.c        (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1309,6 +1309,7 @@
  
    mpz_t *offset;
@@ -4081,10 +8964,45 @@ Index: gcc/fortran/array.c
        current_expand.component = c->n.component;
        if (current_expand.expand_work_function (e) == FAILURE)
        return FAILURE;
+@@ -2266,9 +2268,7 @@
+     }
+ cleanup:
+-  for (d--; d >= 0; d--)
+-    mpz_clear (shape[d]);
+-
++  gfc_clear_shape (shape, d);
+   return FAILURE;
+ }
+Index: gcc/fortran/trans-openmp.c
+===================================================================
+--- gcc/fortran/trans-openmp.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/trans-openmp.c (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1640,9 +1640,6 @@
+   pushlevel (0);
+-  if (!code)
+-    return build_empty_stmt (input_location);
+-
+   gfc_start_block (&block);
+   pblock = &block;
+@@ -1779,6 +1776,9 @@
+   else
+     poplevel (0, 0, 0);
++  if (IS_EMPTY_STMT (stmt) && !clauses->nowait)
++    stmt = gfc_trans_omp_barrier ();
++
+   ompws_flags = 0;
+   return stmt;
+ }
 Index: gcc/fortran/constructor.c
 ===================================================================
---- gcc/fortran/constructor.c  (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/fortran/constructor.c  (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/fortran/constructor.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/constructor.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,5 +1,5 @@
  /* Array and structure constructors
 -   Copyright (C) 2009, 2010
@@ -4181,8 +9099,8 @@ Index: gcc/fortran/constructor.c
 +}
 Index: gcc/fortran/gfortran.h
 ===================================================================
---- gcc/fortran/gfortran.h     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/fortran/gfortran.h     (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/fortran/gfortran.h     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/gfortran.h     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -2264,6 +2264,8 @@
       gfc_component *component; /* Record the component being initialized.  */
    }
@@ -4192,7 +9110,16 @@ Index: gcc/fortran/gfortran.h
  }
  gfc_constructor;
  
-@@ -2725,7 +2727,7 @@
+@@ -2690,6 +2692,8 @@
+ gfc_expr *gfc_get_logical_expr (int, locus *, bool);
+ gfc_expr *gfc_get_iokind_expr (locus *, io_kind);
++void gfc_clear_shape (mpz_t *shape, int rank);
++void gfc_free_shape (mpz_t **shape, int rank);
+ void gfc_free_expr (gfc_expr *);
+ void gfc_replace_expr (gfc_expr *, gfc_expr *);
+ mpz_t *gfc_copy_shape (mpz_t *, int);
+@@ -2725,7 +2729,7 @@
  bool gfc_is_proc_ptr_comp (gfc_expr *, gfc_component **);
  
  bool gfc_is_coindexed (gfc_expr *);
@@ -4203,8 +9130,8 @@ Index: gcc/fortran/gfortran.h
  
 Index: gcc/fortran/constructor.h
 ===================================================================
---- gcc/fortran/constructor.h  (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/fortran/constructor.h  (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/fortran/constructor.h  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/constructor.h  (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,5 +1,5 @@
  /* Array and structure constructors
 -   Copyright (C) 2009, 2010
@@ -4226,9 +9153,102 @@ Index: gcc/fortran/constructor.h
  #endif /* GFC_CONSTRUCTOR_H */
 Index: gcc/fortran/ChangeLog
 ===================================================================
---- gcc/fortran/ChangeLog      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/fortran/ChangeLog      (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -1,3 +1,59 @@
+--- gcc/fortran/ChangeLog      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/ChangeLog      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,152 @@
++2011-08-26  Mikael Morin  <mikael.morin@gcc.gnu.org>
++
++      PR fortran/50050
++      * expr.c (gfc_free_shape): Do nothing if shape is NULL.
++      (free_expr0): Remove redundant NULL shape check.
++      * resolve.c (check_host_association): Ditto.
++      * trans-expr.c (gfc_trans_subarray_assign): Assert that shape is
++      non-NULL.
++      * trans-io.c (transfer_array_component): Ditto.
++
++2011-08-25  Tobias Burnus  <burnus@net-b.de>
++
++      PR fortran/50163
++      * check_init_expr (check_init_expr): Return when an error occured.
++
++2011-08-22  Mikael Morin  <mikael.morin@gcc.gnu.org>
++
++      PR fortran/50050
++      * gfortran.h (gfc_clear_shape, gfc_free_shape): New prototypes.
++      * expr.c (gfc_clear_shape, gfc_free_shape): New functions.
++      (free_expr0): Re-use gfc_free_shape.
++      * trans-expr.c (gfc_trans_subarray_assign): Ditto.
++      * trans-io.c (transfer_array_component): Ditto.
++      * resolve.c (check_host_association): Ditto.
++      (gfc_expr_to_initialize): Don't force the rank value and free the shape
++      after updating the expression. Recalculate shape and rank.
++      (resolve_where_shape): Re-use gfc_clear_shape.
++      * array.c (gfc_array_ref_shape): Ditto.
++
++2011-08-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
++
++      Backport from trunk
++      PR fortran/50130
++      * resolve.c (resolve_array_ref):  Don't calculate upper bound
++      if the stride is zero.
++
++2011-08-20  Mikael Morin  <mikael.morin@sfr.fr>
++
++      PR fortran/50129
++      * parse.c (parse_where): Undo changes after emitting an error.
++
++2011-08-19  Jakub Jelinek  <jakub@redhat.com>
++
++      PR fortran/49792
++      * trans-expr.c (gfc_trans_assignment_1): Set OMPWS_SCALARIZER_WS
++      bit in ompws_flags only if loop.temp_ss is NULL, and clear it if
++      lhs needs reallocation.
++      * trans-openmp.c (gfc_trans_omp_workshare): Don't return early if
++      code is NULL, emit a barrier if workshare emitted no code at all
++      and NOWAIT clause isn't present.
++
++2011-08-05  Janus Weil  <janus@gcc.gnu.org>
++
++      PR fortran/49112
++      * resolve.c (resolve_structure_cons): Don't do the full dt resolution,
++      only call 'resolve_fl_derived0'.
++      (resolve_typebound_procedures): Resolve typebound procedures of
++      parent type.
++      (resolve_fl_derived0): New function, which does a part of the work
++      for 'resolve_fl_derived'.
++      (resolve_fl_derived): Call 'resolve_fl_derived0' and do some additional
++      things.
++
++2011-08-03  Daniel Kraft  <d@domob.eu>
++
++      PR fortran/49885
++      * trans-array.c (gfc_trans_auto_array_allocation): Change
++      gfc_start_block to gfc_init_block to avoid spurious extra-scope.
++
++2011-07-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
++
++      Backport from trunk.
++      PR fortran/48876
++      * expr.c (gfc_simplify_expr):  If end of a string is less
++      than zero, set it to zero.
++
++2011-07-28  Tobias Burnus  <burnus@net-b.de>
++
++      PR fortran/45586
++      * trans-types.c (gfc_get_derived_type): Ensure that pointer
++      component types are marked as nonrestricted.
++
++2011-07-23  Janus Weil  <janus@gcc.gnu.org>
++
++      PR fortran/49708
++      * resolve.c (resolve_allocate_expr): Fix diagnostics for pointers.
++
++2011-07-18  Mikael Morin  <mikael.morin@sfr.fr>
++
++      PR fortran/49648
++      * resolve.c (resolve_symbol): Force resolution of function result's
++      array specification.
++
 +2011-07-11  Jakub Jelinek  <jakub@redhat.com>
 +
 +      PR fortran/49698
@@ -4290,8 +9310,8 @@ Index: gcc/fortran/ChangeLog
        * GCC 4.6.1 released.
 Index: gcc/fortran/data.c
 ===================================================================
---- gcc/fortran/data.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/fortran/data.c (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/fortran/data.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/data.c (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,5 +1,5 @@
  /* Supporting functions for resolving DATA statement.
 -   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@@ -4496,8 +9516,8 @@ Index: gcc/fortran/data.c
  void 
 Index: gcc/fortran/trans-stmt.c
 ===================================================================
---- gcc/fortran/trans-stmt.c   (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/fortran/trans-stmt.c   (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/fortran/trans-stmt.c   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/trans-stmt.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -3095,7 +3095,7 @@
    count = gfc_create_var (gfc_array_index_type, "count");
    gfc_add_modify (block, count, gfc_index_zero_node);
@@ -4509,9 +9529,83 @@ Index: gcc/fortran/trans-stmt.c
    if (lss == gfc_ss_terminator)
 Index: gcc/fortran/expr.c
 ===================================================================
---- gcc/fortran/expr.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/fortran/expr.c (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -4139,7 +4139,7 @@
+--- gcc/fortran/expr.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/expr.c (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -396,6 +396,28 @@
+ }
++void
++gfc_clear_shape (mpz_t *shape, int rank)
++{
++  int i;
++
++  for (i = 0; i < rank; i++)
++    mpz_clear (shape[i]);
++}
++
++
++void
++gfc_free_shape (mpz_t **shape, int rank)
++{
++  if (*shape == NULL)
++    return;
++
++  gfc_clear_shape (*shape, rank);
++  gfc_free (*shape);
++  *shape = NULL;
++}
++
++
+ /* Workhorse function for gfc_free_expr() that frees everything
+    beneath an expression node, but not the node itself.  This is
+    useful when we want to simplify a node and replace it with
+@@ -404,8 +426,6 @@
+ static void
+ free_expr0 (gfc_expr *e)
+ {
+-  int n;
+-
+   switch (e->expr_type)
+     {
+     case EXPR_CONSTANT:
+@@ -474,14 +494,8 @@
+     }
+   /* Free a shape array.  */
+-  if (e->shape != NULL)
+-    {
+-      for (n = 0; n < e->rank; n++)
+-      mpz_clear (e->shape[n]);
++  gfc_free_shape (&e->shape, e->rank);
+-      gfc_free (e->shape);
+-    }
+-
+   gfc_free_ref_list (e->ref);
+   memset (e, '\0', sizeof (gfc_expr));
+@@ -1840,6 +1854,9 @@
+         if (p->ref && p->ref->u.ss.end)
+           gfc_extract_int (p->ref->u.ss.end, &end);
++        if (end < 0)
++          end = 0;
++
+         s = gfc_get_wide_string (end - start + 2);
+         memcpy (s, p->value.character.string + start,
+                 (end - start) * sizeof (gfc_char_t));
+@@ -2467,6 +2484,9 @@
+           m = MATCH_ERROR;
+         }
++      if (m == MATCH_ERROR)
++        return FAILURE;
++
+       /* Try to scalarize an elemental intrinsic function that has an
+          array argument.  */
+       isym = gfc_find_function (e->symtree->n.sym->name);
+@@ -4139,7 +4159,7 @@
  }
  
  
@@ -4520,7 +9614,7 @@ Index: gcc/fortran/expr.c
  gfc_get_corank (gfc_expr *e)
  {
    int corank;
-@@ -4389,8 +4389,8 @@
+@@ -4389,8 +4409,8 @@
        sym = e->value.function.esym ? e->value.function.esym : e->symtree->n.sym;
      }
  
@@ -4531,7 +9625,7 @@ Index: gcc/fortran/expr.c
      {
        if (!(gfc_option.allow_std & GFC_STD_F2008))
        {
-@@ -4427,7 +4427,6 @@
+@@ -4427,7 +4447,6 @@
  
    /* Find out whether the expr is a pointer; this also means following
       component references to the last one.  */
@@ -4541,8 +9635,8 @@ Index: gcc/fortran/expr.c
      {
 Index: gcc/fortran/data.h
 ===================================================================
---- gcc/fortran/data.h (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/fortran/data.h (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/fortran/data.h (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/data.h (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,5 +1,5 @@
  /* Header for functions resolving DATA statements.
 -   Copyright (C) 2007, 2008, 2010 Free Software Foundation, Inc.
@@ -4558,10 +9652,24 @@ Index: gcc/fortran/data.h
 -gfc_try gfc_assign_data_value_range (gfc_expr *, gfc_expr *, mpz_t, mpz_t);
 +gfc_try gfc_assign_data_value (gfc_expr *, gfc_expr *, mpz_t, mpz_t *);
  void gfc_advance_section (mpz_t *, gfc_array_ref *, mpz_t *);
+Index: gcc/fortran/trans-types.c
+===================================================================
+--- gcc/fortran/trans-types.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/trans-types.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -2329,6 +2329,9 @@
+              && !c->attr.proc_pointer)
+       field_type = build_pointer_type (field_type);
++      if (c->attr.pointer)
++      field_type = gfc_nonrestricted_type (field_type);
++
+       /* vtype fields can point to different types to the base type.  */
+       if (c->ts.type == BT_DERIVED && c->ts.u.derived->attr.vtype)
+         field_type = build_pointer_type_for_mode (TREE_TYPE (field_type),
 Index: gcc/fortran/gfortranspec.c
 ===================================================================
---- gcc/fortran/gfortranspec.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/fortran/gfortranspec.c (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/fortran/gfortranspec.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/gfortranspec.c (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -255,6 +255,9 @@
  
    for (i = 1; i < argc; ++i)
@@ -4574,9 +9682,221 @@ Index: gcc/fortran/gfortranspec.c
        case OPT_SPECIAL_input_file:
 Index: gcc/fortran/resolve.c
 ===================================================================
---- gcc/fortran/resolve.c      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/fortran/resolve.c      (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -12612,8 +12612,8 @@
+--- gcc/fortran/resolve.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/resolve.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -950,6 +950,9 @@
+ }
++static gfc_try resolve_fl_derived0 (gfc_symbol *sym);
++
++
+ /* Resolve all of the elements of a structure constructor and make sure that
+    the types are correct. The 'init' flag indicates that the given
+    constructor is an initializer.  */
+@@ -965,7 +968,7 @@
+   t = SUCCESS;
+   if (expr->ts.type == BT_DERIVED)
+-    resolve_symbol (expr->ts.u.derived);
++    resolve_fl_derived0 (expr->ts.u.derived);
+   cons = gfc_constructor_first (expr->value.constructor);
+   /* A constructor may have references if it is the result of substituting a
+@@ -4552,10 +4555,11 @@
+       /* Fill in the upper bound, which may be lower than the
+        specified one for something like a(2:10:5), which is
+        identical to a(2:7:5).  Only relevant for strides not equal
+-       to one.  */
++       to one.  Don't try a division by zero.  */
+       if (ar->dimen_type[i] == DIMEN_RANGE
+         && ar->stride[i] != NULL && ar->stride[i]->expr_type == EXPR_CONSTANT
+-        && mpz_cmp_si (ar->stride[i]->value.integer, 1L) != 0)
++        && mpz_cmp_si (ar->stride[i]->value.integer, 1L) != 0
++        && mpz_cmp_si (ar->stride[i]->value.integer, 0L) != 0)
+       {
+         mpz_t size, end;
+@@ -5180,14 +5184,8 @@
+             && sym->attr.contained)
+       {
+         /* Clear the shape, since it might not be valid.  */
+-        if (e->shape != NULL)
+-          {
+-            for (n = 0; n < e->rank; n++)
+-              mpz_clear (e->shape[n]);
++        gfc_free_shape (&e->shape, e->rank);
+-            gfc_free (e->shape);
+-          }
+-
+         /* Give the expression the right symtree!  */
+         gfc_find_sym_tree (e->symtree->name, NULL, 1, &st);
+         gcc_assert (st != NULL);
+@@ -6530,10 +6528,13 @@
+       for (i = 0; i < ref->u.ar.dimen; i++)
+         ref->u.ar.start[i] = ref->u.ar.end[i] = ref->u.ar.stride[i] = NULL;
+-      result->rank = ref->u.ar.dimen;
+       break;
+       }
++  gfc_free_shape (&result->shape, result->rank);
++
++  /* Recalculate rank, shape, etc.  */
++  gfc_resolve_expr (result);
+   return result;
+ }
+@@ -6831,7 +6832,7 @@
+       gfc_find_derived_vtab (ts.u.derived);
+     }
+-  if (pointer || (dimension == 0 && codimension == 0))
++  if (dimension == 0 && codimension == 0)
+     goto success;
+   /* Make sure the last reference node is an array specifiction.  */
+@@ -8321,11 +8322,8 @@
+   result = SUCCESS;
+ over:
+-  for (i--; i >= 0; i--)
+-    {
+-      mpz_clear (shape[i]);
+-      mpz_clear (shape2[i]);
+-    }
++  gfc_clear_shape (shape, i);
++  gfc_clear_shape (shape2, i);
+   return result;
+ }
+@@ -11242,9 +11240,14 @@
+ resolve_typebound_procedures (gfc_symbol* derived)
+ {
+   int op;
++  gfc_symbol* super_type;
+   if (!derived->f2k_derived || !derived->f2k_derived->tb_sym_root)
+     return SUCCESS;
++  
++  super_type = gfc_get_derived_super_type (derived);
++  if (super_type)
++    resolve_typebound_procedures (super_type);
+   resolve_bindings_derived = derived;
+   resolve_bindings_result = SUCCESS;
+@@ -11356,28 +11359,17 @@
+ }
+-/* Resolve the components of a derived type.  */
++/* Resolve the components of a derived type. This does not have to wait until
++   resolution stage, but can be done as soon as the dt declaration has been
++   parsed.  */
+ static gfc_try
+-resolve_fl_derived (gfc_symbol *sym)
++resolve_fl_derived0 (gfc_symbol *sym)
+ {
+   gfc_symbol* super_type;
+   gfc_component *c;
+   super_type = gfc_get_derived_super_type (sym);
+-  
+-  if (sym->attr.is_class && sym->ts.u.derived == NULL)
+-    {
+-      /* Fix up incomplete CLASS symbols.  */
+-      gfc_component *data = gfc_find_component (sym, "_data", true, true);
+-      gfc_component *vptr = gfc_find_component (sym, "_vptr", true, true);
+-      if (vptr->ts.u.derived == NULL)
+-      {
+-        gfc_symbol *vtab = gfc_find_derived_vtab (data->ts.u.derived);
+-        gcc_assert (vtab);
+-        vptr->ts.u.derived = vtab->ts.u.derived;
+-      }
+-    }
+   /* F2008, C432. */
+   if (super_type && sym->attr.coarray_comp && !super_type->attr.coarray_comp)
+@@ -11389,7 +11381,7 @@
+     }
+   /* Ensure the extended type gets resolved before we do.  */
+-  if (super_type && resolve_fl_derived (super_type) == FAILURE)
++  if (super_type && resolve_fl_derived0 (super_type) == FAILURE)
+     return FAILURE;
+   /* An ABSTRACT type must be extensible.  */
+@@ -11742,14 +11734,6 @@
+       return FAILURE;
+     }
+-  /* Resolve the type-bound procedures.  */
+-  if (resolve_typebound_procedures (sym) == FAILURE)
+-    return FAILURE;
+-
+-  /* Resolve the finalizer procedures.  */
+-  if (gfc_resolve_finalizers (sym) == FAILURE)
+-    return FAILURE;
+-
+   /* If this is a non-ABSTRACT type extending an ABSTRACT one, ensure that
+      all DEFERRED bindings are overridden.  */
+   if (super_type && super_type->attr.abstract && !sym->attr.abstract
+@@ -11764,7 +11748,43 @@
+ }
++/* The following procedure does the full resolution of a derived type,
++   including resolution of all type-bound procedures (if present). In contrast
++   to 'resolve_fl_derived0' this can only be done after the module has been
++   parsed completely.  */
++
+ static gfc_try
++resolve_fl_derived (gfc_symbol *sym)
++{
++  if (sym->attr.is_class && sym->ts.u.derived == NULL)
++    {
++      /* Fix up incomplete CLASS symbols.  */
++      gfc_component *data = gfc_find_component (sym, "_data", true, true);
++      gfc_component *vptr = gfc_find_component (sym, "_vptr", true, true);
++      if (vptr->ts.u.derived == NULL)
++      {
++        gfc_symbol *vtab = gfc_find_derived_vtab (data->ts.u.derived);
++        gcc_assert (vtab);
++        vptr->ts.u.derived = vtab->ts.u.derived;
++      }
++    }
++  
++  if (resolve_fl_derived0 (sym) == FAILURE)
++    return FAILURE;
++  
++  /* Resolve the type-bound procedures.  */
++  if (resolve_typebound_procedures (sym) == FAILURE)
++    return FAILURE;
++
++  /* Resolve the finalizer procedures.  */
++  if (gfc_resolve_finalizers (sym) == FAILURE)
++    return FAILURE;
++  
++  return SUCCESS;
++}
++
++
++static gfc_try
+ resolve_fl_namelist (gfc_symbol *sym)
+ {
+   gfc_namelist *nl;
+@@ -12076,6 +12096,8 @@
+           }
+       }
+     }
++  else if (mp_flag && sym->attr.flavor == FL_PROCEDURE && sym->attr.function)
++    gfc_resolve_array_spec (sym->result->as, false);
+   /* Assumed size arrays and assumed shape arrays must be dummy
+      arguments.  Array-spec's of implied-shape should have been resolved to
+@@ -12612,8 +12634,8 @@
              mpz_set_ui (size, 0);
            }
  
@@ -4587,7 +9907,7 @@ Index: gcc/fortran/resolve.c
  
          mpz_add (offset, offset, range);
          mpz_clear (range);
-@@ -12628,7 +12628,8 @@
+@@ -12628,7 +12650,8 @@
          mpz_sub_ui (values.left, values.left, 1);
          mpz_sub_ui (size, size, 1);
  
@@ -4597,18 +9917,90 @@ Index: gcc/fortran/resolve.c
          if (t == FAILURE)
            break;
  
+Index: gcc/fortran/trans-io.c
+===================================================================
+--- gcc/fortran/trans-io.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/trans-io.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -2005,10 +2005,8 @@
+   gfc_add_block_to_block (&block, &loop.pre);
+   gfc_add_block_to_block (&block, &loop.post);
+-  for (n = 0; n < cm->as->rank; n++)
+-    mpz_clear (ss->shape[n]);
+-  gfc_free (ss->shape);
+-
++  gcc_assert (ss->shape != NULL);
++  gfc_free_shape (&ss->shape, cm->as->rank);
+   gfc_cleanup_loop (&loop);
+   return gfc_finish_block (&block);
+Index: gcc/fortran/parse.c
+===================================================================
+--- gcc/fortran/parse.c        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/fortran/parse.c        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -2667,6 +2667,7 @@
+           {
+             gfc_error ("ELSEWHERE statement at %C follows previous "
+                        "unmasked ELSEWHERE");
++            reject_statement ();
+             break;
+           }
 Index: gcc/BASE-VER
 ===================================================================
---- gcc/BASE-VER       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/BASE-VER       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/BASE-VER       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/BASE-VER       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1 +1 @@
 -4.6.1
 +4.6.2
+Index: gcc/tree-vect-data-refs.c
+===================================================================
+--- gcc/tree-vect-data-refs.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree-vect-data-refs.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1493,6 +1493,9 @@
+       stmt = DR_STMT (dr);
+       stmt_info = vinfo_for_stmt (stmt);
++      if (!STMT_VINFO_RELEVANT (stmt_info))
++      continue;
++
+       /* For interleaving, only the alignment of the first access
+          matters.  */
+       if (STMT_VINFO_STRIDED_ACCESS (stmt_info)
+Index: gcc/ggc.h
+===================================================================
+--- gcc/ggc.h  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/ggc.h  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -266,8 +266,9 @@
+ extern struct alloc_zone tree_id_zone;
+ #define ggc_alloc_rtvec_sized(NELT)                                     \
+-    (ggc_alloc_zone_vec_rtvec_def (sizeof (rtx),                        \
+-                                   sizeof (struct rtvec_def) + ((NELT) - 1), \
++    (ggc_alloc_zone_vec_rtvec_def (1,                                   \
++                                   sizeof (struct rtvec_def)            \
++                                 + ((NELT) - 1) * sizeof (rtx),       \
+                                    &rtl_zone))
+ #if defined (GGC_ZONE) && !defined (GENERATOR_FILE)
 Index: gcc/c-typeck.c
 ===================================================================
---- gcc/c-typeck.c     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/c-typeck.c     (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -10033,6 +10033,7 @@
+--- gcc/c-typeck.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/c-typeck.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -9095,7 +9095,11 @@
+   exprv = expr;
+   while (TREE_CODE (exprv) == COMPOUND_EXPR)
+     exprv = TREE_OPERAND (exprv, 1);
+-  if (DECL_P (exprv) || handled_component_p (exprv))
++  while (CONVERT_EXPR_P (exprv))
++    exprv = TREE_OPERAND (exprv, 0);
++  if (DECL_P (exprv)
++      || handled_component_p (exprv)
++      || TREE_CODE (exprv) == ADDR_EXPR)
+     mark_exp_read (exprv);
+   /* If the expression is not of a type to which we cannot assign a line
+@@ -10033,6 +10037,7 @@
                {
                case MULT_EXPR:
                case TRUNC_DIV_EXPR:
@@ -4616,7 +10008,7 @@ Index: gcc/c-typeck.c
                  imag = build2 (resultcode, real_type, imag, op1);
                  /* Fall through.  */
                case PLUS_EXPR:
-@@ -10053,6 +10054,7 @@
+@@ -10053,6 +10058,7 @@
              switch (code)
                {
                case MULT_EXPR:
@@ -4626,8 +10018,8 @@ Index: gcc/c-typeck.c
                case PLUS_EXPR:
 Index: gcc/gimplify.c
 ===================================================================
---- gcc/gimplify.c     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/gimplify.c     (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/gimplify.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/gimplify.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -2008,8 +2008,14 @@
                  ret = MIN (ret, tret);
                }
@@ -4678,8 +10070,8 @@ Index: gcc/gimplify.c
  
 Index: gcc/tree-cfgcleanup.c
 ===================================================================
---- gcc/tree-cfgcleanup.c      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/tree-cfgcleanup.c      (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/tree-cfgcleanup.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree-cfgcleanup.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -600,7 +600,7 @@
           BB is present in the cfg.  */
        if (bb == NULL
@@ -4689,10 +10081,28 @@ Index: gcc/tree-cfgcleanup.c
            || BASIC_BLOCK (bb->index) != bb
            || !gimple_call_noreturn_p (stmt))
          continue;
+Index: gcc/tree-ssa-pre.c
+===================================================================
+--- gcc/tree-ssa-pre.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree-ssa-pre.c (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -2874,8 +2874,11 @@
+         return NULL_TREE;
+       if (genop2)
+         {
+-          /* Drop zero minimum index.  */
+-          if (tree_int_cst_equal (genop2, integer_zero_node))
++          tree domain_type = TYPE_DOMAIN (TREE_TYPE (genop0));
++          /* Drop zero minimum index if redundant.  */
++          if (integer_zerop (genop2)
++              && (!domain_type
++                  || integer_zerop (TYPE_MIN_VALUE (domain_type))))
+             genop2 = NULL_TREE;
+           else
+             {
 Index: gcc/simplify-rtx.c
 ===================================================================
---- gcc/simplify-rtx.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/simplify-rtx.c (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/simplify-rtx.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/simplify-rtx.c (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,7 +1,7 @@
  /* RTL simplification functions for GNU compiler.
     Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
@@ -4757,9 +10167,9 @@ Index: gcc/simplify-rtx.c
        }
 Index: gcc/tree-sra.c
 ===================================================================
---- gcc/tree-sra.c     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/tree-sra.c     (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -1020,6 +1020,27 @@
+--- gcc/tree-sra.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree-sra.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1020,6 +1020,31 @@
    return false;
  }
  
@@ -4771,9 +10181,13 @@ Index: gcc/tree-sra.c
 +  enum machine_mode mode = TYPE_MODE (TREE_TYPE (exp));
 +  unsigned int align;
 +
++  if (TREE_CODE (exp) == VIEW_CONVERT_EXPR)
++    exp = TREE_OPERAND (exp, 0);
++
 +  if (TREE_CODE (exp) == SSA_NAME
 +      || TREE_CODE (exp) == MEM_REF
 +      || mode == BLKmode
++      || is_gimple_min_invariant (exp)
 +      || !STRICT_ALIGNMENT)
 +    return false;
 +
@@ -4787,7 +10201,7 @@ Index: gcc/tree-sra.c
  /* Scan expressions occuring in STMT, create access structures for all accesses
     to candidates for scalarization and remove those candidates which occur in
     statements or expressions that prevent them from being split apart.  Return
-@@ -1044,7 +1065,10 @@
+@@ -1044,7 +1069,10 @@
    lacc = build_access_from_expr_1 (lhs, stmt, true);
  
    if (lacc)
@@ -4799,7 +10213,7 @@ Index: gcc/tree-sra.c
  
    if (racc)
      {
-@@ -1052,6 +1076,7 @@
+@@ -1052,6 +1080,7 @@
        if (should_scalarize_away_bitmap && !gimple_has_volatile_ops (stmt)
          && !is_gimple_reg_type (racc->type))
        bitmap_set_bit (should_scalarize_away_bitmap, DECL_UID (racc->base));
@@ -4807,7 +10221,35 @@ Index: gcc/tree-sra.c
      }
  
    if (lacc && racc
-@@ -2813,7 +2838,8 @@
+@@ -1963,13 +1992,25 @@
+         || ((root->grp_scalar_read || root->grp_assignment_read)
+             && (root->grp_scalar_write || root->grp_assignment_write))))
+     {
++      bool new_integer_type;
++      if (TREE_CODE (root->type) == ENUMERAL_TYPE)
++      {
++        tree rt = root->type;
++        root->type = build_nonstandard_integer_type (TYPE_PRECISION (rt),
++                                                     TYPE_UNSIGNED (rt));
++        new_integer_type = true;
++      }
++      else
++      new_integer_type = false;
++
+       if (dump_file && (dump_flags & TDF_DETAILS))
+       {
+         fprintf (dump_file, "Marking ");
+         print_generic_expr (dump_file, root->base, 0);
+-        fprintf (dump_file, " offset: %u, size: %u: ",
++        fprintf (dump_file, " offset: %u, size: %u ",
+                  (unsigned) root->offset, (unsigned) root->size);
+-        fprintf (dump_file, " to be replaced.\n");
++        fprintf (dump_file, " to be replaced%s.\n",
++                 new_integer_type ? " with an integer": "");
+       }
+       root->grp_to_be_replaced = 1;
+@@ -2813,7 +2854,8 @@
       there to do the copying and then load the scalar replacements of the LHS.
       This is what the first branch does.  */
  
@@ -4817,10 +10259,63 @@ Index: gcc/tree-sra.c
        || contains_vce_or_bfcref_p (rhs)
        || contains_vce_or_bfcref_p (lhs))
      {
+@@ -3181,7 +3223,8 @@
+             && TREE_OPERAND (lhs, 0) == name
+             && integer_zerop (TREE_OPERAND (lhs, 1))
+             && types_compatible_p (TREE_TYPE (lhs),
+-                                   TREE_TYPE (TREE_TYPE (name))))
++                                   TREE_TYPE (TREE_TYPE (name)))
++            && !TREE_THIS_VOLATILE (lhs))
+           uses_ok++;
+       }
+       if (gimple_assign_single_p (stmt))
+@@ -3193,7 +3236,8 @@
+             && TREE_OPERAND (rhs, 0) == name
+             && integer_zerop (TREE_OPERAND (rhs, 1))
+             && types_compatible_p (TREE_TYPE (rhs),
+-                                   TREE_TYPE (TREE_TYPE (name))))
++                                   TREE_TYPE (TREE_TYPE (name)))
++            && !TREE_THIS_VOLATILE (rhs))
+           uses_ok++;
+       }
+       else if (is_gimple_call (stmt))
+@@ -3208,7 +3252,8 @@
+                 && TREE_OPERAND (arg, 0) == name
+                 && integer_zerop (TREE_OPERAND (arg, 1))
+                 && types_compatible_p (TREE_TYPE (arg),
+-                                       TREE_TYPE (TREE_TYPE (name))))
++                                       TREE_TYPE (TREE_TYPE (name)))
++                && !TREE_THIS_VOLATILE (arg))
+               uses_ok++;
+           }
+       }
+@@ -3559,6 +3604,9 @@
+         || gimple_code (access->stmt) == GIMPLE_ASM))
+     return true;
++  if (tree_non_mode_aligned_mem_p (access->expr))
++    return true;
++
+   return false;
+ }
+Index: gcc/tree-mudflap.c
+===================================================================
+--- gcc/tree-mudflap.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree-mudflap.c (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -869,7 +869,7 @@
+       break;
+     case MEM_REF:
+-      addr = build2 (POINTER_PLUS_EXPR, TREE_TYPE (TREE_OPERAND (t, 1)),
++      addr = fold_build2_loc (location, POINTER_PLUS_EXPR, TREE_TYPE (TREE_OPERAND (t, 0)),
+                    TREE_OPERAND (t, 0),
+                    fold_convert (sizetype, TREE_OPERAND (t, 1)));
+       base = addr;
 Index: gcc/po/es.po
 ===================================================================
---- gcc/po/es.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/es.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/es.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/es.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,17 +1,17 @@
 -# Mensajes en español para gcc-4.6.0.
 +# Mensajes en español para gcc-4.6.1.
@@ -26587,8 +32082,8 @@ Index: gcc/po/es.po
  
 Index: gcc/po/fr.po
 ===================================================================
---- gcc/po/fr.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/fr.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/fr.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/fr.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -121,7 +121,7 @@
  msgstr ""
  "Project-Id-Version: GNU gcc 3.4.3\n"
@@ -66016,8 +71511,8 @@ Index: gcc/po/fr.po
  
 Index: gcc/po/nl.po
 ===================================================================
---- gcc/po/nl.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/nl.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/nl.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/nl.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -7,7 +7,7 @@
  msgstr ""
  "Project-Id-Version: gcc 4.3.0\n"
@@ -89824,9 +95319,25 @@ Index: gcc/po/nl.po
  
 Index: gcc/po/ChangeLog
 ===================================================================
---- gcc/po/ChangeLog   (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/ChangeLog   (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -1,3 +1,21 @@
+--- gcc/po/ChangeLog   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/ChangeLog   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,37 @@
++2011-09-02  Joseph Myers  <joseph@codesourcery.com>
++
++      * ja.po: Update.
++
++2011-08-28  Joseph Myers  <joseph@codesourcery.com>
++
++      * ja.po: Update.
++
++2011-07-31  Joseph Myers  <joseph@codesourcery.com>
++
++      * de.po: Update.
++
++2011-07-21  Joseph Myers  <joseph@codesourcery.com>
++
++      * de.po, sv.po: Update.
++
 +2011-07-08  Joseph Myers  <joseph@codesourcery.com>
 +
 +      * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
@@ -89850,8 +95361,8 @@ Index: gcc/po/ChangeLog
        * GCC 4.6.1 released.
 Index: gcc/po/vi.po
 ===================================================================
---- gcc/po/vi.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/vi.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/vi.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/vi.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -7,7 +7,7 @@
  msgstr ""
  "Project-Id-Version: gcc 4.5.0\n"
@@ -113218,8 +118729,8 @@ Index: gcc/po/vi.po
  
 Index: gcc/po/da.po
 ===================================================================
---- gcc/po/da.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/da.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/da.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/da.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -128,7 +128,7 @@
  msgstr ""
  "Project-Id-Version: gcc 3.4-b20040206\n"
@@ -149530,8 +155041,8 @@ Index: gcc/po/da.po
  
 Index: gcc/po/sr.po
 ===================================================================
---- gcc/po/sr.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/sr.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/sr.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/sr.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -6,7 +6,7 @@
  msgstr ""
  "Project-Id-Version: gcc 4.2.1\n"
@@ -183156,8 +188667,8 @@ Index: gcc/po/sr.po
  
 Index: gcc/po/tr.po
 ===================================================================
---- gcc/po/tr.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/tr.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/tr.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/tr.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -6,7 +6,7 @@
  msgstr ""
  "Project-Id-Version: gcc 4.1.1\n"
@@ -217134,8 +222645,8 @@ Index: gcc/po/tr.po
  
 Index: gcc/po/be.po
 ===================================================================
---- gcc/po/be.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/be.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/be.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/be.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -6,7 +6,7 @@
  msgstr ""
  "Project-Id-Version: gcc 3.1\n"
@@ -242768,8 +248279,8 @@ Index: gcc/po/be.po
  
 Index: gcc/po/ru.po
 ===================================================================
---- gcc/po/ru.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/ru.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/ru.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/ru.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -10,7 +10,7 @@
  msgstr ""
  "Project-Id-Version: gcc 4.6.0\n"
@@ -264675,17 +270186,22 @@ Index: gcc/po/ru.po
  #~ "Please submit a full bug report.\n"
 Index: gcc/po/sv.po
 ===================================================================
---- gcc/po/sv.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/sv.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -10,7 +10,7 @@
+--- gcc/po/sv.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/sv.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -8,10 +8,10 @@
+ #
+ msgid ""
  msgstr ""
- "Project-Id-Version: gcc 4.6.0\n"
+-"Project-Id-Version: gcc 4.6.0\n"
++"Project-Id-Version: gcc 4.6.1\n"
  "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
 -"POT-Creation-Date: 2011-03-24 16:45+0000\n"
+-"PO-Revision-Date: 2011-04-13 22:28+0200\n"
 +"POT-Creation-Date: 2011-06-21 10:27+0000\n"
- "PO-Revision-Date: 2011-04-13 22:28+0200\n"
++"PO-Revision-Date: 2011-07-15 17:29+0200\n"
  "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
  "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
+ "Language: sv\n"
 @@ -20,8 +20,8 @@
  "Content-Transfer-Encoding: 8-bit\n"
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -264965,7 +270481,7 @@ Index: gcc/po/sv.po
 -#: params.def:708
 +#: params.def:704
 +msgid "Maximum number of active local stores in RTL dead store elimination"
-+msgstr ""
++msgstr "Maximalt antal aktiva lokala lagringar i RTL vid eliminering av döda lagringar"
 +
 +#: params.def:714
  msgid "The number of insns executed before prefetch is completed"
@@ -266337,7 +271853,7 @@ Index: gcc/po/sv.po
 -#: fortran/lang.opt:247
 +#: fortran/lang.opt:243
 +msgid "Warn about real-literal-constants with 'q' exponent-letter"
-+msgstr ""
++msgstr "Varna för reella literala konstanter med exponentbokstav \"q\""
 +
 +#: fortran/lang.opt:251
  msgid "Warn about \"suspicious\" constructs"
@@ -266735,14 +272251,12 @@ Index: gcc/po/sv.po
  msgid "No longer supported"
  msgstr "Stödjs inte längre"
  
-@@ -9322,396 +9330,404 @@
+@@ -9322,396 +9330,400 @@
  msgstr "-fconst-string-class=<namn>\tAnvänd klassen <namn> för konstanta strängar"
  
  #: c-family/c.opt:724
-+#, fuzzy
-+#| msgid "-ftemplate-depth=<number>\tSpecify maximum template instantiation depth"
 +msgid "-fconstexpr-depth=<number>\tSpecify maximum constexpr recursion depth"
-+msgstr "-ftemplate-depth=<antal>\tAnge maximalt instansieringsdjup för mallar"
++msgstr "-fconstexpr-depth=<antal>\tAnge maximalt rekursionsdjup för konstantuttryck"
 +
 +#: c-family/c.opt:728
  msgid "-fno-deduce-init-list\tdisable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list"
@@ -267156,10 +272670,8 @@ Index: gcc/po/sv.po
 -msgid "Conform to the ISO 1998 C++ standard"
 -msgstr "Följ standarden ISO 1998 C++"
 +#: c-family/c.opt:1140 c-family/c.opt:1144
-+#, fuzzy
-+#| msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
 +msgid "Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum"
-+msgstr "Följ standarden ISO 1998 C++ med GNU-utökningar"
++msgstr "Följ standarden ISO 1998 C++ reviderad av 2003 års tekniska rättelser"
  
 -#: c-family/c.opt:1140
 +#: c-family/c.opt:1148
@@ -267241,7 +272753,7 @@ Index: gcc/po/sv.po
  msgid "Do not predefine system-specific and GCC-specific macros"
  msgstr "Fördefiniera inte systemspecifika och GCC-specifika makron"
  
-@@ -9771,1429 +9787,1429 @@
+@@ -9771,1429 +9783,1429 @@
  msgid "Optimize for speed disregarding exact standards compliance"
  msgstr "Optimera för hastighet och bortse från exakt efterlevnad av standarder"
  
@@ -269025,7 +274537,7 @@ Index: gcc/po/sv.po
  msgid "Create a position independent executable"
  msgstr "Skapa ett positionsoberoende körbart program"
  
-@@ -11662,7 +11678,7 @@
+@@ -11662,7 +11674,7 @@
  
  #. All valid uses of __builtin_va_arg_pack () are removed during
  #. inlining.
@@ -269034,7 +274546,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
  msgstr "%Kogiltigt användning av %<__builtin_va_arg_pack ()%>"
-@@ -11756,8 +11772,8 @@
+@@ -11756,8 +11768,8 @@
  #. an unprototyped function, it is compile-time undefined;
  #. making it a constraint in that case was rejected in
  #. DR#252.
@@ -269045,7 +274557,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "void value not ignored as it ought to be"
  msgstr "värdet av typen void ignoreras inte vilket bör göras"
-@@ -12073,7 +12089,7 @@
+@@ -12073,7 +12085,7 @@
  msgid "each undeclared identifier is reported only once for each function it appears in"
  msgstr "varje odeklarerad identifierare rapporteras bara en gång för varje funktion den förekommer i"
  
@@ -269054,7 +274566,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "label %qE referenced outside of any function"
  msgstr "etikett %qE är refererad till utanför någon funktion"
-@@ -12108,7 +12124,7 @@
+@@ -12108,7 +12120,7 @@
  msgid "duplicate label declaration %qE"
  msgstr "dubbel deklaration av etikett %qE"
  
@@ -269063,7 +274575,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "duplicate label %qD"
  msgstr "dubblerad etikett %qD"
-@@ -12138,7 +12154,7 @@
+@@ -12138,7 +12150,7 @@
  msgid "%qE defined as wrong kind of tag"
  msgstr "%qE definierad som fel sorts tagg"
  
@@ -269072,7 +274584,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "invalid use of %<restrict%>"
  msgstr "ogiltigt användning av %<restrict%>"
-@@ -12241,7 +12257,7 @@
+@@ -12241,7 +12253,7 @@
  #. of VLAs themselves count as VLAs, it does not make
  #. sense to permit them to be initialized given that
  #. ordinary VLAs may not be initialized.
@@ -269081,7 +274593,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "variable-sized object may not be initialized"
  msgstr "objekt med variabel storlek kan inte initieras"
-@@ -12251,7 +12267,7 @@
+@@ -12251,7 +12263,7 @@
  msgid "variable %qD has initializer but incomplete type"
  msgstr "variabeln %qD har initierare men ofullständig typ"
  
@@ -269090,7 +274602,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "inline function %q+D given attribute noinline"
  msgstr "inline-funktionen %q+D har fått attributet noinline"
-@@ -12261,7 +12277,7 @@
+@@ -12261,7 +12273,7 @@
  msgid "uninitialized const member in %qT is invalid in C++"
  msgstr "oinitierad const-medlem i %qT är ogiltigt i C++"
  
@@ -269099,7 +274611,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%qD should be initialized"
  msgstr "%qD borde initieras"
-@@ -12391,7 +12407,7 @@
+@@ -12391,7 +12403,7 @@
  msgid "variable length array %qE is used"
  msgstr "vektor %qE med variabel längd används"
  
@@ -269108,7 +274620,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "variable length array is used"
  msgstr "vektor med variabel längd används"
-@@ -12476,7 +12492,7 @@
+@@ -12476,7 +12488,7 @@
  msgid "storage class specified for unnamed parameter"
  msgstr "lagringsklass angiven för namnlös parameter"
  
@@ -269117,7 +274629,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "storage class specified for typename"
  msgstr "lagringsklass angiven för typnamn"
-@@ -12625,7 +12641,7 @@
+@@ -12625,7 +12637,7 @@
  msgid "function definition has qualified void return type"
  msgstr "funktionsdefinition som har kvalificerad void-returtyp"
  
@@ -269126,7 +274638,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "type qualifiers ignored on function return type"
  msgstr "typkvalificerare ignoreras för funktions returtyp"
-@@ -12686,7 +12702,7 @@
+@@ -12686,7 +12698,7 @@
  msgid "a member of a structure or union cannot have a variably modified type"
  msgstr "en medlem av an post eller union får inte ha variabel typ"
  
@@ -269135,7 +274647,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "variable or field %qE declared void"
  msgstr "variabel eller fält %qE deklarerad void"
-@@ -12848,7 +12864,7 @@
+@@ -12848,7 +12860,7 @@
  msgid "defining type in %qs expression is invalid in C++"
  msgstr "att definiera en typ i %qs-uttryck är ogiltigt i C++"
  
@@ -269144,7 +274656,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "declaration does not declare anything"
  msgstr "deklaration som inte deklarerar något"
-@@ -13084,7 +13100,7 @@
+@@ -13084,7 +13096,7 @@
  msgid "argument %qD doesn%'t match prototype"
  msgstr "argument %qD stämmer inte med prototypen"
  
@@ -269153,7 +274665,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "no return statement in function returning non-void"
  msgstr "ingen retursats i funktion som returnerar icke-void"
-@@ -13287,7 +13303,7 @@
+@@ -13287,7 +13299,7 @@
  msgid "unknown type name %qE"
  msgstr "okänt typnamn %qE"
  
@@ -269162,7 +274674,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "expected declaration specifiers"
  msgstr "deklarationsspecificerare förväntades"
-@@ -13297,7 +13313,7 @@
+@@ -13297,7 +13309,7 @@
  msgid "expected %<;%>, identifier or %<(%>"
  msgstr "%<;%>, identifierare eller %<(%> förväntades"
  
@@ -269171,7 +274683,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "prefix attributes are ignored for methods"
  msgstr "prefixattribut ignoreras för metoder"
-@@ -13317,7 +13333,7 @@
+@@ -13317,7 +13329,7 @@
  msgid "data definition has no type or storage class"
  msgstr "datadefinition har ingen typ eller lagringsklass"
  
@@ -269180,7 +274692,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "expected %<,%> or %<;%>"
  msgstr "%<,%> eller %<;%> förväntades"
-@@ -13345,7 +13361,7 @@
+@@ -13345,7 +13357,7 @@
  msgid "ISO C90 does not support %<_Static_assert%>"
  msgstr "ISO C90 stödjer inte %<_Static_assert%>"
  
@@ -269189,7 +274701,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "expected string literal"
  msgstr "strängkonstant förväntades"
-@@ -13366,7 +13382,7 @@
+@@ -13366,7 +13378,7 @@
  msgstr "uttryck i statisk försäkran är inte konstant"
  
  #. Report the error.
@@ -269198,7 +274710,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "static assertion failed: %E"
  msgstr "statisk försäkran misslyckades: %E"
-@@ -13378,13 +13394,13 @@
+@@ -13378,13 +13390,13 @@
  #: c-parser.c:7034 c-parser.c:7042 c-parser.c:7071 c-parser.c:7085
  #: c-parser.c:7388 c-parser.c:7512 c-parser.c:7939 c-parser.c:7974
  #: c-parser.c:8027 c-parser.c:8080 c-parser.c:8096 c-parser.c:8142
@@ -269215,7 +274727,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "comma at end of enumerator list"
  msgstr "komma i slutet av uppräkningslista"
-@@ -13504,7 +13520,7 @@
+@@ -13504,7 +13516,7 @@
  msgid "expected %<}%> before %<else%>"
  msgstr "%<}%> förväntades före %<else%>"
  
@@ -269224,7 +274736,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%<else%> without a previous %<if%>"
  msgstr "%<else%> utan ett föregående %<if%>"
-@@ -13533,17 +13549,17 @@
+@@ -13533,17 +13545,17 @@
  #. c_parser_skip_until_found stops at a closing nesting
  #. delimiter without consuming it, but here we need to consume
  #. it to proceed further.
@@ -269245,7 +274757,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "suggest braces around empty body in an %<else%> statement"
  msgstr "föreslår klamrar runt tom kropp i en %<else%>-sats"
-@@ -13653,72 +13669,72 @@
+@@ -13653,72 +13665,72 @@
  msgid "no type or storage class may be specified here,"
  msgstr "ingen typ eller lagringsklass kan anges här,"
  
@@ -269332,7 +274844,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "expected %<none%> or %<shared%>"
  msgstr "%<none%> eller %<shared%> förväntades"
-@@ -13733,37 +13749,37 @@
+@@ -13733,37 +13745,37 @@
  msgid "%<num_threads%> value must be positive"
  msgstr "%<num_threads%>-värdet måste vara positivt"
  
@@ -269377,7 +274889,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "invalid operator for %<#pragma omp atomic%>"
  msgstr "ogiltig operator för %<#pragma omp atomic%>"
-@@ -13773,12 +13789,12 @@
+@@ -13773,12 +13785,12 @@
  msgid "expected %<(%> or end of line"
  msgstr "%<(%> eller filslut förväntades"
  
@@ -269392,7 +274904,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "expected iteration declaration or initialization"
  msgstr "iterationsdeklaration eller initiering förväntades"
-@@ -13788,12 +13804,12 @@
+@@ -13788,12 +13800,12 @@
  msgid "not enough perfectly nested loops"
  msgstr "inte tillräckligt med perfekt nästade slingor"
  
@@ -269407,7 +274919,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "iteration variable %qD should not be firstprivate"
  msgstr "iterationsvariabel %qD får inte vara firstprivate"
-@@ -13803,17 +13819,17 @@
+@@ -13803,17 +13815,17 @@
  msgid "%qD is not a variable"
  msgstr "%qD är inte en variabel"
  
@@ -269428,7 +274940,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%<threadprivate%> %qE has incomplete type"
  msgstr "%<threadprivate%> %qE har ofullständig typ"
-@@ -13823,7 +13839,7 @@
+@@ -13823,7 +13835,7 @@
  msgid "%qD has an incomplete type"
  msgstr "%qD har en ofullständig typ"
  
@@ -269437,7 +274949,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "invalid use of void expression"
  msgstr "ogiltig användning av void-uttryck"
-@@ -13919,7 +13935,7 @@
+@@ -13919,7 +13931,7 @@
  msgid "subscripted value is neither array nor pointer nor vector"
  msgstr "indexerat värde är varken en vektor eller pekare"
  
@@ -269446,7 +274958,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "array subscript is not an integer"
  msgstr "fältindex är inte ett heltal"
-@@ -13972,12 +13988,12 @@
+@@ -13972,12 +13984,12 @@
  msgid "too many arguments to method %qE"
  msgstr "för många argument till metoden %qE"
  
@@ -269461,7 +274973,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "declared here"
  msgstr "deklarerad här"
-@@ -14042,12 +14058,12 @@
+@@ -14042,12 +14054,12 @@
  msgid "passing argument %d of %qE as signed due to prototype"
  msgstr "skickar argument %d till %qE med tecken på grund av prototyp"
  
@@ -269476,7 +274988,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "too few arguments to function %qE"
  msgstr "för få argument till funktionen %qE"
-@@ -14122,17 +14138,17 @@
+@@ -14122,17 +14134,17 @@
  msgid "taking address of expression of type %<void%>"
  msgstr "tar adressen till uttryck av typ %<void%>"
  
@@ -269497,7 +275009,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "decrement of read-only location %qE"
  msgstr "minskning av endast läsbar plats %qE"
-@@ -14167,7 +14183,7 @@
+@@ -14167,7 +14179,7 @@
  msgid "non-lvalue array in conditional expression"
  msgstr "icke-l-värde-vektor i villkorsuttryck"
  
@@ -269506,7 +275018,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "implicit conversion from %qT to %qT to match other result of conditional"
  msgstr "implicit konvertering från %qT till %qT för att stämma med andra resultat i villkor"
-@@ -14275,7 +14291,7 @@
+@@ -14275,7 +14287,7 @@
  msgid "cast from function call of type %qT to non-matching type %qT"
  msgstr "typkonvertering från funktionsanrop av typ %qT till typ %qT matchar inte"
  
@@ -269515,7 +275027,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "cast to pointer from integer of different size"
  msgstr "typkonvertering till pekare från heltal med annan storlek"
-@@ -14317,7 +14333,7 @@
+@@ -14317,7 +14329,7 @@
  msgid "enum conversion when passing argument %d of %qE is invalid in C++"
  msgstr "enum-konvertering när argument %d till %qE skickades är ogiltigt i C++"
  
@@ -269524,7 +275036,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "enum conversion in initialization is invalid in C++"
  msgstr "enum-konvertering i initiering är ogiltigt i C++"
-@@ -14409,7 +14425,7 @@
+@@ -14409,7 +14421,7 @@
  msgid "initialization left-hand side might be a candidate for a format attribute"
  msgstr "vänsterhandssida av initiering kan vara en kandidat för ett formatattribut"
  
@@ -269533,7 +275045,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "return type might be a candidate for a format attribute"
  msgstr "returtypen kan vara en kandidat för ett formatattribut"
-@@ -14476,7 +14492,7 @@
+@@ -14476,7 +14488,7 @@
  
  #. ??? This should not be an error when inlining calls to
  #. unprototyped functions.
@@ -269542,7 +275054,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "invalid use of non-lvalue array"
  msgstr "ogiltig användning av icke-l-värde-vektor"
-@@ -14521,7 +14537,7 @@
+@@ -14521,7 +14533,7 @@
  msgid "return makes integer from pointer without a cast"
  msgstr "retur skapar heltal från pekare utan typkonvertering"
  
@@ -269551,7 +275063,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "incompatible type for argument %d of %qE"
  msgstr "inkompatibel typ för argument %d av %qE"
-@@ -14546,428 +14562,428 @@
+@@ -14546,428 +14558,428 @@
  msgid "traditional C rejects automatic aggregate initialization"
  msgstr "traditionell C tillåter inte aggregatinitiering"
  
@@ -270066,7 +275578,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "function call has aggregate value"
  msgstr "funktionsanrop har sammansatt värde"
-@@ -14977,12 +14993,12 @@
+@@ -14977,12 +14989,12 @@
  msgid "size of variable %q+D is too large"
  msgstr "storleken på variabeln %q+D är för stor"
  
@@ -270081,7 +275593,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "stack protector not protecting function: all local arrays are less than %d bytes long"
  msgstr "stackskyddet skyddar inte funktioner: alla lokala vektorer är mindre än %d byte långa"
-@@ -15387,7 +15403,7 @@
+@@ -15387,7 +15399,7 @@
  msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
  msgstr "antal bb-noter i instruktionskedjan (%d) != n_basic_blocks (%d)"
  
@@ -270090,7 +275602,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%D renamed after being referenced in assembly"
  msgstr "%D byter namn efter att ha refererats i assembler"
-@@ -15762,7 +15778,7 @@
+@@ -15762,7 +15774,7 @@
  msgid "          %s"
  msgstr "          %s"
  
@@ -270099,7 +275611,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "common symbol debug info is not structured as symbol+offset"
  msgstr "gemensam symbolfelsökningsinformation är inte strukturerad som symbol+avstånd"
-@@ -15782,17 +15798,17 @@
+@@ -15782,17 +15794,17 @@
  msgid "dominator of %d should be %d, not %d"
  msgstr "dominerare av %d vara %d, inte %d"
  
@@ -270120,7 +275632,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "non-delegitimized UNSPEC %d found in variable location"
  msgstr "odelegitimerad UNSPEC %d funnen på variabelplats"
-@@ -15882,37 +15898,37 @@
+@@ -15882,37 +15894,37 @@
  msgid "stack limits not supported on this target"
  msgstr "stackgränser stöds inte på denna målarkitektur"
  
@@ -270165,7 +275677,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%Kcall to %qs declared with attribute warning: %s"
  msgstr "%K anrop av %qs deklarerad med attributet warning: %s"
-@@ -15927,12 +15943,12 @@
+@@ -15927,12 +15939,12 @@
  msgid "the frame size of %wd bytes is larger than %wd bytes"
  msgstr "ramstorleken på %wd byte är större än %wd byte"
  
@@ -270180,7 +275692,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "could not close final insn dump file %qs: %m"
  msgstr "det gick inte att stänga slutgiltig instruktionsdumpfil %qs: %m"
-@@ -15947,27 +15963,27 @@
+@@ -15947,27 +15959,27 @@
  msgid "assuming signed overflow does not occur when negating a division"
  msgstr "antar att teckenspill inte förekommer vid negering av en division"
  
@@ -270213,7 +275725,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%<and%> of mutually exclusive equal-tests is always 0"
  msgstr "%<and%> mellan ömsesidigt uteslutande likhetstester är alltid 0"
-@@ -15997,7 +16013,7 @@
+@@ -15997,7 +16009,7 @@
  msgid "total size of local objects too large"
  msgstr "total storlek på lokala objekt är för stor"
  
@@ -270222,7 +275734,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "impossible constraint in %<asm%>"
  msgstr "omöjlig begränsning i %<asm%>"
-@@ -16443,62 +16459,62 @@
+@@ -16443,62 +16455,62 @@
  msgid "using result of function returning %<void%>"
  msgstr "använder resultat från funktion som returnerar %<void%>"
  
@@ -270297,7 +275809,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "gimplification failed"
  msgstr "gimplification misslyckades"
-@@ -16598,22 +16614,22 @@
+@@ -16598,22 +16610,22 @@
  msgid "At most %i profile runs is supported. Perhaps corrupted profile?"
  msgstr "Som mest %i profilkörningar stödjs.  Kanske en skadad profil?"
  
@@ -270324,7 +275836,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "cannot find LTO section refs in %s"
  msgstr "det går inte att hitta LTO-avsnittsreferenser i %s"
-@@ -16684,22 +16700,22 @@
+@@ -16684,22 +16696,22 @@
  msgid "bytecode stream: unknown GIMPLE statement tag %s"
  msgstr "bytekodström: okänd GIMPLE-satstagg %s"
  
@@ -270351,7 +275863,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "target specific builtin not available"
  msgstr "målspecifik inbyggd funktion är inte tillgänglig"
-@@ -16799,18 +16815,18 @@
+@@ -16799,18 +16811,18 @@
  msgid "critical region may not be nested inside a critical region with the same name"
  msgstr "kritisk region får inte vara innesluten inuti en kritisk region med samma namn"
  
@@ -270373,7 +275885,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "invalid branch to/from an OpenMP structured block"
  msgstr "ogiltig gren till/från OpenMP-strukturerat block"
-@@ -17230,9 +17246,9 @@
+@@ -17230,9 +17242,9 @@
  msgid "can%'t use %qs as a fixed register"
  msgstr "det går inte att använda %qs som ett fast register"
  
@@ -270386,7 +275898,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "unknown register name: %s"
  msgstr "okänt registernamn: %s"
-@@ -17307,12 +17323,12 @@
+@@ -17307,12 +17319,12 @@
  msgid "%<asm%> operand requires impossible reload"
  msgstr "%<asm%>-operand kräver omöjlig omlastning"
  
@@ -270401,7 +275913,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "output operand is constant in %<asm%>"
  msgstr "utdataoperand är konstant i %<asm%>"
-@@ -17472,7 +17488,7 @@
+@@ -17472,7 +17484,7 @@
  msgid "undefined named operand %qs"
  msgstr "odefinierad namngiven operand %qs"
  
@@ -270410,7 +275922,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "value computed is not used"
  msgstr "beräknat värde används inte"
-@@ -17757,7 +17773,7 @@
+@@ -17757,7 +17769,7 @@
  msgid "MODIFY_EXPR not expected while having tuples"
  msgstr "MODIFY_EXPR förväntades inte när man har tupler"
  
@@ -270419,7 +275931,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "address taken, but ADDRESSABLE bit not set"
  msgstr "adress tagen, men ADDRESSABLE-biten är inte satt"
-@@ -18127,7 +18143,7 @@
+@@ -18127,7 +18139,7 @@
  msgid "invalid pure const state for function"
  msgstr "ogiltigt pure-const-tillstånd för funktion"
  
@@ -270428,7 +275940,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "in statement"
  msgstr "i sats"
-@@ -18274,22 +18290,22 @@
+@@ -18274,22 +18286,22 @@
  msgid "missing edge %i->%i"
  msgstr "båge saknas %i->%i"
  
@@ -270455,7 +275967,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "ignoring return value of function declared with attribute warn_unused_result"
  msgstr "ignorerar returvärdet av funktion deklarerad med attributet warn_unused_result"
-@@ -18304,112 +18320,112 @@
+@@ -18304,112 +18316,112 @@
  msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
  msgstr "ignorerar okänt alternativ %q.*s i %<-fdump-%s%>"
  
@@ -270590,7 +276102,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "called from here"
  msgstr "anropad härifrån"
-@@ -18455,380 +18471,380 @@
+@@ -18455,380 +18467,380 @@
  msgid "unimplemented functionality"
  msgstr "oimplementerad funktionalitet"
  
@@ -271061,7 +276573,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "type is deprecated"
  msgstr "typen bör undvikas"
-@@ -18859,12 +18875,12 @@
+@@ -18859,12 +18871,12 @@
  msgid "corrupted value profile: %s profile counter (%d out of %d) inconsistent with basic-block count (%d)"
  msgstr "trasig värdeprofil: profileringsräknaren %s (%d av %d) stämmer inte med GB-antal (%d)"
  
@@ -271076,7 +276588,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "variable tracking size limit exceeded"
  msgstr "storleksgräns på variabelspårning överskriden"
-@@ -19025,8 +19041,8 @@
+@@ -19025,8 +19037,8 @@
  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"
  
@@ -271087,7 +276599,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "overflow in constant expression"
  msgstr "spill i konstant uttryck"
-@@ -19201,857 +19217,857 @@
+@@ -19201,857 +19213,857 @@
  msgid "invalid operands to binary %s (have %qT and %qT)"
  msgstr "ogiltiga operander till binär %s (har %qT och %qT)"
  
@@ -272116,7 +277628,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "comparison of promoted ~unsigned with unsigned"
  msgstr "jämförelse av befordrad ~unsigned med unsigned"
-@@ -20498,7 +20514,7 @@
+@@ -20498,7 +20510,7 @@
  msgid "invalid expression type for %<#pragma omp atomic%>"
  msgstr "ogiltig uttryckstyp för %<#pragma omp atomic%>"
  
@@ -272125,7 +277637,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "invalid type for iteration variable %qE"
  msgstr "ogiltig typ för iterationsvariabeln %qE"
-@@ -20508,22 +20524,22 @@
+@@ -20508,22 +20520,22 @@
  msgid "%qE is not initialized"
  msgstr "%qE är inte initierad"
  
@@ -272152,7 +277664,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "invalid increment expression"
  msgstr "ogiltigt ökningsuttryck"
-@@ -21203,88 +21219,88 @@
+@@ -21203,88 +21215,88 @@
  msgid "profiler support for VxWorks"
  msgstr "profileringsstöd för VxWorks"
  
@@ -272259,7 +277771,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "bad builtin fcode"
  msgstr "felaktig inbyggd fcode"
-@@ -21489,15 +21505,15 @@
+@@ -21489,15 +21501,15 @@
  msgid "Thumb-1 hard-float VFP ABI"
  msgstr "Thumb-1 hårda flyttals VFP ABI"
  
@@ -272282,7 +277794,7 @@ Index: gcc/po/sv.po
  #: config/stormy16/stormy16.c:2191 config/v850/v850.c:2134
  #, gcc-internal-format
  msgid "%qE attribute only applies to functions"
-@@ -21550,133 +21566,138 @@
+@@ -21550,133 +21562,138 @@
  msgid "static variable %q+D is marked dllimport"
  msgstr "statisk variabel %q+D är markerad som dllimport"
  
@@ -272344,7 +277856,7 @@ Index: gcc/po/sv.po
 +#: config/avr/avr.c:5065
  #, gcc-internal-format
 +msgid "variable %q+D must be const in order to be put into read-only section by means of %<__attribute__((progmem))%>"
-+msgstr ""
++msgstr "variabeln %q+D måste vara const för att kunna läggas i en endast läsbar sektion med hjälp av %<__attribute__((progmem))%>"
 +
 +#: config/avr/avr.c:5106
 +#, gcc-internal-format
@@ -272447,7 +277959,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%qE attribute cannot be specified for local variables"
  msgstr "attributet %qE kan inte anges för lokala variabler"
-@@ -22071,329 +22092,331 @@
+@@ -22071,329 +22088,329 @@
  msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
  msgstr "utrullning av tabeller kräver antingen en rampekare eller %saccumulate-outgoing-args%s för att bli korrekt"
  
@@ -272708,20 +278220,16 @@ Index: gcc/po/sv.po
 +msgstr "det sista argumentet måste vara en 2-bitars omedelbar"
  
 -#: config/i386/i386.c:26308
--#, gcc-internal-format
--msgid "the fifth argument must be a 8-bit immediate"
 +#: config/i386/i386.c:26380
-+#, fuzzy, gcc-internal-format
-+#| msgid "the fifth argument must be a 8-bit immediate"
+ #, gcc-internal-format
+-msgid "the fifth argument must be a 8-bit immediate"
 +msgid "the fifth argument must be an 8-bit immediate"
  msgstr "det femte argumentet måste vara en 8-bitars omedelbar"
  
 -#: config/i386/i386.c:26403
--#, gcc-internal-format
--msgid "the third argument must be a 8-bit immediate"
 +#: config/i386/i386.c:26475
-+#, fuzzy, gcc-internal-format
-+#| msgid "the third argument must be a 8-bit immediate"
+ #, gcc-internal-format
+-msgid "the third argument must be a 8-bit immediate"
 +msgid "the third argument must be an 8-bit immediate"
  msgstr "det tredje argumentet måste vara en 8-bitars omedelbar"
  
@@ -272854,7 +278362,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "vector permutation (%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d)"
  msgstr "vektorpermutation (%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d)"
-@@ -22476,29 +22499,29 @@
+@@ -22476,29 +22493,29 @@
  msgid "%qE attribute requires a string constant argument"
  msgstr "attributet %qE kräver en strängkonstant som argument"
  
@@ -272891,7 +278399,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "version attribute is not a string"
  msgstr "versionsattributet är inte en sträng"
-@@ -22564,7 +22587,7 @@
+@@ -22564,7 +22581,7 @@
  msgstr "attributet %qE stöds inte för denna målarkitekturen R8C"
  
  #. The argument must be a constant integer.
@@ -272900,7 +278408,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%qE attribute argument not an integer constant"
  msgstr "argumentet till attribut %qE är inte en heltalskonstant"
-@@ -22634,7 +22657,7 @@
+@@ -22634,7 +22651,7 @@
  msgid "interrupt_thread is available only on fido"
  msgstr "interrupt_thread är tillgängligt endast för fido"
  
@@ -272909,7 +278417,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "stack limit expression is not supported"
  msgstr "stackgränsuttryck stöds inte"
-@@ -22964,142 +22987,142 @@
+@@ -22964,142 +22981,142 @@
  msgid "cannot handle inconsistent calls to %qs"
  msgstr "kan inte hantera inkonsistenta anrop av %qs"
  
@@ -273080,7 +278588,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "mips16 function profiling"
  msgstr "funktionsprofilering för mips16"
-@@ -23180,7 +23203,7 @@
+@@ -23180,7 +23197,7 @@
  msgid "-g option disabled"
  msgstr "flaggan -g är avslagen"
  
@@ -273089,7 +278597,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "alignment (%u) for %s exceeds maximum alignment for global common data.  Using %u"
  msgstr "justering (%u) för %s överskrider maximal justering för globala common-data.  Använder %u"
-@@ -23190,98 +23213,98 @@
+@@ -23190,98 +23207,98 @@
  msgid "-munix=98 option required for C89 Amendment 1 features.\n"
  msgstr "flaggan -munix=98 krävs för funktioner från C89 tillägg 1.\n"
  
@@ -273208,7 +278716,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "%s (disable warning using -mno-inefficient-warnings)"
  msgstr "%s (avaktivera varningen med -mno-inefficient-warnings)"
-@@ -23380,367 +23403,367 @@
+@@ -23380,367 +23397,367 @@
  msgid "invalid parameter combination for AltiVec intrinsic"
  msgstr "ogiltigt parameterkombination för inbyggd AltiVec"
  
@@ -273649,7 +279157,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "%s\"%s\"%s is invalid"
  msgstr "%s\"%s\"%s är ogiltigt"
-@@ -23816,7 +23839,7 @@
+@@ -23816,7 +23833,7 @@
  #. Number of bytes into the frame return addresses can be found.  See
  #. rs6000_stack_info in rs6000.c for more information on how the different
  #. abi's store the return address.
@@ -273658,7 +279166,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "RETURN_ADDRESS_OFFSET not supported"
  msgstr "RETURN_ADDRESS_OFFSET stöds inte"
-@@ -23878,37 +23901,37 @@
+@@ -23878,37 +23895,37 @@
  msgid "-m%s not supported in this configuration"
  msgstr "-m%s stöds inte i denna konfiguration"
  
@@ -273703,7 +279211,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "RX FPU instructions do not support NaNs and infinities"
  msgstr "RX FPU-instruktioner stödjer inte NaN:er och oändligheter"
-@@ -23968,22 +23991,22 @@
+@@ -23968,22 +23985,22 @@
  msgid "-mstack-guard implies use of -mstack-size"
  msgstr "-mstack-guard implicerar användning av -mstack-size"
  
@@ -273730,7 +279238,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%qs uses dynamic stack allocation"
  msgstr "%qs använder dynamisk stackallokering"
-@@ -23998,53 +24021,53 @@
+@@ -23998,53 +24015,53 @@
  msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
  msgstr "utrullningstabeller kräver för närvarande antingen en rampekare eller -maccumulate-outgoing-args för att bli korrekt"
  
@@ -273794,7 +279302,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "need a call-clobbered target register"
  msgstr "behöver ett anropsöverskrivet målregister"
-@@ -24131,37 +24154,37 @@
+@@ -24131,37 +24148,37 @@
  msgid "parameter list does not match a valid signature for %s()"
  msgstr "parameterlistan stämmer inte med någon giltig signatur för %s()"
  
@@ -273839,7 +279347,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "%d least significant bits of %s are ignored"
  msgstr "de %d minst signifikanta bitarna av %s ignoreras"
-@@ -24380,447 +24403,454 @@
+@@ -24380,447 +24397,452 @@
  msgstr "ogiltig elementtyp för attributet %qs"
  
  #. Conversion of implicit `this' argument failed.
@@ -274197,13 +279705,12 @@ Index: gcc/po/sv.po
  
 -#: cp/call.c:5699
 +#: cp/call.c:5730 cp/cvt.c:1625
-+#, fuzzy, gcc-internal-format
-+#| msgid "class %qT will be considered nearly empty in a future version of GCC"
+ #, gcc-internal-format
 +msgid "scoped enum %qT will not promote to an integral type in a future version of GCC"
-+msgstr "klass %qT kommer betraktas som nästan tom i en framtida version av GCC"
++msgstr "enum %qT med räckvidd kommer inte befordras till en heltalstyp i en framtida version av GCC"
 +
 +#: cp/call.c:5760
- #, gcc-internal-format
++#, gcc-internal-format
  msgid "cannot pass objects of non-trivially-copyable type %q#T through %<...%>"
  msgstr "det går inte att skicka objekt av ej trivialt kopierbar typ %q#T via %<...%>"
  
@@ -274365,13 +279872,12 @@ Index: gcc/po/sv.po
  msgstr "ISO C++ säger att dessa är tvetydiga, trots att den sämsta konverteringen för den första är bättre än den sämsta konverteringen för den andra:"
  
 -#: cp/call.c:8009
--#, gcc-internal-format
--msgid "could not convert %qE to %qT"
 +#: cp/call.c:8070
-+#, fuzzy, gcc-internal-format
-+#| msgid "could not convert %qE to %qT"
+ #, gcc-internal-format
+-msgid "could not convert %qE to %qT"
+-msgstr "kunde inte konvertera %qE till %qT"
 +msgid "could not convert %qE from %qT to %qT"
- msgstr "kunde inte konvertera %qE till %qT"
++msgstr "kunde inte konvertera %qE från %qT till %qT"
  
 -#: cp/call.c:8251
 +#: cp/call.c:8313
@@ -274384,7 +279890,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "invalid initialization of reference of type %qT from expression of type %qT"
  msgstr "ogiltig initiering av referens av typ %qT från uttryck av typ %qT"
-@@ -24830,365 +24860,366 @@
+@@ -24830,365 +24852,365 @@
  msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
  msgstr "kan inte konvertera från basen %qT till härledd typ %qT via virtuell bas %qT"
  
@@ -274678,13 +280184,12 @@ Index: gcc/po/sv.po
  msgstr "initierare angiven för icke-virtuell metod %q+D"
  
 -#: cp/class.c:4568
--#, gcc-internal-format
--msgid "enclosing class of %q+D is not a literal type"
 +#: cp/class.c:4563 cp/semantics.c:5455
-+#, fuzzy, gcc-internal-format
-+#| msgid "enclosing class of %q+D is not a literal type"
+ #, gcc-internal-format
+-msgid "enclosing class of %q+D is not a literal type"
+-msgstr "omslutande klass till %q+D är inte en literal typ"
 +msgid "enclosing class of %q+#D is not a literal type"
- msgstr "omslutande klass till %q+D är inte en literal typ"
++msgstr "omslutande klass till %q+#D är inte en literal typ"
  
 -#: cp/class.c:4677
 +#: cp/class.c:4670
@@ -274825,7 +280330,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "argument of type %qT does not match %qT"
  msgstr "argument av typen %qT matchar inte %qT"
-@@ -25198,22 +25229,22 @@
+@@ -25198,22 +25220,22 @@
  #. A name N used in a class S shall refer to the same declaration
  #. in its context and when re-evaluated in the completed scope of
  #. S.
@@ -274852,7 +280357,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%qE implicitly determined as %<firstprivate%> has reference type"
  msgstr "%qE som implicit bestämts som %<firstprivate%> har referenstyp"
-@@ -25258,7 +25289,7 @@
+@@ -25258,7 +25280,7 @@
  msgid "conversion from %qT to %qT discards qualifiers"
  msgstr "konvertering från %qT till %qT kastar kvalificerare"
  
@@ -274861,7 +280366,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "casting %qT to %qT does not dereference pointer"
  msgstr "typkonvertering av %qT till %qT derefererar inte pekare"
-@@ -25278,272 +25309,272 @@
+@@ -25278,272 +25300,272 @@
  msgid "the result of the conversion is unspecified because %qE is outside the range of type %qT"
  msgstr "resultatet av konverteringen är odefinierad eftersom %qE är utanför intervallet för typen %qT"
  
@@ -275188,7 +280693,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "  candidate conversions include %qD and %qD"
  msgstr "  kandidater till konvertering är %qD och %qD"
-@@ -25755,43 +25786,43 @@
+@@ -25755,43 +25777,43 @@
  #. that specialization that would cause an implicit
  #. instantiation to take place, in every translation unit in
  #. which such a use occurs.
@@ -275240,7 +280745,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%q+D redeclared inline without %<gnu_inline%> attribute"
  msgstr "%q+D omdeklarerad inline utan attributet %<gnu_inline%>"
-@@ -25799,329 +25830,329 @@
+@@ -25799,329 +25821,329 @@
  #. is_primary=
  #. is_partial=
  #. is_friend_decl=
@@ -275635,7 +281140,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "zero-size array %qD"
  msgstr "vektor med storlek noll %qD"
-@@ -26129,319 +26160,319 @@
+@@ -26129,319 +26151,319 @@
  #. An automatic variable with an incomplete type: that is an error.
  #. Don't talk about array types here, since we took care of that
  #. message in grokdeclarator.
@@ -276018,7 +281523,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "no %q#D member function declared in class %qT"
  msgstr "ingen medlemsfunktion %q#D deklarerad i klassen %qT"
-@@ -26450,851 +26481,852 @@
+@@ -26450,851 +26472,851 @@
  #. no linkage can only be used to declare extern "C"
  #. entities.  Since it's not always an error in the
  #. ISO C++ 90 Standard, we only issue a warning.
@@ -276710,13 +282215,12 @@ Index: gcc/po/sv.po
  
 -#: cp/decl.c:9265
 +#: cp/decl.c:9308
-+#, fuzzy, gcc-internal-format
-+#| msgid "parameter declared %<auto%>"
+ #, gcc-internal-format
 +msgid "typedef declared %<auto%>"
-+msgstr "parametern deklarerad %<auto%>"
++msgstr "typedef deklarerad %<auto%>"
 +
 +#: cp/decl.c:9318
- #, gcc-internal-format
++#, gcc-internal-format
  msgid "typedef name may not be a nested-name-specifier"
  msgstr "typedef-namn får inte vara en nästad-namnspecificerare"
  
@@ -277047,7 +282551,7 @@ Index: gcc/po/sv.po
  #. [class.copy]
  #.
  #. A declaration of a constructor for a class X is ill-formed if
-@@ -27310,163 +27342,163 @@
+@@ -27310,163 +27332,163 @@
  #. or implicitly defined), there's no need to worry about their
  #. existence.  Theoretically, they should never even be
  #. instantiated, but that's hard to forestall.
@@ -277243,7 +282747,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%qT referred to as enum"
  msgstr "%qT refererad till som enum"
-@@ -27478,88 +27510,88 @@
+@@ -27478,88 +27500,88 @@
  #. void f(class C);           // No template header here
  #.
  #. then the required template argument is missing.
@@ -277350,7 +282854,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "underlying type %<%T%> of %<%T%> must be an integral type"
  msgstr "underliggande typ %<%T%> till %<%T%> måste vara en heltalstyp"
-@@ -27568,72 +27600,72 @@
+@@ -27568,72 +27590,72 @@
  #.
  #. IF no integral type can represent all the enumerator values, the
  #. enumeration is ill-formed.
@@ -277437,7 +282941,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "static member function %q#D declared with type qualifiers"
  msgstr "statisk medlemsfunktion %q#D deklarerad med typkvalificerare"
-@@ -27768,22 +27800,22 @@
+@@ -27768,22 +27790,22 @@
  msgid "width of bit-field %qD has non-integral type %qT"
  msgstr "bredden på bitfältet %qD har icke-heltalstyp %qT"
  
@@ -277464,7 +282968,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%<operator new%> must return type %qT"
  msgstr "%<operator new%> måste returnera typ %qT"
-@@ -27792,139 +27824,139 @@
+@@ -27792,139 +27814,139 @@
  #.
  #. The first parameter shall not have an associated default
  #. argument.
@@ -277631,7 +283135,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%<::%D%> has not been declared"
  msgstr "%<::%D%> har inte deklarerats"
-@@ -27961,7 +27993,7 @@
+@@ -27961,7 +27983,7 @@
  msgid "throwing NULL, which has integral, not pointer type"
  msgstr "kastar NULL, som har heltals-, inte pekartyp"
  
@@ -277640,7 +283144,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%qD should never be overloaded"
  msgstr "%qD skall aldrig överlagras"
-@@ -28085,277 +28117,277 @@
+@@ -28085,277 +28107,277 @@
  msgid "(if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) "
  msgstr "(om detta inte är vad du avsåg, se till att funktionsmallen redan har deklarerats och lägg till <> efter funktionsnamnet här) "
  
@@ -277973,19 +283477,18 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "type to vector delete is neither pointer or array type"
  msgstr "typ till vektor-delete är varken pekar- eller vektortyp"
-@@ -28525,27 +28557,33 @@
+@@ -28525,27 +28547,32 @@
  msgid "%qD cannot be declared as constexpr"
  msgstr "%qD får inte deklareras som constexpr"
  
 -#: cp/method.c:1621
 +#: cp/method.c:1599
-+#, fuzzy, gcc-internal-format
-+#| msgid "%qD cannot be defaulted"
+ #, gcc-internal-format
 +msgid "a template cannot be defaulted"
-+msgstr "%qD kan inte ha standardvärde"
++msgstr "en mall kan inte ha standardvärde"
 +
 +#: cp/method.c:1627
- #, gcc-internal-format
++#, gcc-internal-format
  msgid "%qD cannot be defaulted"
  msgstr "%qD kan inte ha standardvärde"
  
@@ -278012,7 +283515,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
  msgstr "vtable-utplacering för klass %qT följer kanske inte ABI:et och kan ändras i en framtida version av GCC på grund av implicit virtuell destruerare"
-@@ -28653,7 +28691,7 @@
+@@ -28653,7 +28680,7 @@
  msgid "  using obsolete binding at %q+D"
  msgstr "  använder föråldrad bindning vid %q+D"
  
@@ -278021,7 +283524,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "(if you use %<-fpermissive%> G++ will accept your code)"
  msgstr "(om du använder %<--fpermissive%> kommer G++ acceptera din kod)"
-@@ -28925,7 +28963,7 @@
+@@ -28925,7 +28952,7 @@
  msgid "(perhaps a semicolon is missing after the definition of %qT)"
  msgstr "(kanske ett semikolon saknas efter definitionen av %qT)"
  
@@ -278030,7 +283533,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "%qT is not a template"
  msgstr "%qT är inte en mall"
-@@ -28945,7 +28983,7 @@
+@@ -28945,7 +28972,7 @@
  msgid "floating-point literal cannot appear in a constant-expression"
  msgstr "en flyttalsliteral får inte finnas i ett konstantuttryck"
  
@@ -278039,7 +283542,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
  msgstr "en typomvandling till en annan typ än en heltals- eller uppräkningstyp kan inte förekomma i ett konstantuttryck"
-@@ -29010,62 +29048,63 @@
+@@ -29010,63 +29037,63 @@
  msgid "%qs cannot appear in a constant-expression"
  msgstr "%qs får inte finnas i ett konstantuttryck"
  
@@ -278107,16 +283610,16 @@ Index: gcc/po/sv.po
  msgstr "%<typename%> behövs före %<%T::%E%> för att %qT är en beroende räckvidd"
  
 -#: cp/parser.c:2790
--#, gcc-internal-format
--msgid "%qE in class %qT does not name a type"
 +#: cp/parser.c:2791
-+#, fuzzy, gcc-internal-format
-+#| msgid "%qE in class %qT does not name a type"
+ #, gcc-internal-format
+-msgid "%qE in class %qT does not name a type"
+-msgstr "%qE i klassen %qT är inte namnet på en typ"
 +msgid "%qE in %q#T does not name a type"
- msgstr "%qE i klassen %qT är inte namnet på en typ"
++msgstr "%qE i %q#T är inte namnet på en typ"
  
  #: cp/parser.c:3340
-@@ -29078,7 +29117,7 @@
+ #, gcc-internal-format
+@@ -29078,7 +29105,7 @@
  msgid "a wide string is invalid in this context"
  msgstr "en bred sträng är inte tillåten i denna kontext"
  
@@ -278125,7 +283628,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "expected declaration"
  msgstr "en deklaration förväntades"
-@@ -29098,561 +29137,561 @@
+@@ -29098,561 +29125,561 @@
  msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
  msgstr "satsuttryck är inte tillåtna utanför funktioner eller i mallargumentlistor"
  
@@ -278797,7 +284300,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
  msgstr "använd %<%T::%D%> istället för %<%T::%D%> för att namnge konstrueraren i ett kvalificerat namn"
-@@ -29661,222 +29700,222 @@
+@@ -29661,222 +29688,222 @@
  #. here because we do not have enough
  #. information about its original syntactic
  #. form.
@@ -279064,7 +284567,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "too few template-parameter-lists"
  msgstr "för få mallparameterlistor"
-@@ -29885,288 +29924,288 @@
+@@ -29885,288 +29912,288 @@
  #. something like:
  #.
  #. template <class T> template <class U> void S::f();
@@ -279410,7 +284913,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "inter-module optimizations not implemented for C++"
  msgstr "intermoduloptimeringar inte implementerade för C++"
-@@ -30758,17 +30797,17 @@
+@@ -30758,17 +30785,17 @@
  msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
  msgstr "mallinstansieringsdjupet överskrider maxvärdet på %d (använd -ftemplate-depth= för att öka maxvärdet) vid instansiering av %qD"
  
@@ -279431,7 +284934,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "instantiation of %q+D as type %qT"
  msgstr "instansiering av %q+D som typ %qT"
-@@ -30786,227 +30825,227 @@
+@@ -30786,227 +30813,227 @@
  #.
  #. is an attempt to declare a variable with function
  #. type.
@@ -279704,7 +285207,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "duplicate explicit instantiation of %q#T"
  msgstr "dubblerad explicit instansiering av %q#T"
-@@ -31018,27 +31057,27 @@
+@@ -31018,27 +31045,27 @@
  #. member function or static data member of a class template
  #. shall be present in every translation unit in which it is
  #. explicitly instantiated.
@@ -279737,7 +285240,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "variable %q#D with %<auto%> type used in its own initializer"
  msgstr "variabeln %q#D med %<auto%>-typ använd i sin egen initierare"
-@@ -31046,12 +31085,12 @@
+@@ -31046,12 +31073,12 @@
  #. If type is error_mark_node a diagnostic must have been
  #. emitted by now.  Also, having a mention to '<type error>'
  #. in the diagnostic is not really useful to the user.
@@ -279752,7 +285255,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "inconsistent deduction for %qT: %qT and then %qT"
  msgstr "inkonsistent härledning för %qT: %qT och sedan %qT"
-@@ -31213,474 +31252,483 @@
+@@ -31213,474 +31240,479 @@
  msgid "arguments to destructor are not allowed"
  msgstr "argument till destruerare är inte tillåtet"
  
@@ -280016,22 +285519,20 @@ Index: gcc/po/sv.po
  msgstr "typen %qT för constexpr-variabeln %qD är inte en literal"
  
 -#: cp/semantics.c:5390
--#, gcc-internal-format
--msgid "invalid type for parameter %q#D of constexpr function"
 +#: cp/semantics.c:5434
-+#, fuzzy, gcc-internal-format
-+#| msgid "invalid type for parameter %q#D of constexpr function"
+ #, gcc-internal-format
+-msgid "invalid type for parameter %q#D of constexpr function"
+-msgstr "ogiltig typ för parameter %q#D till constexpr-funktion"
 +msgid "invalid type for parameter %d of constexpr function %q+#D"
- msgstr "ogiltig typ för parameter %q#D till constexpr-funktion"
++msgstr "ogiltig typ för parameter %d till constexpr-funktion %q+#D"
  
 -#: cp/semantics.c:5401
--#, gcc-internal-format
--msgid "invalid return type %qT of constexpr function %qD"
 +#: cp/semantics.c:5445
-+#, fuzzy, gcc-internal-format
-+#| msgid "invalid return type %qT of constexpr function %qD"
+ #, gcc-internal-format
+-msgid "invalid return type %qT of constexpr function %qD"
+-msgstr "ogiltig returtyp %qT för constexpr-funktionen %qD"
 +msgid "invalid return type %qT of constexpr function %q+D"
- msgstr "ogiltig returtyp %qT för constexpr-funktionen %qD"
++msgstr "ogiltig returtyp %qT för constexpr-funktionen %q+D"
  
 -#: cp/semantics.c:5411
 +#: cp/semantics.c:5610
@@ -280076,10 +285577,9 @@ Index: gcc/po/sv.po
  
 -#: cp/semantics.c:6135
 +#: cp/semantics.c:6111
-+#, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
++#, gcc-internal-format, gfc-internal-format
 +msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
-+msgstr "mallinstansieringsdjupet överskrider maxvärdet på %d (använd -ftemplate-depth= för att öka maxvärdet) vid instansiering av %qD"
++msgstr "beräkning av constexpr överskrider maxvärdet på %d (använd -fconstexpr-depth= för att öka maxvärdet)"
 +
 +#: cp/semantics.c:6189
  #, gcc-internal-format
@@ -280218,13 +285718,12 @@ Index: gcc/po/sv.po
  
 -#: cp/semantics.c:7519
 +#: cp/semantics.c:7621
-+#, fuzzy, gcc-internal-format
-+#| msgid "the value of %qD is not usable in a constant expression"
+ #, gcc-internal-format
 +msgid "use of the value of the object being constructed in a constant expression"
-+msgstr "värdet på %qD är inte användbart i ett konstant uttryck"
++msgstr "användning av värdet på objektet som konstrueras i ett konstant uttryck"
 +
 +#: cp/semantics.c:7670
- #, gcc-internal-format
++#, gcc-internal-format
  msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
  msgstr "typeid-uttryck är inte ett konstant uttryck eftersom %qE har polymorf typ"
  
@@ -280342,7 +285841,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "lang_* check: failed in %s, at %s:%d"
  msgstr "lang_*-kontroll: misslyckades i %s, vid %s:%d"
-@@ -31700,511 +31748,511 @@
+@@ -31700,511 +31732,511 @@
  msgid "conditional expression between distinct pointer types %qT and %qT lacks a cast"
  msgstr "villkorsuttryck mellan olika pekartyper %qT och %qT saknar en typkonvertering"
  
@@ -280955,7 +286454,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "cast from %qT to %qT increases required alignment of target type"
  msgstr "typkonvertering från %qT till %qT ökar kravet på justering för måltypen"
-@@ -32213,226 +32261,226 @@
+@@ -32213,226 +32245,226 @@
  #. where possible, and it is necessary in some cases.  DR 195
  #. addresses this issue, but as of 2004/10/26 is still in
  #. drafting.
@@ -281226,7 +286725,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "using xvalue (rvalue reference) as lvalue"
  msgstr "hjälp xvärde (rvärdesreferens) som lvärde"
-@@ -32713,12 +32761,12 @@
+@@ -32713,12 +32745,12 @@
  msgid "invalid value-initialization of reference type"
  msgstr "ogiltig värdeinitiering av referenstyper"
  
@@ -281241,7 +286740,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "call to function which throws incomplete type %q#T"
  msgstr "anrop till funktion som kastar ofullständig typ %q#T"
-@@ -32809,7 +32857,7 @@
+@@ -32809,7 +32841,7 @@
  msgstr "Vektorreferens vid %C kan inte ha mer än %d dimensioner"
  
  #: fortran/array.c:215 fortran/array.c:569 fortran/check.c:1975
@@ -281250,7 +286749,7 @@ Index: gcc/po/sv.po
  #: fortran/match.c:1758 fortran/match.c:2339 fortran/simplify.c:4590
  #, gcc-internal-format, gfc-internal-format
  msgid "Coarrays disabled at %C, use -fcoarray= to enable"
-@@ -32947,7 +32995,7 @@
+@@ -32947,7 +32979,7 @@
  
  #. Problems occur when we get something like
  #. integer :: a(lots) = (/(i, i=1, lots)/)
@@ -281259,7 +286758,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
  msgstr "Antalet element i vektorkonstrueraren vid %L kräver en ökning av den tillåtna övre gränsen %d.  Se flaggan -fmax-array-constructor"
-@@ -32987,7 +33035,7 @@
+@@ -32987,7 +33019,7 @@
  msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
  msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara INTEGER eller PROCEDURE"
  
@@ -281268,7 +286767,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
  msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara en konstant"
-@@ -33092,7 +33140,7 @@
+@@ -33092,7 +33124,7 @@
  msgid "Unequal character lengths (%ld/%ld) in %s at %L"
  msgstr "Olika teckenlängder (%ld/%ld) i %s vid %L"
  
@@ -281277,7 +286776,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
  msgstr "\"%s\"- och \"%s\"-argumenten till inbyggd \"%s\" vid %L måste ha samma typ"
-@@ -33103,7 +33151,7 @@
+@@ -33103,7 +33135,7 @@
  msgid "Extension: Different type kinds at %L"
  msgstr "Utökning: Olika typsorter vid %L"
  
@@ -281286,7 +286785,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
  msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara POINTER"
-@@ -33144,9 +33192,9 @@
+@@ -33144,9 +33176,9 @@
  msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste ha typen REAL eller INTEGER"
  
  #: fortran/check.c:1188 fortran/check.c:1702 fortran/check.c:1805
@@ -281299,7 +286798,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
  msgstr "Fortran 2003: inbyggd \"%s\" vid KIND-argument vid %L"
-@@ -33256,152 +33304,152 @@
+@@ -33256,152 +33288,152 @@
  msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
  msgstr "\"%s\"- och \"%s\"-argumenten till inbyggd \"%s\" vid %L måste ha samma sort %d/%d"
  
@@ -281482,7 +286981,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
  msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara INTEGER eller LOGICAL"
-@@ -33413,7 +33461,7 @@
+@@ -33413,7 +33445,7 @@
  
  #. Since the extension field is 8 bit wide, we can only have
  #. up to 255 extension levels.
@@ -281491,7 +286990,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Maximum extension level reached with type '%s' at %L"
  msgstr "Maximal utökningsnivå nådd med typen \"%s\" vid %L"
-@@ -33708,7 +33756,7 @@
+@@ -33708,7 +33740,7 @@
  msgid "Pointer initialization at %C requires '=>', not '='"
  msgstr "Pekarinitiering vid %C kräver \"=>\", inte \"=\""
  
@@ -281500,7 +286999,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Expected an initialization expression at %C"
  msgstr "Ett initieringsuttryck förväntades vid %C"
-@@ -33900,7 +33948,7 @@
+@@ -33900,7 +33932,7 @@
  msgid "Fortran 2008: CONTIGUOUS attribute at %C"
  msgstr "Fortran 2008: CONTIGUOUS-attribut vid %C"
  
@@ -281509,7 +287008,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "PROTECTED at %C only allowed in specification part of a module"
  msgstr "PROTECTED vid %C är endast tillåtet i specifikation av en del av en modul"
-@@ -34074,12 +34122,12 @@
+@@ -34074,12 +34106,12 @@
  msgid "Procedure '%s' at %L already has basic type of %s"
  msgstr "Procedur \"%s\" vid %L har redan en grundtyp %s"
  
@@ -281524,7 +287023,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Expected '::' after binding-attributes at %C"
  msgstr "\"::\" förväntades efter bindningsattribut vid %C"
-@@ -34342,407 +34390,413 @@
+@@ -34342,407 +34374,412 @@
  msgid "Fortran 2008: CONTIGUOUS statement at %C"
  msgstr "Fortran 2008: CONTIGUOUS-sats vid %C"
  
@@ -281668,13 +287167,12 @@ Index: gcc/po/sv.po
  
 -#: fortran/decl.c:7050
 +#: fortran/decl.c:7042
-+#, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "Fortran 2003: PROCEDURE statement at %C"
+ #, gcc-internal-format, gfc-internal-format
 +msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
-+msgstr "Fortran 2003: PROCEDURE-sats vid %C"
++msgstr "Fortran 2008: dubbelkolon i MODULE PROCEDURE-sats vid %L"
 +
 +#: fortran/decl.c:7076
- #, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
  msgstr "Den inbyggda proceduren vid %L kan inte vara en MODULE PROCEDURE"
  
@@ -282019,7 +287517,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
  msgstr "Syntaxfel i !GCC$ ATTRIBUTES-sats vid %C"
-@@ -34777,452 +34831,452 @@
+@@ -34777,452 +34814,452 @@
  msgid "Internal Error at (1):"
  msgstr "Internt fel vid (1):"
  
@@ -282562,7 +288060,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Associate-name '%s' can not appear in a variable definition context (%s) at %L because its target at %L can not, either"
  msgstr "Associationsnamn \"%s\" kan inte förekomma i ett variabeldefinitionssammanhang (%s) vid %L eftersom dess mål vid %L inte heller kan"
-@@ -35342,12 +35396,12 @@
+@@ -35342,12 +35379,12 @@
  msgid "Second argument of defined assignment at %L must be INTENT(IN)"
  msgstr "Andra argumentet av definierad tilldelning vid %L måste vara INTENT(IN)"
  
@@ -282577,19 +288075,18 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Second argument of operator interface at %L must be INTENT(IN)"
  msgstr "Andra argumentet till operatorgränssnitt vid %L måste vara INTENT(IN)"
-@@ -35372,332 +35426,338 @@
+@@ -35372,332 +35409,337 @@
  msgid "In %s at %L procedures must be either all SUBROUTINEs or all FUNCTIONs"
  msgstr "I %s vid %L måste procedurerna antingen alla vara SUBROUTINE eller alla vara FUNCTION"
  
 -#: fortran/interface.c:1182 fortran/interface.c:1186
 +#: fortran/interface.c:1133
-+#, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "Extension: Conversion from %s to %s at %L"
+ #, gcc-internal-format, gfc-internal-format
 +msgid "Extension: Internal procedure '%s' in %s at %L"
-+msgstr "Utökning: Konvertering från %s till %s vid %L"
++msgstr "Utökning: Intern procedur \"%s\" i %s vid %L"
 +
 +#: fortran/interface.c:1188 fortran/interface.c:1192
- #, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
  msgstr "Tvetydiga gränssnitt \"%s\" och \"%s\" i %s vid %L"
  
@@ -282982,7 +288479,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Entity '%s' at %C is already present in the interface"
  msgstr "Entitet \"%s\" vid %C finns redan i gränssnittet"
-@@ -35792,7 +35852,7 @@
+@@ -35792,7 +35834,7 @@
  msgid "'%s' declared at %L is also the name of an intrinsic.  It can only be called via an explicit interface or if declared EXTERNAL."
  msgstr "\"%s\" deklarerad vid %L är också namnet på en inbyggd.  Den kan bara anropas via ett explicit gränssnitt eller om den deklareras EXTERNAL."
  
@@ -282991,7 +288488,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Extension: backslash character at %C"
  msgstr "Utökning: omvänt snedstreck vid %C"
-@@ -36183,7 +36243,7 @@
+@@ -36183,7 +36225,7 @@
  msgstr "Förväntade uttryck i %s-sats vid %C"
  
  #. A general purpose syntax error.
@@ -283000,7 +288497,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Syntax error in %s statement at %C"
  msgstr "Syntaxfel i %s-sats vid %C"
-@@ -36957,122 +37017,122 @@
+@@ -36957,122 +36999,122 @@
  msgid "Error writing modules file: %s"
  msgstr "Fel när modulfil skrevs: %s"
  
@@ -283147,7 +288644,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format
  msgid "Can't USE the same module we're building!"
  msgstr "Det går inta att USE samma modul vi bygger!"
-@@ -37152,7 +37212,7 @@
+@@ -37152,7 +37194,7 @@
  msgid "Unexpected junk after NOWAIT clause at %C"
  msgstr "Oväntat skräp efter NOWAIT-klausul vid %C"
  
@@ -283156,7 +288653,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "IF clause at %L requires a scalar LOGICAL expression"
  msgstr "IF-klausul vid %L kräver ett skalärt LOGICAL-uttryck"
-@@ -37353,107 +37413,107 @@
+@@ -37353,107 +37395,107 @@
  msgid "not enough DO loops for collapsed !$OMP DO at %L"
  msgstr "inte tillräckligt med DO-slingor för kollapsad !$OMP DO vid %L"
  
@@ -283285,7 +288782,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Maximum subrecord length cannot exceed %d"
  msgstr "Maximal delpostlängd får inte överstiga %d"
-@@ -37623,177 +37683,177 @@
+@@ -37623,177 +37665,177 @@
  msgid "Fortran 2003:  CONTAINS block in derived type definition at %C"
  msgstr "Fortran 2003:  CONTAINS-block i härledd typdefinition vid %C"
  
@@ -283498,7 +288995,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Unexpected %s statement in MODULE at %C"
  msgstr "Oväntad %s-sats i MODULE vid %C"
-@@ -37801,7 +37861,7 @@
+@@ -37801,7 +37843,7 @@
  #. If we see a duplicate main program, shut down.  If the second
  #. instance is an implied main program, i.e. data decls or executable
  #. statements, we're in for lots of errors.
@@ -283507,19 +289004,18 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Two main PROGRAMs at %L and %C"
  msgstr "Två huvud-PROGRAM vid %L och %C"
-@@ -37871,232 +37931,250 @@
+@@ -37871,232 +37913,247 @@
  msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
  msgstr "Fortran 2003: BOZ använd utanför en DATA-sats vid %C"
  
 -#: fortran/primary.c:556
 +#: fortran/primary.c:547 fortran/primary.c:551
-+#, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "Extension: Hollerith constant at %C"
+ #, gcc-internal-format, gfc-internal-format
 +msgid "Extension: exponent-letter 'q' in real-literal-constant at %C"
-+msgstr "Utökning: Hollerithkonstant vid %C"
++msgstr "Utökning: exponentbokstav \"q\" i reeel literal konstant vid %C"
 +
 +#: fortran/primary.c:567
- #, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Missing exponent in real number at %C"
  msgstr "Exponent saknas i reellt tal vid %C"
  
@@ -283531,19 +289027,17 @@ Index: gcc/po/sv.po
  
 -#: fortran/primary.c:625
 +#: fortran/primary.c:633
-+#, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ #, gcc-internal-format, gfc-internal-format
 +msgid "Real number at %C has a 'q' exponent and an explicit kind"
-+msgstr "Reellt tal vid %C har en \"d\"-exponent och en explicit sort"
++msgstr "Reellt tal vid %C har en \"q\"-exponent och en explicit sort"
 +
 +#: fortran/primary.c:647
-+#, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "Invalid initializer %s in Data statement at %C"
++#, gcc-internal-format, gfc-internal-format
 +msgid "Invalid exponent-letter 'q' in real-literal-constant at %C"
-+msgstr "Ogiltig initierare %s på DATA-sats vid %C"
++msgstr "Ogiltig exponentbokstav \"q\" i reell literal konstant vid %C"
 +
 +#: fortran/primary.c:660
- #, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Invalid real kind %d at %C"
  msgstr "Ogiltig reell sort %d vid %C"
  
@@ -283804,7 +289298,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' at %C is not a variable"
  msgstr "\"%s\" vid %C är inte en variabel"
-@@ -38146,943 +38224,943 @@
+@@ -38146,943 +38203,943 @@
  msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
  msgstr "Attrapprocedur vid %L är inte tillåten i ELEMENTAL-procedur"
  
@@ -284935,7 +290429,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Allocate-object at %L is subobject of object at %L"
  msgstr "Allokeringsobjekt vid %L är underobjet till objekt vid %L"
-@@ -39091,160 +39169,160 @@
+@@ -39091,160 +39148,160 @@
  #. element in the list.  Either way, we must
  #. issue an error and get the next case from P.
  #. FIXME: Sort P and Q by line number.
@@ -285127,7 +290621,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
  msgstr "GOTO-sats vid %L lämnar CRITICAL-konstruktion för etikett vid %L"
-@@ -39252,1005 +39330,1005 @@
+@@ -39252,1005 +39309,1005 @@
  #. The label is not in an enclosing block, so illegal.  This was
  #. allowed in Fortran 66, so we allow it as extension.  No
  #. further checks are necessary in this case.
@@ -286332,7 +291826,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
  msgstr "Innesluten procedur \"%s\" vid %L i en PURE-procedur måste också vara PURE"
-@@ -40952,22 +41030,22 @@
+@@ -40952,22 +41009,22 @@
  msgstr "BOZ-konstant vid %L är för stor (%ld jämfört med %ld bitar)"
  
  #: fortran/trans-array.c:775 fortran/trans-array.c:4932
@@ -286359,7 +291853,7 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "bad expression type during walk (%d)"
  msgstr "felaktig uttryckstyp under genomlöpning (%d)"
-@@ -41053,47 +41131,47 @@
+@@ -41053,47 +41110,47 @@
  msgid "intrinsic variable which isn't a procedure"
  msgstr "inbyggd variabel som inte är en procedur"
  
@@ -286416,31 +291910,21 @@ Index: gcc/po/sv.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Return value '%s' of function '%s' declared at %L not set"
  msgstr "Returvärdet \"%s\" för funktionen \"%s\" deklarerad vid %L är inte satt"
-@@ -42496,3 +42574,12 @@
- #, gcc-internal-format
- msgid "creating selector for nonexistent method %qE"
- msgstr "skapar selektor för icke existerande metod %qE"
-+
-+#~ msgid "Conform to the ISO 1998 C++ standard"
-+#~ msgstr "Följ standarden ISO 1998 C++"
-+
-+#~ msgid "parameter packs must be at the end of the parameter list"
-+#~ msgstr "parameterpaket måste vara vid slutet av parameterlistan"
-+
-+#~ msgid "enclosing class of %q#D is not a literal type"
-+#~ msgstr "omslutande klass till %q#D är inte en literal typ"
 Index: gcc/po/de.po
 ===================================================================
---- gcc/po/de.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/de.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -8,8 +8,8 @@
+--- gcc/po/de.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/de.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -6,10 +6,10 @@
+ # Roland Stigge <stigge@antcom.de>, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011.
+ msgid ""
  msgstr ""
- "Project-Id-Version: gcc 4.6.0\n"
+-"Project-Id-Version: gcc 4.6.0\n"
++"Project-Id-Version: gcc 4.6.1\n"
  "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
 -"POT-Creation-Date: 2011-03-24 16:45+0000\n"
 -"PO-Revision-Date: 2011-06-24 13:27+0100\n"
 +"POT-Creation-Date: 2011-06-21 10:27+0000\n"
-+"PO-Revision-Date: 2011-06-30 12:55+0100\n"
++"PO-Revision-Date: 2011-07-31 14:14+0200\n"
  "Last-Translator: Roland Stigge <stigge@antcom.de>\n"
  "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
  "Language: de\n"
@@ -288493,14 +293977,12 @@ Index: gcc/po/de.po
  msgid "No longer supported"
  msgstr "Wird nicht mehr unterstützt"
  
-@@ -9306,396 +9314,404 @@
+@@ -9306,396 +9314,400 @@
  msgstr "-fconst-string-class=<Name>\tKlasse <Name> für konstante Zeichenketten verwenden"
  
  #: c-family/c.opt:724
-+#, fuzzy
-+#| msgid "-ftemplate-depth=<number>\tSpecify maximum template instantiation depth"
 +msgid "-fconstexpr-depth=<number>\tSpecify maximum constexpr recursion depth"
-+msgstr "-ftemplate-depth=<Zahl>\tGrößte Template-Instantiierungstiefe angeben"
++msgstr "-fconstexpr-depth=<Zahl>\tGrößte Rekursionstiefe für konstante Ausdrücke angeben"
 +
 +#: c-family/c.opt:728
  msgid "-fno-deduce-init-list\tdisable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list"
@@ -288914,10 +294396,8 @@ Index: gcc/po/de.po
 -msgid "Conform to the ISO 1998 C++ standard"
 -msgstr "Mit dem Standard ISO 1998 C++ übereinstimmen"
 +#: c-family/c.opt:1140 c-family/c.opt:1144
-+#, fuzzy
-+#| msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
 +msgid "Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum"
-+msgstr "Mit dem Standard ISO 1998 C++ mit GNU-Erweiterungen übereinstimmen"
++msgstr "Mit dem Standard ISO 1998 C++ (mit technischen Korrekturen 2003 überarbeitet) übereinstimmen"
  
 -#: c-family/c.opt:1140
 +#: c-family/c.opt:1148
@@ -288999,7 +294479,7 @@ Index: gcc/po/de.po
  msgid "Do not predefine system-specific and GCC-specific macros"
  msgstr "Keine system- oder GCC-spezifischen Makros vordefinieren"
  
-@@ -9755,1425 +9771,1425 @@
+@@ -9755,1425 +9767,1425 @@
  msgid "Optimize for speed disregarding exact standards compliance"
  msgstr "Optimiert auf Geschwindigkeit unter Missachtung genauer Standardkonformität"
  
@@ -290779,7 +296259,7 @@ Index: gcc/po/de.po
  msgid "Create a position independent executable"
  msgstr "Eine lageunabhängige ausführbare Datei erzeugen"
  
-@@ -11642,7 +11658,7 @@
+@@ -11642,7 +11654,7 @@
  
  #. All valid uses of __builtin_va_arg_pack () are removed during
  #. inlining.
@@ -290788,7 +296268,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
  msgstr "%Kungültige Verwendung von %<__builtin_va_arg_pack ()%>"
-@@ -11736,8 +11752,8 @@
+@@ -11736,8 +11748,8 @@
  #. an unprototyped function, it is compile-time undefined;
  #. making it a constraint in that case was rejected in
  #. DR#252.
@@ -290799,7 +296279,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "void value not ignored as it ought to be"
  msgstr "void-Wert nicht ignoriert wie es sein sollte"
-@@ -12052,7 +12068,7 @@
+@@ -12052,7 +12064,7 @@
  msgid "each undeclared identifier is reported only once for each function it appears in"
  msgstr "jeder nicht deklarierte Bezeichner wird nur einmal für jede Funktion, in der er vorkommt, gemeldet"
  
@@ -290808,7 +296288,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "label %qE referenced outside of any function"
  msgstr "Marke %qE außerhalb einer Funktion referenziert"
-@@ -12087,7 +12103,7 @@
+@@ -12087,7 +12099,7 @@
  msgid "duplicate label declaration %qE"
  msgstr "Doppelte Markendeklaration %qE"
  
@@ -290817,7 +296297,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "duplicate label %qD"
  msgstr "doppelte Marke %qD"
-@@ -12117,7 +12133,7 @@
+@@ -12117,7 +12129,7 @@
  msgid "%qE defined as wrong kind of tag"
  msgstr "%qE als falsche Symbolart definiert"
  
@@ -290826,7 +296306,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "invalid use of %<restrict%>"
  msgstr "Ungültige Verwendung von %<restrict%>"
-@@ -12220,7 +12236,7 @@
+@@ -12220,7 +12232,7 @@
  #. of VLAs themselves count as VLAs, it does not make
  #. sense to permit them to be initialized given that
  #. ordinary VLAs may not be initialized.
@@ -290835,7 +296315,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "variable-sized object may not be initialized"
  msgstr "Objekt variabler Größe darf nicht initialisiert werden"
-@@ -12230,7 +12246,7 @@
+@@ -12230,7 +12242,7 @@
  msgid "variable %qD has initializer but incomplete type"
  msgstr "Variable %qD hat Initialisierung, aber unvollständigen Typ"
  
@@ -290844,7 +296324,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "inline function %q+D given attribute noinline"
  msgstr "inline-Funktion %q+D wurde das Attribut »noinline« gegeben"
-@@ -12240,7 +12256,7 @@
+@@ -12240,7 +12252,7 @@
  msgid "uninitialized const member in %qT is invalid in C++"
  msgstr "nicht initialisiertes konstantes Element %qT ist in C++ ungültig"
  
@@ -290853,7 +296333,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%qD should be initialized"
  msgstr "%qD sollte initialisiert werden"
-@@ -12370,7 +12386,7 @@
+@@ -12370,7 +12382,7 @@
  msgid "variable length array %qE is used"
  msgstr "Feld %qE variabler Größe wird verwendet"
  
@@ -290862,7 +296342,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "variable length array is used"
  msgstr "Feld variabler Größe wird verwendet"
-@@ -12455,7 +12471,7 @@
+@@ -12455,7 +12467,7 @@
  msgid "storage class specified for unnamed parameter"
  msgstr "Speicherklasse für unbenannten Parameter angegeben"
  
@@ -290871,7 +296351,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "storage class specified for typename"
  msgstr "Speicherklasse für Typnamen angegeben"
-@@ -12604,7 +12620,7 @@
+@@ -12604,7 +12616,7 @@
  msgid "function definition has qualified void return type"
  msgstr "Funktionsdefinition hat qualifizierten void-Rückgabetypen"
  
@@ -290880,7 +296360,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "type qualifiers ignored on function return type"
  msgstr "Typkennzeichner an Funktions-Rückgabewert ignoriert"
-@@ -12665,7 +12681,7 @@
+@@ -12665,7 +12677,7 @@
  msgid "a member of a structure or union cannot have a variably modified type"
  msgstr "Ein Element einer Struktur oder Union kann nicht variabel modifizierten Typ haben"
  
@@ -290889,7 +296369,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "variable or field %qE declared void"
  msgstr "Variable oder Feld %qE als »void« deklariert"
-@@ -12827,7 +12843,7 @@
+@@ -12827,7 +12839,7 @@
  msgid "defining type in %qs expression is invalid in C++"
  msgstr "Typdefinition in Ausdruck %qs ist in C++ ungültig"
  
@@ -290898,7 +296378,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "declaration does not declare anything"
  msgstr "Deklaration deklariert nichts"
-@@ -13063,7 +13079,7 @@
+@@ -13063,7 +13075,7 @@
  msgid "argument %qD doesn%'t match prototype"
  msgstr "Argument %qD passt nicht zum Prototypen"
  
@@ -290907,7 +296387,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "no return statement in function returning non-void"
  msgstr "keine return-Anweisung in nicht void zurückgebender Funktion"
-@@ -13266,7 +13282,7 @@
+@@ -13266,7 +13278,7 @@
  msgid "unknown type name %qE"
  msgstr "unbekannter Typname: %qE"
  
@@ -290916,7 +296396,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "expected declaration specifiers"
  msgstr "Deklarationsspezifizierer erwartet"
-@@ -13276,7 +13292,7 @@
+@@ -13276,7 +13288,7 @@
  msgid "expected %<;%>, identifier or %<(%>"
  msgstr "%<;%>, Bezeichner oder %<(%> erwartet"
  
@@ -290925,7 +296405,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "prefix attributes are ignored for methods"
  msgstr "Präfixattribute werden für Methoden ignoriert"
-@@ -13296,7 +13312,7 @@
+@@ -13296,7 +13308,7 @@
  msgid "data definition has no type or storage class"
  msgstr "Datendefinition hat keinen Typ oder Speicherklasse"
  
@@ -290934,7 +296414,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "expected %<,%> or %<;%>"
  msgstr "%<,%> oder %<;%> erwartet"
-@@ -13324,7 +13340,7 @@
+@@ -13324,7 +13336,7 @@
  msgid "ISO C90 does not support %<_Static_assert%>"
  msgstr "ISO-C90 unterstützt nicht %<_Static_assert%>"
  
@@ -290943,7 +296423,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "expected string literal"
  msgstr "Zeichenkettenliteral erwartet"
-@@ -13345,7 +13361,7 @@
+@@ -13345,7 +13357,7 @@
  msgstr "Ausdruck in statischer Behauptung ist nicht konstant"
  
  #. Report the error.
@@ -290952,7 +296432,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "static assertion failed: %E"
  msgstr "statische Behauptung gescheitert: %E"
-@@ -13357,13 +13373,13 @@
+@@ -13357,13 +13369,13 @@
  #: c-parser.c:7034 c-parser.c:7042 c-parser.c:7071 c-parser.c:7085
  #: c-parser.c:7388 c-parser.c:7512 c-parser.c:7939 c-parser.c:7974
  #: c-parser.c:8027 c-parser.c:8080 c-parser.c:8096 c-parser.c:8142
@@ -290969,7 +296449,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "comma at end of enumerator list"
  msgstr "Komma am Ende der Aufzählungsliste"
-@@ -13483,7 +13499,7 @@
+@@ -13483,7 +13495,7 @@
  msgid "expected %<}%> before %<else%>"
  msgstr "%<}%> vor %<else%> erwartet"
  
@@ -290978,7 +296458,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%<else%> without a previous %<if%>"
  msgstr "%<else%> ohne vorheriges %<if%>"
-@@ -13512,17 +13528,17 @@
+@@ -13512,17 +13524,17 @@
  #. c_parser_skip_until_found stops at a closing nesting
  #. delimiter without consuming it, but here we need to consume
  #. it to proceed further.
@@ -290999,7 +296479,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "suggest braces around empty body in an %<else%> statement"
  msgstr "geschweifte Klammern um leeren Körper in einer %<else%>-Anweisung empfohlen"
-@@ -13632,72 +13648,72 @@
+@@ -13632,72 +13644,72 @@
  msgid "no type or storage class may be specified here,"
  msgstr "hier darf kein Typ oder Speicherklasse angegeben werden,"
  
@@ -291086,7 +296566,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "expected %<none%> or %<shared%>"
  msgstr "%<none%> oder %<shared%> erwartet"
-@@ -13712,37 +13728,37 @@
+@@ -13712,37 +13724,37 @@
  msgid "%<num_threads%> value must be positive"
  msgstr "Wert von %<num_threads%> muss positiv sein"
  
@@ -291131,7 +296611,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "invalid operator for %<#pragma omp atomic%>"
  msgstr "ungültiger Operator für %<#pragma omp atomic%>"
-@@ -13752,12 +13768,12 @@
+@@ -13752,12 +13764,12 @@
  msgid "expected %<(%> or end of line"
  msgstr "%<(%> oder Zeilenende erwartet"
  
@@ -291146,7 +296626,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "expected iteration declaration or initialization"
  msgstr "Schleifendeklaration oder Initialisierung erwartet"
-@@ -13767,12 +13783,12 @@
+@@ -13767,12 +13779,12 @@
  msgid "not enough perfectly nested loops"
  msgstr "nicht genügend perfekt geschachtelte Schleifen"
  
@@ -291161,7 +296641,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "iteration variable %qD should not be firstprivate"
  msgstr "Schleifenvariable %qD sollte nicht »firstprivate« sein"
-@@ -13782,17 +13798,17 @@
+@@ -13782,17 +13794,17 @@
  msgid "%qD is not a variable"
  msgstr "%qD ist keine Variable"
  
@@ -291182,7 +296662,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%<threadprivate%> %qE has incomplete type"
  msgstr "%<threadprivate%> %qE hat unvollständigen Typen"
-@@ -13802,7 +13818,7 @@
+@@ -13802,7 +13814,7 @@
  msgid "%qD has an incomplete type"
  msgstr "%qD hat unvollständigen Typ"
  
@@ -291191,7 +296671,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "invalid use of void expression"
  msgstr "falsche Benutzung eines void-Ausdruckes"
-@@ -13898,7 +13914,7 @@
+@@ -13898,7 +13910,7 @@
  msgid "subscripted value is neither array nor pointer nor vector"
  msgstr "indizierter Wert ist weder Feld noch Zeiger noch Vektor"
  
@@ -291200,7 +296680,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "array subscript is not an integer"
  msgstr "Feldindex ist keine Ganzzahl"
-@@ -13951,12 +13967,12 @@
+@@ -13951,12 +13963,12 @@
  msgid "too many arguments to method %qE"
  msgstr "zu viele Argumente für Methode %qE"
  
@@ -291215,7 +296695,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "declared here"
  msgstr "hier deklariert"
-@@ -14021,12 +14037,12 @@
+@@ -14021,12 +14033,12 @@
  msgid "passing argument %d of %qE as signed due to prototype"
  msgstr "Übergabe des Arguments %d von %qE als vorzeichenbehaftet aufgrund des Prototyps"
  
@@ -291230,7 +296710,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "too few arguments to function %qE"
  msgstr "Zu wenige Argumente für Funktion %qE"
-@@ -14101,17 +14117,17 @@
+@@ -14101,17 +14113,17 @@
  msgid "taking address of expression of type %<void%>"
  msgstr "Adresse des Ausdrucks des Typs %<void%> wird genommen"
  
@@ -291251,7 +296731,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "decrement of read-only location %qE"
  msgstr "Verringerung der schreibgeschützten Speicherstelle %qE"
-@@ -14146,7 +14162,7 @@
+@@ -14146,7 +14158,7 @@
  msgid "non-lvalue array in conditional expression"
  msgstr "Nicht-L-Wert-Feld in bedingtem Ausdruck"
  
@@ -291260,7 +296740,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "implicit conversion from %qT to %qT to match other result of conditional"
  msgstr "implizite Umwandlung von %qT in %qT um an anderes Ergebnis von Bedingung anzupassen"
-@@ -14254,7 +14270,7 @@
+@@ -14254,7 +14266,7 @@
  msgid "cast from function call of type %qT to non-matching type %qT"
  msgstr "Typumwandlung von Funktionsaufruf des Typs %qT in unpassenden Typen %qT"
  
@@ -291269,7 +296749,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "cast to pointer from integer of different size"
  msgstr "Typkonvertierung in Zeiger von Ganzzahl anderer Breite"
-@@ -14296,7 +14312,7 @@
+@@ -14296,7 +14308,7 @@
  msgid "enum conversion when passing argument %d of %qE is invalid in C++"
  msgstr "Enum-Umwandlung bei Übergabe des Arguments %d von %qE ist in C++ ungültig"
  
@@ -291278,7 +296758,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "enum conversion in initialization is invalid in C++"
  msgstr "enum-Umwandlung in Initialisierung ist in C++ ungültig"
-@@ -14388,7 +14404,7 @@
+@@ -14388,7 +14400,7 @@
  msgid "initialization left-hand side might be a candidate for a format attribute"
  msgstr "Linke-Initialisierung könnte Kandidat für Formatattribut sein"
  
@@ -291287,7 +296767,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "return type might be a candidate for a format attribute"
  msgstr "Rückgabetyp könnte Kandidat für Formatattribut sein"
-@@ -14455,7 +14471,7 @@
+@@ -14455,7 +14467,7 @@
  
  #. ??? This should not be an error when inlining calls to
  #. unprototyped functions.
@@ -291296,7 +296776,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "invalid use of non-lvalue array"
  msgstr "ungültige Verwendung eines Nicht-L-Wert-Feldes"
-@@ -14500,7 +14516,7 @@
+@@ -14500,7 +14512,7 @@
  msgid "return makes integer from pointer without a cast"
  msgstr "return erzeugt Ganzzahl von Zeiger ohne Typkonvertierung"
  
@@ -291305,7 +296785,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "incompatible type for argument %d of %qE"
  msgstr "Inkompatibler Typ für Argument %d von %qE"
-@@ -14525,428 +14541,428 @@
+@@ -14525,428 +14537,428 @@
  msgid "traditional C rejects automatic aggregate initialization"
  msgstr "traditionelles C lehnt automatische Gesamt-Initialisierung ab"
  
@@ -291820,7 +297300,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "function call has aggregate value"
  msgstr "Funktionsaufruf hat zusammengesetzten Wert"
-@@ -14956,12 +14972,12 @@
+@@ -14956,12 +14968,12 @@
  msgid "size of variable %q+D is too large"
  msgstr "Größe der Variablen %q+D ist zu hoch"
  
@@ -291835,7 +297315,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "stack protector not protecting function: all local arrays are less than %d bytes long"
  msgstr "Stack-Schutz schützt nicht Funktion: Alle lokalen Felder sind kleiner als %d Bytes"
-@@ -15366,7 +15382,7 @@
+@@ -15366,7 +15378,7 @@
  msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
  msgstr "Anzahl der bb-Vermerke in Befehlskette (%d) != n_basic_blocks (%d)"
  
@@ -291844,7 +297324,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%D renamed after being referenced in assembly"
  msgstr "%D nach Referenzierung in Assemblierung umbenannt"
-@@ -15741,7 +15757,7 @@
+@@ -15741,7 +15753,7 @@
  msgid "          %s"
  msgstr "          %s"
  
@@ -291853,7 +297333,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "common symbol debug info is not structured as symbol+offset"
  msgstr ""
-@@ -15761,17 +15777,17 @@
+@@ -15761,17 +15773,17 @@
  msgid "dominator of %d should be %d, not %d"
  msgstr "Herrscher über %d sollte %d sein, nicht %d"
  
@@ -291874,7 +297354,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "non-delegitimized UNSPEC %d found in variable location"
  msgstr ""
-@@ -15861,37 +15877,37 @@
+@@ -15861,37 +15873,37 @@
  msgid "stack limits not supported on this target"
  msgstr "Kellergrenzen nicht für dieses Ziel unterstützt"
  
@@ -291919,7 +297399,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%Kcall to %qs declared with attribute warning: %s"
  msgstr "%KAufruf von %qs mit Attributwarnung deklariert: %s"
-@@ -15906,12 +15922,12 @@
+@@ -15906,12 +15918,12 @@
  msgid "the frame size of %wd bytes is larger than %wd bytes"
  msgstr "die Rahmengröße von %wd Bytes überschreitet %wd Bytes"
  
@@ -291934,7 +297414,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "could not close final insn dump file %qs: %m"
  msgstr "endgültige Abzugsdatei %qs der Anweisungen konnte nicht geschlossen werden: %m"
-@@ -15926,27 +15942,27 @@
+@@ -15926,27 +15938,27 @@
  msgid "assuming signed overflow does not occur when negating a division"
  msgstr "Annahme, dass vorzeichenbehafteter Überlauf nicht auftritt, wenn Division negiert wird"
  
@@ -291967,7 +297447,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%<and%> of mutually exclusive equal-tests is always 0"
  msgstr "»und« sich gegenseitig ausschließender Gleichheits-Tests ist immer 0"
-@@ -15976,7 +15992,7 @@
+@@ -15976,7 +15988,7 @@
  msgid "total size of local objects too large"
  msgstr "Gesamtgröße der lokalen Objekte zu hoch"
  
@@ -291976,7 +297456,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "impossible constraint in %<asm%>"
  msgstr "unmögliche Bedingung in »asm«"
-@@ -16420,62 +16436,62 @@
+@@ -16420,62 +16432,62 @@
  msgid "using result of function returning %<void%>"
  msgstr "Ergebnis einer %<void%> zurückgebenden Funktion verwendet"
  
@@ -292051,7 +297531,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "gimplification failed"
  msgstr "Gimplifikation gescheitert"
-@@ -16575,22 +16591,22 @@
+@@ -16575,22 +16587,22 @@
  msgid "At most %i profile runs is supported. Perhaps corrupted profile?"
  msgstr ""
  
@@ -292078,7 +297558,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "cannot find LTO section refs in %s"
  msgstr "LTO-Abschnittsreferenzen können nicht in %s gefunden werden"
-@@ -16661,22 +16677,22 @@
+@@ -16661,22 +16673,22 @@
  msgid "bytecode stream: unknown GIMPLE statement tag %s"
  msgstr "Bytecode-Strom: unbekannte GIMPLE-Anweisungsmarke %s"
  
@@ -292105,7 +297585,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "target specific builtin not available"
  msgstr "zielspezifische eingebaute Funktion ist nicht verfügbar"
-@@ -16776,18 +16792,18 @@
+@@ -16776,18 +16788,18 @@
  msgid "critical region may not be nested inside a critical region with the same name"
  msgstr "kritische Region darf nicht innerhalb einer kritischen Region mit gleichem Namen geschachtelt werden"
  
@@ -292127,7 +297607,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "invalid branch to/from an OpenMP structured block"
  msgstr "ungültiger Zweig zu/von strukturiertem OpenMP-Block"
-@@ -17207,9 +17223,9 @@
+@@ -17207,9 +17219,9 @@
  msgid "can%'t use %qs as a fixed register"
  msgstr "%qs kann nicht als ein festes Register verwendet werden"
  
@@ -292140,7 +297620,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "unknown register name: %s"
  msgstr "unbekannter Registername: %s"
-@@ -17284,12 +17300,12 @@
+@@ -17284,12 +17296,12 @@
  msgid "%<asm%> operand requires impossible reload"
  msgstr "%<asm%>-Operand erfordert unmögliches Neuladen"
  
@@ -292155,7 +297635,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "output operand is constant in %<asm%>"
  msgstr "Ausgabeoperand ist in %<asm%> konstant"
-@@ -17449,7 +17465,7 @@
+@@ -17449,7 +17461,7 @@
  msgid "undefined named operand %qs"
  msgstr "benannter Operand %qs ist nicht definiert"
  
@@ -292164,7 +297644,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "value computed is not used"
  msgstr "berechneter Wert ist unbenutzt"
-@@ -17734,7 +17750,7 @@
+@@ -17734,7 +17746,7 @@
  msgid "MODIFY_EXPR not expected while having tuples"
  msgstr "MODIFY_EXPR nicht erwartet während es Tupel gibt"
  
@@ -292173,7 +297653,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "address taken, but ADDRESSABLE bit not set"
  msgstr "Adresse genommen, aber ADDRESSABLE-Bit nicht gesetzt"
-@@ -18104,7 +18120,7 @@
+@@ -18104,7 +18116,7 @@
  msgid "invalid pure const state for function"
  msgstr "ungültiger »pure const«-Status für Funktion"
  
@@ -292182,7 +297662,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "in statement"
  msgstr "in Anweisung"
-@@ -18249,22 +18265,22 @@
+@@ -18249,22 +18261,22 @@
  msgid "missing edge %i->%i"
  msgstr "Fehlende Kante %i->%i"
  
@@ -292209,7 +297689,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "ignoring return value of function declared with attribute warn_unused_result"
  msgstr "Rückgabewert der mit dem Attribut warn_unused_result definierten Funktion wird ignoriert"
-@@ -18279,112 +18295,112 @@
+@@ -18279,112 +18291,112 @@
  msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
  msgstr "unbekannte Option %q.*s in %<-fdump-%s%> wird ignoriert"
  
@@ -292344,7 +297824,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "called from here"
  msgstr "von hier aufgerufen"
-@@ -18430,380 +18446,380 @@
+@@ -18430,380 +18442,380 @@
  msgid "unimplemented functionality"
  msgstr "nicht implementierte Funktionalität"
  
@@ -292815,7 +298295,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "type is deprecated"
  msgstr "Typ ist veraltet"
-@@ -18833,12 +18849,12 @@
+@@ -18833,12 +18845,12 @@
  msgid "corrupted value profile: %s profile counter (%d out of %d) inconsistent with basic-block count (%d)"
  msgstr "beschädigtes Werteprofil: %s-Profiler-Gesamtzähler (%d aus %d) passt nicht zum BB-Zähler (%d)"
  
@@ -292830,7 +298310,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "variable tracking size limit exceeded"
  msgstr ""
-@@ -18999,8 +19015,8 @@
+@@ -18999,8 +19011,8 @@
  msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
  msgstr "Zeichenkettenlänge %qd ist größer als die Länge %qd, die von ISO-C%d-Compilern unterstützt werden muss"
  
@@ -292841,7 +298321,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "overflow in constant expression"
  msgstr "Überlauf in Konstanten-Ausdruck"
-@@ -19175,857 +19191,857 @@
+@@ -19175,857 +19187,857 @@
  msgid "invalid operands to binary %s (have %qT and %qT)"
  msgstr "Ungültige Operanden für binäres %s (haben %qT und %qT)"
  
@@ -293870,7 +299350,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "comparison of promoted ~unsigned with unsigned"
  msgstr "Vergleich von weitergegebenem ~unsigned mit unsigned"
-@@ -20472,7 +20488,7 @@
+@@ -20472,7 +20484,7 @@
  msgid "invalid expression type for %<#pragma omp atomic%>"
  msgstr "ungültiger Ausdruckstyp für %<#pragma omp atomic%>"
  
@@ -293879,7 +299359,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "invalid type for iteration variable %qE"
  msgstr "ungültiger Typ für Schleifenvariable %qE"
-@@ -20482,22 +20498,22 @@
+@@ -20482,22 +20494,22 @@
  msgid "%qE is not initialized"
  msgstr "%qE ist nicht initialisiert"
  
@@ -293906,7 +299386,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "invalid increment expression"
  msgstr "Erhöhungsausdruck ungültig"
-@@ -21177,88 +21193,88 @@
+@@ -21177,88 +21189,88 @@
  msgid "profiler support for VxWorks"
  msgstr "Profilerunterstützung für VxWorks"
  
@@ -294013,7 +299493,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "bad builtin fcode"
  msgstr "Falscher eingebauter fcode"
-@@ -21463,15 +21479,15 @@
+@@ -21463,15 +21475,15 @@
  msgid "Thumb-1 hard-float VFP ABI"
  msgstr "Thumb-1 Hardware-Gleitkomma VFP ABI"
  
@@ -294036,7 +299516,7 @@ Index: gcc/po/de.po
  #: config/stormy16/stormy16.c:2191 config/v850/v850.c:2134
  #, gcc-internal-format
  msgid "%qE attribute only applies to functions"
-@@ -21524,133 +21540,138 @@
+@@ -21524,133 +21536,138 @@
  msgid "static variable %q+D is marked dllimport"
  msgstr "statische Variable %q+D ist als »dllimport« markiert"
  
@@ -294201,7 +299681,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%qE attribute cannot be specified for local variables"
  msgstr "Attribut %qE kann nicht für lokale Variablen angegeben werden"
-@@ -22044,329 +22065,331 @@
+@@ -22044,329 +22061,329 @@
  msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
  msgstr "Stack-Überprüfung erfordert %saccumulate-outgoing-args%s für Korrektheit"
  
@@ -294462,22 +299942,20 @@ Index: gcc/po/de.po
 +msgstr "Das letzte Argument muss ein 2-Bit-Immediate sein"
  
 -#: config/i386/i386.c:26308
--#, gcc-internal-format
--msgid "the fifth argument must be a 8-bit immediate"
 +#: config/i386/i386.c:26380
-+#, fuzzy, gcc-internal-format
-+#| msgid "the fifth argument must be a 8-bit immediate"
+ #, gcc-internal-format
+-msgid "the fifth argument must be a 8-bit immediate"
+-msgstr "Argument 5 muss ein 8-Bit-Immediate sein"
 +msgid "the fifth argument must be an 8-bit immediate"
- msgstr "Argument 5 muss ein 8-Bit-Immediate sein"
++msgstr "fünftes Argument muss ein 8-Bit-Immediate sein"
  
 -#: config/i386/i386.c:26403
--#, gcc-internal-format
--msgid "the third argument must be a 8-bit immediate"
 +#: config/i386/i386.c:26475
-+#, fuzzy, gcc-internal-format
-+#| msgid "the third argument must be a 8-bit immediate"
+ #, gcc-internal-format
+-msgid "the third argument must be a 8-bit immediate"
+-msgstr "Argument 3 muss ein 8-Bit-Immediate sein"
 +msgid "the third argument must be an 8-bit immediate"
- msgstr "Argument 3 muss ein 8-Bit-Immediate sein"
++msgstr "drittes Argument muss ein 8-Bit-Immediate sein"
  
 -#: config/i386/i386.c:26760
 +#: config/i386/i386.c:26832
@@ -294608,7 +300086,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "vector permutation (%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d)"
  msgstr "Vektor-Permutation (%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d)"
-@@ -22449,29 +22472,29 @@
+@@ -22449,29 +22466,29 @@
  msgid "%qE attribute requires a string constant argument"
  msgstr "Attribut %qE erfordert eine Zeichenkettenkonstante als Argument"
  
@@ -294645,7 +300123,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "version attribute is not a string"
  msgstr "Versionsattribut ist keine Zeichenkette"
-@@ -22537,7 +22560,7 @@
+@@ -22537,7 +22554,7 @@
  msgstr "Attribut %qE wird für Ziel R8C nicht unterstützt"
  
  #. The argument must be a constant integer.
@@ -294654,7 +300132,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%qE attribute argument not an integer constant"
  msgstr "Attributargument %qE ist keine Ganzzahlkonstante"
-@@ -22607,7 +22630,7 @@
+@@ -22607,7 +22624,7 @@
  msgid "interrupt_thread is available only on fido"
  msgstr "interrupt_thread ist nur auf Fido verfügbar"
  
@@ -294663,7 +300141,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "stack limit expression is not supported"
  msgstr "Ausdruck der Stapelgrenze wird nicht unterstützt"
-@@ -22937,142 +22960,142 @@
+@@ -22937,142 +22954,142 @@
  msgid "cannot handle inconsistent calls to %qs"
  msgstr "inkonsistente Aufrufe von %qs können nicht behandelt werden"
  
@@ -294834,7 +300312,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "mips16 function profiling"
  msgstr "Profiling für mips16-Funktionen"
-@@ -23153,7 +23176,7 @@
+@@ -23153,7 +23170,7 @@
  msgid "-g option disabled"
  msgstr "Option -g ausgeschaltet"
  
@@ -294843,7 +300321,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "alignment (%u) for %s exceeds maximum alignment for global common data.  Using %u"
  msgstr "Ausrichtung (%u) für %s überschreitet maximale Ausrichtung für gobale gemeinsame Daten. Es wird %u verwendet"
-@@ -23163,98 +23186,98 @@
+@@ -23163,98 +23180,98 @@
  msgid "-munix=98 option required for C89 Amendment 1 features.\n"
  msgstr "Option -munix=98 für Eigenschaften des C89 Amendment 1 erforderlich.\n"
  
@@ -294962,7 +300440,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "%s (disable warning using -mno-inefficient-warnings)"
  msgstr "%s (Warnung kann mit -mno-inefficient-warnings ausgeschaltet werden)"
-@@ -23353,367 +23376,367 @@
+@@ -23353,367 +23370,367 @@
  msgid "invalid parameter combination for AltiVec intrinsic"
  msgstr "ungültige Parameterkombination für intrinsisches AltiVec"
  
@@ -295403,7 +300881,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "%s\"%s\"%s is invalid"
  msgstr "%s\"%s\"%s ist ungültig"
-@@ -23789,7 +23812,7 @@
+@@ -23789,7 +23806,7 @@
  #. Number of bytes into the frame return addresses can be found.  See
  #. rs6000_stack_info in rs6000.c for more information on how the different
  #. abi's store the return address.
@@ -295412,7 +300890,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "RETURN_ADDRESS_OFFSET not supported"
  msgstr "RETURN_ADDRESS_OFFSET nicht unterstützt"
-@@ -23851,37 +23874,37 @@
+@@ -23851,37 +23868,37 @@
  msgid "-m%s not supported in this configuration"
  msgstr "-m%s wird in dieser Konfiguration nicht unterstützt"
  
@@ -295457,7 +300935,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "RX FPU instructions do not support NaNs and infinities"
  msgstr "RX-FPU-Befehle unterstützen keine NaNs und Unendlichkeiten"
-@@ -23941,22 +23964,22 @@
+@@ -23941,22 +23958,22 @@
  msgid "-mstack-guard implies use of -mstack-size"
  msgstr "-mstack-guard bringt -mstack-size mit sich"
  
@@ -295484,7 +300962,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%qs uses dynamic stack allocation"
  msgstr "%qs verwendet dynamische Stackanforderung"
-@@ -23971,53 +23994,53 @@
+@@ -23971,53 +23988,53 @@
  msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
  msgstr "Abwicklungstabellen erfordern derzeit entweder einen Rahmenzeiger oder -maccumulate-outgoing-args für Korrektheit"
  
@@ -295548,7 +301026,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "need a call-clobbered target register"
  msgstr "aufrufzerstörtes Zielregister erforderlich"
-@@ -24102,37 +24125,37 @@
+@@ -24102,37 +24119,37 @@
  msgid "parameter list does not match a valid signature for %s()"
  msgstr "Parameterliste passt zu keiner gültigen Signatur für %s()"
  
@@ -295593,7 +301071,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "%d least significant bits of %s are ignored"
  msgstr "%d niederwertigste Bits von %s werden ignoriert"
-@@ -24348,447 +24371,454 @@
+@@ -24348,447 +24365,452 @@
  msgstr "ungültiger Elementtyp für Attribut %qs"
  
  #. Conversion of implicit `this' argument failed.
@@ -295951,13 +301429,12 @@ Index: gcc/po/de.po
  
 -#: cp/call.c:5699
 +#: cp/call.c:5730 cp/cvt.c:1625
-+#, fuzzy, gcc-internal-format
-+#| msgid "class %qT will be considered nearly empty in a future version of GCC"
+ #, gcc-internal-format
 +msgid "scoped enum %qT will not promote to an integral type in a future version of GCC"
-+msgstr "Klasse %qT wird in zukünftigen GCC-Versionen als annähernd leer betrachtet werden"
++msgstr "enum %qT mit Gültigkeitsbereich wird in zukünftigen GCC-Versionen nicht auf Ganzzahltyp erweitert"
 +
 +#: cp/call.c:5760
- #, gcc-internal-format
++#, gcc-internal-format
  msgid "cannot pass objects of non-trivially-copyable type %q#T through %<...%>"
  msgstr "Objekte des nicht trivial kopierbaren Typs %q#T können nicht über %<...%> übergeben werden"
  
@@ -296119,13 +301596,12 @@ Index: gcc/po/de.po
  msgstr "ISO C++ besagt, dass diese mehrdeutig sind, auch wenn die schlechteste Umwandlung für das erste besser ist als die schlechteste Umwandlung für das zweite:"
  
 -#: cp/call.c:8009
--#, gcc-internal-format
--msgid "could not convert %qE to %qT"
 +#: cp/call.c:8070
-+#, fuzzy, gcc-internal-format
-+#| msgid "could not convert %qE to %qT"
+ #, gcc-internal-format
+-msgid "could not convert %qE to %qT"
+-msgstr "%qE konnte nicht nach %qT konvertiert werden"
 +msgid "could not convert %qE from %qT to %qT"
- msgstr "%qE konnte nicht nach %qT konvertiert werden"
++msgstr "%qE konnte nicht von %qT nach %qT umgewandelt werden"
  
 -#: cp/call.c:8251
 +#: cp/call.c:8313
@@ -296138,7 +301614,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "invalid initialization of reference of type %qT from expression of type %qT"
  msgstr "ungültige Initialisierung einer Referenz des Typs %qT von Ausdruck des Typs %qT"
-@@ -24798,365 +24828,366 @@
+@@ -24798,365 +24820,365 @@
  msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
  msgstr "Es kann nicht von Basis %qT in abgeleiteten Typ %qT über virtuelle Basis %qT gewandelt werden"
  
@@ -296432,13 +301908,12 @@ Index: gcc/po/de.po
  msgstr "Initialisierung für nicht-virtuelle Methode %q+D angegeben"
  
 -#: cp/class.c:4568
--#, gcc-internal-format
--msgid "enclosing class of %q+D is not a literal type"
 +#: cp/class.c:4563 cp/semantics.c:5455
-+#, fuzzy, gcc-internal-format
-+#| msgid "enclosing class of %q+D is not a literal type"
+ #, gcc-internal-format
+-msgid "enclosing class of %q+D is not a literal type"
+-msgstr "umschließende Klasse von %q+D ist kein Literaltyp"
 +msgid "enclosing class of %q+#D is not a literal type"
- msgstr "umschließende Klasse von %q+D ist kein Literaltyp"
++msgstr "umschließende Klasse von %q+#D ist kein Literaltyp"
  
 -#: cp/class.c:4677
 +#: cp/class.c:4670
@@ -296458,13 +301933,15 @@ Index: gcc/po/de.po
 +#: cp/class.c:4701
  #, gcc-internal-format
  msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
- msgstr ""
+-msgstr ""
++msgstr "%q+D mit Eingabe einer konstanten Referenz deklariert, aber implizite Deklaration würde nicht-Konstante annehmen"
  
 -#: cp/class.c:4711
 +#: cp/class.c:4704
  #, gcc-internal-format
  msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
- msgstr ""
+-msgstr ""
++msgstr "mit Eingabe einer nicht konstanten Referenz deklariertes %q+D kann im Klassenkörper nicht vorbelegt werden"
  
 -#: cp/class.c:4935
 +#: cp/class.c:4928
@@ -296579,7 +302056,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "argument of type %qT does not match %qT"
  msgstr "Argument des Typs %qT passt nicht zu %qT"
-@@ -25166,22 +25197,22 @@
+@@ -25166,22 +25188,22 @@
  #. A name N used in a class S shall refer to the same declaration
  #. in its context and when re-evaluated in the completed scope of
  #. S.
@@ -296606,7 +302083,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%qE implicitly determined as %<firstprivate%> has reference type"
  msgstr ""
-@@ -25226,7 +25257,7 @@
+@@ -25226,7 +25248,7 @@
  msgid "conversion from %qT to %qT discards qualifiers"
  msgstr "Umwandlung von %qT in %qT löscht Qualifizierer"
  
@@ -296615,7 +302092,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "casting %qT to %qT does not dereference pointer"
  msgstr "Umwandlung von %qT in %qT dereferenziert nicht den Zeiger"
-@@ -25246,280 +25277,280 @@
+@@ -25246,280 +25268,280 @@
  msgid "the result of the conversion is unspecified because %qE is outside the range of type %qT"
  msgstr "das Ergebnis der Umwandlung ist nicht spezifiziert, da %qE außerhalb des Wertebereichs des Typs %qT liegt"
  
@@ -297025,7 +302502,7 @@ Index: gcc/po/de.po
  
  #: cp/decl.c:1101
  #, gcc-internal-format
-@@ -25532,9 +25563,9 @@
+@@ -25532,9 +25554,9 @@
  msgstr "vorherige Deklaration von %q+D"
  
  #: cp/decl.c:1134
@@ -297037,7 +302514,7 @@ Index: gcc/po/de.po
  
  #: cp/decl.c:1136
  #, gcc-internal-format
-@@ -25542,14 +25573,14 @@
+@@ -25542,14 +25564,14 @@
  msgstr "von vorheriger Deklaration %q+F"
  
  #: cp/decl.c:1161
@@ -297056,7 +302533,7 @@ Index: gcc/po/de.po
  
  #: cp/decl.c:1218
  #, gcc-internal-format
-@@ -25572,14 +25603,14 @@
+@@ -25572,14 +25594,14 @@
  msgstr "vorherige Deklaration von %q+D war inline"
  
  #: cp/decl.c:1253 cp/decl.c:1327
@@ -297075,7 +302552,7 @@ Index: gcc/po/de.po
  
  #: cp/decl.c:1261
  #, gcc-internal-format
-@@ -25676,9 +25707,9 @@
+@@ -25676,9 +25698,9 @@
  msgstr "Prototyp für %q+#D"
  
  #: cp/decl.c:1549
@@ -297087,7 +302564,7 @@ Index: gcc/po/de.po
  
  #: cp/decl.c:1589
  #, gcc-internal-format
-@@ -25706,14 +25737,14 @@
+@@ -25706,14 +25728,14 @@
  msgstr "redundante Redeklaration von %qD im selben Gültigkeitsbereich"
  
  #: cp/decl.c:1686
@@ -297106,7 +302583,7 @@ Index: gcc/po/de.po
  
  #. From [temp.expl.spec]:
  #.
-@@ -25723,373 +25754,373 @@
+@@ -25723,373 +25745,373 @@
  #. that specialization that would cause an implicit
  #. instantiation to take place, in every translation unit in
  #. which such a use occurs.
@@ -297591,7 +303068,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "zero-size array %qD"
  msgstr "Feld %qD der Größe null"
-@@ -26097,319 +26128,319 @@
+@@ -26097,319 +26119,319 @@
  #. An automatic variable with an incomplete type: that is an error.
  #. Don't talk about array types here, since we took care of that
  #. message in grokdeclarator.
@@ -298020,7 +303497,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "no %q#D member function declared in class %qT"
  msgstr "keine Elementfunktion %q#D in Klasse %qT deklariert"
-@@ -26418,851 +26449,852 @@
+@@ -26418,851 +26440,851 @@
  #. no linkage can only be used to declare extern "C"
  #. entities.  Since it's not always an error in the
  #. ISO C++ 90 Standard, we only issue a warning.
@@ -298765,11 +304242,11 @@ Index: gcc/po/de.po
 +msgstr "Referenz %qs kann nicht als %<mutable%> deklariert sein"
  
 -#: cp/decl.c:9265
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:9308
- #, fuzzy, gcc-internal-format
-+#| msgid "parameter declared %<auto%>"
++#, gcc-internal-format
 +msgid "typedef declared %<auto%>"
-+msgstr "Parameter als %<auto%> deklariert"
++msgstr "»typedef« als %<auto%> deklariert"
 +
 +#: cp/decl.c:9318
 +#, gcc-internal-format
@@ -299124,7 +304601,7 @@ Index: gcc/po/de.po
  #. [class.copy]
  #.
  #. A declaration of a constructor for a class X is ill-formed if
-@@ -27278,163 +27310,163 @@
+@@ -27278,163 +27300,163 @@
  #. or implicitly defined), there's no need to worry about their
  #. existence.  Theoretically, they should never even be
  #. instantiated, but that's hard to forestall.
@@ -299332,7 +304809,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%qT referred to as enum"
  msgstr "%qT als enum verwendet"
-@@ -27446,162 +27478,162 @@
+@@ -27446,162 +27468,162 @@
  #. void f(class C);           // No template header here
  #.
  #. then the required template argument is missing.
@@ -299537,7 +305014,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "static member function %q#D declared with type qualifiers"
  msgstr "statische Elementfunktion %q#D mit Typqualifizierern deklariert"
-@@ -27657,9 +27689,9 @@
+@@ -27657,9 +27679,9 @@
  msgstr "Java-Methode %qD hat Nicht-Java-Parametertyp %qT"
  
  #: cp/decl2.c:628
@@ -299549,7 +305026,7 @@ Index: gcc/po/de.po
  
  #: cp/decl2.c:696
  #, gcc-internal-format
-@@ -27672,9 +27704,9 @@
+@@ -27672,9 +27694,9 @@
  msgstr "lokale Klasse %q#T sollte nicht statisches Datenelement %q#D haben"
  
  #: cp/decl2.c:833
@@ -299561,7 +305038,7 @@ Index: gcc/po/de.po
  
  #: cp/decl2.c:839
  #, gcc-internal-format
-@@ -27687,9 +27719,9 @@
+@@ -27687,9 +27709,9 @@
  msgstr "%qD ist bereits in %qT definiert"
  
  #: cp/decl2.c:910
@@ -299573,7 +305050,7 @@ Index: gcc/po/de.po
  
  #: cp/decl2.c:916
  #, gcc-internal-format
-@@ -27732,26 +27764,26 @@
+@@ -27732,26 +27754,26 @@
  msgstr "statisches Element %qD kann kein Bitfeld sein"
  
  #: cp/decl2.c:1057
@@ -299606,7 +305083,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%<operator new%> must return type %qT"
  msgstr "%<operator new%> muss Typ %qT zurück geben"
-@@ -27760,139 +27792,139 @@
+@@ -27760,139 +27782,139 @@
  #.
  #. The first parameter shall not have an associated default
  #. argument.
@@ -299788,7 +305265,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%<::%D%> has not been declared"
  msgstr "%<::%D%> wurde nicht deklariert"
-@@ -27929,7 +27961,7 @@
+@@ -27929,7 +27951,7 @@
  msgid "throwing NULL, which has integral, not pointer type"
  msgstr "wirft NULL, was ganzzahlig, aber kein Zeigertyp ist"
  
@@ -299797,7 +305274,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%qD should never be overloaded"
  msgstr "%qD sollte niemals überladen werden"
-@@ -27945,29 +27977,29 @@
+@@ -27945,29 +27967,29 @@
  msgstr "Ausdruck %qE von abstraktem Klassentyp %qT kann nicht in throw-Ausdruck verwendet werden"
  
  #: cp/except.c:982
@@ -299835,7 +305312,7 @@ Index: gcc/po/de.po
  
  #: cp/friend.c:153
  #, gcc-internal-format
-@@ -28053,277 +28085,277 @@
+@@ -28053,277 +28075,277 @@
  msgid "(if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) "
  msgstr "(wenn das nicht beabsichtigt war, sollte sicher gestellt werden, dass das Funktions-Template bereits deklariert wurde, und <> hier hinter Funktionsnamen eingefügt wurde) "
  
@@ -300208,7 +305685,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "type to vector delete is neither pointer or array type"
  msgstr "Typ für Vektor-»delete« ist weder Zeiger- noch Feldtyp"
-@@ -28391,17 +28423,17 @@
+@@ -28391,17 +28413,17 @@
  #: cp/mangle.c:2215
  #, gcc-internal-format
  msgid "mangling unknown fixed point type"
@@ -300231,7 +305708,7 @@ Index: gcc/po/de.po
  
  #: cp/mangle.c:2728
  #, gcc-internal-format
-@@ -28411,7 +28443,7 @@
+@@ -28411,7 +28433,7 @@
  #: cp/mangle.c:2768
  #, gcc-internal-format
  msgid "string literal in function template signature"
@@ -300240,7 +305717,7 @@ Index: gcc/po/de.po
  
  #: cp/mangle.c:3040
  #, gcc-internal-format
-@@ -28421,7 +28453,7 @@
+@@ -28421,7 +28443,7 @@
  #: cp/mangle.c:3156
  #, gcc-internal-format
  msgid "-fabi-version=4 (or =0) avoids this error with a change in vector mangling"
@@ -300249,7 +305726,7 @@ Index: gcc/po/de.po
  
  #: cp/method.c:395
  #, gcc-internal-format
-@@ -28429,91 +28461,97 @@
+@@ -28429,91 +28451,96 @@
  msgstr "allgemeiner Thunk-Code für Methode %q#D mit %<...%> scheitert"
  
  #: cp/method.c:651 cp/method.c:991
@@ -300338,11 +305815,11 @@ Index: gcc/po/de.po
 +msgstr "%qD kann nicht als »constexpr« deklariert werden"
  
 -#: cp/method.c:1621
+-#, fuzzy, gcc-internal-format
 +#: cp/method.c:1599
- #, fuzzy, gcc-internal-format
-+#| msgid "%qD cannot be defaulted"
++#, gcc-internal-format
 +msgid "a template cannot be defaulted"
-+msgstr "%qD kann nicht vorgegeben werden"
++msgstr "ein Template kann nicht vorbelegt werden"
 +
 +#: cp/method.c:1627
 +#, gcc-internal-format
@@ -300377,7 +305854,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
  msgstr "vtable-Anordnung für Klasse %qT könnte ABI-unverträglich sein und sich in zukünftigen GCC-Versionen durch implizite virtuelle Destruktoren ändern"
-@@ -28540,14 +28578,14 @@
+@@ -28540,14 +28567,14 @@
  msgstr "als %qD"
  
  #: cp/name-lookup.c:809 cp/name-lookup.c:820
@@ -300396,7 +305873,7 @@ Index: gcc/po/de.po
  
  #: cp/name-lookup.c:904
  #, gcc-internal-format
-@@ -28560,7 +28598,7 @@
+@@ -28560,7 +28587,7 @@
  msgstr "vorherige externe Deklaration von %q+#D"
  
  #: cp/name-lookup.c:996
@@ -300405,7 +305882,7 @@ Index: gcc/po/de.po
  msgid "extern declaration of %q#D doesn%'t match"
  msgstr "externe Deklaration von %q#D passt nicht"
  
-@@ -28606,9 +28644,9 @@
+@@ -28606,9 +28633,9 @@
  msgstr "  passt nach den alten Regeln zu diesem %q+D"
  
  #: cp/name-lookup.c:1273 cp/name-lookup.c:1281
@@ -300417,7 +305894,7 @@ Index: gcc/po/de.po
  
  #: cp/name-lookup.c:1275
  #, gcc-internal-format
-@@ -28620,8 +28658,8 @@
+@@ -28620,8 +28647,8 @@
  msgid "  using obsolete binding at %q+D"
  msgstr "  bei %q+D wird veraltete Bindung verwendet"
  
@@ -300428,7 +305905,7 @@ Index: gcc/po/de.po
  msgid "(if you use %<-fpermissive%> G++ will accept your code)"
  msgstr "(G++ wird den Code mit »-fpermissive« akzeptieren)"
  
-@@ -28758,19 +28796,19 @@
+@@ -28758,19 +28785,19 @@
  #: cp/name-lookup.c:3980
  #, gcc-internal-format
  msgid "maximum limit of %d namespaces searched for %qE"
@@ -300453,7 +305930,7 @@ Index: gcc/po/de.po
  
  #: cp/name-lookup.c:5184
  #, gcc-internal-format
-@@ -28788,14 +28826,14 @@
+@@ -28788,14 +28815,14 @@
  msgstr "XXX pop_everything () wird verlassen\n"
  
  #: cp/optimize.c:341
@@ -300472,7 +305949,7 @@ Index: gcc/po/de.po
  
  #: cp/parser.c:2323
  #, gcc-internal-format
-@@ -28828,49 +28866,49 @@
+@@ -28828,49 +28855,49 @@
  msgstr "%qE wurde nicht deklariert"
  
  #: cp/parser.c:2373
@@ -300540,7 +306017,7 @@ Index: gcc/po/de.po
  
  #: cp/parser.c:2464
  #, gcc-internal-format
-@@ -28892,7 +28930,7 @@
+@@ -28892,7 +28919,7 @@
  msgid "(perhaps a semicolon is missing after the definition of %qT)"
  msgstr "(vielleicht fehlt ein Semikolon hinter der Definition von %qT)"
  
@@ -300549,7 +306026,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "%qT is not a template"
  msgstr "%qT ist kein Template"
-@@ -28908,152 +28946,153 @@
+@@ -28908,152 +28935,152 @@
  msgstr "ungültige Template-ID"
  
  #: cp/parser.c:2589
@@ -300719,13 +306196,12 @@ Index: gcc/po/de.po
 +msgstr "vor %<%T::%E%> ist %<typename%> erforderlich, da %qT ein abhängiger Gültigkeitsbereich ist"
  
 -#: cp/parser.c:2790
--#, gcc-internal-format
--msgid "%qE in class %qT does not name a type"
 +#: cp/parser.c:2791
-+#, fuzzy, gcc-internal-format
-+#| msgid "%qE in class %qT does not name a type"
+ #, gcc-internal-format
+-msgid "%qE in class %qT does not name a type"
+-msgstr "%qE in Klasse %qT bezeichnet keinen Typen"
 +msgid "%qE in %q#T does not name a type"
- msgstr "%qE in Klasse %qT bezeichnet keinen Typen"
++msgstr "%qE in %q#T benennt keinen Typen"
  
  #: cp/parser.c:3340
 -#, fuzzy, gcc-internal-format
@@ -300757,7 +306233,7 @@ Index: gcc/po/de.po
  
  #: cp/parser.c:3662
  #, gcc-internal-format
-@@ -29065,561 +29104,561 @@
+@@ -29065,561 +29092,561 @@
  msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
  msgstr "Anweisungs-Ausdrücke sind weder außerhalb von Funktionen noch in Template-Argumenten erlaubt"
  
@@ -301043,10 +306519,12 @@ Index: gcc/po/de.po
 +msgstr "Iterationsanweisung erwartet"
  
 -#: cp/parser.c:9091
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:9098
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "range-based-for loops are not allowed in C++98 mode"
- msgstr "Standardumwandlungen sind in diesem Kontext nicht erlaubt"
+-msgstr "Standardumwandlungen sind in diesem Kontext nicht erlaubt"
++msgstr "bereichsbasierte for-Schleifen sind im C++98-Modus nicht erlaubt"
  
  #. Issue a warning about this use of a GNU extension.
 -#: cp/parser.c:9213
@@ -301056,10 +306534,12 @@ Index: gcc/po/de.po
  msgstr "ISO-C++ verbietet berechnete Gotos"
  
 -#: cp/parser.c:9226 cp/parser.c:20977
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:9233 cp/parser.c:20987
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected jump-statement"
- msgstr "Anweisung erwartet"
+-msgstr "Anweisung erwartet"
++msgstr "Sprunganweisung erwartet"
  
 -#: cp/parser.c:9358 cp/parser.c:17788
 +#: cp/parser.c:9365 cp/parser.c:17798
@@ -301094,10 +306574,12 @@ Index: gcc/po/de.po
  msgstr ""
  
 -#: cp/parser.c:9974
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:9981
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "decl-specifier invalid in condition"
- msgstr "reiner Spezifizierer bei Funktionsdefinition"
+-msgstr "reiner Spezifizierer bei Funktionsdefinition"
++msgstr "decl-Spezifizierung in Bedingung ungültig"
  
 -#: cp/parser.c:10065
 +#: cp/parser.c:10072
@@ -301112,28 +306594,36 @@ Index: gcc/po/de.po
  msgstr "Templates dürfen nicht %<virtual%> sein"
  
 -#: cp/parser.c:10175
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:10182
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid linkage-specification"
- msgstr "ungültige Spezifizierung der Basisklasse"
+-msgstr "ungültige Spezifizierung der Basisklasse"
++msgstr "ungültige Bindungsspezifikation"
  
 -#: cp/parser.c:10302
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:10309
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "types may not be defined in %<decltype%> expressions"
- msgstr "neue Typen dürfen nicht in einem Rückgabetyp definiert werden"
+-msgstr "neue Typen dürfen nicht in einem Rückgabetyp definiert werden"
++msgstr "Typen dürfen nicht in %<decltype%>-Ausdrücken definiert werden"
  
 -#: cp/parser.c:10557
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:10565
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid use of %<auto%> in conversion operator"
- msgstr "ungültige Verwendung von %<this%> in Nicht-Element-Funktion"
+-msgstr "ungültige Verwendung von %<this%> in Nicht-Element-Funktion"
++msgstr "ungültige Verwendung von %<auto%> in Umwandlungsoperator"
  
 -#: cp/parser.c:10642
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:10650
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "only constructors take member initializers"
- msgstr "nur Konstruktoren nehmen Basisinitialisierungen"
+-msgstr "nur Konstruktoren nehmen Basisinitialisierungen"
++msgstr "nur Konstruktoren nehmen Elementinitialisierungen"
  
 -#: cp/parser.c:10664
 +#: cp/parser.c:10672
@@ -301154,10 +306644,12 @@ Index: gcc/po/de.po
  msgstr "Schlüsselwort %<typename%> in diesem Kontext nicht erlaubt (eine qualifizierte Elementinitialisierung ist implizit ein Typ)"
  
 -#: cp/parser.c:11095
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:11103
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected operator"
- msgstr "unerwarteter Operand"
+-msgstr "unerwarteter Operand"
++msgstr "Operator erwartet"
  
  #. Warn that we do not support `export'.
 -#: cp/parser.c:11132
@@ -301185,16 +306677,20 @@ Index: gcc/po/de.po
  msgstr "Template-Parameterpacks können keine Standardargumente haben"
  
 -#: cp/parser.c:11616
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:11624
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected template-id"
- msgstr "Anweisung erwartet"
+-msgstr "Anweisung erwartet"
++msgstr "Template-ID erwartet"
  
 -#: cp/parser.c:11663 cp/parser.c:20935
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:11671 cp/parser.c:20945
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<<%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<%> erwartet"
  
 -#: cp/parser.c:11670
 +#: cp/parser.c:11678
@@ -301216,10 +306712,12 @@ Index: gcc/po/de.po
  
  #. The name does not name a template.
 -#: cp/parser.c:11820 cp/parser.c:11935 cp/parser.c:12145
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:11828 cp/parser.c:11943 cp/parser.c:12153
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected template-name"
- msgstr "Anweisung erwartet"
+-msgstr "Anweisung erwartet"
++msgstr "Templatename erwartet"
  
  #. Explain what went wrong.
 -#: cp/parser.c:11866
@@ -301235,34 +306733,44 @@ Index: gcc/po/de.po
  msgstr "%<%T::template %D%> verwenden, um dies als Template zu kennzeichnen"
  
 -#: cp/parser.c:12001
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:12009
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected parameter pack before %<...%>"
- msgstr "Deklarationsspezifizierer oder %<...%> erwartet"
+-msgstr "Deklarationsspezifizierer oder %<...%> erwartet"
++msgstr "Parameterbündel vor %<...%> erwartet"
  
 -#: cp/parser.c:12110 cp/parser.c:12128 cp/parser.c:12269
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:12118 cp/parser.c:12136 cp/parser.c:12277
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected template-argument"
- msgstr "Anweisung erwartet"
+-msgstr "Anweisung erwartet"
++msgstr "Templateargument erwartet"
  
 -#: cp/parser.c:12252
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:12260
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid non-type template argument"
- msgstr "ungültige Verwendung von »%D« als ein Nicht-Typ-Templateargument"
+-msgstr "ungültige Verwendung von »%D« als ein Nicht-Typ-Templateargument"
++msgstr "ungültiges Templateargument ohne Typ"
  
 -#: cp/parser.c:12366
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:12374
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "explicit instantiation shall not use %<inline%> specifier"
- msgstr "explizite Instanziierung des Nicht-Templatetyps %qT"
+-msgstr "explizite Instanziierung des Nicht-Templatetyps %qT"
++msgstr "explizite Instanziierung sollte nicht %<inline%> verwenden"
  
 -#: cp/parser.c:12369
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:12377
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "explicit instantiation shall not use %<constexpr%> specifier"
- msgstr "explizite Instanziierung des Nicht-Templatetyps %qT"
+-msgstr "explizite Instanziierung des Nicht-Templatetyps %qT"
++msgstr "explizite Instanziierung sollte nicht %<constexpr%> verwenden"
  
 -#: cp/parser.c:12426
 +#: cp/parser.c:12434
@@ -301271,28 +306779,35 @@ Index: gcc/po/de.po
  msgstr "Templatespezialisierung mit C-Bindung angegeben"
  
 -#: cp/parser.c:12646
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:12654
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected type specifier"
- msgstr "Deklarationsspezifizierer erwartet"
+-msgstr "Deklarationsspezifizierer erwartet"
++msgstr "Typspezifizierer erwartet"
  
 -#: cp/parser.c:12863
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:12871
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected template-id for type"
- msgstr "Ausdruckstyp erwartet"
+-msgstr "Ausdruckstyp erwartet"
++msgstr "Template-ID für Typ erwartet"
  
 -#: cp/parser.c:12890
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:12898
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected type-name"
- msgstr "Name erwartet"
+-msgstr "Name erwartet"
++msgstr "Typ-Name erwartet"
  
 -#: cp/parser.c:13077
 +#: cp/parser.c:13085
  #, gcc-internal-format
  msgid "elaborated-type-specifier for a scoped enum must not use the %<%D%> keyword"
- msgstr ""
+-msgstr ""
++msgstr "ausführliche Typ-Spezifikation für einen enum mit Gültigkeitsbereich darf nicht das Schlüsselwort %<%D%> verwenden"
  
 -#: cp/parser.c:13261
 +#: cp/parser.c:13269
@@ -301319,28 +306834,36 @@ Index: gcc/po/de.po
  msgstr "Attribute an Spezifizierer ausführlichen Typs ignoriert, der keine Vorwärtsdeklaration ist"
  
 -#: cp/parser.c:13480
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:13488
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%qD is an enumeration template"
- msgstr "%qD ist kein Funktionstemplate"
+-msgstr "%qD ist kein Funktionstemplate"
++msgstr "%qD ist ein Aufzählungstemplate"
  
 -#: cp/parser.c:13488
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:13496
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%qD is not an enumerator-name"
- msgstr "%qD ist kein Namensbereichs-Name"
+-msgstr "%qD ist kein Namensbereichs-Name"
++msgstr "%qD ist kein Aufzählungsname"
  
 -#: cp/parser.c:13551
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:13559
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<;%> or %<{%>"
- msgstr "%<,%> oder %<;%> erwartet"
+-msgstr "%<,%> oder %<;%> erwartet"
++msgstr "%<;%> oder %<{%> erwartet"
  
 -#: cp/parser.c:13598
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:13606
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "cannot add an enumerator list to a template instantiation"
- msgstr "Automatische Template-Instantiierung einschalten"
+-msgstr "Automatische Template-Instantiierung einschalten"
++msgstr "Aufzählungsliste kann nicht zu Template-Instantiierung hinzugefügt werden"
  
 -#: cp/parser.c:13607 cp/parser.c:17386
 +#: cp/parser.c:13615 cp/parser.c:17396
@@ -301364,13 +306887,15 @@ Index: gcc/po/de.po
 +#: cp/parser.c:13669
  #, gcc-internal-format
  msgid "opaque-enum-specifier without name"
- msgstr ""
+-msgstr ""
++msgstr "intransparente Enum-Spezifikation ohne Namen"
  
 -#: cp/parser.c:13664
 +#: cp/parser.c:13672
  #, gcc-internal-format
  msgid "opaque-enum-specifier must use a simple identifier"
- msgstr ""
+-msgstr ""
++msgstr "intransparente Enum-Spezifikation muss einfachen Bezeichner verwenden"
  
 -#: cp/parser.c:13839
 +#: cp/parser.c:13847
@@ -301379,10 +306904,12 @@ Index: gcc/po/de.po
  msgstr "%qD ist kein Namensbereichs-Name"
  
 -#: cp/parser.c:13840
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:13848
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected namespace-name"
- msgstr "Klassenname erwartet"
+-msgstr "Klassenname erwartet"
++msgstr "Namensraumname erwartet"
  
 -#: cp/parser.c:13965
 +#: cp/parser.c:13973
@@ -301397,10 +306924,12 @@ Index: gcc/po/de.po
  msgstr "eine Template-ID darf nicht in »using«-Deklaration auftreten"
  
 -#: cp/parser.c:14528
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:14536
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "a function-definition is not allowed here"
- msgstr "%<namespace%>-Definition ist hier nicht erlaubt"
+-msgstr "%<namespace%>-Definition ist hier nicht erlaubt"
++msgstr "eine Funktionsdefinition ist hier nicht erlaubt"
  
 -#: cp/parser.c:14540
 +#: cp/parser.c:14548
@@ -301418,20 +306947,25 @@ Index: gcc/po/de.po
 +#: cp/parser.c:14589
  #, gcc-internal-format
  msgid "expected constructor, destructor, or type conversion"
- msgstr ""
+-msgstr ""
++msgstr "Konstruktor, Destruktor oder Typumwandlung erwartet"
  
  #. Anything else is an error.
 -#: cp/parser.c:14616 cp/parser.c:16529
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:14624 cp/parser.c:16539
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected initializer"
- msgstr "Bezeichner erwartet"
+-msgstr "Bezeichner erwartet"
++msgstr "Initialisierung erwartet"
  
 -#: cp/parser.c:14636
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:14644
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid type in declaration"
- msgstr "ungültige Funktionsdeklaration"
+-msgstr "ungültige Funktionsdeklaration"
++msgstr "ungültiger Typ in Deklaration"
  
 -#: cp/parser.c:14712
 +#: cp/parser.c:14720
@@ -301452,10 +306986,12 @@ Index: gcc/po/de.po
  msgstr "Feldgrenze ist keine Ganzzahlkonstante"
  
 -#: cp/parser.c:15263
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:15272
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "cannot define member of dependent typedef %qT"
- msgstr "Zeiger auf Elementreferenztyp %qT wird erzeugt"
+-msgstr "Zeiger auf Elementreferenztyp %qT wird erzeugt"
++msgstr "Element des abhängigen Typedef %qT kann nicht definiert werden"
  
 -#: cp/parser.c:15267
 +#: cp/parser.c:15276
@@ -301474,21 +307010,25 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
  msgstr "%<%T::%D%> statt %<%T::%D%> verwenden, um den Konstruktor mit qualifiziertem Namen zu benennen"
-@@ -29628,222 +29667,222 @@
+@@ -29628,222 +29655,222 @@
  #. here because we do not have enough
  #. information about its original syntactic
  #. form.
 -#: cp/parser.c:15314
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:15323
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid declarator"
- msgstr "Ungültige Deklaration"
+-msgstr "Ungültige Deklaration"
++msgstr "ungültiger Deklarator"
  
 -#: cp/parser.c:15380
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:15389
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected declarator"
- msgstr "Deklarationsspezifizierer erwartet"
+-msgstr "Deklarationsspezifizierer erwartet"
++msgstr "Deklarator erwartet"
  
 -#: cp/parser.c:15475
 +#: cp/parser.c:15484
@@ -301497,10 +307037,12 @@ Index: gcc/po/de.po
  msgstr "%qD ist ein Namensbereich"
  
 -#: cp/parser.c:15491
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:15500
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected ptr-operator"
- msgstr "unerwarteter Operand"
+-msgstr "unerwarteter Operand"
++msgstr "Ptr-Operator erwartet"
  
 -#: cp/parser.c:15550
 +#: cp/parser.c:15559
@@ -301509,34 +307051,44 @@ Index: gcc/po/de.po
  msgstr "doppelter CV-Qualifizierer"
  
 -#: cp/parser.c:15672 cp/typeck2.c:427
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:15681 cp/typeck2.c:427
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid use of %<auto%>"
- msgstr "ungültige Verwendung von %<::%>"
+-msgstr "ungültige Verwendung von %<::%>"
++msgstr "ungültige Verwendung von %<auto%>"
  
 -#: cp/parser.c:15691
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:15700
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "types may not be defined in template arguments"
- msgstr "neue Typen dürfen nicht in einem Rückgabetyp definiert werden"
+-msgstr "neue Typen dürfen nicht in einem Rückgabetyp definiert werden"
++msgstr "in Template-Argumenten dürfen keine Typen definiert werden"
  
 -#: cp/parser.c:15772
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:15781
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected type-specifier"
- msgstr "Bezeichner erwartet"
+-msgstr "Bezeichner erwartet"
++msgstr "Typspezifikation erwartet"
  
 -#: cp/parser.c:16016
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:16025
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<,%> or %<...%>"
- msgstr "%<:%> oder %<...%> erwartet"
+-msgstr "%<:%> oder %<...%> erwartet"
++msgstr "%<,%> oder %<...%> erwartet"
  
 -#: cp/parser.c:16073
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:16082
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "types may not be defined in parameter types"
- msgstr "neue Typen dürfen nicht in einem Rückgabetyp definiert werden"
+-msgstr "neue Typen dürfen nicht in einem Rückgabetyp definiert werden"
++msgstr "Typen dürfen nicht in Parametertypen definiert werden"
  
 -#: cp/parser.c:16296
 +#: cp/parser.c:16306
@@ -301563,46 +307115,58 @@ Index: gcc/po/de.po
  msgstr "ISO-C++ erlaubt keine benannten Initialisierungen"
  
 -#: cp/parser.c:16750 cp/parser.c:16872
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:16760 cp/parser.c:16882
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected class-name"
  msgstr "Klassenname erwartet"
  
 -#: cp/parser.c:17053
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:17063
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<;%> after class definition"
- msgstr "%<(%> oder Zeilenende erwartet"
+-msgstr "%<(%> oder Zeilenende erwartet"
++msgstr "%<;%> hinter Klassendefinition erwartet"
  
 -#: cp/parser.c:17055
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:17065
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<;%> after struct definition"
- msgstr "%<(%> oder Zeilenende erwartet"
+-msgstr "%<(%> oder Zeilenende erwartet"
++msgstr "%<;%> hinter Strukturdefinition erwartet"
  
 -#: cp/parser.c:17057
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:17067
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<;%> after union definition"
- msgstr "%<(%> oder Zeilenende erwartet"
+-msgstr "%<(%> oder Zeilenende erwartet"
++msgstr "%<;%> hinter Uniondefinition erwartet"
  
 -#: cp/parser.c:17341
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:17351
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<{%> or %<:%>"
- msgstr "%<,%> oder %<;%> erwartet"
+-msgstr "%<,%> oder %<;%> erwartet"
++msgstr "%<{%> oder %<:%> erwartet"
  
 -#: cp/parser.c:17353
 +#: cp/parser.c:17363
  #, gcc-internal-format
  msgid "global qualification of class name is invalid"
- msgstr ""
+-msgstr ""
++msgstr "globale Qualifizierung von Klassenname ist ungültig"
  
 -#: cp/parser.c:17360
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:17370
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "qualified name does not name a class"
- msgstr "»friend«-Deklaration benennt keine Klasse oder Funktion"
+-msgstr "»friend«-Deklaration benennt keine Klasse oder Funktion"
++msgstr "qualifizierter Name benennt keine Klasse"
  
 -#: cp/parser.c:17372
 +#: cp/parser.c:17382
@@ -301611,10 +307175,12 @@ Index: gcc/po/de.po
  msgstr "ungültiger Klassenname in Deklaration von %qD"
  
 -#: cp/parser.c:17405
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:17415
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "extra qualification not allowed"
- msgstr "zusätzliche Qualifizierung ignoriert"
+-msgstr "zusätzliche Qualifizierung ignoriert"
++msgstr "zusätzliche Qualifizierung nicht erlaubt"
  
 -#: cp/parser.c:17417
 +#: cp/parser.c:17427
@@ -301632,7 +307198,8 @@ Index: gcc/po/de.po
 +#: cp/parser.c:17488
  #, gcc-internal-format
  msgid "could not resolve typename type"
- msgstr ""
+-msgstr ""
++msgstr "Typnamen-Typ kann nicht aufgelöst werden"
  
 -#: cp/parser.c:17530
 +#: cp/parser.c:17540
@@ -301641,10 +307208,12 @@ Index: gcc/po/de.po
  msgstr "vorherige Definition von %q+#T"
  
 -#: cp/parser.c:17594 cp/parser.c:20980
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:17604 cp/parser.c:20990
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected class-key"
- msgstr "Klassenname erwartet"
+-msgstr "Klassenname erwartet"
++msgstr "Klassenschlüssel erwartet"
  
 -#: cp/parser.c:17807
 +#: cp/parser.c:17817
@@ -301665,34 +307234,41 @@ Index: gcc/po/de.po
  msgstr "reiner Spezifizierer bei Funktionsdefinition"
  
 -#: cp/parser.c:18054
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:18064
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<;%> at end of member declaration"
- msgstr "%<(%> oder Zeilenende erwartet"
+-msgstr "%<(%> oder Zeilenende erwartet"
++msgstr "%<;%> am Ende von Elementdeklaration erwartet"
  
 -#: cp/parser.c:18120
 +#: cp/parser.c:18130
  #, gcc-internal-format
  msgid "invalid pure specifier (only %<= 0%> is allowed)"
- msgstr ""
+-msgstr ""
++msgstr "ungültige reine Spezifikation (nur %<= 0%> ist erlaubt)"
  
 -#: cp/parser.c:18155
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:18165
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "a brace-enclosed initializer is not allowed here"
- msgstr "geklammerter Initialisierer zur Initialisierung von %qT verwendet"
+-msgstr "geklammerter Initialisierer zur Initialisierung von %qT verwendet"
++msgstr "eine geschweift geklammerte Initialisierung ist hier nicht erlaubt"
  
 -#: cp/parser.c:18287
 +#: cp/parser.c:18297
  #, gcc-internal-format
  msgid "%<virtual%> specified more than once in base-specified"
- msgstr ""
+-msgstr ""
++msgstr "%<virtual%> mehr als einmal in Basisspezifikation angegeben"
  
 -#: cp/parser.c:18307
 +#: cp/parser.c:18317
  #, gcc-internal-format
  msgid "more than one access specifier in base-specified"
- msgstr ""
+-msgstr ""
++msgstr "mehr als ein Zugriff in Basisspezifikation angegeben"
  
 -#: cp/parser.c:18331
 +#: cp/parser.c:18341
@@ -301707,41 +307283,49 @@ Index: gcc/po/de.po
  msgstr "Schlüsselwort %<typename%> nicht erlaubt in diesem Kontext (die Basisklasse ist implizit ein Typ)"
  
 -#: cp/parser.c:18411 cp/parser.c:18451
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:18421 cp/parser.c:18461
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "types may not be defined in an exception-specification"
- msgstr "neue Typen dürfen nicht in einem Rückgabetyp definiert werden"
+-msgstr "neue Typen dürfen nicht in einem Rückgabetyp definiert werden"
++msgstr "Typen dürfen nicht in einer Ausnahmespezifikation definiert werden"
  
 -#: cp/parser.c:18433
 +#: cp/parser.c:18443
  #, gcc-internal-format
  msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead"
- msgstr ""
+-msgstr ""
++msgstr "dynamische Ausnahmespezifikationen sind in C++0x veraltet; stattdessen %<noexcept%> verwenden"
  
 -#: cp/parser.c:18632
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:18642
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "types may not be defined in exception-declarations"
- msgstr "neue Typen dürfen nicht in einem Rückgabetyp definiert werden"
+-msgstr "neue Typen dürfen nicht in einem Rückgabetyp definiert werden"
++msgstr "Typen dürfen nicht in Ausnahmedeklarationen definiert werden"
  
 -#: cp/parser.c:19529
 +#: cp/parser.c:19539
  #, gcc-internal-format
  msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
- msgstr ""
+-msgstr ""
++msgstr "spezialisierendes Element %<%T::%E%> erfordert Syntax %<template<>%>"
  
 -#: cp/parser.c:19534
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:19544
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid declaration of %<%T::%E%>"
- msgstr "ungültige Redeklaration von %q+D"
+-msgstr "ungültige Redeklaration von %q+D"
++msgstr "ungültige Deklaration von  %<%T::%E%>"
  
 -#: cp/parser.c:19538
 +#: cp/parser.c:19548
  #, gcc-internal-format
  msgid "too few template-parameter-lists"
  msgstr "zu wenige Templateparameterlisten"
-@@ -29852,287 +29891,287 @@
+@@ -29852,287 +29879,287 @@
  #. something like:
  #.
  #. template <class T> template <class U> void S::f();
@@ -301770,16 +307354,20 @@ Index: gcc/po/de.po
  msgstr "Template mit C-Bindung"
  
 -#: cp/parser.c:19941
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:19951
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid explicit specialization"
- msgstr "ungültige Spezifizierung der Basisklasse"
+-msgstr "ungültige Spezifizierung der Basisklasse"
++msgstr "ungültige explizite Spezialisierung"
  
 -#: cp/parser.c:20071
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20081
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "template declaration of %<typedef%>"
- msgstr "Templatedeklaration von %qs"
+-msgstr "Templatedeklaration von %qs"
++msgstr "Templatedeklaration von %<typedef%>"
  
 -#: cp/parser.c:20148
 +#: cp/parser.c:20158
@@ -301788,10 +307376,12 @@ Index: gcc/po/de.po
  msgstr "explizite Template-Spezialisierung kann keine Speicherklasse haben"
  
 -#: cp/parser.c:20373
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20383
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<>>%> should be %<> >%> within a nested template argument list"
- msgstr "%H%<>>%> sollte innerhalb einer geschachtelten Templateargumentliste %<> >%> sein"
+-msgstr "%H%<>>%> sollte innerhalb einer geschachtelten Templateargumentliste %<> >%> sein"
++msgstr "%<>>%> sollte innerhalb einer geschachtelten Templateargumentliste %<> >%> sein"
  
 -#: cp/parser.c:20386
 +#: cp/parser.c:20396
@@ -301812,160 +307402,212 @@ Index: gcc/po/de.po
  msgstr "%<__thread%> vor %qD"
  
 -#: cp/parser.c:20844
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20854
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<new%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<new%> erwartet"
  
 -#: cp/parser.c:20847
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20857
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<delete%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<delete%> erwartet"
  
 -#: cp/parser.c:20850
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20860
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<return%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<return%> erwartet"
  
 -#: cp/parser.c:20856
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20866
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<extern%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<extern%> erwartet"
  
 -#: cp/parser.c:20859
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20869
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<static_assert%>"
- msgstr "Anweisung erwartet"
+-msgstr "Anweisung erwartet"
++msgstr "%<static_assert%> erwartet"
  
 -#: cp/parser.c:20862
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20872
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<decltype%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<decltype%> erwartet"
  
 -#: cp/parser.c:20865
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20875
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<operator%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<operator%> erwartet"
  
 -#: cp/parser.c:20868
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20878
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<class%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<class%> erwartet"
  
 -#: cp/parser.c:20871
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20881
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<template%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<template%> erwartet"
  
 -#: cp/parser.c:20874
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20884
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<namespace%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<namespace%> erwartet"
  
 -#: cp/parser.c:20877
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20887
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<using%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<using%> erwartet"
  
 -#: cp/parser.c:20880
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20890
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<asm%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<asm%> erwartet"
  
 -#: cp/parser.c:20883
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20893
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<try%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<try%> erwartet"
  
 -#: cp/parser.c:20886
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20896
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<catch%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<catch%> erwartet"
  
 -#: cp/parser.c:20889
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20899
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<throw%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<throw%> erwartet"
  
 -#: cp/parser.c:20892
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20902
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<__label__%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<__label__%> erwartet"
  
 -#: cp/parser.c:20895
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20905
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<@try%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<@try%> erwartet"
  
 -#: cp/parser.c:20898
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20908
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<@synchronized%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<@synchronized%> erwartet"
  
 -#: cp/parser.c:20901
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20911
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<@throw%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<@throw%> erwartet"
  
 -#: cp/parser.c:20926
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20936
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<[%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<[%> erwartet"
  
 -#: cp/parser.c:20932
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20942
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<::%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<::%> erwartet"
  
 -#: cp/parser.c:20944
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20954
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<...%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<...%> erwartet"
  
 -#: cp/parser.c:20947
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20957
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<*%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<*%> erwartet"
  
 -#: cp/parser.c:20950
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20960
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<~%>"
- msgstr "%<{%> erwartet"
+-msgstr "%<{%> erwartet"
++msgstr "%<~%> erwartet"
  
 -#: cp/parser.c:20956
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20966
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<:%> or %<::%>"
- msgstr "%<:%> oder %<...%> erwartet"
+-msgstr "%<:%> oder %<...%> erwartet"
++msgstr "%<:%> oder %<::%> erwartet"
  
 -#: cp/parser.c:20984
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:20994
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expected %<class%>, %<typename%>, or %<template%>"
- msgstr "%<,%>, %<;%> oder %<}%> erwartet"
+-msgstr "%<,%>, %<;%> oder %<}%> erwartet"
++msgstr "%<class%>, %<typename%> oder %<template%> erwartet"
  
 -#: cp/parser.c:21215
 +#: cp/parser.c:21225
@@ -301995,7 +307637,8 @@ Index: gcc/po/de.po
 +#: cp/parser.c:21650
  #, gcc-internal-format
  msgid "objective-c++ message argument(s) are expected"
- msgstr ""
+-msgstr ""
++msgstr "Objective-C++ Nachrichtenargument(e) erwartet"
  
 -#: cp/parser.c:21669
 +#: cp/parser.c:21679
@@ -302010,28 +307653,35 @@ Index: gcc/po/de.po
  msgstr "Ungültiger Objective-C++-Selektorname"
  
 -#: cp/parser.c:22106 cp/parser.c:22124
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:22116 cp/parser.c:22134
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "objective-c++ method declaration is expected"
- msgstr "Klassen- oder Schnittstellendeklaration erwartet"
+-msgstr "Klassen- oder Schnittstellendeklaration erwartet"
++msgstr "Objective-C++ Methodendeklaration erwartet"
  
 -#: cp/parser.c:22118 cp/parser.c:22183
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:22128 cp/parser.c:22193
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "method attributes must be specified at the end"
- msgstr "%JAbschnitts-Attribut kann nicht für lokale Variablen angegeben werden"
+-msgstr "%JAbschnitts-Attribut kann nicht für lokale Variablen angegeben werden"
++msgstr "Methodenattribute müssen am Ende angegeben werden"
  
 -#: cp/parser.c:22225
 +#: cp/parser.c:22235
  #, gcc-internal-format
  msgid "stray %qs between Objective-C++ methods"
- msgstr ""
+-msgstr ""
++msgstr "überflüssiges %qs zwischen Objective-C++ Methoden"
  
 -#: cp/parser.c:22430 cp/parser.c:22437 cp/parser.c:22444
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:22440 cp/parser.c:22447 cp/parser.c:22454
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid type for instance variable"
- msgstr "%Hungültiger Typ für Schleifenvariable %qE"
+-msgstr "%Hungültiger Typ für Schleifenvariable %qE"
++msgstr "ungültiger Typ für Instanzvariable"
  
 -#: cp/parser.c:22557
 +#: cp/parser.c:22567
@@ -302043,37 +307693,47 @@ Index: gcc/po/de.po
 +#: cp/parser.c:22725
  #, gcc-internal-format
  msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword"
- msgstr ""
+-msgstr ""
++msgstr "Attribute dürfen nicht vor dem Objective-C++-Schlüsselwort %<@%D%> angegeben werden"
  
 -#: cp/parser.c:22722
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:22732
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "prefix attributes are ignored before %<@%D%>"
- msgstr "Attribut %qE ignoriert für %qE"
+-msgstr "Attribut %qE ignoriert für %qE"
++msgstr "Präfix-Attribute vor %<@%D%> werden ignoriert"
  
 -#: cp/parser.c:22995 cp/parser.c:23002 cp/parser.c:23009
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:23005 cp/parser.c:23012 cp/parser.c:23019
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid type for property"
- msgstr "ungültiges Typargument"
+-msgstr "ungültiges Typargument"
++msgstr "ungültiger Typ für Eigenschaft"
  
 -#: cp/parser.c:24440
 +#: cp/parser.c:24450
  #, gcc-internal-format
  msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
- msgstr ""
+-msgstr ""
++msgstr "geklammerte Initialisierung ist in OpenMP-%<for%>-Schleife nicht erlaubt"
  
 -#: cp/parser.c:24607 cp/pt.c:11895
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:24617 cp/pt.c:11905
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "iteration variable %qD should not be reduction"
- msgstr "Schleifenvariable %qs sollte nicht in Reduktion sein"
+-msgstr "Schleifenvariable %qs sollte nicht in Reduktion sein"
++msgstr "Schleifenvariable %qD sollte nicht Reduktion sein"
  
 -#: cp/parser.c:24674
+-#, fuzzy, gcc-internal-format
 +#: cp/parser.c:24685
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "not enough collapsed for loops"
- msgstr "zu wenig Typinformationen"
+-msgstr "zu wenig Typinformationen"
++msgstr "zu wenig zusammengefallen für Schleifen"
  
 -#: cp/parser.c:25134
 +#: cp/parser.c:25145
@@ -302086,9 +307746,247 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "inter-module optimizations not implemented for C++"
  msgstr "Optimierungen zwischen Modulen noch nicht implementiert für C++"
-@@ -30724,17 +30763,17 @@
+@@ -30158,9 +30185,9 @@
+ msgstr "einschließende Klassentemplates werden nicht explizit spezialisiert"
+ #: cp/pt.c:753
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "specialization of %qD must appear at namespace scope"
+-msgstr "Spezialisierung von %qD in anderem Namensbereich"
++msgstr "Spezialisierung von %qD muss im Gültigkeitsbereich des Namensbereiches auftreten"
+ #: cp/pt.c:761
+ #, gcc-internal-format
+@@ -30200,9 +30227,9 @@
+ msgstr "Spezialisierung %qT hinter Instanziierung %qT"
+ #: cp/pt.c:918
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "template specialization of %qD not allowed by ISO C++"
+-msgstr "Teilspezialisierung %qD des Funktionstemplates ist nicht erlaubt"
++msgstr "Templatespezialisierung von %qD durch ISO C++ nicht erlaubt"
+ #: cp/pt.c:922
+ #, gcc-internal-format
+@@ -30232,7 +30259,7 @@
+ #: cp/pt.c:2023
+ #, gcc-internal-format
+ msgid "saw %d %<template<>%>, need %d for specializing a member function template"
+-msgstr ""
++msgstr "%d %<template<>%> gefunden, %d werden für Spezialisierung eines Elementfunktionstemplates benötigt"
+ #: cp/pt.c:2032
+ #, gcc-internal-format
+@@ -30325,9 +30352,9 @@
+ msgstr "Auflösungsmuster %<%E%> enthält keine Argumentpacks"
+ #: cp/pt.c:3218
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "parameter packs not expanded with %<...%>:"
+-msgstr "Parameterpacks nicht mit »...« aufgelöst:"
++msgstr "Parameterbündel nicht mit %<...%> aufgelöst:"
+ #: cp/pt.c:3233 cp/pt.c:4253
+ #, gcc-internal-format
+@@ -30375,16 +30402,16 @@
+ msgstr "Templateargument %qE betrifft Templateparameter"
+ #: cp/pt.c:4380
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on a template parameter"
+ msgid_plural "type %qT of template argument %qE depends on template parameters"
+-msgstr[0] "Typ %qT des Templatearguments %qE hängt von Templateparameter(n) ab"
+-msgstr[1] "Typ %qT des Templatearguments %qE hängt von Templateparameter(n) ab"
++msgstr[0] "Typ %qT des Templatearguments %qE hängt von Templateparameter ab"
++msgstr[1] "Typ %qT des Templatearguments %qE hängt von Templateparametern ab"
+ #: cp/pt.c:4410
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "partial specialization of %qT after instantiation of %qT"
+-msgstr "Spezialisierung %qT hinter Instanziierung %qT"
++msgstr "teilweise Spezialisierung von %qT hinter Instanziierung von %qT"
+ #: cp/pt.c:4503
+ #, gcc-internal-format
+@@ -30402,29 +30429,29 @@
+ msgstr "Parameterpack %qT muss am Ende der Templateparameterliste sein"
+ #: cp/pt.c:4564
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "default template arguments may not be used in function template friend re-declaration"
+-msgstr "Standardargumente sind nicht in Deklaration der friend-Template-Spezialisierung %qD erlaubt"
++msgstr "Standardtemplateargumente dürfen in friend-Redeklaration eines Funktionstemplates nicht verwendet werden"
+ #: cp/pt.c:4567
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "default template arguments may not be used in function template friend declarations"
+-msgstr "Standardargumente sind nicht in Deklaration der friend-Template-Spezialisierung %qD erlaubt"
++msgstr "Standardtemplateargumente dürfen in friend-Deklaration eines Funktionstemplates nicht verwendet werden"
+ #: cp/pt.c:4570
+ #, gcc-internal-format
+ msgid "default template arguments may not be used in function templates without -std=c++0x or -std=gnu++0x"
+-msgstr ""
++msgstr "Standardtemplateargumente dürfen in Funktionstemplates ohne -std=c++0x und -std=gnu++0x nicht verwendet werden"
+ #: cp/pt.c:4573
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "default template arguments may not be used in partial specializations"
+-msgstr "nicht in partieller Spezialisierung verwendete Templateparameter:"
++msgstr "Standardtemplateargumente dürfen in teilweiser Spezialisierung nicht verwendet werden"
+ #: cp/pt.c:4576 cp/pt.c:4627
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "default argument for template parameter for class enclosing %qD"
+-msgstr "Standardargument für Parameter des Typs %qT hat Typ %qT"
++msgstr "Standardargument für Template-Parameter für %qD umschließende Klasse"
+ #: cp/pt.c:4720
+ #, gcc-internal-format
+@@ -30495,14 +30522,14 @@
+ msgstr "keine Templatespezifizierer in Deklaration von %qD angegeben"
+ #: cp/pt.c:5067
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "redeclared with %d template parameter"
+ msgid_plural "redeclared with %d template parameters"
+-msgstr[0] "mit %d Template-Parameter(n) redeklariert"
+-msgstr[1] "mit %d Template-Parameter(n) redeklariert"
++msgstr[0] "mit %d Template-Parameter redeklariert"
++msgstr[1] "mit %d Template-Parametern redeklariert"
+ #: cp/pt.c:5071
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "previous declaration %q+D used %d template parameter"
+ msgid_plural "previous declaration %q+D used %d template parameters"
+ msgstr[0] "vorherige Deklaration %q+D verwendete %d Template-Parameter"
+@@ -30528,9 +30555,9 @@
+ msgstr "Redefinition des Standardarguments für %q#D"
+ #: cp/pt.c:5121
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "original definition appeared here"
+-msgstr "%Jursprüngliche Definition trat hier auf"
++msgstr "ursprüngliche Definition trat hier auf"
+ #: cp/pt.c:5209
+ #, gcc-internal-format
+@@ -30538,14 +30565,14 @@
+ msgstr "%qE ist kein gültiges Templateargument für Typ %qT, da die Funktion %qD keine externe Bindung hat"
+ #: cp/pt.c:5231 cp/pt.c:5571
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT"
+-msgstr "%qE ist kein gültiges Templateargument für Typ %qT, weil es ein Zeiger ist"
++msgstr "%qE ist kein gültiges Templateargument für Typ %qT"
+ #: cp/pt.c:5233
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "it must be a pointer-to-member of the form %<&X::Y%>"
+-msgstr "es muss ein Zeiger auf ein Element der Form »&X::Y« sein"
++msgstr "es muss ein Zeiger auf ein Element der Form %<&X::Y%> sein"
+ #: cp/pt.c:5302
+ #, gcc-internal-format
+@@ -30553,9 +30580,9 @@
+ msgstr "%qE ist kein gültiges Templateargument für Typ %qT, da Zeichenkettensymbole in diesem Zusammenhang nicht verwendet werden können"
+ #: cp/pt.c:5403
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "in template argument for type %qT "
+-msgstr "%qE ist kein gültiges Templateargument für Typ %qT, weil es ein Zeiger ist"
++msgstr "in Templateargument für Typ %qT"
+ #: cp/pt.c:5443
+ #, gcc-internal-format
+@@ -30583,14 +30610,14 @@
+ msgstr "%qE ist kein gültiges Templateargument für Typ %qT, weil es kein L-Wert ist"
+ #: cp/pt.c:5522
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%q#D is not a valid template argument for type %qT because a reference variable does not have a constant address"
+-msgstr "%qE ist kein gültiges Templateargument für Typ %qT, weil es kein konstanter Zeiger ist"
++msgstr "%q#D ist kein gültiges Templateargument für Typ %qT, weil eine Referenzvariable keine konstante Adresse hat"
+ #: cp/pt.c:5531
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an object with external linkage"
+-msgstr "%qE ist kein gültiges Templateargument für Typ %qT, weil Objekt %qD keine externe Bindung hat"
++msgstr "%qE ist kein gültiges Templateargument für Typ %qT, weil es kein Objekt mit externer Bindung ist"
+ #: cp/pt.c:5539
+ #, gcc-internal-format
+@@ -30623,9 +30650,9 @@
+ msgstr "Standardumwandlungen sind in diesem Kontext nicht erlaubt"
+ #: cp/pt.c:5966
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "injected-class-name %qD used as template template argument"
+-msgstr "Name der Klasse verdeckt Template-Templateparameter %qD"
++msgstr "eingegebener Klassenname %qD als Template-Templateargument verwendet"
+ #: cp/pt.c:5991
+ #, gcc-internal-format
+@@ -30663,16 +30690,16 @@
+ msgstr "  Klassentemplate erwartet, %qT erhalten"
+ #: cp/pt.c:6075
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  expected a template of type %qD, got %qT"
+-msgstr "  ein Template des Typs %qD erwartet, %qD erhalten"
++msgstr "  ein Template des Typs %qD erwartet, %qT erhalten"
+ #. Not sure if this is reachable, but it doesn't hurt
+ #. to be robust.
+ #: cp/pt.c:6108
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "type mismatch in nontype parameter pack"
+-msgstr "Typ passt nicht in Komponentenreferenz"
++msgstr "Typ passt nicht in Nichttypen-Parameterbündel"
+ #: cp/pt.c:6130
+ #, gcc-internal-format
+@@ -30685,9 +30712,9 @@
+ msgstr "falsche Anzahl der Templateargumente (%d, sollte %d sein)"
+ #: cp/pt.c:6336
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d or more)"
+-msgstr "falsche Anzahl der Templateargumente (%d, sollte %d sein)"
++msgstr "falsche Anzahl der Templateargumente (%d, sollte %d oder mehr sein)"
+ #: cp/pt.c:6344
+ #, gcc-internal-format
+@@ -30720,21 +30747,21 @@
+ msgstr "Für Template-Deklaration %q+D"
+ #: cp/pt.c:7486
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
- msgstr "Instanziierungstiefe für Templates überschreitet Höchstwert %d (-ftemplate-depth-NN verwenden, um dies zu erhöhen) bei Instanziierung von %qD"
+-msgstr "Instanziierungstiefe für Templates überschreitet Höchstwert %d (-ftemplate-depth-NN verwenden, um dies zu erhöhen) bei Instanziierung von %qD"
++msgstr "Instanziierungstiefe für Templates überschreitet Höchstwert %d (-ftemplate-depth= verwenden, um dies zu erhöhen) bei Instanziierung von %qD"
  
 -#: cp/pt.c:8788
 +#: cp/pt.c:8796
@@ -302107,7 +308005,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "instantiation of %q+D as type %qT"
  msgstr "Instanziierung von %q+D als Typ %qT"
-@@ -30752,227 +30791,227 @@
+@@ -30752,227 +30779,227 @@
  #.
  #. is an attempt to declare a variable with function
  #. type.
@@ -302154,16 +308052,20 @@ Index: gcc/po/de.po
  msgstr "Referenz auf »void« wird gebildet"
  
 -#: cp/pt.c:10756
+-#, fuzzy, gcc-internal-format
 +#: cp/pt.c:10766
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "forming pointer to reference type %qT"
- msgstr "%s wird in Referenztyp %qT umgeformt"
+-msgstr "%s wird in Referenztyp %qT umgeformt"
++msgstr "Zeiger auf Referenztyp %qT wird geformt"
  
 -#: cp/pt.c:10758
+-#, fuzzy, gcc-internal-format
 +#: cp/pt.c:10768
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "forming reference to reference type %qT"
- msgstr "%s wird in Referenztyp %qT umgeformt"
+-msgstr "%s wird in Referenztyp %qT umgeformt"
++msgstr "Referenz auf Referenztyp %qT wird geformt"
  
 -#: cp/pt.c:10807
 +#: cp/pt.c:10817
@@ -302220,10 +308122,12 @@ Index: gcc/po/de.po
  msgstr "Verwendung von %qs in Template"
  
 -#: cp/pt.c:11203
+-#, fuzzy, gcc-internal-format
 +#: cp/pt.c:11213
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "qualifying type %qT does not match destructor name ~%qT"
- msgstr "qualifizierter Typ %qT passt nicht zum Destruktornamen ~%qT"
+-msgstr "qualifizierter Typ %qT passt nicht zum Destruktornamen ~%qT"
++msgstr "qualifizierender Typ %qT passt nicht zum Destruktornamen ~%qT"
  
 -#: cp/pt.c:11218
 +#: cp/pt.c:11228
@@ -302346,10 +308250,12 @@ Index: gcc/po/de.po
  msgstr "doppelte explizite Instanziierung von %q#D"
  
 -#: cp/pt.c:16703 cp/pt.c:16795
+-#, fuzzy, gcc-internal-format
 +#: cp/pt.c:16735 cp/pt.c:16827
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
- msgstr "ISO-C++ verbietet die Verwendung von %<extern%> bei expliziten Instanziierungen"
+-msgstr "ISO-C++ verbietet die Verwendung von %<extern%> bei expliziten Instanziierungen"
++msgstr "ISO-C++ 1998 verbietet die Verwendung von %<extern%> bei expliziten Instanziierungen"
  
 -#: cp/pt.c:16708 cp/pt.c:16812
 +#: cp/pt.c:16740 cp/pt.c:16844
@@ -302380,7 +308286,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "duplicate explicit instantiation of %q#T"
  msgstr "doppelte explizite Instanziierung von %q#T"
-@@ -30984,27 +31023,27 @@
+@@ -30984,43 +31011,43 @@
  #. member function or static data member of a class template
  #. shall be present in every translation unit in which it is
  #. explicitly instantiated.
@@ -302391,10 +308297,12 @@ Index: gcc/po/de.po
  msgstr "explizite Instanziierung von %qD, aber keine Definition verfügbar"
  
 -#: cp/pt.c:17502
+-#, fuzzy, gcc-internal-format
 +#: cp/pt.c:17537
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth= to increase the maximum)"
- msgstr "Instanziierungstiefe für Templates überschreitet Höchstwert %d (-ftemplate-depth-NN verwenden, um dies zu erhöhen) bei Instanziierung von %q+D, möglicherweise von Erzeugung der virtuellen Tabelle"
+-msgstr "Instanziierungstiefe für Templates überschreitet Höchstwert %d (-ftemplate-depth-NN verwenden, um dies zu erhöhen) bei Instanziierung von %q+D, möglicherweise von Erzeugung der virtuellen Tabelle"
++msgstr "Instanziierungstiefe für Templates überschreitet Höchstwert %d (-ftemplate-depth= verwenden, um dies zu erhöhen) bei Instanziierung von %q+D, möglicherweise von Erzeugung der virtuellen Tabelle"
  
 -#: cp/pt.c:17868
 +#: cp/pt.c:17904
@@ -302403,32 +308311,84 @@ Index: gcc/po/de.po
  msgstr "%q#T ist kein gültiger Typ für einen Templatekonstanten-Parameter"
  
 -#: cp/pt.c:18919
+-#, fuzzy, gcc-internal-format
 +#: cp/pt.c:18967
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
- msgstr "geklammerter Initialisierer zur Initialisierung von %qT verwendet"
+-msgstr "geklammerter Initialisierer zur Initialisierung von %qT verwendet"
++msgstr "Ermittlung aus geschweift geklammerter Initialisierungsliste erfordert #include <initializer_list>"
  
 -#: cp/pt.c:18972
+-#, fuzzy, gcc-internal-format
 +#: cp/pt.c:19020
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "variable %q#D with %<auto%> type used in its own initializer"
- msgstr "Variable %qD kann nicht initialisiert worden sein"
-@@ -31012,12 +31051,12 @@
+-msgstr "Variable %qD kann nicht initialisiert worden sein"
++msgstr "Variable %q#D mit %<auto%>-Typ in ihrer eigenen Initialisierung verwendet"
  #. If type is error_mark_node a diagnostic must have been
  #. emitted by now.  Also, having a mention to '<type error>'
  #. in the diagnostic is not really useful to the user.
 -#: cp/pt.c:19000
+-#, fuzzy, gcc-internal-format
 +#: cp/pt.c:19048
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "unable to deduce %qT from %qE"
- msgstr "%qs kann nicht emuliert werden"
+-msgstr "%qs kann nicht emuliert werden"
++msgstr "%qT kann nicht aus %qE hergeleitet werden"
  
 -#: cp/pt.c:19011
 +#: cp/pt.c:19059
  #, gcc-internal-format
  msgid "inconsistent deduction for %qT: %qT and then %qT"
- msgstr ""
-@@ -31179,473 +31218,478 @@
+-msgstr ""
++msgstr "widersprüchliche Herleitung für %qT: %qT und dann %qT"
+ #: cp/repo.c:119
+ #, gcc-internal-format
+@@ -31033,7 +31060,7 @@
+ msgstr "rätselhafte Repository-Information in %s"
+ #: cp/repo.c:227
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "can%'t create repository information file %qs"
+ msgstr "Repository-Informationsdatei %qs kann nicht erzeugt werden"
+@@ -31113,24 +31140,24 @@
+ msgstr "in Konflikt stehenden Typattribute für %q+#D angegeben"
+ #: cp/search.c:1912
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "deleted function %q+D"
+-msgstr "Wiederholte using-Deklaration %q+D"
++msgstr "Funktion %q+D gelöscht"
+ #: cp/search.c:1913
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "overriding non-deleted function %q+D"
+-msgstr "virtuelle Nicht-Klassen-Funktion %qs"
++msgstr "nicht gelöschte Funktion %q+D aufgehoben"
+ #: cp/search.c:1918
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "non-deleted function %q+D"
+-msgstr "Aufruf der Nicht-Funktion %qD"
++msgstr "nicht gelöschte Funktion %q+D"
+ #: cp/search.c:1919
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "overriding deleted function %q+D"
+-msgstr "überschatten der %s Funktion %q#D"
++msgstr "gelöschte Funktion %q+D aufgehoben"
+ #. A static member function cannot match an inherited
+ #. virtual member function.
+@@ -31179,997 +31206,1002 @@
  msgid "arguments to destructor are not allowed"
  msgstr "Argumente für Destruktor sind nicht erlaubt"
  
@@ -302517,10 +308477,12 @@ Index: gcc/po/de.po
  msgstr "Basisklasse %qT hat CV-Kennzeichner"
  
 -#: cp/semantics.c:2914 cp/semantics.c:8038
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:2947 cp/semantics.c:8197
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%qD is not captured"
- msgstr "%qD ist kein Typ"
+-msgstr "%qD ist kein Typ"
++msgstr "%qD ist nicht aufgefangen"
  
 -#: cp/semantics.c:2920
 +#: cp/semantics.c:2953
@@ -302535,10 +308497,12 @@ Index: gcc/po/de.po
  msgstr "  %q+#D hier deklariert"
  
 -#: cp/semantics.c:2933
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:2966
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "use of parameter %qD outside function body"
- msgstr "Verwendung eines Parameters aus enthaltender Funktion"
+-msgstr "Verwendung eines Parameters aus enthaltender Funktion"
++msgstr "Verwendung des Parameters %qD außerhalb des Funktionskörpers"
  
 -#: cp/semantics.c:2970
 +#: cp/semantics.c:3003
@@ -302602,16 +308566,20 @@ Index: gcc/po/de.po
  msgstr "%qD tritt in Datenklausel mehrfach auf"
  
 -#: cp/semantics.c:3726
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:3762
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%qD is not a variable in clause %<firstprivate%>"
- msgstr "%qE ist in Klausel %<firstprivate%> keine Variable"
+-msgstr "%qE ist in Klausel %<firstprivate%> keine Variable"
++msgstr "%qD ist in Klausel %<firstprivate%> keine Variable"
  
 -#: cp/semantics.c:3748
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:3784
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%qD is not a variable in clause %<lastprivate%>"
- msgstr "%qE ist in Klausel %<lastprivate%> keine Variable"
+-msgstr "%qE ist in Klausel %<lastprivate%> keine Variable"
++msgstr "%qD ist in Klausel %<lastprivate%> keine Variable"
  
 -#: cp/semantics.c:3778
 +#: cp/semantics.c:3814
@@ -302632,22 +308600,27 @@ Index: gcc/po/de.po
  msgstr "%qE hat Referenztyp für %qs"
  
 -#: cp/semantics.c:3995
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:4033
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<threadprivate%> %qD is not file, namespace or block scope variable"
- msgstr "%<threadprivate%> %qE ist nicht Datei-, Namens- oder Blockbereichsvariable"
+-msgstr "%<threadprivate%> %qE ist nicht Datei-, Namens- oder Blockbereichsvariable"
++msgstr "%<threadprivate%> %qD ist nicht Datei-, Namens- oder Blockbereichsvariable"
  
 -#: cp/semantics.c:4009
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:4047
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<threadprivate%> %qE directive not in %qT definition"
- msgstr "%<threadprivate%> %qE hat unvollständigen Typen"
+-msgstr "%<threadprivate%> %qE hat unvollständigen Typen"
++msgstr "Direktive %<threadprivate%> %qE nicht in Definition von %qT"
  
 -#: cp/semantics.c:4154
 +#: cp/semantics.c:4192
  #, gcc-internal-format
  msgid "difference between %qE and %qD does not have integer type"
- msgstr ""
+-msgstr ""
++msgstr "Unterschied zwischen %qE und %qD hat keinen Ganzzahltyp"
  
 -#: cp/semantics.c:4684
 +#: cp/semantics.c:4722
@@ -302671,7 +308644,8 @@ Index: gcc/po/de.po
 +#: cp/semantics.c:4971
  #, gcc-internal-format
  msgid "unable to determine the declared type of expression %<%E%>"
- msgstr ""
+-msgstr ""
++msgstr "deklarierter Typ des Ausdrucks %<%E%> kann nicht ermittelt werden"
  
 -#: cp/semantics.c:5194
 +#: cp/semantics.c:5238
@@ -302689,21 +308663,26 @@ Index: gcc/po/de.po
 +#: cp/semantics.c:5355
  #, gcc-internal-format
  msgid "the type %qT of constexpr variable %qD is not literal"
- msgstr ""
+-msgstr ""
++msgstr "der Typ %qT der Variable %qD als konstanter Ausdruck ist kein Literal"
  
 -#: cp/semantics.c:5390
-+#: cp/semantics.c:5434
- #, fuzzy, gcc-internal-format
+-#, fuzzy, gcc-internal-format
 -msgid "invalid type for parameter %q#D of constexpr function"
+-msgstr "ungültige Verwendung des Elementes %q+D in statischer Elementfunktion"
++#: cp/semantics.c:5434
++#, gcc-internal-format
 +msgid "invalid type for parameter %d of constexpr function %q+#D"
- msgstr "ungültige Verwendung des Elementes %q+D in statischer Elementfunktion"
++msgstr "ungültiger Typ für Parameter %d der Funktion %q+#D als konstantem Ausdruck"
  
 -#: cp/semantics.c:5401
-+#: cp/semantics.c:5445
- #, fuzzy, gcc-internal-format
+-#, fuzzy, gcc-internal-format
 -msgid "invalid return type %qT of constexpr function %qD"
+-msgstr "ungültiger abstrakter Rückgabetyp für Funktion %q+#D"
++#: cp/semantics.c:5445
++#, gcc-internal-format
 +msgid "invalid return type %qT of constexpr function %q+D"
- msgstr "ungültiger abstrakter Rückgabetyp für Funktion %q+#D"
++msgstr "ungültiger Rückgabetyp %qT der Funktion %q+D als konstantem Ausdruck"
  
 -#: cp/semantics.c:5411
 -#, fuzzy, gcc-internal-format
@@ -302714,243 +308693,310 @@ Index: gcc/po/de.po
 +#: cp/semantics.c:5610
  #, gcc-internal-format
  msgid "constexpr constructor does not have empty body"
- msgstr ""
+-msgstr ""
++msgstr "Konstruktor mit konstantem Ausdruck hat keinen leeren Körper"
  
 -#: cp/semantics.c:5664
 +#: cp/semantics.c:5690
  #, gcc-internal-format
  msgid "body of constexpr function %qD not a return-statement"
- msgstr ""
+-msgstr ""
++msgstr "Körper der Funktion %qD mit konstantem Ausdruck ist keine Rückgabeanweisung"
  
 -#: cp/semantics.c:5981
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6029
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expression %qE does not designate a constexpr function"
- msgstr "»friend«-Deklaration benennt keine Klasse oder Funktion"
+-msgstr "»friend«-Deklaration benennt keine Klasse oder Funktion"
++msgstr "Ausdruck %qE bezeichnet keine Funktion mit konstantem Ausdruck"
  
 -#: cp/semantics.c:5995
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6043
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%qD is not a constexpr function"
- msgstr "%qD ist keine Templatefunktion"
+-msgstr "%qD ist keine Templatefunktion"
++msgstr "%qD ist keine Funktion mit konstantem Audruck"
  
 -#: cp/semantics.c:6022
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6070
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%qD used before its definition"
- msgstr "%q+D wurde vor seiner Definition ohne Prototyp verwendet"
+-msgstr "%q+D wurde vor seiner Definition ohne Prototyp verwendet"
++msgstr "%qD vor seiner Definition verwendet"
  
 -#: cp/semantics.c:6049
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6103
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "call has circular dependency"
- msgstr "Protokoll %qs hat ringförmige Abhängigkeit"
+-msgstr "Protokoll %qs hat ringförmige Abhängigkeit"
++msgstr "Aufruf hat ringförmige Abhängigkeit"
  
 -#: cp/semantics.c:6135
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6111
-+#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
 +msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
-+msgstr "Instanziierungstiefe für Templates überschreitet Höchstwert %d (-ftemplate-depth-NN verwenden, um dies zu erhöhen) bei Instanziierung von %qD"
++msgstr "Auswertungstiefe des konstanten Ausdrucks überschreitet Höchstwert %d (-fconstexpr-depth= verwenden, um dies zu erhöhen)"
 +
 +#: cp/semantics.c:6189
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%q+E is not a constant expression"
- msgstr "Fehlender oder ungültiger Konstantenausdruck"
+-msgstr "Fehlender oder ungültiger Konstantenausdruck"
++msgstr "%q+E ist kein Konstantenausdruck"
  
 -#: cp/semantics.c:6252
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6322
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "array subscript out of bound"
- msgstr "%HFeldindex ist außerhalb der Feldgrenzen"
+-msgstr "%HFeldindex ist außerhalb der Feldgrenzen"
++msgstr "Feldindex ist außerhalb der Feldgrenzen"
  
 -#: cp/semantics.c:6291 cp/semantics.c:6337 cp/semantics.c:6807
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6368 cp/semantics.c:6417 cp/semantics.c:6923
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%qE is not a constant expression"
- msgstr "Fehlender oder ungültiger Konstantenausdruck"
+-msgstr "Fehlender oder ungültiger Konstantenausdruck"
++msgstr "%qE ist kein Konstantenausdruck"
  
 -#: cp/semantics.c:6305
 +#: cp/semantics.c:6382
  #, gcc-internal-format
  msgid "accessing %qD member instead of initialized %qD member in constant expression"
- msgstr ""
+-msgstr ""
++msgstr "Zugriff auf Element %qD statt auf initialisiertes Element %qD in Konstantenausdruck"
  
 -#: cp/semantics.c:6688
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6801
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "accessing value of %qE through a %qT glvalue in a constant expression"
- msgstr "Fehlender oder ungültiger Konstantenausdruck"
+-msgstr "Fehlender oder ungültiger Konstantenausdruck"
++msgstr "auf Wert von %qE wird über ein %qT GL-Wert in Konstantenausdruck zugegriffen"
  
 -#: cp/semantics.c:6718
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6831
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "the value of %qD is not usable in a constant expression"
- msgstr "Größe des Feldes %qD ist kein konstanter Ganzzahlausdruck"
+-msgstr "Größe des Feldes %qD ist kein konstanter Ganzzahlausdruck"
++msgstr "der Wert von %qD ist in konstantem Ausdruck nicht verwendbar"
  
 -#: cp/semantics.c:6722
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6838
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%qD used in its own initializer"
- msgstr "Variable %qD kann nicht initialisiert worden sein"
+-msgstr "Variable %qD kann nicht initialisiert worden sein"
++msgstr "%qD in seiner eigenen Initialisierung verwendet"
  
 -#: cp/semantics.c:6727
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6843
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%q#D is not const"
- msgstr "%q#T ist keine Klasse"
+-msgstr "%q#T ist keine Klasse"
++msgstr "%q#D ist nicht konstant"
  
 -#: cp/semantics.c:6730
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6846
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%q#D is volatile"
- msgstr "%q+#D ist privat"
+-msgstr "%q+#D ist privat"
++msgstr "%q#D ist volatile"
  
 -#: cp/semantics.c:6733
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6849
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%qD was not initialized with a constant expression"
- msgstr "%qD kann nicht in Konstanten-Ausdruck auftreten"
+-msgstr "%qD kann nicht in Konstanten-Ausdruck auftreten"
++msgstr "%qD wurde nicht mit konstantem Ausdruck initialisiert"
  
 -#: cp/semantics.c:6742
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6858
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%qD was not declared %<constexpr%>"
- msgstr "%qD wurde in diesem Gültigkeitsbereich nicht definiert"
+-msgstr "%qD wurde in diesem Gültigkeitsbereich nicht definiert"
++msgstr "%qD wurde nicht als %<constexpr%> definiert"
  
 -#: cp/semantics.c:6745
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:6861
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%qD does not have integral or enumeration type"
- msgstr "Ausdruck in new-Deklarator muss Ganzzahl- oder Aufzählungstyp haben"
+-msgstr "Ausdruck in new-Deklarator muss Ganzzahl- oder Aufzählungstyp haben"
++msgstr "%qD hat keinen Ganzzahl- oder Aufzählungstyp"
  
 -#: cp/semantics.c:7013 cp/semantics.c:7425
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:7134 cp/semantics.c:7567
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "conversion of expression %qE of pointer type cannot yield a constant expression"
- msgstr "Ausdruck %qE von abstraktem Klassentyp %qT kann nicht in throw-Ausdruck verwendet werden"
+-msgstr "Ausdruck %qE von abstraktem Klassentyp %qT kann nicht in throw-Ausdruck verwendet werden"
++msgstr "Umwandlung des Ausdrucks %qE mit Zeigertyp kann keinen konstanten Ausdruck ergeben"
  
 -#: cp/semantics.c:7062 cp/semantics.c:7507 cp/semantics.c:7731
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:7188 cp/semantics.c:7658 cp/semantics.c:7889
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expression %qE is not a constant-expression"
- msgstr "Ganzzahlausdruck %qE ist nicht konstant"
+-msgstr "Ganzzahlausdruck %qE ist nicht konstant"
++msgstr "Ausdruck %qE ist kein konstanter Ausdruck"
  
 -#: cp/semantics.c:7067
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:7193
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "unexpected expression %qE of kind %s"
- msgstr "Ausdruck erwartet"
+-msgstr "Ausdruck erwartet"
++msgstr "unerwarteter Ausdruck %qE der Art %s"
  
 -#: cp/semantics.c:7274
 +#: cp/semantics.c:7400
  #, gcc-internal-format
  msgid "expression %qE has side-effects"
- msgstr ""
+-msgstr ""
++msgstr "Ausdruck %qE hat Seiteneffekte"
  
 -#: cp/semantics.c:7319
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:7449
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%qE is not a potential constant expression"
- msgstr "%s kann nicht in einem Konstanten-Ausdruck auftreten"
+-msgstr "%s kann nicht in einem Konstanten-Ausdruck auftreten"
++msgstr "%qE ist kein potentieller konstanter Ausdruck"
  
 -#: cp/semantics.c:7337
-+#: cp/semantics.c:7473
- #, fuzzy, gcc-internal-format
+-#, fuzzy, gcc-internal-format
 -msgid "%qE is not a function name"
 -msgstr "%qD ist kein Funktionstemplate"
 -
 -#: cp/semantics.c:7352
 -#, fuzzy, gcc-internal-format
++#: cp/semantics.c:7473
++#, gcc-internal-format
  msgid "%qD is not %<constexpr%>"
- msgstr "%qD ist kein Typ"
+-msgstr "%qD ist kein Typ"
++msgstr "%qD ist nicht %<constexpr%>"
  
 -#: cp/semantics.c:7370
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:7489
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "object argument is not a potential constant expression"
- msgstr "Größe des Feldes ist kein konstanter Ganzzahlausdruck"
+-msgstr "Größe des Feldes ist kein konstanter Ganzzahlausdruck"
++msgstr "Objektargument ist kein potentieller konstanter Ausdruck"
  
 -#: cp/semantics.c:7378
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:7510
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
 +msgid "%qE is not a function name"
-+msgstr "%qD ist kein Funktionstemplate"
++msgstr "%qE ist kein Funktionsname"
 +
 +#: cp/semantics.c:7520
-+#, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "argument in position %qP is not a potential constant expression"
- msgstr "Größe des Feldes %qD ist kein konstanter Ganzzahlausdruck"
+-msgstr "Größe des Feldes %qD ist kein konstanter Ganzzahlausdruck"
++msgstr "Argument in Position %qP ist kein potentieller konstanter Ausdruck"
  
 -#: cp/semantics.c:7448
 +#: cp/semantics.c:7590
  #, gcc-internal-format
  msgid "address-of an object %qE with thread local or automatic storage is not a constant expression"
- msgstr ""
+-msgstr ""
++msgstr "Adresse eines Objektes %qE mit thread-lokalem oder automatischem Speicher ist kein konstanter Ausdruck"
  
 -#: cp/semantics.c:7519
 +#: cp/semantics.c:7621
-+#, fuzzy, gcc-internal-format
+ #, gcc-internal-format
 +msgid "use of the value of the object being constructed in a constant expression"
-+msgstr "Größe des Feldes %qD ist kein konstanter Ganzzahlausdruck"
++msgstr "Verwendung des Wertes des konstruierten Objektes in konstantem Ausdruck"
 +
 +#: cp/semantics.c:7670
- #, gcc-internal-format
++#, gcc-internal-format
  msgid "typeid-expression is not a constant expression because %qE is of polymorphic type"
- msgstr ""
+-msgstr ""
++msgstr "Typeid-Ausdruck ist kein konstanter Ausdruck, da %qE polymorphen Typ hat"
  
 -#: cp/semantics.c:7532
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:7683
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "difference of two pointer expressions is not a constant expression"
- msgstr "Größe des Feldes ist kein konstanter Ganzzahlausdruck"
+-msgstr "Größe des Feldes ist kein konstanter Ganzzahlausdruck"
++msgstr "Unterschied zweier Zeigerausdrücke ist kein konstanter Ausdruck"
  
 -#: cp/semantics.c:7551
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:7702
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "pointer comparison expression is not a constant expression"
- msgstr "Ganzzahlausdruck %qE ist nicht konstant"
+-msgstr "Ganzzahlausdruck %qE ist nicht konstant"
++msgstr "Zeigervergleichsausdruck ist kein konstanter Ausdruck"
  
 -#: cp/semantics.c:7636
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:7792
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "division by zero is not a constant-expression"
- msgstr "Ganzzahlausdruck %qE ist nicht konstant"
+-msgstr "Ganzzahlausdruck %qE ist nicht konstant"
++msgstr "Division durch Null ist kein konstanter Ausdruck"
  
 -#: cp/semantics.c:7739
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:7897
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "non-constant array initialization"
- msgstr "nichtkonstanter Feldindex in Initialisierung"
+-msgstr "nichtkonstanter Feldindex in Initialisierung"
++msgstr "nicht konstante Feldinitialisierung"
  
 -#: cp/semantics.c:7745
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: cp/semantics.c:7903
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "unexpected ast of kind %s"
- msgstr "nicht erwarteter Typ für »id« (%s)"
+-msgstr "nicht erwarteter Typ für »id« (%s)"
++msgstr "unerwarteter AST der Art %s"
  
 -#: cp/semantics.c:7915
 +#: cp/semantics.c:8073
  #, gcc-internal-format
  msgid "cannot deduce lambda return type from a braced-init-list"
- msgstr ""
+-msgstr ""
++msgstr "Lambda-Rückgabetyp kann nicht aus Initialisierungsliste mit geschweiften Klammern hergeleitet werden"
  
 -#: cp/semantics.c:8084
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:8243
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "cannot capture %qE by reference"
- msgstr "Referenz auf %q#T kann nicht deklariert werden"
+-msgstr "Referenz auf %q#T kann nicht deklariert werden"
++msgstr "%qE kann nicht per Referenz aufgefangen werden"
  
 -#: cp/semantics.c:8107
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:8266
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "already captured %<this%> in lambda expression"
- msgstr "ungültige Operanden in binärem Ausdruck"
+-msgstr "ungültige Operanden in binärem Ausdruck"
++msgstr "%<this%> bereits in Lambda-Ausdruck aufgefangen"
  
 -#: cp/semantics.c:8238
+-#, fuzzy, gcc-internal-format
 +#: cp/semantics.c:8397
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<this%> was not captured for this lambda function"
- msgstr "%<this%> ist für statische Elementfunktionen nicht verfügbar"
+-msgstr "%<this%> ist für statische Elementfunktionen nicht verfügbar"
++msgstr "%<this%> wurde für diese Lambda-Funktion nicht aufgefangen"
  
 -#: cp/tree.c:985
 +#: cp/tree.c:988
@@ -303011,45 +309057,75 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "lang_* check: failed in %s, at %s:%d"
  msgstr "Überprüfung von lang_*: in %s, bei %s:%d gescheitert"
-@@ -31665,511 +31709,511 @@
+ #: cp/typeck.c:454
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "comparison between distinct pointer types %qT and %qT lacks a cast"
+-msgstr "%s zwischen den verschiedenen Zeigertypen %qT und %qT benötigt Umwandlung"
++msgstr "Vergleich zwischen den unterschiedlichen Zeigertypen %qT und %qT benötigt Umwandlung"
+ #: cp/typeck.c:460
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "conversion between distinct pointer types %qT and %qT lacks a cast"
+-msgstr "%s zwischen den verschiedenen Zeigertypen %qT und %qT benötigt Umwandlung"
++msgstr "Umwandlung zwischen den unterschiedlichen Zeigertypen %qT und %qT benötigt Umwandlung"
+ #: cp/typeck.c:466
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "conditional expression between distinct pointer types %qT and %qT lacks a cast"
- msgstr "%s zwischen den verschiedenen Zeigertypen %qT und %qT benötigt Umwandlung"
+-msgstr "%s zwischen den verschiedenen Zeigertypen %qT und %qT benötigt Umwandlung"
++msgstr "Bedingungsausdruck mit den unterschiedlichen Zeigertypen %qT und %qT benötigt Umwandlung"
  
 -#: cp/typeck.c:599
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:604
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "ISO C++ forbids comparison between pointer of type %<void *%> and pointer-to-function"
- msgstr "ISO-C++ verbietet %s zwischen Zeiger des Typs %<void *%> und Zeiger auf Funktion"
+-msgstr "ISO-C++ verbietet %s zwischen Zeiger des Typs %<void *%> und Zeiger auf Funktion"
++msgstr "ISO-C++ verbietet Vergleich zwischen Zeiger des Typs %<void *%> und Zeiger auf Funktion"
  
 -#: cp/typeck.c:604
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:609
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "ISO C++ forbids conversion between pointer of type %<void *%> and pointer-to-function"
- msgstr "ISO-C++ verbietet %s zwischen Zeiger des Typs %<void *%> und Zeiger auf Funktion"
+-msgstr "ISO-C++ verbietet %s zwischen Zeiger des Typs %<void *%> und Zeiger auf Funktion"
++msgstr "ISO-C++ verbietet Umwandlung zwischen Zeiger des Typs %<void *%> und Zeiger auf Funktion"
  
 -#: cp/typeck.c:609
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:614
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "ISO C++ forbids conditional expression between pointer of type %<void *%> and pointer-to-function"
- msgstr "ISO-C++ verbietet %s zwischen Zeiger des Typs %<void *%> und Zeiger auf Funktion"
+-msgstr "ISO-C++ verbietet %s zwischen Zeiger des Typs %<void *%> und Zeiger auf Funktion"
++msgstr "ISO-C++ verbietet Bedingungsausdruck mit Zeiger des Typs %<void *%> und Zeiger auf Funktion"
  
 -#: cp/typeck.c:676
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:681
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "comparison between distinct pointer-to-member types %qT and %qT lacks a cast"
- msgstr "%s zwischen verschiedenen Zeiger-auf-Element-Typen %qT und %qT fehlt eine Typkonvertierung"
+-msgstr "%s zwischen verschiedenen Zeiger-auf-Element-Typen %qT und %qT fehlt eine Typkonvertierung"
++msgstr "beim Vergleich zwischen unterschiedlichen Zeiger-auf-Element-Typen %qT und %qT fehlt eine Typkonvertierung"
  
 -#: cp/typeck.c:681
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:686
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "conversion between distinct pointer-to-member types %qT and %qT lacks a cast"
- msgstr "%s zwischen verschiedenen Zeiger-auf-Element-Typen %qT und %qT fehlt eine Typkonvertierung"
+-msgstr "%s zwischen verschiedenen Zeiger-auf-Element-Typen %qT und %qT fehlt eine Typkonvertierung"
++msgstr "bei Umwandlung zwischen unterschiedlichen Zeiger-auf-Element-Typen %qT und %qT fehlt eine Typkonvertierung"
  
 -#: cp/typeck.c:686
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:691
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "conditional expression between distinct pointer-to-member types %qT and %qT lacks a cast"
- msgstr "%s zwischen verschiedenen Zeiger-auf-Element-Typen %qT und %qT fehlt eine Typkonvertierung"
+-msgstr "%s zwischen verschiedenen Zeiger-auf-Element-Typen %qT und %qT fehlt eine Typkonvertierung"
++msgstr "im Bedingungsausdruck mit unterschiedlichen Zeiger-auf-Element-Typen %qT und %qT fehlt eine Typkonvertierung"
  
 -#: cp/typeck.c:1373
 +#: cp/typeck.c:1378
@@ -303130,16 +309206,19 @@ Index: gcc/po/de.po
  msgstr "(vielleicht wurde das Makro %<offsetof%> falsch verwendet)"
  
 -#: cp/typeck.c:2228
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:2236
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid access to non-static data member %qD  of NULL object"
  msgstr "ungültiger Zugriff auf nicht-statisches Datenelement %qD des NULL-Objektes"
  
 -#: cp/typeck.c:2356
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:2364
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "object type %qT does not match destructor name ~%qT"
- msgstr "qualifizierter Typ %qT passt nicht zum Destruktornamen ~%qT"
+-msgstr "qualifizierter Typ %qT passt nicht zum Destruktornamen ~%qT"
++msgstr "Objekttyp %qT passt nicht zum Destruktornamen ~%qT"
  
 -#: cp/typeck.c:2364
 +#: cp/typeck.c:2372
@@ -303184,22 +309263,28 @@ Index: gcc/po/de.po
  msgstr "%qT ist kein Zeiger auf Objekt"
  
 -#: cp/typeck.c:2767
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:2775
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid use of array indexing on pointer to member"
- msgstr "ungültige Verwendung von %qs bei Zeiger auf Element"
+-msgstr "ungültige Verwendung von %qs bei Zeiger auf Element"
++msgstr "ungültige Verwendung von Feldindizierung bei Zeiger auf Element"
  
 -#: cp/typeck.c:2770
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:2778
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid use of unary %<*%> on pointer to member"
- msgstr "ungültige Verwendung von %qs bei Zeiger auf Element"
+-msgstr "ungültige Verwendung von %qs bei Zeiger auf Element"
++msgstr "ungültige Verwendung des unären  %<*%> bei Zeiger auf Element"
  
 -#: cp/typeck.c:2773
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:2781
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid use of implicit conversion on pointer to member"
- msgstr "ungültige Verwendung von %qs bei Zeiger auf Element"
+-msgstr "ungültige Verwendung von %qs bei Zeiger auf Element"
++msgstr "ungültige Verwendung impliziter Umwandlung bei Zeiger auf Element"
  
 -#: cp/typeck.c:2808
 +#: cp/typeck.c:2816
@@ -303238,10 +309323,12 @@ Index: gcc/po/de.po
  msgstr "ISO-C++ verbietet den Aufruf von %<::main%> vom Programm aus"
  
 -#: cp/typeck.c:3224
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:3232
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>, e.g. %<(... ->* %E) (...)%>"
- msgstr "%<.*%> oder %<->*%> muss verwendet werden, um Zeiger auf Element in %<%E (...)%> aufzurufen"
+-msgstr "%<.*%> oder %<->*%> muss verwendet werden, um Zeiger auf Element in %<%E (...)%> aufzurufen"
++msgstr "%<.*%> oder %<->*%> muss verwendet werden, um Zeiger auf Element als Funktion in %<%E (...)%> aufzurufen, z.B. %<(... ->* %E) (...)%>"
  
 -#: cp/typeck.c:3239
 +#: cp/typeck.c:3247
@@ -303250,52 +309337,68 @@ Index: gcc/po/de.po
  msgstr "%qE kann nicht als Funktion verwendet werden"
  
 -#: cp/typeck.c:3287
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:3295
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "too many arguments to constructor %q#D"
- msgstr "zu viele Argumente für %s %q+#D"
+-msgstr "zu viele Argumente für %s %q+#D"
++msgstr "zu viele Argumente für Konstruktor %q#D"
  
 -#: cp/typeck.c:3288
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:3296
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "too few arguments to constructor %q#D"
- msgstr "zu wenige Argumente für %s %q+#D"
+-msgstr "zu wenige Argumente für %s %q+#D"
++msgstr "zu wenige Argumente für Konstruktor %q#D"
  
 -#: cp/typeck.c:3293
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:3301
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "too many arguments to member function %q#D"
- msgstr "zu viele Argumente für Funktion %qs"
+-msgstr "zu viele Argumente für Funktion %qs"
++msgstr "zu viele Argumente für Elementfunktion %q#D"
  
 -#: cp/typeck.c:3294
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:3302
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "too few arguments to member function %q#D"
- msgstr "Zu wenige Argumente für Funktion %qs"
+-msgstr "Zu wenige Argumente für Funktion %qs"
++msgstr "Zu wenige Argumente für Elementfunktion %q#D"
  
 -#: cp/typeck.c:3300
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:3308
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "too many arguments to function %q#D"
- msgstr "zu viele Argumente für Funktion %qs"
+-msgstr "zu viele Argumente für Funktion %qs"
++msgstr "zu viele Argumente für Funktion %q#D"
  
 -#: cp/typeck.c:3301
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:3309
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "too few arguments to function %q#D"
- msgstr "Zu wenige Argumente für Funktion %qs"
+-msgstr "Zu wenige Argumente für Funktion %qs"
++msgstr "zu wenige Argumente für Funktion %q#D"
  
 -#: cp/typeck.c:3311
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:3319
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "too many arguments to method %q#D"
- msgstr "zu viele Argumente für %s %q+#D"
+-msgstr "zu viele Argumente für %s %q+#D"
++msgstr "zu viele Argumente für Methode %q#D"
  
 -#: cp/typeck.c:3312
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:3320
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "too few arguments to method %q#D"
- msgstr "zu wenige Argumente für %s %q+#D"
+-msgstr "zu wenige Argumente für %s %q+#D"
++msgstr "zu wenige Argumente für Methode %q#D"
  
 -#: cp/typeck.c:3315
 +#: cp/typeck.c:3323
@@ -303414,16 +309517,20 @@ Index: gcc/po/de.po
  msgstr "ungültige Verwendung eines Zeigers auf einen unvollständigen Typen in Zeigerarithmetik"
  
 -#: cp/typeck.c:4552
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:4564
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "taking address of constructor %qE"
- msgstr "Adresse des Destruktors wird ermittelt"
+-msgstr "Adresse des Destruktors wird ermittelt"
++msgstr "Adresse des Konstruktors %qE wird genommen"
  
 -#: cp/typeck.c:4553
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:4565
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "taking address of destructor %qE"
- msgstr "Adresse des Destruktors wird ermittelt"
+-msgstr "Adresse des Destruktors wird ermittelt"
++msgstr "Adresse des Destruktors %qE wird genommen"
  
 -#: cp/typeck.c:4567
 +#: cp/typeck.c:4579
@@ -303464,10 +309571,12 @@ Index: gcc/po/de.po
  msgstr "Adresse eines temporären Wertes wird ermittelt"
  
 -#: cp/typeck.c:4770
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:4782
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "taking address of xvalue (rvalue reference)"
- msgstr "Adresse eines temporären Wertes wird ermittelt"
+-msgstr "Adresse eines temporären Wertes wird ermittelt"
++msgstr "Adresse eines X-Wertes (R-Wert-Referenz) wird genommen"
  
 -#: cp/typeck.c:4787
 +#: cp/typeck.c:4799
@@ -303548,22 +309657,28 @@ Index: gcc/po/de.po
  msgstr "Adresse für %qD angefordert, was als %<register%> deklariert ist"
  
 -#: cp/typeck.c:5458
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:5470
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expression list treated as compound expression in initializer"
- msgstr "%s Ausdrucksliste als zusammengesetzten Ausdruck behandelt"
+-msgstr "%s Ausdrucksliste als zusammengesetzten Ausdruck behandelt"
++msgstr "Ausdrucksliste als zusammengesetzten Ausdruck in Initialisierung behandelt"
  
 -#: cp/typeck.c:5462
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:5474
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expression list treated as compound expression in mem-initializer"
- msgstr "%s Ausdrucksliste als zusammengesetzten Ausdruck behandelt"
+-msgstr "%s Ausdrucksliste als zusammengesetzten Ausdruck behandelt"
++msgstr "Ausdrucksliste als zusammengesetzten Ausdruck in Speicherinitialisierung behandelt"
  
 -#: cp/typeck.c:5466
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:5478
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "expression list treated as compound expression in functional cast"
- msgstr "%s Ausdrucksliste als zusammengesetzten Ausdruck behandelt"
+-msgstr "%s Ausdrucksliste als zusammengesetzten Ausdruck behandelt"
++msgstr "Ausdrucksliste als zusammengesetzten Ausdruck in funktionaler Umwandlung behandelt"
  
 -#: cp/typeck.c:5498
 +#: cp/typeck.c:5512
@@ -303575,25 +309690,32 @@ Index: gcc/po/de.po
 +#: cp/typeck.c:5585
  #, gcc-internal-format
  msgid "no context to resolve type of %qE"
- msgstr ""
+-msgstr ""
++msgstr "kein Kontext, um Typ von %qE aufzulösen"
  
 -#: cp/typeck.c:5602
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:5616
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "cast from type %qT to type %qT casts away qualifiers"
- msgstr "%s vom Typ %qT in Typ %qT entfernt Konstantheit"
+-msgstr "%s vom Typ %qT in Typ %qT entfernt Konstantheit"
++msgstr "Umwandlung des Typs %qT in Typ %qT entfernt Qualifizierer"
  
 -#: cp/typeck.c:5607
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:5621
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "static_cast from type %qT to type %qT casts away qualifiers"
- msgstr "%s vom Typ %qT in Typ %qT entfernt Konstantheit"
+-msgstr "%s vom Typ %qT in Typ %qT entfernt Konstantheit"
++msgstr "static_cast des Typs %qT in Typ %qT entfernt Qualifizierer"
  
 -#: cp/typeck.c:5612
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:5626
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "reinterpret_cast from type %qT to type %qT casts away qualifiers"
- msgstr "%s vom Typ %qT in Typ %qT entfernt Konstantheit"
+-msgstr "%s vom Typ %qT in Typ %qT entfernt Konstantheit"
++msgstr "reinterpret_cast des Typs %qT in Typ %qT entfernt Qualifizierer"
  
 -#: cp/typeck.c:5926
 +#: cp/typeck.c:5940
@@ -303624,7 +309746,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "cast from %qT to %qT increases required alignment of target type"
  msgstr "Umwandlung von %qT in %qT erhöht erforderliche Ausrichtung des Zieltyps"
-@@ -32178,226 +32222,226 @@
+@@ -32178,229 +32210,229 @@
  #. where possible, and it is necessary in some cases.  DR 195
  #. addresses this issue, but as of 2004/10/26 is still in
  #. drafting.
@@ -303683,10 +309805,12 @@ Index: gcc/po/de.po
  msgstr "  in Auswertung von %<%Q(%#T, %#T)%>"
  
 -#: cp/typeck.c:6685
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:6714
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "assigning to an array from an initializer list"
- msgstr "nichtkonstanter Feldindex in Initialisierung"
+-msgstr "nichtkonstanter Feldindex in Initialisierung"
++msgstr "Zuweisung an Feld von Initialisierungsliste"
  
 -#: cp/typeck.c:6697
 +#: cp/typeck.c:6726
@@ -303737,70 +309861,92 @@ Index: gcc/po/de.po
  msgstr "%qT kann nicht nach %qT für Argument %qP nach %qD umgewandelt werden"
  
 -#: cp/typeck.c:7272
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:7301
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "cannot convert %qT to %qT in default argument"
- msgstr "%qT kann nicht nach %qT für Argument %qP nach %qD umgewandelt werden"
+-msgstr "%qT kann nicht nach %qT für Argument %qP nach %qD umgewandelt werden"
++msgstr "%qT kann nicht nach %qT im Standardargument umgewandelt werden"
  
 -#: cp/typeck.c:7276
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:7305
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "cannot convert %qT to %qT in argument passing"
- msgstr "%qT kann nicht nach %qT in %s umgewandelt werden"
+-msgstr "%qT kann nicht nach %qT in %s umgewandelt werden"
++msgstr "%qT kann nicht nach %qT bei Argumentübergabe umgewandelt werden"
  
 -#: cp/typeck.c:7280
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:7309
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "cannot convert %qT to %qT"
- msgstr "%qT kann nicht nach %qT in %s umgewandelt werden"
+-msgstr "%qT kann nicht nach %qT in %s umgewandelt werden"
++msgstr "%qT kann nicht nach %qT umgewandelt werden"
  
 -#: cp/typeck.c:7284
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:7313
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "cannot convert %qT to %qT in initialization"
- msgstr "%qT kann nicht nach %qT in %s umgewandelt werden"
+-msgstr "%qT kann nicht nach %qT in %s umgewandelt werden"
++msgstr "%qT kann nicht nach %qT in Initialisierung umgewandelt werden"
  
 -#: cp/typeck.c:7288
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:7317
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "cannot convert %qT to %qT in return"
- msgstr "%qT kann nicht nach %qT in %s umgewandelt werden"
+-msgstr "%qT kann nicht nach %qT in %s umgewandelt werden"
++msgstr "%qT kann nicht nach %qT in Rückgabe umgewandelt werden"
  
 -#: cp/typeck.c:7292
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:7321
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "cannot convert %qT to %qT in assignment"
- msgstr "%qT kann nicht nach %qT in %s umgewandelt werden"
+-msgstr "%qT kann nicht nach %qT in %s umgewandelt werden"
++msgstr "%qT kann nicht nach %qT in Zuweisung umgewandelt werden"
  
 -#: cp/typeck.c:7315
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:7344
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "parameter %qP of %qD might be a candidate for a format attribute"
- msgstr "Argument %d von %qE könnte Kandidat für Formatattribut sein"
+-msgstr "Argument %d von %qE könnte Kandidat für Formatattribut sein"
++msgstr "Parameter %qP von %qD könnte Kandidat für Formatattribut sein"
  
 -#: cp/typeck.c:7319
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:7348
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "parameter might be a candidate for a format attribute"
- msgstr "Rückgabetyp könnte Kandidat für Formatattribut sein"
+-msgstr "Rückgabetyp könnte Kandidat für Formatattribut sein"
++msgstr "Parameter könnte ein Kandidat für ein Formatattribut sein"
  
 -#: cp/typeck.c:7324
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:7353
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "target of conversion might be a candidate for a format attribute"
- msgstr "Argument des Funktionsaufrufs könnte Kandidat für Formatattribut sein"
+-msgstr "Argument des Funktionsaufrufs könnte Kandidat für Formatattribut sein"
++msgstr "Ziel der Umwandlung könnte Kandidat ein für ein Formatattribut sein"
  
 -#: cp/typeck.c:7329
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:7358
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "target of initialization might be a candidate for a format attribute"
- msgstr "Argument des Funktionsaufrufs könnte Kandidat für Formatattribut sein"
+-msgstr "Argument des Funktionsaufrufs könnte Kandidat für Formatattribut sein"
++msgstr "Ziel der Initialisierung könnte ein Kandidat für Formatattribut sein"
  
 -#: cp/typeck.c:7339
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:7368
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "left-hand side of assignment might be a candidate for a format attribute"
- msgstr "Links-Zuweisung könnte Kandidat für Formatattribut sein"
+-msgstr "Links-Zuweisung könnte Kandidat für Formatattribut sein"
++msgstr "linke Seite der Zuweisung könnte ein Kandidat für ein Formatattribut sein"
  
 -#: cp/typeck.c:7435 cp/typeck.c:7437
 +#: cp/typeck.c:7464 cp/typeck.c:7466
@@ -303857,13 +310003,16 @@ Index: gcc/po/de.po
 +#: cp/typeck.c:7611
  #, gcc-internal-format
  msgid "lambda return type can only be deduced when the return statement is the only statement in the function body"
- msgstr ""
+-msgstr ""
++msgstr "Lambda-Rückgabetyp kann nur abgeleitet werden, wenn die Rückgabeanweisung die einzige Anweisung im Funktionskörper ist"
  
 -#: cp/typeck.c:7588
+-#, fuzzy, gcc-internal-format
 +#: cp/typeck.c:7617
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "inconsistent types %qT and %qT deduced for lambda return type"
- msgstr "neue Typen dürfen nicht in einem Rückgabetyp definiert werden"
+-msgstr "neue Typen dürfen nicht in einem Rückgabetyp definiert werden"
++msgstr "widersprüchliche Typen %qT und %qT für Lambda-Rückgabetypen hergeleitet"
  
 -#: cp/typeck.c:7614
 +#: cp/typeck.c:7643
@@ -303888,16 +310037,216 @@ Index: gcc/po/de.po
 +#: cp/typeck.c:8267
  #, gcc-internal-format
  msgid "using temporary as lvalue"
- msgstr ""
+-msgstr ""
++msgstr "temporärer Wert wird als L-Wert verwendet"
  
 -#: cp/typeck.c:8233
 +#: cp/typeck.c:8269
  #, gcc-internal-format
  msgid "using xvalue (rvalue reference) as lvalue"
- msgstr ""
-@@ -32678,12 +32722,12 @@
+-msgstr ""
++msgstr "X-Wert (R-Wert-Referenz) wird als L-Wert verwendet"
+ #: cp/typeck2.c:53
+ #, gcc-internal-format
+@@ -32408,44 +32440,44 @@
+ msgstr "Typ %qT ist kein Basistyp für Typ %qT"
+ #: cp/typeck2.c:107
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "assignment of constant field %qD"
+-msgstr "Zuweisung der schreibgeschützten Variable %qD"
++msgstr "Zuweisung des konstanten Feldes %qD"
+ #: cp/typeck2.c:109
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "constant field %qD used as %<asm%> output"
+-msgstr "schreibgeschützte Variable %qD als %<asm%>-Ausgabe verwendet"
++msgstr "konstantes Feld %qD als %<asm%>-Ausgabe verwendet"
+ #: cp/typeck2.c:111
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "increment of constant field %qD"
+-msgstr "Erhöhung der schreibgeschützten Variable %qD"
++msgstr "Erhöhung des konstanten Feldes %qD"
+ #: cp/typeck2.c:113
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "decrement of constant field %qD"
+-msgstr "Verringerung der schreibgeschützten Variable %qD"
++msgstr "Verringerung des konstanten Feldes %qD"
+ #: cp/typeck2.c:120
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "assignment of read-only reference %qD"
+-msgstr "Zuweisung des schreibgeschützten Elementes %qD"
++msgstr "Zuweisung der schreibgeschützten Referenz %qD"
+ #: cp/typeck2.c:122
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "read-only reference %qD used as %<asm%> output"
+-msgstr "schreibgeschütztes Element %qD als %<asm%>-Ausgabe verwendet"
++msgstr "schreibgeschützte Referenz %qD als %<asm%>-Ausgabe verwendet"
+ #: cp/typeck2.c:124
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "increment of read-only reference %qD"
+-msgstr "Erhöhung des schreibgeschützten Elementes %qD"
++msgstr "Erhöhung der schreibgeschützten Referenz %qD"
+ #: cp/typeck2.c:126
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "decrement of read-only reference %qD"
+-msgstr "Verringerung des schreibgeschützten Elementes %qD"
++msgstr "Verringerung der schreibgeschützten Referenz %qD"
+ #: cp/typeck2.c:310
+ #, gcc-internal-format
+@@ -32489,9 +32521,9 @@
+ msgstr "es kann kein Objekt des abstrakten Typs %qT belegt werden"
+ #: cp/typeck2.c:339
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  because the following virtual functions are pure within %qT:"
+-msgstr "%J  denn die folgenden virtuellen Funktionen sind rein innerhalb %qT:"
++msgstr "  denn die folgenden virtuellen Funktionen sind rein innerhalb %qT:"
+ #: cp/typeck2.c:343
+ #, gcc-internal-format
+@@ -32499,69 +32531,69 @@
+ msgstr "\t%+#D"
+ #: cp/typeck2.c:351
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  since type %qT has pure virtual functions"
+-msgstr "%J  denn der Typ %qT hat rein virtuelle Funktionen"
++msgstr "  denn der Typ %qT hat rein virtuelle Funktionen"
+ #: cp/typeck2.c:381
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%q+D has incomplete type"
+-msgstr "%qD hat unvollständigen Typen"
++msgstr "%q+D hat unvollständigen Typen"
+ #: cp/typeck2.c:394
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "invalid use of incomplete type %q#T"
+-msgstr "falsche Benutzung des unvollständigen typedef %qD"
++msgstr "falsche Benutzung des unvollständigen Typs %q#T"
+ #: cp/typeck2.c:397
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "forward declaration of %q+#T"
+-msgstr "Deklaration von %q+#D"
++msgstr "Vorwärtsdeklaration von %q+#T"
+ #: cp/typeck2.c:400
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "declaration of %q+#T"
+-msgstr "Deklaration von %q+#D"
++msgstr "Deklaration von %q+#T"
+ #: cp/typeck2.c:405
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "invalid use of %qT"
+-msgstr "ungültige Verwendung von %qD"
++msgstr "ungültige Verwendung von %qT"
+ #: cp/typeck2.c:421
+ #, gcc-internal-format
+ msgid "invalid use of member (did you forget the %<&%> ?)"
+-msgstr ""
++msgstr "ungültige Verwendung eines Elements (%<&%> vergessen?)"
+ #: cp/typeck2.c:430
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "invalid use of template type parameter %qT"
+-msgstr "falsche Benutzung des unvollständigen typedef %qD"
++msgstr "ungültige Verwendung des Parameters %qT für Templatetyp"
+ #: cp/typeck2.c:435
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "invalid use of template template parameter %qT"
+-msgstr "ungültiges Standardargument für einen Template-Templateparameter"
++msgstr "ungültige Verwendung des Parameters %qT für Template-Templateparameter"
+ #: cp/typeck2.c:441
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "invalid use of dependent type %qT"
+-msgstr "falsche Benutzung des unvollständigen typedef %qD"
++msgstr "ungültige Verwendung des abhängigen Typen %qT"
+ #: cp/typeck2.c:450
+ #, gcc-internal-format
+ msgid "address of overloaded function with no contextual type information"
+-msgstr ""
++msgstr "Adresse einer überladenen Funktion ohne Typinformationen aus Kontext"
+ #: cp/typeck2.c:454
+ #, gcc-internal-format
+ msgid "overloaded function with no contextual type information"
+-msgstr ""
++msgstr "überladene Funktion ohne Typinformationen aus Kontext"
+ #: cp/typeck2.c:457
+ #, gcc-internal-format
+ msgid "insufficient contextual information to determine type"
+-msgstr ""
++msgstr "unzureichende Informationen für Typbestimmung aus Kontext"
+ #: cp/typeck2.c:646
+ #, gcc-internal-format
+@@ -32574,9 +32606,9 @@
+ msgstr "mit dieser Syntax können keine Felder initialisiert werden"
+ #: cp/typeck2.c:768
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "narrowing conversion of %qE from %qT to %qT inside { }"
+-msgstr "Umwandlung von %qE von %qT nach %qT ist mehrdeutig"
++msgstr "verengende Umwandlung von %qE von %qT nach %qT in { }"
+ #: cp/typeck2.c:826
+ #, gcc-internal-format
+@@ -32584,9 +32616,9 @@
+ msgstr "int-Feld mit Nicht-wide-Zeichenkette initialisiert"
+ #: cp/typeck2.c:831
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "int-array initialized from incompatible wide string"
+-msgstr "int-Feld mit Nicht-wide-Zeichenkette initialisiert"
++msgstr "Ganzzahlfeld mit unverträglicher wide-Zeichenkette initialisiert"
+ #: cp/typeck2.c:846
+ #, gcc-internal-format
+@@ -32674,16 +32706,16 @@
+ msgstr "Zeiger auf Elementtyp %qT mit Objekttyp %qT inkompatibel"
+ #: cp/typeck2.c:1530
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "invalid value-initialization of reference type"
- msgstr "Wert-Initialisierung von Referenz"
+-msgstr "Wert-Initialisierung von Referenz"
++msgstr "ungültige Wert-Initialisierung von Referenztyp"
  
 -#: cp/typeck2.c:1729
 +#: cp/typeck2.c:1732
@@ -303910,7 +310259,63 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "call to function which throws incomplete type %q#T"
  msgstr "Aufruf einer Funktion, die unvollständigen Typen %q#T wirft"
-@@ -32774,7 +32818,7 @@
+@@ -32691,7 +32723,7 @@
+ #: fortran/arith.c:46
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Conversion of an Infinity or Not-a-Number at %L to INTEGER"
+-msgstr ""
++msgstr "Umwandlung einer Unendlichkeit oder NaN bei %L in INTEGER"
+ #: fortran/arith.c:905 fortran/arith.c:927
+ #, gcc-internal-format, gfc-internal-format
+@@ -32701,7 +32733,7 @@
+ #: fortran/arith.c:913
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Raising a negative REAL at %L to a REAL power is prohibited"
+-msgstr ""
++msgstr "Erhöhung eines negativen REAL bei %L zu einer REAL-Potenz ist verboten"
+ #: fortran/arith.c:1909
+ #, gcc-internal-format, gfc-internal-format
+@@ -32714,14 +32746,14 @@
+ msgstr "Arithmetischer Überlauf bei Umwandlung von %s in %s bei %L. Diese Überprüfung kann mit der Option -fno-range-check ausgeschaltet werden"
+ #: fortran/arith.c:1918
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Arithmetic underflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+-msgstr "Arithmetischer Überlauf bei Umwandlung von %s in %s bei %L. Diese Überprüfung kann mit der Option -fno-range-check ausgeschaltet werden"
++msgstr "Arithmetischer Unterlauf bei Umwandlung von %s in %s bei %L. Diese Überprüfung kann mit der Option -fno-range-check ausgeschaltet werden"
+ #: fortran/arith.c:1923
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Arithmetic NaN converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+-msgstr "Arithmetischer Überlauf bei Umwandlung von %s in %s bei %L. Diese Überprüfung kann mit der Option -fno-range-check ausgeschaltet werden"
++msgstr "Arithmetisches NaN bei Umwandlung von %s in %s bei %L. Diese Überprüfung kann mit der Option -fno-range-check ausgeschaltet werden"
+ #: fortran/arith.c:1928
+ #, gcc-internal-format, gfc-internal-format
+@@ -32749,14 +32781,14 @@
+ msgstr "Feldindex erwartet bei %C"
+ #: fortran/array.c:106
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Unexpected '*' in coarray subscript at %C"
+-msgstr "Feldindex erwartet bei %C"
++msgstr "Unerwartetes '*' in Coarray-Index bei %C"
+ #: fortran/array.c:130
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Strides not allowed in coarray subscript at %C"
+-msgstr "Feldindex erwartet bei %C"
++msgstr "Schrittweiten in Coarray-Index bei %C nicht erlaubt"
+ #: fortran/array.c:138
+ #, gcc-internal-format, gfc-internal-format
+@@ -32774,36 +32806,36 @@
  msgstr "Feldreferenz bei %C kann nicht mehr als %d Dimensionen haben"
  
  #: fortran/array.c:215 fortran/array.c:569 fortran/check.c:1975
@@ -303919,7 +310324,119 @@ Index: gcc/po/de.po
  #: fortran/match.c:1758 fortran/match.c:2339 fortran/simplify.c:4590
  #, gcc-internal-format, gfc-internal-format
  msgid "Coarrays disabled at %C, use -fcoarray= to enable"
-@@ -32912,7 +32956,7 @@
+-msgstr ""
++msgstr "Coarray bei %C ausgeschaltet, -fcoarray= zum Einschalten verwenden"
+ #: fortran/array.c:221
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Unexpected coarray designator at %C"
+-msgstr "Feldindex erwartet bei %C"
++msgstr "Unerwarteter Coarray-Bezeichner bei %C"
+ #: fortran/array.c:236
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Too few codimensions at %C, expected %d not %d"
+-msgstr ""
++msgstr "Zu wenige Codimensionen bei %C, %d statt %d erwartet"
+ #: fortran/array.c:246
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Unexpected '*' for codimension %d of %d at %C"
+-msgstr "Andere Dimension in Felddeklaration bei %C erwartet"
++msgstr "Unerwartetes '*' für Codimension %d von %d bei %C"
+ #: fortran/array.c:249
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Invalid form of coarray reference at %C"
+-msgstr "Ungültige Form der Feldreferenz bei %C"
++msgstr "Ungültige Form der Coarray-Referenz bei %C"
+ #: fortran/array.c:254
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Invalid codimension %d at %C, only %d codimensions exist"
+-msgstr ""
++msgstr "Ungültige Codimension %d bei %C, nur %d Codimensionen existieren"
+ #: fortran/array.c:306
+ #, gcc-internal-format, gfc-internal-format
+@@ -32811,9 +32843,9 @@
+ msgstr "Variable »%s« bei %L muss in diesem Kontext eine Konstante sein"
+ #: fortran/array.c:309
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Expression at %L in this context must be constant"
+-msgstr "Variable »%s« bei %L muss in diesem Kontext eine Konstante sein"
++msgstr "Ausdruck bei %L muss in diesem Kontext eine Konstante sein"
+ #: fortran/array.c:400
+ #, gcc-internal-format, gfc-internal-format
+@@ -32821,7 +32853,7 @@
+ msgstr "Erwarteter Ausdruck in Feldspezifikation bei %C"
+ #: fortran/array.c:479
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Bad array specification for implied-shape array at %C"
+ msgstr "Falsche Feldangabe für Feld mit implizit gebildeter Form bei %C"
+@@ -32833,7 +32865,7 @@
+ #: fortran/array.c:505 fortran/array.c:610
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Bad array specification for assumed shape array at %C"
+-msgstr "Falsche Feldangabe für Feld mit implizit gebildeter Form bei %C"
++msgstr "Falsche Feldangabe für Feld mit durch Vermutung gebildeter Form bei %C"
+ #: fortran/array.c:519 fortran/array.c:624
+ #, gcc-internal-format, gfc-internal-format
+@@ -32856,19 +32888,19 @@
+ msgstr "Feldspezifikation bei %C hat mehr als %d Dimensionen"
+ #: fortran/array.c:550
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
+-msgstr "Feldspezifikation bei %C hat mehr als %d Dimensionen"
++msgstr "Fortran 2008: Feldspezifikation bei %C mit mehr als 7 Dimensionen"
+ #: fortran/array.c:563
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Fortran 2008: Coarray declaration at %C"
+-msgstr "Fortran 2003: Feldkonstruktoren im [...]-Stil bei %C"
++msgstr "Fortran 2008: Coarray-Deklaration bei %C"
+ #: fortran/array.c:651
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Upper bound of last coarray dimension must be '*' at %C"
+-msgstr ""
++msgstr "Obere Grenze der letzten Coarray-Dimension muss '*' bei %C sein"
+ #: fortran/array.c:871
+ #, gcc-internal-format, gfc-internal-format
+@@ -32886,14 +32918,14 @@
+ msgstr "Fortran 2003: Feldkonstruktoren im [...]-Stil bei %C"
+ #: fortran/array.c:1035
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Fortran 2003: Array constructor including type specification at %C"
+-msgstr "Fortran 2003: Feldkonstruktoren im [...]-Stil bei %C"
++msgstr "Fortran 2003: Feldkonstruktor mit Typspezifikation bei %C"
+ #: fortran/array.c:1041 fortran/match.c:2895
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Type-spec at %L cannot contain a deferred type parameter"
+-msgstr "Feld »%s« bei %L kann keine aufgeschobene Form haben"
++msgstr "Typspezifikation bei %L kann keine Parameter mit aufgeschobenem Typ haben"
+ #: fortran/array.c:1057
+ #, gcc-internal-format, gfc-internal-format
+@@ -32912,15 +32944,15 @@
  
  #. Problems occur when we get something like
  #. integer :: a(lots) = (/(i, i=1, lots)/)
@@ -303928,7 +310445,17 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
  msgstr ""
-@@ -32952,7 +32996,7 @@
+ #: fortran/array.c:1802
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
+-msgstr "Element in Feldkonstruktor %s bei %L ist %s"
++msgstr "Unterschiedliche CHARACTER-Längen (%d, %d) in Feldkonstruktor bei %L"
+ #: fortran/check.c:45
+ #, gcc-internal-format, gfc-internal-format
+@@ -32952,7 +32984,7 @@
  msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
  msgstr "Argument »%s« für intrinsisches »%s« bei %L muss INTEGER oder PROCEDURE sein"
  
@@ -303937,16 +310464,84 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
  msgstr "Argument »%s« des intrinsischen »%s« bei %L muss eine Konstante sein"
-@@ -33057,7 +33101,7 @@
+@@ -32968,9 +33000,9 @@
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss doppelte Genauigkeit haben"
+ #: fortran/check.c:236
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Expected coarray variable as '%s' argument to the %s intrinsic at %L"
+-msgstr "Fehlende Argumente für intrinsisches %s bei %L"
++msgstr "Coarray-Variable als Argument '%s' für intrinsisches %s bei %L erwartet"
+ #: fortran/check.c:253
+ #, gcc-internal-format, gfc-internal-format
+@@ -32983,29 +33015,29 @@
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss ein Feld sein"
+ #: fortran/check.c:292
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "'%s' at %L must be nonnegative"
+-msgstr "Markierung %s bei %L muss vom Typ %s sein"
++msgstr "'%s' bei %L muss nichtnegativ sein"
+ #: fortran/check.c:318
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "'%s' at %L must be less than or equal to BIT_SIZE('%s')"
+-msgstr "Argument von LOG bei %L kann nicht kleiner oder gleich Null sein"
++msgstr "'%s' bei %L muss kleiner oder gleich BIT_SIZE('%s') sein"
+ #: fortran/check.c:328
+ #, gcc-internal-format, gfc-internal-format
+ msgid "'%s' at %L must be less than BIT_SIZE('%s')"
+-msgstr ""
++msgstr "'%s' bei %L muss kleiner als BIT_SIZE('%s') sein"
+ #: fortran/check.c:355
+ #, gcc-internal-format, gfc-internal-format
+ msgid "'%s' at %L must be less than or equal to the BIT_SIZE of INTEGER(KIND=%d)"
+-msgstr ""
++msgstr "'%s' bei %L muss kleiner oder gleich der BIT_SIZE von INTEGER(KIND=%d) sein"
+ #: fortran/check.c:381
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "'%s + %s' at %L must be less than or equal to BIT_SIZE('%s')"
+-msgstr "Argument von LOG bei %L kann nicht kleiner oder gleich Null sein"
++msgstr "'%s + %s' bei %L muss kleiner oder gleich BIT_SIZE('%s') sein"
+ #: fortran/check.c:399
+ #, gcc-internal-format, gfc-internal-format
+@@ -33043,9 +33075,9 @@
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss eine Variable sein"
+ #: fortran/check.c:553
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid codimension index"
+-msgstr "Argument »dim« des intrinsischen »%s« bei %L ist kein gültiger Dimensionsindex"
++msgstr "Argument »dim« des intrinsischen »%s« bei %L ist kein gültiger Codimensionsindex"
+ #: fortran/check.c:599
+ #, gcc-internal-format, gfc-internal-format
+@@ -33053,11 +33085,11 @@
+ msgstr "Argument »dim« des intrinsischen »%s« bei %L ist kein gültiger Dimensionsindex"
+ #: fortran/check.c:697
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Unequal character lengths (%ld/%ld) in %s at %L"
- msgstr "Ungleiche Zeichenlängen (%ld und %ld) in intrinsischem %s bei %L"
+-msgstr "Ungleiche Zeichenlängen (%ld und %ld) in intrinsischem %s bei %L"
++msgstr "Ungleiche Zeichenlängen (%ld, %ld) in %s bei %L"
  
 -#: fortran/check.c:819 fortran/check.c:4826
 +#: fortran/check.c:819 fortran/check.c:4830
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
  msgstr "Argumente »%s« und »%s« des intrinsischen »%s« bei %L müssen den selben Typ haben"
-@@ -33068,7 +33112,7 @@
+@@ -33068,7 +33100,7 @@
  msgid "Extension: Different type kinds at %L"
  msgstr "Erweiterung: Verschiedene Typ-Arten bei %L"
  
@@ -303955,8 +310550,27 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
  msgstr "Argument »%s« des intrinsischen »%s« bei %L muss ein POINTER sein"
-@@ -33109,9 +33153,9 @@
- msgstr "Argument »%s« des intrinsischen »%s« bei %L muss vom Typ REAL oder COMPLEX sein"
+@@ -33094,9 +33126,9 @@
+ msgstr "NULL-Zeiger bei %L ist nicht als effektives Argument der intrinsischen Funktion »%s« erlaubt"
+ #: fortran/check.c:963
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Extension: Negative argument N at %L"
+-msgstr "Erweiterung: Argumentlistenfunktion bei %C"
++msgstr "Erweiterung: Negatives Argument N bei %L"
+ #: fortran/check.c:1135 fortran/check.c:1294
+ #, gcc-internal-format, gfc-internal-format
+@@ -33104,27 +33136,27 @@
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L darf nicht vorhanden sein, wenn »x« COMPLEX ist"
+ #: fortran/check.c:1144 fortran/check.c:1303
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "'%s' argument of '%s' intrinsic at %L must have a type of either REAL or INTEGER"
+-msgstr "Argument »%s« des intrinsischen »%s« bei %L muss vom Typ REAL oder COMPLEX sein"
++msgstr "»%s« Argument des intrinsischen »%s« bei %L muss vom Typ REAL oder INTEGER sein"
  
  #: fortran/check.c:1188 fortran/check.c:1702 fortran/check.c:1805
 -#: fortran/check.c:1961 fortran/check.c:2006 fortran/check.c:3142
@@ -303968,7 +310582,43 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
  msgstr "Fortran 2003: intrinsisches »%s« mit KIND-Argument bei %L"
-@@ -33221,152 +33265,152 @@
+ #: fortran/check.c:1235 fortran/check.c:1468
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "'%s' argument of '%s' intrinsic at %L has invalid shape in dimension %d (%ld/%ld)"
+-msgstr "Argument »dim« des intrinsischen »%s« bei %L ist kein gültiger Dimensionsindex"
++msgstr "Argument »%s« des intrinsischen »%s« bei %L hat ungültige Form in Dimension %d (%ld/%ld)"
+ #: fortran/check.c:1250 fortran/check.c:1483 fortran/check.c:1511
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "'%s' argument of intrinsic '%s' at %L of must have rank %d or be a scalar"
+-msgstr "Argument »%s« des intrinsischen »%s« bei %L muss ein Skalar sein"
++msgstr "Argument »%s« des intrinsischen »%s« bei %L muss Rang %d haben oder ein Skalar sein"
+ #: fortran/check.c:1353 fortran/check.c:2265 fortran/check.c:2273
+ #, gcc-internal-format, gfc-internal-format
+@@ -33142,14 +33174,14 @@
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss ein Standard-Real sein"
+ #: fortran/check.c:1529
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "GNU extension: non-default INTEGER kind argument to %s intrinsic at %L"
+-msgstr "Fehlende Argumente für intrinsisches %s bei %L"
++msgstr "GNU-Erweiterung: Nicht-Standard Argument der Art INTEGER für intrinsisches »%s« bei %L"
+ #: fortran/check.c:1589
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Fortran 2008: COMPLEX argument '%s' argument of '%s' intrinsic at %L"
+-msgstr "Argument »%s« des intrinsischen »%s« bei %L muss %s sein"
++msgstr "Fortran 2008: COMPLEX-Argument »%s« des intrinsischen »%s« bei %L"
+ #: fortran/check.c:1753
+ #, gcc-internal-format, gfc-internal-format
+@@ -33221,152 +33253,152 @@
  msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
  msgstr "Argumente »%s« und »%s« des intrinsischen »%s« bei %L müssen von der selben Art %d/%d sein"
  
@@ -304151,7 +310801,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
  msgstr "Argument »%s« für intrinsisches »%s« bei %L muss INTEGER oder LOGICAL sein"
-@@ -33378,7 +33422,7 @@
+@@ -33378,7 +33410,7 @@
  
  #. Since the extension field is 8 bit wide, we can only have
  #. up to 255 extension levels.
@@ -304160,7 +310810,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Maximum extension level reached with type '%s' at %L"
  msgstr ""
-@@ -33673,7 +33717,7 @@
+@@ -33673,7 +33705,7 @@
  msgid "Pointer initialization at %C requires '=>', not '='"
  msgstr "Zeigerinitialisierung bei %C benötigt »=>«, nicht »=«"
  
@@ -304169,7 +310819,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Expected an initialization expression at %C"
  msgstr "Initialisierungsausdruck bei %C erwartet"
-@@ -33865,7 +33909,7 @@
+@@ -33865,7 +33897,7 @@
  msgid "Fortran 2008: CONTIGUOUS attribute at %C"
  msgstr "Fortran 2003: VOLATILE-Attribut bei %C"
  
@@ -304178,7 +310828,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "PROTECTED at %C only allowed in specification part of a module"
  msgstr "PROTECTED bei %C nur in Spezifikationsabschnitts eines Moduls erlaubt"
-@@ -34039,12 +34083,12 @@
+@@ -34039,12 +34071,12 @@
  msgid "Procedure '%s' at %L already has basic type of %s"
  msgstr "Symbol »%s« bei %L hat bereits grundlegenden Typen %s"
  
@@ -304193,7 +310843,7 @@ Index: gcc/po/de.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  msgid "Expected '::' after binding-attributes at %C"
  msgstr "Beendenden Namen bei %C erwartet"
-@@ -34307,407 +34351,413 @@
+@@ -34307,407 +34339,412 @@
  msgid "Fortran 2008: CONTIGUOUS statement at %C"
  msgstr "Fortran 2003: FLUSH-Anweisung bei %C"
  
@@ -304338,7 +310988,6 @@ Index: gcc/po/de.po
 -#: fortran/decl.c:7050
 +#: fortran/decl.c:7042
  #, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "Fortran 2003: PROCEDURE statement at %C"
 +msgid "Fortran 2008: double colon in MODULE PROCEDURE statement at %L"
 +msgstr "Fortran 2003: PROCEDURE-Anweisung bei %C"
 +
@@ -304688,7 +311337,7 @@ Index: gcc/po/de.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
  msgstr "Syntaxfehler in VALUE-Anweisung bei %C"
-@@ -34742,452 +34792,452 @@
+@@ -34742,452 +34779,452 @@
  msgid "Internal Error at (1):"
  msgstr "Interner Fehler bei (1):"
  
@@ -305231,7 +311880,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Associate-name '%s' can not appear in a variable definition context (%s) at %L because its target at %L can not, either"
  msgstr ""
-@@ -35307,12 +35357,12 @@
+@@ -35307,12 +35344,12 @@
  msgid "Second argument of defined assignment at %L must be INTENT(IN)"
  msgstr "Zweites Argument der definierten Zuweisung bei %L muss INTENT(IN)"
  
@@ -305246,14 +311895,13 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Second argument of operator interface at %L must be INTENT(IN)"
  msgstr "Zweites Argument der Operatorschnittstelle bei %L muss INTENT(IN) sein"
-@@ -35337,332 +35387,338 @@
+@@ -35337,332 +35374,337 @@
  msgid "In %s at %L procedures must be either all SUBROUTINEs or all FUNCTIONs"
  msgstr ""
  
 -#: fortran/interface.c:1182 fortran/interface.c:1186
 +#: fortran/interface.c:1133
 +#, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "Extension: Conversion from %s to %s at %L"
 +msgid "Extension: Internal procedure '%s' in %s at %L"
 +msgstr "Erweiterung: Umwandlung von %s in %s bei %L"
 +
@@ -305651,7 +312299,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Entity '%s' at %C is already present in the interface"
  msgstr "Entität »%s« bei %C ist bereits in der Schnittstelle vorhanden"
-@@ -35757,7 +35813,7 @@
+@@ -35757,7 +35799,7 @@
  msgid "'%s' declared at %L is also the name of an intrinsic.  It can only be called via an explicit interface or if declared EXTERNAL."
  msgstr ""
  
@@ -305660,7 +312308,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Extension: backslash character at %C"
  msgstr "Erweiterung: Zeichen Backslash bei %C"
-@@ -36148,7 +36204,7 @@
+@@ -36148,7 +36190,7 @@
  msgstr "Ausdruck in %s-Anweisung bei %C erwartet"
  
  #. A general purpose syntax error.
@@ -305669,7 +312317,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Syntax error in %s statement at %C"
  msgstr "Syntaxfehler in Anweisung %s bei %C"
-@@ -36922,122 +36978,122 @@
+@@ -36922,122 +36964,122 @@
  msgid "Error writing modules file: %s"
  msgstr "Fehler beim Schreiben der Moduldatei: %s"
  
@@ -305816,7 +312464,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format
  msgid "Can't USE the same module we're building!"
  msgstr "Das gerade erzeugte Modul kann nicht gleichzeitig verwendet werden (USE)!"
-@@ -37117,7 +37173,7 @@
+@@ -37117,7 +37159,7 @@
  msgid "Unexpected junk after NOWAIT clause at %C"
  msgstr "Unerwartete Zeichen hinter ELSE-Anweisung bei %C"
  
@@ -305825,7 +312473,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "IF clause at %L requires a scalar LOGICAL expression"
  msgstr "IF-Klausel bei %L erfordert einen skalaren LOGICAL-Ausdruck"
-@@ -37318,107 +37374,107 @@
+@@ -37318,107 +37360,107 @@
  msgid "not enough DO loops for collapsed !$OMP DO at %L"
  msgstr ""
  
@@ -305954,7 +312602,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Maximum subrecord length cannot exceed %d"
  msgstr "Höchste Teildatensatzlänge kann %d nicht überschreiten"
-@@ -37588,177 +37644,177 @@
+@@ -37588,177 +37630,177 @@
  msgid "Fortran 2003:  CONTAINS block in derived type definition at %C"
  msgstr "Fortran 2003: Definition des abgeleiteten Typs bei %C ohne Komponenten"
  
@@ -306167,7 +312815,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Unexpected %s statement in MODULE at %C"
  msgstr "Unerwartete Anweisung %s in MODULE bei %C"
-@@ -37766,7 +37822,7 @@
+@@ -37766,7 +37808,7 @@
  #. If we see a duplicate main program, shut down.  If the second
  #. instance is an implied main program, i.e. data decls or executable
  #. statements, we're in for lots of errors.
@@ -306176,14 +312824,13 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Two main PROGRAMs at %L and %C"
  msgstr "Zwei Haupt-PROGRAMme bei %L und %C"
-@@ -37836,232 +37892,249 @@
+@@ -37836,232 +37878,247 @@
  msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
  msgstr "Fortran 2003: BOZ außerhalb einer DATA-Anweisung bei %C verwendet"
  
 -#: fortran/primary.c:556
 +#: fortran/primary.c:547 fortran/primary.c:551
 +#, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "Extension: Hollerith constant at %C"
 +msgid "Extension: exponent-letter 'q' in real-literal-constant at %C"
 +msgstr "Erweiterung: Hollerithkonstante bei %C"
 +
@@ -306206,7 +312853,6 @@ Index: gcc/po/de.po
 +
 +#: fortran/primary.c:647
 +#, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "Invalid initializer %s in Data statement at %C"
 +msgid "Invalid exponent-letter 'q' in real-literal-constant at %C"
 +msgstr "Ungültige Initialisierung %s in Data-Anweisung bei %C"
 +
@@ -306472,7 +313118,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' at %C is not a variable"
  msgstr "»%s« bei %C ist keine Variable"
-@@ -38111,943 +38184,943 @@
+@@ -38111,943 +38168,943 @@
  msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
  msgstr "Scheinprozedur bei %L nicht in ELEMENTAL-Prozedur erlaubt"
  
@@ -307603,7 +314249,7 @@ Index: gcc/po/de.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  msgid "Allocate-object at %L is subobject of object at %L"
  msgstr "Ausdruck in ALLOCATE-Anweisung bei %L muss ALLOCATABLE oder ein POINTER sein"
-@@ -39056,160 +39129,160 @@
+@@ -39056,160 +39113,160 @@
  #. element in the list.  Either way, we must
  #. issue an error and get the next case from P.
  #. FIXME: Sort P and Q by line number.
@@ -307795,7 +314441,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
  msgstr ""
-@@ -39217,1005 +39290,1005 @@
+@@ -39217,1005 +39274,1005 @@
  #. The label is not in an enclosing block, so illegal.  This was
  #. allowed in Fortran 66, so we allow it as extension.  No
  #. further checks are necessary in this case.
@@ -308586,54 +315232,70 @@ Index: gcc/po/de.po
  msgstr "Die Zeigerkomponente »%s« bei »%s« bei %L hat nicht deklarierten Typ"
  
 -#: fortran/resolve.c:11716
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:11724
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
- msgstr "Komponente »%s« von »%s« bei %L muss konstante Feldgrenzen haben"
+-msgstr "Komponente »%s« von »%s« bei %L muss konstante Feldgrenzen haben"
++msgstr "Komponente »%s« mit CLASS bei %L muss allozierbar oder Zeiger sein"
  
 -#: fortran/resolve.c:11771
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:11779
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Assumed size array '%s' in namelist '%s' at %L is not allowed"
- msgstr "Feld »%s« mit vermuteter Größe in Namensliste »%s« bei %C ist nicht erlaubt"
+-msgstr "Feld »%s« mit vermuteter Größe in Namensliste »%s« bei %C ist nicht erlaubt"
++msgstr "Feld »%s« mit vermuteter Größe in Namensliste »%s« bei %L ist nicht erlaubt"
  
 -#: fortran/resolve.c:11777
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:11785
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Fortran 2003: NAMELIST array object '%s' with assumed shape in namelist '%s' at %L"
- msgstr "NAMELIST-Feldobjekt »%s« darf in Namensliste »%s« bei %L keine vermutete Form haben"
+-msgstr "NAMELIST-Feldobjekt »%s« darf in Namensliste »%s« bei %L keine vermutete Form haben"
++msgstr "Fortran 2003: NAMELIST-Feldobjekt »%s« mit vermuteter Form in Namensliste »%s« bei %L"
  
 -#: fortran/resolve.c:11784
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:11792
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Fortran 2003: NAMELIST array object '%s' with nonconstant shape in namelist '%s' at %L"
- msgstr "NAMELIST-Feldobjekt »%s« muss konstante Form in Namensliste »%s« bei %L haben"
+-msgstr "NAMELIST-Feldobjekt »%s« muss konstante Form in Namensliste »%s« bei %L haben"
++msgstr "Fortran 2003: NAMELIST-Feldobjekt »%s« ohne konstante Form in Namensliste »%s« bei %L"
  
 -#: fortran/resolve.c:11793
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:11801
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Fortran 2003: NAMELIST object '%s' with nonconstant character length in namelist '%s' at %L"
- msgstr "NAMELIST-Feldobjekt »%s« muss konstante Form in Namensliste »%s« bei %L haben"
+-msgstr "NAMELIST-Feldobjekt »%s« muss konstante Form in Namensliste »%s« bei %L haben"
++msgstr "Fortran 2003: NAMELIST-Objekt »%s« ohne konstante Zeichenlänge in Namensliste »%s« bei %L"
  
 -#: fortran/resolve.c:11803
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:11811
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "NAMELIST object '%s' in namelist '%s' at %L is polymorphic and requires a defined input/output procedure"
- msgstr "Namenslistenobjekt »%s« in Namensliste »%s« bei %L kann keine POINTER-Komponenten haben"
+-msgstr "Namenslistenobjekt »%s« in Namensliste »%s« bei %L kann keine POINTER-Komponenten haben"
++msgstr "NAMELIST-Objekt »%s« in Namensliste »%s« bei %L ist polymorph und erfordert eine definierte Ein-/Ausgabeprozedur"
  
 -#: fortran/resolve.c:11813
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:11821
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Fortran 2003: NAMELIST object '%s' in namelist '%s' at %L with ALLOCATABLE or POINTER components"
- msgstr "NAMELIST-Objekt »%s« in Namensliste »%s« bei %L kann nicht ALLOCATABLE-Komponenten haben"
+-msgstr "NAMELIST-Objekt »%s« in Namensliste »%s« bei %L kann nicht ALLOCATABLE-Komponenten haben"
++msgstr "Fortran 2003: NAMELIST-Objekt »%s« in Namensliste »%s« bei %L mit ALLOCATABLE- oder POINTER-Komponenten"
  
  #. FIXME: Once UDDTIO is implemented, the following can be
  #. removed.
 -#: fortran/resolve.c:11821
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:11829
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "NAMELIST object '%s' in namelist '%s' at %L has ALLOCATABLE or POINTER components and thus requires a defined input/output procedure"
- msgstr "NAMELIST-Objekt »%s« in Namensliste »%s« bei %L kann nicht ALLOCATABLE-Komponenten haben"
+-msgstr "NAMELIST-Objekt »%s« in Namensliste »%s« bei %L kann nicht ALLOCATABLE-Komponenten haben"
++msgstr "NAMELIST-Objekt »%s« in Namensliste »%s« bei %L hat ALLOCATABLE- oder POINTER-Komponenten und erfordert daher eine definierte Ein-/Ausgabeprozedur"
  
 -#: fortran/resolve.c:11838
 +#: fortran/resolve.c:11846
@@ -308678,22 +315340,27 @@ Index: gcc/po/de.po
  msgstr "Unverträglicher abgeleiteter Typ in PARAMETER bei %L"
  
 -#: fortran/resolve.c:12000
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:12003
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
- msgstr "Attribut PROCEDURE steht mit Attribut NAMELIST in »%s« bei %L in Konflikt"
+-msgstr "Attribut PROCEDURE steht mit Attribut NAMELIST in »%s« bei %L in Konflikt"
++msgstr "Attribut PROTECTED steht mit Attribut EXTERNAL bei %L in Konflikt"
  
 -#: fortran/resolve.c:12003
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:12006
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
- msgstr "Attribut PROCEDURE steht mit Attribut NAMELIST in »%s« bei %L in Konflikt"
+-msgstr "Attribut PROCEDURE steht mit Attribut NAMELIST in »%s« bei %L in Konflikt"
++msgstr "Attribut PROCEDURE steht mit Attribut PROTECTED bei %L in Konflikt"
  
 -#: fortran/resolve.c:12015
 +#: fortran/resolve.c:12018
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' at %L has the CONTIGUOUS attribute but is not an array pointer or an assumed-shape array"
- msgstr ""
+-msgstr ""
++msgstr "»%s« bei %L hat Attribut CONTIGUOUS, aber ist kein Feldzeiger oder Feld vermuteter Größe"
  
 -#: fortran/resolve.c:12089
 +#: fortran/resolve.c:12092
@@ -308756,52 +315423,64 @@ Index: gcc/po/de.po
  msgstr "Das INTENT(OUT)-Scheinargument »%s« bei %L hat vermutete Größe und kann damit keine Standardinitialisierung haben"
  
 -#: fortran/resolve.c:12279
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:12282
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Function result '%s' at %L shall not be a coarray or have a coarray component"
- msgstr "Funktionsergebnis »%s« bei %L kann keine Initialisierung haben"
+-msgstr "Funktionsergebnis »%s« bei %L kann keine Initialisierung haben"
++msgstr "Funktionsergebnis »%s« bei %L sollte kein Koarray sein oder Koarray-Komponente haben"
  
 -#: fortran/resolve.c:12285
 +#: fortran/resolve.c:12288
  #, gcc-internal-format, gfc-internal-format
  msgid "Variable '%s' at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
- msgstr ""
+-msgstr ""
++msgstr "Variable »%s« bei %L mit TYPE(C_PTR) oder TYPE(C_FUNPTR) sollte kein Koarray sein"
  
 -#: fortran/resolve.c:12292
 +#: fortran/resolve.c:12295
  #, gcc-internal-format, gfc-internal-format
  msgid "Variable '%s' at %L with coarray component shall be a nonpointer, nonallocatable scalar"
- msgstr ""
+-msgstr ""
++msgstr "Variable »%s« bei %L mit Koarraykomponente sollte ein Nichtzeiger, nichtallozierbares Skalar sein"
  
 -#: fortran/resolve.c:12303
 +#: fortran/resolve.c:12306
  #, gcc-internal-format, gfc-internal-format
  msgid "Variable '%s' at %L is a coarray or has a coarray component and is not ALLOCATABLE, SAVE nor a dummy argument"
- msgstr ""
+-msgstr ""
++msgstr "Variable »%s« bei %L ist ein Koarray oder hat eine Koarraykomponente und ist weder ALLOCATABLE, SAVE, noch ein Scheinargument"
  
 -#: fortran/resolve.c:12309
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:12312
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Coarray variable '%s' at %L shall not have codimensions with deferred shape"
- msgstr "Feld »%s« bei %L kann keine aufgeschobene Form haben"
+-msgstr "Feld »%s« bei %L kann keine aufgeschobene Form haben"
++msgstr "Koarray-Variable »%s« bei %L sollte keine Kodimensionen mit aufgeschobener Form haben"
  
 -#: fortran/resolve.c:12313
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:12316
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Allocatable coarray variable '%s' at %L must have deferred shape"
- msgstr "Zuordnungsfähiges Feld »%s« bei %L muss aufgeschobene Form haben"
+-msgstr "Zuordnungsfähiges Feld »%s« bei %L muss aufgeschobene Form haben"
++msgstr "Zuordnungsfähige Koarray-Variable »%s« bei %L muss aufgeschobene Form haben"
  
 -#: fortran/resolve.c:12321
 +#: fortran/resolve.c:12324
  #, gcc-internal-format, gfc-internal-format
  msgid "Variable '%s' at %L is INTENT(OUT) and can thus not be an allocatable coarray or have coarray components"
- msgstr ""
+-msgstr ""
++msgstr "Variable '%s' bei %L ist INTENT(OUT) und kann daher kein reservierbares Coarray sein oder Coarray-Komponenten haben"
  
 -#: fortran/resolve.c:12327
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:12330
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Coarray dummy variable '%s' at %L not allowed in BIND(C) procedure '%s'"
- msgstr "Scheinprozedur bei %L nicht in ELEMENTAL-Prozedur erlaubt"
+-msgstr "Scheinprozedur bei %L nicht in ELEMENTAL-Prozedur erlaubt"
++msgstr "Coarray-Hilfsvariable '%s' bei %L in BIND(C)-Prozedur '%s' nicht erlaubt"
  
 -#: fortran/resolve.c:12397
 +#: fortran/resolve.c:12400
@@ -308822,16 +315501,19 @@ Index: gcc/po/de.po
  msgstr "DATA-Feld »%s« bei %L muss in vorheriger Deklaration angegeben werden"
  
 -#: fortran/resolve.c:12511
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:12514
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "DATA element '%s' at %L cannot have a coindex"
- msgstr "Schein-»%s« bei %L kann keine Initialisierung haben"
+-msgstr "Schein-»%s« bei %L kann keine Initialisierung haben"
++msgstr "DATA-Element '%s' bei %L kann keinen Coindex haben"
  
 -#: fortran/resolve.c:12520
 +#: fortran/resolve.c:12523
  #, gcc-internal-format, gfc-internal-format
  msgid "DATA element '%s' at %L is a pointer and so must be a full array"
- msgstr ""
+-msgstr ""
++msgstr "DATA-Element '%s' bei %L ist ein Zeiger und muss daher ein vollständiges Feld sein"
  
 -#: fortran/resolve.c:12566
 +#: fortran/resolve.c:12569
@@ -308849,19 +315531,22 @@ Index: gcc/po/de.po
 +#: fortran/resolve.c:12680
  #, gcc-internal-format, gfc-internal-format
  msgid "start of implied-do loop at %L could not be simplified to a constant value"
- msgstr ""
+-msgstr ""
++msgstr "Anfang der Implied-do-Schleife bei %L konnte nicht zu einem konstanten Wert vereinfacht werden"
  
 -#: fortran/resolve.c:12685
 +#: fortran/resolve.c:12688
  #, gcc-internal-format, gfc-internal-format
  msgid "end of implied-do loop at %L could not be simplified to a constant value"
- msgstr ""
+-msgstr ""
++msgstr "Ende der Implied-do-Schleife bei %L konnte nicht zu einem konstanten Wert vereinfacht werden"
  
 -#: fortran/resolve.c:12693
 +#: fortran/resolve.c:12696
  #, gcc-internal-format, gfc-internal-format
  msgid "step of implied-do loop at %L could not be simplified to a constant value"
- msgstr ""
+-msgstr ""
++msgstr "Schritt der Implied-do-Schleife bei %L konnte nicht zu einem konstanten Wert vereinfacht werden"
  
 -#: fortran/resolve.c:12818
 +#: fortran/resolve.c:12821
@@ -308948,10 +315633,12 @@ Index: gcc/po/de.po
  msgstr "Teilzeichenkette bei %L hat Länge Null"
  
 -#: fortran/resolve.c:13361
+-#, fuzzy, gcc-internal-format, gfc-internal-format
 +#: fortran/resolve.c:13364
- #, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
  msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
- msgstr "Fortran 2003: PUBLIC %s »%s« bei %L mit abgeleitetem PRIVATE-Typen »%s«"
+-msgstr "Fortran 2003: PUBLIC %s »%s« bei %L mit abgeleitetem PRIVATE-Typen »%s«"
++msgstr "Fortran 2003: PUBLIC-Funktion »%s« bei %L mit PRIVATE-Typen »%s«"
  
 -#: fortran/resolve.c:13374
 +#: fortran/resolve.c:13377
@@ -309000,7 +315687,276 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
  msgstr "Enthaltene Prozedur »%s« bei %L einer PURE-Prozedur muss auch PURE sein"
-@@ -40916,22 +40989,22 @@
+@@ -40226,9 +40283,9 @@
+ msgstr "!$OMP bei %C beginnt eine kommentierte Zeile, da es weder von Leerzeichen gefolgt wird noch eine Fortsetzungszeile ist"
+ #: fortran/scanner.c:1052 fortran/scanner.c:1190
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Line truncated at %L"
+-msgstr "Zeile bei %C wird abgeschnitten"
++msgstr "Zeile bei %L wird abgeschnitten"
+ #: fortran/scanner.c:1102 fortran/scanner.c:1234
+ #, gcc-internal-format, gfc-internal-format
+@@ -40301,19 +40358,19 @@
+ msgstr "Ungültiger KIND-Parameter von %s bei %L"
+ #: fortran/simplify.c:700
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Argument of %s function at %L is negative"
+-msgstr "Anweisungsfunktion bei %L ist rekursiv"
++msgstr "Argument der Funktion %s bei %L ist negativ"
+ #: fortran/simplify.c:707
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Argument of %s function at %L outside of range [0,127]"
+-msgstr "Argument der ACHAR-Funktion bei %L außerhalb des Wertebereichs [0,127]"
++msgstr "Argument der Funktion %s bei %L außerhalb des Wertebereichs [0,127]"
+ #: fortran/simplify.c:725
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Argument of %s function at %L is too large for the collating sequence of kind %d"
+-msgstr ""
++msgstr "Argument der Funktion %s bei %L ist zu groß für die zusammenfassende Sequenz der Art %d"
+ #: fortran/simplify.c:762
+ #, gcc-internal-format, gfc-internal-format
+@@ -40341,14 +40398,14 @@
+ msgstr "Wenn das erste Argument von ATAN2 %L Null ist, dann darf das zweite Argument nicht Null sein"
+ #: fortran/simplify.c:1238
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Result of BESSEL_YN is -INF at %L"
+-msgstr "Ergebnis von NEAREST ist NaN bei %L"
++msgstr "Ergebnis von BESSEL_YN ist -INF bei %L"
+ #: fortran/simplify.c:1903
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Invalid SHIFT argument of DSHIFTL at %L"
+-msgstr "Ungültiges zweites Argument von ISHFT bei %L"
++msgstr "Ungültiges SHIFT-Argument von DSHIFTL bei %L"
+ #: fortran/simplify.c:2429
+ #, gcc-internal-format, gfc-internal-format
+@@ -40401,20 +40458,20 @@
+ msgstr "Argument von ICHAR bei %L muss Länge Eins haben"
+ #: fortran/simplify.c:3008
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Invalid second argument of %s at %L"
+-msgstr "Ungültiges zweites Argument von IBCLR bei %L"
++msgstr "Ungültiges zweites Argument von %s bei %L"
+ #. Left shift, as in SHIFTL.
+ #: fortran/simplify.c:3026 fortran/simplify.c:3034
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Second argument of %s is negative at %L"
+-msgstr "Zweites Argument von IBCLR überschreitet Bit-Größe bei %L"
++msgstr "Zweites Argument von %s ist bei %L negativ"
+ #: fortran/simplify.c:3046
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Magnitude of second argument of %s exceeds bit size at %L"
+-msgstr "Größe des zweiten Arguments von ISHFT überschreitet Bit-Größe bei %L"
++msgstr "Größe des zweiten Arguments von %s überschreitet Bit-Größe bei %L"
+ #: fortran/simplify.c:3150
+ #, gcc-internal-format, gfc-internal-format
+@@ -40449,7 +40506,7 @@
+ #: fortran/simplify.c:3642
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Not yet implemented: LCOBOUND for coarray with non-constant cobounds at %L"
+-msgstr ""
++msgstr "Noch nicht implementiert: LCOBOUND für Coarray mit nicht konstanten Co-Grenzen bei %L"
+ #: fortran/simplify.c:3796
+ #, gcc-internal-format, gfc-internal-format
+@@ -40522,44 +40579,44 @@
+ msgstr "Intrinsisches TRANSFER bei %L hat teilweise undefiniertes Ergebnis: Quellgröße %ld < Ergebnisgröße %ld"
+ #: fortran/simplify.c:6221
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Too few elements in expression for SUB= argument at %L"
+-msgstr "Zu wenige Elemente (%A fehlt) bei %0 für Feldreferenz bei %1"
++msgstr "Zu wenige Elemente in Ausdruck für SUB= Argument bei %L"
+ #: fortran/simplify.c:6247
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)"
+-msgstr ""
++msgstr "Außerhalb des Wertebereichs in IMAGE_INDEX bei %L für Dimension %d, SUB hat %ld und untere Grenze für COARRAY ist %ld"
+ #: fortran/simplify.c:6270
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)"
+-msgstr ""
++msgstr "Außerhalb des Wertebereichs in IMAGE_INDEX bei %L für Dimension %d, SUB hat %ld und obere Grenze für COARRAY ist %ld"
+ #: fortran/simplify.c:6288
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Too many elements in expression for SUB= argument at %L"
+-msgstr "Zu viele Elemente bei %0 für Feldreferenz bei %1"
++msgstr "Zu viele Elemente in Ausdruck für SUB= Argument bei %L"
+ #: fortran/simplify.c:6303
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Not yet implemented: IMAGE_INDEX for coarray with non-constant cobounds at %L"
+-msgstr ""
++msgstr "Noch nicht implementiert: IMAGE_INDEX für Coarray mit nicht konstanten Co-Grenzen bei %L"
+ #: fortran/simplify.c:6402
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Not yet implemented: THIS_IMAGE for coarray with non-constant cobounds at %L"
+-msgstr ""
++msgstr "Noch nicht implementiert: THIS_IMAGE für Coarray mit nicht konstanten Co-Grenzen bei %L"
+ #: fortran/simplify.c:6424
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Not yet implemented: UCOBOUND for coarray with non-constant cobounds at %L"
+-msgstr ""
++msgstr "Noch nicht implementiert: UCOBOUND für Coarray mit nicht konstanten Co-Grenzen bei %L"
+ #: fortran/simplify.c:6781
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Character '%s' in string at %L cannot be converted into character kind %d"
+-msgstr ""
++msgstr "Zeichen »%s« in Zeichenkette bei %L kann nicht in Zeichenart %d umgewandelt werden"
+ #: fortran/symbol.c:135
+ #, gcc-internal-format, gfc-internal-format
+@@ -40595,9 +40652,9 @@
+ #. Dummy args to a BIND(C) routine may not be interoperable if
+ #. they are implicitly typed.
+ #: fortran/symbol.c:294
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Implicitly declared variable '%s' at %L may not be C interoperable but it is a dummy argument to the BIND(C) procedure '%s' at %L"
+-msgstr "Implizit deklarierte Variable »%s« bei %L kann nicht C-kompatibel sein, ist aber ein Scheinargument für BIND(C)-Prozedur »%s« bei %L"
++msgstr "Implizit deklarierte Variable »%s« bei %L ist nicht C-kompatibel, sondern ein Scheinargument für BIND(C)-Prozedur »%s« bei %L"
+ #: fortran/symbol.c:335
+ #, gcc-internal-format, gfc-internal-format
+@@ -40610,19 +40667,19 @@
+ msgstr "Attribut %s ungültig in BLOCK DATA - Programmeinheit bei %L"
+ #: fortran/symbol.c:479
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Fortran 2003: Procedure pointer at %C"
+-msgstr "Fortran 2003: Modul-Eigenschaft in USE-Anweisung bei %C"
++msgstr "Fortran 2003: Prozedur-Zeiger bei %C"
+ #: fortran/symbol.c:641
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "%s attribute applied to %s %s at %L"
+-msgstr "Attribut %s steht mit Attribut %s bei %L in Konflikt"
++msgstr "Attribut %s auf %s %s bei %L angewendet"
+ #: fortran/symbol.c:648
+ #, gcc-internal-format, gfc-internal-format
+ msgid "BIND(C) applied to %s %s at %L"
+-msgstr ""
++msgstr "BIND(C) auf %s %s bei %L angewendet"
+ #: fortran/symbol.c:756 fortran/symbol.c:1479
+ #, gcc-internal-format, gfc-internal-format
+@@ -40662,17 +40719,17 @@
+ #: fortran/symbol.c:878
+ #, gcc-internal-format, gfc-internal-format
+ msgid "ALLOCATABLE specified outside of INTERFACE body at %L"
+-msgstr ""
++msgstr "ALLOCATABLE außerhalb des INTERFACE-Körpers bei %L angegeben"
+ #: fortran/symbol.c:904
+ #, gcc-internal-format, gfc-internal-format
+ msgid "CODIMENSION specified for '%s' outside its INTERFACE body at %L"
+-msgstr ""
++msgstr "CODIMENSION für »%s« außerhalb seines INTERFACE-Körpers bei %L angegeben"
+ #: fortran/symbol.c:930
+ #, gcc-internal-format, gfc-internal-format
+ msgid "DIMENSION specified for '%s' outside its INTERFACE body at %L"
+-msgstr ""
++msgstr "DIMENSION für »%s« außerhalb seines INTERFACE-Körpers bei %L angegeben"
+ #: fortran/symbol.c:1060
+ #, gcc-internal-format, gfc-internal-format
+@@ -40705,9 +40762,9 @@
+ msgstr "Doppeltes VOLATILE-Attribut bei %L angegeben"
+ #: fortran/symbol.c:1184
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Duplicate ASYNCHRONOUS attribute specified at %L"
+-msgstr "Doppeltes VALUE-Attribut bei %L angegeben"
++msgstr "Doppeltes ASYNCHRONOUS-Attribut bei %L angegeben"
+ #: fortran/symbol.c:1475
+ #, gcc-internal-format, gfc-internal-format
+@@ -40740,14 +40797,14 @@
+ msgstr "Fortran 2003: BIND(C) bei %L"
+ #: fortran/symbol.c:1609
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Duplicate EXTENDS attribute specified at %L"
+-msgstr "Doppeltes BIND-Attribut bei %L angegeben"
++msgstr "Doppeltes EXTENDS-Attribut bei %L angegeben"
+ #: fortran/symbol.c:1613
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Fortran 2003: EXTENDS at %L"
+-msgstr "Fortran 2003: BIND(C) bei %L"
++msgstr "Fortran 2003: EXTENDS bei %L"
+ #: fortran/symbol.c:1635
+ #, gcc-internal-format, gfc-internal-format
+@@ -40757,7 +40814,7 @@
+ #: fortran/symbol.c:1642
+ #, gcc-internal-format, gfc-internal-format
+ msgid "'%s' at %L has attributes specified outside its INTERFACE body"
+-msgstr ""
++msgstr "»%s« bei %L hat außerhalb seines INTERFACE-Körpers spezifizierte Attribute"
+ #: fortran/symbol.c:1675
+ #, gcc-internal-format, gfc-internal-format
+@@ -40765,9 +40822,9 @@
+ msgstr "Symbol »%s« bei %L hat bereits grundlegenden Typen %s"
+ #: fortran/symbol.c:1682
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Procedure '%s' at %L may not have basic type of %s"
+-msgstr "Symbol »%s« bei %L hat bereits grundlegenden Typen %s"
++msgstr "Prozedur »%s« bei %L kann nicht grundlegenden Typen %s haben"
+ #: fortran/symbol.c:1694
+ #, gcc-internal-format, gfc-internal-format
+@@ -40780,9 +40837,9 @@
+ msgstr "Komponente »%s« bei %C bereits bei %L deklariert"
+ #: fortran/symbol.c:1874
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Component '%s' at %C already in the parent type at %L"
+-msgstr "Komponente »%s« bei %C bereits bei %L deklariert"
++msgstr "Komponente »%s« bei %C bereits im Elterntypen bei %L deklariert"
+ #: fortran/symbol.c:1950
+ #, gcc-internal-format, gfc-internal-format
+@@ -40916,22 +40973,22 @@
  msgstr "BOZ-konstante bei %L ist zu groß (%ld vs %ld Bits)"
  
  #: fortran/trans-array.c:775 fortran/trans-array.c:4932
@@ -309027,7 +315983,7 @@ Index: gcc/po/de.po
  #, gcc-internal-format, gfc-internal-format
  msgid "bad expression type during walk (%d)"
  msgstr "Falscher Ausdruckstyp beim Durchlaufen (%d)"
-@@ -41017,47 +41090,47 @@
+@@ -41017,47 +41074,47 @@
  msgid "intrinsic variable which isn't a procedure"
  msgstr "innere Variable, die keine Prozedur ist"
  
@@ -309084,9 +316040,817 @@ Index: gcc/po/de.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  msgid "Return value '%s' of function '%s' declared at %L not set"
  msgstr "Rückgabetyp der BIND(C)-Funktion »%s« bei %L kann kein Feld sein"
-@@ -42461,6 +42534,16 @@
+@@ -41747,43 +41804,43 @@
+ msgstr "Datenabschnitt von %q+D in Konflikt mit vorheriger Deklaration"
+ #: objc/objc-act.c:1192
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "type of property %qD conflicts with previous declaration"
+-msgstr "Datenabschnitt von %q+D in Konflikt mit vorheriger Deklaration"
++msgstr "Typ der Eigenschaft %qD in Konflikt mit vorheriger Deklaration"
+ #: objc/objc-act.c:1665
+ #, gcc-internal-format
+ msgid "the dot syntax is not available in Objective-C 1.0"
+-msgstr ""
++msgstr "in Objective-C 1.0 gibt es keine Dot-Syntax"
+ #. We know that 'class_name' is an Objective-C class name as the
+ #. parser won't call this function if it is not.  This is only a
+ #. double-check for safety.
+ #: objc/objc-act.c:1681
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "could not find class %qE"
+-msgstr "Klasse »%s« kann nicht gefunden werden"
++msgstr "Klasse %qE kann nicht gefunden werden"
+ #. Again, this should never happen, but we do check.
+ #: objc/objc-act.c:1689
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "could not find interface for class %qE"
+-msgstr "Datei für Klasse %s kann nicht gefunden werden"
++msgstr "Schnittstelle für Klasse %qE kann nicht gefunden werden"
+ #: objc/objc-act.c:1695 objc/objc-act.c:6583 objc/objc-act.c:6714
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "class %qE is deprecated"
+-msgstr "%qs ist veraltet"
++msgstr "Klasse %qE ist veraltet"
+ #: objc/objc-act.c:1724
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "could not find setter/getter for %qE in class %qE"
+-msgstr "Referenzmarke für Klasse %qs kann nicht gefunden werden"
++msgstr "Setter/Getter für %qE in Klasse %qE kann nicht gefunden werden"
+ #: objc/objc-act.c:1760
+ #, gcc-internal-format
+ msgid "readonly property can not be set"
+-msgstr ""
++msgstr "schreibgeschützte Eigenschaft kann nicht gesetzt werden"
+ #. PS: At the moment, due to how the parser works, it should be
+ #. impossible to get here.  But it's good to have the check in
+@@ -41797,7 +41854,7 @@
+ #: objc/objc-act.c:2034
+ #, gcc-internal-format
+ msgid "method attributes are not available in Objective-C 1.0"
+-msgstr ""
++msgstr "in Objective-C 1.0 gibt es keine Methodenattribute"
+ #: objc/objc-act.c:2051
+ #, gcc-internal-format
+@@ -41805,19 +41862,19 @@
+ msgstr "Methodendefinition nicht im @implementation-Kontext"
+ #: objc/objc-act.c:2066
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "method attributes can not be specified in @implementation context"
+-msgstr "Methodendefinition nicht im @implementation-Kontext"
++msgstr "Methodenattribute können nicht im @implementation-Kontext angegeben werden"
+ #: objc/objc-act.c:2295
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "class %qs does not implement the %qE protocol"
+-msgstr "Klasse %qs implementiert nicht das Protokoll %qs"
++msgstr "Klasse %qs implementiert nicht das Protokoll %qE"
+ #: objc/objc-act.c:2298
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "type %qs does not conform to the %qE protocol"
+-msgstr "Objekt entspricht nicht dem Protokoll %qs"
++msgstr "Typ %qs entspricht nicht dem Protokoll %qE"
+ #: objc/objc-act.c:2562
+ #, gcc-internal-format
+@@ -41845,14 +41902,14 @@
+ msgstr "Übergabe des Arguments %d von %qE von anderem Objective-C-Typ"
+ #: objc/objc-act.c:2716
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "statically allocated instance of Objective-C class %qE"
+-msgstr "statisch reservierte Instanz der Objective-C-Klasse %qs"
++msgstr "statisch reservierte Instanz der Objective-C-Klasse %qE"
+ #: objc/objc-act.c:2725
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "redeclaration of Objective-C class %qs"
+-msgstr "statisch reservierte Instanz der Objective-C-Klasse %qs"
++msgstr "Redeklaration der Objective-C-Klasse %qs"
+ #. This case happens when we are given an 'interface' which
+ #. is not a valid class name.  For example if a typedef was
+@@ -41864,38 +41921,38 @@
+ #: objc/objc-act.c:2767
+ #, gcc-internal-format
+ msgid "only Objective-C object types can be qualified with a protocol"
+-msgstr ""
++msgstr "nur Objective-C-Objekttypen können mit Protokoll qualifiziert werden"
+ #: objc/objc-act.c:2831
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "protocol %qE has circular dependency"
+-msgstr "Protokoll %qs hat ringförmige Abhängigkeit"
++msgstr "Protokoll %qE hat ringförmige Abhängigkeit"
+ #: objc/objc-act.c:2864 objc/objc-act.c:5382
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "cannot find protocol declaration for %qE"
+-msgstr "Protokolldeklaration für %qs kann nicht gefunden werden"
++msgstr "Protokolldeklaration für %qE kann nicht gefunden werden"
+ #: objc/objc-act.c:3167 objc/objc-act.c:3826 objc/objc-act.c:6159
+ #: objc/objc-act.c:6634 objc/objc-act.c:6707 objc/objc-act.c:6760
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "cannot find interface declaration for %qE"
+-msgstr "Schnittstellendeklaration für %qs kann nicht gefunden werden"
++msgstr "Schnittstellendeklaration für %qE kann nicht gefunden werden"
+ #: objc/objc-act.c:3171
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "interface %qE does not have valid constant string layout"
+-msgstr "die Schnittstelle %qs hat keine gültige Form einer konstanten Zeichenkette"
++msgstr "die Schnittstelle %qE hat keine gültige Form einer konstanten Zeichenkette"
+ #: objc/objc-act.c:3176
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "cannot find reference tag for class %qE"
+-msgstr "Referenzmarke für Klasse %qs kann nicht gefunden werden"
++msgstr "Referenzmarke für Klasse %qE kann nicht gefunden werden"
+ #: objc/objc-act.c:3321
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%qE is not an Objective-C class name or alias"
+-msgstr "%qs ist kein Klassenname oder Alias in Objective-C"
++msgstr "%qE ist kein Klassenname oder Alias in Objective-C"
+ #: objc/objc-act.c:3336 objc/objc-act.c:3369 objc/objc-act.c:6540
+ #: objc/objc-act.c:7862 objc/objc-act.c:7917
+@@ -41904,19 +41961,19 @@
+ msgstr "Objective-C-Deklarationen dürfen nur im globalen Gültigkeitsbereich erscheinen"
+ #: objc/objc-act.c:3341
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "cannot find class %qE"
+-msgstr "Klasse %qs kann nicht gefunden werden"
++msgstr "Klasse %qE kann nicht gefunden werden"
+ #: objc/objc-act.c:3343
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "class %qE already exists"
+-msgstr "Klasse %qs existiert bereits"
++msgstr "Klasse %qE existiert bereits"
+ #: objc/objc-act.c:3391 objc/objc-act.c:6599
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%qE redeclared as different kind of symbol"
+-msgstr "%qs als andere Symbolart redeklariert"
++msgstr "%qE als andere Symbolart redeklariert"
+ #: objc/objc-act.c:3680
+ #, gcc-internal-format
+@@ -41944,7 +42001,7 @@
+ msgstr "Globale/statische Variablenzuweisung wurde abgefangen"
+ #: objc/objc-act.c:3892
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%<-fobjc-exceptions%> is required to enable Objective-C exception syntax"
+ msgstr "%<-fobjc-exceptions%> verwenden, um Syntax für Objective-C-Ausnahmen einzuschalten"
+@@ -41954,9 +42011,9 @@
+ msgstr "»@catch«-Parameter ist kein bekannter Objective-C-Klassentyp"
+ #: objc/objc-act.c:3982
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "@catch parameter can not be protocol-qualified"
+-msgstr "Template-Parameter können keine »friends« sein"
++msgstr "@catch-Parameter kann nicht Protokoll-qualifiziert sein"
+ #: objc/objc-act.c:4027
+ #, gcc-internal-format
+@@ -41964,9 +42021,9 @@
+ msgstr "Ausnahme des Typs %<%T%> wird gefangen werden"
+ #: objc/objc-act.c:4029
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "   by earlier handler for %<%T%>"
+-msgstr "%H   von früherem Behandler für %<%T%>"
++msgstr "   von früherem Behandler für %<%T%>"
+ #: objc/objc-act.c:4076
+ #, gcc-internal-format
+@@ -41979,24 +42036,24 @@
+ msgstr "%<@throw%> (rethrow) außerhalb von »@catch«-Block verwendet"
+ #: objc/objc-act.c:4117
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%<@throw%> argument is not an object"
+-msgstr "Argument %qd ist keine Konstante"
++msgstr "%<@throw%>-Argument ist kein Objekt"
+ #: objc/objc-act.c:4138
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%<@synchronized%> argument is not an object"
+-msgstr "Argument %qd ist keine Konstante"
++msgstr "%<@synchronized%>-Argument ist kein Objekt"
+ #: objc/objc-act.c:4273
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "type %qT does not have a known size"
+-msgstr "Typ %q+D hat keine bekannte Größe"
++msgstr "Typ %qT hat keine bekannte Größe"
+ #: objc/objc-act.c:4450
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%s %qs"
+-msgstr "%J%s: %qs"
++msgstr "%s %qs"
+ #: objc/objc-act.c:4473 objc/objc-act.c:4492
+ #, gcc-internal-format
+@@ -42011,42 +42068,42 @@
+ #: objc/objc-act.c:4591
+ #, gcc-internal-format
+ msgid "method argument attributes are not available in Objective-C 1.0"
+-msgstr ""
++msgstr "in Objective-C 1.0 gibt es keine Attribute für Methodenargumente"
+ #: objc/objc-act.c:4920
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "multiple methods named %<%c%E%> found"
+-msgstr "mehrere %s namens %<%c%s%> gefunden"
++msgstr "mehrere Methoden namens %<%c%E%> gefunden"
+ #: objc/objc-act.c:4923
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "using %<%c%s%>"
+-msgstr "%J%s %<%c%s%>"
++msgstr "%<%c%s%> wird verwendet"
+ #: objc/objc-act.c:4932
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "multiple selectors named %<%c%E%> found"
+-msgstr "mehrere %s namens %<%c%s%> gefunden"
++msgstr "mehrere Selektoren namens %<%c%E%> gefunden"
+ #: objc/objc-act.c:4935
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "found %<%c%s%>"
+-msgstr "%J%s %<%c%s%>"
++msgstr "%<%c%s%> gefunden"
+ #: objc/objc-act.c:4944
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "also found %<%c%s%>"
+-msgstr "%J%s %<%c%s%>"
++msgstr "auch %<%c%s%> gefunden"
+ #: objc/objc-act.c:5172
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "no super class declared in @interface for %qE"
+-msgstr "keine Basisklasse im @interface für %qs deklariert"
++msgstr "keine Basisklasse im @interface für %qE deklariert"
+ #: objc/objc-act.c:5210
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "found %<-%E%> instead of %<+%E%> in protocol(s)"
+-msgstr "%<-%s%> statt %<+%s%> in Protokoll(en) gefunden"
++msgstr "%<-%E%> statt %<+%E%> in Protokoll(en) gefunden"
+ #: objc/objc-act.c:5274
+ #, gcc-internal-format
+@@ -42054,19 +42111,19 @@
+ msgstr "ungültiger Empfängertyp %qs"
+ #: objc/objc-act.c:5289
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%<%c%E%> not found in protocol(s)"
+-msgstr "%<%c%s%> nicht in Protokoll(en) gefunden"
++msgstr "%<%c%E%> nicht in Protokoll(en) gefunden"
+ #: objc/objc-act.c:5303
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%qE may not respond to %<%c%E%>"
+-msgstr "%qs antwortet möglicherweise nicht auf %<%c%s%>"
++msgstr "%qE antwortet möglicherweise nicht auf %<%c%E%>"
+ #: objc/objc-act.c:5311
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "no %<%c%E%> method found"
+-msgstr "keine Methode %<%c%s%> gefunden"
++msgstr "keine Methode %<%c%E%> gefunden"
+ #: objc/objc-act.c:5318
+ #, gcc-internal-format
+@@ -42084,9 +42141,9 @@
+ msgstr "%<...%> als Argumente.)"
+ #: objc/objc-act.c:5433
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "undeclared selector %qE"
+-msgstr "nicht deklarierter Selektor %qs"
++msgstr "nicht deklarierter Selektor %qE"
+ #. Historically, a class method that produced objects (factory
+ #. method) would assign `self' to the instance that it
+@@ -42098,39 +42155,39 @@
+ #. where this is done unknowingly than to support the above
+ #. paradigm.
+ #: objc/objc-act.c:5476
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "instance variable %qE accessed in class method"
+-msgstr "in Klassenmethode wird auf Instanzvariable %qs zugegriffen"
++msgstr "in Klassenmethode wird auf Instanzvariable %qE zugegriffen"
+ #: objc/objc-act.c:5764 objc/objc-act.c:5784
+ #, gcc-internal-format
+ msgid "method %<%c%E%> declared %<@optional%> and %<@required%> at the same time"
+-msgstr ""
++msgstr "Methode %<%c%E%> gleichzeitig als %<@optional%> und %<@required%> deklariert"
+ #: objc/objc-act.c:5768
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "previous declaration of %<%c%E%> as %<@required%>"
+-msgstr "vorherige Deklaration von %qs"
++msgstr "vorherige Deklaration von %<%c%E%> als %<@required%>"
+ #: objc/objc-act.c:5788
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "previous declaration of %<%c%E%> as %<@optional%>"
+-msgstr "vorherige Deklaration von %qs"
++msgstr "vorherige Deklaration von %<%c%E%> als %<@optional%>"
+ #: objc/objc-act.c:5848
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "duplicate declaration of method %<%c%E%> with conflicting types"
+-msgstr "doppelte Deklaration der Methode %<%c%s%>"
++msgstr "doppelte Deklaration der Methode %<%c%E%> mit in Konflikt stehenden Typen"
+ #: objc/objc-act.c:5852
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "previous declaration of %<%c%E%>"
+-msgstr "vorherige Deklaration von %qs"
++msgstr "vorherige Deklaration von %<%c%E%>"
+ #: objc/objc-act.c:5914
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "duplicate interface declaration for category %<%E(%E)%>"
+-msgstr "doppelte Schnittstellendeklaration für Kategorie %<%s(%s)%>"
++msgstr "doppelte Schnittstellendeklaration für Kategorie %<%E(%E)%>"
+ #: objc/objc-act.c:5994
+ #, gcc-internal-format
+@@ -42143,41 +42200,41 @@
+ msgstr "Instanzvariable %qs hat unbekannte Größe"
+ #: objc/objc-act.c:6025
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "instance variable %qs uses flexible array member"
+-msgstr "falsche Benutzung eines flexiblen Feldelements"
++msgstr "Instanzvariable %qs verwendet flexibles Feldelement"
+ #: objc/objc-act.c:6051
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "type %qE has no default constructor to call"
+-msgstr "Typ %qs hat keinen Standard-Konstruktor"
++msgstr "Typ %qE hat keinen aufrufbaren Standard-Konstruktor"
+ #: objc/objc-act.c:6057
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "destructor for %qE shall not be run either"
+-msgstr "Destruktor für %qs sollte auch nicht abgearbeitet werden"
++msgstr "Destruktor für %qE sollte auch nicht abgearbeitet werden"
+ #. Vtable pointers are Real Bad(tm), since Obj-C cannot
+ #. initialize them.
+ #: objc/objc-act.c:6069
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "type %qE has virtual member functions"
+-msgstr "der Typ %qs hat virtuelle Elementfunktionen"
++msgstr "Typ %qE hat virtuelle Elementfunktionen"
+ #: objc/objc-act.c:6070
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "illegal aggregate type %qE specified for instance variable %qs"
+-msgstr "unzulässiger Aggregattyp %qs für Instanzvariable %qs angegeben"
++msgstr "unzulässiger Aggregattyp %qE für Instanzvariable %qs angegeben"
+ #: objc/objc-act.c:6080
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "type %qE has a user-defined constructor"
+-msgstr "Typ %qs hat einen benutzerdefinierten Konstruktor"
++msgstr "Typ %qE hat einen benutzerdefinierten Konstruktor"
+ #: objc/objc-act.c:6082
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "type %qE has a user-defined destructor"
+-msgstr "Typ %qs hat einen benutzerdefinierten Destruktor"
++msgstr "Typ %qE hat einen benutzerdefinierten Destruktor"
+ #: objc/objc-act.c:6086
+ #, gcc-internal-format
+@@ -42185,196 +42242,196 @@
+ msgstr "C++-Konstruktoren und -Destruktoren werden für Objective-C-Felder nicht aufgerufen"
+ #: objc/objc-act.c:6188
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "instance variable %qE is declared private"
+-msgstr "Instanzvariable %qs ist als »private« deklariert"
++msgstr "Instanzvariable %qE ist als »private« deklariert"
+ #: objc/objc-act.c:6199
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "instance variable %qE is %s; this will be a hard error in the future"
+-msgstr "Instanzvariable %qs ist %s; dies wird zukünftig ein schwerer Fehler sein"
++msgstr "Instanzvariable %qE ist %s; dies wird zukünftig ein schwerer Fehler sein"
+ #: objc/objc-act.c:6206
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "instance variable %qE is declared %s"
+-msgstr "Instanzvariable %qs ist als »%s« deklariert"
++msgstr "Instanzvariable %qE ist als »%s« deklariert"
+ #: objc/objc-act.c:6317 objc/objc-act.c:6432
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "incomplete implementation of class %qE"
+-msgstr "unvollständige Implementierung der Klasse %qs"
++msgstr "unvollständige Implementierung der Klasse %qE"
+ #: objc/objc-act.c:6321 objc/objc-act.c:6436
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "incomplete implementation of category %qE"
+-msgstr "unvollständige Implementierung der Kategorie %qs"
++msgstr "unvollständige Implementierung der Kategorie %qE"
+ #: objc/objc-act.c:6330 objc/objc-act.c:6444
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "method definition for %<%c%E%> not found"
+-msgstr "Methodendefinition für %<%c%s%> nicht gefunden"
++msgstr "Methodendefinition für %<%c%E%> nicht gefunden"
+ #: objc/objc-act.c:6485
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%s %qE does not fully implement the %qE protocol"
+-msgstr "%s %qs implementiert das %qs-Protokoll nicht vollständig"
++msgstr "%s %qE implementiert das %qE-Protokoll nicht vollständig"
+ #: objc/objc-act.c:6575
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "cannot find interface declaration for %qE, superclass of %qE"
+-msgstr "Schnittstellendeklaration für %qs, Basisklasse von %qs, kann nicht gefunden werden"
++msgstr "Schnittstellendeklaration für %qE, Basisklasse von %qE, kann nicht gefunden werden"
+ #: objc/objc-act.c:6614
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "reimplementation of class %qE"
+-msgstr "Reimplementation der Klasse %qs"
++msgstr "Reimplementation der Klasse %qE"
+ #: objc/objc-act.c:6647
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "conflicting super class name %qE"
+-msgstr "in Konflikt stehender Basisklassenname %qs"
++msgstr "in Konflikt stehender Basisklassenname %qE"
+ #: objc/objc-act.c:6650
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "previous declaration of %qE"
+-msgstr "vorherige Deklaration von %qs"
++msgstr "vorherige Deklaration von %qE"
+ #: objc/objc-act.c:6652
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "previous declaration"
+-msgstr "vorherige Deklaration %q+D"
++msgstr "vorherige Deklaration"
+ #: objc/objc-act.c:6665 objc/objc-act.c:6667
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "duplicate interface declaration for class %qE"
+-msgstr "doppelte Schnittstellendeklaration für Klasse %qs"
++msgstr "doppelte Schnittstellendeklaration für Klasse %qE"
+ #: objc/objc-act.c:6985 objc/objc-act.c:7179
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "can not find instance variable associated with property"
+-msgstr "widersprüchliche Spezifikation von Instanzvariable"
++msgstr "mit Eigenschaft verbundene Instanzvariable nicht gefunden"
+ #. TODO: This should be caught much earlier than this.
+ #: objc/objc-act.c:7145
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "invalid setter, it must have one argument"
+-msgstr "Schnittstelle des Zuweisungsoperators bei %L muss zwei Argumente haben"
++msgstr "ungültiger Setter, muss ein Argument haben"
+ #: objc/objc-act.c:7308 objc/objc-act.c:7523
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "property %qs already specified in %<@dynamic%>"
+-msgstr "%s %qs ist bereits in %s:%d definiert"
++msgstr "Eigenschaft %qs ist bereits in %<@dynamic%> festgelegt"
+ #: objc/objc-act.c:7311 objc/objc-act.c:7526
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "property %qs already specified in %<@synthesize%>"
+-msgstr "%s %qs ist bereits in %s:%d definiert"
++msgstr "Eigenschaft %qs ist bereits in %<@synthesize%> festgelegt"
+ #: objc/objc-act.c:7325 objc/objc-act.c:7540
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "no declaration of property %qs found in the interface"
+-msgstr "lokale Deklaration von %qs verdeckt Instanzvariable"
++msgstr "keine Deklaration der in der Schnittstelle gefundenen Eigenschaft %qs"
+ #: objc/objc-act.c:7352
+ #, gcc-internal-format
+ msgid "ivar %qs used by %<@synthesize%> declaration must be an existing ivar"
+-msgstr ""
++msgstr "von %<@synthesize%>-Deklaration verwendete ivar %qs muss eine existierende ivar sein"
+ #: objc/objc-act.c:7373
+ #, gcc-internal-format
+ msgid "property %qs is using instance variable %qs of incompatible type"
+-msgstr ""
++msgstr "Eigenschaft %qs verwendet Instanzvariable %qs unverträglichen Typs"
+ #: objc/objc-act.c:7395
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "'assign' property %qs is using bit-field instance variable %qs"
+-msgstr "unzulässiger Aggregattyp %qs für Instanzvariable %qs angegeben"
++msgstr "»assign«-Eigenschaft %qs verwendet Bitfeld-Instanzvariable %qs"
+ #: objc/objc-act.c:7408
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "'atomic' property %qs is using bit-field instance variable %qs"
+-msgstr "unzulässiger Aggregattyp %qs für Instanzvariable %qs angegeben"
++msgstr "»atomic«-Eigenschaft %qs verwendet Bitfeld-Instanzvariable %qs"
+ #: objc/objc-act.c:7426
+ #, gcc-internal-format
+ msgid "property %qs is using the same instance variable as property %qs"
+-msgstr ""
++msgstr "Eigenschaft %qs verwendet die selbe Instanzvariable wie die Eigenschaft %qs"
+ #: objc/objc-act.c:7467
+ #, gcc-internal-format
+ msgid "%<@synthesize%> is not available in Objective-C 1.0"
+-msgstr ""
++msgstr "in Objective-C 1.0 gibt es kein %<@synthesize%>"
+ #. We can get here only in Objective-C; the Objective-C++ parser
+ #. detects the problem while parsing, outputs the error
+ #. "misplaced '@synthesize' Objective-C++ construct" and skips
+ #. the declaration.
+ #: objc/objc-act.c:7478
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%<@synthesize%> not in @implementation context"
+-msgstr "%<@end%> fehlt in Implementationskontext"
++msgstr "%<@synthesize%> nicht in @implementation-Kontext"
+ #: objc/objc-act.c:7484
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%<@synthesize%> can not be used in categories"
+-msgstr "%s kann nicht hier in »asm« verwendet werden"
++msgstr "%<@synthesize%> kann nicht in Kategorien verwendet werden"
+ #: objc/objc-act.c:7493
+ #, gcc-internal-format
+ msgid "%<@synthesize%> requires the @interface of the class to be available"
+-msgstr ""
++msgstr "%<@synthesize%> erfordert Verfügbarkeit des @interface der Klasse"
+ #: objc/objc-act.c:7576
+ #, gcc-internal-format
+ msgid "%<@dynamic%> is not available in Objective-C 1.0"
+-msgstr ""
++msgstr "in Objective-C 1.0 gibt es kein %<@dynamic%>"
+ #. We can get here only in Objective-C; the Objective-C++ parser
+ #. detects the problem while parsing, outputs the error
+ #. "misplaced '@dynamic' Objective-C++ construct" and skips the
+ #. declaration.
+ #: objc/objc-act.c:7587
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%<@dynamic%> not in @implementation context"
+-msgstr "%<@end%> fehlt in Implementationskontext"
++msgstr "%<@dynamic%> nicht in @implementation-Kontext"
+ #: objc/objc-act.c:7609
+ #, gcc-internal-format
+ msgid "%<@dynamic%> requires the @interface of the class to be available"
+-msgstr ""
++msgstr "%<@dynamic%> erfordert Verfügbarkeit des @interface der Klasse"
+ #: objc/objc-act.c:7807
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "definition of protocol %qE not found"
+-msgstr "Methodendefinition für %<%c%s%> nicht gefunden"
++msgstr "Definition des Protokolls %qE nicht gefunden"
+ #. It would be nice to use warn_deprecated_use() here, but
+ #. we are using TREE_CHAIN (which is supposed to be the
+ #. TYPE_STUB_DECL for a TYPE) for something different.
+ #: objc/objc-act.c:7838
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "protocol %qE is deprecated"
+-msgstr "%qs ist veraltet"
++msgstr "Protokoll %qE ist veraltet"
+ #: objc/objc-act.c:7962
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "duplicate declaration for protocol %qE"
+-msgstr "doppelte Deklaration für Protokoll %qs"
++msgstr "doppelte Deklaration für Protokoll %qE"
+ #: objc/objc-act.c:8448
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "conflicting types for %<%c%s%>"
+-msgstr "In Konflikt stehende Typen für %q+D"
++msgstr "in Konflikt stehende Typen für %<%c%s%>"
+ #: objc/objc-act.c:8452
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "previous declaration of %<%c%s%>"
+-msgstr "vorherige Deklaration von %qs"
++msgstr "vorherige Deklaration von %<%c%s%>"
+ #: objc/objc-act.c:8552
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "no super class declared in interface for %qE"
+-msgstr "keine Basisklasse in Schnittstelle für %qs deklariert"
++msgstr "keine Basisklasse in Schnittstelle für %qE deklariert"
+ #: objc/objc-act.c:8579
+ #, gcc-internal-format
+@@ -42392,75 +42449,85 @@
+ msgstr "Instanzvariable %qs ist als »private« deklariert"
+ #: objc/objc-act.c:9128
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "local declaration of %qE hides instance variable"
+-msgstr "lokale Deklaration von %qs verdeckt Instanzvariable"
++msgstr "lokale Deklaration von %qE verdeckt Instanzvariable"
+ #. This can happen if DECL_ARTIFICIAL (*expr_p), but
+ #. should be impossible for real properties, which always
+ #. have a getter.
+ #: objc/objc-act.c:9173
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "no %qs getter found"
+-msgstr "keine Methode %<%c%s%> gefunden"
++msgstr "kein %qs-Getter gefunden"
+ #: objc/objc-act.c:9413
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "fast enumeration is not available in Objective-C 1.0"
+-msgstr "diese Medienfunktion ist nur auf dem fr500 verfügbar"
++msgstr "in Objective-C 1.0 gibt es keine schnelle Aufzählung"
+ #: objc/objc-act.c:9423
+ #, gcc-internal-format
+ msgid "iterating variable in fast enumeration is not an object"
+-msgstr ""
++msgstr "Zählvariable in schneller Aufzählung ist kein Objekt"
+ #: objc/objc-act.c:9429
+ #, gcc-internal-format
+ msgid "collection in fast enumeration is not an object"
+-msgstr ""
++msgstr "Sammlung in schneller Aufzählung ist kein Objekt"
+ #: objc/objc-act.c:10362
+ #, gcc-internal-format, gfc-internal-format
+ msgid "unknown type %s found during Objective-C encoding"
+-msgstr ""
++msgstr "unbekannter Typ %s bei Objective-C-Kodierung gefunden"
+ #. Do not do any encoding, produce an error and keep going.
+ #: objc/objc-act.c:10445
+ #, gcc-internal-format
+ msgid "trying to encode non-integer type as a bitfield"
+-msgstr ""
++msgstr "es wird versucht, einen Nicht-Ganzzahltyp als Bitfeld zu kodieren"
+ #: objc/objc-gnu-runtime-abi-01.c:129
+ #, gcc-internal-format
+ msgid "%<-fobjc-gc%> is ignored for %<-fgnu-runtime%>"
+-msgstr ""
++msgstr "%<-fobjc-gc%> wird für %<-fgnu-runtime%> ignoriert"
+ #: objc/objc-gnu-runtime-abi-01.c:137
+ #, gcc-internal-format
+ msgid "%<-fobjc-sjlj-exceptions%> is ignored for %<-fgnu-runtime%>"
+-msgstr ""
++msgstr "%<-fobjc-sjlj-exceptions%> wird für %<-fgnu-runtime%> ignoriert"
+ #: objc/objc-gnu-runtime-abi-01.c:2168 objc/objc-next-runtime-abi-01.c:2848
+ #: objc/objc-next-runtime-abi-02.c:3636
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "non-objective-c type '%T' cannot be caught"
+-msgstr "Nicht-Objekt-Element %qs kann nicht als %<mutable%> deklariert sein"
++msgstr "Nicht-Objective-C-Typ »%T« kann nicht aufgefangen werden"
+ #: objc/objc-next-runtime-abi-01.c:150
+ #, gcc-internal-format
+ msgid "%<-fobjc-sjlj-exceptions%> is the only supported exceptions system for %<-fnext-runtime%> with %<-fobjc-abi-version%> < 2"
+-msgstr ""
++msgstr "%<-fobjc-sjlj-exceptions%> ist das einzige unterstützte Ausnahmesystem für %<-fnext-runtime%> mit %<-fobjc-abi-version%> < 2"
+ #: objc/objc-next-runtime-abi-02.c:247
+ #, gcc-internal-format
+ msgid "%<-fobjc-sjlj-exceptions%> is ignored for %<-fnext-runtime%> when %<-fobjc-abi-version%> >= 2"
+-msgstr ""
++msgstr "%<-fobjc-sjlj-exceptions%> wird für %<-fnext-runtime%> ignoriert, wenn %<-fobjc-abi-version%> >= 2"
+ #: objc/objc-runtime-shared-support.c:431
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "creating selector for nonexistent method %qE"
- msgstr "%Hfür nicht existierende Methode %qE wird Selektor erzeugt"
+-msgstr "%Hfür nicht existierende Methode %qE wird Selektor erzeugt"
++msgstr "für nicht existierende Methode %qE wird Selektor erzeugt"
  
 +#~ msgid "Conform to the ISO 1998 C++ standard"
 +#~ msgstr "Mit dem Standard ISO 1998 C++ übereinstimmen"
@@ -309101,7 +316865,7 @@ Index: gcc/po/de.po
  #~ msgid "invalid LTO mode"
  #~ msgstr "ungültiger LTO-Modus"
  
-@@ -45968,9 +46051,6 @@
+@@ -45968,9 +46035,6 @@
  #~ msgid "Statement label in blank line will be ignored at %C"
  #~ msgstr "Anweisungsmarke in Leerzeile bei %C wird ignoriert"
  
@@ -309113,17 +316877,22 @@ Index: gcc/po/de.po
  
 Index: gcc/po/ja.po
 ===================================================================
---- gcc/po/ja.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/ja.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -19,7 +19,7 @@
+--- gcc/po/ja.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/ja.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -17,10 +17,10 @@
+ # Yasuaki Taniguchi <yasuakit@gmail.com>, 2010, 2011
+ msgid ""
  msgstr ""
- "Project-Id-Version: gcc 4.6-b20101218\n"
+-"Project-Id-Version: gcc 4.6-b20101218\n"
++"Project-Id-Version: gcc 4.6.1\n"
  "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
 -"POT-Creation-Date: 2011-03-24 16:45+0000\n"
+-"PO-Revision-Date: 2011-01-28 23:06+0900\n"
 +"POT-Creation-Date: 2011-06-21 10:27+0000\n"
- "PO-Revision-Date: 2011-01-28 23:06+0900\n"
++"PO-Revision-Date: 2011-09-02 18:40+0900\n"
  "Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n"
  "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
+ "Language: ja\n"
 @@ -29,8 +29,8 @@
  "Content-Transfer-Encoding: 8bit\n"
  "Plural-Forms: nplurals=1; plural=0;\n"
@@ -311133,39 +318902,18 @@ Index: gcc/po/ja.po
  msgid "Accept extensions to support legacy code"
  msgstr "古いコードをサポートするための拡張を受け付ける"
  
-@@ -5559,6 +5567,7 @@
- #: config/mn10300/mn10300.opt:56
- #, fuzzy
-+#| msgid "Allow gcc to use the repeat/erepeat instructions"
- msgid "Allow gcc to generate LIW instructions"
- msgstr "gcc が repeat/erepeat 命令を使用することを許可する"
-@@ -6376,6 +6385,7 @@
- #: config/i386/i386.opt:328
- #, fuzzy
-+#| msgid "'-msse5' was removed"
- msgid "%<-msse5%> was removed"
- msgstr "'-msse5' は削除されました"
-@@ -8186,6 +8196,7 @@
- #: config/v850/v850.opt:71
- #, fuzzy
-+#| msgid "Enforce strict alignment"
- msgid "Do not enforce strict alignment"
- msgstr "厳密な整列を強制する"
-@@ -8207,6 +8218,7 @@
+@@ -7534,9 +7542,8 @@
+ msgstr ""
  
- #: config/v850/v850.opt:94
- #, fuzzy
-+#| msgid "Compile for the v850e processor"
- msgid "Compile for the v850es variant of the v850e1"
- msgstr "v850e プロセッサ用にコンパイルする"
+ #: config/crx/crx.opt:23
+-#, fuzzy
+ msgid "Support multiply accumulate instructions"
+-msgstr "乗算-加算浮動小数点命令をを使用する"
++msgstr "乗算-加算浮動小数点命令を使用する"
  
-@@ -8400,8 +8412,8 @@
+ #: config/crx/crx.opt:27
+ msgid "Do not use push to store function arguments"
+@@ -8400,8 +8407,8 @@
  
  #: config/darwin.opt:50 c-family/c.opt:71 c-family/c.opt:74 c-family/c.opt:77
  #: c-family/c.opt:80 c-family/c.opt:179 c-family/c.opt:182 c-family/c.opt:220
@@ -311176,15 +318924,7 @@ Index: gcc/po/ja.po
  #, c-format
  msgid "missing filename after %qs"
  msgstr "%qs の後にファイル名がありません"
-@@ -8732,6 +8744,7 @@
- #: config/microblaze/microblaze.opt:92
- #, fuzzy
-+#| msgid "Use hardware floating point converstion instructions"
- msgid "Use hardware floating point conversion instructions"
- msgstr "ハードウェア浮動小数点変換命令を使用する"
-@@ -8783,8 +8796,8 @@
+@@ -8783,8 +8790,8 @@
  msgstr "%qs の後にマクロ名がありません"
  
  #: c-family/c.opt:86 c-family/c.opt:89 c-family/c.opt:92 c-family/c.opt:95
@@ -311195,7 +318935,32 @@ Index: gcc/po/ja.po
  #, c-format
  msgid "missing path after %qs"
  msgstr "%qs の後にパスがありません"
-@@ -9277,17 +9290,17 @@
+@@ -9186,11 +9193,11 @@
+ #: c-family/c.opt:590
+ msgid "Warn about signed-unsigned comparisons"
+-msgstr "符合付き/符合無しの比較に関して警告する"
++msgstr "符号付き/符号無しの比較に関して警告する"
+ #: c-family/c.opt:594
+ msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "オーバーロードが符合無しから符合付きに格上げとなる場合に警告する"
++msgstr "オーバーロードが符号無しから符号付きに格上げとなる場合に警告する"
+ #: c-family/c.opt:598
+ msgid "Warn about uncasted NULL used as sentinel"
+@@ -9265,9 +9272,8 @@
+ msgstr ""
+ #: c-family/c.opt:674
+-#, fuzzy
+ msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "オーバーロードが符合無しから符合付きに格上げとなる場合に警告する"
++msgstr "オーバーロードが符号無しから符号付きに格上げとなる場合に警告する"
+ #: c-family/c.opt:678
+ msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+@@ -9277,17 +9283,17 @@
  msgid "Enforce class member access control semantics"
  msgstr ""
  
@@ -311220,7 +318985,7 @@ Index: gcc/po/ja.po
  msgid "No longer supported"
  msgstr "既にサポートされていません"
  
-@@ -9321,396 +9334,402 @@
+@@ -9321,396 +9327,401 @@
  msgstr "-fconst-string-class=<name>\t文字列定数用にクラス <name> を使用する"
  
  #: c-family/c.opt:724
@@ -311640,7 +319405,6 @@ Index: gcc/po/ja.po
 -msgstr "ISO 1998 C++ 標準に準拠させる"
 +#: c-family/c.opt:1140 c-family/c.opt:1144
 +#, fuzzy
-+#| msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
 +msgid "Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum"
 +msgstr "ISO 1998 C++ 標準に GNU 拡張付きで準拠させる"
  
@@ -311724,7 +319488,7 @@ Index: gcc/po/ja.po
  msgid "Do not predefine system-specific and GCC-specific macros"
  msgstr "システムおよび GCC 固有のマクロを事前定義しない"
  
-@@ -9770,1459 +9789,1460 @@
+@@ -9770,1459 +9781,1459 @@
  msgid "Optimize for speed disregarding exact standards compliance"
  msgstr "標準への厳密な準拠を無視して速度に関する最適化を行う"
  
@@ -312148,7 +319912,6 @@ Index: gcc/po/ja.po
 -#: common.opt:937
 +#: common.opt:946
  #, fuzzy
-+#| msgid "Try to allow the linker to turn PIC calls into direct calls"
  msgid "Try to convert virtual calls to direct ones."
  msgstr "リンカが PIC 呼び出しを直接呼び出しに変更することを許可するように試みる"
  
@@ -313539,21 +321302,7 @@ Index: gcc/po/ja.po
  msgid "Create a position independent executable"
  msgstr "位置非依存実行可能ファイルを生成する"
  
-@@ -11337,11 +11357,13 @@
- #: go/gofrontend/expressions.cc:7578
- #, fuzzy
-+#| msgid "argument must have complex type"
- msgid "complex arguments must have identical types"
- msgstr "引数は複素数型でなければいけません"
- #: go/gofrontend/expressions.cc:7580
- #, fuzzy
-+#| msgid "argument must have complex type"
- msgid "complex arguments must have floating-point type"
- msgstr "引数は複素数型でなければいけません"
-@@ -11693,7 +11715,7 @@
+@@ -11693,7 +11704,7 @@
  
  #. All valid uses of __builtin_va_arg_pack () are removed during
  #. inlining.
@@ -313562,7 +321311,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
  msgstr "%K %<__builtin_va_arg_pack ()%> の無効な使用法です"
-@@ -11787,8 +11809,8 @@
+@@ -11787,8 +11798,8 @@
  #. an unprototyped function, it is compile-time undefined;
  #. making it a constraint in that case was rejected in
  #. DR#252.
@@ -313573,15 +321322,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "void value not ignored as it ought to be"
  msgstr "void の値が本来の意味通りに無視されませんでした"
-@@ -11960,6 +11982,7 @@
- #: c-decl.c:1818
- #, fuzzy, gcc-internal-format
-+#| msgid "redefinition of typedef %q+D with different type"
- msgid "redefinition of typedef %q+D with variably modified type"
- msgstr "%q+D が異なる型で再定義されました"
-@@ -12103,7 +12126,7 @@
+@@ -12103,7 +12114,7 @@
  msgid "each undeclared identifier is reported only once for each function it appears in"
  msgstr "未宣言の識別子は出現した各関数内で一回のみ報告されます"
  
@@ -313590,7 +321331,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "label %qE referenced outside of any function"
  msgstr "ラベル %qE があらゆる関数の外側から参照されました"
-@@ -12138,7 +12161,7 @@
+@@ -12138,7 +12149,7 @@
  msgid "duplicate label declaration %qE"
  msgstr "重複したラベルの宣言 %qE です"
  
@@ -313599,7 +321340,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "duplicate label %qD"
  msgstr "重複したラベル %qD です"
-@@ -12168,7 +12191,7 @@
+@@ -12168,7 +12179,7 @@
  msgid "%qE defined as wrong kind of tag"
  msgstr "%qE が誤った種類のタグとして宣言されました"
  
@@ -313608,7 +321349,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "invalid use of %<restrict%>"
  msgstr "%<restrict%> の誤った使用法です"
-@@ -12271,7 +12294,7 @@
+@@ -12271,7 +12282,7 @@
  #. of VLAs themselves count as VLAs, it does not make
  #. sense to permit them to be initialized given that
  #. ordinary VLAs may not be initialized.
@@ -313617,7 +321358,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "variable-sized object may not be initialized"
  msgstr "可変長オブジェクトが初期化されないようです"
-@@ -12281,7 +12304,7 @@
+@@ -12281,7 +12292,7 @@
  msgid "variable %qD has initializer but incomplete type"
  msgstr "変数 %qD には初期化子がありますが不完全型です"
  
@@ -313626,7 +321367,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "inline function %q+D given attribute noinline"
  msgstr "noinline 属性が与えられたインライン関数 %q+D です"
-@@ -12291,7 +12314,7 @@
+@@ -12291,7 +12302,7 @@
  msgid "uninitialized const member in %qT is invalid in C++"
  msgstr "%qT 内の初期化されない定数メンバは C++ では無効です"
  
@@ -313635,7 +321376,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%qD should be initialized"
  msgstr "%qD は初期化されるべきです"
-@@ -12421,7 +12444,7 @@
+@@ -12421,7 +12432,7 @@
  msgid "variable length array %qE is used"
  msgstr "可変長配列 %qE が使用されています"
  
@@ -313644,7 +321385,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "variable length array is used"
  msgstr "可変長配列が使用されています"
-@@ -12506,7 +12529,7 @@
+@@ -12506,7 +12517,7 @@
  msgid "storage class specified for unnamed parameter"
  msgstr "無名仮引数用に記憶域クラスが指定されました"
  
@@ -313653,7 +321394,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "storage class specified for typename"
  msgstr "型名用に記憶域クラスが指定されました"
-@@ -12655,7 +12678,7 @@
+@@ -12655,7 +12666,7 @@
  msgid "function definition has qualified void return type"
  msgstr "関数定義が void 戻り型の修飾子を持っています"
  
@@ -313662,7 +321403,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "type qualifiers ignored on function return type"
  msgstr "関数戻り値の型修飾子は無視されました"
-@@ -12716,7 +12739,7 @@
+@@ -12716,7 +12727,7 @@
  msgid "a member of a structure or union cannot have a variably modified type"
  msgstr "構造体または共用体のメンバは可変型を持つことは出来ません"
  
@@ -313671,7 +321412,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "variable or field %qE declared void"
  msgstr "変数またはフィールド %qE が void と宣言されています"
-@@ -12878,7 +12901,7 @@
+@@ -12878,7 +12889,7 @@
  msgid "defining type in %qs expression is invalid in C++"
  msgstr "%qs 式内での型定義は C++ では無効です"
  
@@ -313680,7 +321421,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "declaration does not declare anything"
  msgstr "宣言が何も宣言していません"
-@@ -13114,7 +13137,7 @@
+@@ -13114,7 +13125,7 @@
  msgid "argument %qD doesn%'t match prototype"
  msgstr "引数 %qD がプロトタイプと一致しません"
  
@@ -313689,7 +321430,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "no return statement in function returning non-void"
  msgstr "非 void を戻す関数内に return 文がありません"
-@@ -13317,7 +13340,7 @@
+@@ -13317,7 +13328,7 @@
  msgid "unknown type name %qE"
  msgstr "不明な型名 %qE です"
  
@@ -313698,7 +321439,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "expected declaration specifiers"
  msgstr "宣言指定が予期されます"
-@@ -13327,7 +13350,7 @@
+@@ -13327,7 +13338,7 @@
  msgid "expected %<;%>, identifier or %<(%>"
  msgstr "%<;%>、識別子または %<(%> が予期されます"
  
@@ -313707,7 +321448,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "prefix attributes are ignored for methods"
  msgstr ""
-@@ -13347,7 +13370,7 @@
+@@ -13347,7 +13358,7 @@
  msgid "data definition has no type or storage class"
  msgstr "データ定義が型または記憶域クラスを持っていません"
  
@@ -313716,7 +321457,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "expected %<,%> or %<;%>"
  msgstr "%<,%> または %<;%> が予期されます"
-@@ -13375,7 +13398,7 @@
+@@ -13375,7 +13386,7 @@
  msgid "ISO C90 does not support %<_Static_assert%>"
  msgstr "ISO C90 は %<_Static_assert%> をサポートしません"
  
@@ -313725,7 +321466,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "expected string literal"
  msgstr "文字列リテラルが予期されます"
-@@ -13396,7 +13419,7 @@
+@@ -13396,7 +13407,7 @@
  msgstr ""
  
  #. Report the error.
@@ -313734,7 +321475,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "static assertion failed: %E"
  msgstr ""
-@@ -13408,13 +13431,13 @@
+@@ -13408,13 +13419,13 @@
  #: c-parser.c:7034 c-parser.c:7042 c-parser.c:7071 c-parser.c:7085
  #: c-parser.c:7388 c-parser.c:7512 c-parser.c:7939 c-parser.c:7974
  #: c-parser.c:8027 c-parser.c:8080 c-parser.c:8096 c-parser.c:8142
@@ -313751,7 +321492,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "comma at end of enumerator list"
  msgstr "列挙型リストの最後にコンマがあります"
-@@ -13534,7 +13557,7 @@
+@@ -13534,7 +13545,7 @@
  msgid "expected %<}%> before %<else%>"
  msgstr "%<}%> が %<else%> の前に予期されます"
  
@@ -313760,7 +321501,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%<else%> without a previous %<if%>"
  msgstr "%<else%> の前に %<if%> がありません"
-@@ -13563,17 +13586,17 @@
+@@ -13563,17 +13574,17 @@
  #. c_parser_skip_until_found stops at a closing nesting
  #. delimiter without consuming it, but here we need to consume
  #. it to proceed further.
@@ -313781,7 +321522,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "suggest braces around empty body in an %<else%> statement"
  msgstr "%<else%> 文内の空の本体は中括弧で括ることを推奨します"
-@@ -13683,72 +13706,74 @@
+@@ -13683,72 +13694,72 @@
  msgid "no type or storage class may be specified here,"
  msgstr "型または記憶域クラスがここで指定されていません、"
  
@@ -313794,14 +321535,12 @@ Index: gcc/po/ja.po
 -#: c-parser.c:7964 cp/parser.c:23157
 +#: c-parser.c:7964 cp/parser.c:23167
  #, fuzzy, gcc-internal-format
-+#| msgid "missing %<(%> after %<#pragma pack%> - ignored"
  msgid "missing %<=%> (after %<getter%> attribute)"
  msgstr "%<#pragma pack%> の後に %<(%> がありません - 無視されました"
  
 -#: c-parser.c:7967 cp/parser.c:23160
 +#: c-parser.c:7967 cp/parser.c:23170
  #, fuzzy, gcc-internal-format
-+#| msgid "missing %<(%> after %<#pragma pack%> - ignored"
  msgid "missing %<=%> (after %<setter%> attribute)"
  msgstr "%<#pragma pack%> の後に %<(%> がありません - 無視されました"
  
@@ -313870,7 +321609,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "expected %<none%> or %<shared%>"
  msgstr "%<none%> または %<shared%> が予期されます"
-@@ -13763,37 +13788,37 @@
+@@ -13763,37 +13774,37 @@
  msgid "%<num_threads%> value must be positive"
  msgstr "%<num_threads%> 値は正でなければいけません"
  
@@ -313915,7 +321654,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "invalid operator for %<#pragma omp atomic%>"
  msgstr "%<#pragma omp atomic%> 用の無効な演算子です"
-@@ -13803,12 +13828,12 @@
+@@ -13803,12 +13814,12 @@
  msgid "expected %<(%> or end of line"
  msgstr "%<(%> またはファイル終端 (EOF) が予期されます"
  
@@ -313930,7 +321669,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "expected iteration declaration or initialization"
  msgstr ""
-@@ -13818,12 +13843,12 @@
+@@ -13818,12 +13829,12 @@
  msgid "not enough perfectly nested loops"
  msgstr "ループが完全な入れ子になっていません"
  
@@ -313945,7 +321684,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "iteration variable %qD should not be firstprivate"
  msgstr ""
-@@ -13833,17 +13858,17 @@
+@@ -13833,17 +13844,17 @@
  msgid "%qD is not a variable"
  msgstr "%qD は変数ではありません"
  
@@ -313966,7 +321705,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%<threadprivate%> %qE has incomplete type"
  msgstr "%<threadprivate%> %qE は不完全型を持っています"
-@@ -13853,7 +13878,7 @@
+@@ -13853,7 +13864,7 @@
  msgid "%qD has an incomplete type"
  msgstr "%qD は不完全型を持っています"
  
@@ -313975,7 +321714,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "invalid use of void expression"
  msgstr "void 式の無効な使用法です"
-@@ -13949,7 +13974,7 @@
+@@ -13949,7 +13960,7 @@
  msgid "subscripted value is neither array nor pointer nor vector"
  msgstr "添字が付けられた値が、配列、ポインタまたはベクトルではありません"
  
@@ -313984,7 +321723,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "array subscript is not an integer"
  msgstr "配列の添字が整数型ではありません"
-@@ -14002,12 +14027,12 @@
+@@ -14002,12 +14013,12 @@
  msgid "too many arguments to method %qE"
  msgstr "メソッド %qE への引数が多すぎます"
  
@@ -313999,7 +321738,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "declared here"
  msgstr "ここで宣言されています"
-@@ -14072,12 +14097,12 @@
+@@ -14072,12 +14083,12 @@
  msgid "passing argument %d of %qE as signed due to prototype"
  msgstr "プロトタイプによると渡している %d 番目の %qE の引数は符号付きとしてです"
  
@@ -314014,7 +321753,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "too few arguments to function %qE"
  msgstr "関数 %qE へ渡す引数が少なすぎます"
-@@ -14152,17 +14177,17 @@
+@@ -14152,17 +14163,17 @@
  msgid "taking address of expression of type %<void%>"
  msgstr "%<void%> 型の式のアドレスを取得しています"
  
@@ -314035,7 +321774,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "decrement of read-only location %qE"
  msgstr "読み取り専用位置 %qE のデクリメントです"
-@@ -14197,7 +14222,7 @@
+@@ -14197,7 +14208,7 @@
  msgid "non-lvalue array in conditional expression"
  msgstr ""
  
@@ -314044,7 +321783,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "implicit conversion from %qT to %qT to match other result of conditional"
  msgstr ""
-@@ -14305,7 +14330,7 @@
+@@ -14305,7 +14316,7 @@
  msgid "cast from function call of type %qT to non-matching type %qT"
  msgstr "型 %qT の関数呼び出しから一致しない型 %qT へのキャストです"
  
@@ -314053,7 +321792,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "cast to pointer from integer of different size"
  msgstr "異なるサイズの整数からポインタへのキャストです"
-@@ -14347,7 +14372,7 @@
+@@ -14347,7 +14358,7 @@
  msgid "enum conversion when passing argument %d of %qE is invalid in C++"
  msgstr "%d 番目の %qE の引数を渡すときの列挙型の変換は C++ 内では無効です"
  
@@ -314062,7 +321801,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "enum conversion in initialization is invalid in C++"
  msgstr "初期化内での列挙型の変換は C++ では無効です"
-@@ -14439,7 +14464,7 @@
+@@ -14439,7 +14450,7 @@
  msgid "initialization left-hand side might be a candidate for a format attribute"
  msgstr "左辺の初期化は format 属性の候補のようです"
  
@@ -314071,7 +321810,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "return type might be a candidate for a format attribute"
  msgstr "戻り型は format 属性の候補のようです"
-@@ -14506,7 +14531,7 @@
+@@ -14506,7 +14517,7 @@
  
  #. ??? This should not be an error when inlining calls to
  #. unprototyped functions.
@@ -314080,7 +321819,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "invalid use of non-lvalue array"
  msgstr "非左辺値配列の無効な使用です"
-@@ -14551,7 +14576,7 @@
+@@ -14551,7 +14562,7 @@
  msgid "return makes integer from pointer without a cast"
  msgstr "戻りでポインタからキャスト無しに整数を作成しています"
  
@@ -314089,7 +321828,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "incompatible type for argument %d of %qE"
  msgstr "%d 番目の %qE の引数用の互換性がない型です"
-@@ -14576,428 +14601,428 @@
+@@ -14576,428 +14587,428 @@
  msgid "traditional C rejects automatic aggregate initialization"
  msgstr "伝統的な C では自動集約初期化を拒否します"
  
@@ -314604,7 +322343,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "function call has aggregate value"
  msgstr "関数呼び出しが集合体の値を持っています"
-@@ -15007,12 +15032,12 @@
+@@ -15007,12 +15018,12 @@
  msgid "size of variable %q+D is too large"
  msgstr "変数 %q+D のサイズが大きすぎます"
  
@@ -314619,7 +322358,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "stack protector not protecting function: all local arrays are less than %d bytes long"
  msgstr "スタック防護機能が関数を防護していません: 全ての局所配列が %d バイト以下です"
-@@ -15417,7 +15442,7 @@
+@@ -15417,7 +15428,7 @@
  msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
  msgstr "命令連鎖中の bb の数 (%d) が n_basic_blocks (%d) と違います"
  
@@ -314628,29 +322367,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%D renamed after being referenced in assembly"
  msgstr ""
-@@ -15594,6 +15619,7 @@
- #: cgraphunit.c:817
- #, fuzzy, gcc-internal-format
-+#| msgid "weakref attribute must appear before alias attribute"
- msgid "%<weakref%> attribute should be accompanied with an %<alias%> attribute"
- msgstr "弱い参照属性は別名属性より前に出現しなければいけません"
-@@ -15604,11 +15630,13 @@
- #: cgraphunit.c:881
- #, fuzzy, gcc-internal-format
-+#| msgid "%qE attribute ignored because %qT is already defined"
- msgid "%<weakref%> attribute ignored because function is defined"
- msgstr "%qE 属性は %qT が既に定義されているため無視されます"
- #: cgraphunit.c:919
- #, fuzzy, gcc-internal-format
-+#| msgid "%qE attribute ignored because %qT is already defined"
- msgid "%<weakref%> attribute ignored because variable is initialized"
- msgstr "%qE 属性は %qT が既に定義されているため無視されます"
-@@ -15792,7 +15820,7 @@
+@@ -15792,7 +15803,7 @@
  msgid "          %s"
  msgstr "          %s"
  
@@ -314659,7 +322376,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "common symbol debug info is not structured as symbol+offset"
  msgstr "共通シンボルでバッグ情報がシンボル+オフセットの構造になっていません"
-@@ -15812,17 +15840,17 @@
+@@ -15812,17 +15823,17 @@
  msgid "dominator of %d should be %d, not %d"
  msgstr ""
  
@@ -314680,7 +322397,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "non-delegitimized UNSPEC %d found in variable location"
  msgstr ""
-@@ -15912,37 +15940,37 @@
+@@ -15912,37 +15923,37 @@
  msgid "stack limits not supported on this target"
  msgstr "スタック制限はこのターゲットでは実装されていません"
  
@@ -314725,7 +322442,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%Kcall to %qs declared with attribute warning: %s"
  msgstr ""
-@@ -15957,12 +15985,12 @@
+@@ -15957,12 +15968,12 @@
  msgid "the frame size of %wd bytes is larger than %wd bytes"
  msgstr "フレームサイズ (%wd バイト) が %wd バイトより大きいです"
  
@@ -314740,7 +322457,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "could not close final insn dump file %qs: %m"
  msgstr "最終命令ダンプファイル %qs を閉じられません: %m"
-@@ -15977,27 +16005,27 @@
+@@ -15977,27 +15988,27 @@
  msgid "assuming signed overflow does not occur when negating a division"
  msgstr ""
  
@@ -314773,7 +322490,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%<and%> of mutually exclusive equal-tests is always 0"
  msgstr ""
-@@ -16027,7 +16055,7 @@
+@@ -16027,7 +16038,7 @@
  msgid "total size of local objects too large"
  msgstr "局所オブジェクトの総サイズが大きすぎます"
  
@@ -314782,7 +322499,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "impossible constraint in %<asm%>"
  msgstr "%<asm%> 内で制約を行うことは出来ません"
-@@ -16471,62 +16499,62 @@
+@@ -16471,62 +16482,62 @@
  msgid "using result of function returning %<void%>"
  msgstr "%<void%> を返す関数の結果を使用しています"
  
@@ -314857,7 +322574,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "gimplification failed"
  msgstr "gimplification に失敗しました"
-@@ -16626,22 +16654,22 @@
+@@ -16626,22 +16637,22 @@
  msgid "At most %i profile runs is supported. Perhaps corrupted profile?"
  msgstr ""
  
@@ -314884,7 +322601,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "cannot find LTO section refs in %s"
  msgstr ""
-@@ -16712,22 +16740,22 @@
+@@ -16712,22 +16723,22 @@
  msgid "bytecode stream: unknown GIMPLE statement tag %s"
  msgstr ""
  
@@ -314911,7 +322628,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "target specific builtin not available"
  msgstr ""
-@@ -16827,18 +16855,18 @@
+@@ -16827,18 +16838,18 @@
  msgid "critical region may not be nested inside a critical region with the same name"
  msgstr ""
  
@@ -314933,15 +322650,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "invalid branch to/from an OpenMP structured block"
  msgstr "OpenMP 構造化ブロックへ/からの無効な分岐です"
-@@ -17158,6 +17186,7 @@
- #: profile.c:417
- #, fuzzy, gcc-internal-format
-+#| msgid "corrupted profile info: run_max * runs < sum_max"
- msgid "corrupted profile info: edge count exceeds maximal count"
- msgstr "破損したプロファイル情報: run_max * runs < sum_max です"
-@@ -17256,9 +17285,9 @@
+@@ -17256,9 +17267,9 @@
  msgid "can%'t use %qs as a fixed register"
  msgstr "%qs を固定レジスタとして使用できません"
  
@@ -314954,7 +322663,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "unknown register name: %s"
  msgstr "不明なレジスタ名です: %s"
-@@ -17333,12 +17362,12 @@
+@@ -17333,12 +17344,12 @@
  msgid "%<asm%> operand requires impossible reload"
  msgstr "%<asm%> 被演算子は再ロード出来ないことが必要です"
  
@@ -314969,7 +322678,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "output operand is constant in %<asm%>"
  msgstr "出力被演算子が %<asm%> 内の定数です"
-@@ -17498,7 +17527,7 @@
+@@ -17498,7 +17509,7 @@
  msgid "undefined named operand %qs"
  msgstr "未定義の名前付き非演算子 %qs です"
  
@@ -314978,7 +322687,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "value computed is not used"
  msgstr "計算された値が使用されません"
-@@ -17783,7 +17812,7 @@
+@@ -17783,7 +17794,7 @@
  msgid "MODIFY_EXPR not expected while having tuples"
  msgstr ""
  
@@ -314987,7 +322696,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "address taken, but ADDRESSABLE bit not set"
  msgstr ""
-@@ -18153,7 +18182,7 @@
+@@ -18153,7 +18164,7 @@
  msgid "invalid pure const state for function"
  msgstr ""
  
@@ -314996,7 +322705,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "in statement"
  msgstr "式内"
-@@ -18298,22 +18327,22 @@
+@@ -18298,22 +18309,22 @@
  msgid "missing edge %i->%i"
  msgstr ""
  
@@ -315023,7 +322732,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "ignoring return value of function declared with attribute warn_unused_result"
  msgstr "warn_unused_result 属性付きで宣言されている関数の戻り値を無視しています"
-@@ -18328,112 +18357,112 @@
+@@ -18328,112 +18339,112 @@
  msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
  msgstr "不明なオプション %q.*s (%<-fdump-%s%> 内) を無視しています"
  
@@ -315158,7 +322867,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "called from here"
  msgstr "ここから呼び出されました"
-@@ -18479,380 +18508,380 @@
+@@ -18479,380 +18490,380 @@
  msgid "unimplemented functionality"
  msgstr "未実装の機能です"
  
@@ -315629,11 +323338,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "type is deprecated"
  msgstr "型は廃止されました"
-@@ -18879,15 +18908,16 @@
- #: value-prof.c:476
- #, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "corrupted value profile: %s profiler overall count (%d) does not match BB count (%d)"
+@@ -18882,12 +18893,12 @@
  msgid "corrupted value profile: %s profile counter (%d out of %d) inconsistent with basic-block count (%d)"
  msgstr "破損した値のプロファイルです: %s プロファイルの総合計数 (%d) は BB 数 (%d) と一致しません"
  
@@ -315648,7 +323353,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "variable tracking size limit exceeded"
  msgstr "変数追跡サイズ制限が超過しました"
-@@ -19048,8 +19078,8 @@
+@@ -19048,8 +19059,8 @@
  msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
  msgstr "文字列長 %qd は長さ %qd (ISO C%d コンパイラでサポートが要求される長さ) より長いです"
  
@@ -315659,7 +323364,16 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "overflow in constant expression"
  msgstr "定数式内でオーバーフローしました"
-@@ -19224,857 +19254,858 @@
+@@ -19177,7 +19188,7 @@
+ #: c-family/c-common.c:2120
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+-msgstr "大きな整数が暗黙に符合無し型に切り詰められました"
++msgstr "大きな整数が暗黙に符号無し型に切り詰められました"
+ #: c-family/c-common.c:2126 c-family/c-common.c:2133 c-family/c-common.c:2141
+ #, gcc-internal-format
+@@ -19224,860 +19235,860 @@
  msgid "invalid operands to binary %s (have %qT and %qT)"
  msgstr "二項演算子 %s への無効な被演算子です (%qT と %qT)"
  
@@ -315679,13 +323393,15 @@ Index: gcc/po/ja.po
 +#: c-family/c-common.c:3597
  #, gcc-internal-format
  msgid "comparison of unsigned expression >= 0 is always true"
- msgstr "符合無しの式 >= 0 という比較は常に true です"
+-msgstr "符合無しの式 >= 0 という比較は常に true です"
++msgstr "符号無しの式 >= 0 という比較は常に true です"
  
 -#: c-family/c-common.c:3593
 +#: c-family/c-common.c:3607
  #, gcc-internal-format
  msgid "comparison of unsigned expression < 0 is always false"
- msgstr "符合無しの式 < 0 という比較は常に false です"
+-msgstr "符合無しの式 < 0 という比較は常に false です"
++msgstr "符号無しの式 < 0 という比較は常に false です"
  
 -#: c-family/c-common.c:3635
 +#: c-family/c-common.c:3649
@@ -316016,7 +323732,6 @@ Index: gcc/po/ja.po
 -#: c-family/c-common.c:6666
 +#: c-family/c-common.c:6690
  #, fuzzy, gcc-internal-format
-+#| msgid "inline function %q+D cannot be declared weak"
  msgid "inline function %q+D declared weak"
  msgstr "インライン関数 %q+D を弱いとして宣言できません"
  
@@ -316670,7 +324385,8 @@ Index: gcc/po/ja.po
 +#: c-family/c-common.c:9361
  #, gcc-internal-format
  msgid "comparison between signed and unsigned integer expressions"
- msgstr "符合付きと符合無しの整数式の間での比較です"
+-msgstr "符合付きと符合無しの整数式の間での比較です"
++msgstr "符号付きと符号無しの整数式の間での比較です"
  
 -#: c-family/c-common.c:9388
 +#: c-family/c-common.c:9412
@@ -316682,14 +324398,28 @@ Index: gcc/po/ja.po
 +#: c-family/c-common.c:9415
  #, gcc-internal-format
  msgid "comparison of promoted ~unsigned with constant"
- msgstr "~で反転された格上げ符合無し型と定数との比較です"
+-msgstr "~で反転された格上げ符合無し型と定数との比較です"
++msgstr "~で反転された格上げ符号無し型と定数との比較です"
  
 -#: c-family/c-common.c:9401
 +#: c-family/c-common.c:9425
  #, gcc-internal-format
  msgid "comparison of promoted ~unsigned with unsigned"
- msgstr "~で反転された符合無し型と符合無し型との比較です"
-@@ -20523,7 +20554,7 @@
+-msgstr "~で反転された符合無し型と符合無し型との比較です"
++msgstr "~で反転された格上げ符号無し型と符号無し型との比較です"
+ #: c-family/c-format.c:127 c-family/c-format.c:314
+ #, gcc-internal-format
+@@ -20340,7 +20351,7 @@
+ #: c-family/c-format.c:2206
+ #, gcc-internal-format
+ msgid "operand number specified for format taking no argument"
+-msgstr "被演算子番号が引数を取らない書式で指定さています"
++msgstr "被演算子番号が引数を取らない書式で指定されています"
+ #: c-family/c-format.c:2291
+ #, gcc-internal-format
+@@ -20523,7 +20534,7 @@
  msgid "invalid expression type for %<#pragma omp atomic%>"
  msgstr ""
  
@@ -316698,7 +324428,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "invalid type for iteration variable %qE"
  msgstr ""
-@@ -20533,22 +20564,22 @@
+@@ -20533,22 +20544,22 @@
  msgid "%qE is not initialized"
  msgstr "%qE は初期化されていません"
  
@@ -316725,7 +324455,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "invalid increment expression"
  msgstr "無効なインクリメント式です"
-@@ -21228,88 +21259,88 @@
+@@ -21228,88 +21239,88 @@
  msgid "profiler support for VxWorks"
  msgstr "VxWorks 用のプロファイルサポート"
  
@@ -316832,7 +324562,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "bad builtin fcode"
  msgstr "間違った組み込み fcode です"
-@@ -21515,15 +21546,15 @@
+@@ -21515,15 +21526,15 @@
  msgid "Thumb-1 hard-float VFP ABI"
  msgstr "Thumb-1 ハードウェア浮動小数 VFP ABI"
  
@@ -316855,14 +324585,13 @@ Index: gcc/po/ja.po
  #: config/stormy16/stormy16.c:2191 config/v850/v850.c:2134
  #, gcc-internal-format
  msgid "%qE attribute only applies to functions"
-@@ -21576,133 +21607,139 @@
+@@ -21576,133 +21587,138 @@
  msgid "static variable %q+D is marked dllimport"
  msgstr "静的変数 %q+D が dllimport とマークされています"
  
 -#: config/avr/avr.c:249
 +#: config/avr/avr.c:252
  #, fuzzy, gcc-internal-format
-+#| msgid "unrecognized argument to --help= option: %q.*s"
  msgid "unrecognized argument to -mmcu= option: %qs"
  msgstr "--help= オプションへの認識できない引数です: %q.*s"
  
@@ -317021,7 +324750,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%qE attribute cannot be specified for local variables"
  msgstr "%qE 属性は局所変数用には指定できません"
-@@ -22096,329 +22133,331 @@
+@@ -22096,329 +22112,329 @@
  msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
  msgstr ""
  
@@ -317286,7 +325015,6 @@ Index: gcc/po/ja.po
 -msgid "the fifth argument must be a 8-bit immediate"
 +#: config/i386/i386.c:26380
 +#, fuzzy, gcc-internal-format
-+#| msgid "the fifth argument must be a 8-bit immediate"
 +msgid "the fifth argument must be an 8-bit immediate"
  msgstr "第五引数は 8 ビット即値でなければいけません"
  
@@ -317295,7 +325023,6 @@ Index: gcc/po/ja.po
 -msgid "the third argument must be a 8-bit immediate"
 +#: config/i386/i386.c:26475
 +#, fuzzy, gcc-internal-format
-+#| msgid "the third argument must be a 8-bit immediate"
 +msgid "the third argument must be an 8-bit immediate"
  msgstr "第三引数は 8 ビット即値でなければいけません"
  
@@ -317428,7 +325155,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "vector permutation (%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d)"
  msgstr "ベクトル順列 (%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d)"
-@@ -22501,29 +22540,29 @@
+@@ -22501,29 +22517,29 @@
  msgid "%qE attribute requires a string constant argument"
  msgstr "%qE 属性は文字列定数引数を必要とします"
  
@@ -317465,7 +325192,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "version attribute is not a string"
  msgstr "version 属性が文字列ではありません"
-@@ -22589,7 +22628,7 @@
+@@ -22589,7 +22605,7 @@
  msgstr "%qE 属性は R8C ターゲット用にはサポートされていません"
  
  #. The argument must be a constant integer.
@@ -317474,7 +325201,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%qE attribute argument not an integer constant"
  msgstr "%qE 属性の引数が整数定数ではありません"
-@@ -22659,7 +22698,7 @@
+@@ -22659,7 +22675,7 @@
  msgid "interrupt_thread is available only on fido"
  msgstr "interrupt_thread は fido 上でのみ使用出来ます"
  
@@ -317483,7 +325210,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "stack limit expression is not supported"
  msgstr "スタック制限式はサポートされていません"
-@@ -22989,142 +23028,142 @@
+@@ -22989,142 +23005,142 @@
  msgid "cannot handle inconsistent calls to %qs"
  msgstr "一貫していない %qs への呼び出しを取り扱えません"
  
@@ -317654,7 +325381,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "mips16 function profiling"
  msgstr "mips16 関数プロファイル"
-@@ -23205,7 +23244,7 @@
+@@ -23205,7 +23221,7 @@
  msgid "-g option disabled"
  msgstr "-g オプションが無効になりました"
  
@@ -317663,7 +325390,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "alignment (%u) for %s exceeds maximum alignment for global common data.  Using %u"
  msgstr ""
-@@ -23215,98 +23254,98 @@
+@@ -23215,98 +23231,98 @@
  msgid "-munix=98 option required for C89 Amendment 1 features.\n"
  msgstr ""
  
@@ -317782,7 +325509,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "%s (disable warning using -mno-inefficient-warnings)"
  msgstr ""
-@@ -23405,367 +23444,367 @@
+@@ -23405,367 +23421,367 @@
  msgid "invalid parameter combination for AltiVec intrinsic"
  msgstr ""
  
@@ -318223,7 +325950,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "%s\"%s\"%s is invalid"
  msgstr "%s\"%s\"%s は無効です"
-@@ -23841,7 +23880,7 @@
+@@ -23841,7 +23857,7 @@
  #. Number of bytes into the frame return addresses can be found.  See
  #. rs6000_stack_info in rs6000.c for more information on how the different
  #. abi's store the return address.
@@ -318232,7 +325959,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "RETURN_ADDRESS_OFFSET not supported"
  msgstr "RETURN_ADDRESS_OFFSET はサポートされていません"
-@@ -23903,37 +23942,37 @@
+@@ -23903,37 +23919,37 @@
  msgid "-m%s not supported in this configuration"
  msgstr "-m%s はこの設定ではサポートされていません"
  
@@ -318277,7 +326004,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "RX FPU instructions do not support NaNs and infinities"
  msgstr "RX FPU 命令は NaNs と無限大をサポートしません"
-@@ -23993,22 +24032,22 @@
+@@ -23993,22 +24009,22 @@
  msgid "-mstack-guard implies use of -mstack-size"
  msgstr "-mstack-guard は -mstack-size を暗黙的に使用します"
  
@@ -318304,7 +326031,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%qs uses dynamic stack allocation"
  msgstr "%qs は動的スタック割り当てを使用します"
-@@ -24023,53 +24062,53 @@
+@@ -24023,53 +24039,53 @@
  msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
  msgstr ""
  
@@ -318368,21 +326095,19 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "need a call-clobbered target register"
  msgstr ""
-@@ -24154,37 +24193,39 @@
+@@ -24154,37 +24170,37 @@
  msgid "parameter list does not match a valid signature for %s()"
  msgstr ""
  
 -#: config/spu/spu.c:548
 +#: config/spu/spu.c:549
  #, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "bad value (%s) for -mcmodel= switch"
  msgid "bad value (%s) for -march= switch"
  msgstr "-mcmodel= スイッチ用の誤った値 %s です"
  
 -#: config/spu/spu.c:559
 +#: config/spu/spu.c:560
  #, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "bad value %qs for -mtune switch"
  msgid "bad value (%s) for -mtune= switch"
  msgstr "-mtune スイッチ用の間違った値 %qs です"
  
@@ -318415,7 +326140,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "%d least significant bits of %s are ignored"
  msgstr ""
-@@ -24400,446 +24441,453 @@
+@@ -24400,446 +24416,451 @@
  msgstr "%qs 属性用の無効なエレメント型です"
  
  #. Conversion of implicit `this' argument failed.
@@ -318773,7 +326498,6 @@ Index: gcc/po/ja.po
 -#: cp/call.c:5699
 +#: cp/call.c:5730 cp/cvt.c:1625
 +#, fuzzy, gcc-internal-format
-+#| msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
 +msgid "scoped enum %qT will not promote to an integral type in a future version of GCC"
 +msgstr "%q+D のオフセットは ABI に適合していないため将来のバージョンの GCC では変更になるかもしれません"
 +
@@ -318944,7 +326668,6 @@ Index: gcc/po/ja.po
 -msgid "could not convert %qE to %qT"
 +#: cp/call.c:8070
 +#, fuzzy, gcc-internal-format
-+#| msgid "could not convert %qE to %qT"
 +msgid "could not convert %qE from %qT to %qT"
  msgstr "%qE から %qT へ変換できません"
  
@@ -318959,7 +326682,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "invalid initialization of reference of type %qT from expression of type %qT"
  msgstr ""
-@@ -24849,365 +24897,365 @@
+@@ -24849,365 +24870,365 @@
  msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
  msgstr ""
  
@@ -319398,7 +327121,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "argument of type %qT does not match %qT"
  msgstr "型 %qT の引数が %qT と一致しません"
-@@ -25217,22 +25265,22 @@
+@@ -25217,22 +25238,22 @@
  #. A name N used in a class S shall refer to the same declaration
  #. in its context and when re-evaluated in the completed scope of
  #. S.
@@ -319425,7 +327148,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%qE implicitly determined as %<firstprivate%> has reference type"
  msgstr ""
-@@ -25277,7 +25325,7 @@
+@@ -25277,7 +25298,7 @@
  msgid "conversion from %qT to %qT discards qualifiers"
  msgstr ""
  
@@ -319434,7 +327157,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "casting %qT to %qT does not dereference pointer"
  msgstr ""
-@@ -25297,272 +25345,272 @@
+@@ -25297,272 +25318,272 @@
  msgid "the result of the conversion is unspecified because %qE is outside the range of type %qT"
  msgstr "%qE が型 %qT の範囲外にあるので変換結果は不定です"
  
@@ -319761,7 +327484,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "  candidate conversions include %qD and %qD"
  msgstr ""
-@@ -25776,43 +25824,43 @@
+@@ -25776,43 +25797,43 @@
  #. that specialization that would cause an implicit
  #. instantiation to take place, in every translation unit in
  #. which such a use occurs.
@@ -319813,7 +327536,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%q+D redeclared inline without %<gnu_inline%> attribute"
  msgstr ""
-@@ -25820,329 +25868,329 @@
+@@ -25820,329 +25841,329 @@
  #. is_primary=
  #. is_partial=
  #. is_friend_decl=
@@ -320208,7 +327931,7 @@ Index: gcc/po/ja.po
  #, fuzzy, gcc-internal-format
  msgid "zero-size array %qD"
  msgstr "ISO C は サイズ 0 の配列 `%s' を禁じます"
-@@ -26150,319 +26198,319 @@
+@@ -26150,319 +26171,319 @@
  #. An automatic variable with an incomplete type: that is an error.
  #. Don't talk about array types here, since we took care of that
  #. message in grokdeclarator.
@@ -320591,7 +328314,7 @@ Index: gcc/po/ja.po
  #, fuzzy, gcc-internal-format
  msgid "no %q#D member function declared in class %qT"
  msgstr "メンバ関数へのポインタが呼ばれましたが、クラススコープ内ではありません"
-@@ -26471,851 +26519,851 @@
+@@ -26471,851 +26492,851 @@
  #. no linkage can only be used to declare extern "C"
  #. entities.  Since it's not always an error in the
  #. ISO C++ 90 Standard, we only issue a warning.
@@ -320866,100 +328589,128 @@ Index: gcc/po/ja.po
  msgstr "`%s' の宣言が矛盾しています"
  
 -#: cp/decl.c:8294 cp/decl.c:8297 cp/decl.c:8300
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8329 cp/decl.c:8332 cp/decl.c:8335
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "ISO C++ forbids declaration of %qs with no type"
- msgstr "ISO C はメンバのないメンバ宣言を禁じます"
+-msgstr "ISO C はメンバのないメンバ宣言を禁じます"
++msgstr "ISO C++ では型の無い %qs の宣言を禁止しています"
  
 -#: cp/decl.c:8325 cp/decl.c:8347
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8360 cp/decl.c:8382
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<signed%> or %<unsigned%> invalid for %qs"
- msgstr "short, 符合つきまたは符合なしは `%s' にとって無効です"
+-msgstr "short, 符合つきまたは符合なしは `%s' にとって無効です"
++msgstr "%<signed%> または %<unsigned%> は %qs に対しては無効です"
  
 -#: cp/decl.c:8327
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8362
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<signed%> and %<unsigned%> specified together for %qs"
- msgstr "符合付きと符合無しが `%s' に対して一緒に与えられています"
+-msgstr "符合付きと符合無しが `%s' に対して一緒に与えられています"
++msgstr "%<signed%> と %<unsigned%> が %qs に対して両方指定されています"
  
 -#: cp/decl.c:8329
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8364
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<long long%> invalid for %qs"
- msgstr "`%s' に対して complex は不適切です"
+-msgstr "`%s' に対して complex は不適切です"
++msgstr "%<long long%> は %qs に対しては無効です"
  
 -#: cp/decl.c:8331
 +#: cp/decl.c:8366
  #, gcc-internal-format
  msgid "%<__int128%> invalid for %qs"
- msgstr ""
+-msgstr ""
++msgstr "%<__int128%> は %qs に対しては無効です"
  
 -#: cp/decl.c:8333
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8368
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<long%> invalid for %qs"
- msgstr "`%s' に対して complex は不適切です"
+-msgstr "`%s' に対して complex は不適切です"
++msgstr "%<long%> は %qs に対しては無効です"
  
 -#: cp/decl.c:8335
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8370
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<short%> invalid for %qs"
- msgstr "`%s' に対して complex は不適切です"
+-msgstr "`%s' に対して complex は不適切です"
++msgstr "%<short%> は %qs に対しては無効です"
  
 -#: cp/decl.c:8337
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8372
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<long%> or %<short%> invalid for %qs"
- msgstr "`%s' に対して long, short, signed または unsigned は不適切です"
+-msgstr "`%s' に対して long, short, signed または unsigned は不適切です"
++msgstr "%<long%> または %<short%> は %qs に対しては無効です"
  
 -#: cp/decl.c:8339
 +#: cp/decl.c:8374
  #, gcc-internal-format
  msgid "%<long%>, %<int%>, %<short%>, or %<char%> invalid for %qs"
- msgstr ""
+-msgstr ""
++msgstr "%<long%>、%<int%>、%<short%>、または %<char%> は %qs に対しては無効です"
  
 -#: cp/decl.c:8341
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8376
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<long%> or %<short%> specified with char for %qs"
- msgstr "`%s' に対して char とともに long または short が指定されています"
+-msgstr "`%s' に対して char とともに long または short が指定されています"
++msgstr "%<long%> または %<short%> が char と共に %qs に対して指定されています"
  
 -#: cp/decl.c:8343
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8378
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<long%> and %<short%> specified together for %qs"
- msgstr "long と short が `%s' に対して一緒に指定されています"
+-msgstr "long と short が `%s' に対して一緒に指定されています"
++msgstr "%<long%> および %<short%> が %qs に対して両方指定されています"
  
 -#: cp/decl.c:8349
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8384
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<short%> or %<long%> invalid for %qs"
- msgstr "short, 符合つきまたは符合なしは `%s' にとって無効です"
+-msgstr "short, 符合つきまたは符合なしは `%s' にとって無効です"
++msgstr "%<short%> または %<long%> は %qs に対しては無効です"
  
 -#: cp/decl.c:8357
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8392
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "long, short, signed or unsigned used invalidly for %qs"
- msgstr "`%s' に対する long, short, singed や unsigned の使用は不適切です"
+-msgstr "`%s' に対する long, short, singed や unsigned の使用は不適切です"
++msgstr "long, short, signed または unsigned の使用は %qs に対しては無効です"
  
 -#: cp/decl.c:8366
 +#: cp/decl.c:8401
  #, gcc-internal-format
  msgid "%<__int128%> is not supported by this target"
- msgstr ""
+-msgstr ""
++msgstr "このターゲットでは %<__int128%> はサポートされていません"
  
 -#: cp/decl.c:8372
 +#: cp/decl.c:8407
  #, gcc-internal-format
  msgid "ISO C++ does not support %<__int128%> for %qs"
- msgstr ""
+-msgstr ""
++msgstr "ISO C++ は %<__int128%> を %qs に対してはサポートしていません"
  
 -#: cp/decl.c:8442
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8477
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "complex invalid for %qs"
- msgstr "`%s' に対して complex は不適切です"
+-msgstr "`%s' に対して complex は不適切です"
++msgstr "complex は %qs に対しては無効です"
  
 -#: cp/decl.c:8470
 +#: cp/decl.c:8505
@@ -320977,7 +328728,8 @@ Index: gcc/po/ja.po
 +#: cp/decl.c:8534
  #, gcc-internal-format
  msgid "%<%T::%D%> is not a valid declarator"
- msgstr ""
+-msgstr ""
++msgstr "%<%T::%D%> は有効な宣言子ではありません"
  
 -#: cp/decl.c:8508
 +#: cp/decl.c:8543
@@ -320995,7 +328747,8 @@ Index: gcc/po/ja.po
 +#: cp/decl.c:8554
  #, gcc-internal-format
  msgid "storage class specifiers invalid in parameter declarations"
- msgstr "仮引数宣言の中の記憶クラス指定子は無効です"
+-msgstr "仮引数宣言の中の記憶クラス指定子は無効です"
++msgstr "仮引数宣言の中の記憶域クラス指定は無効です"
  
 -#: cp/decl.c:8523
 -#, fuzzy, gcc-internal-format
@@ -321006,31 +328759,40 @@ Index: gcc/po/ja.po
 +#: cp/decl.c:8560
  #, gcc-internal-format
  msgid "a parameter cannot be declared %<constexpr%>"
- msgstr ""
+-msgstr ""
++msgstr "仮引数は %<constexpr%> として宣言してはいけません"
  
 -#: cp/decl.c:8540
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8569
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "%<virtual%> outside class declaration"
- msgstr "クラス宣言の外側で virtual 指定しています"
+-msgstr "クラス宣言の外側で virtual 指定しています"
++msgstr "%<virtual%> がクラス宣言外で使用されています"
  
 -#: cp/decl.c:8558
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8587
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "multiple storage classes in declaration of %qs"
- msgstr "`%s' の宣言において複数の保存クラス"
+-msgstr "`%s' の宣言において複数の保存クラス"
++msgstr "%qs の宣言内に複数の記憶域クラスがあります"
  
 -#: cp/decl.c:8581
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8610
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "storage class specified for %qs"
- msgstr "%s に対する記憶クラス指定子 `%s'"
+-msgstr "%s に対する記憶クラス指定子 `%s'"
++msgstr "%qs に対して記憶域クラスが指定されています"
  
 -#: cp/decl.c:8585
+-#, fuzzy, gcc-internal-format
 +#: cp/decl.c:8614
- #, fuzzy, gcc-internal-format
++#, gcc-internal-format
  msgid "storage class specified for parameter %qs"
- msgstr "仮引数 `%s' で指定された記憶クラス"
+-msgstr "仮引数 `%s' で指定された記憶クラス"
++msgstr "仮引数 %qs に対して記憶域クラスタ指定されています"
  
 -#: cp/decl.c:8598
 +#: cp/decl.c:8627
@@ -321619,7 +329381,7 @@ Index: gcc/po/ja.po
  #. [class.copy]
  #.
  #. A declaration of a constructor for a class X is ill-formed if
-@@ -27331,163 +27379,163 @@
+@@ -27331,163 +27352,163 @@
  #. or implicitly defined), there's no need to worry about their
  #. existence.  Theoretically, they should never even be
  #. instantiated, but that's hard to forestall.
@@ -321815,7 +329577,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%qT referred to as enum"
  msgstr ""
-@@ -27499,88 +27547,88 @@
+@@ -27499,88 +27520,88 @@
  #. void f(class C);           // No template header here
  #.
  #. then the required template argument is missing.
@@ -321922,7 +329684,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "underlying type %<%T%> of %<%T%> must be an integral type"
  msgstr ""
-@@ -27589,72 +27637,72 @@
+@@ -27589,72 +27610,72 @@
  #.
  #. IF no integral type can represent all the enumerator values, the
  #. enumeration is ill-formed.
@@ -322009,7 +329771,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "static member function %q#D declared with type qualifiers"
  msgstr ""
-@@ -27789,22 +27837,22 @@
+@@ -27789,22 +27810,22 @@
  msgid "width of bit-field %qD has non-integral type %qT"
  msgstr "ビットフィールドの幅が %qD 非整数型 %qT です"
  
@@ -322036,7 +329798,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%<operator new%> must return type %qT"
  msgstr "%<operator new%> の戻り型は %qT でなければいけません"
-@@ -27813,139 +27861,139 @@
+@@ -27813,139 +27834,139 @@
  #.
  #. The first parameter shall not have an associated default
  #. argument.
@@ -322203,7 +329965,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%<::%D%> has not been declared"
  msgstr ""
-@@ -27982,7 +28030,7 @@
+@@ -27982,7 +28003,7 @@
  msgid "throwing NULL, which has integral, not pointer type"
  msgstr ""
  
@@ -322212,7 +329974,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%qD should never be overloaded"
  msgstr ""
-@@ -28106,277 +28154,277 @@
+@@ -28106,277 +28127,277 @@
  msgid "(if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) "
  msgstr "(もしこれがあなたの意図したものでなければ、関数テンプレートは既に宣言済である事を確認し、ここの関数名の後ろに <> を付け足してください) -Wno-non-template-friend でこの警告表示を無効にします"
  
@@ -322545,7 +330307,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "type to vector delete is neither pointer or array type"
  msgstr "ベクトル型の delete ですが、ポインタでも配列型でもありません"
-@@ -28546,27 +28594,32 @@
+@@ -28546,27 +28567,32 @@
  msgid "%qD cannot be declared as constexpr"
  msgstr ""
  
@@ -322583,7 +330345,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
  msgstr ""
-@@ -28673,7 +28726,7 @@
+@@ -28673,7 +28699,7 @@
  msgid "  using obsolete binding at %q+D"
  msgstr ""
  
@@ -322592,7 +330354,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "(if you use %<-fpermissive%> G++ will accept your code)"
  msgstr ""
-@@ -28944,7 +28997,7 @@
+@@ -28944,7 +28970,7 @@
  msgid "(perhaps a semicolon is missing after the definition of %qT)"
  msgstr "%s 宣言の後ろのセミコロンを欠いています"
  
@@ -322601,7 +330363,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "%qT is not a template"
  msgstr ""
-@@ -28964,7 +29017,7 @@
+@@ -28964,7 +28990,7 @@
  msgid "floating-point literal cannot appear in a constant-expression"
  msgstr ""
  
@@ -322610,7 +330372,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
  msgstr ""
-@@ -29029,63 +29082,63 @@
+@@ -29029,63 +29055,63 @@
  msgid "%qs cannot appear in a constant-expression"
  msgstr ""
  
@@ -322688,7 +330450,7 @@ Index: gcc/po/ja.po
  
  #: cp/parser.c:3340
  #, gcc-internal-format
-@@ -29097,7 +29150,7 @@
+@@ -29097,7 +29123,7 @@
  msgid "a wide string is invalid in this context"
  msgstr ""
  
@@ -322697,7 +330459,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "expected declaration"
  msgstr ""
-@@ -29117,561 +29170,561 @@
+@@ -29117,561 +29143,561 @@
  msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
  msgstr ""
  
@@ -323369,7 +331131,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
  msgstr ""
-@@ -29680,222 +29733,222 @@
+@@ -29680,222 +29706,222 @@
  #. here because we do not have enough
  #. information about its original syntactic
  #. form.
@@ -323636,7 +331398,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "too few template-parameter-lists"
  msgstr ""
-@@ -29904,287 +29957,287 @@
+@@ -29904,287 +29930,287 @@
  #. something like:
  #.
  #. template <class T> template <class U> void S::f();
@@ -323981,7 +331743,7 @@ Index: gcc/po/ja.po
  #, fuzzy, gcc-internal-format
  msgid "inter-module optimizations not implemented for C++"
  msgstr "ret 命令は実装されていません"
-@@ -30778,17 +30831,17 @@
+@@ -30778,17 +30804,17 @@
  msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
  msgstr ""
  
@@ -324002,7 +331764,7 @@ Index: gcc/po/ja.po
  #, fuzzy, gcc-internal-format
  msgid "instantiation of %q+D as type %qT"
  msgstr "%s: `%s' の初期化:\n"
-@@ -30806,227 +30859,227 @@
+@@ -30806,227 +30832,227 @@
  #.
  #. is an attempt to declare a variable with function
  #. type.
@@ -324275,7 +332037,7 @@ Index: gcc/po/ja.po
  #, fuzzy, gcc-internal-format
  msgid "duplicate explicit instantiation of %q#T"
  msgstr "インラインテンプレートの明示的な実体化のみを生成する"
-@@ -31038,27 +31091,27 @@
+@@ -31038,27 +31064,27 @@
  #. member function or static data member of a class template
  #. shall be present in every translation unit in which it is
  #. explicitly instantiated.
@@ -324308,7 +332070,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "variable %q#D with %<auto%> type used in its own initializer"
  msgstr ""
-@@ -31066,12 +31119,12 @@
+@@ -31066,12 +31092,12 @@
  #. If type is error_mark_node a diagnostic must have been
  #. emitted by now.  Also, having a mention to '<type error>'
  #. in the diagnostic is not really useful to the user.
@@ -324323,7 +332085,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "inconsistent deduction for %qT: %qT and then %qT"
  msgstr ""
-@@ -31233,473 +31286,482 @@
+@@ -31233,473 +31259,478 @@
  msgid "arguments to destructor are not allowed"
  msgstr "引数が構造体です"
  
@@ -324689,7 +332451,6 @@ Index: gcc/po/ja.po
 -#: cp/semantics.c:6722
 +#: cp/semantics.c:6838
  #, fuzzy, gcc-internal-format
-+#| msgid "%qE is not initialized"
  msgid "%qD used in its own initializer"
  msgstr "%qE は初期化されていません"
  
@@ -324789,7 +332550,6 @@ Index: gcc/po/ja.po
 -#: cp/semantics.c:7519
 +#: cp/semantics.c:7621
 +#, fuzzy, gcc-internal-format
-+#| msgid "enumerator value for %qE is not an integer constant expression"
 +msgid "use of the value of the object being constructed in a constant expression"
 +msgstr "%qE の列挙値が整数定数式ではありません"
 +
@@ -324813,14 +332573,12 @@ Index: gcc/po/ja.po
 -#: cp/semantics.c:7636
 +#: cp/semantics.c:7792
  #, fuzzy, gcc-internal-format
-+#| msgid "initializer element is not a constant expression"
  msgid "division by zero is not a constant-expression"
  msgstr "初期化子の要素が定数式ではありません"
  
 -#: cp/semantics.c:7739
 +#: cp/semantics.c:7897
  #, fuzzy, gcc-internal-format
-+#| msgid "nonconstant array index in initializer"
  msgid "non-constant array initialization"
  msgstr "初期化子内に非定数の配列インデックスがあります"
  
@@ -324913,7 +332671,7 @@ Index: gcc/po/ja.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  msgid "lang_* check: failed in %s, at %s:%d"
  msgstr "Tree 検査: %s があるべき所に %s があります(%s 内, %s:%d)"
-@@ -31719,511 +31781,511 @@
+@@ -31719,511 +31750,511 @@
  msgid "conditional expression between distinct pointer types %qT and %qT lacks a cast"
  msgstr "型が全く異なるポインタの比較でキャストを欠いています"
  
@@ -325526,7 +333284,7 @@ Index: gcc/po/ja.po
  #, fuzzy, gcc-internal-format
  msgid "cast from %qT to %qT increases required alignment of target type"
  msgstr "キャストによってポインタが示す型の要求アラインメントが増加します"
-@@ -32232,226 +32294,226 @@
+@@ -32232,226 +32263,226 @@
  #. where possible, and it is necessary in some cases.  DR 195
  #. addresses this issue, but as of 2004/10/26 is still in
  #. drafting.
@@ -325797,7 +333555,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "using xvalue (rvalue reference) as lvalue"
  msgstr ""
-@@ -32732,12 +32794,12 @@
+@@ -32732,12 +32763,12 @@
  msgid "invalid value-initialization of reference type"
  msgstr ""
  
@@ -325812,7 +333570,7 @@ Index: gcc/po/ja.po
  #, fuzzy, gcc-internal-format
  msgid "call to function which throws incomplete type %q#T"
  msgstr "不完全型への変換です"
-@@ -32828,7 +32890,7 @@
+@@ -32828,7 +32859,7 @@
  msgstr ""
  
  #: fortran/array.c:215 fortran/array.c:569 fortran/check.c:1975
@@ -325821,7 +333579,7 @@ Index: gcc/po/ja.po
  #: fortran/match.c:1758 fortran/match.c:2339 fortran/simplify.c:4590
  #, gcc-internal-format, gfc-internal-format
  msgid "Coarrays disabled at %C, use -fcoarray= to enable"
-@@ -32966,7 +33028,7 @@
+@@ -32966,7 +32997,7 @@
  
  #. Problems occur when we get something like
  #. integer :: a(lots) = (/(i, i=1, lots)/)
@@ -325830,7 +333588,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit.   See -fmax-array-constructor option"
  msgstr ""
-@@ -33006,7 +33068,7 @@
+@@ -33006,7 +33037,7 @@
  msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
  msgstr ""
  
@@ -325839,7 +333597,7 @@ Index: gcc/po/ja.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
  msgstr "`__builtin_args_info' の引数は定数でなければなりません"
-@@ -33111,7 +33173,7 @@
+@@ -33111,7 +33142,7 @@
  msgid "Unequal character lengths (%ld/%ld) in %s at %L"
  msgstr ""
  
@@ -325848,7 +333606,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
  msgstr ""
-@@ -33122,7 +33184,7 @@
+@@ -33122,7 +33153,7 @@
  msgid "Extension: Different type kinds at %L"
  msgstr ""
  
@@ -325857,7 +333615,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
  msgstr ""
-@@ -33163,9 +33225,9 @@
+@@ -33163,9 +33194,9 @@
  msgstr ""
  
  #: fortran/check.c:1188 fortran/check.c:1702 fortran/check.c:1805
@@ -325870,7 +333628,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
  msgstr ""
-@@ -33275,152 +33337,152 @@
+@@ -33275,152 +33306,152 @@
  msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
  msgstr ""
  
@@ -326053,7 +333811,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
  msgstr ""
-@@ -33432,7 +33494,7 @@
+@@ -33432,7 +33463,7 @@
  
  #. Since the extension field is 8 bit wide, we can only have
  #. up to 255 extension levels.
@@ -326062,7 +333820,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Maximum extension level reached with type '%s' at %L"
  msgstr ""
-@@ -33727,7 +33789,7 @@
+@@ -33727,7 +33758,7 @@
  msgid "Pointer initialization at %C requires '=>', not '='"
  msgstr ""
  
@@ -326071,7 +333829,7 @@ Index: gcc/po/ja.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  msgid "Expected an initialization expression at %C"
  msgstr "長さ 0 の初期化は推奨されません"
-@@ -33919,7 +33981,7 @@
+@@ -33919,7 +33950,7 @@
  msgid "Fortran 2008: CONTIGUOUS attribute at %C"
  msgstr ""
  
@@ -326080,7 +333838,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "PROTECTED at %C only allowed in specification part of a module"
  msgstr ""
-@@ -34093,12 +34155,12 @@
+@@ -34093,12 +34124,12 @@
  msgid "Procedure '%s' at %L already has basic type of %s"
  msgstr ""
  
@@ -326095,7 +333853,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Expected '::' after binding-attributes at %C"
  msgstr ""
-@@ -34361,407 +34423,412 @@
+@@ -34361,407 +34392,412 @@
  msgid "Fortran 2008: CONTIGUOUS statement at %C"
  msgstr ""
  
@@ -326589,7 +334347,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
  msgstr ""
-@@ -34796,452 +34863,452 @@
+@@ -34796,452 +34832,452 @@
  msgid "Internal Error at (1):"
  msgstr "内部エラー: %s"
  
@@ -327132,7 +334890,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Associate-name '%s' can not appear in a variable definition context (%s) at %L because its target at %L can not, either"
  msgstr ""
-@@ -35361,12 +35428,12 @@
+@@ -35361,12 +35397,12 @@
  msgid "Second argument of defined assignment at %L must be INTENT(IN)"
  msgstr ""
  
@@ -327147,7 +334905,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Second argument of operator interface at %L must be INTENT(IN)"
  msgstr ""
-@@ -35391,332 +35458,337 @@
+@@ -35391,332 +35427,337 @@
  msgid "In %s at %L procedures must be either all SUBROUTINEs or all FUNCTIONs"
  msgstr ""
  
@@ -327551,7 +335309,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Entity '%s' at %C is already present in the interface"
  msgstr ""
-@@ -35811,7 +35883,7 @@
+@@ -35811,7 +35852,7 @@
  msgid "'%s' declared at %L is also the name of an intrinsic.  It can only be called via an explicit interface or if declared EXTERNAL."
  msgstr ""
  
@@ -327560,7 +335318,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Extension: backslash character at %C"
  msgstr ""
-@@ -36202,7 +36274,7 @@
+@@ -36202,7 +36243,7 @@
  msgstr "式文が無効です"
  
  #. A general purpose syntax error.
@@ -327569,7 +335327,7 @@ Index: gcc/po/ja.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  msgid "Syntax error in %s statement at %C"
  msgstr "'%s' トークンの所で文法エラー"
-@@ -36976,122 +37048,122 @@
+@@ -36976,122 +37017,122 @@
  msgid "Error writing modules file: %s"
  msgstr "%s への書き込みエラーです"
  
@@ -327716,7 +335474,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format
  msgid "Can't USE the same module we're building!"
  msgstr ""
-@@ -37171,7 +37243,7 @@
+@@ -37171,7 +37212,7 @@
  msgid "Unexpected junk after NOWAIT clause at %C"
  msgstr ""
  
@@ -327725,7 +335483,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "IF clause at %L requires a scalar LOGICAL expression"
  msgstr ""
-@@ -37372,107 +37444,107 @@
+@@ -37372,107 +37413,107 @@
  msgid "not enough DO loops for collapsed !$OMP DO at %L"
  msgstr ""
  
@@ -327854,7 +335612,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Maximum subrecord length cannot exceed %d"
  msgstr ""
-@@ -37642,177 +37714,177 @@
+@@ -37642,177 +37683,177 @@
  msgid "Fortran 2003:  CONTAINS block in derived type definition at %C"
  msgstr ""
  
@@ -328067,7 +335825,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Unexpected %s statement in MODULE at %C"
  msgstr ""
-@@ -37820,7 +37892,7 @@
+@@ -37820,7 +37861,7 @@
  #. If we see a duplicate main program, shut down.  If the second
  #. instance is an implied main program, i.e. data decls or executable
  #. statements, we're in for lots of errors.
@@ -328076,7 +335834,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Two main PROGRAMs at %L and %C"
  msgstr ""
-@@ -37890,232 +37962,247 @@
+@@ -37890,232 +37931,247 @@
  msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
  msgstr ""
  
@@ -328370,7 +336128,7 @@ Index: gcc/po/ja.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  msgid "'%s' at %C is not a variable"
  msgstr "\"%s\" は正常なファイル名ではありません"
-@@ -38165,943 +38252,944 @@
+@@ -38165,943 +38221,943 @@
  msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
  msgstr ""
  
@@ -328869,7 +336627,6 @@ Index: gcc/po/ja.po
 -#: fortran/resolve.c:2736
 +#: fortran/resolve.c:2737
  #, fuzzy, gcc-internal-format, gfc-internal-format
-+#| msgid "pointers are not permitted as case values"
  msgid "Coindexed argument not permitted in '%s' call at %L"
  msgstr "case の値としてポインタは許可されていません"
  
@@ -329502,7 +337259,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Allocate-object at %L is subobject of object at %L"
  msgstr ""
-@@ -39110,160 +39198,160 @@
+@@ -39110,160 +39166,160 @@
  #. element in the list.  Either way, we must
  #. issue an error and get the next case from P.
  #. FIXME: Sort P and Q by line number.
@@ -329694,7 +337451,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
  msgstr ""
-@@ -39271,1005 +39359,1005 @@
+@@ -39271,1005 +39327,1005 @@
  #. The label is not in an enclosing block, so illegal.  This was
  #. allowed in Fortran 66, so we allow it as extension.  No
  #. further checks are necessary in this case.
@@ -330899,7 +338656,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
  msgstr ""
-@@ -40970,22 +41058,22 @@
+@@ -40970,22 +41026,22 @@
  msgstr ""
  
  #: fortran/trans-array.c:775 fortran/trans-array.c:4932
@@ -330926,7 +338683,7 @@ Index: gcc/po/ja.po
  #, gcc-internal-format, gfc-internal-format
  msgid "bad expression type during walk (%d)"
  msgstr ""
-@@ -41071,47 +41159,47 @@
+@@ -41071,47 +41127,47 @@
  msgid "intrinsic variable which isn't a procedure"
  msgstr ""
  
@@ -330983,15 +338740,7 @@ Index: gcc/po/ja.po
  #, fuzzy, gcc-internal-format, gfc-internal-format
  msgid "Return value '%s' of function '%s' declared at %L not set"
  msgstr "FPU レジスタ内の機能の値を返す"
-@@ -42198,6 +42286,7 @@
- #: objc/objc-act.c:6025
- #, fuzzy, gcc-internal-format
-+#| msgid "invalid use of flexible array member"
- msgid "instance variable %qs uses flexible array member"
- msgstr "可変配列メンバの無効な使用法です"
-@@ -42533,6 +42622,9 @@
+@@ -42533,6 +42589,9 @@
  #~ msgid "Support SCORE 3d ISA"
  #~ msgstr "SCORE 3d ISA をサポートする"
  
@@ -331001,7 +338750,7 @@ Index: gcc/po/ja.po
  #~ msgid "redefinition of typedef %q+D may be a constraint violation at runtime"
  #~ msgstr "typedef %q+D の再定義は実行時に制約違反になるかもしれません"
  
-@@ -42553,3 +42645,7 @@
+@@ -42553,3 +42612,7 @@
  
  #~ msgid "unknown architecture %qs"
  #~ msgstr "不明なアーキテクチャ %qs です"
@@ -331011,8 +338760,8 @@ Index: gcc/po/ja.po
 +#~ msgstr "仮引数リスト中の `void' はリスト全体を占めなければなりません"
 Index: gcc/po/zh_TW.po
 ===================================================================
---- gcc/po/zh_TW.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/zh_TW.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/zh_TW.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/zh_TW.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -8,7 +8,7 @@
  msgstr ""
  "Project-Id-Version: gcc 4.1.0\n"
@@ -364510,8 +372259,8 @@ Index: gcc/po/zh_TW.po
  
 Index: gcc/po/id.po
 ===================================================================
---- gcc/po/id.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/id.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/id.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/id.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -7,7 +7,7 @@
  msgstr ""
  "Project-Id-Version: gcc 4.4.1\n"
@@ -395012,8 +402761,8 @@ Index: gcc/po/id.po
  
 Index: gcc/po/fi.po
 ===================================================================
---- gcc/po/fi.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/fi.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/fi.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/fi.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -26,7 +26,7 @@
  msgstr ""
  "Project-Id-Version: gcc 4.5-b20091203\n"
@@ -418230,8 +425979,8 @@ Index: gcc/po/fi.po
  
 Index: gcc/po/el.po
 ===================================================================
---- gcc/po/el.po       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/el.po       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/el.po       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/el.po       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -6,7 +6,7 @@
  msgstr ""
  "Project-Id-Version: gcc 4.0-b20041128\n"
@@ -440389,8 +448138,8 @@ Index: gcc/po/el.po
  
 Index: gcc/po/zh_CN.po
 ===================================================================
---- gcc/po/zh_CN.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/po/zh_CN.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/po/zh_CN.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/po/zh_CN.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -7,7 +7,7 @@
  msgstr ""
  "Project-Id-Version: gcc 4.6.0\n"
@@ -462160,8 +469909,8 @@ Index: gcc/po/zh_CN.po
  
 Index: gcc/tree-ssa-forwprop.c
 ===================================================================
---- gcc/tree-ssa-forwprop.c    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/tree-ssa-forwprop.c    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/tree-ssa-forwprop.c    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree-ssa-forwprop.c    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -260,9 +260,6 @@
  static bool
  can_propagate_from (gimple def_stmt)
@@ -462184,7 +469933,37 @@ Index: gcc/tree-ssa-forwprop.c
  
    /* If the definition is a conversion of a pointer to a function type,
       then we can not apply optimizations as some targets require
-@@ -1679,7 +1675,8 @@
+@@ -894,6 +890,8 @@
+           }
+         *def_rhs_basep = build2 (MEM_REF, TREE_TYPE (*def_rhs_basep),
+                                  new_base, new_offset);
++        TREE_THIS_VOLATILE (*def_rhs_basep) = TREE_THIS_VOLATILE (lhs);
++        TREE_THIS_NOTRAP (*def_rhs_basep) = TREE_THIS_NOTRAP (lhs);
+         gimple_assign_set_lhs (use_stmt,
+                                unshare_expr (TREE_OPERAND (def_rhs, 0)));
+         *def_rhs_basep = saved;
+@@ -946,9 +944,9 @@
+         tidy_after_forward_propagate_addr (use_stmt);
+         return res;
+       }
+-      /* If the LHS is a plain dereference and the value type is the same as
++      /* If the RHS is a plain dereference and the value type is the same as
+          that of the pointed-to type of the address we can put the
+-       dereferenced address on the LHS preserving the original alias-type.  */
++       dereferenced address on the RHS preserving the original alias-type.  */
+       else if (gimple_assign_rhs1 (use_stmt) == rhs
+              && useless_type_conversion_p
+                   (TREE_TYPE (gimple_assign_lhs (use_stmt)),
+@@ -973,6 +971,8 @@
+           }
+         *def_rhs_basep = build2 (MEM_REF, TREE_TYPE (*def_rhs_basep),
+                                  new_base, new_offset);
++        TREE_THIS_VOLATILE (*def_rhs_basep) = TREE_THIS_VOLATILE (rhs);
++        TREE_THIS_NOTRAP (*def_rhs_basep) = TREE_THIS_NOTRAP (rhs);
+         gimple_assign_set_rhs1 (use_stmt,
+                                 unshare_expr (TREE_OPERAND (def_rhs, 0)));
+         *def_rhs_basep = saved;
+@@ -1679,7 +1679,8 @@
        {
          gimple def_stmt = SSA_NAME_DEF_STMT (rhs2);
          if (is_gimple_assign (def_stmt)
@@ -462194,7 +469973,7 @@ Index: gcc/tree-ssa-forwprop.c
            {
              code = (code == MINUS_EXPR) ? PLUS_EXPR : MINUS_EXPR;
              gimple_assign_set_rhs_code (stmt, code);
-@@ -1696,7 +1693,8 @@
+@@ -1696,7 +1697,8 @@
        {
          gimple def_stmt = SSA_NAME_DEF_STMT (rhs1);
          if (is_gimple_assign (def_stmt)
@@ -462204,7 +469983,7 @@ Index: gcc/tree-ssa-forwprop.c
            {
              code = MINUS_EXPR;
              gimple_assign_set_rhs_code (stmt, code);
-@@ -1739,7 +1737,7 @@
+@@ -1739,7 +1741,7 @@
    if (TREE_CODE (rhs1) == SSA_NAME)
      {
        gimple def_stmt = SSA_NAME_DEF_STMT (rhs1);
@@ -462213,7 +469992,7 @@ Index: gcc/tree-ssa-forwprop.c
        {
          enum tree_code def_code = gimple_assign_rhs_code (def_stmt);
          if (def_code == PLUS_EXPR
-@@ -1839,7 +1837,7 @@
+@@ -1839,7 +1841,7 @@
    if (rhs2 && TREE_CODE (rhs2) == SSA_NAME)
      {
        gimple def_stmt = SSA_NAME_DEF_STMT (rhs2);
@@ -462222,10 +470001,114 @@ Index: gcc/tree-ssa-forwprop.c
        {
          enum tree_code def_code = gimple_assign_rhs_code (def_stmt);
          if (def_code == PLUS_EXPR
+Index: gcc/varasm.c
+===================================================================
+--- gcc/varasm.c       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/varasm.c       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -2598,6 +2598,12 @@
+                    * tree_low_cst (TREE_OPERAND (target, 1), 0));
+         target = TREE_OPERAND (target, 0);
+       }
++      else if (TREE_CODE (target) == MEM_REF
++             && TREE_CODE (TREE_OPERAND (target, 0)) == ADDR_EXPR)
++      {
++        offset += mem_ref_offset (target).low;
++        target = TREE_OPERAND (TREE_OPERAND (target, 0), 0);
++      }
+       else if (TREE_CODE (target) == INDIRECT_REF
+              && TREE_CODE (TREE_OPERAND (target, 0)) == NOP_EXPR
+              && TREE_CODE (TREE_OPERAND (TREE_OPERAND (target, 0), 0))
+Index: gcc/tree-ssa.c
+===================================================================
+--- gcc/tree-ssa.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree-ssa.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -43,6 +43,7 @@
+ #include "tree-dump.h"
+ #include "tree-pass.h"
+ #include "diagnostic-core.h"
++#include "cfgloop.h"
+ /* Pointer map of variable mappings, keyed by edge.  */
+ static struct pointer_map_t *edge_var_maps;
+@@ -2222,7 +2223,10 @@
+         }
+       /* Update SSA form here, we are called as non-pass as well.  */
+-      update_ssa (TODO_update_ssa);
++      if (number_of_loops () > 1 && loops_state_satisfies_p (LOOP_CLOSED_SSA))
++      rewrite_into_loop_closed_ssa (NULL, TODO_update_ssa);
++      else
++      update_ssa (TODO_update_ssa);
+     }
+   BITMAP_FREE (not_reg_needs);
+Index: gcc/tree-vect-stmts.c
+===================================================================
+--- gcc/tree-vect-stmts.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree-vect-stmts.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1533,7 +1533,7 @@
+               }
+             else
+               {
+-                vec_oprnd1 = gimple_call_arg (new_stmt, 2*i);
++                vec_oprnd1 = gimple_call_arg (new_stmt, 2*i + 1);
+                 vec_oprnd0
+                   = vect_get_vec_def_for_stmt_copy (dt[i], vec_oprnd1);
+                 vec_oprnd1
+@@ -1583,6 +1583,14 @@
+   new_stmt = gimple_build_assign (gimple_call_lhs (stmt),
+                                 build_zero_cst (type));
+   set_vinfo_for_stmt (new_stmt, stmt_info);
++  /* For pattern statements make the related statement to point to
++     NEW_STMT in order to be able to retrieve the original statement
++     information later.  */
++  if (is_pattern_stmt_p (stmt_info))
++    {
++      gimple related = STMT_VINFO_RELATED_STMT (stmt_info);
++      STMT_VINFO_RELATED_STMT (vinfo_for_stmt (related)) = new_stmt;
++    }
+   set_vinfo_for_stmt (stmt, NULL);
+   STMT_VINFO_STMT (stmt_info) = new_stmt;
+   gsi_replace (gsi, new_stmt, false);
+@@ -4957,11 +4965,7 @@
+            the stmt_info of ORIG_STMT_IN_PATTERN.  See more details in the
+            documentation of vect_pattern_recog.  */
+         if (STMT_VINFO_IN_PATTERN_P (stmt_vinfo))
+-          {
+-            gcc_assert (STMT_VINFO_RELATED_STMT (stmt_vinfo)
+-                           == orig_scalar_stmt);
+-            STMT_VINFO_VEC_STMT (stmt_vinfo) = vec_stmt;
+-          }
++          STMT_VINFO_VEC_STMT (stmt_vinfo) = vec_stmt;
+       }
+     }
+Index: gcc/tree-inline.c
+===================================================================
+--- gcc/tree-inline.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree-inline.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -846,14 +846,16 @@
+                             build_int_cst
+                             (TREE_TYPE (TREE_OPERAND (*tp, 1)), 0));
+             *tp = tem;
++            TREE_THIS_VOLATILE (*tem_basep) = TREE_THIS_VOLATILE (old);
++            TREE_THIS_NOTRAP (*tem_basep) = TREE_THIS_NOTRAP (old);
+           }
+         else
+           {
+             *tp = fold_build2 (MEM_REF, type,
+                                ptr, TREE_OPERAND (*tp, 1));
+-            TREE_THIS_VOLATILE (*tp) = TREE_THIS_VOLATILE (old);
+             TREE_THIS_NOTRAP (*tp) = TREE_THIS_NOTRAP (old);
+           }
++        TREE_THIS_VOLATILE (*tp) = TREE_THIS_VOLATILE (old);
+         TREE_NO_WARNING (*tp) = TREE_NO_WARNING (old);
+         *walk_subtrees = 0;
+         return NULL;
 Index: gcc/combine.c
 ===================================================================
---- gcc/combine.c      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/combine.c      (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/combine.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/combine.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -5629,7 +5629,7 @@
        {
          /* Try to simplify the expression further.  */
@@ -462235,10 +470118,18 @@ Index: gcc/combine.c
  
          /* If we could, great.  If not, do not go ahead with the IOR
             replacement, since PLUS appears in many special purpose
+@@ -7719,6 +7719,7 @@
+         && GET_CODE (lhs) == ASHIFT
+         && CONST_INT_P (XEXP (lhs, 1))
+         && INTVAL (rhs) >= INTVAL (XEXP (lhs, 1))
++        && INTVAL (XEXP (lhs, 1)) >= 0
+         && INTVAL (rhs) < mode_width)
+       {
+         new_rtx = make_compound_operation (XEXP (lhs, 0), next_code);
 Index: gcc/cfgloop.h
 ===================================================================
---- gcc/cfgloop.h      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/cfgloop.h      (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/cfgloop.h      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/cfgloop.h      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -443,6 +443,14 @@
    return VEC_index (loop_p, loop->superloops, n - 1);
  }
@@ -462256,8 +470147,8 @@ Index: gcc/cfgloop.h
  static inline VEC (loop_p, gc) *
 Index: gcc/df-problems.c
 ===================================================================
---- gcc/df-problems.c  (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/df-problems.c  (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/df-problems.c  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/df-problems.c  (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -3095,6 +3095,7 @@
  dead_debug_reset (struct dead_debug *debug, unsigned int dregno)
  {
@@ -462307,9 +470198,57 @@ Index: gcc/df-problems.c
    dval = make_debug_expr_from_rtl (reg);
 Index: gcc/config.gcc
 ===================================================================
---- gcc/config.gcc     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config.gcc     (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -2571,7 +2571,7 @@
+--- gcc/config.gcc     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config.gcc     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -240,6 +240,7 @@
+  | crx-*                              \
+  | i[34567]86-*-interix3*             \
+  | i[34567]86-*-netbsd*                       \
++ | i[3456x]86-*-netware*              \
+  | i[34567]86-*-pe                    \
+  | m68hc11-*-*                                \
+  | m6811-*-*                          \
+@@ -1281,10 +1282,17 @@
+                       tm_file="${tm_file} i386/linux.h"
+               fi
+               ;;
+-      i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} i386/linux.h knetbsd-gnu.h i386/knetbsd-gnu.h" ;;
+-      i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} i386/linux.h kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;;
+-      i[34567]86-*-kopensolaris*-gnu) tm_file="${tm_file} i386/linux.h kopensolaris-gnu.h i386/kopensolaris-gnu.h" ;;
+-      i[34567]86-*-gnu*) tm_file="$tm_file i386/linux.h gnu.h i386/gnu.h";;
++      i[34567]86-*-knetbsd*-gnu)
++              tm_file="${tm_file} i386/linux.h knetbsd-gnu.h i386/knetbsd-gnu.h"
++              ;;
++      i[34567]86-*-kfreebsd*-gnu)
++              tm_file="${tm_file} i386/linux.h kfreebsd-gnu.h i386/kfreebsd-gnu.h"
++              ;;
++      i[34567]86-*-kopensolaris*-gnu)
++              tm_file="${tm_file} i386/linux.h kopensolaris-gnu.h i386/kopensolaris-gnu.h"
++              ;;
++      i[34567]86-*-gnu*)
++              tm_file="$tm_file i386/linux.h gnu.h i386/gnu.h";;
+       esac
+       tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
+       ;;
+@@ -1293,9 +1301,14 @@
+                i386/x86-64.h i386/linux64.h"
+       case ${target} in
+       x86_64-*-linux*)
+-        default_gnu_indirect_function=glibc-2011 ;;
+-      x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;;
+-      x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;;
++              default_gnu_indirect_function=yes
++              ;;
++      x86_64-*-kfreebsd*-gnu)
++              tm_file="${tm_file} kfreebsd-gnu.h"
++              ;;
++      x86_64-*-knetbsd*-gnu)
++              tm_file="${tm_file} knetbsd-gnu.h"
++              ;;
+       esac
+       tmake_file="${tmake_file} i386/t-linux64 i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
+       ;;
+@@ -2571,7 +2584,7 @@
        tm_file="${tm_file} sparc/sol2.h"
        case ${target} in
            sparc64-*-* | sparcv9-*-*)
@@ -462318,10 +470257,48 @@ Index: gcc/config.gcc
                ;;
            *)
                test x$with_cpu != x || with_cpu=v9
+Index: gcc/Makefile.in
+===================================================================
+--- gcc/Makefile.in    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/Makefile.in    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -2382,7 +2382,7 @@
+    $(TREE_DUMP_H) langhooks.h $(TREE_PASS_H) $(BASIC_BLOCK_H) $(BITMAP_H) \
+    $(FLAGS_H) $(GGC_H) $(HASHTAB_H) pointer-set.h \
+    $(GIMPLE_H) $(TREE_INLINE_H) $(TARGET_H) tree-pretty-print.h \
+-   gimple-pretty-print.h
++   gimple-pretty-print.h $(CFGLOOP_H)
+ tree-into-ssa.o : tree-into-ssa.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
+    $(TREE_H) $(TM_P_H) $(EXPR_H) output.h $(DIAGNOSTIC_H) \
+    $(FUNCTION_H) $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
+Index: gcc/gimple.c
+===================================================================
+--- gcc/gimple.c       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/gimple.c       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -4943,6 +4943,20 @@
+                  && TREE_CODE (OBJ_TYPE_REF_OBJECT (rhs)) == ADDR_EXPR)
+           ret |= visit_addr (stmt, TREE_OPERAND (OBJ_TYPE_REF_OBJECT (rhs),
+                                                  0), data);
++        else if (TREE_CODE (rhs) == CONSTRUCTOR)
++          {
++            unsigned int ix;
++            tree val;
++
++            FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (rhs), ix, val)
++              if (TREE_CODE (val) == ADDR_EXPR)
++                ret |= visit_addr (stmt, TREE_OPERAND (val, 0), data);
++              else if (TREE_CODE (val) == OBJ_TYPE_REF
++                       && TREE_CODE (OBJ_TYPE_REF_OBJECT (val)) == ADDR_EXPR)
++                ret |= visit_addr (stmt,
++                                   TREE_OPERAND (OBJ_TYPE_REF_OBJECT (val),
++                                                 0), data);
++          }
+           lhs = gimple_assign_lhs (stmt);
+         if (TREE_CODE (lhs) == TARGET_MEM_REF
+               && TREE_CODE (TMR_BASE (lhs)) == ADDR_EXPR)
 Index: gcc/tree-ssa-structalias.c
 ===================================================================
---- gcc/tree-ssa-structalias.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/tree-ssa-structalias.c (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/tree-ssa-structalias.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/tree-ssa-structalias.c (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -3349,9 +3349,18 @@
  
              /* If we are not taking the address then make sure to process
@@ -462343,10 +470320,178 @@ Index: gcc/tree-ssa-structalias.c
                return;
  
              vi = get_varinfo (cs.var);
+Index: gcc/config/alpha/elf.h
+===================================================================
+--- gcc/config/alpha/elf.h     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/alpha/elf.h     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -397,7 +397,7 @@
+ #undef        ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+    %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
+ /* Select a format to encode pointers in exception handling data.  CODE
+Index: gcc/config/alpha/alpha.c
+===================================================================
+--- gcc/config/alpha/alpha.c   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/alpha/alpha.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -4918,6 +4918,13 @@
+   return m;
+ }
++static void
++alpha_instantiate_decls (void)
++{
++  if (cfun->machine->gp_save_rtx != NULL_RTX)
++    instantiate_decl_rtl (cfun->machine->gp_save_rtx);
++}
++
+ static int
+ alpha_ra_ever_killed (void)
+ {
+@@ -11110,6 +11117,9 @@
+ #undef TARGET_TRAMPOLINE_INIT
+ #define TARGET_TRAMPOLINE_INIT alpha_trampoline_init
++#undef TARGET_INSTANTIATE_DECLS
++#define TARGET_INSTANTIATE_DECLS alpha_instantiate_decls
++
+ #undef TARGET_SECONDARY_RELOAD
+ #define TARGET_SECONDARY_RELOAD alpha_secondary_reload
+Index: gcc/config/alpha/osf5.h
+===================================================================
+--- gcc/config/alpha/osf5.h    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/alpha/osf5.h    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -102,7 +102,7 @@
+   "%{!shared:%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}"
+ #define ENDFILE_SPEC \
+-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
+ #define MD_STARTFILE_PREFIX "/usr/lib/cmplrs/cc/"
+Index: gcc/config/alpha/netbsd.h
+===================================================================
+--- gcc/config/alpha/netbsd.h  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/alpha/netbsd.h  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -70,7 +70,7 @@
+ #undef ENDFILE_SPEC
+ #define ENDFILE_SPEC          \
+-  "%{ffast-math|funsafe-math-optimizations:crtfm%O%s} \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfm%O%s} \
+    %(netbsd_endfile_spec)"
+Index: gcc/config/s390/s390.c
+===================================================================
+--- gcc/config/s390/s390.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/s390/s390.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -7648,7 +7648,7 @@
+ /* Maximum number of registers to represent a value of mode MODE
+    in a register of class RCLASS.  */
+-bool
++int
+ s390_class_max_nregs (enum reg_class rclass, enum machine_mode mode)
+ {
+   switch (rclass)
+Index: gcc/config/s390/s390-protos.h
+===================================================================
+--- gcc/config/s390/s390-protos.h      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/s390/s390-protos.h      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -41,7 +41,7 @@
+ extern void s390_set_has_landing_pad_p (bool);
+ extern bool s390_hard_regno_mode_ok (unsigned int, enum machine_mode);
+ extern bool s390_hard_regno_rename_ok (unsigned int, unsigned int);
+-extern bool s390_class_max_nregs (enum reg_class, enum machine_mode);
++extern int s390_class_max_nregs (enum reg_class, enum machine_mode);
+ #ifdef RTX_CODE
+ extern int s390_extra_constraint_str (rtx, int, const char *);
+Index: gcc/config/spu/spu.c
+===================================================================
+--- gcc/config/spu/spu.c       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/spu/spu.c       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -223,7 +223,6 @@
+ static bool spu_addr_space_subset_p (addr_space_t, addr_space_t);
+ static rtx spu_addr_space_convert (rtx, tree, tree);
+ static int spu_sms_res_mii (struct ddg *g);
+-static void asm_file_start (void);
+ static unsigned int spu_section_type_flags (tree, const char *, int);
+ static section *spu_select_section (tree, int, unsigned HOST_WIDE_INT);
+ static void spu_unique_section (tree, int);
+@@ -455,9 +454,6 @@
+ #undef TARGET_SCHED_SMS_RES_MII
+ #define TARGET_SCHED_SMS_RES_MII spu_sms_res_mii
+-#undef TARGET_ASM_FILE_START
+-#define TARGET_ASM_FILE_START asm_file_start
+-
+ #undef TARGET_SECTION_TYPE_FLAGS
+ #define TARGET_SECTION_TYPE_FLAGS spu_section_type_flags
+@@ -2717,9 +2713,11 @@
+     {
+       /* We still do it for unoptimized code because an external
+          function might have hinted a call or return. */
++      compute_bb_for_insn ();
+       insert_hbrp ();
+       pad_bb ();
+       spu_var_tracking ();
++      free_bb_for_insn ();
+       return;
+     }
+@@ -7052,14 +7050,6 @@
+   return SImode;
+ }
+-/* An early place to adjust some flags after GCC has finished processing
+- * them. */
+-static void
+-asm_file_start (void)
+-{
+-  default_file_start ();
+-}
+-
+ /* Implement targetm.section_type_flags.  */
+ static unsigned int
+ spu_section_type_flags (tree decl, const char *name, int reloc)
+Index: gcc/config/sparc/linux.h
+===================================================================
+--- gcc/config/sparc/linux.h   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/sparc/linux.h   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -37,7 +37,7 @@
+ #undef  ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+   "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s\
+-   %{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
++   %{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
+ /* This is for -profile to use -lc_p instead of -lc.  */
+ #undef        CC1_SPEC
+Index: gcc/config/sparc/sp64-elf.h
+===================================================================
+--- gcc/config/sparc/sp64-elf.h        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/sparc/sp64-elf.h        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -58,7 +58,7 @@
+ #undef ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+    crtend.o%s crtn.o%s"
+ /* Use the default (for now).  */
 Index: gcc/config/sparc/sol2-64.h
 ===================================================================
---- gcc/config/sparc/sol2-64.h (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/sparc/sol2-64.h (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/sparc/sol2-64.h (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/sparc/sol2-64.h (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,7 +1,7 @@
  /* Definitions of target machine for GCC, for bi-arch SPARC
     running Solaris 2, defaulting to 64-bit code generation.
@@ -462365,10 +470510,58 @@ Index: gcc/config/sparc/sol2-64.h
 -  (MASK_V9 + MASK_PTR64 + MASK_64BIT /* + MASK_HARD_QUAD */ + \
 -   MASK_STACK_BIAS + MASK_APP_REGS + MASK_FPU + MASK_LONG_DOUBLE_128)
 +#define TARGET_64BIT_DEFAULT 1
+Index: gcc/config/sparc/sp-elf.h
+===================================================================
+--- gcc/config/sparc/sp-elf.h  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/sparc/sp-elf.h  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -38,7 +38,7 @@
+ #undef ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+    crtend.o%s crtn.o%s"
+ /* Don't set the target flags, this is done by the linker script */
+Index: gcc/config/sparc/linux64.h
+===================================================================
+--- gcc/config/sparc/linux64.h (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/sparc/linux64.h (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -59,7 +59,7 @@
+ #undef        ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+   "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s\
+-   %{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
++   %{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
+ #undef TARGET_VERSION
+ #define TARGET_VERSION fprintf (stderr, " (sparc64 GNU/Linux with ELF)");
+Index: gcc/config/sparc/freebsd.h
+===================================================================
+--- gcc/config/sparc/freebsd.h (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/sparc/freebsd.h (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -169,7 +169,7 @@
+ #undef ENDFILE_SPEC
+ #define ENDFILE_SPEC                                          \
+-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} "   \
+   FBSD_ENDFILE_SPEC
+ /* We use GNU ld so undefine this so that attribute((init_priority)) works.  */
 Index: gcc/config/sparc/sol2.h
 ===================================================================
---- gcc/config/sparc/sol2.h    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/sparc/sol2.h    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/sparc/sol2.h    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/sparc/sol2.h    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -119,7 +119,7 @@
+ #undef  ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+    crtend.o%s crtn.o%s"
+ /* Select a format to encode pointers in exception handling data.  CODE
 @@ -153,11 +153,18 @@
  #undef SUN_INTEGER_MULTIPLY_64
  #define SUN_INTEGER_MULTIPLY_64 1
@@ -462392,10 +470585,205 @@ Index: gcc/config/sparc/sol2.h
  
  /* Solaris-specific #pragmas are implemented on top of attributes.  Hook in
     the bits from config/sol2.c.  */
+Index: gcc/config/rx/rx.md
+===================================================================
+--- gcc/config/rx/rx.md        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/rx/rx.md        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -708,24 +708,24 @@
+      (clobber (reg:CC CC_REG))])]
+   ""
+ {
+-  /* ??? Support other conditions via cstore into a temporary?  */
+-  if (GET_CODE (operands[1]) != EQ && GET_CODE (operands[1]) != NE)
++  /* One operand must be a constant or a register, the other must be a register.  */
++  if (   ! CONSTANT_P (operands[2])
++      && ! CONSTANT_P (operands[3])
++      && ! (REG_P (operands[2]) && REG_P (operands[3])))
+     FAIL;
+-  /* One operand must be a constant.  */
+-  if (!CONSTANT_P (operands[2]) && !CONSTANT_P (operands[3]))
+-    FAIL;
+ })
+ (define_insn_and_split "*movsicc"
+-  [(set (match_operand:SI     0 "register_operand" "=r,r")
++  [(set (match_operand:SI     0 "register_operand" "=r,r,r")
+       (if_then_else:SI
+-        (match_operator 5 "rx_z_comparison_operator"
+-         [(match_operand:SI 3 "register_operand"  "r,r")
+-          (match_operand:SI 4 "rx_source_operand" "riQ,riQ")])
+-        (match_operand:SI   1 "nonmemory_operand" "i,ri")
+-        (match_operand:SI   2 "nonmemory_operand" "ri,i")))
++        (match_operator     5 "comparison_operator"
++         [(match_operand:SI 3 "register_operand"  "r,r,r")
++          (match_operand:SI 4 "rx_source_operand" "riQ,riQ,riQ")])
++        (match_operand:SI   1 "nonmemory_operand" "i,ri,r")
++        (match_operand:SI   2 "nonmemory_operand" "ri,i,r")))
+    (clobber (reg:CC CC_REG))]
+-  "CONSTANT_P (operands[1]) || CONSTANT_P (operands[2])"
++  "(CONSTANT_P (operands[1]) || CONSTANT_P (operands[2]))
++    || (REG_P (operands[1]) && REG_P (operands[2]))"
+   "#"
+   "&& reload_completed"
+   [(const_int 0)]
+@@ -742,8 +742,11 @@
+   op1 = operands[1];
+   op2 = operands[2];
+-  /* If OP2 is the constant, reverse the sense of the move.  */
+-  if (!CONSTANT_P (operands[1]))
++  /* If OP2 is the constant, reverse the sense of the move.
++     Likewise if both operands are registers but OP1 == OP0.  */
++  if ((! CONSTANT_P (operands[1]) && CONSTANT_P (operands[2]))
++      || (REG_P (operands[1]) && REG_P (operands[2])
++          && rtx_equal_p (op0, op1)))
+     {
+       x = op1, op1 = op2, op2 = x;
+       cmp_code = reverse_condition (cmp_code);
+@@ -752,7 +755,7 @@
+   /* If OP2 does not match the output, copy it into place.  We have allowed
+      these alternatives so that the destination can legitimately be one of
+      the comparison operands without increasing register pressure.  */
+-  if (!rtx_equal_p (op0, op2))
++  if (! rtx_equal_p (op0, op2))
+     emit_move_insn (op0, op2);
+   x = gen_rtx_fmt_ee (cmp_code, VOIDmode, flags, const0_rtx);
+@@ -768,16 +771,33 @@
+           [(reg CC_REG) (const_int 0)])
+         (match_operand:SI 1 "immediate_operand" "Sint08,Sint16,Sint24,i")
+         (match_dup 0)))]
+-  "reload_completed"
+-{
+-  if (GET_CODE (operands[2]) == EQ)
+-    return "stz\t%1, %0";
+-  else
+-    return "stnz\t%1, %0";
+-}
++  "reload_completed
++   && ((GET_CODE (operands[2]) == EQ) || (GET_CODE (operands[2]) == NE))"
++  {
++    if (GET_CODE (operands[2]) == EQ)
++      return "stz\t%1, %0";
++    else
++     return "stnz\t%1, %0";
++  }
+   [(set_attr "length" "4,5,6,7")]
+ )
++(define_insn "*stcc_reg"
++  [(set (match_operand:SI 0 "register_operand" "+r,r,r,r,r,r")
++      (if_then_else:SI
++        (match_operator 2 "comparison_operator"
++          [(reg CC_REG) (const_int 0)])
++        (match_operand:SI 1 "nonmemory_operand"
++                            "r,Uint04,Sint08,Sint16,Sint24,i")
++        (match_dup 0)))]
++  "reload_completed"
++  {
++    PUT_CODE (operands[2], reverse_condition (GET_CODE (operands[2])));
++    return "b%B2 1f\n\tmov %1, %0\n1:";
++  }
++  [(set_attr "length" "3,3,4,5,6,7")]
++)
++
+ ;; Arithmetic Instructions
+ (define_insn "abssi2"
+@@ -1598,7 +1618,7 @@
+                  (memex_commutative:SI (match_dup 0)
+                                        (match_dup 2)))
+             (clobber (reg:CC CC_REG))])]
+-  "peep2_regno_dead_p (2, REGNO (operands[0]))"
++  "peep2_regno_dead_p (2, REGNO (operands[0])) && (optimize < 3 || optimize_size)"
+   [(parallel [(set:SI (match_dup 2)
+                     (memex_commutative:SI (match_dup 2)
+                                           (extend_types:SI (match_dup 1))))
+@@ -1612,7 +1632,7 @@
+                  (memex_commutative:SI (match_dup 2)
+                                        (match_dup 0)))
+             (clobber (reg:CC CC_REG))])]
+-  "peep2_regno_dead_p (2, REGNO (operands[0]))"
++  "peep2_regno_dead_p (2, REGNO (operands[0])) && (optimize < 3 || optimize_size)"
+   [(parallel [(set:SI (match_dup 2)
+                     (memex_commutative:SI (match_dup 2)
+                                           (extend_types:SI (match_dup 1))))
+@@ -1626,7 +1646,7 @@
+                  (memex_noncomm:SI (match_dup 2)
+                                    (match_dup 0)))
+             (clobber (reg:CC CC_REG))])]
+-  "peep2_regno_dead_p (2, REGNO (operands[0]))"
++  "peep2_regno_dead_p (2, REGNO (operands[0])) && (optimize < 3 || optimize_size)"
+   [(parallel [(set:SI (match_dup 2)
+                     (memex_noncomm:SI (match_dup 2)
+                                       (extend_types:SI (match_dup 1))))
+@@ -1639,7 +1659,7 @@
+    (set (match_operand:SI                               2 "register_operand")
+       (memex_nocc:SI (match_dup 0)
+                      (match_dup 2)))]
+-  "peep2_regno_dead_p (2, REGNO (operands[0]))"
++  "peep2_regno_dead_p (2, REGNO (operands[0])) && (optimize < 3 || optimize_size)"
+   [(set:SI (match_dup 2)
+          (memex_nocc:SI (match_dup 2)
+                         (extend_types:SI (match_dup 1))))]
+@@ -1651,7 +1671,7 @@
+    (set (match_operand:SI                               2 "register_operand")
+       (memex_nocc:SI (match_dup 2)
+                      (match_dup 0)))]
+-  "peep2_regno_dead_p (2, REGNO (operands[0]))"
++  "peep2_regno_dead_p (2, REGNO (operands[0])) && (optimize < 3 || optimize_size)"
+   [(set:SI (match_dup 2)
+          (memex_nocc:SI (match_dup 2)
+                         (extend_types:SI (match_dup 1))))]
+@@ -1662,7 +1682,7 @@
+       (memex_commutative:SI (match_operand:SI                               1 "register_operand" "%0")
+                             (extend_types:SI (match_operand:small_int_modes 2 "rx_restricted_mem_operand" "Q"))))
+    (clobber (reg:CC CC_REG))]
+-  ""
++  "(optimize < 3 || optimize_size)"
+   "<memex_commutative:op>\t%<extend_types:letter>2, %0"
+   [(set_attr "timings" "33")
+    (set_attr "length"  "5")] ;; Worst case sceanario.  FIXME: If we defined separate patterns 
+@@ -1673,7 +1693,7 @@
+       (memex_noncomm:SI (match_operand:SI                               1 "register_operand" "0")
+                           (extend_types:SI (match_operand:small_int_modes 2 "rx_restricted_mem_operand" "Q"))))
+    (clobber (reg:CC CC_REG))]
+-  ""
++  "(optimize < 3 || optimize_size)"
+   "<memex_noncomm:op>\t%<extend_types:letter>2, %0"
+   [(set_attr "timings" "33")
+    (set_attr "length"  "5")] ;; Worst case sceanario.  FIXME: If we defined separate patterns 
+@@ -1683,7 +1703,7 @@
+   [(set (match_operand:SI                                              0 "register_operand" "=r")
+       (memex_nocc:SI (match_operand:SI                               1 "register_operand" "%0")
+                      (extend_types:SI (match_operand:small_int_modes 2 "rx_restricted_mem_operand" "Q"))))]
+-  ""
++  "(optimize < 3 || optimize_size)"
+   "<memex_nocc:op>\t%<extend_types:letter>2, %0"
+   [(set_attr "timings" "33")
+    (set_attr "length"  "5")] ;; Worst case sceanario.  FIXME: If we defined separate patterns 
+@@ -1695,7 +1715,7 @@
+    (set (reg:CC CC_REG)
+       (compare:CC (match_operand:SI                   2 "register_operand")
+                   (match_dup 0)))]
+-  "peep2_regno_dead_p (2, REGNO (operands[0]))"
++  "peep2_regno_dead_p (2, REGNO (operands[0])) && (optimize < 3 || optimize_size)"
+   [(set (reg:CC CC_REG)
+       (compare:CC (match_dup 2)
+                   (extend_types:SI (match_dup 1))))]
+@@ -1734,7 +1754,7 @@
+   [(set (reg:CC CC_REG)
+       (compare:CC (match_operand:SI                               0 "register_operand" "=r")
+                   (extend_types:SI (match_operand:small_int_modes 1 "rx_restricted_mem_operand" "Q"))))]
+-  ""
++  "(optimize < 3 || optimize_size)"
+   "cmp\t%<extend_types:letter>1, %0"
+   [(set_attr "timings" "33")
+    (set_attr "length"  "5")] ;; Worst case sceanario.  FIXME: If we defined separate patterns 
 Index: gcc/config/i386/i386.h
 ===================================================================
---- gcc/config/i386/i386.h     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/i386/i386.h     (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/i386/i386.h     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/i386/i386.h     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -322,6 +322,7 @@
    X86_TUNE_FUSE_CMP_AND_BRANCH,
    X86_TUNE_OPT_AGU,
@@ -462413,10 +470801,534 @@ Index: gcc/config/i386/i386.h
  
  /* Feature tests against the various architecture variations.  */
  enum ix86_arch_indices {
+Index: gcc/config/i386/linux.h
+===================================================================
+--- gcc/config/i386/linux.h    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/i386/linux.h    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -114,7 +114,7 @@
+ /* Similar to standard Linux, but adding -ffast-math support.  */
+ #undef  ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+    %{mpc32:crtprec32.o%s} \
+    %{mpc64:crtprec64.o%s} \
+    %{mpc80:crtprec80.o%s} \
+Index: gcc/config/i386/cygwin.h
+===================================================================
+--- gcc/config/i386/cygwin.h   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/i386/cygwin.h   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -38,7 +38,7 @@
+ #undef ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}\
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}\
+    crtend.o%s"
+ /* Normally, -lgcc is not needed since everything in it is in the DLL, but we
+Index: gcc/config/i386/i386.md
+===================================================================
+--- gcc/config/i386/i386.md    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/i386/i386.md    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -5280,11 +5280,20 @@
+   if (GET_CODE (op1) == SUBREG)
+     op1 = SUBREG_REG (op1);
+-  if (GENERAL_REG_P (op1) && TARGET_INTER_UNIT_MOVES)
++  if (GENERAL_REG_P (op1))
+     {
+       operands[4] = simplify_gen_subreg (V4SImode, operands[0], <MODE>mode, 0);
+-      emit_insn (gen_sse2_loadld (operands[4],
+-                                CONST0_RTX (V4SImode), operands[1]));
++      if (TARGET_INTER_UNIT_MOVES)
++      emit_insn (gen_sse2_loadld (operands[4],
++                                  CONST0_RTX (V4SImode), operands[1]));
++      else
++      {
++        operands[5] = ix86_force_to_memory (GET_MODE (operands[1]),
++                                            operands[1]);
++        emit_insn (gen_sse2_loadld (operands[4],
++                                    CONST0_RTX (V4SImode), operands[5]));
++        ix86_free_from_memory (GET_MODE (operands[1]));
++      }
+     }
+   /* We can ignore possible trapping value in the
+      high part of SSE register for non-trapping math. */
+@@ -11341,7 +11350,7 @@
+ (define_insn_and_split "*call_pop_1_vzeroupper"
+   [(parallel
+-    [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lsm"))
++    [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lzm"))
+          (match_operand:SI 1 "" ""))
+      (set (reg:SI SP_REG)
+         (plus:SI (reg:SI SP_REG)
+@@ -11356,7 +11365,7 @@
+   [(set_attr "type" "call")])
+ (define_insn "*call_pop_1"
+-  [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lsm"))
++  [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lzm"))
+        (match_operand:SI 1 "" ""))
+    (set (reg:SI SP_REG)
+       (plus:SI (reg:SI SP_REG)
+@@ -11371,7 +11380,7 @@
+ (define_insn_and_split "*sibcall_pop_1_vzeroupper"
+  [(parallel
+-   [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "s,U"))
++   [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "z,U"))
+          (match_operand:SI 1 "" ""))
+      (set (reg:SI SP_REG)
+         (plus:SI (reg:SI SP_REG)
+@@ -11386,7 +11395,7 @@
+   [(set_attr "type" "call")])
+ (define_insn "*sibcall_pop_1"
+-  [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "s,U"))
++  [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "z,U"))
+        (match_operand:SI 1 "" ""))
+    (set (reg:SI SP_REG)
+       (plus:SI (reg:SI SP_REG)
+@@ -11437,7 +11446,7 @@
+   [(set_attr "type" "call")])
+ (define_insn_and_split "*call_1_vzeroupper"
+-  [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lsm"))
++  [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lzm"))
+        (match_operand 1 "" ""))
+    (unspec [(match_operand 2 "const_int_operand" "")]
+          UNSPEC_CALL_NEEDS_VZEROUPPER)]
+@@ -11449,14 +11458,14 @@
+   [(set_attr "type" "call")])
+ (define_insn "*call_1"
+-  [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lsm"))
++  [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lzm"))
+        (match_operand 1 "" ""))]
+   "!TARGET_64BIT && !SIBLING_CALL_P (insn)"
+   { return ix86_output_call_insn (insn, operands[0], 0); }
+   [(set_attr "type" "call")])
+ (define_insn_and_split "*sibcall_1_vzeroupper"
+-  [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "s,U"))
++  [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "z,U"))
+        (match_operand 1 "" ""))
+    (unspec [(match_operand 2 "const_int_operand" "")]
+          UNSPEC_CALL_NEEDS_VZEROUPPER)]
+@@ -11468,14 +11477,14 @@
+   [(set_attr "type" "call")])
+ (define_insn "*sibcall_1"
+-  [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "s,U"))
++  [(call (mem:QI (match_operand:SI 0 "sibcall_insn_operand" "z,U"))
+        (match_operand 1 "" ""))]
+   "!TARGET_64BIT && SIBLING_CALL_P (insn)"
+   { return ix86_output_call_insn (insn, operands[0], 0); }
+   [(set_attr "type" "call")])
+ (define_insn_and_split "*call_1_rex64_vzeroupper"
+-  [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rsm"))
++  [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rzm"))
+        (match_operand 1 "" ""))
+    (unspec [(match_operand 2 "const_int_operand" "")]
+          UNSPEC_CALL_NEEDS_VZEROUPPER)]
+@@ -11488,7 +11497,7 @@
+   [(set_attr "type" "call")])
+ (define_insn "*call_1_rex64"
+-  [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rsm"))
++  [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rzm"))
+        (match_operand 1 "" ""))]
+   "TARGET_64BIT && !SIBLING_CALL_P (insn)
+    && ix86_cmodel != CM_LARGE && ix86_cmodel != CM_LARGE_PIC"
+@@ -11497,7 +11506,7 @@
+ (define_insn_and_split "*call_1_rex64_ms_sysv_vzeroupper"
+   [(parallel
+-    [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rsm"))
++    [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rzm"))
+          (match_operand 1 "" ""))
+      (unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL)
+      (clobber (reg:TI XMM6_REG))
+@@ -11522,7 +11531,7 @@
+   [(set_attr "type" "call")])
+ (define_insn "*call_1_rex64_ms_sysv"
+-  [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rsm"))
++  [(call (mem:QI (match_operand:DI 0 "call_insn_operand" "rzm"))
+        (match_operand 1 "" ""))
+    (unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL)
+    (clobber (reg:TI XMM6_REG))
+@@ -11561,7 +11570,7 @@
+   [(set_attr "type" "call")])
+ (define_insn_and_split "*sibcall_1_rex64_vzeroupper"
+-  [(call (mem:QI (match_operand:DI 0 "sibcall_insn_operand" "s,U"))
++  [(call (mem:QI (match_operand:DI 0 "sibcall_insn_operand" "z,U"))
+        (match_operand 1 "" ""))
+    (unspec [(match_operand 2 "const_int_operand" "")]
+          UNSPEC_CALL_NEEDS_VZEROUPPER)]
+@@ -11573,7 +11582,7 @@
+   [(set_attr "type" "call")])
+ (define_insn "*sibcall_1_rex64"
+-  [(call (mem:QI (match_operand:DI 0 "sibcall_insn_operand" "s,U"))
++  [(call (mem:QI (match_operand:DI 0 "sibcall_insn_operand" "z,U"))
+        (match_operand 1 "" ""))]
+   "TARGET_64BIT && SIBLING_CALL_P (insn)"
+   { return ix86_output_call_insn (insn, operands[0], 0); }
+@@ -15699,7 +15708,8 @@
+    (set (match_operand:DI 1 "register_operand" "=S")
+       (plus:DI (match_dup 3)
+                (const_int 8)))]
+-  "TARGET_64BIT"
++  "TARGET_64BIT
++   && !(fixed_regs[SI_REG] || fixed_regs[DI_REG])"
+   "movsq"
+   [(set_attr "type" "str")
+    (set_attr "memory" "both")
+@@ -15714,7 +15724,7 @@
+    (set (match_operand:P 1 "register_operand" "=S")
+       (plus:P (match_dup 3)
+               (const_int 4)))]
+-  ""
++  "!(fixed_regs[SI_REG] || fixed_regs[DI_REG])"
+   "movs{l|d}"
+   [(set_attr "type" "str")
+    (set_attr "memory" "both")
+@@ -15729,7 +15739,7 @@
+    (set (match_operand:P 1 "register_operand" "=S")
+       (plus:P (match_dup 3)
+               (const_int 2)))]
+-  ""
++  "!(fixed_regs[SI_REG] || fixed_regs[DI_REG])"
+   "movsw"
+   [(set_attr "type" "str")
+    (set_attr "memory" "both")
+@@ -15744,7 +15754,7 @@
+    (set (match_operand:P 1 "register_operand" "=S")
+       (plus:P (match_dup 3)
+               (const_int 1)))]
+-  ""
++  "!(fixed_regs[SI_REG] || fixed_regs[DI_REG])"
+   "movsb"
+   [(set_attr "type" "str")
+    (set_attr "memory" "both")
+@@ -15779,7 +15789,8 @@
+    (set (mem:BLK (match_dup 3))
+       (mem:BLK (match_dup 4)))
+    (use (match_dup 5))]
+-  "TARGET_64BIT"
++  "TARGET_64BIT
++   && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
+   "rep{%;} movsq"
+   [(set_attr "type" "str")
+    (set_attr "prefix_rep" "1")
+@@ -15798,7 +15809,7 @@
+    (set (mem:BLK (match_dup 3))
+       (mem:BLK (match_dup 4)))
+    (use (match_dup 5))]
+-  ""
++  "!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
+   "rep{%;} movs{l|d}"
+   [(set_attr "type" "str")
+    (set_attr "prefix_rep" "1")
+@@ -15815,7 +15826,7 @@
+    (set (mem:BLK (match_dup 3))
+       (mem:BLK (match_dup 4)))
+    (use (match_dup 5))]
+-  ""
++  "!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
+   "rep{%;} movsb"
+   [(set_attr "type" "str")
+    (set_attr "prefix_rep" "1")
+@@ -15858,7 +15869,9 @@
+   operands[3] = gen_rtx_PLUS (Pmode, operands[0],
+                             GEN_INT (GET_MODE_SIZE (GET_MODE
+                                                     (operands[2]))));
+-  if (TARGET_SINGLE_STRINGOP || optimize_insn_for_size_p ())
++  /* Can't use this if the user has appropriated eax or edi.  */
++  if ((TARGET_SINGLE_STRINGOP || optimize_insn_for_size_p ())
++      && !(fixed_regs[AX_REG] || fixed_regs[DI_REG]))
+     {
+       emit_insn (gen_strset_singleop (operands[0], operands[1], operands[2],
+                                     operands[3]));
+@@ -15880,7 +15893,8 @@
+    (set (match_operand:DI 0 "register_operand" "=D")
+       (plus:DI (match_dup 1)
+                (const_int 8)))]
+-  "TARGET_64BIT"
++  "TARGET_64BIT
++   && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])"
+   "stosq"
+   [(set_attr "type" "str")
+    (set_attr "memory" "store")
+@@ -15892,7 +15906,7 @@
+    (set (match_operand:P 0 "register_operand" "=D")
+       (plus:P (match_dup 1)
+               (const_int 4)))]
+-  ""
++  "!(fixed_regs[AX_REG] || fixed_regs[DI_REG])"
+   "stos{l|d}"
+   [(set_attr "type" "str")
+    (set_attr "memory" "store")
+@@ -15904,7 +15918,7 @@
+    (set (match_operand:P 0 "register_operand" "=D")
+       (plus:P (match_dup 1)
+               (const_int 2)))]
+-  ""
++  "!(fixed_regs[AX_REG] || fixed_regs[DI_REG])"
+   "stosw"
+   [(set_attr "type" "str")
+    (set_attr "memory" "store")
+@@ -15916,7 +15930,7 @@
+    (set (match_operand:P 0 "register_operand" "=D")
+       (plus:P (match_dup 1)
+               (const_int 1)))]
+-  ""
++  "!(fixed_regs[AX_REG] || fixed_regs[DI_REG])"
+   "stosb"
+   [(set_attr "type" "str")
+    (set_attr "memory" "store")
+@@ -15947,7 +15961,8 @@
+       (const_int 0))
+    (use (match_operand:DI 2 "register_operand" "a"))
+    (use (match_dup 4))]
+-  "TARGET_64BIT"
++  "TARGET_64BIT
++   && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])"
+   "rep{%;} stosq"
+   [(set_attr "type" "str")
+    (set_attr "prefix_rep" "1")
+@@ -15964,7 +15979,7 @@
+       (const_int 0))
+    (use (match_operand:SI 2 "register_operand" "a"))
+    (use (match_dup 4))]
+-  ""
++  "!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])"
+   "rep{%;} stos{l|d}"
+   [(set_attr "type" "str")
+    (set_attr "prefix_rep" "1")
+@@ -15980,7 +15995,7 @@
+       (const_int 0))
+    (use (match_operand:QI 2 "register_operand" "a"))
+    (use (match_dup 4))]
+-  ""
++  "!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])"
+   "rep{%;} stosb"
+   [(set_attr "type" "str")
+    (set_attr "prefix_rep" "1")
+@@ -16005,8 +16020,8 @@
+   if (optimize_insn_for_size_p () && !TARGET_INLINE_ALL_STRINGOPS)
+     FAIL;
+-  /* Can't use this if the user has appropriated esi or edi.  */
+-  if (fixed_regs[SI_REG] || fixed_regs[DI_REG])
++  /* Can't use this if the user has appropriated ecx, esi or edi.  */
++  if (fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
+     FAIL;
+   out = operands[0];
+@@ -16101,7 +16116,7 @@
+    (clobber (match_operand:P 0 "register_operand" "=S"))
+    (clobber (match_operand:P 1 "register_operand" "=D"))
+    (clobber (match_operand:P 2 "register_operand" "=c"))]
+-  ""
++  "!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
+   "repz{%;} cmpsb"
+   [(set_attr "type" "str")
+    (set_attr "mode" "QI")
+@@ -16141,7 +16156,7 @@
+    (clobber (match_operand:P 0 "register_operand" "=S"))
+    (clobber (match_operand:P 1 "register_operand" "=D"))
+    (clobber (match_operand:P 2 "register_operand" "=c"))]
+-  ""
++  "!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])"
+   "repz{%;} cmpsb"
+   [(set_attr "type" "str")
+    (set_attr "mode" "QI")
+@@ -16153,11 +16168,11 @@
+    (set_attr "prefix_rep" "1")])
+ (define_expand "strlen<mode>"
+-  [(set (match_operand:SWI48x 0 "register_operand" "")
+-      (unspec:SWI48x [(match_operand:BLK 1 "general_operand" "")
+-                      (match_operand:QI 2 "immediate_operand" "")
+-                      (match_operand 3 "immediate_operand" "")]
+-                     UNSPEC_SCAS))]
++  [(set (match_operand:P 0 "register_operand" "")
++      (unspec:P [(match_operand:BLK 1 "general_operand" "")
++                 (match_operand:QI 2 "immediate_operand" "")
++                 (match_operand 3 "immediate_operand" "")]
++                UNSPEC_SCAS))]
+   ""
+ {
+  if (ix86_expand_strlen (operands[0], operands[1], operands[2], operands[3]))
+@@ -16182,7 +16197,7 @@
+                  (match_operand:P 4 "register_operand" "0")] UNSPEC_SCAS))
+    (clobber (match_operand:P 1 "register_operand" "=D"))
+    (clobber (reg:CC FLAGS_REG))]
+-  ""
++  "!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])"
+   "repnz{%;} scasb"
+   [(set_attr "type" "str")
+    (set_attr "mode" "QI")
+@@ -17567,7 +17582,7 @@
+ (define_insn_and_split "*call_value_pop_1_vzeroupper"
+   [(parallel
+     [(set (match_operand 0 "" "")
+-        (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lsm"))
++        (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lzm"))
+               (match_operand:SI 2 "" "")))
+      (set (reg:SI SP_REG)
+         (plus:SI (reg:SI SP_REG)
+@@ -17583,7 +17598,7 @@
+ (define_insn "*call_value_pop_1"
+   [(set (match_operand 0 "" "")
+-      (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lsm"))
++      (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lzm"))
+             (match_operand:SI 2 "" "")))
+    (set (reg:SI SP_REG)
+       (plus:SI (reg:SI SP_REG)
+@@ -17595,7 +17610,7 @@
+ (define_insn_and_split "*sibcall_value_pop_1_vzeroupper"
+  [(parallel
+    [(set (match_operand 0 "" "")
+-        (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "s,U"))
++        (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "z,U"))
+               (match_operand:SI 2 "" "")))
+      (set (reg:SI SP_REG)
+         (plus:SI (reg:SI SP_REG)
+@@ -17611,7 +17626,7 @@
+ (define_insn "*sibcall_value_pop_1"
+   [(set (match_operand 0 "" "")
+-      (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "s,U"))
++      (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "z,U"))
+             (match_operand:SI 2 "" "")))
+    (set (reg:SI SP_REG)
+       (plus:SI (reg:SI SP_REG)
+@@ -17712,7 +17727,7 @@
+ (define_insn_and_split "*call_value_1_vzeroupper"
+   [(set (match_operand 0 "" "")
+-      (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lsm"))
++      (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lzm"))
+             (match_operand:SI 2 "" "")))
+    (unspec [(match_operand 3 "const_int_operand" "")]
+          UNSPEC_CALL_NEEDS_VZEROUPPER)]
+@@ -17725,7 +17740,7 @@
+ (define_insn "*call_value_1"
+   [(set (match_operand 0 "" "")
+-      (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lsm"))
++      (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lzm"))
+             (match_operand:SI 2 "" "")))]
+   "!TARGET_64BIT && !SIBLING_CALL_P (insn)"
+   { return ix86_output_call_insn (insn, operands[1], 1); }
+@@ -17733,7 +17748,7 @@
+ (define_insn_and_split "*sibcall_value_1_vzeroupper"
+   [(set (match_operand 0 "" "")
+-      (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "s,U"))
++      (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "z,U"))
+             (match_operand:SI 2 "" "")))
+    (unspec [(match_operand 3 "const_int_operand" "")]
+          UNSPEC_CALL_NEEDS_VZEROUPPER)]
+@@ -17746,7 +17761,7 @@
+ (define_insn "*sibcall_value_1"
+   [(set (match_operand 0 "" "")
+-      (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "s,U"))
++      (call (mem:QI (match_operand:SI 1 "sibcall_insn_operand" "z,U"))
+             (match_operand:SI 2 "" "")))]
+   "!TARGET_64BIT && SIBLING_CALL_P (insn)"
+   { return ix86_output_call_insn (insn, operands[1], 1); }
+@@ -17754,7 +17769,7 @@
+ (define_insn_and_split "*call_value_1_rex64_vzeroupper"
+   [(set (match_operand 0 "" "")
+-      (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rsm"))
++      (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rzm"))
+             (match_operand:DI 2 "" "")))
+    (unspec [(match_operand 3 "const_int_operand" "")]
+          UNSPEC_CALL_NEEDS_VZEROUPPER)]
+@@ -17768,7 +17783,7 @@
+ (define_insn "*call_value_1_rex64"
+   [(set (match_operand 0 "" "")
+-      (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rsm"))
++      (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rzm"))
+             (match_operand:DI 2 "" "")))]
+   "TARGET_64BIT && !SIBLING_CALL_P (insn)
+    && ix86_cmodel != CM_LARGE && ix86_cmodel != CM_LARGE_PIC"
+@@ -17778,7 +17793,7 @@
+ (define_insn_and_split "*call_value_1_rex64_ms_sysv_vzeroupper"
+   [(parallel
+     [(set (match_operand 0 "" "")
+-        (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rsm"))
++        (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rzm"))
+               (match_operand:DI 2 "" "")))
+      (unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL)
+      (clobber (reg:TI XMM6_REG))
+@@ -17804,7 +17819,7 @@
+ (define_insn "*call_value_1_rex64_ms_sysv"
+   [(set (match_operand 0 "" "")
+-      (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rsm"))
++      (call (mem:QI (match_operand:DI 1 "call_insn_operand" "rzm"))
+             (match_operand:DI 2 "" "")))
+    (unspec [(const_int 0)] UNSPEC_MS_TO_SYSV_CALL)
+    (clobber (reg:TI XMM6_REG))
+@@ -17846,7 +17861,7 @@
+ (define_insn_and_split "*sibcall_value_1_rex64_vzeroupper"
+   [(set (match_operand 0 "" "")
+-      (call (mem:QI (match_operand:DI 1 "sibcall_insn_operand" "s,U"))
++      (call (mem:QI (match_operand:DI 1 "sibcall_insn_operand" "z,U"))
+             (match_operand:DI 2 "" "")))
+    (unspec [(match_operand 3 "const_int_operand" "")]
+          UNSPEC_CALL_NEEDS_VZEROUPPER)]
+@@ -17859,7 +17874,7 @@
+ (define_insn "*sibcall_value_1_rex64"
+   [(set (match_operand 0 "" "")
+-      (call (mem:QI (match_operand:DI 1 "sibcall_insn_operand" "s,U"))
++      (call (mem:QI (match_operand:DI 1 "sibcall_insn_operand" "z,U"))
+             (match_operand:DI 2 "" "")))]
+   "TARGET_64BIT && SIBLING_CALL_P (insn)"
+   { return ix86_output_call_insn (insn, operands[1], 1); }
+Index: gcc/config/i386/constraints.md
+===================================================================
+--- gcc/config/i386/constraints.md     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/i386/constraints.md     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -19,7 +19,7 @@
+ ;;; Unused letters:
+ ;;;     B     H           T  W
+-;;;           h jk          vw  z
++;;;           h jk          vw
+ ;; Integer register constraints.
+ ;; It is not necessary to define 'r' here.
+@@ -105,6 +105,10 @@
+  "TARGET_MMX && TARGET_INTER_UNIT_MOVES ? MMX_REGS : NO_REGS"
+  "@internal Any MMX register, when inter-unit moves are enabled.")
++(define_constraint "z"
++  "@internal Constant call address operand."
++  (match_operand 0 "constant_call_address_operand"))
++
+ ;; Integer constant constraints.
+ (define_constraint "I"
+   "Integer constant in the range 0 @dots{} 31, for 32-bit shifts."
 Index: gcc/config/i386/athlon.md
 ===================================================================
---- gcc/config/i386/athlon.md  (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/i386/athlon.md  (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/i386/athlon.md  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/i386/athlon.md  (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -798,7 +798,7 @@
                         "athlon-direct,athlon-fploadk8,athlon-fadd")
  (define_insn_reservation "athlon_ssecomi" 4
@@ -462428,8 +471340,8 @@ Index: gcc/config/i386/athlon.md
                         (and (eq_attr "cpu" "amdfam10")
 Index: gcc/config/i386/sse.md
 ===================================================================
---- gcc/config/i386/sse.md     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/i386/sse.md     (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/i386/sse.md     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/i386/sse.md     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -207,15 +207,25 @@
          {
        case MODE_V8SF:
@@ -462477,10 +471389,78 @@ Index: gcc/config/i386/sse.md
    [(set (match_operand:FMAMODE 0 "register_operand" "=x,x,x")
        (fma:FMAMODE
          (neg:FMAMODE
+@@ -4179,7 +4189,7 @@
+       (vec_select:<avxhalfvecmode>
+         (match_operand:AVX256MODE4P 1 "nonimmediate_operand" "xm,x")
+         (parallel [(const_int 0) (const_int 1)])))]
+-  "TARGET_AVX"
++  "TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
+   "#"
+   "&& reload_completed"
+   [(const_int 0)]
+@@ -4213,7 +4223,7 @@
+         (match_operand:AVX256MODE8P 1 "nonimmediate_operand" "xm,x")
+         (parallel [(const_int 0) (const_int 1)
+                    (const_int 2) (const_int 3)])))]
+-  "TARGET_AVX"
++  "TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
+   "#"
+   "&& reload_completed"
+   [(const_int 0)]
+@@ -4250,7 +4260,7 @@
+                    (const_int 2) (const_int 3)
+                    (const_int 4) (const_int 5)
+                    (const_int 6) (const_int 7)])))]
+-  "TARGET_AVX"
++  "TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
+   "#"
+   "&& reload_completed"
+   [(const_int 0)]
+@@ -4293,7 +4303,7 @@
+                    (const_int 10) (const_int 11)
+                    (const_int 12) (const_int 13)
+                    (const_int 14) (const_int 15)])))]
+-  "TARGET_AVX"
++  "TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
+   "#"
+   "&& reload_completed"
+   [(const_int 0)]
+@@ -4347,9 +4357,9 @@
+        (vec_select:SF
+        (match_operand:V4SF 1 "memory_operand" "o")
+        (parallel [(match_operand 2 "const_0_to_3_operand" "n")])))]
+-  ""
++  "TARGET_SSE"
+   "#"
+-  "reload_completed"
++  "&& reload_completed"
+   [(const_int 0)]
+ {
+   int i = INTVAL (operands[2]);
+@@ -9891,6 +9901,9 @@
+                                          operands[2], operands[3],
+                                          operands[4], operands[5],
+                                          operands[6]));
++  if (!(flags || ecx || xmm0))
++    emit_note (NOTE_INSN_DELETED);
++
+   DONE;
+ }
+   [(set_attr "type" "sselog")
+@@ -10018,6 +10031,9 @@
+     emit_insn (gen_sse4_2_pcmpistr_cconly (NULL, NULL,
+                                          operands[2], operands[3],
+                                          operands[4]));
++  if (!(flags || ecx || xmm0))
++    emit_note (NOTE_INSN_DELETED);
++
+   DONE;
+ }
+   [(set_attr "type" "sselog")
 Index: gcc/config/i386/i386.opt
 ===================================================================
---- gcc/config/i386/i386.opt   (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/i386/i386.opt   (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/i386/i386.opt   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/i386/i386.opt   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -267,7 +267,7 @@
  is selected.
  
@@ -462502,10 +471482,49 @@ Index: gcc/config/i386/i386.opt
 +mavx256-split-unaligned-store
 +Target Report Mask(AVX256_SPLIT_UNALIGNED_STORE) Save
 +Split 32-byte AVX unaligned store
+Index: gcc/config/i386/linux64.h
+===================================================================
+--- gcc/config/i386/linux64.h  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/i386/linux64.h  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -90,7 +90,7 @@
+ /* Similar to standard Linux, but adding -ffast-math support.  */
+ #undef  ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+    %{mpc32:crtprec32.o%s} \
+    %{mpc64:crtprec64.o%s} \
+    %{mpc80:crtprec80.o%s} \
+Index: gcc/config/i386/darwin.h
+===================================================================
+--- gcc/config/i386/darwin.h   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/i386/darwin.h   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -131,7 +131,7 @@
+ #undef ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+    %{mpc32:crtprec32.o%s} \
+    %{mpc64:crtprec64.o%s} \
+    %{mpc80:crtprec80.o%s}"
+Index: gcc/config/i386/mingw32.h
+===================================================================
+--- gcc/config/i386/mingw32.h  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/i386/mingw32.h  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -124,7 +124,7 @@
+ #undef ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+   crtend.o%s"
+ /* Override startfile prefix defaults.  */
 Index: gcc/config/i386/i386.c
 ===================================================================
---- gcc/config/i386/i386.c     (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/i386/i386.c     (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/i386/i386.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/i386/i386.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -2082,6 +2082,10 @@
    /* X86_TUNE_VECTORIZE_DOUBLE: Enable double precision vector
       instructions.  */
@@ -462540,7 +471559,19 @@ Index: gcc/config/i386/i386.c
    };
  
    const char *opts[ARRAY_SIZE (isa_opts) + ARRAY_SIZE (flag_opts) + 6][2];
-@@ -4272,11 +4285,23 @@
+@@ -3399,6 +3412,11 @@
+       PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
+       | PTA_SSSE3 | PTA_SSE4_1 | PTA_SSE4_2 | PTA_AVX
+       | PTA_CX16 | PTA_POPCNT | PTA_AES | PTA_PCLMUL},
++      {"core-avx-i", PROCESSOR_COREI7_64, CPU_COREI7,
++      PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
++      | PTA_SSSE3 | PTA_SSE4_1 | PTA_SSE4_2 | PTA_AVX
++      | PTA_CX16 | PTA_POPCNT | PTA_AES | PTA_PCLMUL | PTA_FSGSBASE
++      | PTA_RDRND | PTA_F16C},
+       {"atom", PROCESSOR_ATOM, CPU_ATOM,
+       PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
+       | PTA_SSSE3 | PTA_CX16 | PTA_MOVBE},
+@@ -4272,11 +4290,23 @@
    if (TARGET_AVX)
      {
        /* When not optimize for size, enable vzeroupper optimization for
@@ -462569,7 +471600,34 @@ Index: gcc/config/i386/i386.c
      }
    else 
      {
-@@ -15591,6 +15616,57 @@
+@@ -12672,7 +12702,7 @@
+       {
+         dest = force_reg (Pmode, gen_rtx_PLUS (Pmode, tp, dest));
+-        set_unique_reg_note (get_last_insn (), REG_EQUIV, x);
++        set_unique_reg_note (get_last_insn (), REG_EQUAL, x);
+       }
+       break;
+@@ -12703,7 +12733,7 @@
+       {
+         rtx x = ix86_tls_module_base ();
+-        set_unique_reg_note (get_last_insn (), REG_EQUIV,
++        set_unique_reg_note (get_last_insn (), REG_EQUAL,
+                              gen_rtx_MINUS (Pmode, x, tp));
+       }
+@@ -12716,7 +12746,7 @@
+       {
+         dest = force_reg (Pmode, gen_rtx_PLUS (Pmode, dest, tp));
+-        set_unique_reg_note (get_last_insn (), REG_EQUIV, x);
++        set_unique_reg_note (get_last_insn (), REG_EQUAL, x);
+       }
+       break;
+@@ -15591,6 +15621,57 @@
    emit_insn (gen_rtx_SET (VOIDmode, op0, op1));
  }
  
@@ -462627,7 +471685,7 @@ Index: gcc/config/i386/i386.c
  /* Implement the movmisalign patterns for SSE.  Non-SSE modes go
     straight to ix86_expand_vector_move.  */
  /* Code generation for scalar reg-reg moves of single and double precision data:
-@@ -15675,7 +15751,7 @@
+@@ -15675,7 +15756,7 @@
            case 32:
              op0 = gen_lowpart (V32QImode, op0);
              op1 = gen_lowpart (V32QImode, op1);
@@ -462636,7 +471694,7 @@ Index: gcc/config/i386/i386.c
              break;
            default:
              gcc_unreachable ();
-@@ -15691,7 +15767,7 @@
+@@ -15691,7 +15772,7 @@
              emit_insn (gen_avx_movups (op0, op1));
              break;
            case V8SFmode:
@@ -462645,7 +471703,7 @@ Index: gcc/config/i386/i386.c
              break;
            case V2DFmode:
              if (TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL)
-@@ -15704,7 +15780,7 @@
+@@ -15704,7 +15785,7 @@
              emit_insn (gen_avx_movupd (op0, op1));
              break;
            case V4DFmode:
@@ -462654,7 +471712,71 @@ Index: gcc/config/i386/i386.c
              break;
            default:
              gcc_unreachable ();
-@@ -29013,12 +29089,12 @@
+@@ -18603,6 +18684,11 @@
+ {
+   rtx tmp;
++  /* AVX supports all the needed comparisons, no need to swap arguments
++     nor help reload.  */
++  if (TARGET_AVX)
++    return code;
++
+   switch (code)
+     {
+     case LTGT:
+@@ -18851,7 +18937,32 @@
+   code = ix86_prepare_sse_fp_compare_args (operands[0], code,
+                                          &operands[4], &operands[5]);
+   if (code == UNKNOWN)
+-    return false;
++    {
++      rtx temp;
++      switch (GET_CODE (operands[3]))
++      {
++      case LTGT:
++        temp = ix86_expand_sse_cmp (operands[0], ORDERED, operands[4],
++                                    operands[5], operands[0], operands[0]);
++        cmp = ix86_expand_sse_cmp (operands[0], NE, operands[4],
++                                   operands[5], operands[1], operands[2]);
++        code = AND;
++        break;
++      case UNEQ:
++        temp = ix86_expand_sse_cmp (operands[0], UNORDERED, operands[4],
++                                    operands[5], operands[0], operands[0]);
++        cmp = ix86_expand_sse_cmp (operands[0], EQ, operands[4],
++                                   operands[5], operands[1], operands[2]);
++        code = IOR;
++        break;
++      default:
++        gcc_unreachable ();
++      }
++      cmp = expand_simple_binop (GET_MODE (cmp), code, temp, cmp, cmp, 1,
++                               OPTAB_DIRECT);
++      ix86_expand_sse_movcc (operands[0], cmp, operands[1], operands[2]);
++      return true;
++    }
+   if (ix86_expand_sse_fp_minmax (operands[0], code, operands[4],
+                                operands[5], operands[1], operands[2]))
+@@ -22071,7 +22182,7 @@
+   for (s = ix86_stack_locals; s; s = s->next)
+     if (s->mode == mode && s->n == n)
+-      return copy_rtx (s->rtl);
++      return validize_mem (copy_rtx (s->rtl));
+   s = ggc_alloc_stack_local_entry ();
+   s->n = n;
+@@ -22080,7 +22191,7 @@
+   s->next = ix86_stack_locals;
+   ix86_stack_locals = s;
+-  return s->rtl;
++  return validize_mem (s->rtl);
+ }
+ /* Construct the SYMBOL_REF for the tls_get_addr function.  */
+@@ -29013,12 +29124,12 @@
          /* Negate in op0 or op2 is free: FMS, FNMA, FNMS.  */
        sub = XEXP (x, 0);
        if (GET_CODE (sub) == NEG)
@@ -462669,7 +471791,7 @@ Index: gcc/config/i386/i386.c
        *total += rtx_cost (sub, FMA, speed);
        return true;
        }
-@@ -34830,9 +34906,9 @@
+@@ -34830,9 +34941,9 @@
    switch (mode)
      {
      case SFmode:
@@ -462681,7 +471803,7 @@ Index: gcc/config/i386/i386.c
      case DImode:
        return V2DImode;
      case SImode:
-@@ -34854,7 +34930,7 @@
+@@ -34854,7 +34965,7 @@
  static unsigned int
  ix86_autovectorize_vector_sizes (void)
  {
@@ -462690,10 +471812,35 @@ Index: gcc/config/i386/i386.c
  }
  
  /* Initialize the GCC target structure.  */
+Index: gcc/config/sol2.h
+===================================================================
+--- gcc/config/sol2.h  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/sol2.h  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -132,10 +132,8 @@
+ #define LIB_SPEC \
+   "%{compat-bsd:-lucb -lsocket -lnsl -lelf -laio} \
+    %{!symbolic:\
+-     %{pthreads|pthread:" \
+-        LIB_THREAD_LDFLAGS_SPEC " -lpthread " LIB_TLS_SPEC "} \
+-     %{!pthreads:%{!pthread:%{threads:" \
+-      LIB_THREAD_LDFLAGS_SPEC " -lthread}}} \
++     %{pthreads|pthread:-lpthread " LIB_TLS_SPEC "} \
++     %{!pthreads:%{!pthread:%{threads:-lthread}}} \
+      %{p|pg:-ldl} -lc}"
+ #undef  ENDFILE_SPEC
+@@ -185,6 +183,7 @@
+    %{static:-dn -Bstatic} \
+    %{shared:-G -dy %{!mimpure-text:-z text}} \
+    %{symbolic:-Bsymbolic -G -dy -z text} \
++   %{pthreads|pthread|threads:" LIB_THREAD_LDFLAGS_SPEC "} \
+    %(link_arch) \
+    %{Qy:} %{!Qn:-Qy}"
 Index: gcc/config/avr/avr.md
 ===================================================================
---- gcc/config/avr/avr.md      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/avr/avr.md      (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/avr/avr.md      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/avr/avr.md      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1514,18 +1514,18 @@
                                (match_operand:VOID 2 "const_int_operand" "")))
                (clobber (match_operand 3 ""))])]
@@ -462782,8 +471929,8 @@ Index: gcc/config/avr/avr.md
  ;;<< << << << << << << << << << << << << << << << << << << << << << << << << <<
 Index: gcc/config/avr/avr.c
 ===================================================================
---- gcc/config/avr/avr.c       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/avr/avr.c       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/avr/avr.c       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/avr/avr.c       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -78,7 +78,7 @@
  static void avr_insert_attributes (tree, tree *);
  static void avr_asm_init_sections (void);
@@ -462802,7 +471949,25 @@ Index: gcc/config/avr/avr.c
  #undef TARGET_REGISTER_MOVE_COST
  #define TARGET_REGISTER_MOVE_COST avr_register_move_cost
  #undef TARGET_MEMORY_MOVE_COST
-@@ -1133,8 +1135,7 @@
+@@ -533,6 +535,17 @@
+   for (reg = 0; reg < 18; ++reg)
+     {
++      if (fixed_regs[reg])
++        {
++          /* Don't recognize sequences that contain global register
++             variables.  */
++      
++          if (live_seq != 0)
++            return 0;
++          else
++            continue;
++        }
++      
+       if (!call_used_regs[reg])
+       {
+         if (df_regs_ever_live_p (reg))
+@@ -1133,8 +1146,7 @@
                 true_regnum (XEXP (x, 0)));
        debug_rtx (x);
      }
@@ -462812,7 +471977,7 @@ Index: gcc/config/avr/avr.c
    if (REG_P (x) && (strict ? REG_OK_FOR_BASE_STRICT_P (x)
                      : REG_OK_FOR_BASE_NOSTRICT_P (x)))
      r = POINTER_REGS;
-@@ -1476,9 +1477,8 @@
+@@ -1476,9 +1488,8 @@
            {
              rtx x = XEXP (src, 1);
  
@@ -462824,7 +471989,21 @@ Index: gcc/config/avr/avr.c
                {
                  cc_status.value1 = SET_DEST (set);
                  cc_status.flags |= CC_OVERFLOW_UNUSABLE;
-@@ -4395,7 +4395,9 @@
+@@ -3107,8 +3118,11 @@
+     }
+   else if (register_operand (operands[2], QImode))
+     {
+-      if (reg_unused_after (insn, operands[2]))
+-      op[3] = op[2];
++      if (reg_unused_after (insn, operands[2])
++          && !reg_overlap_mentioned_p (operands[0], operands[2]))
++        {
++          op[3] = op[2];
++        }
+       else
+       {
+         op[3] = tmp_reg_rtx;
+@@ -4395,7 +4409,9 @@
      if (mode == DImode)
        move_mode = QImode;
      /* Make scratch smaller if needed.  */
@@ -462835,7 +472014,7 @@ Index: gcc/config/avr/avr.c
        scratch = simplify_gen_subreg (move_mode, scratch, HImode, 0); 
  
      move_size = GET_MODE_SIZE (move_mode);
-@@ -4491,6 +4493,8 @@
+@@ -4491,6 +4507,8 @@
                   When this move occurs, it will break chain deadlock.
                   The scratch register is substituted for real move.  */
  
@@ -462844,7 +472023,7 @@ Index: gcc/config/avr/avr.c
                move[size].src = move[blocked].dst;
                move[size].dst =  scratch;
                /* Scratch move is never blocked.  */
-@@ -4961,12 +4965,7 @@
+@@ -4961,12 +4979,7 @@
        }
        else if (TREE_STATIC (*node) || DECL_EXTERNAL (*node))
        {
@@ -462858,7 +472037,7 @@ Index: gcc/config/avr/avr.c
        }
        else
        {
-@@ -5052,7 +5051,19 @@
+@@ -5052,7 +5065,19 @@
        && (TREE_STATIC (node) || DECL_EXTERNAL (node))
        && avr_progmem_p (node, *attributes))
      {
@@ -462879,7 +472058,7 @@ Index: gcc/config/avr/avr.c
          {
            static const char dsec[] = ".progmem.data";
  
-@@ -5107,9 +5118,36 @@
+@@ -5107,9 +5132,36 @@
                 ".noinit section");
      }
  
@@ -462916,7 +472095,7 @@ Index: gcc/config/avr/avr.c
  /* Outputs some appropriate text to go at the start of an assembler
     file.  */
  
-@@ -6048,26 +6086,30 @@
+@@ -6048,26 +6100,30 @@
  int
  avr_hard_regno_mode_ok (int regno, enum machine_mode mode)
  {
@@ -462963,7 +472142,7 @@ Index: gcc/config/avr/avr.c
    return !(regno & 1);
  }
  
-@@ -6194,13 +6236,23 @@
+@@ -6194,13 +6250,23 @@
        && !df_regs_ever_live_p (regno))
      return false;
  
@@ -462988,7 +472167,7 @@ Index: gcc/config/avr/avr.c
                          unsigned int new_reg)
  {
    /* Interrupt functions can only use registers that have already been
-@@ -6211,6 +6263,17 @@
+@@ -6211,6 +6277,17 @@
        && !df_regs_ever_live_p (new_reg))
      return 0;
  
@@ -463006,10 +472185,65 @@ Index: gcc/config/avr/avr.c
    return 1;
  }
  
+Index: gcc/config/ia64/linux.h
+===================================================================
+--- gcc/config/ia64/linux.h    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/ia64/linux.h    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -55,7 +55,7 @@
+ /* Similar to standard Linux, but adding -ffast-math support.  */
+ #undef  ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+    %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
+ /* Define this for shared library support because it isn't in the main
+Index: gcc/config/m68k/m68k.c
+===================================================================
+--- gcc/config/m68k/m68k.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/m68k/m68k.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -136,6 +136,7 @@
+ static bool m68k_legitimate_address_p (enum machine_mode, rtx, bool);
+ static bool m68k_handle_option (size_t, const char *, int);
+ static void m68k_option_override (void);
++static void m68k_override_options_after_change (void);
+ static rtx find_addr_reg (rtx);
+ static const char *singlemove_string (rtx *);
+ static void m68k_output_mi_thunk (FILE *, tree, HOST_WIDE_INT,
+@@ -241,6 +242,9 @@
+ #undef TARGET_OPTION_OVERRIDE
+ #define TARGET_OPTION_OVERRIDE m68k_option_override
++#undef TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE
++#define TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE m68k_override_options_after_change
++
+ #undef TARGET_RTX_COSTS
+ #define TARGET_RTX_COSTS m68k_rtx_costs
+@@ -756,6 +760,19 @@
+     }
+ }
++/* Implement TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE.  */
++
++static void
++m68k_override_options_after_change (void)
++{
++  if (m68k_sched_cpu == CPU_UNKNOWN)
++    {
++      flag_schedule_insns = 0;
++      flag_schedule_insns_after_reload = 0;
++      flag_modulo_sched = 0;
++    }
++}
++
+ /* Generate a macro of the form __mPREFIX_cpu_NAME, where PREFIX is the
+    given argument and NAME is the argument passed to -mcpu.  Return NULL
+    if -mcpu was not passed.  */
 Index: gcc/config/rs6000/vector.md
 ===================================================================
---- gcc/config/rs6000/vector.md        (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/rs6000/vector.md        (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/rs6000/vector.md        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/rs6000/vector.md        (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -454,21 +454,21 @@
    [(set (match_operand:VEC_L 0 "vlogical_operand" "")
        (if_then_else:VEC_L
@@ -463038,8 +472272,8 @@ Index: gcc/config/rs6000/vector.md
  ;; setting CR6 to indicate a combined status
 Index: gcc/config/rs6000/rs6000.c
 ===================================================================
---- gcc/config/rs6000/rs6000.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/rs6000/rs6000.c (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/rs6000/rs6000.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/rs6000/rs6000.c (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -17437,7 +17437,7 @@
        op_false = tmp;
      }
@@ -463049,10 +472283,25 @@ Index: gcc/config/rs6000/rs6000.c
    emit_insn (gen_rtx_SET (VOIDmode,
                          dest,
                          gen_rtx_IF_THEN_ELSE (dest_mode,
+@@ -18498,7 +18498,7 @@
+   info_ptr->world_save_p
+     = (WORLD_SAVE_P (info_ptr)
+        && DEFAULT_ABI == ABI_DARWIN
+-       && ! (cfun->calls_setjmp && flag_exceptions)
++       && !cfun->has_nonlocal_label
+        && info_ptr->first_fp_reg_save == FIRST_SAVED_FP_REGNO
+        && info_ptr->first_gp_reg_save == FIRST_SAVED_GP_REGNO
+        && info_ptr->first_altivec_reg_save == FIRST_SAVED_ALTIVEC_REGNO
+
+Zmiany atrybutów dla: gcc/config/rs6000/rs6000.c
+___________________________________________________________________
+Usunięte: svn:mergeinfo
+   Połączono odwrócone zmiany /trunk/gcc/config/rs6000/rs6000.c:r172073,173624
+
 Index: gcc/config/rs6000/vsx.md
 ===================================================================
---- gcc/config/rs6000/vsx.md   (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/rs6000/vsx.md   (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/rs6000/vsx.md   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/rs6000/vsx.md   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -674,7 +674,7 @@
    [(set (match_operand:VSX_L 0 "vsx_register_operand" "=<VSr>,?wa")
        (if_then_else:VSX_L
@@ -463071,10 +472320,16 @@ Index: gcc/config/rs6000/vsx.md
         (match_operand:VSX_L 2 "vsx_register_operand" "<VSr>,wa")
         (match_operand:VSX_L 3 "vsx_register_operand" "<VSr>,wa")))]
    "VECTOR_MEM_VSX_P (<MODE>mode)"
+
+Zmiany atrybutów dla: gcc/config/rs6000/rs6000.h
+___________________________________________________________________
+Usunięte: svn:mergeinfo
+   Połączono odwrócone zmiany /trunk/gcc/config/rs6000/rs6000.h:r172073,173624
+
 Index: gcc/config/rs6000/altivec.md
 ===================================================================
---- gcc/config/rs6000/altivec.md       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/rs6000/altivec.md       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/rs6000/altivec.md       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/rs6000/altivec.md       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -495,7 +495,7 @@
    [(set (match_operand:VM 0 "altivec_register_operand" "=v")
        (if_then_else:VM
@@ -463095,8 +472350,8 @@ Index: gcc/config/rs6000/altivec.md
    "VECTOR_MEM_ALTIVEC_P (<MODE>mode)"
 Index: gcc/config/darwin.c
 ===================================================================
---- gcc/config/darwin.c        (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/darwin.c        (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/darwin.c        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/darwin.c        (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1195,7 +1195,11 @@
  darwin_mergeable_string_section (tree exp,
                                 unsigned HOST_WIDE_INT align)
@@ -463110,10 +472365,23 @@ Index: gcc/config/darwin.c
        && TREE_CODE (exp) == STRING_CST
        && TREE_CODE (TREE_TYPE (exp)) == ARRAY_TYPE
        && align <= 256
+Index: gcc/config/arm/arm.h
+===================================================================
+--- gcc/config/arm/arm.h       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/arm/arm.h       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -45,6 +45,8 @@
+ #define TARGET_CPU_CPP_BUILTINS()                     \
+   do                                                  \
+     {                                                 \
++      if (TARGET_DSP_MULTIPLY)                        \
++         builtin_define ("__ARM_FEATURE_DSP");        \
+       /* Define __arm__ even when in thumb mode, for  \
+          consistency with armcc.  */                  \
+       builtin_define ("__arm__");                     \
 Index: gcc/config/arm/predicates.md
 ===================================================================
---- gcc/config/arm/predicates.md       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/arm/predicates.md       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/arm/predicates.md       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/arm/predicates.md       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -683,3 +683,6 @@
     } 
    return true; 
@@ -463123,8 +472391,8 @@ Index: gcc/config/arm/predicates.md
 +                       (match_code "plus"))
 Index: gcc/config/arm/arm.md
 ===================================================================
---- gcc/config/arm/arm.md      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ gcc/config/arm/arm.md      (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- gcc/config/arm/arm.md      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/arm/arm.md      (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -8499,18 +8499,22 @@
  ;; Patterns to allow combination of arithmetic, cond code and shifts
  
@@ -463169,10 +472437,498 @@ Index: gcc/config/arm/arm.md
  
  (define_split
    [(set (match_operand:SI 0 "s_register_operand" "")
+Index: gcc/config/pa/pa.md
+===================================================================
+--- gcc/config/pa/pa.md        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/pa/pa.md        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -811,7 +811,7 @@
+                        (match_operand:DI 3 "arith11_operand" "rI"))
+                (match_operand:DI 1 "register_operand" "r")))]
+   "TARGET_64BIT"
+-  "sub%I3,* %3,%2,%%r0\;add,dc %%r0,%1,%0"
++  "sub%I3 %3,%2,%%r0\;add,dc %%r0,%1,%0"
+   [(set_attr "type" "binary")
+    (set_attr "length" "8")])
+@@ -833,7 +833,7 @@
+                        (match_operand:DI 3 "register_operand" "r"))
+                (match_operand:DI 1 "register_operand" "r")))]
+   "TARGET_64BIT"
+-  "sub,* %2,%3,%%r0\;add,dc %%r0,%1,%0"
++  "sub %2,%3,%%r0\;add,dc %%r0,%1,%0"
+   [(set_attr "type" "binary")
+    (set_attr "length" "8")])
+@@ -856,7 +856,7 @@
+                        (match_operand:DI 3 "int11_operand" "I"))
+                (match_operand:DI 1 "register_operand" "r")))]
+   "TARGET_64BIT"
+-  "addi,* %k3,%2,%%r0\;add,dc %%r0,%1,%0"
++  "addi %k3,%2,%%r0\;add,dc %%r0,%1,%0"
+   [(set_attr "type" "binary")
+    (set_attr "length" "8")])
+@@ -902,7 +902,7 @@
+                 (gtu:DI (match_operand:DI 2 "register_operand" "r")
+                         (match_operand:DI 3 "arith11_operand" "rI"))))]
+   "TARGET_64BIT"
+-  "sub%I3,* %3,%2,%%r0\;sub,db %1,%%r0,%0"
++  "sub%I3 %3,%2,%%r0\;sub,db %1,%%r0,%0"
+   [(set_attr "type" "binary")
+    (set_attr "length" "8")])
+@@ -924,7 +924,7 @@
+                                   (match_operand:DI 3 "arith11_operand" "rI")))
+                 (match_operand:DI 4 "register_operand" "r")))]
+   "TARGET_64BIT"
+-  "sub%I3,* %3,%2,%%r0\;sub,db %1,%4,%0"
++  "sub%I3 %3,%2,%%r0\;sub,db %1,%4,%0"
+   [(set_attr "type" "binary")
+    (set_attr "length" "8")])
+@@ -946,7 +946,7 @@
+                 (ltu:DI (match_operand:DI 2 "register_operand" "r")
+                         (match_operand:DI 3 "register_operand" "r"))))]
+   "TARGET_64BIT"
+-  "sub,* %2,%3,%%r0\;sub,db %1,%%r0,%0"
++  "sub %2,%3,%%r0\;sub,db %1,%%r0,%0"
+   [(set_attr "type" "binary")
+    (set_attr "length" "8")])
+@@ -968,7 +968,7 @@
+                                   (match_operand:DI 3 "register_operand" "r")))
+                 (match_operand:DI 4 "register_operand" "r")))]
+   "TARGET_64BIT"
+-  "sub,* %2,%3,%%r0\;sub,db %1,%4,%0"
++  "sub %2,%3,%%r0\;sub,db %1,%4,%0"
+   [(set_attr "type" "binary")
+    (set_attr "length" "8")])
+@@ -991,7 +991,7 @@
+                 (leu:DI (match_operand:DI 2 "register_operand" "r")
+                         (match_operand:DI 3 "int11_operand" "I"))))]
+   "TARGET_64BIT"
+-  "addi,* %k3,%2,%%r0\;sub,db %1,%%r0,%0"
++  "addi %k3,%2,%%r0\;sub,db %1,%%r0,%0"
+   [(set_attr "type" "binary")
+    (set_attr "length" "8")])
+@@ -1013,7 +1013,7 @@
+                                   (match_operand:DI 3 "int11_operand" "I")))
+                 (match_operand:DI 4 "register_operand" "r")))]
+   "TARGET_64BIT"
+-  "addi,* %k3,%2,%%r0\;sub,db %1,%4,%0"
++  "addi %k3,%2,%%r0\;sub,db %1,%4,%0"
+   [(set_attr "type" "binary")
+    (set_attr "length" "8")])
+@@ -6913,7 +6913,7 @@
+     {
+       rtx index = gen_reg_rtx (SImode);
+-      operands[1] = GEN_INT (-INTVAL (operands[1]));
++      operands[1] = gen_int_mode (-INTVAL (operands[1]), SImode);
+       if (!INT_14_BITS (operands[1]))
+       operands[1] = force_reg (SImode, operands[1]);
+       emit_insn (gen_addsi3 (index, operands[0], operands[1]));
+Index: gcc/config/mips/linux.h
+===================================================================
+--- gcc/config/mips/linux.h    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ gcc/config/mips/linux.h    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -147,5 +147,5 @@
+ /* Similar to standard Linux, but adding -ffast-math support.  */
+ #undef  ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
++  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+    %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
+Index: libstdc++-v3/include/std/bitset
+===================================================================
+--- libstdc++-v3/include/std/bitset    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libstdc++-v3/include/std/bitset    (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -52,11 +52,13 @@
+ #include <iosfwd>
+ #include <bits/cxxabi_forced.h>
+-#define _GLIBCXX_BITSET_BITS_PER_WORD  (__CHAR_BIT__ * sizeof(unsigned long))
++#define _GLIBCXX_BITSET_BITS_PER_WORD  (__CHAR_BIT__ * __SIZEOF_LONG__)
+ #define _GLIBCXX_BITSET_WORDS(__n) \
+   ((__n) / _GLIBCXX_BITSET_BITS_PER_WORD + \
+    ((__n) % _GLIBCXX_BITSET_BITS_PER_WORD == 0 ? 0 : 1))
++#define _GLIBCXX_BITSET_BITS_PER_ULL (__CHAR_BIT__ * __SIZEOF_LONG_LONG__)
++
+ namespace std _GLIBCXX_VISIBILITY(default)
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
+@@ -654,6 +656,24 @@
+       _S_do_sanitize(_WordT) { } 
+     };
++#ifdef __GXX_EXPERIMENTAL_CXX0X__
++  template<size_t _Nb, bool = _Nb < _GLIBCXX_BITSET_BITS_PER_ULL>
++    struct _Sanitize_val
++    {
++      static constexpr unsigned long long
++      _S_do_sanitize_val(unsigned long long __val)
++      { return __val; }
++    };
++
++  template<size_t _Nb>
++    struct _Sanitize_val<_Nb, true>
++    {
++      static constexpr unsigned long long
++      _S_do_sanitize_val(unsigned long long __val)
++      { return __val & ~((~static_cast<unsigned long long>(0)) << _Nb); }
++    };
++#endif
++
+   /**
+    *  @brief  The %bitset class represents a @e fixed-size sequence of bits.
+    *
+@@ -819,7 +839,7 @@
+       /// Initial bits bitwise-copied from a single word (others set to zero).
+ #ifdef __GXX_EXPERIMENTAL_CXX0X__
+       constexpr bitset(unsigned long long __val)
+-      : _Base(__val) { }
++      : _Base(_Sanitize_val<_Nb>::_S_do_sanitize_val(__val)) { }
+ #else
+       bitset(unsigned long __val)
+       : _Base(__val)
+@@ -1509,6 +1529,7 @@
+ #undef _GLIBCXX_BITSET_WORDS
+ #undef _GLIBCXX_BITSET_BITS_PER_WORD
++#undef _GLIBCXX_BITSET_BITS_PER_ULL
+ #ifdef __GXX_EXPERIMENTAL_CXX0X__
+Index: libstdc++-v3/include/parallel/algo.h
+===================================================================
+--- libstdc++-v3/include/parallel/algo.h       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libstdc++-v3/include/parallel/algo.h       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
+-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
++// Copyright (C) 2007, 2008, 2009, 2010, 2011 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
+@@ -273,12 +273,12 @@
+                   _BinaryPredicate __comp)
+     {
+       typedef std::iterator_traits<_IIter> _IIterTraits;
+-      typedef std::iterator_traits<_FIterator> iteratorf_traits;
++      typedef std::iterator_traits<_FIterator> _FIterTraits;
+       typedef typename _IIterTraits::iterator_category _IIteratorCategory;
+-      typedef typename iteratorf_traits::iterator_category iteratorf_category;
++      typedef typename _FIterTraits::iterator_category _FIteratorCategory;
+       return __find_first_of_switch(__begin1, __end1, __begin2, __end2, __comp,
+-                                  _IIteratorCategory(), iteratorf_category());
++                                  _IIteratorCategory(), _FIteratorCategory());
+     }
+   // Public interface, insert default comparator
+@@ -288,9 +288,9 @@
+                   _FIterator __begin2, _FIterator __end2)
+     {
+       typedef std::iterator_traits<_IIter> _IIterTraits;
+-      typedef std::iterator_traits<_FIterator> iteratorf_traits;
++      typedef std::iterator_traits<_FIterator> _FIterTraits;
+       typedef typename _IIterTraits::value_type _IValueType;
+-      typedef typename iteratorf_traits::value_type _FValueType;
++      typedef typename _FIterTraits::value_type _FValueType;
+       return __gnu_parallel::find_first_of(__begin1, __end1, __begin2, __end2,
+                          __gnu_parallel::_EqualTo<_IValueType, _FValueType>());
+Index: libstdc++-v3/include/bits/hashtable.h
+===================================================================
+--- libstdc++-v3/include/bits/hashtable.h      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libstdc++-v3/include/bits/hashtable.h      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -683,12 +683,11 @@
+       _M_element_count(__ht._M_element_count),
+       _M_rehash_policy(__ht._M_rehash_policy)
+     {
+-      size_type __n_bkt = __ht._M_rehash_policy._M_next_bkt(0);
+-      __ht._M_buckets = __ht._M_allocate_buckets(__n_bkt);
+-      __ht._M_bucket_count = __n_bkt;
++      __ht._M_rehash_policy = _RehashPolicy();
++      __ht._M_bucket_count = __ht._M_rehash_policy._M_next_bkt(0);
++      __ht._M_buckets = __ht._M_allocate_buckets(__ht._M_bucket_count);
+       __ht._M_begin_bucket_index = __ht._M_bucket_count;
+       __ht._M_element_count = 0;
+-      __ht._M_rehash_policy = _RehashPolicy();
+     }
+   template<typename _Key, typename _Value,
+Index: libstdc++-v3/include/bits/shared_ptr.h
+===================================================================
+--- libstdc++-v3/include/bits/shared_ptr.h     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libstdc++-v3/include/bits/shared_ptr.h     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -543,8 +543,8 @@
+     make_shared(_Args&&... __args)
+     {
+       typedef typename std::remove_const<_Tp>::type _Tp_nc;
+-      return allocate_shared<_Tp>(std::allocator<_Tp_nc>(),
+-                                std::forward<_Args>(__args)...);
++      return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(),
++                                     std::forward<_Args>(__args)...);
+     }
+   /// std::hash specialization for shared_ptr.
+Index: libstdc++-v3/include/bits/shared_ptr_base.h
+===================================================================
+--- libstdc++-v3/include/bits/shared_ptr_base.h        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libstdc++-v3/include/bits/shared_ptr_base.h        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1365,8 +1365,8 @@
+     __make_shared(_Args&&... __args)
+     {
+       typedef typename std::remove_const<_Tp>::type _Tp_nc;
+-      return __allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(),
+-                                       std::forward<_Args>(__args)...);
++      return std::__allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(),
++                                            std::forward<_Args>(__args)...);
+     }
+   /// std::hash specialization for __shared_ptr.
+Index: libstdc++-v3/ChangeLog
+===================================================================
+--- libstdc++-v3/ChangeLog     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libstdc++-v3/ChangeLog     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,42 @@
++2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
++
++      * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
++      rearrange to consistently update __ht._M_rehash_policy before using
++      _M_next_bkt on it.
++
++2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
++          Marc Glisse  <marc.glisse@normalesup.org>
++
++      PR libstdc++/50268
++      * include/std/bitset (struct _Sanitize_val): Add.
++      (bitset<>::bitset(unsigned long long)): Fix.
++      * testsuite/23_containers/bitset/cons/50268.cc: New.
++
++2011-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
++
++      * include/parallel/algo.h: Trivial uglification fixes.
++
++2011-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
++
++      PR libstdc++/49925
++      * include/bits/shared_ptr.h (make_shared): Qualify allocate_shared
++      with std::.
++      * include/bits/shared_ptr_base.h (__make_shared): Likewise.
++
++2011-07-27  Jeffrey Yasskin  <jyasskin@google.com>
++
++      * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Updated.
++
++2011-07-22  Uros Bizjak  <ubizjak@gmail.com>
++
++      Backport from mainline
++      2011-06-07  Paolo Carlini  <paolo.carlini@oracle.com>
++
++      PR libstdc++/49293
++      * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Tweak
++      for glibc 2.14.
++      * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
++
+ 2011-06-27  Release Manager
+       * GCC 4.6.1 released.
+Index: libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc
+===================================================================
+--- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,6 +1,6 @@
+ // { dg-require-namedlocale "ru_RU.ISO-8859-5" }
+-// Copyright (C) 2010 Free Software Foundation
++// Copyright (C) 2010, 2011 Free Software Foundation
+ //
+ // This file is part of the GNU ISO C++ Library.  This library is free
+ // software; you can redistribute it and/or modify it under the
+@@ -49,7 +49,11 @@
+   // get_weekday(iter_type, iter_type, ios_base&, 
+   //             ios_base::iostate&, tm*) const
++#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 14)
++  iss.str("\xbf\xdd\x2e");
++#else
+   iss.str("\xbf\xdd\xd4");
++#endif
+   iterator_type is_it01(iss);
+   tm time01;
+   memset(&time01, -1, sizeof(tm));
+@@ -67,7 +71,11 @@
+   VERIFY( time02.tm_wday == 1 );
+   VERIFY( errorstate == ios_base::eofbit );
++#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 14)
++  iss.str("\xbf\xdd\x2e\xd5\xd4\xd5\xdb\xec\xdd\xd8\xda");
++#else
+   iss.str("\xbf\xdd\xd4\xd5\xd4\xd5\xdb\xec\xdd\xd8\xda");
++#endif
+   iterator_type is_it03(iss);
+   tm time03;
+   memset(&time03, -1, sizeof(tm));
+Index: libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc
+===================================================================
+--- libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -2,7 +2,7 @@
+ // 2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>
+-// Copyright (C) 2010 Free Software Foundation
++// Copyright (C) 2010, 2011 Free Software Foundation
+ //
+ // This file is part of the GNU ISO C++ Library.  This library is free
+ // software; you can redistribute it and/or modify it under the
+@@ -50,6 +50,15 @@
+   // get_weekday(iter_type, iter_type, ios_base&, 
+   //             ios_base::iostate&, tm*) const
++#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 14)
++  const char* awdays[7] = { "\u0412\u0441\u002E",
++                          "\u041F\u043D\u002E",
++                          "\u0412\u0442\u002E",
++                          "\u0421\u0440\u002E",
++                          "\u0427\u0442\u002E",
++                          "\u041F\u0442\u002E",
++                          "\u0421\u0431\u002E" };
++#else
+   const char* awdays[7] = { "\u0412\u0441\u043A",
+                           "\u041F\u043D\u0434",
+                           "\u0412\u0442\u0440",
+@@ -57,6 +66,7 @@
+                           "\u0427\u0442\u0432",
+                           "\u041F\u0442\u043D",
+                           "\u0421\u0431\u0442" };
++#endif
+   for (int i = 0; i < 7; ++i)
+     {
+Index: libstdc++-v3/testsuite/23_containers/bitset/cons/50268.cc
+===================================================================
+--- libstdc++-v3/testsuite/23_containers/bitset/cons/50268.cc  (.../tags/gcc_4_6_1_release)    (wersja 0)
++++ libstdc++-v3/testsuite/23_containers/bitset/cons/50268.cc  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -0,0 +1,84 @@
++// { dg-options "-std=gnu++0x" }
++
++// Copyright (C) 2011 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING3.  If not see
++// <http://www.gnu.org/licenses/>.
++
++#include <bitset>
++#include <testsuite_hooks.h>
++
++// libstdc++/50268
++void test01()
++{
++  bool test __attribute__((unused)) = true;
++
++  std::bitset<1> b1(3ULL);
++  VERIFY( b1.count() == 1ULL );
++
++  std::bitset<3> b2(30ULL);
++  VERIFY( b2.count() == 2ULL );
++
++  std::bitset<6> b3(300ULL);
++  VERIFY( b3.count() == 3ULL );
++
++  std::bitset<9> b4(3000ULL);
++  VERIFY( b4.count() == 5ULL );
++
++  std::bitset<16> b5(300000ULL);
++  VERIFY( b5.count() == 7ULL );
++
++  std::bitset<24> b6(30000000ULL);
++  VERIFY( b6.count() == 9ULL );
++
++  std::bitset<32> b7(30000000000ULL);
++  VERIFY( b7.count() == 13ULL );
++
++  std::bitset<37> b8(3000000000000ULL);
++  VERIFY( b8.count() == 18ULL );
++
++  std::bitset<40> b9(30000000000000ULL);
++  VERIFY( b9.count() == 16ULL );
++
++  std::bitset<45> b10(30000000000000ULL);
++  VERIFY( b10.count() == 20ULL );
++
++  std::bitset<64> b11(30000000000000ULL);
++  VERIFY( b11.count() == 20ULL );
++
++  std::bitset<100> b12(30000000000000ULL);
++  VERIFY( b12.count() == 20ULL );
++
++  std::bitset<200> b13(30000000000000ULL);
++  VERIFY( b13.count() == 20ULL );
++
++  std::bitset<45> b14(18446744073709551615ULL);
++  VERIFY( b14.count() == 45ULL );
++
++  std::bitset<64> b15(18446744073709551615ULL);
++  VERIFY( b15.count() == 64ULL );
++
++  std::bitset<100> b16(18446744073709551615ULL);
++  VERIFY( b16.count() == 64ULL );
++
++  std::bitset<200> b17(18446744073709551615ULL);
++  VERIFY( b17.count() == 64ULL );  
++}
++
++int main()
++{
++  test01();
++  return 0;
++}
+Index: libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
+===================================================================
+--- libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -43,11 +43,11 @@
+ }
+ // { dg-warning "note" "" { target *-*-* } 354 }
+-// { dg-warning "note" "" { target *-*-* } 1086 }
+-// { dg-warning "note" "" { target *-*-* } 469 }
+-// { dg-warning "note" "" { target *-*-* } 587 }
+-// { dg-warning "note" "" { target *-*-* } 1050 }
+-// { dg-warning "note" "" { target *-*-* } 1056 }
+-// { dg-warning "note" "" { target *-*-* } 342 }
+-// { dg-warning "note" "" { target *-*-* } 292 }
++// { dg-warning "note" "" { target *-*-* } 1085 }
++// { dg-warning "note" "" { target *-*-* } 468 }
++// { dg-warning "note" "" { target *-*-* } 586 }
++// { dg-warning "note" "" { target *-*-* } 1049 }
++// { dg-warning "note" "" { target *-*-* } 1055 }
++// { dg-warning "note" "" { target *-*-* } 341 }
++// { dg-warning "note" "" { target *-*-* } 291 }
+ // { dg-warning "note" "" { target *-*-* } 207 }
 Index: configure.ac
 ===================================================================
---- configure.ac       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ configure.ac       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- configure.ac       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ configure.ac       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -186,9 +186,8 @@
  
  # these libraries are built for the target environment, and are built after
@@ -463319,8 +473075,8 @@ Index: configure.ac
  # is now the case.
 Index: libgfortran/m4/eoshift1.m4
 ===================================================================
---- libgfortran/m4/eoshift1.m4 (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libgfortran/m4/eoshift1.m4 (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libgfortran/m4/eoshift1.m4 (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/m4/eoshift1.m4 (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -89,7 +89,6 @@
      {
        int i;
@@ -463331,8 +473087,8 @@ Index: libgfortran/m4/eoshift1.m4
        for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
 Index: libgfortran/m4/eoshift3.m4
 ===================================================================
---- libgfortran/m4/eoshift3.m4 (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libgfortran/m4/eoshift3.m4 (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libgfortran/m4/eoshift3.m4 (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/m4/eoshift3.m4 (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -90,7 +90,6 @@
      {
        int i;
@@ -463343,8 +473099,8 @@ Index: libgfortran/m4/eoshift3.m4
        for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
 Index: libgfortran/runtime/memory.c
 ===================================================================
---- libgfortran/runtime/memory.c       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libgfortran/runtime/memory.c       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libgfortran/runtime/memory.c       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/runtime/memory.c       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -54,8 +54,8 @@
  void *
  internal_malloc_size (size_t size)
@@ -463356,11 +473112,95 @@ Index: libgfortran/runtime/memory.c
  
    return get_mem (size);
  }
+Index: libgfortran/intrinsics/string_intrinsics_inc.c
+===================================================================
+--- libgfortran/intrinsics/string_intrinsics_inc.c     (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/intrinsics/string_intrinsics_inc.c     (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -90,7 +90,7 @@
+   gfc_charlen_type len;
+   int res;
+-  res = memcmp (s1, s2, ((len1 < len2) ? len1 : len2) * sizeof (CHARTYPE));
++  res = MEMCMP (s1, s2, ((len1 < len2) ? len1 : len2));
+   if (res != 0)
+     return res;
+Index: libgfortran/intrinsics/string_intrinsics.c
+===================================================================
+--- libgfortran/intrinsics/string_intrinsics.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/intrinsics/string_intrinsics.c (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -51,7 +51,24 @@
+   return b;
+ }
++/* Compare wide character types, which are handled internally as
++   unsigned 4-byte integers.  */
++int
++memcmp_char4 (const void *a, const void *b, size_t len)
++{
++  const GFC_UINTEGER_4 *pa = a;
++  const GFC_UINTEGER_4 *pb = b;
++  while (len-- > 0)
++    {
++      if (*pa != *pb)
++      return *pa < *pb ? -1 : 1;
++      pa ++;
++      pb ++;
++    }
++  return 0;
++}
++
+ /* All other functions are defined using a few generic macros in
+    string_intrinsics_inc.c, so we avoid code duplication between the
+    various character type kinds.  */
+@@ -64,6 +81,8 @@
+ #define SUFFIX(x) x
+ #undef  MEMSET
+ #define MEMSET memset
++#undef  MEMCMP
++#define MEMCMP memcmp
+ #include "string_intrinsics_inc.c"
+@@ -76,6 +95,8 @@
+ #define SUFFIX(x) x ## _char4
+ #undef  MEMSET
+ #define MEMSET memset_char4
++#undef  MEMCMP
++#define MEMCMP memcmp_char4
+ #include "string_intrinsics_inc.c"
 Index: libgfortran/ChangeLog
 ===================================================================
---- libgfortran/ChangeLog      (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libgfortran/ChangeLog      (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -1,3 +1,32 @@
+--- libgfortran/ChangeLog      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/ChangeLog      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,56 @@
++2011-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
++
++      Backport from trunk
++      PR libfortran/50192
++      * intrinsics/string_intrinsics.c (memcmp_char4):  New function.
++      * intrinsics/string_intrinsics_inc.c:  New macro MEMCMP, either
++      set to memcmp or memcmp_char4.
++      (compare_string):  Use MEMCMP, with correct size for it.
++      * libgfortran.h:  Add prototype for memcmp_char4.
++
++2011-08-19  Tobias Burnus  <burnus@net-b.de>
++
++      PR fortran/50109
++      * io/list_read.c (eat_separator): Fix skipping over "!" lines.
++
++2011-07-27  Tobias Burnus  <burnus@net-b.de>
++
++      Backport from mainline
++      2011-07-23  Tobias Burnus  <burnus@net-b.de>
++
++      PR fortran/49791
++      * io/list_read.c (nml_parse_qualifier): Remove check to
++      enabled extended read for another case.
++
 +2011-07-13  Janne Blomqvist  <jb@gcc.gnu.org>
 +
 +      Backport from trunk:
@@ -463386,17 +473226,17 @@ Index: libgfortran/ChangeLog
 +2011-07-03  Janne Blomqvist  <jb@gcc.gnu.org>
 +
 +      Backport from mainline:
-+        PR libfortran/49296
-+        * io/list_read.c (read_character): Accept EOF as a separator when
-+        reading string.
++      PR libfortran/49296
++      * io/list_read.c (read_character): Accept EOF as a separator when
++      reading string.
 +
  2011-06-27  Release Manager
  
        * GCC 4.6.1 released.
 Index: libgfortran/generated/eoshift3_4.c
 ===================================================================
---- libgfortran/generated/eoshift3_4.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libgfortran/generated/eoshift3_4.c (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libgfortran/generated/eoshift3_4.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/generated/eoshift3_4.c (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -89,7 +89,6 @@
      {
        int i;
@@ -463407,8 +473247,8 @@ Index: libgfortran/generated/eoshift3_4.c
        for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
 Index: libgfortran/generated/eoshift1_8.c
 ===================================================================
---- libgfortran/generated/eoshift1_8.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libgfortran/generated/eoshift1_8.c (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libgfortran/generated/eoshift1_8.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/generated/eoshift1_8.c (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -88,7 +88,6 @@
      {
        int i;
@@ -463419,8 +473259,8 @@ Index: libgfortran/generated/eoshift1_8.c
        for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
 Index: libgfortran/generated/eoshift3_8.c
 ===================================================================
---- libgfortran/generated/eoshift3_8.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libgfortran/generated/eoshift3_8.c (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libgfortran/generated/eoshift3_8.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/generated/eoshift3_8.c (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -89,7 +89,6 @@
      {
        int i;
@@ -463431,8 +473271,8 @@ Index: libgfortran/generated/eoshift3_8.c
        for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
 Index: libgfortran/generated/eoshift1_16.c
 ===================================================================
---- libgfortran/generated/eoshift1_16.c        (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libgfortran/generated/eoshift1_16.c        (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libgfortran/generated/eoshift1_16.c        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/generated/eoshift1_16.c        (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -88,7 +88,6 @@
      {
        int i;
@@ -463443,8 +473283,8 @@ Index: libgfortran/generated/eoshift1_16.c
        for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
 Index: libgfortran/generated/eoshift1_4.c
 ===================================================================
---- libgfortran/generated/eoshift1_4.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libgfortran/generated/eoshift1_4.c (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libgfortran/generated/eoshift1_4.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/generated/eoshift1_4.c (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -88,7 +88,6 @@
      {
        int i;
@@ -463455,8 +473295,8 @@ Index: libgfortran/generated/eoshift1_4.c
        for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
 Index: libgfortran/generated/eoshift3_16.c
 ===================================================================
---- libgfortran/generated/eoshift3_16.c        (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libgfortran/generated/eoshift3_16.c        (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libgfortran/generated/eoshift3_16.c        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/generated/eoshift3_16.c        (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -89,7 +89,6 @@
      {
        int i;
@@ -463465,17 +473305,50 @@ Index: libgfortran/generated/eoshift3_16.c
        ret->offset = 0;
        ret->dtype = array->dtype;
        for (i = 0; i < GFC_DESCRIPTOR_RANK (array); i++)
+Index: libgfortran/libgfortran.h
+===================================================================
+--- libgfortran/libgfortran.h  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/libgfortran.h  (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1284,6 +1284,10 @@
+                                gfc_charlen_type, const gfc_char4_t *);
+ iexport_proto(compare_string_char4);
++extern int memcmp_char4 (const void *, const void *, size_t);
++internal_proto(memcmp_char4);
++
++
+ /* random.c */
+ extern void random_seed_i4 (GFC_INTEGER_4 * size, gfc_array_i4 * put,
 Index: libgfortran/io/list_read.c
 ===================================================================
---- libgfortran/io/list_read.c (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libgfortran/io/list_read.c (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libgfortran/io/list_read.c (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libgfortran/io/list_read.c (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,4 +1,4 @@
 -/* Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
 +/* Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
     Free Software Foundation, Inc.
     Contributed by Andy Vaught
     Namelist input contributed by Paul Thomas
-@@ -659,22 +659,20 @@
+@@ -353,16 +353,7 @@
+                 err = eat_line (dtp);
+                 if (err)
+                   return err;
+-                if ((c = next_char (dtp)) == EOF)
+-                  return LIBERROR_END;
+-                if (c == '!')
+-                  {
+-                    err = eat_line (dtp);
+-                    if (err)
+-                      return err;
+-                    if ((c = next_char (dtp)) == EOF)
+-                      return LIBERROR_END;
+-                  }
++                c = '\n';
+               }
+           }
+         while (c == '\n' || c == '\r' || c == ' ' || c == '\t');
+@@ -659,22 +650,20 @@
      {
      case 't':
        v = 1;
@@ -463502,7 +473375,7 @@ Index: libgfortran/io/list_read.c
        goto possible_name;
  
        unget_char (dtp, c);
-@@ -839,6 +837,7 @@
+@@ -839,6 +828,7 @@
          goto repeat;
  
        CASE_SEPARATORS:        /* Not a repeat count.  */
@@ -463510,7 +473383,7 @@ Index: libgfortran/io/list_read.c
          goto done;
  
        default:
-@@ -887,7 +886,7 @@
+@@ -887,7 +877,7 @@
          push_char (dtp, c);
          break;
  
@@ -463519,7 +473392,7 @@ Index: libgfortran/io/list_read.c
          goto done;
  
        default:
-@@ -1024,7 +1023,7 @@
+@@ -1024,7 +1014,7 @@
    for (;;)
      {
        if ((c = next_char (dtp)) == EOF)
@@ -463528,7 +473401,7 @@ Index: libgfortran/io/list_read.c
        switch (c)
        {
        case '"':
-@@ -1070,8 +1069,8 @@
+@@ -1070,8 +1060,8 @@
       invalid.  */
   done:
    c = next_char (dtp);
@@ -463539,7 +473412,7 @@ Index: libgfortran/io/list_read.c
      {
        unget_char (dtp, c);
        eat_separator (dtp);
-@@ -1081,15 +1080,15 @@
+@@ -1081,15 +1071,15 @@
    else
      {
        free_saved (dtp);
@@ -463560,7 +473433,7 @@ Index: libgfortran/io/list_read.c
  }
  
  
-@@ -1595,6 +1594,7 @@
+@@ -1595,6 +1585,7 @@
          break;
  
        CASE_SEPARATORS:
@@ -463568,10 +473441,18 @@ Index: libgfortran/io/list_read.c
          goto done;
  
        default:
+@@ -2188,7 +2179,6 @@
+                     do not allow excess data to be processed.  */
+                 if (is_array_section == 1
+                     || !(compile_options.allow_std & GFC_STD_GNU)
+-                    || !dtp->u.p.ionml->touched
+                     || dtp->u.p.ionml->type == BT_DERIVED)
+                   ls[dim].end = ls[dim].start;
+                 else
 Index: Makefile.def
 ===================================================================
---- Makefile.def       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ Makefile.def       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- Makefile.def       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ Makefile.def       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -167,7 +167,6 @@
                     missing=maintainer-clean; };
  target_modules = { module= winsup; };
@@ -463609,10 +473490,97 @@ Index: Makefile.def
  dependencies = { module=configure-target-newlib; on=all-binutils; };
  dependencies = { module=configure-target-newlib; on=all-ld; };
  dependencies = { module=configure-target-libgfortran; on=all-target-libquadmath; };
+Index: libmudflap/ChangeLog
+===================================================================
+--- libmudflap/ChangeLog       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libmudflap/ChangeLog       (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,18 @@
++2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
++
++      Revert:
++      2011-07-15  Jakub Jelinek  <jakub@redhat.com>
++
++      PR testsuite/49753
++      PR tree-optimization/49309
++      * testsuite/libmudflap.c++/pass68-frag.cxx: New test.
++
++2011-07-15  Jakub Jelinek  <jakub@redhat.com>
++
++      PR testsuite/49753
++      PR tree-optimization/49309
++      * testsuite/libmudflap.c++/pass68-frag.cxx: New test.
++
+ 2011-06-27  Release Manager
+       * GCC 4.6.1 released.
+Index: libiberty/ChangeLog
+===================================================================
+--- libiberty/ChangeLog        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libiberty/ChangeLog        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,7 @@
++2011-08-06  Uros Bizjak  <ubizjak@gmail.com>
++
++      * testsuite/test-expandargv.c (writeout_test): Check result of fwrite.
++
+ 2011-06-27  Release Manager
+       * GCC 4.6.1 released.
+@@ -514,7 +518,7 @@
+ 2009-04-29  Julian Brown  <julian@codesourcery.com>
+-      * pex-win32.c (pex_win32_pipe): Add _O_NOINHERIT.    
++      * pex-win32.c (pex_win32_pipe): Add _O_NOINHERIT.
+       (pex_win32_exec_child): Ensure each process has only one handle open
+       on pipe endpoints. Close standard input after creating child for
+       symmetry with standard output/standard error.
+@@ -532,7 +536,7 @@
+       section, so that the native build does detect them at configure
+       time.
+       * configure: Regenerated.
+-      
++
+ 2009-04-13  Ozkan Sezer  <sezeroz@gmail.com>
+         PR target/39397
+@@ -632,7 +636,7 @@
+ 2008-10-08  David Edelsohn  <edelsohn@gnu.org>
+       * xstrdup.c: Include <sys/types.h> after "config.h"
+- 
++
+ 2008-10-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
+       * configure.ac: Call AC_SYS_LARGEFILE.
+Index: libiberty/testsuite/test-expandargv.c
+===================================================================
+--- libiberty/testsuite/test-expandargv.c      (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libiberty/testsuite/test-expandargv.c      (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -189,7 +189,7 @@
+ {
+   char filename[256];
+   FILE *fd;
+-  size_t len;
++  size_t len, sys_fwrite;
+   char * parse;
+   /* Unique filename per test */
+@@ -208,7 +208,10 @@
+   /* Run all possible replaces */
+   run_replaces (parse);
+-  fwrite (parse, len, sizeof (char), fd);
++  sys_fwrite = fwrite (parse, sizeof (char), len, fd);
++  if (sys_fwrite != len)
++    fatal_error (__LINE__, "Failed to write to test file.", errno);
++
+   free (parse);
+   fclose (fd);
+ }
 Index: ChangeLog
 ===================================================================
---- ChangeLog  (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ ChangeLog  (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- ChangeLog  (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ ChangeLog  (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,3 +1,19 @@
 +2011-06-27  Hans-Peter Nilsson  <hp@axis.com>
 +
@@ -463633,11 +473601,48 @@ Index: ChangeLog
  2011-06-27  Release Manager
  
        * GCC 4.6.1 released.
+Index: libffi/src/powerpc/darwin_closure.S
+===================================================================
+--- libffi/src/powerpc/darwin_closure.S        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libffi/src/powerpc/darwin_closure.S        (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -534,7 +534,7 @@
+       .lazy_symbol_pointer
+ L_ffi_closure_helper_DARWIN$lazy_ptr:
+       .indirect_symbol _ffi_closure_helper_DARWIN
+-      .long   dyld_stub_binding_helper
++      .g_long dyld_stub_binding_helper
+ #if defined(__ppc64__)
+       .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
+@@ -553,7 +553,8 @@
+       .lazy_symbol_pointer
+ L_darwin64_struct_ret_by_value_p$lazy_ptr:
+       .indirect_symbol _darwin64_struct_ret_by_value_p
+-      .long   dyld_stub_binding_helper
++      .g_long dyld_stub_binding_helper
++
+       .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
+       .align 5
+ L_darwin64_pass_struct_floats$stub:
+@@ -570,6 +571,6 @@
+       .lazy_symbol_pointer
+ L_darwin64_pass_struct_floats$lazy_ptr:
+       .indirect_symbol _darwin64_pass_struct_floats
+-      .long   dyld_stub_binding_helper
++      .g_long dyld_stub_binding_helper
+ #  endif
+ #endif
 Index: libffi/ChangeLog
 ===================================================================
---- libffi/ChangeLog   (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libffi/ChangeLog   (.../branches/gcc-4_6-branch)   (wersja 176280)
-@@ -1,3 +1,15 @@
+--- libffi/ChangeLog   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libffi/ChangeLog   (.../branches/gcc-4_6-branch)   (wersja 178706)
+@@ -1,3 +1,21 @@
++2011-09-04  Iain Sandoe  <iains@gcc.gnu.org>
++
++      PR libffi/49594
++      * src/powerpc/darwin_closure.S (stubs): Make the stub binding
++      helper reference track the architecture pointer size.
++
 +2011-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 +
 +      * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
@@ -463655,8 +473660,8 @@ Index: libffi/ChangeLog
        * GCC 4.6.1 released.
 Index: libffi/testsuite/libffi.call/cls_double_va.c
 ===================================================================
---- libffi/testsuite/libffi.call/cls_double_va.c       (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libffi/testsuite/libffi.call/cls_double_va.c       (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libffi/testsuite/libffi.call/cls_double_va.c       (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libffi/testsuite/libffi.call/cls_double_va.c       (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -6,6 +6,7 @@
  
  /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
@@ -463667,8 +473672,8 @@ Index: libffi/testsuite/libffi.call/cls_double_va.c
  #include "ffitest.h"
 Index: libffi/testsuite/libffi.call/cls_longdouble_va.c
 ===================================================================
---- libffi/testsuite/libffi.call/cls_longdouble_va.c   (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libffi/testsuite/libffi.call/cls_longdouble_va.c   (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libffi/testsuite/libffi.call/cls_longdouble_va.c   (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libffi/testsuite/libffi.call/cls_longdouble_va.c   (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -6,6 +6,7 @@
  
  /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */
@@ -463679,8 +473684,8 @@ Index: libffi/testsuite/libffi.call/cls_longdouble_va.c
  #include "ffitest.h"
 Index: libcpp/po/es.po
 ===================================================================
---- libcpp/po/es.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/es.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/es.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/es.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -7,7 +7,7 @@
  msgstr ""
  "Project-Id-Version: cpplib 4.6-b20101113\n"
@@ -464024,8 +474029,8 @@ Index: libcpp/po/es.po
  msgstr "elemento %s impronunciable"
 Index: libcpp/po/fr.po
 ===================================================================
---- libcpp/po/fr.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/fr.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/fr.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/fr.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -119,7 +119,7 @@
  msgstr ""
  "Project-Id-Version: GNU cpplib 4.3.0\n"
@@ -464444,8 +474449,8 @@ Index: libcpp/po/fr.po
  
 Index: libcpp/po/nl.po
 ===================================================================
---- libcpp/po/nl.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/nl.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/nl.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/nl.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -7,7 +7,7 @@
  msgstr ""
  "Project-Id-Version: cpplib 4.5-b20100204\n"
@@ -464804,8 +474809,8 @@ Index: libcpp/po/nl.po
  msgstr "kan token %s niet spellen"
 Index: libcpp/po/ChangeLog
 ===================================================================
---- libcpp/po/ChangeLog        (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/ChangeLog        (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/ChangeLog        (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/ChangeLog        (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -1,3 +1,9 @@
 +2011-07-08  Joseph Myers  <joseph@codesourcery.com>
 +
@@ -464818,8 +474823,8 @@ Index: libcpp/po/ChangeLog
        * GCC 4.6.1 released.
 Index: libcpp/po/vi.po
 ===================================================================
---- libcpp/po/vi.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/vi.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/vi.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/vi.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -6,7 +6,7 @@
  msgstr ""
  "Project-Id-Version: cpplib 4.5.0\n"
@@ -465171,8 +475176,8 @@ Index: libcpp/po/vi.po
  msgstr "gặp hiệu bài không thể chính tả %s"
 Index: libcpp/po/uk.po
 ===================================================================
---- libcpp/po/uk.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/uk.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/uk.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/uk.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -6,7 +6,7 @@
  msgstr ""
  "Project-Id-Version: cpplib 4.2.1\n"
@@ -465629,8 +475634,8 @@ Index: libcpp/po/uk.po
  
 Index: libcpp/po/ca.po
 ===================================================================
---- libcpp/po/ca.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/ca.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/ca.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/ca.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -11,7 +11,7 @@
  msgstr ""
  "Project-Id-Version: cpplib-4.0.1\n"
@@ -466124,8 +476129,8 @@ Index: libcpp/po/ca.po
  
 Index: libcpp/po/da.po
 ===================================================================
---- libcpp/po/da.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/da.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/da.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/da.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -128,7 +128,7 @@
  msgstr ""
  "Project-Id-Version: gcc 3.3\n"
@@ -466749,8 +476754,8 @@ Index: libcpp/po/da.po
  
 Index: libcpp/po/tr.po
 ===================================================================
---- libcpp/po/tr.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/tr.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/tr.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/tr.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -6,7 +6,7 @@
  msgstr ""
  "Project-Id-Version: cpplib 4.2.0\n"
@@ -467207,8 +477212,8 @@ Index: libcpp/po/tr.po
  
 Index: libcpp/po/be.po
 ===================================================================
---- libcpp/po/be.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/be.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/be.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/be.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -6,7 +6,7 @@
  msgstr ""
  "Project-Id-Version: gcc 3.1\n"
@@ -467647,8 +477652,8 @@ Index: libcpp/po/be.po
  
 Index: libcpp/po/ru.po
 ===================================================================
---- libcpp/po/ru.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/ru.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/ru.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/ru.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -7,7 +7,7 @@
  msgstr ""
  "Project-Id-Version: cpplib 4.6-b20101218\n"
@@ -467992,8 +477997,8 @@ Index: libcpp/po/ru.po
  msgstr "неразбираемый токен %s"
 Index: libcpp/po/de.po
 ===================================================================
---- libcpp/po/de.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/de.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/de.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/de.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -8,7 +8,7 @@
  msgstr ""
  "Project-Id-Version: cpplib 4.6-b20101113\n"
@@ -468337,8 +478342,8 @@ Index: libcpp/po/de.po
  msgstr "nicht buchstabierbares Token %s"
 Index: libcpp/po/sv.po
 ===================================================================
---- libcpp/po/sv.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/sv.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/sv.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/sv.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -10,7 +10,7 @@
  msgstr ""
  "Project-Id-Version: cpplib 4.6-b20101113\n"
@@ -468682,8 +478687,8 @@ Index: libcpp/po/sv.po
  msgstr "ostavbar symbol %s"
 Index: libcpp/po/ja.po
 ===================================================================
---- libcpp/po/ja.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/ja.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/ja.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/ja.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -9,7 +9,7 @@
  msgstr ""
  "Project-Id-Version: cpplib 4.6-b20101113\n"
@@ -469027,8 +479032,8 @@ Index: libcpp/po/ja.po
  msgstr "綴ることができないトークン %s です"
 Index: libcpp/po/zh_TW.po
 ===================================================================
---- libcpp/po/zh_TW.po (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/zh_TW.po (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/zh_TW.po (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/zh_TW.po (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -8,7 +8,7 @@
  msgstr ""
  "Project-Id-Version: cpplib 4.1.0\n"
@@ -469506,8 +479511,8 @@ Index: libcpp/po/zh_TW.po
  
 Index: libcpp/po/id.po
 ===================================================================
---- libcpp/po/id.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/id.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/id.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/id.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -7,7 +7,7 @@
  msgstr ""
  "Project-Id-Version: cpplib 4.5-b20100204\n"
@@ -469859,8 +479864,8 @@ Index: libcpp/po/id.po
  msgstr "tanda %s tidak dapat disebutkan"
 Index: libcpp/po/fi.po
 ===================================================================
---- libcpp/po/fi.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/fi.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/fi.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/fi.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -7,7 +7,7 @@
  msgstr ""
  "Project-Id-Version: cpplib 4.6-b20101218\n"
@@ -470207,8 +480212,8 @@ Index: libcpp/po/fi.po
  msgstr "tavaamaton merkkijono %s"
 Index: libcpp/po/el.po
 ===================================================================
---- libcpp/po/el.po    (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/el.po    (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/el.po    (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/el.po    (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -6,7 +6,7 @@
  msgstr ""
  "Project-Id-Version: gcc 3.2\n"
@@ -470566,8 +480571,8 @@ Index: libcpp/po/el.po
  msgstr "%s: áäýíáôï ôï Üíïéãìá ôïõ %s: %m\n"
 Index: libcpp/po/zh_CN.po
 ===================================================================
---- libcpp/po/zh_CN.po (.../tags/gcc_4_6_1_release)    (wersja 176280)
-+++ libcpp/po/zh_CN.po (.../branches/gcc-4_6-branch)   (wersja 176280)
+--- libcpp/po/zh_CN.po (.../tags/gcc_4_6_1_release)    (wersja 178706)
++++ libcpp/po/zh_CN.po (.../branches/gcc-4_6-branch)   (wersja 178706)
 @@ -7,7 +7,7 @@
  msgstr ""
  "Project-Id-Version: cpplib 4.6.0\n"
@@ -470909,3 +480914,9 @@ Index: libcpp/po/zh_CN.po
  #, c-format
  msgid "unspellable token %s"
  msgstr "无法拼出的标识符 %s"
+
+Zmiany atrybutów dla: .
+___________________________________________________________________
+Usunięte: svn:mergeinfo
+   Połączono odwrócone zmiany /trunk:r172073
+
index 4e7b72504749e4e5ee99656e3b791422c1b04d62..45faab7ad7b4a57b43144986438c5e54ac6caa9c 100644 (file)
--- a/gcc.spec
+++ b/gcc.spec
@@ -72,7 +72,7 @@ Summary(pl.UTF-8):    Kolekcja kompilatorów GNU: kompilator C i pliki współdziel
 Summary(pt_BR.UTF-8):  Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
 Name:          gcc
 Version:       %{major_ver}.%{minor_ver}
-Release:       2
+Release:       3
 Epoch:         6
 License:       GPL v3+
 Group:         Development/Languages
This page took 2.130889 seconds and 4 git commands to generate.