[rtems-crossrpms commit] New.

Ralf Corsepius ralf at rtems.org
Wed Mar 28 15:15:45 UTC 2012


Module:    rtems-crossrpms
Branch:    master
Commit:    dea2a4c2e110a8787384e16cbea80538d58cb885
Changeset: http://git.rtems.org/rtems-crossrpms/commit/?id=dea2a4c2e110a8787384e16cbea80538d58cb885

Author:    Ralf Corsépius <ralf.corsepius at rtems.org>
Date:      Wed Mar  7 09:01:26 2012 +0100

New.

---

 .../gcc-4.7.0-RC-20120302-rtems4.11-20120307.diff  | 2016 ++++++++++++++++++++
 1 files changed, 2016 insertions(+), 0 deletions(-)

diff --git a/patches/gcc-4.7.0-RC-20120302-rtems4.11-20120307.diff b/patches/gcc-4.7.0-RC-20120302-rtems4.11-20120307.diff
new file mode 100644
index 0000000..01f2657
--- /dev/null
+++ b/patches/gcc-4.7.0-RC-20120302-rtems4.11-20120307.diff
@@ -0,0 +1,2016 @@
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/ChangeLog gcc-4.7.0-RC-20120302/gcc/ChangeLog
+--- gcc-4.7.0-RC-20120302.orig/gcc/ChangeLog	2012-03-02 12:08:40.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/ChangeLog	2012-03-06 19:10:27.219969056 +0100
+@@ -1,3 +1,59 @@
++2012-03-06  Aldy Hernandez  <aldyh at redhat.com>
++
++	* trans-mem.c: New typedef for tm_region_p.
++	Define vector types for tm_region_p.
++	(tm_region_init): Replace region_worklist to a vector called
++	bb_regions.
++
++2012-03-06  Aldy Hernandez  <aldyh at redhat.com>
++
++	PR middle-end/52463
++	* trans-mem.c (tm_region_init): Use last_basic_block.
++
++2012-03-05  Richard Henderson  <rth at redhat.com>
++
++	PR tree-opt/52242
++	Revert: 2011-11-26  Richard Henderson  <rth at redhat.com>
++	* omp-low.c (expand_omp_atomic): Assume anything aligned to
++	BIGGEST_ALIGNMENT is aligned.
++
++2012-03-05  Oleg Endo  <olegendo at gcc.gnu.org>
++
++	* config/sh/sh.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
++
++2012-03-05  Richard Henderson  <rth at redhat.com>
++
++	PR target/52481
++	* config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
++	instead of calling negqi2 directly.
++
++2012-03-05  Rainer Orth  <ro at CeBiTec.Uni-Bielefeld.DE>
++
++	* config/mips/iris6.h [!USED_FOR_TARGET] (long_intmax): Declare.
++	(INTMAX_TYPE): Use it.
++	(UINTMAX_TYPE): Likewise.
++	(SUBTARGET_OVERRIDE_OPTIONS): Define.
++	(irix6_c_common_override_options): Declare.
++	(C_COMMON_OVERRIDE_OPTIONS): Define.
++	* config/mips/mips.c [TARGET_IRIX6] (long_intmax): Define.
++	* config/mips/irix6-c.c: New file.
++	* config/mips/t-irix6 (irix6-c.o): New target.
++	* config.gcc (mips-sgi-irix6.5): Set c_target_objs,
++	cxx_target_objs.
++
++2012-03-02  Richard Henderson  <rth at redhat.com>
++
++	* optabs.c (expand_atomic_test_and_set): Honor
++	atomic_test_and_set_trueval even when atomic_test_and_set
++	optab is not in use.
++
++2012-03-02  Peter Bergner  <bergner at vnet.ibm.com>
++
++	Backport from mainline
++	2012-03-02  Peter Bergner  <bergner at vnet.ibm.com>
++
++	* config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
++
+ 2012-03-02  Richard Guenther  <rguenther at suse.de>
+ 
+ 	* DEV-PHASE: Set to prerelease.
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/ChangeLog.rtems gcc-4.7.0-RC-20120302/gcc/ChangeLog.rtems
+--- gcc-4.7.0-RC-20120302.orig/gcc/ChangeLog.rtems	1970-01-01 01:00:00.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/ChangeLog.rtems	2012-03-07 05:39:48.440533410 +0100
+@@ -0,0 +1,51 @@
++2012-03-07	Richard Henderson <rth at redhat.com>
++
++	* config/m68k/m68k.h (ISA_HAS_TAS): New.
++	* config/m68k/sync.md (atomic_test_and_set): Use it.
++	(atomic_test_and_set_1): Likewise.
++
++2011-10-28	Ralf Corsépius <ralf.corsepius at rtems.org>
++
++	* config/avr/rtems.h: Remove __USE_INIT_FINI__.
++
++2011-06-20	Ralf Corsépius <ralf.corsepius at rtems.org>
++
++	* sparc/t-rtems: Reflect introduction of sparc/t-crtin.
++
++2011-03-23	Joel Sherrill <joel.sherrill at oarcorp.com>
++
++	* config.gcc (sparc-*-rtems*, sparc64-*-rtems*):
++	Add sparc/t-rtems, crti.o crtn.o.
++	* config/sparc/t-rtems: New.
++
++2011-03-22	Ralf Corsépius <ralf.corsepius at rtems.org>
++
++	* config.gcc (sparc64-rtems*): Remove sysv.h from tm_file.
++
++2010-05-19  Joel Sherrill <joel.sherrill at oarcorp.com>
++
++    	* config.gcc (sparc64-*-rtems*): New target.
++	* config/sparc/sp64-rtemself.h: New file.
++
++2010-04-19	Ralf Corsépius <ralf.corsepius at rtems.org>
++
++	* ginclude/stddef.h: Define _MACHINE_ANSI_H_ if _X86_64_ANSI_H_ is 
++	defined (Used by amd64-*-netbsdelf5.*).
++
++2010-04-18	Ralf Corsépius <ralf.corsepius at rtems.org>
++
++	* ginclude/stddef.h: Define _MACHINE_ANSI_H_ if _I386_ANSI_H_ is 
++	defined (Used by i386-*-netbsdelf5.*).
++
++2009-11-04	Ralf Corsépius <ralf.corsepius at rtems.org>
++
++	* config/m32c/rtems.h, config/m68k/rtemself.h,
++	config/m68k/rtemself.h, config/sh/rtemself.h,
++	config/sparc/rtemself.h: Undef WCHAR_TYPE_SIZE, WCHAR_TYPE. 
++	(Resets WCHAR_TYPE's to defaults. Prevents broken GCC tm_files 
++	to interfere and cause wchar_t/wint_t incompatibilities).
++
++		Ralf Corsépius <ralf.corsepius at rtems.org>
++
++	* config/mips/elf.h: Remove NO_IMPLICIT_EXTERN_C.
++	
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/avr/rtems.h gcc-4.7.0-RC-20120302/gcc/config/avr/rtems.h
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/avr/rtems.h	2007-08-02 12:49:31.000000000 +0200
++++ gcc-4.7.0-RC-20120302/gcc/config/avr/rtems.h	2012-03-04 16:26:41.618502887 +0100
+@@ -23,6 +23,5 @@
+ #define TARGET_OS_CPP_BUILTINS()	\
+ do {					\
+   builtin_define ("__rtems__");		\
+-  builtin_define ("__USE_INIT_FINI__");	\
+   builtin_assert ("system=rtems");	\
+ } while (0)
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/avr/t-rtems gcc-4.7.0-RC-20120302/gcc/config/avr/t-rtems
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/avr/t-rtems	2004-11-23 04:44:03.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/config/avr/t-rtems	2012-03-05 14:43:02.007432143 +0100
+@@ -1,3 +1,4 @@
+ # Multilibs for avr RTEMS targets.
+ 
+-# ATM, this is just a stub
++# RTEMS uses _exit from newlib
++LIB1ASMFUNCS := $(filter-out _exit,$(LIB1ASMFUNCS))
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/h8300/h8300.h gcc-4.7.0-RC-20120302/gcc/config/h8300/h8300.h
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/h8300/h8300.h	2011-07-20 00:34:31.000000000 +0200
++++ gcc-4.7.0-RC-20120302/gcc/config/h8300/h8300.h	2012-03-05 14:43:02.024432440 +0100
+@@ -129,6 +129,7 @@
+ #define INCOMING_FRAME_SP_OFFSET   (POINTER_SIZE / 8)
+ 
+ #define DWARF_CIE_DATA_ALIGNMENT	2
++#define DWARF2_ADDR_SIZE		4
+ 
+ /* Define this if addresses of constant functions
+    shouldn't be put through pseudo regs where they can be cse'd.
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/m32c/rtems.h gcc-4.7.0-RC-20120302/gcc/config/m32c/rtems.h
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/m32c/rtems.h	2008-12-01 17:34:42.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/config/m32c/rtems.h	2012-03-04 16:25:50.327718545 +0100
+@@ -29,5 +29,9 @@
+     }						\
+   while (0)
+ 
+-/* Use the default */
++/* Use the defaults */
+ #undef LINK_GCC_C_SEQUENCE_SPEC
++
++#undef WCHAR_TYPE
++
++#undef WCHAR_TYPE_SIZE
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/m68k/m68k.h gcc-4.7.0-RC-20120302/gcc/config/m68k/m68k.h
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/m68k/m68k.h	2011-12-19 11:14:13.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/config/m68k/m68k.h	2012-03-07 05:12:38.077618050 +0100
+@@ -249,6 +249,7 @@
+ /* Some instructions are common to more than one ISA.  */
+ #define ISA_HAS_MVS_MVZ	(TARGET_ISAB || TARGET_ISAC)
+ #define ISA_HAS_FF1	(TARGET_ISAAPLUS || TARGET_ISAC)
++#define ISA_HAS_TAS	(!TARGET_COLDFIRE || TARGET_ISAB || TARGET_ISAC)
+ 
+ #define TUNE_68000	(m68k_tune == u68000)
+ #define TUNE_68010	(m68k_tune == u68010)
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/m68k/rtemself.h gcc-4.7.0-RC-20120302/gcc/config/m68k/rtemself.h
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/m68k/rtemself.h	2007-08-02 12:49:31.000000000 +0200
++++ gcc-4.7.0-RC-20120302/gcc/config/m68k/rtemself.h	2012-03-04 16:25:50.327718545 +0100
+@@ -31,3 +31,8 @@
+ 	builtin_assert ("system=rtems");	\
+     }						\
+   while (0)
++
++/* Use the defaults */
++#undef WCHAR_TYPE
++
++#undef WCHAR_TYPE_SIZE
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/m68k/sync.md gcc-4.7.0-RC-20120302/gcc/config/m68k/sync.md
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/m68k/sync.md	2012-01-26 23:07:44.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/config/m68k/sync.md	2012-03-07 05:12:38.084618159 +0100
+@@ -60,10 +60,13 @@
+   [(match_operand:QI 0 "register_operand" "")		;; bool success output
+    (match_operand:QI 1 "memory_operand" "")		;; memory
+    (match_operand:SI 2 "const_int_operand" "")]		;; model
+-  ""
++  "ISA_HAS_TAS"
+ {
+-  emit_insn (gen_atomic_test_and_set_1 (operands[0], operands[1]));
+-  emit_insn (gen_negqi2 (operands[0], operands[0]));
++  rtx t = gen_reg_rtx (QImode);
++  emit_insn (gen_atomic_test_and_set_1 (t, operands[1]));
++  t = expand_simple_unop (QImode, NEG, t, operands[0], 0);
++  if (t != operands[0])
++    emit_move_insn (operands[0], t);
+   DONE;
+ })
+ 
+@@ -74,5 +77,5 @@
+ 	  UNSPECV_TAS_1))
+    (set (match_dup 1)
+ 	(unspec_volatile:QI [(match_dup 1)] UNSPECV_TAS_2))]
+-  ""
++  "ISA_HAS_TAS"
+   "tas %1\;sne %0")
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/mips/elf.h gcc-4.7.0-RC-20120302/gcc/config/mips/elf.h
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/mips/elf.h	2010-11-21 01:54:14.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/config/mips/elf.h	2012-03-04 16:25:50.327718545 +0100
+@@ -47,5 +47,3 @@
+ 
+ #undef  ENDFILE_SPEC
+ #define ENDFILE_SPEC "crtend%O%s crtn%O%s"
+-
+-#define NO_IMPLICIT_EXTERN_C 1
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/mips/iris6.h gcc-4.7.0-RC-20120302/gcc/config/mips/iris6.h
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/mips/iris6.h	2011-07-29 20:19:29.000000000 +0200
++++ gcc-4.7.0-RC-20120302/gcc/config/mips/iris6.h	2012-03-06 05:05:31.946001099 +0100
+@@ -1,6 +1,6 @@
+ /* Definitions of target machine for GNU compiler.  IRIX 6.5 version.
+    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 2000,
+-   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
++   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+    Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+@@ -121,6 +121,11 @@
+ #undef WINT_TYPE_SIZE
+ #define WINT_TYPE_SIZE INT_TYPE_SIZE
+ 
++#ifndef USED_FOR_TARGET
++/* Use long for intmax_t, uintmax_t?  */
++extern int long_intmax;
++#endif
++
+ /* C99 stdint.h types.  */
+ #define INT8_TYPE "signed char"
+ #define INT16_TYPE "short int"
+@@ -149,8 +154,8 @@
+ #define UINT_FAST32_TYPE "unsigned int"
+ #define UINT_FAST64_TYPE "long long unsigned int"
+ 
+-#define INTMAX_TYPE "long long int"
+-#define UINTMAX_TYPE "long long unsigned int"
++#define INTMAX_TYPE (long_intmax ? "long int" : "long long int")
++#define UINTMAX_TYPE (long_intmax ? "long unsigned int" : "long long unsigned int")
+ 
+ #define INTPTR_TYPE "long int"
+ #define UINTPTR_TYPE "long unsigned int"
+@@ -206,6 +211,20 @@
+     }								\
+   while (0)
+ 
++/* SUBTARGET_OVERRIDE_OPTIONS is run after C_COMMON_OVERRIDE_OPTIONS, so
++   only set long_intmax if uninitialized.  */
++#undef SUBTARGET_OVERRIDE_OPTIONS
++#define SUBTARGET_OVERRIDE_OPTIONS 		\
++  do						\
++    {						\
++      if (long_intmax == -1)			\
++	long_intmax = mips_abi == ABI_64;	\
++    }						\
++  while (0)
++
++extern void irix6_c_common_override_options (void);
++#define C_COMMON_OVERRIDE_OPTIONS irix6_c_common_override_options()
++
+ #undef SUBTARGET_CC1_SPEC
+ #define SUBTARGET_CC1_SPEC "%{static: -mno-abicalls}"
+ 
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/mips/irix6-c.c gcc-4.7.0-RC-20120302/gcc/config/mips/irix6-c.c
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/mips/irix6-c.c	1970-01-01 01:00:00.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/config/mips/irix6-c.c	2012-03-06 05:05:31.946001099 +0100
+@@ -0,0 +1,38 @@
++/* IRIX 6 support needed only by C/C++ frontends.
++   Copyright (C) 2012 Free Software Foundation, Inc.
++
++This file is part of GCC.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3.  If not see
++<http://www.gnu.org/licenses/>.  */
++
++#include "config.h"
++#include "system.h"
++#include "coretypes.h"
++#include "tree.h"
++#include "tm.h"
++#include "c-family/c-common.h"
++
++/* For C99, intmax_t, uintmax_t are always long long int, otherwise the
++   type differs between 32-bit and 64-bit compilations.  */
++void
++irix6_c_common_override_options (void)
++{
++  if (flag_isoc99 || c_dialect_cxx ())
++    long_intmax = 0;
++  else
++    /* Cannot use LONG_TYPE_SIZE == 64.  LONG_TYPE_SIZE is only set in
++       mips_option_override after C_COMMON_OVERRIDE_OPTIONS.  */
++    long_intmax = mips_abi == ABI_64;
++}
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/mips/mips.c gcc-4.7.0-RC-20120302/gcc/config/mips/mips.c
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/mips/mips.c	2012-02-19 17:47:19.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/config/mips/mips.c	2012-03-06 05:05:31.952001190 +0100
+@@ -539,6 +539,12 @@
+ /* The architecture selected by -mipsN, or null if -mipsN wasn't used.  */
+ static const struct mips_cpu_info *mips_isa_option_info;
+ 
++#if TARGET_IRIX6
++/* On IRIX 6, intmax_t and uintmax_t depend on __c99, which is only
++   available in C-family compilers.  See irix6_c_common_override_options.  */
++int long_intmax = -1;
++#endif
++
+ /* Which cost information to use.  */
+ static const struct mips_rtx_cost_data *mips_cost;
+ 
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/mips/t-irix6 gcc-4.7.0-RC-20120302/gcc/config/mips/t-irix6
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/mips/t-irix6	2011-06-03 19:16:44.000000000 +0200
++++ gcc-4.7.0-RC-20120302/gcc/config/mips/t-irix6	2012-03-06 05:05:31.952001190 +0100
+@@ -2,3 +2,7 @@
+ MULTILIB_DIRNAMES=n32 64
+ MULTILIB_MATCHES=
+ MULTILIB_OSDIRNAMES=../lib32 ../lib64
++
++irix6-c.o: $(srcdir)/config/mips/irix6-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
++  tree.h $(TM_H) $(C_COMMON_H)
++	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/rs6000/rtems.h gcc-4.7.0-RC-20120302/gcc/config/rs6000/rtems.h
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/rs6000/rtems.h	2011-12-06 23:49:57.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/config/rs6000/rtems.h	2012-03-05 14:49:32.129404672 +0100
+@@ -69,3 +69,7 @@
+           rs6000_spe_abi = 1;                                             \
+       }                                                                   \
+   } while(0)
++
++#undef WCHAR_TYPE
++
++#undef WCHAR_TYPE_SIZE
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/rs6000/vsx.md gcc-4.7.0-RC-20120302/gcc/config/rs6000/vsx.md
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/rs6000/vsx.md	2012-01-10 02:01:01.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/config/rs6000/vsx.md	2012-03-05 11:32:56.795143092 +0100
+@@ -1119,9 +1119,9 @@
+   "VECTOR_MEM_VSX_P (<MODE>mode)"
+ {
+   if (INTVAL (operands[3]) == 0)
+-    return \"xxpermdi %x0,%x1,%x2,1\";
++    return \"xxpermdi %x0,%x2,%x1,1\";
+   else if (INTVAL (operands[3]) == 1)
+-    return \"xxpermdi %x0,%x2,%x1,0\";
++    return \"xxpermdi %x0,%x1,%x2,0\";
+   else
+     gcc_unreachable ();
+ }
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/sh/rtemself.h gcc-4.7.0-RC-20120302/gcc/config/sh/rtemself.h
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/sh/rtemself.h	2007-08-02 12:49:31.000000000 +0200
++++ gcc-4.7.0-RC-20120302/gcc/config/sh/rtemself.h	2012-03-04 16:25:50.327718545 +0100
+@@ -24,3 +24,8 @@
+   builtin_define( "__rtems__" );		\
+   builtin_assert( "system=rtems" );		\
+ } while (0)
++
++/* Use the defaults */
++#undef WCHAR_TYPE
++
++#undef WCHAR_TYPE_SIZE
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/sh/sh.c gcc-4.7.0-RC-20120302/gcc/config/sh/sh.c
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/sh/sh.c	2012-03-01 23:46:33.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/config/sh/sh.c	2012-03-06 05:05:31.956001253 +0100
+@@ -575,6 +575,11 @@
+ /* Machine-specific symbol_ref flags.  */
+ #define SYMBOL_FLAG_FUNCVEC_FUNCTION    (SYMBOL_FLAG_MACH_DEP << 0)
+ 
++/* The tas.b instruction sets the 7th bit in the byte, i.e. 0x80.  This value
++   is used by optabs.c atomic op expansion code as well as in sync.md.  */
++#undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
++#define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 0x80
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+ 

+ /* Implement TARGET_OPTION_OVERRIDE macro.  Validate and override 
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/sparc/rtemself.h gcc-4.7.0-RC-20120302/gcc/config/sparc/rtemself.h
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/sparc/rtemself.h	2007-08-02 12:49:31.000000000 +0200
++++ gcc-4.7.0-RC-20120302/gcc/config/sparc/rtemself.h	2012-03-04 16:25:50.327718545 +0100
+@@ -29,5 +29,9 @@
+     }						\
+   while (0)
+ 
+-/* Use the default */
++/* Use the defaults */
+ #undef LINK_GCC_C_SEQUENCE_SPEC
++
++#undef WCHAR_TYPE
++
++#undef WCHAR_TYPE_SIZE
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/sparc/sp64-rtemself.h gcc-4.7.0-RC-20120302/gcc/config/sparc/sp64-rtemself.h
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/sparc/sp64-rtemself.h	1970-01-01 01:00:00.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/config/sparc/sp64-rtemself.h	2012-03-04 16:25:50.327718545 +0100
+@@ -0,0 +1,37 @@
++/* Definitions for rtems targeting a SPARC64 using ELF.
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   Contributed by Joel Sherrill (joel at OARcorp.com).
++
++This file is part of GCC.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3.  If not see
++<http://www.gnu.org/licenses/>.  */
++
++/* Target OS builtins.  */
++#undef TARGET_OS_CPP_BUILTINS
++#define TARGET_OS_CPP_BUILTINS()		\
++  do						\
++    {						\
++	builtin_define ("__rtems__");		\
++	builtin_define ("__USE_INIT_FINI__");	\
++	builtin_assert ("system=rtems");	\
++    }						\
++  while (0)
++
++/* Use the default */
++#undef LINK_GCC_C_SEQUENCE_SPEC
++
++/* we are not svr4 */
++#undef CPP_SUBTARGET_SPEC
++#define CPP_SUBTARGET_SPEC ""
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config/sparc/t-rtems gcc-4.7.0-RC-20120302/gcc/config/sparc/t-rtems
+--- gcc-4.7.0-RC-20120302.orig/gcc/config/sparc/t-rtems	1970-01-01 01:00:00.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/config/sparc/t-rtems	2012-03-04 16:25:50.328718561 +0100
+@@ -0,0 +1,18 @@
++# Copyright (C) 2011 Free Software Foundation, Inc.
++#
++# This file is part of GCC.
++#
++# GCC is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3, or (at your option)
++# any later version.
++#
++# GCC is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with GCC; see the file COPYING3.  If not see
++# <http://www.gnu.org/licenses/>.
++#
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/config.gcc gcc-4.7.0-RC-20120302/gcc/config.gcc
+--- gcc-4.7.0-RC-20120302.orig/gcc/config.gcc	2012-03-02 10:37:30.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/config.gcc	2012-03-06 05:05:32.135003995 +0100
+@@ -1718,6 +1718,8 @@
+ mips-sgi-irix6.5*)
+ 	tm_file="elfos.h ${tm_file} mips/iris6.h"
+ 	tmake_file="mips/t-irix6 t-slibgcc"
++	c_target_objs="irix6-c.o"
++	cxx_target_objs="irix6-c.o"
+ 	extra_options="${extra_options} rpath.opt mips/iris6.opt"
+ 	target_cpu_default="MASK_ABICALLS"
+ 	tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
+@@ -2378,7 +2380,8 @@
+ 	;;
+ sparc-*-rtems*)
+ 	tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
+-	tmake_file="sparc/t-sparc sparc/t-elf t-rtems"
++	tmake_file="sparc/t-sparc sparc/t-elf sparc/t-rtems t-rtems"
++	extra_parts="crtbegin.o crtend.o"
+ 	;;
+ sparc-*-linux*)
+ 	tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
+@@ -2431,8 +2434,9 @@
+ sparc64-*-rtems*)
+ 	tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
+ 	extra_options="${extra_options}"
+-	tmake_file="${tmake_file} sparc/t-sparc t-rtems"
+-	;;
++	tmake_file="${tmake_file} sparc/t-crtin sparc/t-crtfm sparc/t-rtems t-rtems"
++	extra_parts="crtbegin.o crtend.o"
++ 	;;
+ sparc64-*-linux*)
+ 	tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h sparc/tso.h"
+ 	extra_options="${extra_options} sparc/long-double-switch.opt"
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/DATESTAMP gcc-4.7.0-RC-20120302/gcc/DATESTAMP
+--- gcc-4.7.0-RC-20120302.orig/gcc/DATESTAMP	2012-03-02 01:19:12.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/DATESTAMP	2012-03-07 05:41:07.020739896 +0100
+@@ -1 +1 @@
+-20120302
++20120307
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/ginclude/stddef.h gcc-4.7.0-RC-20120302/gcc/ginclude/stddef.h
+--- gcc-4.7.0-RC-20120302.orig/gcc/ginclude/stddef.h	2012-02-12 02:06:04.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/ginclude/stddef.h	2012-03-05 11:32:57.202149354 +0100
+@@ -53,7 +53,13 @@
+    one less case to deal with in the following.  */
+ #if defined (__BSD_NET2__) || defined (____386BSD____) || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__)
+ #include <machine/ansi.h>
++#if !defined(_MACHINE_ANSI_H_)
++#if defined(_I386_ANSI_H_) || defined(_X86_64_ANSI_H_)
++#define _MACHINE_ANSI_H_
+ #endif
++#endif
++#endif
++
+ /* On FreeBSD 5, machine/ansi.h does not exist anymore... */
+ #if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
+ #include <sys/_types.h>
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/Makefile.in gcc-4.7.0-RC-20120302/gcc/Makefile.in
+--- gcc-4.7.0-RC-20120302.orig/gcc/Makefile.in	2012-02-11 09:50:23.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/Makefile.in	2012-03-05 14:19:53.079963312 +0100
+@@ -4811,20 +4811,18 @@
+ install-lto-wrapper: lto-wrapper$(exeext)
+ 	$(INSTALL_PROGRAM) lto-wrapper$(exeext) $(DESTDIR)$(libexecsubdir)/lto-wrapper$(exeext)
+ 
+-install-gcc-ar:
+-	set -e ; \
+-	for i in ar nm ranlib ; do \
+-	  install_name=`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ;\
+-	  target_install_name=$(target_noncanonical)-`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ; \
+-	  binname=gcc-$$i$(exeext) ; \
+-	  rm -f $(DESTDIR)$(bindir)/$$install_name ; \
+-	  rm -f $(DESTDIR)$(bindir)/$$target_install_name ; \
+-	  $(INSTALL_PROGRAM) $$binname $(DESTDIR)$(bindir)/$$install_name ;\
+-	  if test -f $(DESTDIR)$(bindir)$$target_install_name ; then \
++install-gcc-ar: installdirs gcc-ar$(exeext) gcc-nm$(exeext) gcc-ranlib$(exeext)
++	for i in gcc-ar gcc-nm gcc-ranlib; do \
++	  install_name=`echo $$i|sed '$(program_transform_name)'` ;\
++	  target_install_name=$(target_noncanonical)-`echo $$i|sed '$(program_transform_name)'` ; \
++	  rm -f $(DESTDIR)$(bindir)/$$install_name$(exeext) ; \
++	  $(INSTALL_PROGRAM) $$i$(exeext) $(DESTDIR)$(bindir)/$$install_name$(exeext) ;\
++	  if test -f gcc-cross$(exeext); then \
+ 	    :; \
+ 	  else \
++	    rm -f $(DESTDIR)$(bindir)/$$target_install_name$(exeext); \
+ 	    ( cd $(DESTDIR)$(bindir) && \
+-	      $(LN) $$install_name $$target_install_name ) ; \
++	      $(LN) $$install_name$(exeext) $$target_install_name$(exeext) ) ; \
+ 	  fi ; \
+ 	done
+ 
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/omp-low.c gcc-4.7.0-RC-20120302/gcc/omp-low.c
+--- gcc-4.7.0-RC-20120302.orig/gcc/omp-low.c	2012-02-13 20:57:24.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/omp-low.c	2012-03-06 05:05:31.958001283 +0100
+@@ -5504,9 +5504,7 @@
+       unsigned int align = TYPE_ALIGN_UNIT (type);
+ 
+       /* __sync builtins require strict data alignment.  */
+-      /* ??? Assume BIGGEST_ALIGNMENT *is* aligned.  */
+-      if (exact_log2 (align) >= index
+-	  || align * BITS_PER_UNIT >= BIGGEST_ALIGNMENT)
++      if (exact_log2 (align) >= index)
+ 	{
+ 	  /* Atomic load.  */
+ 	  if (loaded_val == stored_val
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/optabs.c gcc-4.7.0-RC-20120302/gcc/optabs.c
+--- gcc-4.7.0-RC-20120302.orig/gcc/optabs.c	2012-02-08 16:26:02.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/optabs.c	2012-03-05 11:32:57.339151462 +0100
+@@ -7384,34 +7384,57 @@
+ expand_atomic_test_and_set (rtx target, rtx mem, enum memmodel model)
+ {
+   enum machine_mode mode = GET_MODE (mem);
+-  rtx ret;
++  rtx ret, trueval, subtarget;
+ 
+   ret = maybe_emit_atomic_test_and_set (target, mem, model);
+   if (ret)
+     return ret;
+ 
+-  if (target == NULL_RTX)
+-    target = gen_reg_rtx (mode);
+-
+-  /* If there is no test and set, try exchange, then a compare_and_swap loop,
+-     then __sync_test_and_set.  */
+-  ret = maybe_emit_atomic_exchange (target, mem, const1_rtx, model);
+-  if (ret)
+-    return ret;
+-
+-  ret = maybe_emit_compare_and_swap_exchange_loop (target, mem, const1_rtx);
+-  if (ret)
+-    return ret;
+-
+-  ret = maybe_emit_sync_lock_test_and_set (target, mem, const1_rtx, model);
+-  if (ret)
+-    return ret;
+-
+-  /* Failing all else, assume a single threaded environment and simply perform
+-     the operation.  */
+-  emit_move_insn (target, mem);
+-  emit_move_insn (mem, const1_rtx);
+-  return target;
++  /* Be binary compatible with non-default settings of trueval, and different
++     cpu revisions.  E.g. one revision may have atomic-test-and-set, but
++     another only has atomic-exchange.  */
++  if (targetm.atomic_test_and_set_trueval == 1)
++    {
++      trueval = const1_rtx;
++      subtarget = target ? target : gen_reg_rtx (mode);
++    }
++  else
++    {
++      trueval = gen_int_mode (targetm.atomic_test_and_set_trueval, mode);
++      subtarget = gen_reg_rtx (mode);
++    }
++
++  /* Try the atomic-exchange optab...  */
++  ret = maybe_emit_atomic_exchange (subtarget, mem, trueval, model);
++
++  /* ... then an atomic-compare-and-swap loop ... */
++  if (!ret)
++    ret = maybe_emit_compare_and_swap_exchange_loop (subtarget, mem, trueval);
++
++  /* ... before trying the vaguely defined legacy lock_test_and_set. */
++  if (!ret)
++    ret = maybe_emit_sync_lock_test_and_set (subtarget, mem, trueval, model);
++
++  /* Recall that the legacy lock_test_and_set optab was allowed to do magic
++     things with the value 1.  Thus we try again without trueval.  */
++  if (!ret && targetm.atomic_test_and_set_trueval != 1)
++    ret = maybe_emit_sync_lock_test_and_set (subtarget, mem, const1_rtx, model);
++
++  /* Failing all else, assume a single threaded environment and simply
++     perform the operation.  */
++  if (!ret)
++    {
++      emit_move_insn (subtarget, mem);
++      emit_move_insn (mem, trueval);
++      ret = subtarget;
++    }
++
++  /* Recall that have to return a boolean value; rectify if trueval
++     is not exactly one.  */
++  if (targetm.atomic_test_and_set_trueval != 1)
++    ret = emit_store_flag_force (target, NE, ret, const0_rtx, mode, 0, 1);
++  
++  return ret;
+ }
+ 
+ /* This function expands the atomic exchange operation:
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/po/ChangeLog gcc-4.7.0-RC-20120302/gcc/po/ChangeLog
+--- gcc-4.7.0-RC-20120302.orig/gcc/po/ChangeLog	2012-02-26 14:27:42.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/po/ChangeLog	2012-03-06 05:05:31.970001469 +0100
+@@ -1,3 +1,15 @@
++2012-03-05  Joseph Myers  <joseph at codesourcery.com>
++
++	* sv.po: Update.
++
++2012-03-03  Joseph Myers  <joseph at codesourcery.com>
++
++	* de.po: Update.
++
++2012-03-03  Joseph Myers  <joseph at codesourcery.com>
++
++	* gcc.pot: Regenerate.
++
+ 2012-02-26  Joseph Myers  <joseph at codesourcery.com>
+ 
+ 	* sv.po: Update.
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/po/de.po gcc-4.7.0-RC-20120302/gcc/po/de.po
+--- gcc-4.7.0-RC-20120302.orig/gcc/po/de.po	2012-02-17 01:00:40.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/po/de.po	2012-03-05 11:32:57.492153815 +0100
+@@ -9,7 +9,7 @@
+ "Project-Id-Version: gcc 4.7-b20120128\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+ "POT-Creation-Date: 2012-01-27 16:13+0000\n"
+-"PO-Revision-Date: 2012-02-15 21:55+0200\n"
++"PO-Revision-Date: 2012-03-03 13:30+0200\n"
+ "Last-Translator: Roland Stigge <stigge at antcom.de>\n"
+ "Language-Team: German <translation-team-de at lists.sourceforge.net>\n"
+ "Language: de\n"
+@@ -42848,7 +42848,7 @@
+ #: fortran/symbol.c:294
+ #, 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 ist nicht C-kompatibel, sondern ein Scheinargument für BIND(C)-Prozedur »%s« bei %L"
++msgstr "Implizit deklarierte Variable »%s« bei %L könnte nicht C-kompatibel sein, ist aber ein Scheinargument für BIND(C)-Prozedur »%s« bei %L"
+ 
+ #: fortran/symbol.c:335
+ #, gcc-internal-format, gfc-internal-format
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/po/sv.po gcc-4.7.0-RC-20120302/gcc/po/sv.po
+--- gcc-4.7.0-RC-20120302.orig/gcc/po/sv.po	2012-02-26 14:27:42.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/po/sv.po	2012-03-06 05:05:31.983001666 +0100
+@@ -11,7 +11,7 @@
+ "Project-Id-Version: gcc 4.7-b20120128\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+ "POT-Creation-Date: 2012-01-27 16:13+0000\n"
+-"PO-Revision-Date: 2012-02-26 14:19+0100\n"
++"PO-Revision-Date: 2012-03-04 20:51+0100\n"
+ "Last-Translator: Göran Uddeborg <goeran at uddeborg.se>\n"
+ "Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
+ "Language: sv\n"
+@@ -30800,9 +30800,9 @@
+ msgstr "användning av gammaldags typkonvertering"
+ 
+ #: cp/parser.c:7283
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%<>>%> operator is treated as two right angle brackets in C++11"
+-msgstr "operatorn %<>>%> kommer att hanteras som två högervinkelparenteser i C++0x"
++msgstr "operatorn %<>>%> hanteras som två högervinkelparenteser i C++11"
+ 
+ #: cp/parser.c:7286
+ #, gcc-internal-format
+@@ -30835,14 +30835,14 @@
+ msgstr "ISO C++ tillåter inte initierare i lambdauttrycks fångstlistor"
+ 
+ #: cp/parser.c:8268
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "capture of non-variable %qD "
+-msgstr "ökning av endast läsbar variabel %qD"
++msgstr "fångst av en icke-variabel %qD"
+ 
+ #: cp/parser.c:8270 cp/parser.c:8279
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%q+#D declared here"
+-msgstr "%q+D är deklarerad här"
++msgstr "%q+#D är deklarerad här"
+ 
+ #: cp/parser.c:8276
+ #, gcc-internal-format
+@@ -30885,9 +30885,9 @@
+ msgstr "%<%T::%D%> namnger konstrueraren, inte typen"
+ 
+ #: cp/parser.c:8939
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "compound-statement in constexpr function"
+-msgstr "%qD är inte en constexpr-funktion"
++msgstr "sammansatt sats i en constexpr-funktion"
+ 
+ #: cp/parser.c:9151 cp/parser.c:22258
+ #, gcc-internal-format
+@@ -30900,9 +30900,9 @@
+ msgstr "typer får inte definieras i villkor"
+ 
+ #: cp/parser.c:9527
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "range-based %<for%> expression of type %qT has incomplete type"
+-msgstr "uttryckssats har ofullständig typ"
++msgstr "intervallbaserat %<for%>-uttryck av typen %qT har ofullständig typ"
+ 
+ #: cp/parser.c:9565
+ #, gcc-internal-format
+@@ -30915,9 +30915,9 @@
+ msgstr ""
+ 
+ #: cp/parser.c:9609
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
+-msgstr "inkonsistenta start-/sluttyper i intervallbaserad for: %qT och %qT"
++msgstr "inkonsistenta start-/sluttyper i intervallbaserat %<for%>-sats: %qT och %qT"
+ 
+ #: cp/parser.c:9740 cp/parser.c:22261
+ #, gcc-internal-format
+@@ -30925,9 +30925,9 @@
+ msgstr "iterationssats förväntades"
+ 
+ #: cp/parser.c:9787
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "range-based %<for%> loops are not allowed in C++98 mode"
+-msgstr "intervallbaserade for-slingor är inte tillåtna i C++98-läge"
++msgstr "intervallbaserade %<for%>-slingor är inte tillåtna i C++98-läge"
+ 
+ #. Issue a warning about this use of a GNU extension.
+ #: cp/parser.c:9909
+@@ -30963,9 +30963,9 @@
+ #. Complain about `auto' as a storage specifier, if
+ #. we're complaining about C++0x compatibility.
+ #: cp/parser.c:10642
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%<auto%> changes meaning in C++11; please remove it"
+-msgstr "%<auto%> kommer ändra betydelse i C++0x; var god ta bort det"
++msgstr "%<auto%> ändrar betydelse i C++11; var god ta bort det"
+ 
+ #: cp/parser.c:10678
+ #, gcc-internal-format
+@@ -31008,9 +31008,9 @@
+ msgstr "det går inte att expandera initierare för medlem %<%D%>"
+ 
+ #: cp/parser.c:11391
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "mem-initializer for %qD follows constructor delegation"
+-msgstr "statisk deklaration av %q+D följer på icke-statisk deklaration"
++msgstr "minnesinitierare för %qD följer en konstruerardelegering"
+ 
+ #: cp/parser.c:11403
+ #, gcc-internal-format
+@@ -31028,14 +31028,14 @@
+ msgstr "nyckelordet %<typename%> är inte tillåtet i detta sammanhang (en kvalificerat medlemsinitierare är implicit en typ)"
+ 
+ #: cp/parser.c:11840
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "expected empty string after %<operator%> keyword"
+-msgstr "en sträng förväntades efter %<#pragma message%>"
++msgstr "en tom sträng förväntades efter nyckelordet %<operator%>"
+ 
+ #: cp/parser.c:11858
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "expected suffix identifier"
+-msgstr "identifierare förväntades"
++msgstr "suffixidentifierare förväntades"
+ 
+ #: cp/parser.c:11863
+ #, gcc-internal-format
+@@ -31251,9 +31251,9 @@
+ msgstr ""
+ 
+ #: cp/parser.c:15085
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "types may not be defined in alias template declarations"
+-msgstr "typer får inte definieras i undantagsdeklarationer"
++msgstr "typer får inte definieras i aliasmalldeklarationer"
+ 
+ #: cp/parser.c:15532
+ #, gcc-internal-format
+@@ -31341,9 +31341,9 @@
+ msgstr "%qD är en namnrymd"
+ 
+ #: cp/parser.c:16487
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "cannot form pointer to member of non-class %q#T"
+-msgstr "skapar pekare till medlem av typ %qT som inte är en klass"
++msgstr "kan inte skapa en pekare till medlem av %q#T som inte är en klass"
+ 
+ #: cp/parser.c:16504
+ #, gcc-internal-format
+@@ -31356,9 +31356,9 @@
+ msgstr "upprepade cv-kvalificerare"
+ 
+ #: cp/parser.c:16621
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "duplicate virt-specifier"
+-msgstr "upprepade cv-kvalificerare"
++msgstr "upprepade virt-specificerare"
+ 
+ #: cp/parser.c:16783 cp/typeck2.c:450 cp/typeck2.c:1670
+ #, gcc-internal-format
+@@ -31396,14 +31396,14 @@
+ msgstr "standardargument är endast tillåtna för funktionsparametrar"
+ 
+ #: cp/parser.c:17333
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "parameter pack %qD cannot have a default argument"
+-msgstr "mallparameterpaket %qD kan inte ha ett standardargument"
++msgstr "parameterpaket %qD kan inte ha ett standardargument"
+ 
+ #: cp/parser.c:17341
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "parameter pack cannot have a default argument"
+-msgstr "mallparameterpaket kan inte ha ett standardargument"
++msgstr "parameterpaket kan inte ha ett standardargument"
+ 
+ #: cp/parser.c:17628
+ #, gcc-internal-format
+@@ -31411,9 +31411,9 @@
+ msgstr "ISO C++ tillåter inte designerade initierare"
+ 
+ #: cp/parser.c:17642
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "ISO C++ does not allow C99 designated initializers"
+-msgstr "ISO C++ tillåter inte designerade initierare"
++msgstr "ISO C++ tillåter inte C99:s designerade initierare"
+ 
+ #: cp/parser.c:17746 cp/parser.c:17868
+ #, gcc-internal-format
+@@ -31441,9 +31441,9 @@
+ msgstr "%<{%> eller %<:%> förväntades"
+ 
+ #: cp/parser.c:18394
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "cannot specify %<override%> for a class"
+-msgstr "kan inte hitta filen för klass %s"
++msgstr "det går inte att ange %<override%> för en klass"
+ 
+ #: cp/parser.c:18402
+ #, gcc-internal-format
+@@ -31491,9 +31491,9 @@
+ msgstr "klassnyckel förväntades"
+ 
+ #: cp/parser.c:18874
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "in C++03 a class-key must be used when declaring a friend"
+-msgstr "en klassnyckel måste användas när en vän deklareras"
++msgstr "i C++03 måste en klassnyckel användas när en vän deklareras"
+ 
+ #: cp/parser.c:18892
+ #, gcc-internal-format
+@@ -31730,14 +31730,14 @@
+ msgstr "%<@throw%> förväntades"
+ 
+ #: cp/parser.c:22185
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "expected %<__transaction_atomic%>"
+-msgstr "%<static_assert%> förväntades"
++msgstr "%<__transaction_atomic%> förväntades"
+ 
+ #: cp/parser.c:22188
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "expected %<__transaction_relaxed%>"
+-msgstr "%<static_assert%> förväntades"
++msgstr "%<__transaction _relaxed%> förväntades"
+ 
+ #: cp/parser.c:22219
+ #, gcc-internal-format
+@@ -31775,9 +31775,9 @@
+ msgstr "%qs-tagg använd vid namngivning av %q#T"
+ 
+ #: cp/parser.c:22514
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%q#T was previously declared here"
+-msgstr "tidigare deklarerad här"
++msgstr "%q#T deklarerades tidigare här"
+ 
+ #: cp/parser.c:22533
+ #, gcc-internal-format
+@@ -31941,9 +31941,9 @@
+ msgstr "specialisering av %qT efter instansiering"
+ 
+ #: cp/pt.c:855
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "partial specialization of alias template %qD"
+-msgstr "explicit specialisering av icke-mall %qT"
++msgstr "partiell specialisering av aliasmall %qD"
+ 
+ #: cp/pt.c:891
+ #, gcc-internal-format
+@@ -32170,9 +32170,9 @@
+ msgstr "standardmallargument får inte användas i vändeklarerade funktionsmallar"
+ 
+ #: cp/pt.c:4687
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "default template arguments may not be used in function templates without -std=c++11 or -std=gnu++11"
+-msgstr "standarmallargument får inte användas i funktionsmallar utan -std=c++0x eller -std=gnu++0x"
++msgstr "standarmallargument får inte användas i funktionsmallar utan -std=c++11 eller -std=gnu++11"
+ 
+ #: cp/pt.c:4690
+ #, gcc-internal-format
+@@ -32291,14 +32291,14 @@
+ msgstr "ursprunglig definition fanns här"
+ 
+ #: cp/pt.c:5368
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because %qD has no linkage"
+-msgstr "%qE är inte ett giltigt mallargument för typ %qT eftersom objekt %qD inte har extern länkklass"
++msgstr "%qE är inte ett giltigt mallargument för typ %qT eftersom %qD inte har någon länkklass"
+ 
+ #: cp/pt.c:5372
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because %qD does not have external linkage"
+-msgstr "%qE är inte ett giltigt mallargument av typ %qT eftersom %qD inte har extern länkklass"
++msgstr "%qE är inte ett giltigt mallargument för typen %qT eftersom %qD inte har extern länkklass"
+ 
+ #: cp/pt.c:5396 cp/pt.c:5997
+ #, gcc-internal-format
+@@ -32311,9 +32311,9 @@
+ msgstr "det måste vara en pekare-till-medlem på formen %<&X::Y%>"
+ 
+ #: cp/pt.c:5449
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  couldn't deduce template parameter %qD"
+-msgstr "fick %d mallparametrar till %q#D"
++msgstr "  kunde inte härleda mallparametrar %qD"
+ 
+ #: cp/pt.c:5464
+ #, gcc-internal-format
+@@ -32321,29 +32321,29 @@
+ msgstr ""
+ 
+ #: cp/pt.c:5473
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  mismatched types %qT and %qT"
+-msgstr "jämförelse mellan typer %qT och %qT"
++msgstr "  typerna %qT och %qT stämmer inte överens"
+ 
+ #: cp/pt.c:5482
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  template parameter %qD is not a parameter pack, but argument %qD is"
+-msgstr "mallparameterpaket %qD kan inte ha ett standardargument"
++msgstr "mallparameter %qD är inte ett parameterpaket, men argunet %qD är det"
+ 
+ #: cp/pt.c:5493
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  template argument %qE does not match pointer-to-member constant %qE"
+-msgstr "mallargument till %qD stämmer inte med orginalmallen %qD"
++msgstr "  mallargument %qE stämmer inte med pekare till medlem-konstanten %qE"
+ 
+ #: cp/pt.c:5503
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  %qE is not equivalent to %qE"
+-msgstr "%qs är inte giltigt för %qs"
++msgstr "  %qE är inte ekvivalent med %qE"
+ 
+ #: cp/pt.c:5512
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  inconsistent parameter pack deduction with %qT and %qT"
+-msgstr "inkonsistent härledning för %qT: %qT och sedan %qT"
++msgstr "  inkonsistent härledning av parameterpaket med %qT och %qT"
+ 
+ #: cp/pt.c:5524
+ #, gcc-internal-format
+@@ -32356,29 +32356,29 @@
+ msgstr ""
+ 
+ #: cp/pt.c:5539
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  variable-sized array type %qT is not a valid template argument"
+-msgstr "partiell specialisering %qT specialiserar inte något mallargument"
++msgstr "  vektortypen %qT med variabel storlek är inte ett giltigt mallargument"
+ 
+ #: cp/pt.c:5550
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  member function type %qT is not a valid template argument"
+-msgstr "%qE är inte ett giltigt mallargument för typen %qT"
++msgstr "  medlemsfunktionstypen %qT är inte ett giltigt mallargument"
+ 
+ #: cp/pt.c:5583
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  cannot convert %qE (type %qT) to type %qT"
+-msgstr "kan inte konvertera typ %qT till typ %qT"
++msgstr "  kan inte konvertera %qE (typen %qT) till typ %qT"
+ 
+ #: cp/pt.c:5596
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  %qT is an ambiguous base class of %qT"
+-msgstr "%qT är en tvetydig bas till %qT"
++msgstr "  %qT är en tvetydig basklass till %qT"
+ 
+ #: cp/pt.c:5600
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  %qT is not derived from %qT"
+-msgstr "typ %qT är inte härledd från typen %qT"
++msgstr "  %qT är inte härledd från %qT"
+ 
+ #: cp/pt.c:5611
+ #, gcc-internal-format
+@@ -32386,19 +32386,19 @@
+ msgstr ""
+ 
+ #: cp/pt.c:5621
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  can't deduce a template for %qT from non-template type %qT"
+-msgstr "det går inte att minska en pekare på en ofullständig typ %qT"
++msgstr "  det går inte att härleda en mall för %qT från typen %qT som inte är en mall"
+ 
+ #: cp/pt.c:5631
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  template argument %qE does not match %qD"
+-msgstr "mallargument till %qD stämmer inte med orginalmallen %qD"
++msgstr "  mallargument %qE stämmer inte med %qD"
+ 
+ #: cp/pt.c:5640
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "  could not resolve address from overloaded function %qE"
+-msgstr "en sats kan inte lösa upp adress till överlagrad funktion"
++msgstr "  kunde inte lösa upp adressen från en överlagrad funktion %qE"
+ 
+ #: cp/pt.c:5679
+ #, gcc-internal-format
+@@ -32426,9 +32426,9 @@
+ msgstr "%qE är inte ett giltigt mallargument av typ %qT eftersom %qD inte har extern länkklass"
+ 
+ #: cp/pt.c:5890
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD has no linkage"
+-msgstr "%qE är inte ett giltigt mallargument för typen %qT eftersom %qE inte är en variabel"
++msgstr "%qE är inte ett giltigt mallargument för typen %qT eftersom %qD inte har någon länkklass"
+ 
+ #: cp/pt.c:5920
+ #, gcc-internal-format
+@@ -32481,9 +32481,9 @@
+ msgstr "standardkonverteringar är inte tillåtna i denna kontext"
+ 
+ #: cp/pt.c:6368
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "ignoring attributes on template argument %qT"
+-msgstr "ogiltigt mallargument som inte är en typ"
++msgstr "ignorerar attribut på mallargumentet %qT"
+ 
+ #: cp/pt.c:6426
+ #, gcc-internal-format
+@@ -32491,9 +32491,9 @@
+ msgstr "inskjutet klassnamn %qD använt som mallmallargument"
+ 
+ #: cp/pt.c:6454
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "invalid use of destructor %qE as a type"
+-msgstr "ogiltig användning av destruerare %qD som en typ"
++msgstr "ogiltig användning av destrueraren %qE som en typ"
+ 
+ #: cp/pt.c:6459
+ #, gcc-internal-format
+@@ -32568,9 +32568,9 @@
+ msgstr "mallargument %d är ogiltigt"
+ 
+ #: cp/pt.c:7087
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%q#D is not a function template"
+-msgstr "%qD är inte en funktionsmall"
++msgstr "%q#D är inte en funktionsmall"
+ 
+ #: cp/pt.c:7251
+ #, gcc-internal-format
+@@ -32583,9 +32583,8 @@
+ msgstr "för malldeklaration %q+D"
+ 
+ #: cp/pt.c:8058
+-#, fuzzy
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) substituting %qS"
+-msgstr "mallinstansieringsdjupet överskrider maxvärdet på %d (använd -ftemplate-depth= för att öka maxvärdet) vid instansiering av %qD"
++msgstr "mallinstansieringsdjupet överskrider maxvärdet på %d (använd -ftemplate-depth= för att öka maxvärdet) ersätter med %qS"
+ 
+ #: cp/pt.c:8062
+ #, gcc-internal-format
+@@ -32756,14 +32755,14 @@
+ msgstr ""
+ 
+ #: cp/pt.c:13897
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "use %<%T::%D%> instead"
+-msgstr "%<%T::%E%> är inte en typ"
++msgstr "använd %<%T::%D%> istället"
+ 
+ #: cp/pt.c:13901
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%q+D declared here, later in the translation unit"
+-msgstr "%qE är odeklarerad här (inte i en funktion)"
++msgstr "%q+D är deklarerad här, senare i översättningsenheten"
+ 
+ #: cp/pt.c:14134
+ #, gcc-internal-format
+@@ -32851,9 +32850,9 @@
+ msgstr "lagringsklass %qD tillämpad på mallinstansiering"
+ 
+ #: cp/pt.c:17985
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "explicit instantiation of non-class template %qD"
+-msgstr "explicit instansieringar av icke-mall %q#D"
++msgstr "explicit instansieringar av mallen %q#D som inte är en klass"
+ 
+ #: cp/pt.c:17987
+ #, gcc-internal-format
+@@ -32893,14 +32892,14 @@
+ msgstr "mallinstansieringsdjupet överskrider maxvärdet på %d vid instansiering av %q+D, möjligen från generering av virtuell tabell (använd -ftemplate-depth= för att öka maxvärdet)"
+ 
+ #: cp/pt.c:19161
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "invalid template non-type parameter"
+-msgstr "ogiltig användning av malltypparameter %qT"
++msgstr "ogiltig mallparameter som inte är en typ"
+ 
+ #: cp/pt.c:19163
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%q#T is not a valid type for a template non-type parameter"
+-msgstr "%q#T är inte en giltig typ för en mallkonstantparameter"
++msgstr "%q#T är inte en giltig typ för en mallparameter som inte är en typ"
+ 
+ #: cp/pt.c:20249
+ #, gcc-internal-format
+@@ -33036,14 +33035,14 @@
+ msgstr "åsidosätter borttagen funktion %q+D"
+ 
+ #: cp/search.c:1969
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "virtual function %q+D"
+-msgstr "virtuell icke klassfunktion %qs"
++msgstr "virtuell funktion %q+D"
+ 
+ #: cp/search.c:1970
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "overriding final function %q+D"
+-msgstr "åsidosätter borttagen funktion %q+D"
++msgstr "åsidosätter den slutlig funktionen %q+D"
+ 
+ #. A static member function cannot match an inherited
+ #. virtual member function.
+@@ -33165,12 +33164,12 @@
+ #: cp/semantics.c:3005
+ #, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+-msgstr "användning av %<auto%>-variabel från inneslutande funktion"
++msgstr "användning av %<auto%>-variabel från den kringliggande funktionen"
+ 
+ #: cp/semantics.c:3006
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "use of parameter from containing function"
+-msgstr "användning av %<auto%>-variabel från inneslutande funktion"
++msgstr "användning av parameter från den kringliggande funktionen"
+ 
+ #: cp/semantics.c:3007
+ #, gcc-internal-format
+@@ -33214,15 +33213,15 @@
+ msgstr "typen på %qE är okänd"
+ 
+ #: cp/semantics.c:3398
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%qT is not an enumeration type"
+-msgstr "%qD är inte ett uppräkningsnamn"
++msgstr "%qT är inte ett uppräkningstyp"
+ 
+ #. Parameter packs can only be used in templates
+ #: cp/semantics.c:3546
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "Parameter pack __bases only valid in template declaration"
+-msgstr "specificerare av lagringsklass ogiltig i parameterdeklarationer"
++msgstr "Parameterpakets-__bases är endast giltiga i malldeklarationer"
+ 
+ #: cp/semantics.c:3566
+ #, gcc-internal-format
+@@ -33286,9 +33285,9 @@
+ 
+ #. Report the error.
+ #: cp/semantics.c:5135
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "static assertion failed: %s"
+-msgstr "statisk försäkran misslyckades: %E"
++msgstr "statisk försäkran misslyckades: %s"
+ 
+ #: cp/semantics.c:5138
+ #, gcc-internal-format
+@@ -33301,9 +33300,9 @@
+ msgstr "argument till decltype måste vara ett uttryck"
+ 
+ #: cp/semantics.c:5196
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "decltype cannot resolve address of overloaded function"
+-msgstr "en sats kan inte lösa upp adress till överlagrad funktion"
++msgstr "decltype kan inte lösa upp adressen till en överlagrad funktion"
+ 
+ #: cp/semantics.c:5519
+ #, gcc-internal-format
+@@ -33326,9 +33325,9 @@
+ msgstr "ogiltig returtyp %qT för constexpr-funktionen %q+D"
+ 
+ #: cp/semantics.c:5742
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%q#T has virtual base classes"
+-msgstr "%q#T är inte en klass"
++msgstr "%q#T har virtuella basklasser"
+ 
+ #: cp/semantics.c:5879
+ #, gcc-internal-format
+@@ -33346,9 +33345,9 @@
+ msgstr "kroppen i constexpr-funktionen %qD är inte en retursats"
+ 
+ #: cp/semantics.c:6151
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%q+D is not usable as a constexpr function because:"
+-msgstr "%qD är inte en constexpr-funktion"
++msgstr "%q+D är inte användbar som en constexpr-funktion eftersom:"
+ 
+ #: cp/semantics.c:6475
+ #, gcc-internal-format
+@@ -33356,15 +33355,15 @@
+ msgstr "uttrycket %qE anger inte en constexpr-funktion"
+ 
+ #: cp/semantics.c:6489 cp/semantics.c:8072
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "call to non-constexpr function %qD"
+-msgstr "anrop av icke-funktion %qD"
++msgstr "anrop av icke-constexpr-funktion %qD"
+ 
+ #. The definition of fun was somehow unsuitable.
+ #: cp/semantics.c:6517
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "%qD called in a constant expression"
+-msgstr "%qE är inte ett konstant uttryck"
++msgstr "%qD anropad i ett konstant uttryck"
+ 
+ #: cp/semantics.c:6521
+ #, gcc-internal-format
+@@ -33397,9 +33396,9 @@
+ msgstr "%qE är inte ett konstant uttryck"
+ 
+ #: cp/semantics.c:6833
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "mutable %qD is not usable in a constant expression"
+-msgstr "värdet på %qD är inte användbart i ett konstant uttryck"
++msgstr "muterbar %qD är inte användbart i ett konstant uttryck"
+ 
+ #: cp/semantics.c:6848
+ #, gcc-internal-format
+@@ -33452,9 +33451,9 @@
+ msgstr "användning av värdet på objektet som konstrueras i ett konstant uttryck"
+ 
+ #: cp/semantics.c:7539 cp/semantics.c:8342
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "temporary of non-literal type %qT in a constant expression"
+-msgstr "uppräknings- och inte uppräkningstyp i villkorsuttryck"
++msgstr "temporär av den ej literala typen %qT i ett konstant uttryck"
+ 
+ #: cp/semantics.c:7787 cp/semantics.c:8246 cp/semantics.c:8495
+ #, gcc-internal-format
+@@ -33472,9 +33471,9 @@
+ msgstr ""
+ 
+ #: cp/semantics.c:7836
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "conversion from pointer type %qT to arithmetic type %qT in a constant-expression"
+-msgstr "konvertering av uttrycket %qE med pekartyp kan inte ge ett konstant uttryck"
++msgstr "konvertering från pekartypen %qT till den aritmetiska typen %qT i ett konstant uttryck"
+ 
+ #: cp/semantics.c:8007
+ #, gcc-internal-format
+@@ -33482,9 +33481,9 @@
+ msgstr "uttrycket %qE har sidoeffekter"
+ 
+ #: cp/semantics.c:8090
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "calling a member function of the object being constructed in a constant expression"
+-msgstr "användning av värdet på objektet som konstrueras i ett konstant uttryck"
++msgstr "anrop av en medlemsfunktion i objektet som konstrueras i ett konstant uttryck"
+ 
+ #: cp/semantics.c:8172
+ #, gcc-internal-format
+@@ -33518,9 +33517,9 @@
+ 
+ # ast = abstract syntax tree
+ #: cp/semantics.c:8509
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "unexpected AST of kind %s"
+-msgstr "oväntat ast av sorten %s"
++msgstr "oväntat AST av sorten %s"
+ 
+ #: cp/semantics.c:8999
+ #, gcc-internal-format
+@@ -33528,9 +33527,9 @@
+ msgstr "det går inte att fånga %qE via referens"
+ 
+ #: cp/semantics.c:9022
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "already captured %qD in lambda expression"
+-msgstr "fångade redan %<this%> i lambdauttrycket"
++msgstr "redan infångad %qD i lambdauttryck"
+ 
+ #: cp/semantics.c:9168
+ #, gcc-internal-format
+@@ -33678,9 +33677,9 @@
+ msgstr "konvertering från strängkonstant till %qT bör undvikas"
+ 
+ #: cp/typeck.c:2142 cp/typeck.c:2536
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of pointer type %qT (maybe you meant to use %<->%> ?)"
+-msgstr "begäran av medlem %qD i %qE, som är av icke-klasstyp %qT"
++msgstr "begäran av medlem %qD i %qE, som är av pekartypen %qT (kanske du hade tänkt använda %<->%> ?)"
+ 
+ #: cp/typeck.c:2146 cp/typeck.c:2540
+ #, gcc-internal-format
+@@ -34047,9 +34046,9 @@
+ msgstr "adress begärd till %qD, som är deklarerad %<register%>"
+ 
+ #: cp/typeck.c:5571
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "list-initializer for non-class type must not be parenthesized"
+-msgstr "initierare för %qT måste vara inom klamrar"
++msgstr "listinitierare för en typ som inte är en klass får inte vara inom parenteser"
+ 
+ #: cp/typeck.c:5583
+ #, gcc-internal-format
+@@ -34466,9 +34465,9 @@
+ msgstr "ogiltigt användning av %qT"
+ 
+ #: cp/typeck2.c:438
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "invalid use of member function (did you forget the %<()%> ?)"
+-msgstr "ogiltig användning av medlem (glömde du %<&%>?)"
++msgstr "ogiltig användning av medlemsfunktion (glömde du %<()%> ?)"
+ 
+ #: cp/typeck2.c:442
+ #, gcc-internal-format
+@@ -34491,9 +34490,9 @@
+ msgstr "ogiltig användning av beroende typ %qT"
+ 
+ #: cp/typeck2.c:471
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "invalid use of brace-enclosed initializer list"
+-msgstr "<klamrar runt initierarlista>"
++msgstr "ogiltig användning av klammeromsluten initierarlista"
+ 
+ #: cp/typeck2.c:479
+ #, gcc-internal-format
+@@ -34526,9 +34525,9 @@
+ msgstr "avsmalnande konvertering av %qE från %qT till %qT inuti { }"
+ 
+ #: cp/typeck2.c:836
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
+-msgstr "avsmalnande konvertering av %qE från %qT till %qT inuti { }"
++msgstr "avsmalnande konvertering av %qE från %qT till %qT inuti { } är felaktig i C++11"
+ 
+ #: cp/typeck2.c:899
+ #, gcc-internal-format
+@@ -34621,9 +34620,9 @@
+ msgstr "pekare-på-medlemstyp %qT är inkompatibel med objekttyp %qT"
+ 
+ #: cp/typeck2.c:1663
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "functional cast to array type %qT"
+-msgstr "ogiltig konvertering till funktionstyp %qT"
++msgstr "funktionell konvertering till vektortypen %qT"
+ 
+ #: cp/typeck2.c:1684
+ #, gcc-internal-format
+@@ -34744,9 +34743,9 @@
+ msgstr "För få co-dimensioner vid %C, %d och inte %d förväntades"
+ 
+ #: fortran/array.c:243
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Too many codimensions at %C, expected %d not %d"
+-msgstr "För få co-dimensioner vid %C, %d och inte %d förväntades"
++msgstr "För många co-dimensioner vid %C, %d och inte %d förväntades"
+ 
+ #: fortran/array.c:253
+ #, gcc-internal-format, gfc-internal-format
+@@ -34946,9 +34945,9 @@
+ msgstr "”%s” vid %L måste vara ickenegativt"
+ 
+ #: fortran/check.c:314
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "The absolute value of SHIFT at %L must be less than or equal to BIT_SIZE('%s')"
+-msgstr "”%s + %s” vid %L får inte vara mindre än eller lika med BIT_SIZE(”%s”)"
++msgstr "Absolutvärdet av SHIFT vid %L måste vara vara mindre än eller lika med BIT_SIZE(”%s”)"
+ 
+ #: fortran/check.c:325
+ #, gcc-internal-format, gfc-internal-format
+@@ -35037,9 +35036,9 @@
+ msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste vara POINTER"
+ 
+ #: fortran/check.c:910 fortran/check.c:946 fortran/check.c:2853
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "'%s' argument of '%s' intrinsic at %L shall not be conindexed"
+-msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste ha sorten %d"
++msgstr "argumentet ”%s” till inbyggd ”%s” vid %L skall inte vara co-indexerat"
+ 
+ #: fortran/check.c:928
+ #, gcc-internal-format, gfc-internal-format
+@@ -35067,24 +35066,24 @@
+ msgstr ""
+ 
+ #: fortran/check.c:1020
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "ATOM argument at %L of the %s intrinsic function shall be a coarray or coindexed"
+-msgstr "Aktuellt argument till ”%s” vid %L måste vara en co-vektor och inte ett co-index"
++msgstr "ATOM-argumentet till vid %L till den inbyggda funktionen %s måste vara en co-vektor eller co-indexat"
+ 
+ #: fortran/check.c:1027
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "ATOM and VALUE argument of the %s intrinsic function shall have the same type at %L"
+-msgstr "”%s”- och ”%s”-argumenten till inbyggd ”%s” vid %L måste ha samma typ"
++msgstr "ATOM- och VALUE-argumenten till den inbyggda funktionen %s måste ha samma typ vid %L"
+ 
+ #: fortran/check.c:1045
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "ATOM argument of the %s intrinsic function at %L shall be definable"
+-msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste vara standard reell"
++msgstr "ATOM-argumentet till den inbyggda funktionen %s vid %L måste vara definierbart"
+ 
+ #: fortran/check.c:1062
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "VALUE argument of the %s intrinsic function at %L shall be definable"
+-msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste vara standard reell"
++msgstr "VALUE-argumentet till den inbyggda funktionen %s vid %L måste vara definierbart"
+ 
+ #: fortran/check.c:1082
+ #, gcc-internal-format, gfc-internal-format
+@@ -35160,14 +35159,14 @@
+ msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste ha samma sort som ”%s”"
+ 
+ #: fortran/check.c:2038
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "SIZE at %L must be positive"
+-msgstr "”%s” vid %L måste vara ickenegativt"
++msgstr "SIZE vid %L måste vara positivt"
+ 
+ #: fortran/check.c:2050
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "The absolute value of SHIFT at %L must be less than or equal to SIZE at %L"
+-msgstr "”%s + %s” vid %L får inte vara mindre än eller lika med BIT_SIZE(”%s”)"
++msgstr "Absolutvärdet av SHIFT vid %L måste vara mindre än eller lika med SIZE vid %L"
+ 
+ #: fortran/check.c:2111
+ #, gcc-internal-format, gfc-internal-format
+@@ -35235,19 +35234,19 @@
+ msgstr "”%s”- och ”%s”-argumenten till inbyggd ”%s” vid %L måste ha samma sort %d/%d"
+ 
+ #: fortran/check.c:2788
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Argument 'S' of NEAREST at %L shall not be zero"
+-msgstr "Andra argumentet till NEAREST vid %L får inte vara noll"
++msgstr "Argument ”S” till NEAREST vid %L får inte vara noll"
+ 
+ #: fortran/check.c:2838
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER, ALLOCATABLE or procedure pointer"
+-msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste vara ALLOCATABLE"
++msgstr "Argument ”%s” till inbyggd ”%s” vid %L måste vara en POINTER, ALLOCATABLE eller procedurpekare"
+ 
+ #: fortran/check.c:2846
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Fortran 2003: NULL intrinsic with allocatable MOLD at %L"
+-msgstr "Fortran 2003: inbyggd ”%s” vid KIND-argument vid %L"
++msgstr "Fortran 2003: inbyggd NULL med KIND-argument vid %L"
+ 
+ #: fortran/check.c:2925 fortran/check.c:4182
+ #, gcc-internal-format, gfc-internal-format
+@@ -35270,9 +35269,9 @@
+ msgstr "”%s”-argumentet till inbyggd ”%s” vid %L får inte vara ett underobjekt till ”%s”"
+ 
+ #: fortran/check.c:3058
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "The argument of the RANK intrinsic at %L must be a data object"
+-msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste vara en variabel"
++msgstr "Argumentet till inbyggd RANK vid %L måste vara ett dataobjekt"
+ 
+ #: fortran/check.c:3162
+ #, gcc-internal-format, gfc-internal-format
+@@ -35340,14 +35339,14 @@
+ msgstr "”source”-argumentet till inbyggd ”shape” vid %L får inte vara en vektor med förmodad storlek"
+ 
+ #: fortran/check.c:3586
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "'%s' argument of '%s' intrinsic at %L may not be a procedure"
+-msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste vara en skalär"
++msgstr "Argument ”%s” till inbyggd ”%s” vid %L får inte vara en procedur"
+ 
+ #: fortran/check.c:3600
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be an interoperable data entity"
+-msgstr "”%s”-argumentet till inbyggd ”%s” vid %L måste vara en interoperabel dataenhet"
++msgstr "Argumentet ”%s” till inbyggd ”%s” vid %L måste vara en interoperabel dataenhet"
+ 
+ #: fortran/check.c:3629
+ #, gcc-internal-format, gfc-internal-format
+@@ -35557,14 +35556,14 @@
+ msgstr "Proceduren ”%s” vid %L måste ha attributet BIND(C) för att vara C-interoperativ"
+ 
+ #: fortran/decl.c:1013
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Variable '%s' at %L is a dummy argument to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+-msgstr "Typen ”%s” vid %L är en parameter till BIND(C)-proceduren ”%s” men är inte interoperativ med C för att den härledda typen ”%s” inte är interoperativ med C"
++msgstr "Typen ”%s” vid %L är ett atrappargument till BIND(C)-proceduren ”%s” men är inte interoperativ med C för att den härledda typen ”%s” inte är interoperativ med C"
+ 
+ #: fortran/decl.c:1020
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Variable '%s' at %L is a dummy argument to the BIND(C) procedure '%s' but is not C interoperable because it is polymorphic"
+-msgstr "Variabeln ”%s” vid %L är en parameter till BIND(C)-proceduren ”%s” men är kanske inte interoperativ med C"
++msgstr "Variabeln ”%s” vid %L är ett atrappargument till BIND(C)-proceduren ”%s” men är inte interoperativ med C eftersom den är polymorf"
+ 
+ #: fortran/decl.c:1026
+ #, gcc-internal-format, gfc-internal-format
+@@ -35587,14 +35586,14 @@
+ msgstr "Variabeln ”%s” vid %L kan inte ha attributet POINTER eftersom proceduren ”%s” är BIND(C)"
+ 
+ #: fortran/decl.c:1073
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Variable '%s' at %L cannot have both the OPTIONAL and the VALUE attribute because procedure '%s' is BIND(C)"
+-msgstr "Variabeln ”%s” vid %L kan inte ha attributet OPTIONAL eftersom proceduren ”%s” är BIND(C)"
++msgstr "Variabeln ”%s” vid %L kan inte både ha attributet OPTIONAL och VALUE eftersom proceduren ”%s” är BIND(C)"
+ 
+ #: fortran/decl.c:1080
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "TS29113: Variable '%s' at %L with OPTIONAL attribute in procedure '%s' which is BIND(C)"
+-msgstr "Variabeln ”%s” vid %L kan inte ha attributet OPTIONAL eftersom proceduren ”%s” är BIND(C)"
++msgstr "TS29113: Variabeln ”%s” vid %L med attributet OPTIONAL i proceduren ”%s” som är BIND(C)"
+ 
+ #: fortran/decl.c:1094
+ #, gcc-internal-format, gfc-internal-format
+@@ -35712,9 +35711,9 @@
+ msgstr "Dubblerad vektorspecifikation för Cray-utpekad vid vid %C"
+ 
+ #: fortran/decl.c:1965
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "The type of '%s' at %C has not been declared within the interface"
+-msgstr "typen på ”%s” vid %C har inte deklarerats inuti gränssnittet"
++msgstr "Typen på ”%s” vid %C har inte deklarerats inuti gränssnittet"
+ 
+ #: fortran/decl.c:1989
+ #, gcc-internal-format, gfc-internal-format
+@@ -37041,14 +37040,14 @@
+ msgstr "Aritmetisk NaN vid bitvis överförd BOZ vid %L.  Denna kontroll kan avaktiveras med flaggan -fno-range-check"
+ 
+ #: fortran/expr.c:3235
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Change of value in conversion from  %s to %s at %L"
+-msgstr "Möjligändring avvärde vid konvertering från %s till %s vid %L"
++msgstr "Ändring av värde vid konvertering från %s till %s vid %L"
+ 
+ #: fortran/expr.c:3243 fortran/intrinsic.c:4335 fortran/intrinsic.c:4347
+ #, gcc-internal-format, gfc-internal-format
+ msgid "Possible change of value in conversion from %s to %s at %L"
+-msgstr "Möjligändring avvärde vid konvertering från %s till %s vid %L"
++msgstr "Möjlig ändring av värde vid konvertering från %s till %s vid %L"
+ 
+ #: fortran/expr.c:3251 fortran/intrinsic.c:4330 fortran/intrinsic.c:4356
+ #, gcc-internal-format, gfc-internal-format
+@@ -37121,9 +37120,9 @@
+ msgstr "Intern procedur ”%s” är ogiltigt i procedurpekartilldelning vid %L"
+ 
+ #: fortran/expr.c:3454
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Nonintrinsic elemental procedure '%s' is invalid in procedure pointer assigment at %L"
+-msgstr "Intern procedur ”%s” är ogiltigt i procedurpekartilldelning vid %L"
++msgstr "Den ej inbyggda elementära proceduren ”%s” är ogiltigt i procedurpekartilldelning vid %L"
+ 
+ #: fortran/expr.c:3477
+ #, gcc-internal-format, gfc-internal-format
+@@ -37241,9 +37240,9 @@
+ msgstr "Icke-POINTER i pekarenassociationssammanhang (%s) vid %L"
+ 
+ #: fortran/expr.c:4636
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "LOCK_TYPE in variable definition context (%s) at %L"
+-msgstr "Namngiven konstant ”%s” i variabeldefinitionssammanhang (%s) vid %L"
++msgstr "LOCK_TYPE i variabeldefinitionssammanhang (%s) vid %L"
+ 
+ #: fortran/expr.c:4658
+ #, gcc-internal-format, gfc-internal-format
+@@ -37303,9 +37302,9 @@
+ msgstr "Skapar vektortemporär vid %L"
+ 
+ #: fortran/frontend-passes.c:357 fortran/frontend-passes.c:360
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Removing call to function '%s' at %L"
+-msgstr "Returvärdet för funktionen ”%s” vid %L är inte satt"
++msgstr "Tar bort anrop av funktionen ”%s” vid %L"
+ 
+ #: fortran/gfortranspec.c:170
+ #, gcc-internal-format
+@@ -37673,9 +37672,9 @@
+ msgstr "Co-indexerat faktiskt argument vid %L med allokerbar slutlig komponent till attrappen ”%s” kräver antingen VALUE eller INTENT(IN)"
+ 
+ #: fortran/interface.c:2457
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Actual CLASS array argument for '%s' must be a full array at %L"
+-msgstr "Aktuellt argument till ”%s” skall vara en pekare vid %L"
++msgstr "Aktuellt CLASS-vektorargument till ”%s” måste vara en fullständig vektor vid %L"
+ 
+ #: fortran/interface.c:2467
+ #, gcc-internal-format, gfc-internal-format
+@@ -37773,9 +37772,9 @@
+ msgstr "Nyckelordsargument kräver explicit gränssnitt för proceduren ”%s” vid %L"
+ 
+ #: fortran/interface.c:2944
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires an explicit interface for procedure '%s'"
+-msgstr "Attrappargument ”%s” till proceduren ”%s” vid %L har ett attribut som kräver ett explicit gränssnitt för denna procedur"
++msgstr "Aktuellt argument till LOCK_TYPE eller med LOCK_TYPE-komponent vid %L kräver ett explicit gränssnitt för proceduren ”%s”"
+ 
+ #: fortran/interface.c:2953
+ #, gcc-internal-format, gfc-internal-format
+@@ -37843,9 +37842,9 @@
+ msgstr "”%s” vid %L åsidosätter en FUNCTION och måste också vara en FUNCTION"
+ 
+ #: fortran/interface.c:3796
+-#, fuzzy, gcc-internal-format, gfc-internal-format
++#, gcc-internal-format, gfc-internal-format
+ msgid "'%s' at %L and the overridden FUNCTION should have matching result types and ranks"
+-msgstr "”%s” vid %L och den åsidosatta FUNCTION skall ha överensstämmande resultattyper"
++msgstr "”%s” vid %L och den åsidosatta FUNCTION skall ha överensstämmande resultattyper och ordningar"
+ 
+ #: fortran/interface.c:3812
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/testsuite/ChangeLog gcc-4.7.0-RC-20120302/gcc/testsuite/ChangeLog
+--- gcc-4.7.0-RC-20120302.orig/gcc/testsuite/ChangeLog	2012-03-01 19:45:30.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/testsuite/ChangeLog	2012-03-05 11:33:10.571355009 +0100
+@@ -1,3 +1,16 @@
++2012-03-04  Georg-Johann Lay  <avr at gjlay.de>
++
++	Backport from mainline r184894.
++	* gcc.dg/torture/pr52402.c: Add dg-require-effective-target
++	int32plus.
++
++2012-03-02  Peter Bergner  <bergner at vnet.ibm.com>
++
++	Backport from mainline
++	2012-03-02  Peter Bergner  <bergner at vnet.ibm.com>
++
++	* gcc.target/powerpc/pr52457.c: New test.
++
+ 2012-03-01  Kai Tietz  <ktietz at redhat.com>
+ 
+ 	* gcc.dg/torture/pr47917.c: Make test using POSIX-printf
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/testsuite/gcc.dg/torture/pr52402.c gcc-4.7.0-RC-20120302/gcc/testsuite/gcc.dg/torture/pr52402.c
+--- gcc-4.7.0-RC-20120302.orig/gcc/testsuite/gcc.dg/torture/pr52402.c	2012-02-29 09:14:52.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/testsuite/gcc.dg/torture/pr52402.c	2012-03-05 11:33:10.572355024 +0100
+@@ -1,5 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-options "-w -Wno-psabi" } */
++/* { dg-require-effective-target int32plus } */
+ 
+ typedef int v4si __attribute__((vector_size(16)));
+ struct T { v4si i[2]; int j; } __attribute__((packed));
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/testsuite/gcc.target/powerpc/pr52457.c gcc-4.7.0-RC-20120302/gcc/testsuite/gcc.target/powerpc/pr52457.c
+--- gcc-4.7.0-RC-20120302.orig/gcc/testsuite/gcc.target/powerpc/pr52457.c	1970-01-01 01:00:00.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/testsuite/gcc.target/powerpc/pr52457.c	2012-03-04 16:09:31.485750016 +0100
+@@ -0,0 +1,34 @@
++/* { dg-do run { target { powerpc*-*-linux* } } } */
++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
++/* { dg-skip-if "" { powerpc*-*-*spe* } { "*" } { "" } } */
++/* { dg-require-effective-target vsx_hw } */
++/* { dg-options "-O1 -mcpu=power7" } */
++
++extern void abort (void);
++
++typedef long long T;
++typedef T vl_t __attribute__((vector_size(2 * sizeof (T))));
++
++vl_t
++buggy_func (T x)
++{
++  vl_t w;
++  T *p = (T *)&w;
++  p[0] = p[1] = x;
++  return w;
++}
++
++int
++main(void)
++{
++  vl_t rval;
++  T *pl;
++
++  pl = (T *) &rval;
++  rval = buggy_func (2);
++
++  if (pl[0] != 2 || pl[1] != 2)
++    abort ();
++
++  return 0;
++}
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/gcc/trans-mem.c gcc-4.7.0-RC-20120302/gcc/trans-mem.c
+--- gcc-4.7.0-RC-20120302.orig/gcc/trans-mem.c	2012-02-28 21:08:39.000000000 +0100
++++ gcc-4.7.0-RC-20120302/gcc/trans-mem.c	2012-03-06 19:10:27.222969102 +0100
+@@ -1757,6 +1757,10 @@
+   bitmap irr_blocks;
+ };
+ 
++typedef struct tm_region *tm_region_p;
++DEF_VEC_P (tm_region_p);
++DEF_VEC_ALLOC_P (tm_region_p, heap);
++
+ /* True if there are pending edge statements to be committed for the
+    current function being scanned in the tmmark pass.  */
+ bool pending_edge_inserts_p;
+@@ -1858,7 +1862,7 @@
+   VEC(basic_block, heap) *queue = NULL;
+   bitmap visited_blocks = BITMAP_ALLOC (NULL);
+   struct tm_region *old_region;
+-  struct tm_region **region_worklist;
++  VEC(tm_region_p, heap) *bb_regions = NULL;
+ 
+   all_tm_regions = region;
+   bb = single_succ (ENTRY_BLOCK_PTR);
+@@ -1866,17 +1870,15 @@
+   /* We could store this information in bb->aux, but we may get called
+      through get_all_tm_blocks() from another pass that may be already
+      using bb->aux.  */
+-  region_worklist =
+-    (struct tm_region **) xcalloc (sizeof (struct tm_region *),
+-				  n_basic_blocks + NUM_FIXED_BLOCKS + 2);
++  VEC_safe_grow_cleared (tm_region_p, heap, bb_regions, last_basic_block);
+ 
+   VEC_safe_push (basic_block, heap, queue, bb);
+-  region_worklist[bb->index] = region;
++  VEC_replace (tm_region_p, bb_regions, bb->index, region);
+   do
+     {
+       bb = VEC_pop (basic_block, queue);
+-      region = region_worklist[bb->index];
+-      region_worklist[bb->index] = NULL;
++      region = VEC_index (tm_region_p, bb_regions, bb->index);
++      VEC_replace (tm_region_p, bb_regions, bb->index, NULL);
+ 
+       /* Record exit and irrevocable blocks.  */
+       region = tm_region_init_1 (region, bb);
+@@ -1898,15 +1900,15 @@
+ 	       the entry block of the new region is associated with this region.
+ 	       Other successors are still part of the old region.  */
+ 	    if (old_region != region && e->dest != region->entry_block)
+-	      region_worklist[e->dest->index] = old_region;
++	      VEC_replace (tm_region_p, bb_regions, e->dest->index, old_region);
+ 	    else
+-	      region_worklist[e->dest->index] = region;
++	      VEC_replace (tm_region_p, bb_regions, e->dest->index, region);
+ 	  }
+     }
+   while (!VEC_empty (basic_block, queue));
+   VEC_free (basic_block, heap, queue);
+   BITMAP_FREE (visited_blocks);
+-  free (region_worklist);
++  VEC_free (tm_region_p, heap, bb_regions);
+ }
+ 
+ /* The "gate" function for all transactional memory expansion and optimization
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/LAST_UPDATED gcc-4.7.0-RC-20120302/LAST_UPDATED
+--- gcc-4.7.0-RC-20120302.orig/LAST_UPDATED	2012-03-02 12:34:42.000000000 +0100
++++ gcc-4.7.0-RC-20120302/LAST_UPDATED	1970-01-01 01:00:00.000000000 +0100
+@@ -1 +0,0 @@
+-Obtained from SVN: branches/gcc-4_7-branch revision 184781
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/libitm/ChangeLog gcc-4.7.0-RC-20120302/libitm/ChangeLog
+--- gcc-4.7.0-RC-20120302.orig/libitm/ChangeLog	2012-02-24 12:05:37.000000000 +0100
++++ gcc-4.7.0-RC-20120302/libitm/ChangeLog	2012-03-06 05:05:31.995001850 +0100
+@@ -1,3 +1,7 @@
++2012-03-02  Torvald Riegel  <triegel at redhat.com>
++
++	* libitm.texi: Link to specification and add a usage example.
++
+ 2012-02-24  Torvald Riegel  <triegel at redhat.com>
+ 
+ 	* retry.cc (GTM::gtm_thread::number_of_threads_changed): Change
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/libitm/libitm.texi gcc-4.7.0-RC-20120302/libitm/libitm.texi
+--- gcc-4.7.0-RC-20120302.orig/libitm/libitm.texi	2011-11-08 12:13:41.000000000 +0100
++++ gcc-4.7.0-RC-20120302/libitm/libitm.texi	2012-03-06 05:05:31.996001865 +0100
+@@ -82,8 +82,8 @@
+ 
+ To activate support for TM in C/C++, the compile-time flag @option{-fgnu-tm}
+ must be specified. This enables TM language-level constructs such as
+-transaction statements (@code{__transaction}, @pxref{C/C++ Language
+-Constructs for TM} for details).
++transaction statements (e.g., @code{__transaction_atomic}, @pxref{C/C++
++Language Constructs for TM} for details).
+ 
+ @c ---------------------------------------------------------------------
+ @c C/C++ Language Constructs for TM
+@@ -92,7 +92,35 @@
+ @node C/C++ Language Constructs for TM
+ @chapter C/C++ Language Constructs for TM
+ 
+-TODO: link to the C++ TM spec. a few examples. how gcc's support differs. 
++Transactions are supported in C++ and C in the form of transaction statements,
++transaction expressions, and function transactions. In the following example,
++both @code{a} and @code{b} will be read and the difference will be written to
++ at code{c}, all atomically and isolated from other transactions:
++
++ at example
++__transaction_atomic @{ c = a - b; @}
++ at end example
++
++Therefore, another thread can use the following code to concurrently update
++ at code{b} without ever causing @code{c} to hold a negative value (and without
++having to use other synchronization constructs such as locks or C++11
++atomics):
++
++ at example
++__transaction_atomic @{ if (a > b) b++; @}
++ at end example
++
++GCC follows the @uref{https://sites.google.com/site/tmforcplusplus/, Draft
++Specification of Transactional Language Constructs for C++ (v1.1)} in its
++implementation of transactions.
++
++The precise semantics of transactions are defined in terms of the C++11/C11
++memory model (see the specification). Roughly, transactions provide
++synchronization guarantees that are similar to what would be guaranteed when
++using a single global lock as a guard for all transactions. Note that like
++other synchronization constructs in C/C++, transactions rely on a
++data-race-free program (e.g., a nontransactional write that is concurrent
++with a transactional read to the same memory location is a data race).
+ 
+ @c ---------------------------------------------------------------------
+ @c The libitm ABI
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/libstdc++-v3/ChangeLog gcc-4.7.0-RC-20120302/libstdc++-v3/ChangeLog
+--- gcc-4.7.0-RC-20120302.orig/libstdc++-v3/ChangeLog	2012-03-02 10:47:11.000000000 +0100
++++ gcc-4.7.0-RC-20120302/libstdc++-v3/ChangeLog	2012-03-05 11:32:59.926191257 +0100
+@@ -1,3 +1,8 @@
++2012-03-02  Benjamin Kosnik  <bkoz at redhat.com>
++
++	* include/c_global/cstdio: Remove extraneous extern.
++	* include/c_std/cstdio: Same.
++
+ 2012-03-02  Rainer Orth  <ro at CeBiTec.Uni-Bielefeld.DE>
+ 
+ 	* config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate.
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/libstdc++-v3/include/c_global/cstdio gcc-4.7.0-RC-20120302/libstdc++-v3/include/c_global/cstdio
+--- gcc-4.7.0-RC-20120302.orig/libstdc++-v3/include/c_global/cstdio	2012-03-02 08:13:55.000000000 +0100
++++ gcc-4.7.0-RC-20120302/libstdc++-v3/include/c_global/cstdio	2012-03-05 11:33:00.146194642 +0100
+@@ -47,7 +47,7 @@
+ #define _GLIBCXX_CSTDIO 1
+ 
+ #ifndef _GLIBCXX_HAVE_GETS
+-extern "C" extern char* gets (char* __s) __attribute__((deprecated));
++extern "C" char* gets (char* __s) __attribute__((deprecated));
+ #endif
+ 
+ // Get rid of those macros defined in <stdio.h> in lieu of real functions.
+diff -Naur -x .git -x .gitignore -x '*.[17]' -x '*.info' -x '*.html' -x 'BUILD*' -x '*.gmo' -x '*.pot' -x NEWS -x MD5SUMS -x gengtype-lex.c gcc-4.7.0-RC-20120302.orig/libstdc++-v3/include/c_std/cstdio gcc-4.7.0-RC-20120302/libstdc++-v3/include/c_std/cstdio
+--- gcc-4.7.0-RC-20120302.orig/libstdc++-v3/include/c_std/cstdio	2012-03-02 08:13:55.000000000 +0100
++++ gcc-4.7.0-RC-20120302/libstdc++-v3/include/c_std/cstdio	2012-03-05 11:33:00.146194642 +0100
+@@ -46,7 +46,7 @@
+ #include <stdio.h>
+ 
+ #ifndef _GLIBCXX_HAVE_GETS
+-extern "C" extern char* gets (char* __s) __attribute__((deprecated));
++extern "C" char* gets (char* __s) __attribute__((deprecated));
+ #endif
+ 
+ // Get rid of those macros defined in <stdio.h> in lieu of real functions.




More information about the vc mailing list