summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authordoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2014-05-18 12:08:49 +0000
committerdoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2014-05-18 12:08:49 +0000
commitcb44c24f42d2ae9c38249a74f91c20ade56b8747 (patch)
tree9147f25030d9220bede6b40d852ee4e7f0d2626e /debian
parent71af14aee911acaa57d57238b75cf138ef846245 (diff)
downloadgcc-49-cb44c24f42d2ae9c38249a74f91c20ade56b8747.tar.gz
* Update to SVN 20140518 (r210581) from the gcc-4_9-branch.
git-svn-id: svn://svn.debian.org/svn/gcccvs/branches/sid/gcc-4.9@7377 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog4
-rw-r--r--debian/patches/ada-aarch64.diff671
-rw-r--r--debian/patches/pr60902.diff102
-rw-r--r--debian/patches/svn-updates.diff12997
-rw-r--r--debian/rules.patch2
5 files changed, 12966 insertions, 810 deletions
diff --git a/debian/changelog b/debian/changelog
index 46e3810..83e0a30 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
gcc-4.9 (4.9.0-4) UNRELEASED; urgency=medium
- * Update to SVN 20140514 (r210437) from the gcc-4_9-branch.
+ * Update to SVN 20140518 (r210581) from the gcc-4_9-branch.
* Update the local ada-libgnatprj patch for AArch64. Addresses: #748233.
- -- Matthias Klose <doko@debian.org> Wed, 14 May 2014 22:31:47 +0200
+ -- Matthias Klose <doko@debian.org> Sun, 18 May 2014 14:02:40 +0200
gcc-4.9 (4.9.0-3) unstable; urgency=medium
diff --git a/debian/patches/ada-aarch64.diff b/debian/patches/ada-aarch64.diff
deleted file mode 100644
index dc34217..0000000
--- a/debian/patches/ada-aarch64.diff
+++ /dev/null
@@ -1,671 +0,0 @@
-# DP: Backport of AArch64 Ada changes.
-
-2014-04-28 Richard Henderson <rth@redhat.com>
-
- * gcc-interface/Makefile.in: Support aarch64-linux.
-
-2014-04-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_dbug.ads (Get_External_Name): Add 'False' default to Has_Suffix,
- add 'Suffix' parameter and adjust comment.
- (Get_External_Name_With_Suffix): Delete.
- * exp_dbug.adb (Get_External_Name_With_Suffix): Merge into...
- (Get_External_Name): ...here. Add 'False' default to Has_Suffix, add
- 'Suffix' parameter.
- (Get_Encoded_Name): Remove 2nd argument in call to Get_External_Name.
- Call Get_External_Name instead of Get_External_Name_With_Suffix.
- (Get_Secondary_DT_External_Name): Likewise.
- * exp_cg.adb (Write_Call_Info): Likewise.
- * exp_disp.adb (Export_DT): Likewise.
- (Import_DT): Likewise.
- * comperr.ads (Compiler_Abort): Remove Code parameter and add From_GCC
- parameter with False default.
- * comperr.adb (Compiler_Abort): Likewise. Adjust accordingly.
- * types.h (Fat_Pointer): Rename into...
- (String_Pointer): ...this. Add comment on interfacing rules.
- * fe.h (Compiler_Abort): Adjust for above renaming.
- (Error_Msg_N): Likewise.
- (Error_Msg_NE): Likewise.
- (Get_External_Name): Likewise. Add third parameter.
- (Get_External_Name_With_Suffix): Delete.
- * gcc-interface/decl.c (STDCALL_PREFIX): Define.
- (create_concat_name): Adjust call to Get_External_Name, remove call to
- Get_External_Name_With_Suffix, use STDCALL_PREFIX, adjust for renaming.
- * gcc-interface/trans.c (post_error): Likewise.
- (post_error_ne): Likewise.
- * gcc-interface/misc.c (internal_error_function): Likewise.
-
-2014-04-22 Richard Henderson <rth@redhat.com>
-
- * init.c [__linux__] (HAVE_GNAT_ALTERNATE_STACK): New define.
- (__gnat_alternate_stack): Enable for all linux except ia64.
-
---- a/src/gcc/ada/comperr.adb
-+++ b/src/gcc/ada/comperr.adb
-@@ -6,7 +6,7 @@
- -- --
- -- B o d y --
- -- --
---- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
-+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
- -- --
- -- 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- --
-@@ -74,8 +74,8 @@ package body Comperr is
-
- procedure Compiler_Abort
- (X : String;
-- Code : Integer := 0;
-- Fallback_Loc : String := "")
-+ Fallback_Loc : String := "";
-+ From_GCC : Boolean := False)
- is
- -- The procedures below output a "bug box" with information about
- -- the cause of the compiler abort and about the preferred method
-@@ -206,7 +206,7 @@ package body Comperr is
- Write_Str (") ");
-
- if X'Length + Column > 76 then
-- if Code < 0 then
-+ if From_GCC then
- Write_Str ("GCC error:");
- end if;
-
-@@ -235,11 +235,7 @@ package body Comperr is
- Write_Str (X);
- end if;
-
-- if Code > 0 then
-- Write_Str (", Code=");
-- Write_Int (Int (Code));
--
-- elsif Code = 0 then
-+ if not From_GCC then
-
- -- For exception case, get exception message from the TSD. Note
- -- that it would be neater and cleaner to pass the exception
---- a/src/gcc/ada/comperr.ads
-+++ b/src/gcc/ada/comperr.ads
-@@ -6,7 +6,7 @@
- -- --
- -- S p e c --
- -- --
---- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
-+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
- -- --
- -- 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- --
-@@ -31,8 +31,8 @@ package Comperr is
-
- procedure Compiler_Abort
- (X : String;
-- Code : Integer := 0;
-- Fallback_Loc : String := "");
-+ Fallback_Loc : String := "";
-+ From_GCC : Boolean := False);
- pragma No_Return (Compiler_Abort);
- -- Signals an internal compiler error. Never returns control. Depending on
- -- processing may end up raising Unrecoverable_Error, or exiting directly.
-@@ -46,10 +46,9 @@ package Comperr is
- -- Note that this is only used at the outer level (to handle constraint
- -- errors or assert errors etc.) In the normal logic of the compiler we
- -- always use pragma Assert to check for errors, and if necessary an
-- -- explicit abort is achieved by pragma Assert (False). Code is positive
-- -- for a gigi abort (giving the gigi abort code), zero for a front
-- -- end exception (with possible message stored in TSD.Current_Excep,
-- -- and negative (an unused value) for a GCC abort.
-+ -- explicit abort is achieved by pragma Assert (False). From_GCC is true
-+ -- for a GCC abort and false for a front end exception (with a possible
-+ -- message stored in TSD.Current_Excep).
-
- procedure Delete_SCIL_Files;
- -- Delete SCIL files associated with the main unit
---- a/src/gcc/ada/exp_cg.adb
-+++ b/src/gcc/ada/exp_cg.adb
-@@ -6,7 +6,7 @@
- -- --
- -- B o d y --
- -- --
---- Copyright (C) 2010-2013, Free Software Foundation, Inc. --
-+-- Copyright (C) 2010-2014, Free Software Foundation, Inc. --
- -- --
- -- 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- --
-@@ -437,10 +437,10 @@ package body Exp_CG is
- if Nkind (P) = N_Subprogram_Body
- and then not Acts_As_Spec (P)
- then
-- Get_External_Name (Corresponding_Spec (P), Has_Suffix => False);
-+ Get_External_Name (Corresponding_Spec (P));
-
- else
-- Get_External_Name (Defining_Entity (P), Has_Suffix => False);
-+ Get_External_Name (Defining_Entity (P));
- end if;
-
- Write_Str (Name_Buffer (1 .. Name_Len));
---- a/src/gcc/ada/exp_dbug.adb
-+++ b/src/gcc/ada/exp_dbug.adb
-@@ -507,8 +507,8 @@ package body Exp_Dbug is
- begin
- -- If not generating code, there is no need to create encoded names, and
- -- problems when the back-end is called to annotate types without full
-- -- code generation. See comments in Get_External_Name_With_Suffix for
-- -- additional details.
-+ -- code generation. See comments in Get_External_Name for additional
-+ -- details.
-
- -- However we do create encoded names if the back end is active, even
- -- if Operating_Mode got reset. Otherwise any serious error reported
-@@ -556,7 +556,7 @@ package body Exp_Dbug is
- -- Fixed-point case
-
- if Is_Fixed_Point_Type (E) then
-- Get_External_Name_With_Suffix (E, "XF_");
-+ Get_External_Name (E, True, "XF_");
- Add_Real_To_Buffer (Delta_Value (E));
-
- if Small_Value (E) /= Delta_Value (E) then
-@@ -568,14 +568,14 @@ package body Exp_Dbug is
-
- elsif Vax_Float (E) then
- if Digits_Value (Base_Type (E)) = 6 then
-- Get_External_Name_With_Suffix (E, "XFF");
-+ Get_External_Name (E, True, "XFF");
-
- elsif Digits_Value (Base_Type (E)) = 9 then
-- Get_External_Name_With_Suffix (E, "XFF");
-+ Get_External_Name (E, True, "XFF");
-
- else
- pragma Assert (Digits_Value (Base_Type (E)) = 15);
-- Get_External_Name_With_Suffix (E, "XFG");
-+ Get_External_Name (E, True, "XFG");
- end if;
-
- -- Discrete case where bounds do not match size
-@@ -607,9 +607,9 @@ package body Exp_Dbug is
-
- begin
- if Biased then
-- Get_External_Name_With_Suffix (E, "XB");
-+ Get_External_Name (E, True, "XB");
- else
-- Get_External_Name_With_Suffix (E, "XD");
-+ Get_External_Name (E, True, "XD");
- end if;
-
- if Lo_Encode or Hi_Encode then
-@@ -649,7 +649,7 @@ package body Exp_Dbug is
-
- else
- Has_Suffix := False;
-- Get_External_Name (E, Has_Suffix);
-+ Get_External_Name (E);
- end if;
-
- if Debug_Flag_B and then Has_Suffix then
-@@ -667,7 +667,11 @@ package body Exp_Dbug is
- -- Get_External_Name --
- -----------------------
-
-- procedure Get_External_Name (Entity : Entity_Id; Has_Suffix : Boolean) is
-+ procedure Get_External_Name
-+ (Entity : Entity_Id;
-+ Has_Suffix : Boolean := False;
-+ Suffix : String := "")
-+ is
- E : Entity_Id := Entity;
- Kind : Entity_Kind;
-
-@@ -704,6 +708,20 @@ package body Exp_Dbug is
- -- Start of processing for Get_External_Name
-
- begin
-+ -- If we are not in code generation mode, this procedure may still be
-+ -- called from Back_End (more specifically - from gigi for doing type
-+ -- representation annotation or some representation-specific checks).
-+ -- But in this mode there is no need to mess with external names.
-+
-+ -- Furthermore, the call causes difficulties in this case because the
-+ -- string representing the homonym number is not correctly reset as a
-+ -- part of the call to Output_Homonym_Numbers_Suffix (which is not
-+ -- called in gigi).
-+
-+ if Operating_Mode /= Generate_Code then
-+ return;
-+ end if;
-+
- Reset_Buffers;
-
- -- If this is a child unit, we want the child
-@@ -762,42 +780,13 @@ package body Exp_Dbug is
- Get_Qualified_Name_And_Append (E);
- end if;
-
-- Name_Buffer (Name_Len + 1) := ASCII.NUL;
-- end Get_External_Name;
--
-- -----------------------------------
-- -- Get_External_Name_With_Suffix --
-- -----------------------------------
--
-- procedure Get_External_Name_With_Suffix
-- (Entity : Entity_Id;
-- Suffix : String)
-- is
-- Has_Suffix : constant Boolean := (Suffix /= "");
--
-- begin
-- -- If we are not in code generation mode, this procedure may still be
-- -- called from Back_End (more specifically - from gigi for doing type
-- -- representation annotation or some representation-specific checks).
-- -- But in this mode there is no need to mess with external names.
--
-- -- Furthermore, the call causes difficulties in this case because the
-- -- string representing the homonym number is not correctly reset as a
-- -- part of the call to Output_Homonym_Numbers_Suffix (which is not
-- -- called in gigi).
--
-- if Operating_Mode /= Generate_Code then
-- return;
-- end if;
--
-- Get_External_Name (Entity, Has_Suffix);
--
- if Has_Suffix then
- Add_Str_To_Name_Buffer ("___");
- Add_Str_To_Name_Buffer (Suffix);
-- Name_Buffer (Name_Len + 1) := ASCII.NUL;
- end if;
-- end Get_External_Name_With_Suffix;
-+
-+ Name_Buffer (Name_Len + 1) := ASCII.NUL;
-+ end Get_External_Name;
-
- --------------------------
- -- Get_Variant_Encoding --
-@@ -944,7 +933,7 @@ package body Exp_Dbug is
- Suffix_Index : Int)
- is
- begin
-- Get_External_Name (Typ, Has_Suffix => False);
-+ Get_External_Name (Typ);
-
- if Ancestor_Typ /= Typ then
- declare
-@@ -952,7 +941,7 @@ package body Exp_Dbug is
- Save_Str : constant String (1 .. Name_Len)
- := Name_Buffer (1 .. Name_Len);
- begin
-- Get_External_Name (Ancestor_Typ, Has_Suffix => False);
-+ Get_External_Name (Ancestor_Typ);
-
- -- Append the extended name of the ancestor to the
- -- extended name of Typ
---- a/src/gcc/ada/exp_dbug.ads
-+++ b/src/gcc/ada/exp_dbug.ads
-@@ -413,10 +413,11 @@ package Exp_Dbug is
-
- procedure Get_External_Name
- (Entity : Entity_Id;
-- Has_Suffix : Boolean);
-- -- Set Name_Buffer and Name_Len to the external name of entity E. The
-+ Has_Suffix : Boolean := False;
-+ Suffix : String := "");
-+ -- Set Name_Buffer and Name_Len to the external name of the entity. The
- -- external name is the Interface_Name, if specified, unless the entity
-- -- has an address clause or a suffix.
-+ -- has an address clause or Has_Suffix is true.
- --
- -- If the Interface is not present, or not used, the external name is the
- -- concatenation of:
-@@ -428,26 +429,11 @@ package Exp_Dbug is
- -- - the string "$" (or "__" if target does not allow "$"), followed
- -- by homonym suffix, if the entity is an overloaded subprogram
- -- or is defined within an overloaded subprogram.
--
-- procedure Get_External_Name_With_Suffix
-- (Entity : Entity_Id;
-- Suffix : String);
-- -- Set Name_Buffer and Name_Len to the external name of entity E. If
-- -- Suffix is the empty string the external name is as above, otherwise
-- -- the external name is the concatenation of:
-- --
-- -- - the string "_ada_", if the entity is a library subprogram,
-- -- - the names of any enclosing scopes, each followed by "__",
-- -- or "X_" if the next entity is a subunit)
-- -- - the name of the entity
-- -- - the string "$" (or "__" if target does not allow "$"), followed
-- -- by homonym suffix, if the entity is an overloaded subprogram
-- -- or is defined within an overloaded subprogram.
-- -- - the string "___" followed by Suffix
-+ -- - the string "___" followed by Suffix if Has_Suffix is true.
- --
- -- Note that a call to this procedure has no effect if we are not
- -- generating code, since the necessary information for computing the
-- -- proper encoded name is not available in this case.
-+ -- proper external name is not available in this case.
-
- --------------------------------------------
- -- Subprograms for Handling Qualification --
---- a/src/gcc/ada/exp_disp.adb
-+++ b/src/gcc/ada/exp_disp.adb
-@@ -3913,10 +3913,7 @@ package body Exp_Disp is
-
- pragma Assert (Related_Type (Node (Elmt)) = Typ);
-
-- Get_External_Name
-- (Entity => Node (Elmt),
-- Has_Suffix => True);
--
-+ Get_External_Name (Node (Elmt));
- Set_Interface_Name (DT,
- Make_String_Literal (Loc,
- Strval => String_From_Name_Buffer));
-@@ -7088,7 +7085,7 @@ package body Exp_Disp is
-
- Set_Scope (DT, Current_Scope);
-
-- Get_External_Name (DT, True);
-+ Get_External_Name (DT);
- Set_Interface_Name (DT,
- Make_String_Literal (Loc, Strval => String_From_Name_Buffer));
-
---- a/src/gcc/ada/fe.h
-+++ b/src/gcc/ada/fe.h
-@@ -29,17 +29,20 @@
- * *
- ****************************************************************************/
-
--/* This file contains definitions to access front-end functions and
-- variables used by gigi. */
-+/* This file contains declarations to access front-end functions and variables
-+ used by gigi.
-+
-+ WARNING: functions taking String_Pointer parameters must abide by the rule
-+ documented alongside the definition of String_Pointer in types.h. */
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
--/* comperr: */
-+/* comperr: */
-
- #define Compiler_Abort comperr__compiler_abort
--extern int Compiler_Abort (Fat_Pointer, int, Fat_Pointer) ATTRIBUTE_NORETURN;
-+extern int Compiler_Abort (String_Pointer, String_Pointer, Boolean) ATTRIBUTE_NORETURN;
-
- /* csets: */
-
-@@ -72,8 +75,6 @@ extern void Set_Mechanism (Entity_Id, Mechanism_Type);
- extern void Set_RM_Size (Entity_Id, Uint);
- extern void Set_Present_Expr (Node_Id, Uint);
-
--/* Test if the node N is the name of an entity (i.e. is an identifier,
-- expanded name, or an attribute reference that returns an entity). */
- #define Is_Entity_Name einfo__is_entity_name
- extern Boolean Is_Entity_Name (Node_Id);
-
-@@ -90,8 +91,8 @@ extern Node_Id Get_Attribute_Definition_Clause (Entity_Id, char);
- #define Error_Msg_NE errout__error_msg_ne
- #define Set_Identifier_Casing errout__set_identifier_casing
-
--extern void Error_Msg_N (Fat_Pointer, Node_Id);
--extern void Error_Msg_NE (Fat_Pointer, Node_Id, Entity_Id);
-+extern void Error_Msg_N (String_Pointer, Node_Id);
-+extern void Error_Msg_NE (String_Pointer, Node_Id, Entity_Id);
- extern void Set_Identifier_Casing (Char *, const Char *);
-
- /* err_vars: */
-@@ -147,11 +148,9 @@ extern void Setup_Asm_Outputs (Node_Id);
-
- #define Get_Encoded_Name exp_dbug__get_encoded_name
- #define Get_External_Name exp_dbug__get_external_name
--#define Get_External_Name_With_Suffix exp_dbug__get_external_name_with_suffix
-
--extern void Get_Encoded_Name (Entity_Id);
--extern void Get_External_Name (Entity_Id, Boolean);
--extern void Get_External_Name_With_Suffix (Entity_Id, Fat_Pointer);
-+extern void Get_Encoded_Name (Entity_Id);
-+extern void Get_External_Name (Entity_Id, Boolean, String_Pointer);
-
- /* exp_util: */
-
---- a/src/gcc/ada/gcc-interface/Makefile.in
-+++ b/src/gcc/ada/gcc-interface/Makefile.in
-@@ -1988,6 +1988,44 @@ ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),)
- LIBRARY_VERSION := $(LIB_VERSION)
- endif
-
-+# AArch64 Linux
-+ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),)
-+ LIBGNAT_TARGET_PAIRS = \
-+ a-exetim.adb<a-exetim-posix.adb \
-+ a-exetim.ads<a-exetim-default.ads \
-+ a-intnam.ads<a-intnam-linux.ads \
-+ a-synbar.adb<a-synbar-posix.adb \
-+ a-synbar.ads<a-synbar-posix.ads \
-+ s-inmaop.adb<s-inmaop-posix.adb \
-+ s-intman.adb<s-intman-posix.adb \
-+ s-linux.ads<s-linux.ads \
-+ s-mudido.adb<s-mudido-affinity.adb \
-+ s-osinte.ads<s-osinte-linux.ads \
-+ s-osinte.adb<s-osinte-posix.adb \
-+ s-osprim.adb<s-osprim-posix.adb \
-+ s-taprop.adb<s-taprop-linux.adb \
-+ s-tasinf.ads<s-tasinf-linux.ads \
-+ s-tasinf.adb<s-tasinf-linux.adb \
-+ s-tpopsp.adb<s-tpopsp-tls.adb \
-+ s-taspri.ads<s-taspri-posix.ads \
-+ g-sercom.adb<g-sercom-linux.adb \
-+ $(ATOMICS_TARGET_PAIRS) \
-+ $(ATOMICS_BUILTINS_TARGET_PAIRS) \
-+ system.ads<system-linux-x86_64.ads
-+ ## ^^ Note the above is a pretty-close placeholder.
-+
-+ TOOLS_TARGET_PAIRS = \
-+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
-+ indepsw.adb<indepsw-gnu.adb
-+
-+ EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o
-+ EH_MECHANISM=-gcc
-+ THREADSLIB=-lpthread -lrt
-+ GNATLIB_SHARED=gnatlib-shared-dual
-+ GMEM_LIB = gmemlib
-+ LIBRARY_VERSION := $(LIB_VERSION)
-+endif
-+
- # Sparc Linux
- ifeq ($(strip $(filter-out sparc% linux%,$(target_cpu) $(target_os))),)
- LIBGNAT_TARGET_PAIRS_COMMON = \
---- a/src/gcc/ada/gcc-interface/decl.c
-+++ b/src/gcc/ada/gcc-interface/decl.c
-@@ -72,6 +72,8 @@
- #define Has_Thiscall_Convention(E) 0
- #endif
-
-+#define STDCALL_PREFIX "_imp__"
-+
- /* Stack realignment is necessary for functions with foreign conventions when
- the ABI doesn't mandate as much as what the compiler assumes - that is, up
- to PREFERRED_STACK_BOUNDARY.
-@@ -8856,16 +8858,12 @@ get_entity_name (Entity_Id gnat_entity)
- tree
- create_concat_name (Entity_Id gnat_entity, const char *suffix)
- {
-- Entity_Kind kind = Ekind (gnat_entity);
-+ const Entity_Kind kind = Ekind (gnat_entity);
-+ const bool has_suffix = (suffix != NULL);
-+ String_Template temp = {1, has_suffix ? strlen (suffix) : 0};
-+ String_Pointer sp = {suffix, &temp};
-
-- if (suffix)
-- {
-- String_Template temp = {1, (int) strlen (suffix)};
-- Fat_Pointer fp = {suffix, &temp};
-- Get_External_Name_With_Suffix (gnat_entity, fp);
-- }
-- else
-- Get_External_Name (gnat_entity, 0);
-+ Get_External_Name (gnat_entity, has_suffix, sp);
-
- /* A variable using the Stdcall convention lives in a DLL. We adjust
- its name to use the jump table, the _imp__NAME contains the address
-@@ -8873,9 +8871,9 @@ create_concat_name (Entity_Id gnat_entity, const char *suffix)
- if ((kind == E_Variable || kind == E_Constant)
- && Has_Stdcall_Convention (gnat_entity))
- {
-- const int len = 6 + Name_Len;
-+ const int len = strlen (STDCALL_PREFIX) + Name_Len;
- char *new_name = (char *) alloca (len + 1);
-- strcpy (new_name, "_imp__");
-+ strcpy (new_name, STDCALL_PREFIX);
- strcat (new_name, Name_Buffer);
- return get_identifier_with_length (new_name, len);
- }
---- a/src/gcc/ada/gcc-interface/misc.c
-+++ b/src/gcc/ada/gcc-interface/misc.c
-@@ -283,8 +283,8 @@ internal_error_function (diagnostic_context *context,
- text_info tinfo;
- char *buffer, *p, *loc;
- String_Template temp, temp_loc;
-- Fat_Pointer fp, fp_loc;
-- expanded_location s;
-+ String_Pointer sp, sp_loc;
-+ expanded_location xloc;
-
- /* Warn if plugins present. */
- warn_if_plugins ();
-@@ -311,21 +311,21 @@ internal_error_function (diagnostic_context *context,
-
- temp.Low_Bound = 1;
- temp.High_Bound = p - buffer;
-- fp.Bounds = &temp;
-- fp.Array = buffer;
-+ sp.Bounds = &temp;
-+ sp.Array = buffer;
-
-- s = expand_location (input_location);
-- if (context->show_column && s.column != 0)
-- asprintf (&loc, "%s:%d:%d", s.file, s.line, s.column);
-+ xloc = expand_location (input_location);
-+ if (context->show_column && xloc.column != 0)
-+ asprintf (&loc, "%s:%d:%d", xloc.file, xloc.line, xloc.column);
- else
-- asprintf (&loc, "%s:%d", s.file, s.line);
-+ asprintf (&loc, "%s:%d", xloc.file, xloc.line);
- temp_loc.Low_Bound = 1;
- temp_loc.High_Bound = strlen (loc);
-- fp_loc.Bounds = &temp_loc;
-- fp_loc.Array = loc;
-+ sp_loc.Bounds = &temp_loc;
-+ sp_loc.Array = loc;
-
- Current_Error_Node = error_gnat_node;
-- Compiler_Abort (fp, -1, fp_loc);
-+ Compiler_Abort (sp, sp_loc, true);
- }
-
- /* Perform all the initialization steps that are language-specific. */
---- a/src/gcc/ada/gcc-interface/trans.c
-+++ b/src/gcc/ada/gcc-interface/trans.c
-@@ -9356,16 +9356,16 @@ void
- post_error (const char *msg, Node_Id node)
- {
- String_Template temp;
-- Fat_Pointer fp;
-+ String_Pointer sp;
-
- if (No (node))
- return;
-
- temp.Low_Bound = 1;
- temp.High_Bound = strlen (msg);
-- fp.Bounds = &temp;
-- fp.Array = msg;
-- Error_Msg_N (fp, node);
-+ sp.Bounds = &temp;
-+ sp.Array = msg;
-+ Error_Msg_N (sp, node);
- }
-
- /* Similar to post_error, but NODE is the node at which to post the error and
-@@ -9375,16 +9375,16 @@ void
- post_error_ne (const char *msg, Node_Id node, Entity_Id ent)
- {
- String_Template temp;
-- Fat_Pointer fp;
-+ String_Pointer sp;
-
- if (No (node))
- return;
-
- temp.Low_Bound = 1;
- temp.High_Bound = strlen (msg);
-- fp.Bounds = &temp;
-- fp.Array = msg;
-- Error_Msg_NE (fp, node, ent);
-+ sp.Bounds = &temp;
-+ sp.Array = msg;
-+ Error_Msg_NE (sp, node, ent);
- }
-
- /* Similar to post_error_ne, but NUM is the number to use for the '^'. */
---- a/src/gcc/ada/types.h
-+++ b/src/gcc/ada/types.h
-@@ -76,11 +76,19 @@ typedef Char *Str;
- /* Pointer to string of Chars */
- typedef Char *Str_Ptr;
-
--/* Types for the fat pointer used for strings and the template it
-- points to. */
--typedef struct {int Low_Bound, High_Bound; } String_Template;
--typedef struct {const char *Array; String_Template *Bounds; }
-- __attribute ((aligned (sizeof (char *) * 2))) Fat_Pointer;
-+/* Types for the fat pointer used for strings and the template it points to.
-+ The fat pointer is conceptually a couple of pointers, but it is wrapped
-+ up in a special record type. On the Ada side, the record is naturally
-+ aligned (i.e. given pointer alignment) on regular platforms, but it is
-+ given twice this alignment on strict-alignment platforms for performance
-+ reasons. On the C side, for the sake of portability and simplicity, we
-+ overalign it on all platforms (so the machine mode is always the same as
-+ on the Ada side) but arrange to pass it in an even scalar position as a
-+ parameter to functions (so the scalar parameter alignment is always the
-+ same as on the Ada side). */
-+typedef struct { int Low_Bound, High_Bound; } String_Template;
-+typedef struct { const char *Array; String_Template *Bounds; }
-+ __attribute ((aligned (sizeof (char *) * 2))) String_Pointer;
-
- /* Types for Node/Entity Kinds: */
-
---- a/src/gcc/ada/init.c
-+++ b/src/gcc/ada/init.c
-@@ -556,9 +556,14 @@ __gnat_error_handler (int sig, siginfo_t *si ATTRIBUTE_UNUSED, void *ucontext)
- Raise_From_Signal_Handler (exception, msg);
- }
-
--#if defined (i386) || defined (__x86_64__) || defined (__powerpc__)
--/* This must be in keeping with System.OS_Interface.Alternate_Stack_Size. */
--char __gnat_alternate_stack[16 * 1024]; /* 2 * SIGSTKSZ */
-+#ifndef __ia64__
-+#define HAVE_GNAT_ALTERNATE_STACK 1
-+/* This must be in keeping with System.OS_Interface.Alternate_Stack_Size.
-+ It must be larger than MINSIGSTKSZ and hopefully near 2 * SIGSTKSZ. */
-+# if 16 * 1024 < MINSIGSTKSZ
-+# error "__gnat_alternate_stack too small"
-+# endif
-+char __gnat_alternate_stack[16 * 1024];
- #endif
-
- #ifdef __XENO__
-@@ -612,7 +617,7 @@ __gnat_install_handler (void)
- sigaction (SIGBUS, &act, NULL);
- if (__gnat_get_interrupt_state (SIGSEGV) != 's')
- {
--#if defined (i386) || defined (__x86_64__) || defined (__powerpc__)
-+#ifdef HAVE_GNAT_ALTERNATE_STACK
- /* Setup an alternate stack region for the handler execution so that
- stack overflows can be handled properly, avoiding a SEGV generation
- from stack usage by the handler itself. */
diff --git a/debian/patches/pr60902.diff b/debian/patches/pr60902.diff
deleted file mode 100644
index b47bbcf..0000000
--- a/debian/patches/pr60902.diff
+++ /dev/null
@@ -1,102 +0,0 @@
-# DP: Fix PR tree-optimization/60902, taken from the trunk.
-
-gcc/
-
-2014-04-28 Jeff Law <law@redhat.com>
-
- PR tree-optimization/60902
- * tree-ssa-threadedge.c
- (record_temporary_equivalences_from_stmts_at_dest): Only iterate
- over real defs when invalidating outputs from statements that do not
- produce useful outputs for threading.
-
-2014-04-23 Jeff Law <law@redhat.com>
-
- PR tree-optimization/60902
- * tree-ssa-threadedge.c
- (record_temporary_equivalences_from_stmts_at_dest): Make sure to
- invalidate outputs from statements that do not produce useful
- outputs for threading.
-
-gcc/testsuite/
-
-2014-04-23 Jeff Law <law@redhat.com>
-
- PR tree-optimization/60902
- * gcc.target/i386/pr60902.c: New test.
-
-
---- a/src/gcc/testsuite/gcc.target/i386/pr60902.c
-+++ b/src/gcc/testsuite/gcc.target/i386/pr60902.c
-@@ -0,0 +1,32 @@
-+/* { dg-do run } */
-+/* { dg-options "-O2" } */
-+extern void abort ();
-+extern void exit (int);
-+
-+int x;
-+
-+foo()
-+{
-+ static int count;
-+ count++;
-+ if (count > 1)
-+ abort ();
-+}
-+
-+static inline int
-+frob ()
-+{
-+ int a;
-+ __asm__ ("mov %1, %0\n\t" : "=r" (a) : "m" (x));
-+ x++;
-+ return a;
-+}
-+
-+int
-+main ()
-+{
-+ int i;
-+ for (i = 0; i < 10 && frob () == 0; i++)
-+ foo();
-+ exit (0);
-+}
---- a/src/gcc/tree-ssa-threadedge.c
-+++ b/src/gcc/tree-ssa-threadedge.c
-@@ -387,8 +387,35 @@
- && (gimple_code (stmt) != GIMPLE_CALL
- || gimple_call_lhs (stmt) == NULL_TREE
- || TREE_CODE (gimple_call_lhs (stmt)) != SSA_NAME))
-- continue;
-+ {
-+ /* STMT might still have DEFS and we need to invalidate any known
-+ equivalences for them.
-
-+ Consider if STMT is a GIMPLE_ASM with one or more outputs that
-+ feeds a conditional inside a loop. We might derive an equivalence
-+ due to the conditional. */
-+ tree op;
-+ ssa_op_iter iter;
-+
-+ if (backedge_seen)
-+ FOR_EACH_SSA_TREE_OPERAND (op, stmt, iter, SSA_OP_DEF)
-+ {
-+ /* This call only invalidates equivalences created by
-+ PHI nodes. This is by design to keep the cost of
-+ of invalidation reasonable. */
-+ invalidate_equivalences (op, stack, src_map, dst_map);
-+
-+ /* However, conditionals can imply values for real
-+ operands as well. And those won't be recorded in the
-+ maps. In fact, those equivalences may be recorded totally
-+ outside the threading code. We can just create a new
-+ temporary NULL equivalence here. */
-+ record_temporary_equivalence (op, NULL_TREE, stack);
-+ }
-+
-+ continue;
-+ }
-+
- /* The result of __builtin_object_size depends on all the arguments
- of a phi node. Temporarily using only one edge produces invalid
- results. For example
diff --git a/debian/patches/svn-updates.diff b/debian/patches/svn-updates.diff
index 2667b4a..5799f57 100644
--- a/debian/patches/svn-updates.diff
+++ b/debian/patches/svn-updates.diff
@@ -1,10 +1,10 @@
-# DP: updates from the 4.9 branch upto 20140514 (r210437).
+# DP: updates from the 4.9 branch upto 20140518 (r210581).
last_updated()
{
cat > ${dir}LAST_UPDATED <<EOF
-Wed May 14 22:27:23 CEST 2014
-Wed May 14 20:27:23 UTC 2014 (revision 210437)
+Sun May 18 13:48:43 CEST 2014
+Sun May 18 11:48:43 UTC 2014 (revision 210581)
EOF
}
@@ -16,7 +16,13 @@ Index: libgomp/ChangeLog
===================================================================
--- a/src/libgomp/ChangeLog (.../tags/gcc_4_9_0_release)
+++ b/src/libgomp/ChangeLog (.../branches/gcc-4_9-branch)
-@@ -1,3 +1,22 @@
+@@ -1,3 +1,28 @@
++2014-05-18 Uros Bizjak <ubizjak@gmail.com>
++
++ * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
++ (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
++ texts according to their @menu entry positions.
++
+2014-05-02 Jakub Jelinek <jakub@redhat.com>
+
+ * testsuite/libgomp.c/simd-10.c: New test.
@@ -876,6 +882,114 @@ Index: libstdc++-v3/include/std/tuple
#endif
// This class helps construct the various comparison operations on tuples
+Index: libstdc++-v3/include/std/future
+===================================================================
+--- a/src/libstdc++-v3/include/std/future (.../tags/gcc_4_9_0_release)
++++ b/src/libstdc++-v3/include/std/future (.../branches/gcc-4_9-branch)
+@@ -365,12 +365,14 @@
+ void
+ _M_set_result(function<_Ptr_type()> __res, bool __ignore_failure = false)
+ {
+- bool __set = __ignore_failure;
++ bool __set = false;
+ // all calls to this function are serialized,
+ // side-effects of invoking __res only happen once
+ call_once(_M_once, &_State_baseV2::_M_do_set, this, ref(__res),
+ ref(__set));
+- if (!__set)
++ if (__set)
++ _M_cond.notify_all();
++ else if (!__ignore_failure)
+ __throw_future_error(int(future_errc::promise_already_satisfied));
+ }
+
+@@ -485,7 +487,6 @@
+ lock_guard<mutex> __lock(_M_mutex);
+ _M_result.swap(__res);
+ }
+- _M_cond.notify_all();
+ __set = true;
+ }
+
+@@ -495,6 +496,7 @@
+ virtual void _M_complete_async() { }
+
+ // Return true if state contains a deferred function.
++ // Caller must own _M_mutex.
+ virtual bool _M_has_deferred() const { return false; }
+ };
+
+@@ -1007,22 +1009,25 @@
+ void
+ set_value(const _Res& __r)
+ {
++ auto __future = _M_future;
+ auto __setter = _State::__setter(this, __r);
+- _M_future->_M_set_result(std::move(__setter));
++ __future->_M_set_result(std::move(__setter));
+ }
+
+ void
+ set_value(_Res&& __r)
+ {
++ auto __future = _M_future;
+ auto __setter = _State::__setter(this, std::move(__r));
+- _M_future->_M_set_result(std::move(__setter));
++ __future->_M_set_result(std::move(__setter));
+ }
+
+ void
+ set_exception(exception_ptr __p)
+ {
++ auto __future = _M_future;
+ auto __setter = _State::__setter(__p, this);
+- _M_future->_M_set_result(std::move(__setter));
++ __future->_M_set_result(std::move(__setter));
+ }
+ };
+
+@@ -1105,15 +1110,17 @@
+ void
+ set_value(_Res& __r)
+ {
++ auto __future = _M_future;
+ auto __setter = _State::__setter(this, __r);
+- _M_future->_M_set_result(std::move(__setter));
++ __future->_M_set_result(std::move(__setter));
+ }
+
+ void
+ set_exception(exception_ptr __p)
+ {
++ auto __future = _M_future;
+ auto __setter = _State::__setter(__p, this);
+- _M_future->_M_set_result(std::move(__setter));
++ __future->_M_set_result(std::move(__setter));
+ }
+ };
+
+@@ -1190,8 +1197,9 @@
+ void
+ set_exception(exception_ptr __p)
+ {
++ auto __future = _M_future;
+ auto __setter = _State::__setter(__p, this);
+- _M_future->_M_set_result(std::move(__setter));
++ __future->_M_set_result(std::move(__setter));
+ }
+ };
+
+@@ -1217,8 +1225,9 @@
+ inline void
+ promise<void>::set_value()
+ {
++ auto __future = _M_future;
+ auto __setter = _State::__setter(this);
+- _M_future->_M_set_result(std::move(__setter));
++ __future->_M_set_result(std::move(__setter));
+ }
+
+
Index: libstdc++-v3/include/std/functional
===================================================================
--- a/src/libstdc++-v3/include/std/functional (.../tags/gcc_4_9_0_release)
@@ -1065,7 +1179,17 @@ Index: libstdc++-v3/ChangeLog
===================================================================
--- a/src/libstdc++-v3/ChangeLog (.../tags/gcc_4_9_0_release)
+++ b/src/libstdc++-v3/ChangeLog (.../branches/gcc-4_9-branch)
-@@ -1,3 +1,86 @@
+@@ -1,3 +1,96 @@
++2014-05-17 Jonathan Wakely <jwakely@redhat.com>
++
++ PR libstdc++/60966
++ * include/std/future (__future_base::_State_baseV2::_M_set_result):
++ Signal condition variable after call_once returns.
++ (__future_base::_State_baseV2::_M_do_set): Do not signal here.
++ (promise::set_value, promise::set_exception): Increment the reference
++ count on the shared state until the function returns.
++ * testsuite/30_threads/promise/60966.cc: New.
++
+2014-05-08 Joshua Gay <jgay@gnu.org>
+
+ PR libstdc++/61117
@@ -1259,6 +1383,78 @@ Index: libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc
// { dg-do run }
// { dg-options "-g -O0" }
+Index: libstdc++-v3/testsuite/30_threads/promise/60966.cc
+===================================================================
+--- a/src/libstdc++-v3/testsuite/30_threads/promise/60966.cc (.../tags/gcc_4_9_0_release)
++++ b/src/libstdc++-v3/testsuite/30_threads/promise/60966.cc (.../branches/gcc-4_9-branch)
+@@ -0,0 +1,67 @@
++// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-gnu* *-*-solaris* *-*-cygwin *-*-darwin* powerpc-ibm-aix* } }
++// { dg-options " -std=gnu++11 -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-gnu* powerpc-ibm-aix* } }
++// { dg-options " -std=gnu++11 -pthreads" { target *-*-solaris* } }
++// { dg-options " -std=gnu++11 " { target *-*-cygwin *-*-darwin* } }
++// { dg-require-cstdint "" }
++// { dg-require-gthreads "" }
++// { dg-require-atomic-builtins "" }
++
++// Copyright (C) 2014 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/>.
++
++// libstdc++/60966
++// This test hangs if std::promise::~promise() destroys the
++// shared state before std::promise::set_value() finishes using it.
++
++#include <future>
++#include <thread>
++#include <vector>
++
++const int THREADS = 10;
++
++void run_task(std::promise<void>* pr)
++{
++ std::this_thread::sleep_for(std::chrono::milliseconds(100));
++ pr->set_value();
++}
++
++int main()
++{
++ std::vector<std::promise<void>*> tasks(THREADS);
++ std::vector<std::thread> threads(THREADS);
++ std::vector<std::future<void>> futures(THREADS);
++
++ for (int i = 0; i < THREADS; ++i)
++ {
++ std::promise<void>* task = new std::promise<void>;
++ tasks[i] = task;
++ futures[i] = task->get_future();
++ threads[i] = std::thread(run_task, task);
++ }
++
++ for (int i = 0; i < THREADS; ++i)
++ {
++ // the temporary future releases the state as soon as wait() returns
++ std::future<void>(std::move(futures[i])).wait();
++ // state is ready, should now be safe to delete promise, so it
++ // releases the shared state too
++ delete tasks[i];
++ }
++
++ for (auto& t : threads)
++ t.join();
++}
Index: libstdc++-v3/testsuite/experimental/optional/relops/1.cc
===================================================================
--- a/src/libstdc++-v3/testsuite/experimental/optional/relops/1.cc (.../tags/gcc_4_9_0_release)
@@ -1630,6 +1826,104 @@ Index: libstdc++-v3/testsuite/20_util/function/60594.cc
+ F g{ &func };
+ g = func;
+}
+Index: lto-plugin/configure
+===================================================================
+--- a/src/lto-plugin/configure (.../tags/gcc_4_9_0_release)
++++ b/src/lto-plugin/configure (.../branches/gcc-4_9-branch)
+@@ -4087,9 +4087,33 @@
+ done
+ CFLAGS="$save_CFLAGS"
+
++
++# Check whether -static-libgcc is supported.
++saved_LDFLAGS="$LDFLAGS"
++LDFLAGS="$LDFLAGS -static-libgcc"
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -static-libgcc" >&5
++$as_echo_n "checking for -static-libgcc... " >&6; }
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++ int main() {}
++_ACEOF
++if ac_fn_c_try_link "$LINENO"; then :
++ have_static_libgcc=yes
++else
++ have_static_libgcc=no
++fi
++rm -f core conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_static_libgcc" >&5
++$as_echo "$have_static_libgcc" >&6; };
++LDFLAGS="$saved_LDFLAGS"
+ # Need -Wc to get it through libtool.
+-if test "x$GCC" = xyes; then ac_lto_plugin_ldflags="-Wc,-static-libgcc"; fi
++if test "x$have_static_libgcc" = xyes; then
++ ac_lto_plugin_ldflags="-Wc,-static-libgcc"
++fi
+
++
+ case `pwd` in
+ *\ * | *\ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+@@ -10562,7 +10586,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 10565 "configure"
++#line 10589 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -10668,7 +10692,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 10671 "configure"
++#line 10695 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+Index: lto-plugin/configure.ac
+===================================================================
+--- a/src/lto-plugin/configure.ac (.../tags/gcc_4_9_0_release)
++++ b/src/lto-plugin/configure.ac (.../branches/gcc-4_9-branch)
+@@ -7,9 +7,21 @@
+ AC_PROG_CC
+ AC_SYS_LARGEFILE
+ ACX_PROG_CC_WARNING_OPTS([-Wall], [ac_lto_plugin_warn_cflags])
++
++# Check whether -static-libgcc is supported.
++saved_LDFLAGS="$LDFLAGS"
++LDFLAGS="$LDFLAGS -static-libgcc"
++AC_MSG_CHECKING([for -static-libgcc])
++AC_LINK_IFELSE([
++ int main() {}], [have_static_libgcc=yes], [have_static_libgcc=no])
++AC_MSG_RESULT($have_static_libgcc);
++LDFLAGS="$saved_LDFLAGS"
+ # Need -Wc to get it through libtool.
+-if test "x$GCC" = xyes; then ac_lto_plugin_ldflags="-Wc,-static-libgcc"; fi
++if test "x$have_static_libgcc" = xyes; then
++ ac_lto_plugin_ldflags="-Wc,-static-libgcc"
++fi
+ AC_SUBST(ac_lto_plugin_ldflags)
++
+ AM_PROG_LIBTOOL
+ ACX_LT_HOST_FLAGS
+ AC_SUBST(target_noncanonical)
+Index: lto-plugin/ChangeLog
+===================================================================
+--- a/src/lto-plugin/ChangeLog (.../tags/gcc_4_9_0_release)
++++ b/src/lto-plugin/ChangeLog (.../branches/gcc-4_9-branch)
+@@ -1,3 +1,9 @@
++2014-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ PR lto/60981
++ * configure.ac: Check for -static-libgcc.
++ * configure: Regenerate.
++
+ 2014-04-22 Release Manager
+
+ * GCC 4.9.0 released.
Index: libbacktrace/ChangeLog
===================================================================
--- a/src/libbacktrace/ChangeLog (.../tags/gcc_4_9_0_release)
@@ -1704,7 +1998,16 @@ Index: libgcc/ChangeLog
===================================================================
--- a/src/libgcc/ChangeLog (.../tags/gcc_4_9_0_release)
+++ b/src/libgcc/ChangeLog (.../branches/gcc-4_9-branch)
-@@ -1,3 +1,10 @@
+@@ -1,3 +1,19 @@
++2014-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ Backport from mainline
++ 2014-05-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
++
++ PR libgcc/61097
++ * config/t-slibgcc-sld: Only build and install libgcc-unwind.map
++ if --enable-shared.
++
+2014-04-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ Work around for current cygwin32 build problems.
@@ -1715,6 +2018,25 @@ Index: libgcc/ChangeLog
2014-04-22 Release Manager
* GCC 4.9.0 released.
+Index: libgcc/config/t-slibgcc-sld
+===================================================================
+--- a/src/libgcc/config/t-slibgcc-sld (.../tags/gcc_4_9_0_release)
++++ b/src/libgcc/config/t-slibgcc-sld (.../branches/gcc-4_9-branch)
+@@ -4,6 +4,8 @@
+ SHLIB_LDFLAGS = -Wl,-h,$(SHLIB_SONAME) -Wl,-z,text -Wl,-z,defs \
+ -Wl,-M,$(SHLIB_MAP)
+
++ifeq ($(enable_shared),yes)
++
+ # Linker mapfile to enforce direct binding to libgcc_s unwinder
+ # (PR target/59788).
+ libgcc-unwind.map: libgcc-std.ver
+@@ -26,3 +28,5 @@
+ $(INSTALL_DATA) $< $(DESTDIR)$(slibdir)
+
+ install: install-libgcc-unwind-map
++
++endif
Index: libgcc/config/i386/cygming-crtbegin.c
===================================================================
--- a/src/libgcc/config/i386/cygming-crtbegin.c (.../tags/gcc_4_9_0_release)
@@ -1966,7 +2288,7 @@ Index: gcc/DATESTAMP
+++ b/src/gcc/DATESTAMP (.../branches/gcc-4_9-branch)
@@ -1 +1 @@
-20140422
-+20140514
++20140518
Index: gcc/tree-tailcall.c
===================================================================
--- a/src/gcc/tree-tailcall.c (.../tags/gcc_4_9_0_release)
@@ -2044,6 +2366,35 @@ Index: gcc/fold-const.c
case EXACT_DIV_EXPR:
/* In general we can't negate A / B, because if A is INT_MIN and
B is 1, we may turn this into INT_MIN / -1 which is undefined
+@@ -12092,11 +12088,17 @@
+ /* See if we can shorten the right shift. */
+ if (shiftc < prec)
+ shift_type = inner_type;
++ /* Otherwise X >> C1 is all zeros, so we'll optimize
++ it into (X, 0) later on by making sure zerobits
++ is all ones. */
+ }
+ }
+ zerobits = ~(unsigned HOST_WIDE_INT) 0;
+- zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
+- zerobits <<= prec - shiftc;
++ if (shiftc < prec)
++ {
++ zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
++ zerobits <<= prec - shiftc;
++ }
+ /* For arithmetic shift if sign bit could be set, zerobits
+ can contain actually sign bits, so no transformation is
+ possible, unless MASK masks them all away. In that
+@@ -12114,7 +12116,7 @@
+ /* ((X << 16) & 0xff00) is (X, 0). */
+ if ((mask & zerobits) == mask)
+ return omit_one_operand_loc (loc, type,
+- build_int_cst (type, 0), arg0);
++ build_int_cst (type, 0), arg0);
+
+ newmask = mask | zerobits;
+ if (newmask != mask && (newmask & (newmask + 1)) == 0)
Index: gcc/omp-low.c
===================================================================
--- a/src/gcc/omp-low.c (.../tags/gcc_4_9_0_release)
@@ -2274,7 +2625,92 @@ Index: gcc/ChangeLog
===================================================================
--- a/src/gcc/ChangeLog (.../tags/gcc_4_9_0_release)
+++ b/src/gcc/ChangeLog (.../branches/gcc-4_9-branch)
-@@ -1,3 +1,617 @@
+@@ -1,3 +1,702 @@
++2014-05-17 Jan Hubicka <hubicka@ucw.cz>
++
++ * opts.c (common_handle_option): Disable -fipa-reference coorectly
++ with -fuse-profile.
++
++2014-05-17 Jan Hubicka <hubicka@ucw.cz>
++
++ PR ipa/60854
++ * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
++ external aliases alive, too.
++
++2014-05-17 Uros Bizjak <ubizjak@gmail.com>
++
++ * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
++
++2014-05-17 Uros Bizjak <ubizjak@gmail.com>
++
++ Backport from mainline
++ 2014-04-25 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR target/60969
++ * config/i386/i386.md (*movsf_internal): Set MODE to SI for
++ alternative 12.
++
++2014-05-16 Vladimir Makarov <vmakarov@redhat.com>
++
++ PR rtl-optimization/60969
++ * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
++ Calculate costs for this case.
++
++2014-05-15 Peter Bergner <bergner@vnet.ibm.com>
++
++ PR target/61193
++ * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
++ (__TM_simple_begin): Use it.
++ (__TM_begin): Likewise.
++
++2014-05-15 Martin Jambor <mjambor@suse.cz>
++
++ PR ipa/61085
++ * ipa-prop.c (update_indirect_edges_after_inlining): Check
++ type_preserved flag when the indirect edge is polymorphic.
++
++2014-05-15 Martin Jambor <mjambor@suse.cz>
++
++ PR ipa/60897
++ * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
++
++2014-05-15 Jakub Jelinek <jakub@redhat.com>
++
++ PR tree-optimization/61158
++ * fold-const.c (fold_binary_loc): If X is zero-extended and
++ shiftc >= prec, make sure zerobits is all ones instead of
++ invoking undefined behavior.
++
++2014-05-14 Cary Coutant <ccoutant@google.com>
++
++ PR debug/61013
++ * opts.c (common_handle_option): Don't special-case "-g".
++ (set_debug_level): Default to at least level 2 with "-g".
++
++2014-05-14 Eric Botcazou <ebotcazou@adacore.com>
++
++ * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
++ Delete.
++ * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
++ * config/sparc/sparc.md (fptype_ut699): New attribute.
++ (in_branch_delay): Return false if -mfix-ut699 is specified and
++ fptype_ut699 is set to single.
++ (truncdfsf2): Add fptype_ut699 attribute.
++ (fix_truncdfsi2): Likewise.
++ (floatsisf2): Change fptype attribute.
++ (fix_truncsfsi2): Likewise.
++ (negtf2_notv9): Delete.
++ (negtf2_v9): Likewise.
++ (negtf2_hq): New instruction.
++ (negtf2): New instruction and splitter.
++ (negdf2_notv9): Rewrite.
++ (abstf2_notv9): Delete.
++ (abstf2_hq_v9): Likewise.
++ (abstf2_v9): Likewise.
++ (abstf2_hq): New instruction.
++ (abstf2): New instruction and splitter.
++ (absdf2_notv9): Rewrite.
++
+2014-05-14 Matthias Klose <doko@ubuntu.com>
+
+ Revert:
@@ -2892,7 +3328,7 @@ Index: gcc/ChangeLog
2014-04-22 Release Manager
* GCC 4.9.0 released.
-@@ -59,8 +678,7 @@
+@@ -59,8 +763,7 @@
2014-04-11 Tobias Burnus <burnus@net-b.de>
PR other/59055
@@ -2902,7 +3338,7 @@ Index: gcc/ChangeLog
* doc/gcc.texi (Service): Update description in the @menu
* doc/invoke.texi (Option Summary): Remove misplaced and
duplicated @menu.
-@@ -86,15 +704,14 @@
+@@ -86,15 +789,14 @@
2014-04-11 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/60663
@@ -2921,7 +3357,7 @@ Index: gcc/ChangeLog
2014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-@@ -212,9 +829,10 @@
+@@ -212,9 +914,10 @@
2014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
@@ -2935,7 +3371,7 @@ Index: gcc/ChangeLog
* config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
* config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
-@@ -282,21 +900,21 @@
+@@ -282,21 +985,21 @@
2014-04-04 Martin Jambor <mjambor@suse.cz>
PR ipa/60640
@@ -2968,7 +3404,7 @@ Index: gcc/ChangeLog
moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
2014-04-04 Jeff Law <law@redhat.com>
-@@ -334,8 +952,8 @@
+@@ -334,8 +1037,8 @@
PR tree-optimization/60505
* tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
@@ -2979,7 +3415,7 @@ Index: gcc/ChangeLog
* tree-vect-loop.c (new_loop_vec_info):
Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
* tree-vect-loop.c (vect_analyze_loop_operations):
-@@ -347,8 +965,7 @@
+@@ -347,8 +1050,7 @@
2014-04-03 Richard Biener <rguenther@suse.de>
@@ -2989,7 +3425,7 @@ Index: gcc/ChangeLog
(streamer_tree_cache_create): Adjust.
* tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
to allow optional nodes array.
-@@ -359,8 +976,7 @@
+@@ -359,8 +1061,7 @@
* lto-streamer-out.c (create_output_block): Avoid maintaining
the node array in the writer cache.
(DFS_write_tree): Remove assertion.
@@ -2999,7 +3435,7 @@ Index: gcc/ChangeLog
* lto-streamer-in.c (lto_data_in_create): Adjust for
streamer_tree_cache_create prototype change.
-@@ -381,24 +997,6 @@
+@@ -381,24 +1082,6 @@
(Weffc++): Remove Scott's numbering, merge lists and reference
Wnon-virtual-dtor.
@@ -3024,7 +3460,7 @@ Index: gcc/ChangeLog
2014-04-03 Nick Clifton <nickc@redhat.com>
* config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
-@@ -414,8 +1012,8 @@
+@@ -414,8 +1097,8 @@
2014-04-02 Jan Hubicka <hubicka@ucw.cz>
PR ipa/60659
@@ -3035,7 +3471,7 @@ Index: gcc/ChangeLog
(possible_polymorphic_call_targets): For inconsistent contexts
return empty complete list.
-@@ -519,8 +1117,7 @@
+@@ -519,8 +1202,7 @@
2014-04-01 Richard Biener <rguenther@suse.de>
@@ -4560,6 +4996,23 @@ Index: gcc/testsuite/gcc.dg/graphite/pr59817-1.c
+ for (wj = 0; wj < 2; ++wj)
+ *nk = ((i5 += *il) || kd );
+}
+Index: gcc/testsuite/gcc.dg/pr61158.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/pr61158.c (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/testsuite/gcc.dg/pr61158.c (.../branches/gcc-4_9-branch)
+@@ -0,0 +1,12 @@
++/* PR tree-optimization/61158 */
++/* { dg-do compile } */
++/* { dg-options "-O2 -fdump-tree-original" } */
++
++unsigned long long
++foo (unsigned int x)
++{
++ return ((unsigned long long) x & 0x00ff000000000000ULL) >> 40;
++}
++
++/* { dg-final { scan-tree-dump "return 0;" "original" { target { ilp32 || lp64 } } } } */
++/* { dg-final { cleanup-tree-dump "original" } } */
Index: gcc/testsuite/gcc.dg/lto/pr60720_0.c
===================================================================
--- a/src/gcc/testsuite/gcc.dg/lto/pr60720_0.c (.../tags/gcc_4_9_0_release)
@@ -5003,7 +5456,33 @@ Index: gcc/testsuite/ChangeLog
===================================================================
--- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_4_9_0_release)
+++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-4_9-branch)
-@@ -1,3 +1,297 @@
+@@ -1,3 +1,323 @@
++2014-04-16 Jan Hubicka <hubicka@ucw.cz>
++
++ PR ipa/60854
++ * g++.dg/torture/pr60854.C: New testcase.
++
++2014-05-17 Uros Bizjak <ubizjak@gmail.com>
++
++ * g++.dg/pr60969.C: Compile for all ilp32 x86 targets.
++ (dg-options): Add -mfpmath=387.
++ (dg-final): Check that no MMX registers are used.
++
++2014-05-16 Vladimir Makarov <vmakarov@redhat.com>
++
++ PR rtl-optimization/60969
++ * g++.dg/pr60969.C: New.
++
++2014-05-15 Martin Jambor <mjambor@suse.cz>
++
++ PR ipa/61085
++ * g++.dg/ipa/pr61085.C: New test.
++
++2014-05-15 Jakub Jelinek <jakub@redhat.com>
++
++ PR tree-optimization/61158
++ * gcc.dg/pr61158.c: New test.
++
+2014-05-14 Matthias Klose <doko@ubuntu.com>
+
+ PR driver/61106
@@ -5301,7 +5780,7 @@ Index: gcc/testsuite/ChangeLog
2014-04-22 Release Manager
* GCC 4.9.0 released.
-@@ -51,7 +345,7 @@
+@@ -51,7 +371,7 @@
2014-04-12 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/60810
@@ -5310,7 +5789,7 @@ Index: gcc/testsuite/ChangeLog
2014-04-11 Steve Ellcey <sellcey@mips.com>
Jakub Jelinek <jakub@redhat.com>
-@@ -135,8 +429,7 @@
+@@ -135,8 +455,7 @@
2014-04-08 Jason Merrill <jason@redhat.com>
@@ -5320,7 +5799,7 @@ Index: gcc/testsuite/ChangeLog
2014-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-@@ -256,10 +549,10 @@
+@@ -256,10 +575,10 @@
2014-04-04 Martin Jambor <mjambor@suse.cz>
PR ipa/60640
@@ -5335,7 +5814,7 @@ Index: gcc/testsuite/ChangeLog
2014-04-04 Jeff Law <law@redhat.com>
-@@ -371,7 +664,7 @@
+@@ -371,7 +690,7 @@
2014-04-01 Fabien Chêne <fabien@gcc.gnu.org>
@@ -5344,7 +5823,7 @@ Index: gcc/testsuite/ChangeLog
* g++.dg/init/ctor4-1.C: New.
* g++.dg/cpp0x/defaulted2.C: Adjust.
-@@ -459,8 +752,8 @@
+@@ -459,8 +778,8 @@
2014-03-27 Jeff Law <law@redhat.com>
@@ -5355,7 +5834,7 @@ Index: gcc/testsuite/ChangeLog
2014-03-28 Adam Butcher <adam@jessamine.co.uk>
-@@ -493,14 +786,13 @@
+@@ -493,14 +812,13 @@
2014-03-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
@@ -5373,7 +5852,7 @@ Index: gcc/testsuite/ChangeLog
of second source operand.
* gcc.target/i386/avx512f-vshuff64x2-2.c: Ditto.
* gcc.target/i386/avx512f-vshufi32x4-2.c: Ditto.
-@@ -635,8 +927,8 @@
+@@ -635,8 +953,8 @@
2014-03-24 Marek Polacek <polacek@redhat.com>
@@ -5384,7 +5863,7 @@ Index: gcc/testsuite/ChangeLog
* c-c++-common/ubsan/overflow-1.c: Check for unwanted output.
* c-c++-common/ubsan/overflow-add-1.c: Likewise.
* c-c++-common/ubsan/overflow-mul-1.c: Likewise.
-@@ -721,8 +1013,7 @@
+@@ -721,8 +1039,7 @@
2014-03-21 Tobias Burnus <burnus@net-b.de>
PR fortran/60599
@@ -5394,7 +5873,7 @@ Index: gcc/testsuite/ChangeLog
2014-03-20 Jakub Jelinek <jakub@redhat.com>
-@@ -1540,8 +1831,7 @@
+@@ -1540,8 +1857,7 @@
2014-02-19 Paul Pluzhnikov <ppluzhnikov@google.com>
@@ -5404,7 +5883,7 @@ Index: gcc/testsuite/ChangeLog
2014-02-19 Jakub Jelinek <jakub@redhat.com>
-@@ -1850,8 +2140,7 @@
+@@ -1850,8 +2166,7 @@
2014-02-10 Jakub Jelinek <jakub@redhat.com>
@@ -5414,7 +5893,7 @@ Index: gcc/testsuite/ChangeLog
2014-02-09 Paul Thomas <pault@gcc.gnu.org>
-@@ -3098,8 +3387,8 @@
+@@ -3098,8 +3413,8 @@
* gfortran.dg/vect/fast-math-mgrid-resid.f: Change
-fdump-tree-optimized to -fdump-tree-pcom-details in dg-options and
cleanup-tree-dump from optimized to pcom. Remove scan-tree-dump-times
@@ -5582,6 +6061,43 @@ Index: gcc/testsuite/g++.dg/tree-ssa/pr61009.C
+
+// { dg-final { scan-tree-dump-times "== 0" 1 "dom1" } }
+// { dg-final { cleanup-tree-dump "dom1" } }
+Index: gcc/testsuite/g++.dg/pr60969.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/pr60969.C (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/testsuite/g++.dg/pr60969.C (.../branches/gcc-4_9-branch)
+@@ -0,0 +1,32 @@
++/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
++/* { dg-options "-O2 -ftree-vectorize -march=pentium4 -mfpmath=387" } */
++
++struct A
++{
++ float f, g, h, k;
++ A () {}
++ A (float v0, float x, float y) : f(v0), g(x), h(y), k(0.0f) {}
++ A bar (A &a, float t) { return A (f + a.f * t, g + a.g * t, h + a.h * t); }
++};
++
++A
++baz (A &x, A &y, float t)
++{
++ return x.bar (y, t);
++}
++
++A *
++foo (A &s, A &t, A &u, A &v, int y, int z)
++{
++ A *x = new A[y * z];
++ for (int i = 0; i < 7; i++)
++ {
++ A s = baz (s, u, i / (float) z);
++ A t = baz (t, v, i / (float) z);
++ for (int j = 0; j < 7; j++)
++ x[i * y + j] = baz (s, t, j / (float) y);
++ }
++ return x;
++}
++
++/* { dg-final { scan-assembler-not "%mm" } } */
Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const3.C
===================================================================
--- a/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const3.C (.../tags/gcc_4_9_0_release)
@@ -5825,6 +6341,24 @@ Index: gcc/testsuite/g++.dg/torture/pr60895.C
+{
+ J ();
+}
+Index: gcc/testsuite/g++.dg/torture/pr60854.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/torture/pr60854.C (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/testsuite/g++.dg/torture/pr60854.C (.../branches/gcc-4_9-branch)
+@@ -0,0 +1,13 @@
++template <typename T>
++class MyClass
++{
++public:
++ __attribute__ ((__always_inline__)) inline MyClass () { ; }
++};
++
++extern template class MyClass<double>;
++
++void Func()
++{
++ MyClass<double> x;
++}
Index: gcc/testsuite/g++.dg/ipa/devirt-31.C
===================================================================
--- a/src/gcc/testsuite/g++.dg/ipa/devirt-31.C (.../tags/gcc_4_9_0_release)
@@ -5853,6 +6387,44 @@ Index: gcc/testsuite/g++.dg/ipa/devirt-31.C
+}
+/* { dg-final { scan-ipa-dump-not "__builtin_unreachable" "inline" } } */
+/* { dg-final { cleanup-ipa-dump "inline" } } */
+Index: gcc/testsuite/g++.dg/ipa/pr61085.C
+===================================================================
+--- a/src/gcc/testsuite/g++.dg/ipa/pr61085.C (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/testsuite/g++.dg/ipa/pr61085.C (.../branches/gcc-4_9-branch)
+@@ -0,0 +1,33 @@
++/* { dg-do run } */
++/* { dg-options "-O2 -fno-early-inlining" } */
++
++struct A {};
++struct B : virtual A {
++ unsigned m_i;
++ B() : m_i () {}
++ virtual A *m_virt ()
++ {
++ return 0;
++ }
++ ~B ()
++ {
++ m_foo ();
++ while (m_i)
++ ;
++ }
++ void m_foo ()
++ {
++ m_virt ();
++ }
++};
++
++class C : B {
++ A *m_virt () {
++ __builtin_abort ();
++ }
++};
++
++int main ()
++{
++ C c;
++}
Index: gcc/testsuite/g++.dg/ipa/devirt-27.C
===================================================================
--- a/src/gcc/testsuite/g++.dg/ipa/devirt-27.C (.../tags/gcc_4_9_0_release)
@@ -6839,6 +7411,721 @@ Index: gcc/opts.c
if (comma == NULL)
break;
+@@ -1740,7 +1740,7 @@
+ /* FIXME: Instrumentation we insert makes ipa-reference bitmaps
+ quadratic. Disable the pass until better memory representation
+ is done. */
+- if (!opts_set->x_flag_ipa_reference && opts->x_in_lto_p)
++ if (!opts_set->x_flag_ipa_reference)
+ opts->x_flag_ipa_reference = false;
+ break;
+
+@@ -1820,13 +1820,8 @@
+ break;
+
+ case OPT_g:
+- /* -g by itself should force -g2. */
+- if (*arg == '\0')
+- set_debug_level (NO_DEBUG, DEFAULT_GDB_EXTENSIONS, "2", opts, opts_set,
+- loc);
+- else
+- set_debug_level (NO_DEBUG, DEFAULT_GDB_EXTENSIONS, arg, opts, opts_set,
+- loc);
++ set_debug_level (NO_DEBUG, DEFAULT_GDB_EXTENSIONS, arg, opts, opts_set,
++ loc);
+ break;
+
+ case OPT_gcoff:
+@@ -2076,10 +2071,12 @@
+ opts_set->x_write_symbols = type;
+ }
+
+- /* A debug flag without a level defaults to level 2. */
++ /* A debug flag without a level defaults to level 2.
++ If off or at level 1, set it to level 2, but if already
++ at level 3, don't lower it. */
+ if (*arg == '\0')
+ {
+- if (!opts->x_debug_info_level)
++ if (opts->x_debug_info_level < DINFO_LEVEL_NORMAL)
+ opts->x_debug_info_level = DINFO_LEVEL_NORMAL;
+ }
+ else
+Index: gcc/ada/comperr.adb
+===================================================================
+--- a/src/gcc/ada/comperr.adb (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ada/comperr.adb (.../branches/gcc-4_9-branch)
+@@ -6,7 +6,7 @@
+ -- --
+ -- B o d y --
+ -- --
+--- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
++-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
+ -- --
+ -- 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- --
+@@ -74,8 +74,8 @@
+
+ procedure Compiler_Abort
+ (X : String;
+- Code : Integer := 0;
+- Fallback_Loc : String := "")
++ Fallback_Loc : String := "";
++ From_GCC : Boolean := False)
+ is
+ -- The procedures below output a "bug box" with information about
+ -- the cause of the compiler abort and about the preferred method
+@@ -206,7 +206,7 @@
+ Write_Str (") ");
+
+ if X'Length + Column > 76 then
+- if Code < 0 then
++ if From_GCC then
+ Write_Str ("GCC error:");
+ end if;
+
+@@ -235,12 +235,8 @@
+ Write_Str (X);
+ end if;
+
+- if Code > 0 then
+- Write_Str (", Code=");
+- Write_Int (Int (Code));
++ if not From_GCC then
+
+- elsif Code = 0 then
+-
+ -- For exception case, get exception message from the TSD. Note
+ -- that it would be neater and cleaner to pass the exception
+ -- message (obtained from Exception_Message) as a parameter to
+Index: gcc/ada/comperr.ads
+===================================================================
+--- a/src/gcc/ada/comperr.ads (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ada/comperr.ads (.../branches/gcc-4_9-branch)
+@@ -6,7 +6,7 @@
+ -- --
+ -- S p e c --
+ -- --
+--- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
++-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
+ -- --
+ -- 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- --
+@@ -31,8 +31,8 @@
+
+ procedure Compiler_Abort
+ (X : String;
+- Code : Integer := 0;
+- Fallback_Loc : String := "");
++ Fallback_Loc : String := "";
++ From_GCC : Boolean := False);
+ pragma No_Return (Compiler_Abort);
+ -- Signals an internal compiler error. Never returns control. Depending on
+ -- processing may end up raising Unrecoverable_Error, or exiting directly.
+@@ -46,10 +46,9 @@
+ -- Note that this is only used at the outer level (to handle constraint
+ -- errors or assert errors etc.) In the normal logic of the compiler we
+ -- always use pragma Assert to check for errors, and if necessary an
+- -- explicit abort is achieved by pragma Assert (False). Code is positive
+- -- for a gigi abort (giving the gigi abort code), zero for a front
+- -- end exception (with possible message stored in TSD.Current_Excep,
+- -- and negative (an unused value) for a GCC abort.
++ -- explicit abort is achieved by pragma Assert (False). From_GCC is true
++ -- for a GCC abort and false for a front end exception (with a possible
++ -- message stored in TSD.Current_Excep).
+
+ procedure Delete_SCIL_Files;
+ -- Delete SCIL files associated with the main unit
+Index: gcc/ada/fe.h
+===================================================================
+--- a/src/gcc/ada/fe.h (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ada/fe.h (.../branches/gcc-4_9-branch)
+@@ -29,17 +29,20 @@
+ * *
+ ****************************************************************************/
+
+-/* This file contains definitions to access front-end functions and
+- variables used by gigi. */
++/* This file contains declarations to access front-end functions and variables
++ used by gigi.
+
++ WARNING: functions taking String_Pointer parameters must abide by the rule
++ documented alongside the definition of String_Pointer in types.h. */
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+-/* comperr: */
++/* comperr: */
+
+ #define Compiler_Abort comperr__compiler_abort
+-extern int Compiler_Abort (Fat_Pointer, int, Fat_Pointer) ATTRIBUTE_NORETURN;
++extern int Compiler_Abort (String_Pointer, String_Pointer, Boolean) ATTRIBUTE_NORETURN;
+
+ /* csets: */
+
+@@ -72,8 +75,6 @@
+ extern void Set_RM_Size (Entity_Id, Uint);
+ extern void Set_Present_Expr (Node_Id, Uint);
+
+-/* Test if the node N is the name of an entity (i.e. is an identifier,
+- expanded name, or an attribute reference that returns an entity). */
+ #define Is_Entity_Name einfo__is_entity_name
+ extern Boolean Is_Entity_Name (Node_Id);
+
+@@ -90,8 +91,8 @@
+ #define Error_Msg_NE errout__error_msg_ne
+ #define Set_Identifier_Casing errout__set_identifier_casing
+
+-extern void Error_Msg_N (Fat_Pointer, Node_Id);
+-extern void Error_Msg_NE (Fat_Pointer, Node_Id, Entity_Id);
++extern void Error_Msg_N (String_Pointer, Node_Id);
++extern void Error_Msg_NE (String_Pointer, Node_Id, Entity_Id);
+ extern void Set_Identifier_Casing (Char *, const Char *);
+
+ /* err_vars: */
+@@ -147,11 +148,9 @@
+
+ #define Get_Encoded_Name exp_dbug__get_encoded_name
+ #define Get_External_Name exp_dbug__get_external_name
+-#define Get_External_Name_With_Suffix exp_dbug__get_external_name_with_suffix
+
+-extern void Get_Encoded_Name (Entity_Id);
+-extern void Get_External_Name (Entity_Id, Boolean);
+-extern void Get_External_Name_With_Suffix (Entity_Id, Fat_Pointer);
++extern void Get_Encoded_Name (Entity_Id);
++extern void Get_External_Name (Entity_Id, Boolean, String_Pointer);
+
+ /* exp_util: */
+
+Index: gcc/ada/types.h
+===================================================================
+--- a/src/gcc/ada/types.h (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ada/types.h (.../branches/gcc-4_9-branch)
+@@ -76,11 +76,19 @@
+ /* Pointer to string of Chars */
+ typedef Char *Str_Ptr;
+
+-/* Types for the fat pointer used for strings and the template it
+- points to. */
+-typedef struct {int Low_Bound, High_Bound; } String_Template;
+-typedef struct {const char *Array; String_Template *Bounds; }
+- __attribute ((aligned (sizeof (char *) * 2))) Fat_Pointer;
++/* Types for the fat pointer used for strings and the template it points to.
++ The fat pointer is conceptually a couple of pointers, but it is wrapped
++ up in a special record type. On the Ada side, the record is naturally
++ aligned (i.e. given pointer alignment) on regular platforms, but it is
++ given twice this alignment on strict-alignment platforms for performance
++ reasons. On the C side, for the sake of portability and simplicity, we
++ overalign it on all platforms (so the machine mode is always the same as
++ on the Ada side) but arrange to pass it in an even scalar position as a
++ parameter to functions (so the scalar parameter alignment is always the
++ same as on the Ada side). */
++typedef struct { int Low_Bound, High_Bound; } String_Template;
++typedef struct { const char *Array; String_Template *Bounds; }
++ __attribute ((aligned (sizeof (char *) * 2))) String_Pointer;
+
+ /* Types for Node/Entity Kinds: */
+
+Index: gcc/ada/exp_dbug.adb
+===================================================================
+--- a/src/gcc/ada/exp_dbug.adb (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ada/exp_dbug.adb (.../branches/gcc-4_9-branch)
+@@ -507,8 +507,8 @@
+ begin
+ -- If not generating code, there is no need to create encoded names, and
+ -- problems when the back-end is called to annotate types without full
+- -- code generation. See comments in Get_External_Name_With_Suffix for
+- -- additional details.
++ -- code generation. See comments in Get_External_Name for additional
++ -- details.
+
+ -- However we do create encoded names if the back end is active, even
+ -- if Operating_Mode got reset. Otherwise any serious error reported
+@@ -556,7 +556,7 @@
+ -- Fixed-point case
+
+ if Is_Fixed_Point_Type (E) then
+- Get_External_Name_With_Suffix (E, "XF_");
++ Get_External_Name (E, True, "XF_");
+ Add_Real_To_Buffer (Delta_Value (E));
+
+ if Small_Value (E) /= Delta_Value (E) then
+@@ -568,14 +568,14 @@
+
+ elsif Vax_Float (E) then
+ if Digits_Value (Base_Type (E)) = 6 then
+- Get_External_Name_With_Suffix (E, "XFF");
++ Get_External_Name (E, True, "XFF");
+
+ elsif Digits_Value (Base_Type (E)) = 9 then
+- Get_External_Name_With_Suffix (E, "XFF");
++ Get_External_Name (E, True, "XFF");
+
+ else
+ pragma Assert (Digits_Value (Base_Type (E)) = 15);
+- Get_External_Name_With_Suffix (E, "XFG");
++ Get_External_Name (E, True, "XFG");
+ end if;
+
+ -- Discrete case where bounds do not match size
+@@ -607,9 +607,9 @@
+
+ begin
+ if Biased then
+- Get_External_Name_With_Suffix (E, "XB");
++ Get_External_Name (E, True, "XB");
+ else
+- Get_External_Name_With_Suffix (E, "XD");
++ Get_External_Name (E, True, "XD");
+ end if;
+
+ if Lo_Encode or Hi_Encode then
+@@ -649,7 +649,7 @@
+
+ else
+ Has_Suffix := False;
+- Get_External_Name (E, Has_Suffix);
++ Get_External_Name (E);
+ end if;
+
+ if Debug_Flag_B and then Has_Suffix then
+@@ -667,7 +667,11 @@
+ -- Get_External_Name --
+ -----------------------
+
+- procedure Get_External_Name (Entity : Entity_Id; Has_Suffix : Boolean) is
++ procedure Get_External_Name
++ (Entity : Entity_Id;
++ Has_Suffix : Boolean := False;
++ Suffix : String := "")
++ is
+ E : Entity_Id := Entity;
+ Kind : Entity_Kind;
+
+@@ -704,6 +708,20 @@
+ -- Start of processing for Get_External_Name
+
+ begin
++ -- If we are not in code generation mode, this procedure may still be
++ -- called from Back_End (more specifically - from gigi for doing type
++ -- representation annotation or some representation-specific checks).
++ -- But in this mode there is no need to mess with external names.
++
++ -- Furthermore, the call causes difficulties in this case because the
++ -- string representing the homonym number is not correctly reset as a
++ -- part of the call to Output_Homonym_Numbers_Suffix (which is not
++ -- called in gigi).
++
++ if Operating_Mode /= Generate_Code then
++ return;
++ end if;
++
+ Reset_Buffers;
+
+ -- If this is a child unit, we want the child
+@@ -762,43 +780,14 @@
+ Get_Qualified_Name_And_Append (E);
+ end if;
+
+- Name_Buffer (Name_Len + 1) := ASCII.NUL;
+- end Get_External_Name;
+-
+- -----------------------------------
+- -- Get_External_Name_With_Suffix --
+- -----------------------------------
+-
+- procedure Get_External_Name_With_Suffix
+- (Entity : Entity_Id;
+- Suffix : String)
+- is
+- Has_Suffix : constant Boolean := (Suffix /= "");
+-
+- begin
+- -- If we are not in code generation mode, this procedure may still be
+- -- called from Back_End (more specifically - from gigi for doing type
+- -- representation annotation or some representation-specific checks).
+- -- But in this mode there is no need to mess with external names.
+-
+- -- Furthermore, the call causes difficulties in this case because the
+- -- string representing the homonym number is not correctly reset as a
+- -- part of the call to Output_Homonym_Numbers_Suffix (which is not
+- -- called in gigi).
+-
+- if Operating_Mode /= Generate_Code then
+- return;
+- end if;
+-
+- Get_External_Name (Entity, Has_Suffix);
+-
+ if Has_Suffix then
+ Add_Str_To_Name_Buffer ("___");
+ Add_Str_To_Name_Buffer (Suffix);
+- Name_Buffer (Name_Len + 1) := ASCII.NUL;
+ end if;
+- end Get_External_Name_With_Suffix;
+
++ Name_Buffer (Name_Len + 1) := ASCII.NUL;
++ end Get_External_Name;
++
+ --------------------------
+ -- Get_Variant_Encoding --
+ --------------------------
+@@ -944,7 +933,7 @@
+ Suffix_Index : Int)
+ is
+ begin
+- Get_External_Name (Typ, Has_Suffix => False);
++ Get_External_Name (Typ);
+
+ if Ancestor_Typ /= Typ then
+ declare
+@@ -952,7 +941,7 @@
+ Save_Str : constant String (1 .. Name_Len)
+ := Name_Buffer (1 .. Name_Len);
+ begin
+- Get_External_Name (Ancestor_Typ, Has_Suffix => False);
++ Get_External_Name (Ancestor_Typ);
+
+ -- Append the extended name of the ancestor to the
+ -- extended name of Typ
+Index: gcc/ada/exp_dbug.ads
+===================================================================
+--- a/src/gcc/ada/exp_dbug.ads (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ada/exp_dbug.ads (.../branches/gcc-4_9-branch)
+@@ -413,10 +413,11 @@
+
+ procedure Get_External_Name
+ (Entity : Entity_Id;
+- Has_Suffix : Boolean);
+- -- Set Name_Buffer and Name_Len to the external name of entity E. The
++ Has_Suffix : Boolean := False;
++ Suffix : String := "");
++ -- Set Name_Buffer and Name_Len to the external name of the entity. The
+ -- external name is the Interface_Name, if specified, unless the entity
+- -- has an address clause or a suffix.
++ -- has an address clause or Has_Suffix is true.
+ --
+ -- If the Interface is not present, or not used, the external name is the
+ -- concatenation of:
+@@ -428,26 +429,11 @@
+ -- - the string "$" (or "__" if target does not allow "$"), followed
+ -- by homonym suffix, if the entity is an overloaded subprogram
+ -- or is defined within an overloaded subprogram.
+-
+- procedure Get_External_Name_With_Suffix
+- (Entity : Entity_Id;
+- Suffix : String);
+- -- Set Name_Buffer and Name_Len to the external name of entity E. If
+- -- Suffix is the empty string the external name is as above, otherwise
+- -- the external name is the concatenation of:
++ -- - the string "___" followed by Suffix if Has_Suffix is true.
+ --
+- -- - the string "_ada_", if the entity is a library subprogram,
+- -- - the names of any enclosing scopes, each followed by "__",
+- -- or "X_" if the next entity is a subunit)
+- -- - the name of the entity
+- -- - the string "$" (or "__" if target does not allow "$"), followed
+- -- by homonym suffix, if the entity is an overloaded subprogram
+- -- or is defined within an overloaded subprogram.
+- -- - the string "___" followed by Suffix
+- --
+ -- Note that a call to this procedure has no effect if we are not
+ -- generating code, since the necessary information for computing the
+- -- proper encoded name is not available in this case.
++ -- proper external name is not available in this case.
+
+ --------------------------------------------
+ -- Subprograms for Handling Qualification --
+Index: gcc/ada/ChangeLog
+===================================================================
+--- a/src/gcc/ada/ChangeLog (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ada/ChangeLog (.../branches/gcc-4_9-branch)
+@@ -1,3 +1,42 @@
++2014-05-17 Eric Botcazou <ebotcazou@adacore.com>
++
++ Backport from mainline
++
++ 2014-04-28 Richard Henderson <rth@redhat.com>
++
++ * gcc-interface/Makefile.in: Support aarch64-linux.
++
++ 2014-04-28 Eric Botcazou <ebotcazou@adacore.com>
++
++ * exp_dbug.ads (Get_External_Name): Add 'False' default to Has_Suffix,
++ add 'Suffix' parameter and adjust comment.
++ (Get_External_Name_With_Suffix): Delete.
++ * exp_dbug.adb (Get_External_Name_With_Suffix): Merge into...
++ (Get_External_Name): ...here. Add 'False' default to Has_Suffix, add
++ 'Suffix' parameter.
++ (Get_Encoded_Name): Remove 2nd argument in call to Get_External_Name.
++ Call Get_External_Name instead of Get_External_Name_With_Suffix.
++ (Get_Secondary_DT_External_Name): Likewise.
++ * exp_cg.adb (Write_Call_Info): Likewise.
++ * exp_disp.adb (Export_DT): Likewise.
++ (Import_DT): Likewise.
++ * comperr.ads (Compiler_Abort): Remove Code parameter and add From_GCC
++ parameter with False default.
++ * comperr.adb (Compiler_Abort): Likewise. Adjust accordingly.
++ * types.h (Fat_Pointer): Rename into...
++ (String_Pointer): ...this. Add comment on interfacing rules.
++ * fe.h (Compiler_Abort): Adjust for above renaming.
++ (Error_Msg_N): Likewise.
++ (Error_Msg_NE): Likewise.
++ (Get_External_Name): Likewise. Add third parameter.
++ (Get_External_Name_With_Suffix): Delete.
++ * gcc-interface/decl.c (STDCALL_PREFIX): Define.
++ (create_concat_name): Adjust call to Get_External_Name, remove call to
++ Get_External_Name_With_Suffix, use STDCALL_PREFIX, adjust for renaming.
++ * gcc-interface/trans.c (post_error): Likewise.
++ (post_error_ne): Likewise.
++ * gcc-interface/misc.c (internal_error_function): Likewise.
++
+ 2014-04-22 Release Manager
+
+ * GCC 4.9.0 released.
+Index: gcc/ada/exp_disp.adb
+===================================================================
+--- a/src/gcc/ada/exp_disp.adb (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ada/exp_disp.adb (.../branches/gcc-4_9-branch)
+@@ -3913,10 +3913,7 @@
+
+ pragma Assert (Related_Type (Node (Elmt)) = Typ);
+
+- Get_External_Name
+- (Entity => Node (Elmt),
+- Has_Suffix => True);
+-
++ Get_External_Name (Node (Elmt));
+ Set_Interface_Name (DT,
+ Make_String_Literal (Loc,
+ Strval => String_From_Name_Buffer));
+@@ -7088,7 +7085,7 @@
+
+ Set_Scope (DT, Current_Scope);
+
+- Get_External_Name (DT, True);
++ Get_External_Name (DT);
+ Set_Interface_Name (DT,
+ Make_String_Literal (Loc, Strval => String_From_Name_Buffer));
+
+Index: gcc/ada/gcc-interface/Makefile.in
+===================================================================
+--- a/src/gcc/ada/gcc-interface/Makefile.in (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ada/gcc-interface/Makefile.in (.../branches/gcc-4_9-branch)
+@@ -1988,6 +1988,44 @@
+ LIBRARY_VERSION := $(LIB_VERSION)
+ endif
+
++# AArch64 Linux
++ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),)
++ LIBGNAT_TARGET_PAIRS = \
++ a-exetim.adb<a-exetim-posix.adb \
++ a-exetim.ads<a-exetim-default.ads \
++ a-intnam.ads<a-intnam-linux.ads \
++ a-synbar.adb<a-synbar-posix.adb \
++ a-synbar.ads<a-synbar-posix.ads \
++ s-inmaop.adb<s-inmaop-posix.adb \
++ s-intman.adb<s-intman-posix.adb \
++ s-linux.ads<s-linux.ads \
++ s-mudido.adb<s-mudido-affinity.adb \
++ s-osinte.ads<s-osinte-linux.ads \
++ s-osinte.adb<s-osinte-posix.adb \
++ s-osprim.adb<s-osprim-posix.adb \
++ s-taprop.adb<s-taprop-linux.adb \
++ s-tasinf.ads<s-tasinf-linux.ads \
++ s-tasinf.adb<s-tasinf-linux.adb \
++ s-tpopsp.adb<s-tpopsp-tls.adb \
++ s-taspri.ads<s-taspri-posix.ads \
++ g-sercom.adb<g-sercom-linux.adb \
++ $(ATOMICS_TARGET_PAIRS) \
++ $(ATOMICS_BUILTINS_TARGET_PAIRS) \
++ system.ads<system-linux-x86_64.ads
++ ## ^^ Note the above is a pretty-close placeholder.
++
++ TOOLS_TARGET_PAIRS = \
++ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
++ indepsw.adb<indepsw-gnu.adb
++
++ EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o
++ EH_MECHANISM=-gcc
++ THREADSLIB=-lpthread -lrt
++ GNATLIB_SHARED=gnatlib-shared-dual
++ GMEM_LIB = gmemlib
++ LIBRARY_VERSION := $(LIB_VERSION)
++endif
++
+ # Sparc Linux
+ ifeq ($(strip $(filter-out sparc% linux%,$(target_cpu) $(target_os))),)
+ LIBGNAT_TARGET_PAIRS_COMMON = \
+Index: gcc/ada/gcc-interface/decl.c
+===================================================================
+--- a/src/gcc/ada/gcc-interface/decl.c (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ada/gcc-interface/decl.c (.../branches/gcc-4_9-branch)
+@@ -72,6 +72,8 @@
+ #define Has_Thiscall_Convention(E) 0
+ #endif
+
++#define STDCALL_PREFIX "_imp__"
++
+ /* Stack realignment is necessary for functions with foreign conventions when
+ the ABI doesn't mandate as much as what the compiler assumes - that is, up
+ to PREFERRED_STACK_BOUNDARY.
+@@ -8879,16 +8881,12 @@
+ tree
+ create_concat_name (Entity_Id gnat_entity, const char *suffix)
+ {
+- Entity_Kind kind = Ekind (gnat_entity);
++ const Entity_Kind kind = Ekind (gnat_entity);
++ const bool has_suffix = (suffix != NULL);
++ String_Template temp = {1, has_suffix ? strlen (suffix) : 0};
++ String_Pointer sp = {suffix, &temp};
+
+- if (suffix)
+- {
+- String_Template temp = {1, (int) strlen (suffix)};
+- Fat_Pointer fp = {suffix, &temp};
+- Get_External_Name_With_Suffix (gnat_entity, fp);
+- }
+- else
+- Get_External_Name (gnat_entity, 0);
++ Get_External_Name (gnat_entity, has_suffix, sp);
+
+ /* A variable using the Stdcall convention lives in a DLL. We adjust
+ its name to use the jump table, the _imp__NAME contains the address
+@@ -8896,9 +8894,9 @@
+ if ((kind == E_Variable || kind == E_Constant)
+ && Has_Stdcall_Convention (gnat_entity))
+ {
+- const int len = 6 + Name_Len;
++ const int len = strlen (STDCALL_PREFIX) + Name_Len;
+ char *new_name = (char *) alloca (len + 1);
+- strcpy (new_name, "_imp__");
++ strcpy (new_name, STDCALL_PREFIX);
+ strcat (new_name, Name_Buffer);
+ return get_identifier_with_length (new_name, len);
+ }
+Index: gcc/ada/gcc-interface/trans.c
+===================================================================
+--- a/src/gcc/ada/gcc-interface/trans.c (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ada/gcc-interface/trans.c (.../branches/gcc-4_9-branch)
+@@ -9262,7 +9262,7 @@
+ post_error (const char *msg, Node_Id node)
+ {
+ String_Template temp;
+- Fat_Pointer fp;
++ String_Pointer sp;
+
+ if (No (node))
+ return;
+@@ -9269,9 +9269,9 @@
+
+ temp.Low_Bound = 1;
+ temp.High_Bound = strlen (msg);
+- fp.Bounds = &temp;
+- fp.Array = msg;
+- Error_Msg_N (fp, node);
++ sp.Bounds = &temp;
++ sp.Array = msg;
++ Error_Msg_N (sp, node);
+ }
+
+ /* Similar to post_error, but NODE is the node at which to post the error and
+@@ -9281,7 +9281,7 @@
+ post_error_ne (const char *msg, Node_Id node, Entity_Id ent)
+ {
+ String_Template temp;
+- Fat_Pointer fp;
++ String_Pointer sp;
+
+ if (No (node))
+ return;
+@@ -9288,9 +9288,9 @@
+
+ temp.Low_Bound = 1;
+ temp.High_Bound = strlen (msg);
+- fp.Bounds = &temp;
+- fp.Array = msg;
+- Error_Msg_NE (fp, node, ent);
++ sp.Bounds = &temp;
++ sp.Array = msg;
++ Error_Msg_NE (sp, node, ent);
+ }
+
+ /* Similar to post_error_ne, but NUM is the number to use for the '^'. */
+Index: gcc/ada/gcc-interface/misc.c
+===================================================================
+--- a/src/gcc/ada/gcc-interface/misc.c (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ada/gcc-interface/misc.c (.../branches/gcc-4_9-branch)
+@@ -283,8 +283,8 @@
+ text_info tinfo;
+ char *buffer, *p, *loc;
+ String_Template temp, temp_loc;
+- Fat_Pointer fp, fp_loc;
+- expanded_location s;
++ String_Pointer sp, sp_loc;
++ expanded_location xloc;
+
+ /* Warn if plugins present. */
+ warn_if_plugins ();
+@@ -311,21 +311,21 @@
+
+ temp.Low_Bound = 1;
+ temp.High_Bound = p - buffer;
+- fp.Bounds = &temp;
+- fp.Array = buffer;
++ sp.Bounds = &temp;
++ sp.Array = buffer;
+
+- s = expand_location (input_location);
+- if (context->show_column && s.column != 0)
+- asprintf (&loc, "%s:%d:%d", s.file, s.line, s.column);
++ xloc = expand_location (input_location);
++ if (context->show_column && xloc.column != 0)
++ asprintf (&loc, "%s:%d:%d", xloc.file, xloc.line, xloc.column);
+ else
+- asprintf (&loc, "%s:%d", s.file, s.line);
++ asprintf (&loc, "%s:%d", xloc.file, xloc.line);
+ temp_loc.Low_Bound = 1;
+ temp_loc.High_Bound = strlen (loc);
+- fp_loc.Bounds = &temp_loc;
+- fp_loc.Array = loc;
++ sp_loc.Bounds = &temp_loc;
++ sp_loc.Array = loc;
+
+ Current_Error_Node = error_gnat_node;
+- Compiler_Abort (fp, -1, fp_loc);
++ Compiler_Abort (sp, sp_loc, true);
+ }
+
+ /* Perform all the initialization steps that are language-specific. */
+Index: gcc/ada/exp_cg.adb
+===================================================================
+--- a/src/gcc/ada/exp_cg.adb (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ada/exp_cg.adb (.../branches/gcc-4_9-branch)
+@@ -6,7 +6,7 @@
+ -- --
+ -- B o d y --
+ -- --
+--- Copyright (C) 2010-2013, Free Software Foundation, Inc. --
++-- Copyright (C) 2010-2014, Free Software Foundation, Inc. --
+ -- --
+ -- 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- --
+@@ -437,10 +437,10 @@
+ if Nkind (P) = N_Subprogram_Body
+ and then not Acts_As_Spec (P)
+ then
+- Get_External_Name (Corresponding_Spec (P), Has_Suffix => False);
++ Get_External_Name (Corresponding_Spec (P));
+
+ else
+- Get_External_Name (Defining_Entity (P), Has_Suffix => False);
++ Get_External_Name (Defining_Entity (P));
+ end if;
+
+ Write_Str (Name_Buffer (1 .. Name_Len));
Index: gcc/common/config/msp430/msp430-common.c
===================================================================
--- a/src/gcc/common/config/msp430/msp430-common.c (.../tags/gcc_4_9_0_release)
@@ -7214,6 +8501,30 @@ Index: gcc/tree-vect-loop.c
for (j = 0; j < ncopies; j++)
{
/* Set the loop-entry arg of the reduction-phi. */
+Index: gcc/ipa.c
+===================================================================
+--- a/src/gcc/ipa.c (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ipa.c (.../branches/gcc-4_9-branch)
+@@ -415,7 +415,18 @@
+ || !DECL_EXTERNAL (e->callee->decl)
+ || e->callee->alias
+ || before_inlining_p))
+- pointer_set_insert (reachable, e->callee);
++ {
++ /* Be sure that we will not optimize out alias target
++ body. */
++ if (DECL_EXTERNAL (e->callee->decl)
++ && e->callee->alias
++ && before_inlining_p)
++ {
++ pointer_set_insert (reachable,
++ cgraph_function_node (e->callee));
++ }
++ pointer_set_insert (reachable, e->callee);
++ }
+ enqueue_node (e->callee, &first, reachable);
+ }
+
Index: gcc/tree-vect-data-refs.c
===================================================================
--- a/src/gcc/tree-vect-data-refs.c (.../tags/gcc_4_9_0_release)
@@ -7531,11 +8842,53 @@ Index: gcc/cfgexpand.c
var_end_seq
= asan_emit_stack_protection (virtual_stack_vars_rtx,
+Index: gcc/ipa-prop.c
+===================================================================
+--- a/src/gcc/ipa-prop.c (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ipa-prop.c (.../branches/gcc-4_9-branch)
+@@ -2877,8 +2877,10 @@
+ else if (jfunc->type == IPA_JF_PASS_THROUGH
+ && ipa_get_jf_pass_through_operation (jfunc) == NOP_EXPR)
+ {
+- if (ici->agg_contents
+- && !ipa_get_jf_pass_through_agg_preserved (jfunc))
++ if ((ici->agg_contents
++ && !ipa_get_jf_pass_through_agg_preserved (jfunc))
++ || (ici->polymorphic
++ && !ipa_get_jf_pass_through_type_preserved (jfunc)))
+ ici->param_index = -1;
+ else
+ ici->param_index = ipa_get_jf_pass_through_formal_id (jfunc);
+@@ -2885,8 +2887,10 @@
+ }
+ else if (jfunc->type == IPA_JF_ANCESTOR)
+ {
+- if (ici->agg_contents
+- && !ipa_get_jf_ancestor_agg_preserved (jfunc))
++ if ((ici->agg_contents
++ && !ipa_get_jf_ancestor_agg_preserved (jfunc))
++ || (ici->polymorphic
++ && !ipa_get_jf_ancestor_type_preserved (jfunc)))
+ ici->param_index = -1;
+ else
+ {
+@@ -3650,6 +3654,7 @@
+
+ TREE_TYPE (fndecl) = new_type;
+ DECL_VIRTUAL_P (fndecl) = 0;
++ DECL_LANG_SPECIFIC (fndecl) = NULL;
+ otypes.release ();
+ oparms.release ();
+ }
Index: gcc/po/ChangeLog
===================================================================
--- a/src/gcc/po/ChangeLog (.../tags/gcc_4_9_0_release)
+++ b/src/gcc/po/ChangeLog (.../branches/gcc-4_9-branch)
-@@ -1,3 +1,7 @@
+@@ -1,3 +1,11 @@
++2014-05-14 Joseph Myers <joseph@codesourcery.com>
++
++ * zh_CN.po: Update.
++
+2014-05-01 Joseph Myers <joseph@codesourcery.com>
+
+ * sv.po: Update.
@@ -7724,6 +9077,10936 @@ Index: gcc/po/sv.po
#: lto/lto-symtab.c:418 lto/lto-symtab.c:517
#, gcc-internal-format
+Index: gcc/po/zh_CN.po
+===================================================================
+--- a/src/gcc/po/zh_CN.po (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/po/zh_CN.po (.../branches/gcc-4_9-branch)
+@@ -1,14 +1,14 @@
+ # Simplified Chinese translation for gcc.
+ # Copyright (C) 2005 Free Software Foundation, Inc.
+ # This file is distributed under the same license as the gcc package.
+-# Meng Jie <zuxy.meng@gmail.com>, 2005-2011.
++# Meng Jie <zuxy.meng@gmail.com>, 2005-2014.
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: gcc 4.6.0\n"
++"Project-Id-Version: gcc 4.9-b20140202\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+ "POT-Creation-Date: 2014-02-02 17:35+0000\n"
+-"PO-Revision-Date: 2011-05-19 15:04+0800\n"
++"PO-Revision-Date: 2014-05-14 14:25-0800\n"
+ "Last-Translator: Meng Jie <zuxy.meng@gmail.com>\n"
+ "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
+ "Language: zh_CN\n"
+@@ -38,7 +38,6 @@
+
+ #: collect2.c:1578
+ #, fuzzy, c-format
+-#| msgid "collect2 version %s"
+ msgid "collect2 version %s\n"
+ msgstr "collect2 版本 %s"
+
+@@ -94,13 +93,11 @@
+
+ #: diagnostic.c:170
+ #, fuzzy, c-format
+-#| msgid "%s: all warnings being treated as errors\n"
+ msgid "%s: all warnings being treated as errors"
+ msgstr "%s:所有的警告都被当作是错误\n"
+
+ #: diagnostic.c:175
+ #, fuzzy, c-format
+-#| msgid "%s: some warnings being treated as errors\n"
+ msgid "%s: some warnings being treated as errors"
+ msgstr "%s:有些警告被当作是错误\n"
+
+@@ -120,10 +117,6 @@
+
+ #: diagnostic.c:479
+ #, fuzzy, c-format
+-#| msgid ""
+-#| "Please submit a full bug report,\n"
+-#| "with preprocessed source if appropriate.\n"
+-#| "See %s for instructions.\n"
+ msgid ""
+ "Please submit a full bug report,\n"
+ "with preprocessed source if appropriate.\n"
+@@ -134,7 +127,6 @@
+
+ #: diagnostic.c:485
+ #, fuzzy, c-format
+-#| msgid "Use fp double instructions"
+ msgid "See %s for instructions.\n"
+ msgstr "使用浮点双精度指令"
+
+@@ -293,7 +285,6 @@
+
+ #: gcc.c:3073
+ #, fuzzy
+-#| msgid " --help={target|optimizers|warnings|params|[^]{joined|separate|undocumented}}[,...]\n"
+ msgid " --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...]\n"
+ msgstr " --help={target|optimizers|warnings|params|[^]{joined|separate|undocumented}}[,...]\n"
+
+@@ -339,9 +330,6 @@
+
+ #: gcc.c:3085
+ #, fuzzy
+-#| msgid ""
+-#| " -print-multi-lib Display the mapping between command line options and\n"
+-#| " multiple library search directories\n"
+ msgid ""
+ " -print-multiarch Display the target's normalized GNU triplet, used as\n"
+ " a component in the library path\n"
+@@ -461,13 +449,11 @@
+
+ #: gcc.c:3120
+ #, fuzzy
+-#| msgid "Create a position independent executable"
+ msgid " -pie Create a position independent executable\n"
+ msgstr "生成位置无关可执行文件"
+
+ #: gcc.c:3121
+ #, fuzzy
+-#| msgid "Create a shared library"
+ msgid " -shared Create a shared library\n"
+ msgstr "生成一个共享库"
+
+@@ -497,7 +483,6 @@
+
+ #: gcc.c:5402
+ #, fuzzy, c-format
+-#| msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgid "Processing spec (%s), which is '%s'\n"
+ msgstr "处理 spec %c%s%c,即‘%s’\n"
+
+@@ -613,9 +598,6 @@
+
+ #: gcov.c:472
+ #, fuzzy, c-format
+-#| msgid ""
+-#| "Usage: gcov [OPTION]... SOURCEFILE...\n"
+-#| "\n"
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCE|OBJ...\n"
+ "\n"
+@@ -649,9 +631,6 @@
+
+ #: gcov.c:477
+ #, fuzzy, c-format
+-#| msgid ""
+-#| " -c, --branch-counts Given counts of branches taken\n"
+-#| " rather than percentages\n"
+ msgid ""
+ " -c, --branch-counts Output counts of branches taken\n"
+ " rather than percentages\n"
+@@ -701,7 +680,6 @@
+
+ #: gcov.c:488
+ #, fuzzy, c-format
+-#| msgid " -a, --all-blocks Show information for every basic block\n"
+ msgid " -r, --relative-only Only show data for relative sources\n"
+ msgstr " -a, --all-blocks 显示每个基本块的信息\n"
+
+@@ -749,25 +727,21 @@
+
+ #: gcov.c:794
+ #, fuzzy, c-format
+-#| msgid "%s:creating '%s'\n"
+ msgid "Creating '%s'\n"
+ msgstr "%s:正在创建‘%s’\n"
+
+ #: gcov.c:797
+ #, fuzzy, c-format
+-#| msgid "%s:error writing output file '%s'\n"
+ msgid "Error writing output file '%s'\n"
+ msgstr "%s:写入输出文件‘%s’时出错\n"
+
+ #: gcov.c:801
+ #, fuzzy, c-format
+-#| msgid "%s:could not open output file '%s'\n"
+ msgid "Could not open output file '%s'\n"
+ msgstr "%s:不能打开输出文件‘%s’\n"
+
+ #: gcov.c:806
+ #, fuzzy, c-format
+-#| msgid "[Leaving %s]\n"
+ msgid "Removing '%s'\n"
+ msgstr "[离开 %s]\n"
+
+@@ -778,13 +752,11 @@
+
+ #: gcov.c:856
+ #, fuzzy, c-format
+-#| msgid "%s: Cannot open output file: %s\n"
+ msgid "Cannot open intermediate output file %s\n"
+ msgstr "%s:无法打开输出文件:%s\n"
+
+ #: gcov.c:1139
+ #, fuzzy, c-format
+-#| msgid "%s:source file is newer than graph file '%s'\n"
+ msgid "%s:source file is newer than notes file '%s'\n"
+ msgstr "%s:源文件较图文件‘%s’新\n"
+
+@@ -795,13 +767,11 @@
+
+ #: gcov.c:1169
+ #, fuzzy, c-format
+-#| msgid "%s:cannot open source file\n"
+ msgid "%s:cannot open notes file\n"
+ msgstr "%s:无法打开源文件\n"
+
+ #: gcov.c:1175
+ #, fuzzy, c-format
+-#| msgid "%s:not a gcov data file\n"
+ msgid "%s:not a gcov notes file\n"
+ msgstr "%s:不是一个 gcov 数据文件\n"
+
+@@ -842,7 +812,6 @@
+
+ #: gcov.c:1417
+ #, fuzzy, c-format
+-#| msgid "%s:stamp mismatch with graph file\n"
+ msgid "%s:stamp mismatch with notes file\n"
+ msgstr "%s:时间戳与图文件不匹配\n"
+
+@@ -958,7 +927,6 @@
+
+ #: gcov.c:2424
+ #, fuzzy, c-format
+-#| msgid "%s:cannot open source file\n"
+ msgid "Cannot open source file %s\n"
+ msgstr "%s:无法打开源文件\n"
+
+@@ -1109,13 +1077,11 @@
+
+ #: langhooks.c:456 cp/error.c:3131
+ #, fuzzy
+-#| msgid " inlined from %qs at %s:%d:%d"
+ msgid " inlined from %qs at %r%s:%d:%d%R"
+ msgstr " 内联自%qs于 %s:%d:%d"
+
+ #: langhooks.c:461 cp/error.c:3136
+ #, fuzzy
+-#| msgid " inlined from %qs at %s:%d"
+ msgid " inlined from %qs at %r%s:%d%R"
+ msgstr " 内联自%qs于 %s:%d"
+
+@@ -1419,7 +1385,6 @@
+
+ #: cif-code.def:43
+ #, fuzzy
+-#| msgid "%qE is not initialized"
+ msgid "caller is not optimized"
+ msgstr "%qE未经初始化"
+
+@@ -1437,7 +1402,6 @@
+
+ #: cif-code.def:60
+ #, fuzzy
+-#| msgid "function body can be overwriten at linktime"
+ msgid "function body can be overwritten at link time"
+ msgstr "函数体可能在链接时被改写"
+
+@@ -1499,7 +1463,6 @@
+
+ #: cif-code.def:113
+ #, fuzzy
+-#| msgid "Enable exception handling"
+ msgid "non-call exception handling mismatch"
+ msgstr "启用异常处理"
+
+@@ -1602,7 +1565,6 @@
+
+ #: params.def:117
+ #, fuzzy
+-#| msgid "Probability that COMDAT function will be shared with different compilatoin unit"
+ msgid "Probability that COMDAT function will be shared with different compilation unit"
+ msgstr "与其他编译单元共享 COMDAT 函数的概率"
+
+@@ -1632,7 +1594,6 @@
+
+ #: params.def:175
+ #, fuzzy
+-#| msgid "The maximum number of instructions to consider to unroll in a loop"
+ msgid "The maximum number of backtrack attempts the scheduler should make when modulo scheduling a loop"
+ msgstr "单个循环中考虑展开的最大指令数"
+
+@@ -1719,7 +1680,6 @@
+
+ #: params.def:300
+ #, fuzzy
+-#| msgid "The maximum number of iterations through CFG to extend regions"
+ msgid "The maximum number of branches on the path through the peeled sequence"
+ msgstr "通过 CFG 以扩展区域的最大循环次数"
+
+@@ -2152,7 +2112,6 @@
+
+ #: params.def:980
+ #, fuzzy
+-#| msgid "Maximum number of times that an insn could be scheduled"
+ msgid "Maximum number of conditional store pairs that can be sunk"
+ msgstr "指定一条指令最多能被调度几次"
+
+@@ -2170,13 +2129,11 @@
+
+ #: params.def:1006
+ #, fuzzy
+-#| msgid "Allow branches to be packed with other instructions"
+ msgid "Allow new data races on packed data loads to be introduced"
+ msgstr "允许跳转与其他指令打包在一起"
+
+ #: params.def:1011
+ #, fuzzy
+-#| msgid "Allow branches to be packed with other instructions"
+ msgid "Allow new data races on packed data stores to be introduced"
+ msgstr "允许跳转与其他指令打包在一起"
+
+@@ -2206,31 +2163,26 @@
+
+ #: params.def:1054
+ #, fuzzy
+-#| msgid "Enable stack probing"
+ msgid "Enable asan stack protection"
+ msgstr "启用堆栈探测"
+
+ #: params.def:1059
+ #, fuzzy
+-#| msgid "Enable all optional instructions"
+ msgid "Enable asan globals protection"
+ msgstr "启用所有可选指令"
+
+ #: params.def:1064
+ #, fuzzy
+-#| msgid "Enable saturation instructions"
+ msgid "Enable asan store operations protection"
+ msgstr "启用饱和指令"
+
+ #: params.def:1069
+ #, fuzzy
+-#| msgid "Enable all optional instructions"
+ msgid "Enable asan load operations protection"
+ msgstr "启用所有可选指令"
+
+ #: params.def:1074 params.def:1079
+ #, fuzzy
+-#| msgid "Enable saturation instructions"
+ msgid "Enable asan builtin functions protection"
+ msgstr "启用饱和指令"
+
+@@ -2510,7 +2462,6 @@
+ #: config/aarch64/aarch64.c:3487 config/arm/arm.c:21114 config/arm/arm.c:21127
+ #: config/nios2/nios2.c:1885
+ #, fuzzy, c-format
+-#| msgid "invalid operand for code '%c'"
+ msgid "Unsupported operand for code '%c'"
+ msgstr "代码‘%c’的操作数无效"
+
+@@ -2519,7 +2470,6 @@
+ #: config/aarch64/aarch64.c:3551 config/aarch64/aarch64.c:3567
+ #: config/aarch64/aarch64.c:3586 config/aarch64/aarch64.c:3625
+ #, fuzzy, c-format
+-#| msgid "invalid operand for code '%c'"
+ msgid "invalid operand for '%%%c'"
+ msgstr "代码‘%c’的操作数无效"
+
+@@ -2535,19 +2485,16 @@
+
+ #: config/aarch64/aarch64.c:3724
+ #, fuzzy, c-format
+-#| msgid "invalid insn:"
+ msgid "invalid constant"
+ msgstr "无效指令:"
+
+ #: config/aarch64/aarch64.c:3727
+ #, fuzzy, c-format
+-#| msgid "invalid %%d operand"
+ msgid "invalid operand"
+ msgstr "无效的 %%d 操作数"
+
+ #: config/aarch64/aarch64.c:3815
+ #, fuzzy, c-format
+-#| msgid "invalid operand code '%c'"
+ msgid "invalid operand prefix '%%%c'"
+ msgstr "无效的操作数代码‘%c’"
+
+@@ -2637,19 +2584,16 @@
+
+ #: config/arc/arc.c:2782
+ #, fuzzy, c-format
+-#| msgid "invalid operand to %%R code"
+ msgid "invalid operand to %%Z code"
+ msgstr "%%R 代码的操作数无效"
+
+ #: config/arc/arc.c:2790
+ #, fuzzy, c-format
+-#| msgid "invalid operand to %%R code"
+ msgid "invalid operand to %%z code"
+ msgstr "%%R 代码的操作数无效"
+
+ #: config/arc/arc.c:2798
+ #, fuzzy, c-format
+-#| msgid "invalid operand to %%R code"
+ msgid "invalid operand to %%M code"
+ msgstr "%%R 代码的操作数无效"
+
+@@ -2675,7 +2619,6 @@
+
+ #: config/arc/arc.c:3099
+ #, fuzzy, c-format
+-#| msgid "invalid operand to %%R code"
+ msgid "invalid operand to %%O code"
+ msgstr "%%R 代码的操作数无效"
+
+@@ -2689,7 +2632,6 @@
+
+ #: config/arc/arc.c:4676
+ #, fuzzy, c-format
+-#| msgid "invalid UNSPEC as operand"
+ msgid "invalid UNSPEC as operand: %d"
+ msgstr "无效的 UNSPEC 用作操作数"
+
+@@ -2749,19 +2691,16 @@
+
+ #: config/avr/avr.c:2140
+ #, fuzzy
+-#| msgid "output operand %d must use %<&%> constraint"
+ msgid "operands to %T/%t must be reg + const_int:"
+ msgstr "输出操作数 %d 必须使用%<&%>约束"
+
+ #: config/avr/avr.c:2180 config/avr/avr.c:2235
+ #, fuzzy
+-#| msgid "bad address, not (reg+disp):"
+ msgid "bad address, not an I/O address:"
+ msgstr "地址错误,不是(reg+disp):"
+
+ #: config/avr/avr.c:2189
+ #, fuzzy
+-#| msgid "bad address, not a constant):"
+ msgid "bad address, not a constant:"
+ msgstr "错误的地址,不是一个常量):"
+
+@@ -2813,7 +2752,6 @@
+
+ #: config/avr/avr.c:7100
+ #, fuzzy
+-#| msgid "invalid types in fixed-point conversion"
+ msgid "unsupported fixed-point conversion"
+ msgstr "整点转换中类型无效"
+
+@@ -3058,25 +2996,21 @@
+
+ #: config/i386/i386.c:14839
+ #, fuzzy, c-format
+-#| msgid "invalid operand size for operand code '%c'"
+ msgid "invalid operand size for operand code 'O'"
+ msgstr "操作数代码‘%c’的操作数大小无效"
+
+ #: config/i386/i386.c:14874
+ #, fuzzy, c-format
+-#| msgid "invalid operand size for operand code '%c'"
+ msgid "invalid operand size for operand code 'z'"
+ msgstr "操作数代码‘%c’的操作数大小无效"
+
+ #: config/i386/i386.c:14944
+ #, fuzzy, c-format
+-#| msgid "invalid operand type used with operand code '%c'"
+ msgid "invalid operand type used with operand code 'Z'"
+ msgstr "操作数代码‘%c’的操作数类型无效"
+
+ #: config/i386/i386.c:14949
+ #, fuzzy, c-format
+-#| msgid "invalid operand size for operand code '%c'"
+ msgid "invalid operand size for operand code 'Z'"
+ msgstr "操作数代码‘%c’的操作数大小无效"
+
+@@ -3092,13 +3026,11 @@
+
+ #: config/i386/i386.c:15115
+ #, fuzzy, c-format
+-#| msgid "operand is not a condition code, invalid operand code 'D'"
+ msgid "operand is not a condition code, invalid operand code '%c'"
+ msgstr "操作数不是一个条件码,无效的操作数代码‘D’"
+
+ #: config/i386/i386.c:15128
+ #, fuzzy, c-format
+-#| msgid "operand is not a condition code, invalid operand code 'D'"
+ msgid "operand is not an offsettable memory reference, invalid operand code 'H'"
+ msgstr "操作数不是一个条件码,无效的操作数代码‘D’"
+
+@@ -3127,7 +3059,6 @@
+
+ #: config/i386/i386-interix.h:78
+ #, fuzzy
+-#| msgid "Use native (MS) bitfield layout"
+ msgid "Use gcc default bitfield layout"
+ msgstr "使用本地 (MS) 位段存储方式"
+
+@@ -3343,7 +3274,6 @@
+
+ #: config/msp430/msp430.c:2130
+ #, fuzzy, c-format
+-#| msgid "invalid reference prefix"
+ msgid "invalid operand prefix"
+ msgstr "无效的引用前缀"
+
+@@ -3404,7 +3334,6 @@
+
+ #: config/rs6000/rs6000.c:3363
+ #, fuzzy
+-#| msgid "--resource requires -o"
+ msgid "-mquad-memory requires 64-bit mode"
+ msgstr "--resource 需要 -o"
+
+@@ -3414,7 +3343,6 @@
+
+ #: config/rs6000/rs6000.c:3378
+ #, fuzzy
+-#| msgid "Generate code in little endian mode"
+ msgid "-mquad-memory is not available in little endian mode"
+ msgstr "生成小端在前的代码"
+
+@@ -3503,13 +3431,11 @@
+
+ #: config/rs6000/rs6000.c:32382
+ #, fuzzy
+-#| msgid "Do not generate a single exit point for each function"
+ msgid "Could not generate addis value for fusion"
+ msgstr "不为每个函数生成单一的退出点"
+
+ #: config/rs6000/rs6000.c:32441
+ #, fuzzy
+-#| msgid "unable to generate reloads for:"
+ msgid "Unable to generate load offset for fusion"
+ msgstr "无法生成重新载入,为:"
+
+@@ -3638,13 +3564,11 @@
+ #: config/sparc/sparc.c:8830 config/tilegx/tilegx.c:5061
+ #: config/tilepro/tilepro.c:4516
+ #, fuzzy, c-format
+-#| msgid "invalid %%P operand"
+ msgid "invalid %%C operand"
+ msgstr "无效的 %%P 操作数"
+
+ #: config/sparc/sparc.c:8847 config/tilegx/tilegx.c:5094
+ #, fuzzy, c-format
+-#| msgid "invalid %%P operand"
+ msgid "invalid %%D operand"
+ msgstr "无效的 %%P 操作数"
+
+@@ -3700,49 +3624,41 @@
+
+ #: config/tilegx/tilegx.c:5174
+ #, fuzzy, c-format
+-#| msgid "invalid %%L code"
+ msgid "invalid %%H specifier"
+ msgstr "无效 %%L 代码"
+
+ #: config/tilegx/tilegx.c:5216 config/tilepro/tilepro.c:4530
+ #, fuzzy, c-format
+-#| msgid "invalid %%P operand"
+ msgid "invalid %%h operand"
+ msgstr "无效的 %%P 操作数"
+
+ #: config/tilegx/tilegx.c:5228 config/tilepro/tilepro.c:4594
+ #, fuzzy, c-format
+-#| msgid "invalid %%P operand"
+ msgid "invalid %%I operand"
+ msgstr "无效的 %%P 操作数"
+
+ #: config/tilegx/tilegx.c:5242 config/tilepro/tilepro.c:4608
+ #, fuzzy, c-format
+-#| msgid "invalid %%P operand"
+ msgid "invalid %%i operand"
+ msgstr "无效的 %%P 操作数"
+
+ #: config/tilegx/tilegx.c:5265 config/tilepro/tilepro.c:4631
+ #, fuzzy, c-format
+-#| msgid "invalid %%P operand"
+ msgid "invalid %%j operand"
+ msgstr "无效的 %%P 操作数"
+
+ #: config/tilegx/tilegx.c:5296
+ #, fuzzy, c-format
+-#| msgid "invalid %%c operand"
+ msgid "invalid %%%c operand"
+ msgstr "无效的 %%c 操作数"
+
+ #: config/tilegx/tilegx.c:5311 config/tilepro/tilepro.c:4745
+ #, fuzzy, c-format
+-#| msgid "invalid %%P operand"
+ msgid "invalid %%N operand"
+ msgstr "无效的 %%P 操作数"
+
+ #: config/tilegx/tilegx.c:5355
+ #, fuzzy, c-format
+-#| msgid "invalid operand for 'b' modifier"
+ msgid "invalid operand for 'r' specifier"
+ msgstr "‘b’修饰符的操作数无效"
+
+@@ -3753,37 +3669,31 @@
+
+ #: config/tilepro/tilepro.c:4566
+ #, fuzzy, c-format
+-#| msgid "invalid %%P operand"
+ msgid "invalid %%H operand"
+ msgstr "无效的 %%P 操作数"
+
+ #: config/tilepro/tilepro.c:4670
+ #, fuzzy, c-format
+-#| msgid "invalid %%P operand"
+ msgid "invalid %%L operand"
+ msgstr "无效的 %%P 操作数"
+
+ #: config/tilepro/tilepro.c:4730
+ #, fuzzy, c-format
+-#| msgid "invalid %%P operand"
+ msgid "invalid %%M operand"
+ msgstr "无效的 %%P 操作数"
+
+ #: config/tilepro/tilepro.c:4773
+ #, fuzzy, c-format
+-#| msgid "invalid %%P operand"
+ msgid "invalid %%t operand"
+ msgstr "无效的 %%P 操作数"
+
+ #: config/tilepro/tilepro.c:4780
+ #, fuzzy, c-format
+-#| msgid "invalid %%P operand"
+ msgid "invalid %%t operand '"
+ msgstr "无效的 %%P 操作数"
+
+ #: config/tilepro/tilepro.c:4801
+ #, fuzzy, c-format
+-#| msgid "invalid %%P operand"
+ msgid "invalid %%r operand"
+ msgstr "无效的 %%P 操作数"
+
+@@ -4057,13 +3967,11 @@
+
+ #: cp/error.c:1060
+ #, fuzzy
+-#| msgid "(anonymous)"
+ msgid "(anonymous namespace)"
+ msgstr "(匿名)"
+
+ #: cp/error.c:1169
+ #, fuzzy
+-#| msgid "<template parameter error>"
+ msgid "<template arguments error>"
+ msgstr "<模板参数数错误>"
+
+@@ -4104,7 +4012,6 @@
+
+ #: cp/error.c:2616
+ #, fuzzy
+-#| msgid "<lambda"
+ msgid "<lambda>"
+ msgstr "<lambda"
+
+@@ -4150,13 +4057,11 @@
+
+ #: cp/error.c:3196
+ #, fuzzy, c-format
+-#| msgid "%s: In instantiation of %qs:\n"
+ msgid "%s: In substitution of %qS:\n"
+ msgstr "%s:在%qs的实例化中:\n"
+
+ #: cp/error.c:3197
+ #, fuzzy
+-#| msgid "%s: In instantiation of %qs:\n"
+ msgid "%s: In instantiation of %q#D:\n"
+ msgstr "%s:在%qs的实例化中:\n"
+
+@@ -4185,7 +4090,6 @@
+
+ #: cp/error.c:3240
+ #, fuzzy
+-#| msgid "provided for %q+D"
+ msgid "required from %q#D\n"
+ msgstr "提供给%q+D"
+
+@@ -4196,31 +4100,26 @@
+
+ #: cp/error.c:3248
+ #, fuzzy
+-#| msgid "called from here"
+ msgid "required from here"
+ msgstr "从此处调用"
+
+ #: cp/error.c:3300
+ #, fuzzy
+-#| msgid "%s:%d:%d: [ skipping %d instantiation contexts ]\n"
+ msgid "%r%s:%d:%d:%R [ skipping %d instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]\n"
+ msgstr "%s:%d:%d:[ 跳过 %d 个实例化上下文 ]\n"
+
+ #: cp/error.c:3306
+ #, fuzzy
+-#| msgid "%s:%d:%d: [ skipping %d instantiation contexts ]\n"
+ msgid "%r%s:%d:%R [ skipping %d instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]\n"
+ msgstr "%s:%d:%d:[ 跳过 %d 个实例化上下文 ]\n"
+
+ #: cp/error.c:3371
+ #, fuzzy
+-#| msgid "%s:%d:%d: in constexpr expansion of %qs"
+ msgid "%r%s:%d:%d:%R in constexpr expansion of %qs"
+ msgstr "%s:%d:%d:在%qs的广义常表达式扩展中"
+
+ #: cp/error.c:3375
+ #, fuzzy
+-#| msgid "%s:%d: in constexpr expansion of %qs"
+ msgid "%r%s:%d:%R in constexpr expansion of %qs"
+ msgstr "%s:%d:在%qs的广义常表达式扩展中"
+
+@@ -4390,13 +4289,11 @@
+
+ #: fortran/error.c:899
+ #, fuzzy
+-#| msgid "Obsolescent feature: Computed GOTO at %C"
+ msgid "Obsolescent feature:"
+ msgstr "已过时的特性:%C处的计算转移 GOTO 语句"
+
+ #: fortran/error.c:902
+ #, fuzzy
+-#| msgid "expected operator"
+ msgid "Deleted feature:"
+ msgstr "需要操作符"
+
+@@ -4647,61 +4544,51 @@
+
+ #: fortran/resolve.c:2225
+ #, fuzzy
+-#| msgid "no arguments"
+ msgid "allocatable argument"
+ msgstr "没有参数"
+
+ #: fortran/resolve.c:2230
+ #, fuzzy
+-#| msgid "not enough arguments"
+ msgid "asynchronous argument"
+ msgstr "实参太少"
+
+ #: fortran/resolve.c:2235
+ #, fuzzy
+-#| msgid "invalid PHI argument"
+ msgid "optional argument"
+ msgstr "无效的 PHI 实参"
+
+ #: fortran/resolve.c:2240
+ #, fuzzy
+-#| msgid "pointer assignment"
+ msgid "pointer argument"
+ msgstr "指针赋值"
+
+ #: fortran/resolve.c:2245
+ #, fuzzy
+-#| msgid "no arguments"
+ msgid "target argument"
+ msgstr "没有参数"
+
+ #: fortran/resolve.c:2250
+ #, fuzzy
+-#| msgid "invalid PHI argument"
+ msgid "value argument"
+ msgstr "无效的 PHI 实参"
+
+ #: fortran/resolve.c:2255
+ #, fuzzy
+-#| msgid "no arguments"
+ msgid "volatile argument"
+ msgstr "没有参数"
+
+ #: fortran/resolve.c:2260
+ #, fuzzy
+-#| msgid "mismatched arguments"
+ msgid "assumed-shape argument"
+ msgstr "参数不匹配"
+
+ #: fortran/resolve.c:2265
+ #, fuzzy
+-#| msgid "mismatched arguments"
+ msgid "assumed-rank argument"
+ msgstr "参数不匹配"
+
+ #: fortran/resolve.c:2270
+ #, fuzzy
+-#| msgid "array assignment"
+ msgid "coarray argument"
+ msgstr "数组赋值"
+
+@@ -4711,7 +4598,6 @@
+
+ #: fortran/resolve.c:2280
+ #, fuzzy
+-#| msgid "no arguments"
+ msgid "polymorphic argument"
+ msgstr "没有参数"
+
+@@ -4723,7 +4609,6 @@
+ #. See also TS 29113, Note 6.1.
+ #: fortran/resolve.c:2292
+ #, fuzzy
+-#| msgid "mismatched arguments"
+ msgid "assumed-type argument"
+ msgstr "参数不匹配"
+
+@@ -4738,13 +4623,11 @@
+
+ #: fortran/resolve.c:2315
+ #, fuzzy
+-#| msgid "'%s' at %L must have constant character length in this context"
+ msgid "result with non-constant character length"
+ msgstr "变量‘%s’在%L处上下文中字符长度必须为常量"
+
+ #: fortran/resolve.c:2327
+ #, fuzzy
+-#| msgid "module procedure"
+ msgid "bind(c) procedure"
+ msgstr "模块过程"
+
+@@ -4894,7 +4777,6 @@
+
+ #: fortran/trans-intrinsic.c:6165
+ #, fuzzy, c-format
+-#| msgid "Argument NCOPIES of REPEAT intrinsic is negative (its value is %lld)"
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative (its value is %ld)"
+ msgstr "内建函数 REPEAT 的 NCOPIES 参数为负(其值是 %lld)"
+
+@@ -4964,7 +4846,6 @@
+
+ #: go/go-backend.c:171
+ #, fuzzy
+-#| msgid "Memory allocation failed"
+ msgid "memory allocation failed while reading export data"
+ msgstr "内存分配失败"
+
+@@ -5230,13 +5111,11 @@
+
+ #: ada/gcc-interface/lang-specs.h:52
+ #, fuzzy
+-#| msgid "-c or -S required for Ada"
+ msgid "-c required for gnat2why"
+ msgstr "Ada 需要指定 -c 或 -S"
+
+ #: ada/gcc-interface/lang-specs.h:65
+ #, fuzzy
+-#| msgid "-c or -S required for Ada"
+ msgid "-c required for gnat2scil"
+ msgstr "Ada 需要指定 -c 或 -S"
+
+@@ -5266,7 +5145,6 @@
+
+ #: config/avr/avr.h:526
+ #, fuzzy
+-#| msgid "-fpic is not supported"
+ msgid "shared is not supported"
+ msgstr "不支持 -fpic"
+
+@@ -5284,7 +5162,6 @@
+
+ #: config/rx/rx.h:76
+ #, fuzzy
+-#| msgid "rx200 cpu does not have FPU hardware"
+ msgid "rx100 cpu does not have FPU hardware"
+ msgstr "RX200 CPU 没有 FPU 硬件"
+
+@@ -5306,7 +5183,6 @@
+
+ #: config/rs6000/freebsd64.h:161 config/rs6000/freebsd64.h:173
+ #, fuzzy
+-#| msgid "consider using `-pg' instead of `-p' with gprof(1) "
+ msgid "consider using `-pg' instead of `-p' with gprof(1)"
+ msgstr "与 gprof(1) 一起使用时请考虑使用‘-pg’以代替‘-p’"
+
+@@ -5321,7 +5197,6 @@
+
+ #: gcc.c:731
+ #, fuzzy
+-#| msgid "-fdirectives-only is incompatible with -traditional"
+ msgid "-fsanitize=address is incompatible with -fsanitize=thread"
+ msgstr "-fdirectives-only 与 -traditional 不兼容"
+
+@@ -5339,7 +5214,6 @@
+
+ #: config/arm/arm.h:217
+ #, fuzzy
+-#| msgid "-msoft-float and -mhard_float may not be used together"
+ msgid "-mfloat-abi=soft and -mfloat-abi=hard may not be used together"
+ msgstr "-msoft-float 和 -mhard_float 不能一起使用"
+
+@@ -5410,7 +5284,6 @@
+
+ #: fortran/lang.opt:242
+ #, fuzzy
+-#| msgid "Warn about implicit function declarations"
+ msgid "Warn about function call elimination"
+ msgstr "对隐式函数声明给出警告"
+
+@@ -5436,13 +5309,11 @@
+
+ #: fortran/lang.opt:270
+ #, fuzzy
+-#| msgid "Warn when a register variable is declared volatile"
+ msgid "Warn when a left-hand-side array variable is reallocated"
+ msgstr "当一个寄存器变量被声明为 volatile 时给出警告"
+
+ #: fortran/lang.opt:274
+ #, fuzzy
+-#| msgid "Warn when a register variable is declared volatile"
+ msgid "Warn when a left-hand-side variable is reallocated"
+ msgstr "当一个寄存器变量被声明为 volatile 时给出警告"
+
+@@ -5473,7 +5344,6 @@
+
+ #: fortran/lang.opt:306
+ #, fuzzy
+-#| msgid "Warn about zero-length formats"
+ msgid "Warn about zero-trip DO loops"
+ msgstr "对长度为 0 的格式字符串给出警告"
+
+@@ -5616,7 +5486,6 @@
+
+ #: fortran/lang.opt:458
+ #, fuzzy
+-#| msgid "-ffpe-trap=[...]\tStop on following floating point exceptions"
+ msgid "-ffpe-summary=[...]\tPrint summary of floating point exceptions"
+ msgstr "-ffpe-trap=[...]\t在以下浮点异常的情况下停止"
+
+@@ -5634,7 +5503,6 @@
+
+ #: fortran/lang.opt:474
+ #, fuzzy
+-#| msgid "Enable linker optimizations"
+ msgid "Enable front end optimization"
+ msgstr "启用链接器优化"
+
+@@ -5784,7 +5652,6 @@
+
+ #: fortran/lang.opt:670
+ #, fuzzy
+-#| msgid "Conform to the ISO Fortran 2008 standard"
+ msgid "Conform to the ISO Fortran 2008 standard including TS 29113"
+ msgstr "遵循 ISO Fortran 2008 标准"
+
+@@ -5937,13 +5804,11 @@
+
+ #: c-family/c.opt:296
+ #, fuzzy
+-#| msgid "Deprecated in favor of -std=c99"
+ msgid "Deprecated in favor of -Wc++11-compat"
+ msgstr "不建议使用,请改用 -std=c99"
+
+ #: c-family/c.opt:300
+ #, fuzzy
+-#| msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+ msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 2011"
+ msgstr "当 C++ 构造的意义在 ISO C++ 1998 和 ISO C++ 200x 中不同时给出警告"
+
+@@ -5989,13 +5854,11 @@
+
+ #: c-family/c.opt:344
+ #, fuzzy
+-#| msgid "dereferencing pointer to incomplete type"
+ msgid "Warn when deleting a pointer to incomplete type"
+ msgstr "提领指向不完全类型的指针"
+
+ #: c-family/c.opt:348
+ #, fuzzy
+-#| msgid "Warn about non-virtual destructors"
+ msgid "Warn about deleting polymorphic objects with non-virtual destructors"
+ msgstr "当析构函数不是虚函数时给出警告"
+
+@@ -6029,7 +5892,6 @@
+
+ #: c-family/c.opt:392
+ #, fuzzy
+-#| msgid "Warn for implicit type conversions that may change a value"
+ msgid "Warn for implicit type conversions that cause loss of floating point precision"
+ msgstr "当隐式类型转换可能改变值时给出警告"
+
+@@ -6286,7 +6148,6 @@
+
+ #: c-family/c.opt:673
+ #, fuzzy
+-#| msgid "returning reference to temporary"
+ msgid "Warn about returning a pointer/reference to a local or temporary variable."
+ msgstr "返回临时变量的引用"
+
+@@ -6364,7 +6225,6 @@
+
+ #: c-family/c.opt:777
+ #, fuzzy
+-#| msgid "Warn about macros defined in the main file that are not used"
+ msgid "Warn when typedefs locally defined in a function are not used"
+ msgstr "当定义在主文件中的宏未被使用时给出警告"
+
+@@ -6378,7 +6238,6 @@
+
+ #: c-family/c.opt:789
+ #, fuzzy
+-#| msgid "Do not warn about using variadic macros when -pedantic"
+ msgid "Warn about using variadic macros"
+ msgstr "指定 -pedantic 时不为可变参数宏给出警告"
+
+@@ -6404,13 +6263,11 @@
+
+ #: c-family/c.opt:813
+ #, fuzzy
+-#| msgid "Warn when a label is unused"
+ msgid "Warn when a literal '0' is used as null pointer"
+ msgstr "有未使用的标号时警告"
+
+ #: c-family/c.opt:817
+ #, fuzzy
+-#| msgid "Warn about misuses of pragmas"
+ msgid "Warn about useless casts"
+ msgstr "对错误使用的 pragma 加以警告"
+
+@@ -6467,25 +6324,21 @@
+
+ #: c-family/c.opt:883
+ #, fuzzy
+-#| msgid "-ftemplate-depth=<number>\tSpecify maximum template instantiation depth"
+ msgid "-fconstexpr-depth=<number>\tSpecify maximum constexpr recursion depth"
+ msgstr "-ftemplate-depth=<N>\t指定模板实例化的最大深度"
+
+ #: c-family/c.opt:887
+ #, fuzzy
+-#| msgid "Enable traditional preprocessing"
+ msgid "Emit debug annotations during preprocessing"
+ msgstr "启用传统预处理"
+
+ #: c-family/c.opt:891
+ #, fuzzy
+-#| msgid "-fno-deduce-init-list\tdisable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list"
+ msgid "-fdeduce-init-list\tenable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list"
+ msgstr "-fno-deduce-init-list\t禁用为模板类型参数从花括号中的初始值设定列表演绎 std::initializer_list"
+
+ #: c-family/c.opt:895
+ #, fuzzy
+-#| msgid "Warn when all constructors and destructors are private"
+ msgid "Factor complex constructors and destructors to favor space over speed"
+ msgstr "当所有构造函数和析构函数都是私有时给出警告"
+
+@@ -6632,7 +6485,6 @@
+
+ #: c-family/c.opt:1090
+ #, fuzzy
+-#| msgid "Unclassifiable OpenMP directive at %C"
+ msgid "Enable OpenMP's SIMD directives"
+ msgstr "%C处的 OpenMP 指示无法分类"
+
+@@ -6710,7 +6562,6 @@
+
+ #: c-family/c.opt:1183
+ #, fuzzy
+-#| msgid "The maximum number of peelings of a single loop"
+ msgid "Set the maximum number of template instantiation notes for a single warning or error"
+ msgstr "单个循环最大的剥离数"
+
+@@ -6740,7 +6591,6 @@
+
+ #: c-family/c.opt:1217
+ #, fuzzy
+-#| msgid "Marks all inlined methods as having hidden visibility"
+ msgid "Marks all inlined functions and methods as having hidden visibility"
+ msgstr "将所有内联函数标记为具有隐藏的可见性"
+
+@@ -6842,37 +6692,31 @@
+
+ #: c-family/c.opt:1344 c-family/c.opt:1348
+ #, 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 扩展"
+
+ #: c-family/c.opt:1352
+ #, fuzzy
+-#| msgid "Conform to the ISO 201X C standard draft (experimental and incomplete support)"
+ msgid "Conform to the ISO 2011 C++ standard (experimental and incomplete support)"
+ msgstr "遵循 ISO 201X C 标准草案(试验性质的不完全支持)"
+
+ #: c-family/c.opt:1356
+ #, fuzzy
+-#| msgid "Deprecated in favor of -std=c99"
+ msgid "Deprecated in favor of -std=c++11"
+ msgstr "不建议使用,请改用 -std=c99"
+
+ #: c-family/c.opt:1360
+ #, fuzzy
+-#| msgid "Conform to the ISO 201X C standard draft (experimental and incomplete support)"
+ msgid "Conform to the ISO 201y(7?) C++ draft standard (experimental and incomplete support)"
+ msgstr "遵循 ISO 201X C 标准草案(试验性质的不完全支持)"
+
+ #: c-family/c.opt:1364 c-family/c.opt:1450
+ #, fuzzy
+-#| msgid "Conform to the ISO 201X C standard draft (experimental and incomplete support)"
+ msgid "Conform to the ISO 2011 C standard (experimental and incomplete support)"
+ msgstr "遵循 ISO 201X C 标准草案(试验性质的不完全支持)"
+
+ #: c-family/c.opt:1368
+ #, fuzzy
+-#| msgid "Deprecated in favor of -std=c99"
+ msgid "Deprecated in favor of -std=c11"
+ msgstr "不建议使用,请改用 -std=c99"
+
+@@ -6890,37 +6734,31 @@
+
+ #: c-family/c.opt:1388 c-family/c.opt:1393
+ #, 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"
+ msgstr "遵循 ISO 1998 C++ 标准,也支持 GNU 扩展"
+
+ #: c-family/c.opt:1398
+ #, fuzzy
+-#| msgid "Conform to the ISO 201X C standard draft with GNU extensions (experimental and incomplete support)"
+ msgid "Conform to the ISO 2011 C++ standard with GNU extensions (experimental and incomplete support)"
+ msgstr "遵循 ISO 201X C 标准草案和 GNU 扩展(试验性质的不完全支持)"
+
+ #: c-family/c.opt:1402
+ #, fuzzy
+-#| msgid "Deprecated in favor of -std=gnu99"
+ msgid "Deprecated in favor of -std=gnu++11"
+ msgstr "不建议使用,请改用 -std=gnu99"
+
+ #: c-family/c.opt:1406
+ #, fuzzy
+-#| msgid "Conform to the ISO 201X C standard draft with GNU extensions (experimental and incomplete support)"
+ msgid "Conform to the ISO 201y(7?) C++ draft standard with GNU extensions (experimental and incomplete support)"
+ msgstr "遵循 ISO 201X C 标准草案和 GNU 扩展(试验性质的不完全支持)"
+
+ #: c-family/c.opt:1410
+ #, fuzzy
+-#| msgid "Conform to the ISO 201X C standard draft with GNU extensions (experimental and incomplete support)"
+ msgid "Conform to the ISO 2011 C standard with GNU extensions (experimental and incomplete support)"
+ msgstr "遵循 ISO 201X C 标准草案和 GNU 扩展(试验性质的不完全支持)"
+
+ #: c-family/c.opt:1414
+ #, fuzzy
+-#| msgid "Deprecated in favor of -std=gnu99"
+ msgid "Deprecated in favor of -std=gnu11"
+ msgstr "不建议使用,请改用 -std=gnu99"
+
+@@ -6958,7 +6796,6 @@
+
+ #: ada/gcc-interface/lang.opt:61
+ #, fuzzy
+-#| msgid "Synonym for -Wcomment"
+ msgid "Synonym of -gnatk8"
+ msgstr "-Wcomment 的同义词"
+
+@@ -6968,7 +6805,6 @@
+
+ #: ada/gcc-interface/lang.opt:73
+ #, fuzzy
+-#| msgid "Select code model"
+ msgid "Select the runtime"
+ msgstr "选择代码模型"
+
+@@ -7036,7 +6872,6 @@
+
+ #: config/vms/vms.opt:42
+ #, fuzzy, c-format
+-#| msgid "unknown TLS model %qs"
+ msgid "unknown pointer size model %qs"
+ msgstr "未知的 TLS 模型%qs"
+
+@@ -7547,7 +7382,6 @@
+
+ #: config/aarch64/aarch64.opt:68
+ #, fuzzy
+-#| msgid "Generate code which uses hardware floating point instructions"
+ msgid "Generate code which uses only the general registers"
+ msgstr "生成使用硬件浮点指令的代码"
+
+@@ -7558,7 +7392,6 @@
+
+ #: config/aarch64/aarch64.opt:76
+ #, fuzzy
+-#| msgid "Select code model"
+ msgid "Specify the code model"
+ msgstr "选择代码模型"
+
+@@ -7576,13 +7409,11 @@
+
+ #: config/aarch64/aarch64.opt:92
+ #, fuzzy
+-#| msgid "-mcpu=\tUse features of and schedule code for given CPU"
+ msgid "-march=ARCH\tUse features of architecture ARCH"
+ msgstr "-mcpu=\t使用指定 CPU 的特性和调度代码"
+
+ #: config/aarch64/aarch64.opt:96
+ #, fuzzy
+-#| msgid "-mcpu=\tUse features of and schedule code for given CPU"
+ msgid "-mcpu=CPU\tUse features of and optimize for CPU"
+ msgstr "-mcpu=\t使用指定 CPU 的特性和调度代码"
+
+@@ -7592,7 +7423,6 @@
+
+ #: config/aarch64/aarch64.opt:104
+ #, fuzzy
+-#| msgid "-mabi=ABI\tGenerate code that conforms to the given ABI"
+ msgid "-mabi=ABI\tGenerate code that conforms to the specified ABI"
+ msgstr "-mabi=ABI\t生成遵循给定 ABI 的代码"
+
+@@ -7874,25 +7704,21 @@
+
+ #: config/epiphany/epiphany.opt:32
+ #, fuzzy
+-#| msgid "Relax branches"
+ msgid "Set branch cost"
+ msgstr "放宽跳转"
+
+ #: config/epiphany/epiphany.opt:36
+ #, fuzzy
+-#| msgid "Enable all optional instructions"
+ msgid "enable conditional move instruction usage."
+ msgstr "启用所有可选指令"
+
+ #: config/epiphany/epiphany.opt:40
+ #, fuzzy
+-#| msgid "The number of insns executed before prefetch is completed"
+ msgid "set number of nops to emit before each insn pattern"
+ msgstr "预取操作完成前执行指令的数目"
+
+ #: config/epiphany/epiphany.opt:52
+ #, fuzzy
+-#| msgid "Use software floating point"
+ msgid "Use software floating point comparisons"
+ msgstr "使用软件浮点单元"
+
+@@ -7918,13 +7744,11 @@
+
+ #: config/epiphany/epiphany.opt:76
+ #, fuzzy
+-#| msgid "Generate call insns as indirect calls, if necessary"
+ msgid "Generate call insns as indirect calls"
+ msgstr "如有必须,为调用指令生成间接调用"
+
+ #: config/epiphany/epiphany.opt:80
+ #, fuzzy
+-#| msgid "Generate call insns as indirect calls, if necessary"
+ msgid "Generate call insns as direct calls"
+ msgstr "如有必须,为调用指令生成间接调用"
+
+@@ -7938,7 +7762,6 @@
+
+ #: config/epiphany/epiphany.opt:112
+ #, fuzzy
+-#| msgid "Use structs on stronger alignment for double-word copies"
+ msgid "Vectorize for double-word operations."
+ msgstr "为结构使用更强的对齐以使用双字复制"
+
+@@ -7948,7 +7771,6 @@
+
+ #: config/epiphany/epiphany.opt:132
+ #, fuzzy
+-#| msgid "Use hardware floating point conversion instructions"
+ msgid "Use the floating point unit for integer add/subtract."
+ msgstr "使用浮点转换指令"
+
+@@ -8184,7 +8006,6 @@
+
+ #: config/i386/i386.opt:190
+ #, fuzzy
+-#| msgid "Use 128-bit long double"
+ msgid "Use 80-bit long double"
+ msgstr "使用 128 位 long double"
+
+@@ -8244,7 +8065,6 @@
+
+ #: config/i386/i386.opt:271
+ #, fuzzy
+-#| msgid "Use given x86-64 code model"
+ msgid "Use given address mode"
+ msgstr "使用给定的 x86-64 代码模式"
+
+@@ -8291,19 +8111,16 @@
+
+ #: config/i386/i386.opt:369
+ #, fuzzy
+-#| msgid "Set 80387 floating-point precision (-mpc32, -mpc64, -mpc80)"
+ msgid "Set 80387 floating-point precision to 32-bit"
+ msgstr "设定 80387 浮点精度(-mpc32、-mpc64、-mpc80)"
+
+ #: config/i386/i386.opt:373
+ #, fuzzy
+-#| msgid "Set 80387 floating-point precision (-mpc32, -mpc64, -mpc80)"
+ msgid "Set 80387 floating-point precision to 64-bit"
+ msgstr "设定 80387 浮点精度(-mpc32、-mpc64、-mpc80)"
+
+ #: config/i386/i386.opt:377
+ #, fuzzy
+-#| msgid "Set 80387 floating-point precision (-mpc32, -mpc64, -mpc80)"
+ msgid "Set 80387 floating-point precision to 80-bit"
+ msgstr "设定 80387 浮点精度(-mpc32、-mpc64、-mpc80)"
+
+@@ -8361,7 +8178,6 @@
+
+ #: config/i386/i386.opt:433
+ #, fuzzy
+-#| msgid "bad value (%s) for %sstringop-strategy=%s %s"
+ msgid "Valid arguments to -mstringop-strategy=:"
+ msgstr "%2$sstringop-strategy=%3$s %4$s所带参数(%1$s)不正确"
+
+@@ -8425,7 +8241,6 @@
+
+ #: config/i386/i386.opt:543
+ #, fuzzy
+-#| msgid "Do dispatch scheduling if processor is bdver1 and Haifa scheduling"
+ msgid "Do dispatch scheduling if processor is bdver1 or bdver2 or bdver3 or bdver4 and Haifa scheduling"
+ msgstr "进行海法调度,当处理器是 bdver1 时也进行派遣调度"
+
+@@ -8443,13 +8258,11 @@
+
+ #: config/i386/i386.opt:562
+ #, fuzzy
+-#| msgid "Generate 64bit x86-64 code"
+ msgid "Generate 32bit x86-64 code"
+ msgstr "生成 64 位 x86-64 代码"
+
+ #: config/i386/i386.opt:566
+ #, fuzzy
+-#| msgid "Generate 32bit i386 code"
+ msgid "Generate 16bit i386 code"
+ msgstr "生成 32 位 i386 代码"
+
+@@ -8503,31 +8316,26 @@
+
+ #: config/i386/i386.opt:622
+ #, fuzzy
+-#| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation"
+ msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and AVX2 built-in functions and code generation"
+ msgstr "支持 MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、AVX 和 FMA 内建函数及代码生成"
+
+ #: config/i386/i386.opt:626
+ #, fuzzy
+-#| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation"
+ msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation"
+ msgstr "支持 MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、AVX 和 FMA 内建函数及代码生成"
+
+ #: config/i386/i386.opt:630
+ #, fuzzy
+-#| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation"
+ msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512PF built-in functions and code generation"
+ msgstr "支持 MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、AVX 和 FMA 内建函数及代码生成"
+
+ #: config/i386/i386.opt:634
+ #, fuzzy
+-#| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation"
+ msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512ER built-in functions and code generation"
+ msgstr "支持 MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、AVX 和 FMA 内建函数及代码生成"
+
+ #: config/i386/i386.opt:638
+ #, fuzzy
+-#| msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation"
+ msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512CD built-in functions and code generation"
+ msgstr "支持 MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1、SSE4.2、AVX 和 FMA 内建函数及代码生成"
+
+@@ -8565,13 +8373,11 @@
+
+ #: config/i386/i386.opt:674
+ #, fuzzy
+-#| msgid "Support BMI built-in functions and code generation"
+ msgid "Support BMI2 built-in functions and code generation"
+ msgstr "支持 BMI 内建函数及代码生成"
+
+ #: config/i386/i386.opt:678
+ #, fuzzy
+-#| msgid "Support TBM built-in functions and code generation"
+ msgid "Support LZCNT built-in function and code generation"
+ msgstr "支持 TBM 内建函数及代码生成"
+
+@@ -8581,7 +8387,6 @@
+
+ #: config/i386/i386.opt:686
+ #, fuzzy
+-#| msgid "Use SmartMIPS instructions"
+ msgid "Support RDSEED instruction"
+ msgstr "使用 SmartMIPS 指令"
+
+@@ -8591,7 +8396,6 @@
+
+ #: config/i386/i386.opt:694
+ #, fuzzy
+-#| msgid "Support code generation of crc32 instruction."
+ msgid "Support flag-preserving add-carry instructions"
+ msgstr "支持生成 crc32 指令。"
+
+@@ -8601,13 +8405,11 @@
+
+ #: config/i386/i386.opt:702
+ #, fuzzy
+-#| msgid "Support calls between Thumb and ARM instruction sets"
+ msgid "Support XSAVE and XRSTOR instructions"
+ msgstr "支持 Thumb 和 ARM 指令集间互相调用g"
+
+ #: config/i386/i386.opt:706
+ #, fuzzy
+-#| msgid "Support MMX built-in functions"
+ msgid "Support XSAVEOPT instruction"
+ msgstr "支持 MMX 内建函数"
+
+@@ -8637,7 +8439,6 @@
+
+ #: config/i386/i386.opt:734
+ #, fuzzy
+-#| msgid "Support MMX and SSE built-in functions and code generation"
+ msgid "Support SHA1 and SHA256 built-in functions and code generation"
+ msgstr "支持 MMX 和 SSE 内建函数及代码生成"
+
+@@ -8680,13 +8481,11 @@
+
+ #: config/i386/i386.opt:774
+ #, fuzzy
+-#| msgid "Support TBM built-in functions and code generation"
+ msgid "Support RTM built-in functions and code generation"
+ msgstr "支持 TBM 内建函数及代码生成"
+
+ #: config/i386/i386.opt:778
+ #, fuzzy
+-#| msgid "Use propolice as a stack protection method"
+ msgid "Use given stack-protector guard"
+ msgstr "使用 propolice 来保护堆栈"
+
+@@ -8805,7 +8604,6 @@
+
+ #: config/v850/v850.opt:41
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the callt instruction (default)"
+ msgstr "不使用 callt 指令"
+
+@@ -8871,13 +8669,11 @@
+
+ #: config/v850/v850.opt:117
+ #, fuzzy
+-#| msgid "Compile for the v850e processor"
+ msgid "Compile for the v850e3v5 processor"
+ msgstr "为 v850e 处理器编译"
+
+ #: config/v850/v850.opt:124
+ #, fuzzy
+-#| msgid "Enable clip instructions"
+ msgid "Enable v850e3v5 loop instructions"
+ msgstr "启用 clip 指令"
+
+@@ -8887,37 +8683,31 @@
+
+ #: config/v850/v850.opt:135
+ #, fuzzy
+-#| msgid "Enable the rank heuristic in the scheduler"
+ msgid "Enable relaxing in the assembler"
+ msgstr "在调度器中启用秩启发"
+
+ #: config/v850/v850.opt:139
+ #, fuzzy
+-#| msgid "Prohibit PC relative function calls"
+ msgid "Prohibit PC relative jumps"
+ msgstr "禁止相对 PC 的函数调用"
+
+ #: config/v850/v850.opt:143
+ #, fuzzy
+-#| msgid "Prevent the use of all hardware floating-point instructions"
+ msgid "Inhibit the use of hardware floating point instructions"
+ msgstr "不允许使用任何硬件浮点指令"
+
+ #: config/v850/v850.opt:147
+ #, fuzzy
+-#| msgid "Allow the use of hardware floating-point ABI and instructions"
+ msgid "Allow the use of hardware floating point instructions for V850E2V3 and up"
+ msgstr "允许使用硬件浮点 ABI 和指令"
+
+ #: config/v850/v850.opt:151
+ #, fuzzy
+-#| msgid "Enable the use of RX FPU instructions. This is the default."
+ msgid "Enable support for the RH850 ABI. This is the default"
+ msgstr "启用使用 RX FPU 指令。这是默认值。"
+
+ #: config/v850/v850.opt:155
+ #, fuzzy
+-#| msgid "Enable support for huge objects"
+ msgid "Enable support for the old GCC ABI"
+ msgstr "启用对巨型对象的支持"
+
+@@ -8951,13 +8741,11 @@
+
+ #: config/cr16/cr16.opt:23
+ #, fuzzy
+-#| msgid "-msim\tUse simulator runtime"
+ msgid "-msim Use simulator runtime"
+ msgstr "-msim\t使用仿真器运行时"
+
+ #: config/cr16/cr16.opt:27
+ #, fuzzy
+-#| msgid "Generate bit instructions"
+ msgid "Generate SBIT, CBIT instructions"
+ msgstr "生成位指令"
+
+@@ -8971,19 +8759,16 @@
+
+ #: config/cr16/cr16.opt:42
+ #, fuzzy
+-#| msgid "Generate code for a cpu32"
+ msgid "Generate code for CR16C architecture"
+ msgstr "为 cpu32 生成代码"
+
+ #: config/cr16/cr16.opt:46
+ #, fuzzy
+-#| msgid "Generate code for GNU assembler (gas)"
+ msgid "Generate code for CR16C+ architecture (Default)"
+ msgstr "为 GNU 汇编器(gas)生成代码"
+
+ #: config/cr16/cr16.opt:50
+ #, fuzzy
+-#| msgid "Pointers are 32-bit"
+ msgid "Treat integers as 32-bit."
+ msgstr "指针是 32 位"
+
+@@ -9038,7 +8823,6 @@
+
+ #: config/avr/avr.opt:80
+ #, fuzzy
+-#| msgid "taking the address of a label is non-standard"
+ msgid "Warn if the address space of an address is changed."
+ msgstr "取标号的地址不符合标准"
+
+@@ -9157,7 +8941,6 @@
+
+ #: config/s390/s390.opt:117
+ #, fuzzy
+-#| msgid "Use hardware floating point instructions"
+ msgid "Use hardware transactional execution instructions"
+ msgstr "使用硬件浮点指令"
+
+@@ -9203,7 +8986,6 @@
+
+ #: config/s390/s390.opt:167 config/rs6000/rs6000.opt:470
+ #, fuzzy
+-#| msgid "Use ROM instead of RAM"
+ msgid "Use LRA instead of reload"
+ msgstr "使用 ROM 而不是 RAM"
+
+@@ -9217,7 +8999,6 @@
+
+ #: config/rl78/rl78.opt:47
+ #, fuzzy
+-#| msgid "Specifies the number of registers to reserve for interrupt handlers."
+ msgid "Use all registers, reserving none for interrupt handlers."
+ msgstr "指定保留给中断处理函数使用的寄存器的数量"
+
+@@ -9227,7 +9008,6 @@
+
+ #: config/rl78/rl78.opt:55
+ #, fuzzy
+-#| msgid "Target the AM33/2.0 processor"
+ msgid "Target the RL78/G10 series"
+ msgstr "目标为 AM33/2.0 处理器"
+
+@@ -9277,7 +9057,6 @@
+
+ #: config/arm/arm.opt:90
+ #, fuzzy
+-#| msgid "Generate code for 32 bit addressing"
+ msgid "Generate code in 32 bit ARM state."
+ msgstr "为 32 位寻址生成代码"
+
+@@ -9303,7 +9082,6 @@
+
+ #: config/arm/arm.opt:131
+ #, fuzzy
+-#| msgid "invalid __fp16 format option: -mfp16-format=%s"
+ msgid "Known __fp16 formats (for use with the -mfp16-format= option):"
+ msgstr "无效的 __fp16 浮点选项:-mfp16-format=%s"
+
+@@ -9317,7 +9095,6 @@
+
+ #: config/arm/arm.opt:163
+ #, fuzzy
+-#| msgid "Assume arguments alias no other storage"
+ msgid "Assume data segments are relative to text segment."
+ msgstr "假定实参不与其他存储重叠"
+
+@@ -9343,7 +9120,6 @@
+
+ #: config/arm/arm.opt:190
+ #, fuzzy
+-#| msgid "Generate code for GNU as"
+ msgid "Generate code for Thumb state"
+ msgstr "为 GNU as 生成代码"
+
+@@ -9353,7 +9129,6 @@
+
+ #: config/arm/arm.opt:198
+ #, fuzzy
+-#| msgid "Use given thread-local storage dialect"
+ msgid "Specify thread local storage scheme"
+ msgstr "使用给定的线程局部存储模式"
+
+@@ -9380,7 +9155,6 @@
+
+ #: config/arm/arm.opt:236
+ #, fuzzy
+-#| msgid "Assume big endian bytes, little endian words"
+ msgid "Assume big endian bytes, little endian words. This option is deprecated."
+ msgstr "假定高位字节在前,低位字在前"
+
+@@ -9390,7 +9164,6 @@
+
+ #: config/arm/arm.opt:244
+ #, fuzzy
+-#| msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+ msgid "Use Neon double-word (rather than quad-word) registers for vectorization"
+ msgstr "使用 Neon 四字(而非双字)寄存器来进行向量化"
+
+@@ -9436,7 +9209,6 @@
+
+ #: config/sparc/sparc.opt:42
+ #, fuzzy
+-#| msgid "Use alternate register names"
+ msgid "Use flat register window model"
+ msgstr "使用另一套寄存器名"
+
+@@ -9462,37 +9234,31 @@
+
+ #: config/sparc/sparc.opt:66
+ #, fuzzy
+-#| msgid "Use UltraSPARC Visual Instruction Set extensions"
+ msgid "Use UltraSPARC Visual Instruction Set version 1.0 extensions"
+ msgstr "使用 UltraSPARC 可视化指令集"
+
+ #: config/sparc/sparc.opt:70
+ #, fuzzy
+-#| msgid "Use UltraSPARC Visual Instruction Set extensions"
+ msgid "Use UltraSPARC Visual Instruction Set version 2.0 extensions"
+ msgstr "使用 UltraSPARC 可视化指令集"
+
+ #: config/sparc/sparc.opt:74
+ #, fuzzy
+-#| msgid "Use UltraSPARC Visual Instruction Set extensions"
+ msgid "Use UltraSPARC Visual Instruction Set version 3.0 extensions"
+ msgstr "使用 UltraSPARC 可视化指令集"
+
+ #: config/sparc/sparc.opt:78
+ #, fuzzy
+-#| msgid "Use UltraSPARC Visual Instruction Set extensions"
+ msgid "Use UltraSPARC Compare-and-Branch extensions"
+ msgstr "使用 UltraSPARC 可视化指令集"
+
+ #: config/sparc/sparc.opt:82
+ #, fuzzy
+-#| msgid "Use UltraSPARC Visual Instruction Set extensions"
+ msgid "Use UltraSPARC Fused Multiply-Add extensions"
+ msgstr "使用 UltraSPARC 可视化指令集"
+
+ #: config/sparc/sparc.opt:86
+ #, fuzzy
+-#| msgid "Use hardware floating point instructions"
+ msgid "Use UltraSPARC Population-Count instruction"
+ msgstr "使用硬件浮点指令"
+
+@@ -9534,7 +9300,6 @@
+
+ #: config/sparc/sparc.opt:196
+ #, fuzzy
+-#| msgid "-mdebug=\tEnable debug output"
+ msgid "Enable debug output"
+ msgstr "-mdebug=\t启用调试输出"
+
+@@ -9628,13 +9393,11 @@
+
+ #: config/rs6000/rs6000.opt:145
+ #, fuzzy
+-#| msgid "Generate code in little endian mode"
+ msgid "Generate Altivec instructions using little-endian element order"
+ msgstr "生成小端在前的代码"
+
+ #: config/rs6000/rs6000.opt:149
+ #, fuzzy
+-#| msgid "Generate VRSAVE instructions when generating AltiVec code"
+ msgid "Generate Altivec instructions using big-endian element order"
+ msgstr "生成 AltiVec 代码时生成 VRSAVE 指令"
+
+@@ -9741,13 +9504,11 @@
+
+ #: config/rs6000/rs6000.opt:322
+ #, fuzzy
+-#| msgid "-mvrsave=yes/no\tDeprecated option. Use -mvrsave/-mno-vrsave instead"
+ msgid "Deprecated option. Use -mno-vrsave instead"
+ msgstr "-mvrsave=yes/no\t不建议使用的选项。请改用 -mvrsave/-mno-vrsave"
+
+ #: config/rs6000/rs6000.opt:326
+ #, fuzzy
+-#| msgid "Deprecated. Use -Os instead"
+ msgid "Deprecated option. Use -mvrsave instead"
+ msgstr "不建议使用。请改用 -Os"
+
+@@ -9761,13 +9522,11 @@
+
+ #: config/rs6000/rs6000.opt:338
+ #, fuzzy
+-#| msgid "-misel=yes/no\tDeprecated option. Use -misel/-mno-isel instead"
+ msgid "Deprecated option. Use -mno-isel instead"
+ msgstr "-misel=yes/no\t不建议使用的选项。请改用 -misel/-mno-isel"
+
+ #: config/rs6000/rs6000.opt:342
+ #, fuzzy
+-#| msgid "Deprecated. Use -Os instead"
+ msgid "Deprecated option. Use -misel instead"
+ msgstr "不建议使用。请改用 -Os"
+
+@@ -9781,13 +9540,11 @@
+
+ #: config/rs6000/rs6000.opt:354
+ #, fuzzy
+-#| msgid "-mspe=yes/no\tDeprecated option. Use -mspe/-mno-spe instead"
+ msgid "Deprecated option. Use -mno-spe instead"
+ msgstr "-mspe=yes/no\t不建议使用的选项。请改用 -mspe/-mno-spe"
+
+ #: config/rs6000/rs6000.opt:358
+ #, fuzzy
+-#| msgid "Deprecated. Use -Os instead"
+ msgid "Deprecated option. Use -mspe instead"
+ msgstr "不建议使用。请改用 -Os"
+
+@@ -9797,37 +9554,31 @@
+
+ #: config/rs6000/rs6000.opt:366
+ #, fuzzy
+-#| msgid "Use the Cray Pointer extension"
+ msgid "Use the AltiVec ABI extensions"
+ msgstr "使用 Cray 指针扩展"
+
+ #: config/rs6000/rs6000.opt:370
+ #, fuzzy
+-#| msgid "Do not use the bit-field instructions"
+ msgid "Do not use the AltiVec ABI extensions"
+ msgstr "不使用位段指令"
+
+ #: config/rs6000/rs6000.opt:374
+ #, fuzzy
+-#| msgid "Use the Cray Pointer extension"
+ msgid "Use the SPE ABI extensions"
+ msgstr "使用 Cray 指针扩展"
+
+ #: config/rs6000/rs6000.opt:378
+ #, fuzzy
+-#| msgid "Do not use the bit-field instructions"
+ msgid "Do not use the SPE ABI extensions"
+ msgstr "不使用位段指令"
+
+ #: config/rs6000/rs6000.opt:382
+ #, fuzzy
+-#| msgid "Use EABI"
+ msgid "Use the ELFv1 ABI"
+ msgstr "使用 EABI"
+
+ #: config/rs6000/rs6000.opt:386
+ #, fuzzy
+-#| msgid "Use EABI"
+ msgid "Use the ELFv2 ABI"
+ msgstr "使用 EABI"
+
+@@ -9947,7 +9698,6 @@
+
+ #: config/rs6000/rs6000.opt:554
+ #, fuzzy
+-#| msgid "Align destination of the string operations"
+ msgid "Allow sign extension in fusion operations"
+ msgstr "对齐字符串操作的目标"
+
+@@ -9957,7 +9707,6 @@
+
+ #: config/rs6000/rs6000.opt:562
+ #, fuzzy
+-#| msgid "Use SmartMIPS instructions"
+ msgid "Use ISA 2.07 crypto instructions"
+ msgstr "使用 SmartMIPS 指令"
+
+@@ -9967,13 +9716,11 @@
+
+ #: config/rs6000/rs6000.opt:570
+ #, fuzzy
+-#| msgid "Use vector/scalar (VSX) instructions"
+ msgid "Use ISA 2.07 transactional memory (HTM) instructions"
+ msgstr "使用向量/标量(VSX)指令"
+
+ #: config/rs6000/rs6000.opt:574
+ #, fuzzy
+-#| msgid "Generate load/store multiple instructions"
+ msgid "Generate the quad word memory instructions (lq/stq)."
+ msgstr "生成加载/存储乘法指令"
+
+@@ -10165,7 +9912,6 @@
+
+ #: config/tilepro/tilepro.opt:28 config/tilegx/tilegx.opt:26
+ #, fuzzy
+-#| msgid "-mcpu=\tUse features of and schedule code for given CPU"
+ msgid "-mcpu=CPU\tUse features of and schedule code for given CPU"
+ msgstr "-mcpu=\t使用指定 CPU 的特性和调度代码"
+
+@@ -10195,7 +9941,6 @@
+
+ #: config/nios2/elf.opt:26
+ #, fuzzy
+-#| msgid "Link with the fast floating-point library"
+ msgid "Link with a limited version of the C library"
+ msgstr "与快速浮点库链接"
+
+@@ -10217,7 +9962,6 @@
+
+ #: config/nios2/nios2.opt:39
+ #, fuzzy
+-#| msgid "Enable clip instructions"
+ msgid "Enable MUL instructions"
+ msgstr "启用 clip 指令"
+
+@@ -10227,19 +9971,16 @@
+
+ #: config/nios2/nios2.opt:47
+ #, fuzzy
+-#| msgid "Use the software emulation for divides (default)"
+ msgid "Use table based fast divide (default at -O3)"
+ msgstr "使用软件模拟除法(默认)"
+
+ #: config/nios2/nios2.opt:51
+ #, fuzzy
+-#| msgid "Enable unaligned load/store instruction"
+ msgid "All memory accesses use I/O load/store instructions"
+ msgstr "启用不对齐的载入/存储指令"
+
+ #: config/nios2/nios2.opt:55
+ #, fuzzy
+-#| msgid "Enable unaligned load/store instruction"
+ msgid "Volatile memory accesses use I/O load/store instructions"
+ msgstr "启用不对齐的载入/存储指令"
+
+@@ -10268,7 +10009,6 @@
+
+ #: config/nios2/nios2.opt:79
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the ftruncds custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10278,7 +10018,6 @@
+
+ #: config/nios2/nios2.opt:87
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fextsd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10288,19 +10027,16 @@
+
+ #: config/nios2/nios2.opt:95
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fixdu custom instruction"
+ msgstr "不使用 callt 指令"
+
+ #: config/nios2/nios2.opt:99
+ #, fuzzy
+-#| msgid "Enable divide and modulus instructions"
+ msgid "Integer id (N) of fixdu custom instruction"
+ msgstr "启用除法和求余指令"
+
+ #: config/nios2/nios2.opt:103
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fixdi custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10310,7 +10046,6 @@
+
+ #: config/nios2/nios2.opt:111
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fixsu custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10320,7 +10055,6 @@
+
+ #: config/nios2/nios2.opt:119
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fixsi custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10330,31 +10064,26 @@
+
+ #: config/nios2/nios2.opt:127
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the floatud custom instruction"
+ msgstr "不使用 callt 指令"
+
+ #: config/nios2/nios2.opt:131
+ #, fuzzy
+-#| msgid "Enable unaligned load/store instruction"
+ msgid "Integer id (N) of floatud custom instruction"
+ msgstr "启用不对齐的载入/存储指令"
+
+ #: config/nios2/nios2.opt:135
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the floatid custom instruction"
+ msgstr "不使用 callt 指令"
+
+ #: config/nios2/nios2.opt:139
+ #, fuzzy
+-#| msgid "Enable unaligned load/store instruction"
+ msgid "Integer id (N) of floatid custom instruction"
+ msgstr "启用不对齐的载入/存储指令"
+
+ #: config/nios2/nios2.opt:143
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the floatus custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10364,7 +10093,6 @@
+
+ #: config/nios2/nios2.opt:151
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the floatis custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10374,7 +10102,6 @@
+
+ #: config/nios2/nios2.opt:159
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcmpned custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10384,7 +10111,6 @@
+
+ #: config/nios2/nios2.opt:167
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcmpeqd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10394,7 +10120,6 @@
+
+ #: config/nios2/nios2.opt:175
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcmpged custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10404,7 +10129,6 @@
+
+ #: config/nios2/nios2.opt:183
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcmpgtd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10414,7 +10138,6 @@
+
+ #: config/nios2/nios2.opt:191
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcmpled custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10424,7 +10147,6 @@
+
+ #: config/nios2/nios2.opt:199
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcmpltd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10434,7 +10156,6 @@
+
+ #: config/nios2/nios2.opt:207
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the flogd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10444,7 +10165,6 @@
+
+ #: config/nios2/nios2.opt:215
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fexpd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10454,7 +10174,6 @@
+
+ #: config/nios2/nios2.opt:223
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fatand custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10464,19 +10183,16 @@
+
+ #: config/nios2/nios2.opt:231
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the ftand custom instruction"
+ msgstr "不使用 callt 指令"
+
+ #: config/nios2/nios2.opt:235
+ #, fuzzy
+-#| msgid "Enable divide and modulus instructions"
+ msgid "Integer id (N) of ftand custom instruction"
+ msgstr "启用除法和求余指令"
+
+ #: config/nios2/nios2.opt:239
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fsind custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10486,7 +10202,6 @@
+
+ #: config/nios2/nios2.opt:247
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcosd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10496,7 +10211,6 @@
+
+ #: config/nios2/nios2.opt:255
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fsqrtd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10506,7 +10220,6 @@
+
+ #: config/nios2/nios2.opt:263
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fabsd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10516,7 +10229,6 @@
+
+ #: config/nios2/nios2.opt:271
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fnegd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10526,7 +10238,6 @@
+
+ #: config/nios2/nios2.opt:279
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fmaxd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10536,7 +10247,6 @@
+
+ #: config/nios2/nios2.opt:287
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fmind custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10546,7 +10256,6 @@
+
+ #: config/nios2/nios2.opt:295
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fdivd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10556,19 +10265,16 @@
+
+ #: config/nios2/nios2.opt:303
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fmuld custom instruction"
+ msgstr "不使用 callt 指令"
+
+ #: config/nios2/nios2.opt:307
+ #, fuzzy
+-#| msgid "Enable divide and modulus instructions"
+ msgid "Integer id (N) of fmuld custom instruction"
+ msgstr "启用除法和求余指令"
+
+ #: config/nios2/nios2.opt:311
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fsubd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10578,7 +10284,6 @@
+
+ #: config/nios2/nios2.opt:319
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the faddd custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10588,7 +10293,6 @@
+
+ #: config/nios2/nios2.opt:327
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcmpnes custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10598,7 +10302,6 @@
+
+ #: config/nios2/nios2.opt:335
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcmpeqs custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10608,7 +10311,6 @@
+
+ #: config/nios2/nios2.opt:343
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcmpges custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10618,7 +10320,6 @@
+
+ #: config/nios2/nios2.opt:351
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcmpgts custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10628,7 +10329,6 @@
+
+ #: config/nios2/nios2.opt:359
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcmples custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10638,7 +10338,6 @@
+
+ #: config/nios2/nios2.opt:367
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcmplts custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10648,7 +10347,6 @@
+
+ #: config/nios2/nios2.opt:375
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the flogs custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10658,7 +10356,6 @@
+
+ #: config/nios2/nios2.opt:383
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fexps custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10668,7 +10365,6 @@
+
+ #: config/nios2/nios2.opt:391
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fatans custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10678,7 +10374,6 @@
+
+ #: config/nios2/nios2.opt:399
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the ftans custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10688,7 +10383,6 @@
+
+ #: config/nios2/nios2.opt:407
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fsins custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10698,7 +10392,6 @@
+
+ #: config/nios2/nios2.opt:415
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fcoss custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10708,7 +10401,6 @@
+
+ #: config/nios2/nios2.opt:423
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fsqrts custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10718,7 +10410,6 @@
+
+ #: config/nios2/nios2.opt:431
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fabss custom instr"
+ msgstr "不使用 callt 指令"
+
+@@ -10728,7 +10419,6 @@
+
+ #: config/nios2/nios2.opt:439
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fnegs custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10738,7 +10428,6 @@
+
+ #: config/nios2/nios2.opt:447
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fmaxs custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10748,7 +10437,6 @@
+
+ #: config/nios2/nios2.opt:455
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fmins custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10758,7 +10446,6 @@
+
+ #: config/nios2/nios2.opt:463
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fdivs custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10768,19 +10455,16 @@
+
+ #: config/nios2/nios2.opt:471
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fmuls custom instruction"
+ msgstr "不使用 callt 指令"
+
+ #: config/nios2/nios2.opt:475
+ #, fuzzy
+-#| msgid "Enable divide and modulus instructions"
+ msgid "Integer id (N) of fmuls custom instruction"
+ msgstr "启用除法和求余指令"
+
+ #: config/nios2/nios2.opt:479
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fsubs custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10790,7 +10474,6 @@
+
+ #: config/nios2/nios2.opt:487
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fadds custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10800,7 +10483,6 @@
+
+ #: config/nios2/nios2.opt:495
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the frdy custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10810,7 +10492,6 @@
+
+ #: config/nios2/nios2.opt:503
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the frdxhi custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10820,7 +10501,6 @@
+
+ #: config/nios2/nios2.opt:511
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the frdxlo custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10830,7 +10510,6 @@
+
+ #: config/nios2/nios2.opt:519
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fwry custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10840,7 +10519,6 @@
+
+ #: config/nios2/nios2.opt:527
+ #, fuzzy
+-#| msgid "Do not use the callt instruction"
+ msgid "Do not use the fwrx custom instruction"
+ msgstr "不使用 callt 指令"
+
+@@ -10882,7 +10560,6 @@
+
+ #: config/rx/rx.opt:93
+ #, fuzzy
+-#| msgid "Generate assembler output that is compatible with the Renesas AS100 assembler. This may restrict some of the compiler's capabilities. The default is to generate GAS compatable syntax."
+ msgid "Generate assembler output that is compatible with the Renesas AS100 assembler. This may restrict some of the compiler's capabilities. The default is to generate GAS compatible syntax."
+ msgstr "生成与 Renesas AS100 兼容的汇编输出。这可能会限制编译器的某些功能。默认是使用与 GAS 兼容的语法。"
+
+@@ -10920,7 +10597,6 @@
+
+ #: config/rx/rx.opt:141
+ #, fuzzy
+-#| msgid "Enable the use of the short load instructions"
+ msgid "Enable the use of the LRA register allocator."
+ msgstr "启用对短加载指令的使用"
+
+@@ -10977,7 +10653,6 @@
+
+ #: config/microblaze/microblaze.opt:87
+ #, fuzzy, c-format
+-#| msgid "%qE is deprecated: %s"
+ msgid "%qs is deprecated; use -fstack-check"
+ msgstr "不建议使用%qE:%s"
+
+@@ -10991,7 +10666,6 @@
+
+ #: config/microblaze/microblaze.opt:95
+ #, fuzzy, c-format
+-#| msgid "-mno-clearbss is deprecated; use -fno-zero-initialized-in-bss"
+ msgid "%qs is deprecated; use -fno-zero-initialized-in-bss"
+ msgstr "-mno-clearbss已不建议使用;请改用 -fno-zero-initialized-in-bss"
+
+@@ -11225,61 +10899,51 @@
+
+ #: config/mn10300/mn10300.opt:67
+ #, fuzzy
+-#| msgid "Allow gcc to generate LIW instructions"
+ msgid "Allow gcc to generate the SETLB and Lcc instructions"
+ msgstr "允许 gcc 生成 LIW 指令"
+
+ #: config/nds32/nds32.opt:26
+ #, fuzzy
+-#| msgid "Generate code in big endian mode"
+ msgid "Generate code in big-endian mode."
+ msgstr "生成大端在前的代码"
+
+ #: config/nds32/nds32.opt:30
+ #, fuzzy
+-#| msgid "Generate code in little endian mode"
+ msgid "Generate code in little-endian mode."
+ msgstr "生成小端在前的代码"
+
+ #: config/nds32/nds32.opt:34
+ #, fuzzy
+-#| msgid "Reschedule instructions before register allocation"
+ msgid "Use reduced-set registers for register allocation."
+ msgstr "分配寄存器前重新调度指令"
+
+ #: config/nds32/nds32.opt:38
+ #, fuzzy
+-#| msgid "Reschedule instructions before register allocation"
+ msgid "Use full-set registers for register allocation."
+ msgstr "分配寄存器前重新调度指令"
+
+ #: config/nds32/nds32.opt:42
+ #, fuzzy
+-#| msgid "Generate bit instructions"
+ msgid "Generate conditional move instructions."
+ msgstr "生成位指令"
+
+ #: config/nds32/nds32.opt:46
+ #, fuzzy
+-#| msgid "Generate bit instructions"
+ msgid "Generate performance extension instructions."
+ msgstr "生成位指令"
+
+ #: config/nds32/nds32.opt:50
+ #, fuzzy
+-#| msgid "Generate isel instructions"
+ msgid "Generate v3 push25/pop25 instructions."
+ msgstr "生成 isel 指令"
+
+ #: config/nds32/nds32.opt:54
+ #, fuzzy
+-#| msgid "Generate bit instructions"
+ msgid "Generate 16-bit instructions."
+ msgstr "生成位指令"
+
+ #: config/nds32/nds32.opt:58
+ #, fuzzy
+-#| msgid "Generate isel instructions"
+ msgid "Generate GP base instructions directly."
+ msgstr "生成 isel 指令"
+
+@@ -11293,7 +10957,6 @@
+
+ #: config/nds32/nds32.opt:70
+ #, fuzzy
+-#| msgid "Specify the name of the target architecture"
+ msgid "Specify the name of the target architecture."
+ msgstr "指定目标架构的名称"
+
+@@ -11307,19 +10970,16 @@
+
+ #: config/nds32/nds32.opt:94
+ #, fuzzy
+-#| msgid "Run predictive commoning optimization."
+ msgid "Use special directives to guide linker doing ex9 optimization."
+ msgstr "启用预测公因子优化。"
+
+ #: config/nds32/nds32.opt:98
+ #, fuzzy
+-#| msgid "Warn when all constructors and destructors are private"
+ msgid "Enable constructor/destructor feature."
+ msgstr "当所有构造函数和析构函数都是私有时给出警告"
+
+ #: config/nds32/nds32.opt:102
+ #, fuzzy
+-#| msgid "Generate isel instructions"
+ msgid "Guide linker to relax instructions."
+ msgstr "生成 isel 指令"
+
+@@ -11353,13 +11013,11 @@
+
+ #: config/c6x/c6x.opt:46
+ #, fuzzy
+-#| msgid "alias argument not a string"
+ msgid "Valid arguments for the -msdata= option"
+ msgstr "alias 的参数不是一个字符串"
+
+ #: config/c6x/c6x.opt:59
+ #, fuzzy
+-#| msgid "Create a shared library"
+ msgid "Compile for the DSBT shared library ABI"
+ msgstr "生成一个共享库"
+
+@@ -11633,7 +11291,6 @@
+
+ #: config/sh/sh.opt:236 config/sh/sh.opt:240
+ #, fuzzy, c-format
+-#| msgid "Deprecated. This switch has no effect"
+ msgid "%qs is deprecated and has no effect"
+ msgstr "不建议使用。此开关不起作用。"
+
+@@ -11675,7 +11332,6 @@
+
+ #: config/sh/sh.opt:277
+ #, fuzzy
+-#| msgid "Increase the IEEE compliance for floating-point code"
+ msgid "Increase the IEEE compliance for floating-point comparisons"
+ msgstr "让浮点代码更加遵循 IEEE 标准"
+
+@@ -11725,7 +11381,6 @@
+
+ #: config/sh/sh.opt:331
+ #, fuzzy
+-#| msgid "Generate code for built-in atomic operations"
+ msgid "Specify the model for atomic operations"
+ msgstr "为内建原子操作生成代码"
+
+@@ -11751,13 +11406,11 @@
+
+ #: config/sh/sh.opt:357
+ #, fuzzy
+-#| msgid "Enable the use of the short load instructions"
+ msgid "Enable the use of the fsca instruction"
+ msgstr "启用对短加载指令的使用"
+
+ #: config/sh/sh.opt:361
+ #, fuzzy
+-#| msgid "Enable the use of the short load instructions"
+ msgid "Enable the use of the fsrra instruction"
+ msgstr "启用对短加载指令的使用"
+
+@@ -11895,7 +11548,6 @@
+
+ #: config/mips/mips.opt:63
+ #, fuzzy
+-#| msgid "Use multiply add/subtract instructions"
+ msgid "Use integer madd/msub instructions"
+ msgstr "使用乘加/减指令"
+
+@@ -11925,7 +11577,6 @@
+
+ #: config/mips/mips.opt:91
+ #, fuzzy
+-#| msgid "invalid argument %qs to -fdebug-prefix-map"
+ msgid "Valid arguments to -mcode-readable=:"
+ msgstr "-fdebug-prefix-map 的参数%qs无效"
+
+@@ -11955,7 +11606,6 @@
+
+ #: config/mips/mips.opt:146
+ #, fuzzy
+-#| msgid "Use the bit-field instructions"
+ msgid "Use Enhanced Virtual Addressing instructions"
+ msgstr "使用位段指令"
+
+@@ -11969,7 +11619,6 @@
+
+ #: config/mips/mips.opt:158
+ #, fuzzy
+-#| msgid "Work around certain R4000 errata"
+ msgid "Work around certain 24K errata"
+ msgstr "为某些 R4000 缺陷提供变通"
+
+@@ -11983,7 +11632,6 @@
+
+ #: config/mips/mips.opt:170
+ #, fuzzy
+-#| msgid "Work around certain R4000 errata"
+ msgid "Work around certain RM7000 errata"
+ msgstr "为某些 R4000 缺陷提供变通"
+
+@@ -12057,13 +11705,11 @@
+
+ #: config/mips/mips.opt:252
+ #, fuzzy
+-#| msgid "Generate code that can be safely linked with MIPS16 code."
+ msgid "Generate code that is link-compatible with MIPS16 and microMIPS code."
+ msgstr "生成能与 MIPS16 代码安全链接的代码。"
+
+ #: config/mips/mips.opt:256
+ #, fuzzy
+-#| msgid "Does nothing. Preserved for backward compatibility."
+ msgid "An alias for minterlink-compressed provided for backward-compatibility."
+ msgstr "不起作用。为向前兼容保留的选项。"
+
+@@ -12109,7 +11755,6 @@
+
+ #: config/mips/mips.opt:300
+ #, fuzzy
+-#| msgid "Use SmartMIPS instructions"
+ msgid "Use microMIPS instructions"
+ msgstr "使用 SmartMIPS 指令"
+
+@@ -12123,7 +11768,6 @@
+
+ #: config/mips/mips.opt:312
+ #, fuzzy
+-#| msgid "Use MIPS-3D instructions"
+ msgid "Use MCU instructions"
+ msgstr "使用 MIPS-3D 指令"
+
+@@ -12214,31 +11858,26 @@
+
+ #: config/tilegx/tilegx.opt:37
+ #, fuzzy
+-#| msgid "Compile for 32-bit pointers"
+ msgid "Compile with 32 bit longs and pointers."
+ msgstr "为 32 位指针编译"
+
+ #: config/tilegx/tilegx.opt:41
+ #, fuzzy
+-#| msgid "Compile for 64-bit pointers"
+ msgid "Compile with 64 bit longs and pointers."
+ msgstr "为 64 位指针编译"
+
+ #: config/tilegx/tilegx.opt:45
+ #, fuzzy
+-#| msgid "Use given x86-64 code model"
+ msgid "Use given TILE-Gx code model"
+ msgstr "使用给定的 x86-64 代码模式"
+
+ #: config/arc/arc.opt:26
+ #, fuzzy
+-#| msgid "Generate code in big endian mode"
+ msgid "Compile code for big endian mode"
+ msgstr "生成大端在前的代码"
+
+ #: config/arc/arc.opt:30
+ #, fuzzy
+-#| msgid "Stores doubles in 32 bits. This is the default."
+ msgid "Compile code for little endian mode. This is the default"
+ msgstr "以 32 位双精度数存储。这是默认值。"
+
+@@ -12284,31 +11923,26 @@
+
+ #: config/arc/arc.opt:80
+ #, fuzzy
+-#| msgid "Generate string instructions for block moves"
+ msgid "Generate instructions supported by barrel shifter"
+ msgstr "为块移动使用字符串指令"
+
+ #: config/arc/arc.opt:84
+ #, fuzzy
+-#| msgid "Generate bit instructions"
+ msgid "Generate norm instruction"
+ msgstr "生成位指令"
+
+ #: config/arc/arc.opt:88
+ #, fuzzy
+-#| msgid "Generate isel instructions"
+ msgid "Generate swap instruction"
+ msgstr "生成 isel 指令"
+
+ #: config/arc/arc.opt:92
+ #, fuzzy
+-#| msgid "Generate load/store multiple instructions"
+ msgid "Generate mul64 and mulu64 instructions"
+ msgstr "生成加载/存储乘法指令"
+
+ #: config/arc/arc.opt:96
+ #, fuzzy
+-#| msgid "Do not generate fused multiply/add instructions"
+ msgid "Do not generate mpy instructions for ARC700"
+ msgstr "不生成融合的乘/加指令"
+
+@@ -12322,13 +11956,11 @@
+
+ #: config/arc/arc.opt:108
+ #, fuzzy
+-#| msgid "Generate call insns as indirect calls, if necessary"
+ msgid "Generate call insns as register indirect calls"
+ msgstr "如有必须,为调用指令生成间接调用"
+
+ #: config/arc/arc.opt:112
+ #, fuzzy
+-#| msgid "Generate cld instruction in the function prologue."
+ msgid "Do no generate BRcc instructions in arc_reorg."
+ msgstr "在函数序言中生成 cld 指令"
+
+@@ -12346,7 +11978,6 @@
+
+ #: config/arc/arc.opt:132
+ #, fuzzy
+-#| msgid "Generate bit instructions"
+ msgid "FPX: Generate Single Precision FPX (fast) instructions."
+ msgstr "生成位指令"
+
+@@ -12356,13 +11987,11 @@
+
+ #: config/arc/arc.opt:140 config/arc/arc.opt:144
+ #, fuzzy
+-#| msgid "Generate bit instructions"
+ msgid "FPX: Generate Double Precision FPX (compact) instructions."
+ msgstr "生成位指令"
+
+ #: config/arc/arc.opt:148
+ #, fuzzy
+-#| msgid "Generate bit instructions"
+ msgid "FPX: Generate Double Precision FPX (fast) instructions."
+ msgstr "生成位指令"
+
+@@ -12384,7 +12013,6 @@
+
+ #: config/arc/arc.opt:187
+ #, fuzzy
+-#| msgid "Cost to assume for a multiply insn"
+ msgid "Cost to assume for a multiply instruction, with 4 being equal to a normal insn."
+ msgstr "为乘法指令设定的开销"
+
+@@ -12406,7 +12034,6 @@
+
+ #: config/arc/arc.opt:215
+ #, fuzzy
+-#| msgid "Enable the use of the short load instructions"
+ msgid "Enable the use of indexed loads"
+ msgstr "启用对短加载指令的使用"
+
+@@ -12416,7 +12043,6 @@
+
+ #: config/arc/arc.opt:223
+ #, fuzzy
+-#| msgid "Generate fused multiply/add instructions"
+ msgid "Generate 32x16 multiply and mac instructions"
+ msgstr "生成融合的乘/加指令"
+
+@@ -12434,7 +12060,6 @@
+
+ #: config/arc/arc.opt:241
+ #, fuzzy
+-#| msgid "Avoid all range limits on call instructions"
+ msgid "Do alignment optimizations for call instructions."
+ msgstr "为调用指令避免一切范围限制"
+
+@@ -12448,7 +12073,6 @@
+
+ #: config/arc/arc.opt:253
+ #, fuzzy
+-#| msgid "Enable cbranchdi4 pattern"
+ msgid "Enable pre-reload use of cbranchsi pattern"
+ msgstr "启用 cbranchdi4 样式"
+
+@@ -12462,13 +12086,11 @@
+
+ #: config/arc/arc.opt:265
+ #, fuzzy
+-#| msgid "Enable cbranchdi4 pattern"
+ msgid "Enable compact casesi pattern"
+ msgstr "启用 cbranchdi4 样式"
+
+ #: config/arc/arc.opt:269
+ #, fuzzy
+-#| msgid "Enable clip instructions"
+ msgid "Enable 'q' instruction alternatives."
+ msgstr "启用 clip 指令"
+
+@@ -12478,25 +12100,21 @@
+
+ #: config/arc/arc.opt:280
+ #, fuzzy
+-#| msgid "Enable Plan 9 language extensions"
+ msgid "Enable variable polynomial CRC extension"
+ msgstr "启用九号计划语言扩展"
+
+ #: config/arc/arc.opt:284
+ #, fuzzy
+-#| msgid "Enable Plan 9 language extensions"
+ msgid "Enable DSP 3.1 Pack A extensions"
+ msgstr "启用九号计划语言扩展"
+
+ #: config/arc/arc.opt:288
+ #, fuzzy
+-#| msgid "Enable Plan 9 language extensions"
+ msgid "Enable dual viterbi butterfly extension"
+ msgstr "启用九号计划语言扩展"
+
+ #: config/arc/arc.opt:298
+ #, fuzzy
+-#| msgid "Enable leading zero instructions"
+ msgid "Enable Dual and Single Operand Instructions for Telephony"
+ msgstr "启用前导零指令"
+
+@@ -12506,19 +12124,16 @@
+
+ #: config/arc/arc.opt:307
+ #, fuzzy
+-#| msgid "Enable dead store elimination"
+ msgid "Enable Locked Load/Store Conditional extension"
+ msgstr "删除死存储"
+
+ #: config/arc/arc.opt:311
+ #, fuzzy
+-#| msgid "Enable sign extend instructions"
+ msgid "Enable swap byte ordering extension instruction"
+ msgstr "启用符号扩展指令"
+
+ #: config/arc/arc.opt:315
+ #, fuzzy
+-#| msgid "Enable bit manipulation instructions"
+ msgid "Enable 64-bit Time-Stamp Counter extension instruction"
+ msgstr "启用位操作指令"
+
+@@ -12532,19 +12147,16 @@
+
+ #: config/arc/arc.opt:327
+ #, fuzzy
+-#| msgid "Pass -z text to linker"
+ msgid "Pass -EB option through to linker."
+ msgstr "将 -z text 传递给链接器"
+
+ #: config/arc/arc.opt:331
+ #, fuzzy
+-#| msgid "Pass -z text to linker"
+ msgid "Pass -EL option through to linker."
+ msgstr "将 -z text 传递给链接器"
+
+ #: config/arc/arc.opt:335
+ #, fuzzy
+-#| msgid "Pass -z text to linker"
+ msgid "Pass -marclinux option through to linker."
+ msgstr "将 -z text 传递给链接器"
+
+@@ -12722,7 +12334,6 @@
+
+ #: common.opt:457
+ #, fuzzy
+-#| msgid "Optimize for space rather than speed"
+ msgid "Optimize for debugging experience rather than speed or size"
+ msgstr "为最小空间而不是最大速度优化"
+
+@@ -12781,7 +12392,6 @@
+
+ #: common.opt:562
+ #, fuzzy
+-#| msgid "%Kattempt to free a non-heap object"
+ msgid "Warn when attempting to free a non-heap object"
+ msgstr "%K试图 free 一个不在堆上的对象"
+
+@@ -12870,7 +12480,6 @@
+
+ #: common.opt:660
+ #, fuzzy
+-#| msgid "Warn about uninitialized automatic variables"
+ msgid "Warn about maybe uninitialized automatic variables"
+ msgstr "自动变量未初始化时警告"
+
+@@ -13007,7 +12616,6 @@
+
+ #: common.opt:918
+ #, fuzzy
+-#| msgid "Check the return value of new"
+ msgid "Check the return value of new in C++"
+ msgstr "检查 new 的返回值"
+
+@@ -13094,7 +12702,6 @@
+
+ #: common.opt:1012
+ #, fuzzy
+-#| msgid "Perform superblock formation via tail duplication"
+ msgid "Perform speculative devirtualization"
+ msgstr "通过尾复制进行超块合成"
+
+@@ -13145,7 +12752,6 @@
+
+ #: common.opt:1096
+ #, fuzzy
+-#| msgid "Do the full register move optimization pass"
+ msgid "Dump optimization passes"
+ msgstr "进行全寄存器传送优化"
+
+@@ -13265,7 +12871,6 @@
+
+ #: common.opt:1243
+ #, fuzzy
+-#| msgid "Enable hoisting loads from conditional pointers."
+ msgid "Enable hoisting adjacent loads to encourage generating conditional move"
+ msgstr "为条件指针外提内存读取操作。"
+
+@@ -13319,7 +12924,6 @@
+
+ #: common.opt:1303
+ #, fuzzy, c-format
+-#| msgid "unknown TLS model %qs"
+ msgid "unknown Stack Reuse Level %qs"
+ msgstr "未知的 TLS 模型%qs"
+
+@@ -13346,19 +12950,16 @@
+
+ #: common.opt:1342
+ #, fuzzy
+-#| msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgid "Integrate functions into their callers when code size is known not to grow"
+ msgstr "在不导致代码膨胀的情况下将简单函数集成到它们的调用者中"
+
+ #: common.opt:1346
+ #, fuzzy
+-#| msgid "Integrate functions called once into their callers"
+ msgid "Integrate functions not declared \"inline\" into their callers when profitable"
+ msgstr "将只被调用一次的函数集成到它们的调用者中"
+
+ #: common.opt:1350
+ #, fuzzy
+-#| msgid "Integrate functions called once into their callers"
+ msgid "Integrate functions only required by their single caller"
+ msgstr "将只被调用一次的函数集成到它们的调用者中"
+
+@@ -13384,7 +12985,6 @@
+
+ #: common.opt:1377
+ #, fuzzy
+-#| msgid "Perform Interprocedural constant propagation"
+ msgid "Perform interprocedural constant propagation"
+ msgstr "进行进程间的复写传递"
+
+@@ -13407,7 +13007,6 @@
+
+ #: common.opt:1397
+ #, fuzzy
+-#| msgid "unimplemented functionality"
+ msgid "Perform Semantic function equality"
+ msgstr "未实现的功能"
+
+@@ -13504,7 +13103,6 @@
+
+ #: common.opt:1521
+ #, fuzzy
+-#| msgid "Report various link-time optimization statistics"
+ msgid "Report various link-time optimization statistics for WPA only"
+ msgstr "报告各种链接时优化统计"
+
+@@ -13522,7 +13120,6 @@
+
+ #: common.opt:1537
+ #, fuzzy
+-#| msgid "Report on permanent memory allocation"
+ msgid "Report on permanent memory allocation in WPA only"
+ msgstr "报告永久性内存分配"
+
+@@ -13576,7 +13173,6 @@
+
+ #: common.opt:1592
+ #, fuzzy
+-#| msgid "Enable loop optimizations on tree level"
+ msgid "Enable all optimization info dumps on stderr"
+ msgstr "在树级别进行循环优化"
+
+@@ -13690,13 +13286,11 @@
+
+ #: common.opt:1713
+ #, fuzzy
+-#| msgid "internal consistency failure"
+ msgid "Report on consistency of profile"
+ msgstr "内部一致性错误"
+
+ #: common.opt:1717
+ #, fuzzy
+-#| msgid "Reorder functions to improve code placement"
+ msgid "Enable function reordering that improves code placement"
+ msgstr "函数重新排序以改善代码布局"
+
+@@ -13714,7 +13308,6 @@
+
+ #: common.opt:1746
+ #, fuzzy
+-#| msgid "Enable register pressure sensitive insn scheduling"
+ msgid "Relief of register pressure through live range shrinkage"
+ msgstr "启用对寄存器压力敏感的指令调度"
+
+@@ -13909,7 +13502,6 @@
+
+ #: common.opt:1967
+ #, fuzzy
+-#| msgid "Use a stack protection method for every function"
+ msgid "Use a smart stack protection method for certain functions"
+ msgstr "为每个函数使用堆栈保护机制"
+
+@@ -13986,7 +13578,6 @@
+
+ #: common.opt:2065
+ #, fuzzy
+-#| msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgid "Enable coalescing of copy-related user variables that are inlined"
+ msgstr "进行变量追踪并且标记未被初始化的变量"
+
+@@ -14020,7 +13611,6 @@
+
+ #: common.opt:2101
+ #, fuzzy
+-#| msgid "Enable loop header copying on trees"
+ msgid "Enable tail merging on trees"
+ msgstr "启用树上的循环不变量转移"
+
+@@ -14038,13 +13628,11 @@
+
+ #: common.opt:2117
+ #, fuzzy
+-#| msgid "Enable SSA-CCP optimization on trees"
+ msgid "Enable string length optimizations on trees"
+ msgstr "启用树上的 SSA-CCP 优化"
+
+ #: common.opt:2121
+ #, fuzzy
+-#| msgid "comparison with string literal results in unspecified behaviour"
+ msgid "Detect paths which trigger erroneous or undefined behaviour due to"
+ msgstr "与字面字符串比较的结构是不可预测的"
+
+@@ -14164,13 +13752,11 @@
+
+ #: common.opt:2254
+ #, fuzzy
+-#| msgid "Use the hardware barrel shifter instead of emulation"
+ msgid "Use the bfd linker instead of the default linker"
+ msgstr "使用硬件桶型移位器代替仿真"
+
+ #: common.opt:2258
+ #, fuzzy
+-#| msgid "Use the hardware barrel shifter instead of emulation"
+ msgid "Use the gold linker instead of the default linker"
+ msgstr "使用硬件桶型移位器代替仿真"
+
+@@ -14192,7 +13778,6 @@
+
+ #: common.opt:2296
+ #, fuzzy
+-#| msgid "Enable loop vectorization on trees"
+ msgid "Enable vectorization on trees"
+ msgstr "在树上进行循环向量化"
+
+@@ -14206,7 +13791,6 @@
+
+ #: common.opt:2312
+ #, fuzzy
+-#| msgid "Enable use of cost model in vectorization"
+ msgid "Specifies the cost model for vectorization"
+ msgstr "启用向量化开销模型"
+
+@@ -14216,19 +13800,16 @@
+
+ #: common.opt:2319
+ #, fuzzy, c-format
+-#| msgid "unknown TLS model %qs"
+ msgid "unknown vectorizer cost model %qs"
+ msgstr "未知的 TLS 模型%qs"
+
+ #: common.opt:2332
+ #, fuzzy
+-#| msgid "Does nothing. Preserved for backward compatibility."
+ msgid "Enables the dynamic vectorizer cost model. Preserved for backward compatibility."
+ msgstr "不起作用。为向前兼容保留的选项。"
+
+ #: common.opt:2336
+ #, fuzzy
+-#| msgid "Does nothing. Preserved for backward compatibility."
+ msgid "Enables the unlimited vectorizer cost model. Preserved for backward compatibility."
+ msgstr "不起作用。为向前兼容保留的选项。"
+
+@@ -14255,7 +13836,6 @@
+
+ #: common.opt:2380
+ #, fuzzy, c-format
+-#| msgid "(near initialization for %qs)"
+ msgid "unknown vtable verify initialization priority %qs"
+ msgstr "(在%qs的初始化附近)"
+
+@@ -14301,7 +13881,6 @@
+
+ #: common.opt:2433
+ #, fuzzy
+-#| msgid "Generate debug information in default format"
+ msgid "Generate debug information in default version of DWARF format"
+ msgstr "生成默认格式的调试信息"
+
+@@ -14327,25 +13906,21 @@
+
+ #: common.opt:2457
+ #, fuzzy
+-#| msgid "Record gcc command line switches in the object file."
+ msgid "Don't record gcc command line switches in DWARF DW_AT_producer."
+ msgstr "在目标文件中记录 gcc 命令行开关。"
+
+ #: common.opt:2461
+ #, fuzzy
+-#| msgid "Record gcc command line switches in the object file."
+ msgid "Record gcc command line switches in DWARF DW_AT_producer."
+ msgstr "在目标文件中记录 gcc 命令行开关。"
+
+ #: common.opt:2465
+ #, fuzzy
+-#| msgid "Generate debug information in default format"
+ msgid "Don't generate debug information in separate .dwo files"
+ msgstr "生成默认格式的调试信息"
+
+ #: common.opt:2469
+ #, fuzzy
+-#| msgid "Generate debug information in default format"
+ msgid "Generate debug information in separate .dwo files"
+ msgstr "生成默认格式的调试信息"
+
+@@ -14387,7 +13962,6 @@
+
+ #: common.opt:2512
+ #, fuzzy
+-#| msgid "-imultilib <dir>\tSet <dir> to be the multilib include subdirectory"
+ msgid "-imultiarch <dir>\tSet <dir> to be the multiarch include subdirectory"
+ msgstr "-imultilib <目录>\t将目录设定为 multilib 的包含子目录"
+
+@@ -14450,7 +14024,6 @@
+
+ #: go/gofrontend/expressions.cc:4157
+ #, fuzzy
+-#| msgid "expected integer or boolean type"
+ msgid "expected boolean type"
+ msgstr "需要整数或布尔类型"
+
+@@ -14469,7 +14042,6 @@
+
+ #: go/gofrontend/expressions.cc:5925
+ #, fuzzy
+-#| msgid "invalid comparison code in gimple cond"
+ msgid "invalid comparison of nil with nil"
+ msgstr "gimple 条件中比较代码无效"
+
+@@ -14480,7 +14052,6 @@
+
+ #: go/gofrontend/expressions.cc:5969
+ #, fuzzy
+-#| msgid "division by zero"
+ msgid "integer division by zero"
+ msgstr "被零除"
+
+@@ -14508,13 +14079,11 @@
+
+ #: go/gofrontend/expressions.cc:7156
+ #, fuzzy
+-#| msgid "invalid argument to built-in function"
+ msgid "invalid use of %<...%> with builtin function"
+ msgstr "内建函数实参无效"
+
+ #: go/gofrontend/expressions.cc:7167
+ #, fuzzy
+-#| msgid "invalid use of template-name %qE without an argument list"
+ msgid "invalid use of method value as argument of Offsetof"
+ msgstr "使用模板名%qE时不带实参表无效"
+
+@@ -14540,7 +14109,6 @@
+
+ #: go/gofrontend/expressions.cc:7271
+ #, fuzzy
+-#| msgid "argument must be a constant"
+ msgid "argument 1 must be a map"
+ msgstr "实参必须是常数"
+
+@@ -14551,7 +14119,6 @@
+
+ #: go/gofrontend/expressions.cc:7384
+ #, fuzzy
+-#| msgid "bad length when making slice"
+ msgid "length required when allocating a slice"
+ msgstr "生成切片时长度错误"
+
+@@ -14561,7 +14128,6 @@
+
+ #: go/gofrontend/expressions.cc:7435
+ #, fuzzy
+-#| msgid "too many arguments to %qE"
+ msgid "too many arguments to make"
+ msgstr "%qE实参太多"
+
+@@ -14603,19 +14169,16 @@
+
+ #: go/gofrontend/expressions.cc:8317
+ #, fuzzy
+-#| msgid "left argument must be a slice"
+ msgid "first argument must be []byte"
+ msgstr "左实参必须是一个切片"
+
+ #: go/gofrontend/expressions.cc:8320
+ #, fuzzy
+-#| msgid "right argument must be a slice or a string"
+ msgid "second argument must be slice or string"
+ msgstr "右实参必须是一个切片或字符串"
+
+ #: go/gofrontend/expressions.cc:8361
+ #, fuzzy
+-#| msgid "parameter %u has void type"
+ msgid "argument 2 has invalid type"
+ msgstr "第 %u 个参数类型为 void"
+
+@@ -14638,7 +14201,6 @@
+
+ #: go/gofrontend/expressions.cc:9332
+ #, fuzzy
+-#| msgid "invalid use of %<this%> at top level"
+ msgid "invalid use of %<...%> with non-slice"
+ msgstr "在文件作用域使用%<this%>无效"
+
+@@ -14648,7 +14210,6 @@
+
+ #: go/gofrontend/expressions.cc:9623
+ #, fuzzy
+-#| msgid "invalid use of %<this%> in non-member function"
+ msgid "invalid use of %<...%> calling non-variadic function"
+ msgstr "在非成员函数中使用%<this%>无效"
+
+@@ -14666,7 +14227,6 @@
+
+ #: go/gofrontend/expressions.cc:10474
+ #, fuzzy
+-#| msgid "slice end must be integer"
+ msgid "slice capacity must be integer"
+ msgstr "切片结尾必须是整数"
+
+@@ -14741,7 +14301,6 @@
+
+ #: go/gofrontend/statements.cc:2654 go/gofrontend/statements.cc:2683
+ #, fuzzy
+-#| msgid "not enough arguments"
+ msgid "not enough arguments to return"
+ msgstr "实参太少"
+
+@@ -14783,49 +14342,41 @@
+
+ #: go/gofrontend/types.cc:514
+ #, fuzzy
+-#| msgid "invalid comparison code in gimple cond"
+ msgid "invalid comparison of non-ordered type"
+ msgstr "gimple 条件中比较代码无效"
+
+ #: go/gofrontend/types.cc:530
+ #, fuzzy
+-#| msgid "duplicate class will only be compiled once"
+ msgid "slice can only be compared to nil"
+ msgstr "重复的类只会被编译一次"
+
+ #: go/gofrontend/types.cc:532
+ #, fuzzy
+-#| msgid "duplicate class will only be compiled once"
+ msgid "map can only be compared to nil"
+ msgstr "重复的类只会被编译一次"
+
+ #: go/gofrontend/types.cc:534
+ #, fuzzy
+-#| msgid "duplicate class will only be compiled once"
+ msgid "func can only be compared to nil"
+ msgstr "重复的类只会被编译一次"
+
+ #: go/gofrontend/types.cc:540
+ #, fuzzy, c-format
+-#| msgid "invalid operand to %%R"
+ msgid "invalid operation (%s)"
+ msgstr "%%R 的操作数无效"
+
+ #: go/gofrontend/types.cc:563
+ #, fuzzy
+-#| msgid "invalid comparison code in gimple cond"
+ msgid "invalid comparison of non-comparable type"
+ msgstr "gimple 条件中比较代码无效"
+
+ #: go/gofrontend/types.cc:581
+ #, fuzzy
+-#| msgid "invalid comparison code in gimple cond"
+ msgid "invalid comparison of non-comparable struct"
+ msgstr "gimple 条件中比较代码无效"
+
+ #: go/gofrontend/types.cc:592
+ #, fuzzy
+-#| msgid "invalid use of non-lvalue array"
+ msgid "invalid comparison of non-comparable array"
+ msgstr "对非左值数组的使用无效"
+
+@@ -14911,13 +14462,11 @@
+
+ #: go/gofrontend/types.cc:7240
+ #, fuzzy, c-format
+-#| msgid "method %s%s%s requires a pointer"
+ msgid "method %s%s%s requires a pointer receiver"
+ msgstr "方法%s%s%s需要一个指针"
+
+ #: go/gofrontend/types.cc:7258
+ #, fuzzy, c-format
+-#| msgid "method %s%s%s requires a pointer"
+ msgid "method %s%s%s is marked go:nointerface"
+ msgstr "方法%s%s%s需要一个指针"
+
+@@ -14930,7 +14479,6 @@
+
+ #: attribs.c:450
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE attribute directive ignored"
+ msgid "%<%E::%E%> scoped attribute directive ignored"
+ msgstr "%qE属性指定被忽略"
+
+@@ -14944,7 +14492,6 @@
+ #. type. Ignore it.
+ #: attribs.c:472
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE attribute ignored"
+ msgid "attribute ignored"
+ msgstr "%qE属性被忽略"
+
+@@ -15045,7 +14592,6 @@
+
+ #: builtins.c:5248
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid argument to built-in function"
+ msgid "invalid memory model argument to builtin"
+ msgstr "内建函数实参无效"
+
+@@ -15066,13 +14612,11 @@
+
+ #: builtins.c:5360
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid use of %<auto%>"
+ msgid "invalid memory model for %<__atomic_load%>"
+ msgstr "错误地使用了%<auto%>"
+
+ #: builtins.c:5390 builtins.c:5497
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid use of %<auto%>"
+ msgid "invalid memory model for %<__atomic_store%>"
+ msgstr "错误地使用了%<auto%>"
+
+@@ -15088,13 +14632,11 @@
+
+ #: builtins.c:5709
+ #, fuzzy, gcc-internal-format
+-#| msgid "__builtin_eh_return not supported on this target"
+ msgid "__builtin_thread_pointer is not supported on this target"
+ msgstr "__builtin_eh_return 在此目标机上不受支持"
+
+ #: builtins.c:5729
+ #, fuzzy, gcc-internal-format
+-#| msgid "__builtin_eh_return not supported on this target"
+ msgid "__builtin_set_thread_pointer is not supported on this target"
+ msgstr "__builtin_eh_return 在此目标机上不受支持"
+
+@@ -15189,7 +14731,6 @@
+
+ #: calls.c:3055
+ #, fuzzy, gcc-internal-format
+-#| msgid "missing argument to %qs"
+ msgid "passing too large argument on stack"
+ msgstr "%qs缺少参数"
+
+@@ -15335,7 +14876,6 @@
+
+ #: cfghooks.c:310
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%s does not support duplicate_block"
+ msgid "%s does not support dump_bb_for_graph"
+ msgstr "%s 不支持 duplicate_block"
+
+@@ -15406,7 +14946,6 @@
+
+ #: cfghooks.c:984
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%s does not support move_block_after"
+ msgid "%s does not support force_nonfallthru"
+ msgstr "%s 不支持t move_block_after"
+
+@@ -15447,7 +14986,6 @@
+
+ #: cfgloop.c:1356
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Enable loop header copying on trees"
+ msgid "loop with header %d not in loop tree"
+ msgstr "启用树上的循环不变量转移"
+
+@@ -15468,13 +15006,11 @@
+
+ #: cfgloop.c:1395
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "bb %d do not belong to loop %d"
+ msgid "bb %d does not belong to loop %d"
+ msgstr "基本块 %d 不属于循环 %d"
+
+ #: cfgloop.c:1407
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "size of loop %d should be %d, not %d"
+ msgid "bb %d has father loop %d, should be loop %d"
+ msgstr "循环 %d 的大小应该为 %d,而不是%d"
+
+@@ -15595,7 +15131,6 @@
+
+ #: cfgrtl.c:2428
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
+ msgstr "verify_flow_info:REG_BR_PROB 不匹配 cfg %wi %i"
+
+@@ -15606,19 +15141,16 @@
+
+ #: cfgrtl.c:2454
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "fallthru edge crosses section boundary (bb %i)"
+ msgid "fallthru edge crosses section boundary in bb %i"
+ msgstr "直通边越过了节分界(基本块 %i)"
+
+ #: cfgrtl.c:2460
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "fallthru edge crosses section boundary (bb %i)"
+ msgid "EH edge crosses section boundary in bb %i"
+ msgstr "直通边越过了节分界(基本块 %i)"
+
+ #: cfgrtl.c:2467
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "fallthru edge crosses section boundary (bb %i)"
+ msgid "No region crossing jump at section boundary in bb %i"
+ msgstr "直通边越过了节分界(基本块 %i)"
+
+@@ -15634,13 +15166,11 @@
+
+ #: cfgrtl.c:2510
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgid "missing REG_EH_REGION note at the end of bb %i"
+ msgstr "基本块 %i 结尾缺少 REG_EH_REGION 记录"
+
+ #: cfgrtl.c:2515
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "too many outgoing branch edges from bb %i"
+ msgid "too many exception handling edges in bb %i"
+ msgstr "从基本块 %i 分出太多的分支边"
+
+@@ -15651,31 +15181,26 @@
+
+ #: cfgrtl.c:2528
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "fallthru edge after unconditional jump %i"
+ msgid "fallthru edge after unconditional jump in bb %i"
+ msgstr "非条件跳转 %i 之后的直通边"
+
+ #: cfgrtl.c:2533
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "wrong number of branch edges after unconditional jump %i"
+ msgid "wrong number of branch edges after unconditional jump in bb %i"
+ msgstr "非条件跳转 %i 之后的分支边数不对"
+
+ #: cfgrtl.c:2540
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "wrong amount of branch edges after conditional jump %i"
+ msgid "wrong amount of branch edges after conditional jump in bb %i"
+ msgstr "条件跳转 %i 之后的分支边数不对"
+
+ #: cfgrtl.c:2546
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "call edges for non-call insn in bb %i"
+ msgid "abnormal call edges for non-call insn in bb %i"
+ msgstr "在基本块 %i 中非调用指令的调用边"
+
+ #: cfgrtl.c:2551
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "call edges for non-call insn in bb %i"
+ msgid "sibcall edges for non-call insn in bb %i"
+ msgstr "在基本块 %i 中非调用指令的调用边"
+
+@@ -15801,7 +15326,6 @@
+
+ #: cgraph.c:2651
+ #, fuzzy, gcc-internal-format
+-#| msgid "Assume symbols might be invalid"
+ msgid "local symbols must be defined"
+ msgstr "假定符号可能无效"
+
+@@ -15817,7 +15341,6 @@
+
+ #: cgraph.c:2666
+ #, fuzzy, gcc-internal-format
+-#| msgid "inline clone is needed"
+ msgid "inline clone is forced to output"
+ msgstr "需要内联克隆"
+
+@@ -15943,7 +15466,6 @@
+
+ #: cgraph.c:2895
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected statement"
+ msgid "reference to dead statement"
+ msgstr "需要语句"
+
+@@ -15984,7 +15506,6 @@
+
+ #: cgraphunit.c:774
+ #, fuzzy, gcc-internal-format
+-#| msgid "Warn when an inlined function cannot be inlined"
+ msgid "always_inline function might not be inlinable"
+ msgstr "当内联函数无法被内联时给出警告"
+
+@@ -16010,7 +15531,6 @@
+
+ #: cgraphunit.c:1200
+ #, fuzzy, gcc-internal-format
+-#| msgid "%q+D used prior to declaration"
+ msgid "%q+D aliased declaration"
+ msgstr "%q+D在声明前使用"
+
+@@ -16021,7 +15541,6 @@
+
+ #: cgraphunit.c:1303
+ #, fuzzy, gcc-internal-format
+-#| msgid "failed to reclaim unneeded function"
+ msgid "failed to reclaim unneeded function in same comdat group"
+ msgstr "无法收回不需要的函数"
+
+@@ -16072,19 +15591,16 @@
+
+ #: collect2.c:1567 collect2.c:1750 collect2.c:1790
+ #, fuzzy, gcc-internal-format
+-#| msgid "fopen %s"
+ msgid "fopen %s: %m"
+ msgstr "fopen %s"
+
+ #: collect2.c:1570 collect2.c:1755 collect2.c:1793
+ #, fuzzy, gcc-internal-format
+-#| msgid "fclose %s"
+ msgid "fclose %s: %m"
+ msgstr "fclose %s"
+
+ #: collect2.c:1857
+ #, fuzzy, gcc-internal-format
+-#| msgid "can't get program status: %s"
+ msgid "can't get program status: %m"
+ msgstr "无法获取程序状态:%s"
+
+@@ -16130,7 +15646,6 @@
+
+ #: collect2.c:2546
+ #, fuzzy, gcc-internal-format
+-#| msgid "can't open nm output"
+ msgid "can't open nm output: %m"
+ msgstr "无法打开 nm 的输出"
+
+@@ -16151,7 +15666,6 @@
+
+ #: collect2.c:2742
+ #, fuzzy, gcc-internal-format
+-#| msgid "can't open ldd output"
+ msgid "can't open ldd output: %m"
+ msgstr "无法打开 ldd 输出"
+
+@@ -16247,7 +15761,6 @@
+
+ #: coverage.c:291
+ #, fuzzy, gcc-internal-format
+-#| msgid "checksum is %x instead of %x"
+ msgid "checksum is (%x,%x) instead of (%x,%x)"
+ msgstr "检验和是 %x 而不是 %x"
+
+@@ -16273,7 +15786,6 @@
+
+ #: coverage.c:393
+ #, fuzzy, gcc-internal-format
+-#| msgid "execution counts estimated"
+ msgid "execution counts estimated\n"
+ msgstr "预计执行次数"
+
+@@ -16374,7 +15886,6 @@
+
+ #: dumpfile.c:862
+ #, fuzzy, gcc-internal-format
+-#| msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgid "unknown option %q.*s in %<-fopt-info-%s%>"
+ msgstr "忽略未知的选项%q.*s,在%<-fdump-%s%>中"
+
+@@ -16390,7 +15901,6 @@
+
+ #: dwarf2out.c:11303
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "non-delegitimized UNSPEC %d found in variable location"
+ msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
+ msgstr "变量位置处发现未被非法化的 UNSPEC %d"
+
+@@ -16481,7 +15991,6 @@
+
+ #: expr.c:7657
+ #, fuzzy, gcc-internal-format
+-#| msgid "global register variable %qD used in nested function"
+ msgid "local frame unavailable (naked function?)"
+ msgstr "嵌套函数中使用了全局寄存器变量%qD"
+
+@@ -16853,7 +16362,6 @@
+
+ #: gcc.c:7131
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "-fuse-linker-plugin, but "
+ msgid "-fuse-linker-plugin, but %s not found"
+ msgstr "使用了 -fuse-linker-plugin,但"
+
+@@ -16944,7 +16452,6 @@
+
+ #: gcc.c:8636
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "too few arguments to function"
+ msgid "too few arguments to %%:replace-extension"
+ msgstr "给予函数的实参太少"
+
+@@ -17042,13 +16549,11 @@
+
+ #: gimplify.c:5647
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE not specified in enclosing parallel"
+ msgid "%qE not specified in enclosing task"
+ msgstr "%qE未为在括入的并行中指定"
+
+ #: gimplify.c:5653
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE not specified in enclosing parallel"
+ msgid "%qE not specified in enclosing teams construct"
+ msgstr "%qE未为在括入的并行中指定"
+
+@@ -17069,7 +16574,6 @@
+
+ #: gimplify.c:5770 gimplify.c:5799
+ #, fuzzy, gcc-internal-format
+-#| msgid "iteration variable %qE should not be reduction"
+ msgid "iteration variable %qE is predetermined linear"
+ msgstr "迭代变量%qE不应当是 reduction"
+
+@@ -17090,19 +16594,16 @@
+
+ #: gimplify.c:5793
+ #, fuzzy, gcc-internal-format
+-#| msgid "iteration variable %qE should not be firstprivate"
+ msgid "iteration variable %qE should not be lastprivate"
+ msgstr "迭代变量%qE不应当是 firstprivate"
+
+ #: gimplify.c:5796
+ #, fuzzy, gcc-internal-format
+-#| msgid "iteration variable %qE should be private"
+ msgid "iteration variable %qE should not be private"
+ msgstr "迭代变量%qE应当是私有的"
+
+ #: gimplify.c:6064
+ #, fuzzy, gcc-internal-format
+-#| msgid "%s variable %qE is private in outer context"
+ msgid "copyprivate variable %qE is not threadprivate or private in outer context"
+ msgstr "%s 变量%qE在外层上下文中是私有的"
+
+@@ -17113,7 +16614,6 @@
+
+ #: gimplify.c:8063
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<}%> before %<else%>"
+ msgid "expected %<_Cilk_spawn%> before %<_Cilk_sync%>"
+ msgstr "%<else%>前需要%<}%>"
+
+@@ -17170,7 +16670,6 @@
+
+ #: ipa-devirt.c:302 ipa-devirt.c:337
+ #, fuzzy, gcc-internal-format
+-#| msgid "previous definition here"
+ msgid "type %qD violates one definition rule "
+ msgstr "先前的定义在这里"
+
+@@ -17212,7 +16711,6 @@
+
+ #: ira.c:5544
+ #, fuzzy, gcc-internal-format
+-#| msgid "as %qD"
+ msgid "for %qD"
+ msgstr "作为%qD"
+
+@@ -17238,7 +16736,6 @@
+
+ #: lto-cgraph.c:1083
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "bytecode stream: found multiple instances of cgraph node %d"
+ msgid "bytecode stream: found multiple instances of cgraph node with uid %d"
+ msgstr "字节码流:找到 cgraph 节点 %d 的多个实例"
+
+@@ -17312,19 +16809,16 @@
+
+ #: lto-streamer-in.c:824
+ #, fuzzy, gcc-internal-format
+-#| msgid "operand number out of range"
+ msgid "Reference statement index out of range"
+ msgstr "操作数号超出范围"
+
+ #: lto-streamer-in.c:827
+ #, fuzzy, gcc-internal-format
+-#| msgid "Warn if deprecated empty statements are found"
+ msgid "Reference statement index not found"
+ msgstr "发现不建议使用的空语句时给出警告"
+
+ #: lto-streamer-out.c:393 lto-streamer-out.c:1307
+ #, fuzzy, gcc-internal-format
+-#| msgid "tree code %qs is not supported in gimple streams"
+ msgid "tree code %qs is not supported in LTO streams"
+ msgstr "树代码%qs在 gimple 流中不被支持"
+
+@@ -17370,13 +16864,11 @@
+
+ #: omp-low.c:2351 omp-low.c:2364
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgid "%<#pragma omp cancel sections%> inside %<nowait%> sections construct"
+ msgstr "%<#pragma omp section%>只能用在%<#pragma omp sections%>结构中"
+
+ #: omp-low.c:2378
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid PHI argument"
+ msgid "invalid arguments"
+ msgstr "无效的 PHI 实参"
+
+@@ -17417,7 +16909,6 @@
+
+ #: omp-low.c:2492
+ #, fuzzy, gcc-internal-format
+-#| msgid "master region may not be closely nested inside of work-sharing or explicit task region"
+ msgid "teams construct not closely nested inside of target region"
+ msgstr "主要区域不可以紧密嵌套在工作共享或显式的任务区域内"
+
+@@ -17438,13 +16929,11 @@
+
+ #: omp-low.c:10275
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid entry to OpenMP structured block"
+ msgid "invalid entry to Cilk Plus structured block"
+ msgstr "OpenMP 结构块入口无效"
+
+ #: omp-low.c:10283
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid branch to/from an OpenMP structured block"
+ msgid "invalid branch to/from a Cilk Plus structured block"
+ msgstr "进出 OpenMP 结构块的分支无效"
+
+@@ -17455,7 +16944,6 @@
+
+ #: omp-low.c:10761
+ #, fuzzy, gcc-internal-format
+-#| msgid "ignoring duplicate directory \"%s\"\n"
+ msgid "ignoring large linear step"
+ msgstr "忽略重复的目录“%s”\n"
+
+@@ -17558,7 +17046,6 @@
+
+ #: opts.c:695
+ #, fuzzy, gcc-internal-format
+-#| msgid "-static-libgfortran is not supported in this configuration"
+ msgid "transactional memory is not supported with non-call exceptions"
+ msgstr "-static-libgfortran 在此配置下不受支持"
+
+@@ -17705,7 +17192,6 @@
+
+ #: passes.c:107
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%s does not support split_edge"
+ msgid "pass %s does not support cloning"
+ msgstr "%s 不支持 split_edge"
+
+@@ -17721,13 +17207,11 @@
+
+ #: passes.c:999
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "unknown field %qE specified in initializer"
+ msgid "unknown pass %s specified in -fenable"
+ msgstr "初始值设定项里有未知的字段%qE"
+
+ #: passes.c:1001
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "unknown field %qE specified in initializer"
+ msgid "unknown pass %s specified in -fdisable"
+ msgstr "初始值设定项里有未知的字段%qE"
+
+@@ -17743,19 +17227,16 @@
+
+ #: passes.c:1065 passes.c:1093
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "invalid floating point option: -mfpu=%s"
+ msgid "Invalid range %s in option %s"
+ msgstr "无效的浮点选项:-mfpu=%s"
+
+ #: passes.c:1111
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "invalid storage class for function %qE"
+ msgid "enable pass %s for function %s"
+ msgstr "函数%qE存储类无效"
+
+ #: passes.c:1122
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "invalid storage class for function %qE"
+ msgid "disable pass %s for function %s"
+ msgstr "函数%qE存储类无效"
+
+@@ -17859,7 +17340,6 @@
+
+ #: predict.c:2805
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Missing argument list in function '%s' at %C"
+ msgid "Missing counts for called function %s/%i"
+ msgstr "函数‘%s’在%C处缺少参数列表"
+
+@@ -17967,13 +17447,11 @@
+
+ #: reginfo.c:770
+ #, fuzzy, gcc-internal-format
+-#| msgid "register used for two global register variables"
+ msgid "register of %qD used for multiple global register variables"
+ msgstr "寄存器用作两个全局寄存器变量"
+
+ #: reginfo.c:773
+ #, fuzzy, gcc-internal-format
+-#| msgid " conflict with %q+D"
+ msgid "conflicts with %qD"
+ msgstr " 与%q+D冲突"
+
+@@ -18199,25 +17677,21 @@
+
+ #: symtab.c:736
+ #, fuzzy, gcc-internal-format
+-#| msgid "function returning a function"
+ msgid "function symbol is not function"
+ msgstr "函数返回了一个函数"
+
+ #: symtab.c:744
+ #, fuzzy, gcc-internal-format
+-#| msgid "array is not addressable"
+ msgid "variable symbol is not variable"
+ msgstr "数组不能被取指"
+
+ #: symtab.c:750
+ #, fuzzy, gcc-internal-format
+-#| msgid "node has wrong clone list"
+ msgid "node has unknown type"
+ msgstr "节点的克隆列表不正确"
+
+ #: symtab.c:759
+ #, fuzzy, gcc-internal-format
+-#| msgid "node not found in cgraph_hash"
+ msgid "node not found in symtab decl hashtable"
+ msgstr "cgraph_hash 中找不到节点"
+
+@@ -18233,19 +17707,16 @@
+
+ #: symtab.c:790
+ #, fuzzy, gcc-internal-format
+-#| msgid "node not found in cgraph_hash"
+ msgid "node not found in symtab assembler name hash"
+ msgstr "cgraph_hash 中找不到节点"
+
+ #: symtab.c:797
+ #, fuzzy, gcc-internal-format
+-#| msgid "double linked list of clones corrupted"
+ msgid "double linked list of assembler names corrupted"
+ msgstr "双向克隆链接列表已损坏"
+
+ #: symtab.c:802
+ #, fuzzy, gcc-internal-format
+-#| msgid "node is in clone list but it is not clone"
+ msgid "node is analyzed byt it is not a definition"
+ msgstr "节点在克隆列表中,但并不是克隆"
+
+@@ -18256,7 +17727,6 @@
+
+ #: symtab.c:813
+ #, fuzzy, gcc-internal-format
+-#| msgid "node is in clone list but it is not clone"
+ msgid "node is alias but not definition"
+ msgstr "节点在克隆列表中,但并不是克隆"
+
+@@ -18272,7 +17742,6 @@
+
+ #: symtab.c:832
+ #, fuzzy, gcc-internal-format
+-#| msgid "Combining units with different profiles is not supported."
+ msgid "mixing different types of symbol in same comdat groups is not supported"
+ msgstr "不支持组合有不同取样信息的单元。"
+
+@@ -18293,13 +17762,11 @@
+
+ #: symtab.c:885
+ #, fuzzy, gcc-internal-format
+-#| msgid "verify_cgraph_node failed"
+ msgid "verify_symtab_node failed"
+ msgstr "verify_cgraph_node 失败"
+
+ #: symtab.c:1110
+ #, fuzzy, gcc-internal-format
+-#| msgid "function %q+D redeclared as inline"
+ msgid "function %q+D part of alias cycle"
+ msgstr "函数%q+D重声明为内联的"
+
+@@ -18335,13 +17802,11 @@
+
+ #: tlink.c:489
+ #, fuzzy, gcc-internal-format
+-#| msgid "removing .rpo file"
+ msgid "removing .rpo file: %m"
+ msgstr "删除 .rpo 文件"
+
+ #: tlink.c:491
+ #, fuzzy, gcc-internal-format
+-#| msgid "renaming .rpo file"
+ msgid "renaming .rpo file: %m"
+ msgstr "重命名 .rpo 文件"
+
+@@ -18382,7 +17847,6 @@
+
+ #: toplev.c:989
+ #, fuzzy, gcc-internal-format
+-#| msgid "-fstack-usage not supported for this target"
+ msgid "stack usage computation not supported for this target"
+ msgstr "-fstack-usage 在此目标机上不受支持"
+
+@@ -18393,13 +17857,11 @@
+
+ #: toplev.c:1060
+ #, fuzzy, gcc-internal-format
+-#| msgid "stackframe too big: %d bytes"
+ msgid "stack usage might be %wd bytes"
+ msgstr "栈帧太大:%d 字节"
+
+ #: toplev.c:1063
+ #, fuzzy, gcc-internal-format
+-#| msgid "stackframe too big: %d bytes"
+ msgid "stack usage is %wd bytes"
+ msgstr "栈帧太大:%d 字节"
+
+@@ -18495,7 +17957,6 @@
+
+ #: toplev.c:1559
+ #, fuzzy, gcc-internal-format
+-#| msgid "-fdata-sections not supported for this target"
+ msgid "-fsanitize=address not supported for this target"
+ msgstr "-fdata-sections 在此目标机上不受支持"
+
+@@ -18511,7 +17972,6 @@
+
+ #: trans-mem.c:614
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid use of %qD in linkage specification"
+ msgid "invalid volatile use of %qD inside transaction"
+ msgstr "指定链接时使用%qD无效"
+
+@@ -18532,7 +17992,6 @@
+
+ #: trans-mem.c:725
+ #, fuzzy, gcc-internal-format
+-#| msgid "indirect function call with a yet undetermined callee"
+ msgid "unsafe indirect function call within atomic transaction"
+ msgstr "间接函数调用目标未定义"
+
+@@ -18548,25 +18007,21 @@
+
+ #: trans-mem.c:743
+ #, fuzzy, gcc-internal-format
+-#| msgid "indirect function call with a yet undetermined callee"
+ msgid "unsafe indirect function call within %<transaction_safe%> function"
+ msgstr "间接函数调用目标未定义"
+
+ #: trans-mem.c:758 trans-mem.c:4721
+ #, fuzzy, gcc-internal-format
+-#| msgid "namespace %qD not allowed in using-declaration"
+ msgid "asm not allowed in atomic transaction"
+ msgstr "不允许在 using 声明中使用命名空间%qD"
+
+ #: trans-mem.c:761
+ #, fuzzy, gcc-internal-format
+-#| msgid "attributes are not allowed on a function-definition"
+ msgid "asm not allowed in %<transaction_safe%> function"
+ msgstr "函数定义中不允许有属性"
+
+ #: trans-mem.c:772
+ #, fuzzy, gcc-internal-format
+-#| msgid "Place each function into its own section"
+ msgid "relaxed transaction in atomic transaction"
+ msgstr "将每个函数分别放在它们各自的节中"
+
+@@ -18577,7 +18032,6 @@
+
+ #: trans-mem.c:782
+ #, fuzzy, gcc-internal-format
+-#| msgid "pointer to a function used in subtraction"
+ msgid "outer transaction in transaction"
+ msgstr "函数指针不能相减"
+
+@@ -18593,7 +18047,6 @@
+
+ #: trans-mem.c:4348
+ #, fuzzy, gcc-internal-format
+-#| msgid "attributes are not allowed on a function-definition"
+ msgid "%Kasm not allowed in %<transaction_safe%> function"
+ msgstr "函数定义中不允许有属性"
+
+@@ -18684,7 +18137,6 @@
+
+ #: tree-cfg.c:2836
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid position or size operand to BIT_FIELD_REF"
+ msgid "position plus size exceeds size of referenced object in BIT_FIELD_REF"
+ msgstr "BIT_FIELD_REF 位置或大小操作数无效"
+
+@@ -18850,31 +18302,26 @@
+
+ #: tree-cfg.c:3333
+ #, fuzzy, gcc-internal-format
+-#| msgid "type mismatch in comparison expression"
+ msgid "mismatching comparison operand types"
+ msgstr "比较表达式类型不匹配"
+
+ #: tree-cfg.c:3347
+ #, fuzzy, gcc-internal-format
+-#| msgid "function returning a function"
+ msgid "vector comparison returning a boolean"
+ msgstr "函数返回了一个函数"
+
+ #: tree-cfg.c:3361
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid operands in gimple comparison"
+ msgid "non-vector operands in vector comparison"
+ msgstr "gimple 比较中操作数无效"
+
+ #: tree-cfg.c:3374
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid vector permutation constant"
+ msgid "invalid vector comparison resulting type"
+ msgstr "无效的向量置换常量"
+
+ #: tree-cfg.c:3381
+ #, fuzzy, gcc-internal-format
+-#| msgid "Warn about comparison of different enum types"
+ msgid "bogus comparison result type"
+ msgstr "对不同枚举类型之间的比较给出警告"
+
+@@ -18950,7 +18397,6 @@
+
+ #: tree-cfg.c:3660 tree-cfg.c:3681
+ #, fuzzy, gcc-internal-format
+-#| msgid "type mismatch in vector shift expression"
+ msgid "type mismatch in widening vector shift expression"
+ msgstr "向量移位表达式类型不匹配"
+
+@@ -19001,13 +18447,11 @@
+
+ #: tree-cfg.c:3900
+ #, fuzzy, gcc-internal-format
+-#| msgid "type mismatch in vector shift expression"
+ msgid "type mismatch in vector permute expression"
+ msgstr "向量移位表达式类型不匹配"
+
+ #: tree-cfg.c:3912
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected integer expression"
+ msgid "vector types expected in vector permute expression"
+ msgstr "需要整数表达式"
+
+@@ -19018,7 +18462,6 @@
+
+ #: tree-cfg.c:3939
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid increment expression"
+ msgid "invalid mask type in vector permute expression"
+ msgstr "无效的自增语句"
+
+@@ -19084,43 +18527,36 @@
+
+ #: tree-cfg.c:4268
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid operand to switch statement"
+ msgid "non-integral type switch statement"
+ msgstr "开关语句操作数无效"
+
+ #: tree-cfg.c:4276
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<default%> label not within a switch statement"
+ msgid "invalid default case label in switch statement"
+ msgstr "%<default%>标号未出现在 switch 语句内"
+
+ #: tree-cfg.c:4288
+ #, fuzzy, gcc-internal-format
+-#| msgid "case label not within a switch statement"
+ msgid "invalid case label in switch statement"
+ msgstr "case 标号出现在开关语句外"
+
+ #: tree-cfg.c:4295
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid operand to switch statement"
+ msgid "invalid case range in switch statement"
+ msgstr "开关语句操作数无效"
+
+ #: tree-cfg.c:4305
+ #, fuzzy, gcc-internal-format
+-#| msgid "case label not within a switch statement"
+ msgid "type mismatch for case label in switch statement"
+ msgstr "case 标号出现在开关语句外"
+
+ #: tree-cfg.c:4315
+ #, fuzzy, gcc-internal-format
+-#| msgid "case label not within a switch statement"
+ msgid "type precision mismatch in switch statement"
+ msgstr "case 标号出现在开关语句外"
+
+ #: tree-cfg.c:4324
+ #, fuzzy, gcc-internal-format
+-#| msgid "case label not within a switch statement"
+ msgid "case labels not sorted in switch statement"
+ msgstr "case 标号出现在开关语句外"
+
+@@ -19191,7 +18627,6 @@
+
+ #: tree-cfg.c:4816
+ #, fuzzy, gcc-internal-format
+-#| msgid "from this location"
+ msgid "PHI node with location"
+ msgstr "从这个地方"
+
+@@ -19327,13 +18762,11 @@
+
+ #: tree-diagnostic.c:203
+ #, fuzzy, gcc-internal-format
+-#| msgid "redefinition of %q+D"
+ msgid "in definition of macro %qs"
+ msgstr "%q+D重定义"
+
+ #: tree-diagnostic.c:220
+ #, fuzzy, gcc-internal-format
+-#| msgid "%s:%d: in constexpr expansion of %qs"
+ msgid "in expansion of macro %qs"
+ msgstr "%s:%d:在%qs的广义常表达式扩展中"
+
+@@ -19439,7 +18872,6 @@
+
+ #: tree-inline.c:4147
+ #, fuzzy, gcc-internal-format
+-#| msgid "inlining failed in call to %q+F: %s"
+ msgid "inlining failed in call to always_inline %q+F: %s"
+ msgstr "调用%q+F时内联失败:%s"
+
+@@ -19466,7 +18898,6 @@
+
+ #: tree-ssa-loop-niter.c:2632
+ #, fuzzy, gcc-internal-format
+-#| msgid "operation on %qE may be undefined"
+ msgid "iteration %E invokes undefined behavior"
+ msgstr "%qE上的运算结果可能是未定义的"
+
+@@ -19482,7 +18913,6 @@
+
+ #: tree-ssa-operands.c:1001
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid operand in return statement"
+ msgid "virtual def operand missing for stmt"
+ msgstr "返回语句操作数无效"
+
+@@ -19503,7 +18933,6 @@
+
+ #: tree-ssa-operands.c:1042
+ #, fuzzy, gcc-internal-format
+-#| msgid "operand number missing after %%-letter"
+ msgid "use operand missing for stmt"
+ msgstr "%% 字母后缺少操作数号"
+
+@@ -19529,13 +18958,11 @@
+
+ #: tree-ssa-uninit.c:238
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is used uninitialized in this function"
+ msgid "%qE is used uninitialized in this function"
+ msgstr "此函数中的%qD在使用前未初始化"
+
+ #: tree-ssa-uninit.c:243
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD may be used uninitialized in this function"
+ msgid "%qE may be used uninitialized in this function"
+ msgstr "此函数中的%qD在使用前可能未初始化"
+
+@@ -19676,7 +19103,6 @@
+
+ #: tree-streamer-out.c:510
+ #, fuzzy, gcc-internal-format
+-#| msgid "gimple bytecode streams do not support machine specific builtin functions on this target"
+ msgid "tree bytecode streams do not support machine specific builtin functions on this target"
+ msgstr "GIMPLE 字节码流在此目标机上不支持机器相关的内建函数"
+
+@@ -19882,37 +19308,31 @@
+
+ #: tree.c:12081
+ #, fuzzy
+-#| msgid "%qD is deprecated (declared at %s:%d): %s"
+ msgid "%qD is deprecated (declared at %r%s:%d%R): %s"
+ msgstr "不建议使用%qD(声明于 %s:%d):%s"
+
+ #: tree.c:12085
+ #, fuzzy
+-#| msgid "%qD is deprecated (declared at %s:%d)"
+ msgid "%qD is deprecated (declared at %r%s:%d%R)"
+ msgstr "不建议使用%qD(声明于 %s:%d)"
+
+ #: tree.c:12110
+ #, fuzzy
+-#| msgid "%qE is deprecated (declared at %s:%d): %s"
+ msgid "%qE is deprecated (declared at %r%s:%d%R): %s"
+ msgstr "不建议使用%qE(声明于 %s:%d):%s"
+
+ #: tree.c:12114
+ #, fuzzy
+-#| msgid "%qE is deprecated (declared at %s:%d)"
+ msgid "%qE is deprecated (declared at %r%s:%d%R)"
+ msgstr "不建议使用%qE(声明于 %s:%d)"
+
+ #: tree.c:12121
+ #, fuzzy
+-#| msgid "type is deprecated (declared at %s:%d): %s"
+ msgid "type is deprecated (declared at %r%s:%d%R): %s"
+ msgstr "不建议使用类型(声明于 %s:%d):%s"
+
+ #: tree.c:12125
+ #, fuzzy
+-#| msgid "type is deprecated (declared at %s:%d)"
+ msgid "type is deprecated (declared at %r%s:%d%R)"
+ msgstr "不建议使用类型(声明于 %s:%d)"
+
+@@ -19968,13 +19388,11 @@
+
+ #: varasm.c:319
+ #, fuzzy, gcc-internal-format
+-#| msgid "%+D causes a section type conflict"
+ msgid "%+D causes a section type conflict with %D"
+ msgstr "%+D 导致一个节类型冲突"
+
+ #: varasm.c:322
+ #, fuzzy, gcc-internal-format
+-#| msgid " conflict with %q+D"
+ msgid "section type conflict with %D"
+ msgstr " 与%q+D冲突"
+
+@@ -19985,13 +19403,11 @@
+
+ #: varasm.c:329
+ #, fuzzy, gcc-internal-format
+-#| msgid "%+D causes a section type conflict"
+ msgid "section type conflict"
+ msgstr "%+D 导致一个节类型冲突"
+
+ #: varasm.c:977
+ #, fuzzy, gcc-internal-format
+-#| msgid "alignment of %q+D is greater than maximum object file alignment. Using %d"
+ msgid "alignment of %q+D is greater than maximum object file alignment %d"
+ msgstr "%q+D的对齐要求大于目标文件的最大对齐边界。使用 %d"
+
+@@ -20012,13 +19428,11 @@
+
+ #: varasm.c:1295
+ #, fuzzy, gcc-internal-format
+-#| msgid "register specified for %q+D isn%'t suitable for data type"
+ msgid "the register specified for %q+D cannot be accessed by the current target"
+ msgstr "为%q+D指定的寄存器不适合此数据类型"
+
+ #: varasm.c:1298
+ #, fuzzy, gcc-internal-format
+-#| msgid "register used for two global register variables"
+ msgid "the register specified for %q+D is not general enough to be used as a register variable"
+ msgstr "寄存器用作两个全局寄存器变量"
+
+@@ -20094,7 +19508,6 @@
+
+ #: varasm.c:5600
+ #, fuzzy, gcc-internal-format
+-#| msgid "nested functions not supported on this target"
+ msgid "ifunc is not supported on this target"
+ msgstr "嵌套函数在此目标机上不受支持"
+
+@@ -20141,13 +19554,11 @@
+
+ #: c-family/array-notation-common.c:70
+ #, fuzzy, gcc-internal-format
+-#| msgid "case label is not an integer constant expression"
+ msgid "__sec_implicit_index parameter must be an integer constant expression"
+ msgstr "case 标号不是一个整数常量表达式"
+
+ #: c-family/array-notation-common.c:106
+ #, fuzzy, gcc-internal-format
+-#| msgid "type mismatch in shift expression"
+ msgid "length mismatch in expression"
+ msgstr "移位表达式类型不匹配"
+
+@@ -20154,7 +19565,6 @@
+ #: c-family/array-notation-common.c:278 c-family/array-notation-common.c:306
+ #: c/c-array-notation.c:721 cp/cp-array-notation.c:610
+ #, fuzzy, gcc-internal-format
+-#| msgid "comparison between %qT and %qT"
+ msgid "rank mismatch between %qE and %qE"
+ msgstr "在%qT和%qT间比较"
+
+@@ -20166,7 +19576,6 @@
+ #. may lie in the original expression.
+ #: c-family/array-notation-common.c:287
+ #, fuzzy, gcc-internal-format
+-#| msgid "type mismatch in shift expression"
+ msgid "rank mismatch in expression %qE"
+ msgstr "移位表达式类型不匹配"
+
+@@ -20177,19 +19586,16 @@
+
+ #: c-family/c-cilkplus.c:39
+ #, fuzzy, gcc-internal-format
+-#| msgid "iteration variable %qE should be private"
+ msgid "iteration variable cannot be volatile"
+ msgstr "迭代变量%qE应当是私有的"
+
+ #: c-family/c-cilkplus.c:82
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE appears more than once in data clauses"
+ msgid "variable appears in more than one clause"
+ msgstr "%qE在数据子句中多次出现"
+
+ #: c-family/c-cilkplus.c:84
+ #, fuzzy, gcc-internal-format
+-#| msgid "struct defined here"
+ msgid "other clause defined here"
+ msgstr "结构在此定义"
+
+@@ -20400,13 +19806,11 @@
+
+ #: c-family/c-common.c:2333
+ #, fuzzy, gcc-internal-format
+-#| msgid "the last argument must be an 8-bit immediate"
+ msgid "__builtin_shuffle last argument must be an integer vector"
+ msgstr "最后一个实参必须是一个 8 位立即数"
+
+ #: c-family/c-common.c:2342
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgid "__builtin_shuffle arguments must be vectors"
+ msgstr "%<__builtin_longjmp%>的第二个实参必须是 1"
+
+@@ -20557,13 +19961,11 @@
+
+ #: c-family/c-common.c:4958
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C++ does not allow %<alignof%> with a non-type"
+ msgid "ISO C++ does not permit %<alignof%> applied to a function type"
+ msgstr "ISO C++ 不允许对非类型使用%<alignof%>"
+
+ #: c-family/c-common.c:4961
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C++ does not allow %<alignof%> with a non-type"
+ msgid "ISO C does not permit %<_Alignof%> applied to a function type"
+ msgstr "ISO C++ 不允许对非类型使用%<alignof%>"
+
+@@ -20574,13 +19976,11 @@
+
+ #: c-family/c-common.c:4981
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid application of %qs to incomplete type %qT "
+ msgid "invalid application of %qs to incomplete type %qT"
+ msgstr "%qs不能用于不完全的类型%qT"
+
+ #: c-family/c-common.c:4989
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid application of %qs to incomplete type %qT "
+ msgid "invalid application of %qs to array type %qT of incomplete element type"
+ msgstr "%qs不能用于不完全的类型%qT"
+
+@@ -20787,13 +20187,11 @@
+
+ #: c-family/c-common.c:7417
+ #, fuzzy, gcc-internal-format
+-#| msgid "requested alignment is not a constant"
+ msgid "requested alignment is not an integer constant"
+ msgstr "要求的对齐边界不是常量"
+
+ #: c-family/c-common.c:7425
+ #, fuzzy, gcc-internal-format
+-#| msgid "requested alignment is not a power of 2"
+ msgid "requested alignment is not a positive power of 2"
+ msgstr "要求的对齐边界不是 2 的某次方"
+
+@@ -20804,7 +20202,6 @@
+
+ #: c-family/c-common.c:7513
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "requested alignment is too large"
+ msgid "requested alignment %d is larger than %d"
+ msgstr "要求的对齐边界太大"
+
+@@ -20921,37 +20318,31 @@
+
+ #: c-family/c-common.c:8190
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE attribute ignored"
+ msgid "%qE attribute duplicated"
+ msgstr "%qE属性被忽略"
+
+ #: c-family/c-common.c:8192
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE attribute ignored for %qE"
+ msgid "%qE attribute follows %qE"
+ msgstr "%qE属性为%qE所忽略"
+
+ #: c-family/c-common.c:8291
+ #, fuzzy, gcc-internal-format
+-#| msgid "previously declared here"
+ msgid "type was previously declared %qE"
+ msgstr "以前在此声明过"
+
+ #: c-family/c-common.c:8344
+ #, fuzzy, gcc-internal-format
+-#| msgid "cleanup argument not an identifier"
+ msgid "%qE argument not an identifier"
+ msgstr "cleanup 实参不是一个标识符"
+
+ #: c-family/c-common.c:8355
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is not declared in %qD"
+ msgid "%qD is not compatible with %qD"
+ msgstr "%qD未在%qD中声明"
+
+ #: c-family/c-common.c:8358
+ #, fuzzy, gcc-internal-format
+-#| msgid "cleanup argument not a function"
+ msgid "transaction_wrap argument is not a function"
+ msgstr "cleanup 实参不是一个函数"
+
+@@ -21095,7 +20486,6 @@
+
+ #: c-family/c-common.c:9343
+ #, fuzzy, gcc-internal-format
+-#| msgid "non-const integer argument %u in call to function %qE"
+ msgid "non-integer argument 3 in call to function %qE"
+ msgstr "给予函数%2$qE的参数%1$u不是整型常量"
+
+@@ -21316,7 +20706,6 @@
+
+ #: c-family/c-common.c:9932
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid type argument of %<->%> (have %qT)"
+ msgid "invalid type argument of %<->*%> (have %qT)"
+ msgstr "%<->%>参数类型无效(有%qT)"
+
+@@ -21342,49 +20731,41 @@
+
+ #: c-family/c-common.c:10277
+ #, fuzzy, gcc-internal-format
+-#| msgid "not enough arguments to function %qE"
+ msgid "incorrect number of arguments to function %qE"
+ msgstr "提供给函数%qE的实参太少"
+
+ #: c-family/c-common.c:10285
+ #, fuzzy, gcc-internal-format
+-#| msgid "argument %d of %qE must be an address"
+ msgid "argument 1 of %qE must be a non-void pointer type"
+ msgstr "%2$qE的实参 %1$d 必须是地址"
+
+ #: c-family/c-common.c:10294
+ #, fuzzy, gcc-internal-format
+-#| msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgid "argument 1 of %qE must be a pointer to a constant size type"
+ msgstr "%K%D 的第一个实参必须是一个指针,第二个必须是整常量"
+
+ #: c-family/c-common.c:10305
+ #, fuzzy, gcc-internal-format
+-#| msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgid "argument 1 of %qE must be a pointer to a nonzero size object"
+ msgstr "%K%D 的第一个实参必须是一个指针,第二个必须是整常量"
+
+ #: c-family/c-common.c:10320
+ #, fuzzy, gcc-internal-format
+-#| msgid "argument %d of %qE must be an address"
+ msgid "argument %d of %qE must be a pointer type"
+ msgstr "%2$qE的实参 %1$d 必须是地址"
+
+ #: c-family/c-common.c:10327
+ #, fuzzy, gcc-internal-format
+-#| msgid "Type/rank mismatch in argument '%s' at %L"
+ msgid "size mismatch in argument %d of %qE"
+ msgstr "%2$L处实参‘%1$s’类型/秩不匹配"
+
+ #: c-family/c-common.c:10343
+ #, fuzzy, gcc-internal-format
+-#| msgid "incompatible type for argument %d of %qE"
+ msgid "invalid memory model argument %d of %qE"
+ msgstr "%2$qE的第 %1$d 个实参类型不兼容"
+
+ #: c-family/c-common.c:10350
+ #, fuzzy, gcc-internal-format
+-#| msgid "incompatible type for argument %d of %qE"
+ msgid "non-integer memory model argument %d of %qE"
+ msgstr "%2$qE的第 %1$d 个实参类型不兼容"
+
+@@ -21520,7 +20901,6 @@
+
+ #: c-family/c-common.c:11454
+ #, fuzzy, gcc-internal-format
+-#| msgid "%q+D defined but not used"
+ msgid "typedef %qD locally defined but not used"
+ msgstr "%q+D定义后未使用"
+
+@@ -21532,7 +20912,6 @@
+ #: c-family/c-common.c:11733 c-family/c-common.c:11783
+ #: c-family/c-common.c:11798 cp/call.c:4493 cp/call.c:4500
+ #, fuzzy, gcc-internal-format
+-#| msgid "conversion from %qT to %qT is ambiguous"
+ msgid "conversion of scalar %qT to vector %qT involves truncation"
+ msgstr "从%qT到%qT的转换有歧义"
+
+@@ -22020,7 +21399,6 @@
+
+ #: c-family/c-omp.c:976
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE is not a function name"
+ msgid "%qD is not an function argument"
+ msgstr "%qE不是一个函数名"
+
+@@ -22091,7 +21469,6 @@
+
+ #: c-family/c-opts.c:924
+ #, fuzzy, gcc-internal-format
+-#| msgid "nested functions not supported on this target"
+ msgid "external TLS initialization functions not supported on this target"
+ msgstr "嵌套函数在此目标机上不受支持"
+
+@@ -22502,19 +21879,16 @@
+
+ #: c-family/cilk.c:93 cp/parser.c:5784
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<friend%> can only be specified inside a class"
+ msgid "%<_Cilk_spawn%> may only be used inside a function"
+ msgstr "%<friend%>只能在类中指定"
+
+ #: c-family/cilk.c:107
+ #, fuzzy, gcc-internal-format
+-#| msgid "virtual functions cannot be friends"
+ msgid "only function calls can be spawned"
+ msgstr "虚函数不能是友元"
+
+ #: c-family/cilk.c:356
+ #, fuzzy, gcc-internal-format
+-#| msgid "address of explicit register variable %qD requested"
+ msgid "explicit register variable %qD may not be modified in spawn"
+ msgstr "要求显式寄存器变量%qD的地址。"
+
+@@ -22525,7 +21899,6 @@
+
+ #: c-family/cilk.c:436
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid use of %qD in linkage specification"
+ msgid "invalid use of label %q+D in %<_Cilk_spawn%>"
+ msgstr "指定链接时使用%qD无效"
+
+@@ -22551,7 +21924,6 @@
+
+ #: common/config/arc/arc-common.c:80
+ #, fuzzy, gcc-internal-format
+-#| msgid "multiple function type attributes specified"
+ msgid "multiple -mcpu= options specified."
+ msgstr "指定了多个函数类型属性"
+
+@@ -22572,43 +21944,36 @@
+
+ #: common/config/i386/i386-common.c:764
+ #, fuzzy, gcc-internal-format
+-#| msgid "%salign-loops%s is obsolete, use -falign-loops%s"
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr "%salign-loops%s 已经过时,请使用 -falign-loops%s"
+
+ #: common/config/i386/i386-common.c:766
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%salign-loops=%d%s is not between 0 and %d"
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr "%salign-loops=%d%s 不在 0 和 %d 之间"
+
+ #: common/config/i386/i386-common.c:773
+ #, fuzzy, gcc-internal-format
+-#| msgid "%salign-jumps%s is obsolete, use -falign-jumps%s"
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr "%salign-jumps%s 已经过时,请使用 -falign-jumps%s"
+
+ #: common/config/i386/i386-common.c:775
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%salign-loops=%d%s is not between 0 and %d"
+ msgid "-malign-jumps=%d is not between 0 and %d"
+ msgstr "%salign-loops=%d%s 不在 0 和 %d 之间"
+
+ #: common/config/i386/i386-common.c:783
+ #, fuzzy, gcc-internal-format
+-#| msgid "%salign-functions%s is obsolete, use -falign-functions%s"
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr "%salign-functions%s 已过时,请使用 -falign-functions%s"
+
+ #: common/config/i386/i386-common.c:785
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%salign-loops=%d%s is not between 0 and %d"
+ msgid "-malign-functions=%d is not between 0 and %d"
+ msgstr "%salign-loops=%d%s 不在 0 和 %d 之间"
+
+ #: common/config/i386/i386-common.c:794
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%sbranch-cost=%d%s is not between 0 and 5"
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr "%sbranch-cost=%d%s不在 0 和 5 之间"
+
+@@ -22664,7 +22029,6 @@
+
+ #: common/config/rx/rx-common.c:63
+ #, fuzzy, gcc-internal-format
+-#| msgid "the RX200 cpu does not have FPU hardware"
+ msgid "the RX100 cpu does not have FPU hardware"
+ msgstr "RX200 CPU 没有 FPU 硬件"
+
+@@ -22680,7 +22044,6 @@
+
+ #: common/config/v850/v850-common.c:47
+ #, fuzzy, gcc-internal-format
+-#| msgid "value passed to %<-m%s%> is too large"
+ msgid "value passed in %qs is too large"
+ msgstr "传递给%<-m%s%>的值太大"
+
+@@ -22777,7 +22140,6 @@
+
+ #: config/darwin.c:2738
+ #, fuzzy, gcc-internal-format
+-#| msgid "visibility attribute not supported in this configuration; ignored"
+ msgid "protected visibility attribute not supported in this configuration; ignored"
+ msgstr "可见性属性在此配置下不受支持;已忽略"
+
+@@ -22788,19 +22150,16 @@
+
+ #: config/darwin.c:3096
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<-fobjc-abi-version%> >= 2 is only supported on %<-m64%> targets for %<-fnext-runtime%>"
+ msgid "%<-fobjc-abi-version%> >= 2 must be used for %<-m64%> targets with %<-fnext-runtime%>"
+ msgstr "%<-fobjc-abi-version%> >= 2 只在%<-m64%>目标下支持%<-fnext-runtime%>"
+
+ #: config/darwin.c:3100
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<-fobjc-abi-version%> >= 2 is only supported on %<-m64%> targets for %<-fnext-runtime%>"
+ msgid "%<-fobjc-abi-version%> >= 2 is not supported on %<-m32%> targets with %<-fnext-runtime%>"
+ msgstr "%<-fobjc-abi-version%> >= 2 只在%<-m64%>目标下支持%<-fnext-runtime%>"
+
+ #: config/darwin.c:3185
+ #, fuzzy, gcc-internal-format
+-#| msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgid "%<-mdynamic-no-pic%> overrides %<-fpic%>, %<-fPIC%>, %<-fpie%> or %<-fPIE%>"
+ msgstr "-mdynamic-no-pic 覆盖了 -fpic 或 -fPIC"
+
+@@ -22917,13 +22276,11 @@
+
+ #: config/aarch64/aarch64-builtins.c:817
+ #, fuzzy, gcc-internal-format
+-#| msgid "incompatible type for argument %d of %qE"
+ msgid "incompatible type for argument %d, expected %<const int%>"
+ msgstr "%2$qE的第 %1$d 个实参类型不兼容"
+
+ #: config/aarch64/aarch64.c:5041
+ #, fuzzy, gcc-internal-format
+-#| msgid "missing filename after %qs"
+ msgid "missing feature modifier after %qs"
+ msgstr "%qs后缺少文件名"
+
+@@ -22930,13 +22287,11 @@
+ #. Extension not found in list.
+ #: config/aarch64/aarch64.c:5062
+ #, fuzzy, gcc-internal-format
+-#| msgid "unknown TLS model %qs"
+ msgid "unknown feature modifier %qs"
+ msgstr "未知的 TLS 模型%qs"
+
+ #: config/aarch64/aarch64.c:5093
+ #, fuzzy, gcc-internal-format
+-#| msgid "missing path after %qs"
+ msgid "missing arch name in -march=%qs"
+ msgstr "%qs后缺少路径"
+
+@@ -22948,13 +22303,11 @@
+ #. ARCH name not found in list.
+ #: config/aarch64/aarch64.c:5125
+ #, fuzzy, gcc-internal-format
+-#| msgid "unknown value %s for -mfpu"
+ msgid "unknown value %qs for -march"
+ msgstr "-mfpu 的值 %s 未知"
+
+ #: config/aarch64/aarch64.c:5150
+ #, fuzzy, gcc-internal-format
+-#| msgid "missing path after %qs"
+ msgid "missing cpu name in -mcpu=%qs"
+ msgstr "%qs后缺少路径"
+
+@@ -22961,7 +22314,6 @@
+ #. CPU name not found in list.
+ #: config/aarch64/aarch64.c:5174
+ #, fuzzy, gcc-internal-format
+-#| msgid "unknown value %s for -mfpu"
+ msgid "unknown value %qs for -mcpu"
+ msgstr "-mfpu 的值 %s 未知"
+
+@@ -22968,13 +22320,11 @@
+ #. CPU name not found in list.
+ #: config/aarch64/aarch64.c:5198
+ #, fuzzy, gcc-internal-format
+-#| msgid "unknown value %s for -mfpu"
+ msgid "unknown value %qs for -mtune"
+ msgstr "-mfpu 的值 %s 未知"
+
+ #: config/aarch64/aarch64.c:5234
+ #, fuzzy, gcc-internal-format
+-#| msgid "does not support multilib"
+ msgid "Assembler does not support -mabi=ilp32"
+ msgstr "不支持 multilib"
+
+@@ -22986,19 +22336,16 @@
+ #: config/aarch64/aarch64.c:5611 config/aarch64/aarch64.c:5719
+ #: config/aarch64/aarch64.c:5958
+ #, fuzzy, gcc-internal-format
+-#| msgid "Use hardware floating point instructions"
+ msgid "%qs and floating point or vector arguments"
+ msgstr "使用硬件浮点指令"
+
+ #: config/aarch64/aarch64.c:6830
+ #, fuzzy, gcc-internal-format
+-#| msgid "operand number out of range"
+ msgid "lane out of range"
+ msgstr "操作数号超出范围"
+
+ #: config/aarch64/aarch64.c:6840
+ #, fuzzy, gcc-internal-format
+-#| msgid "constant argument out of range for %qs"
+ msgid "constant out of range"
+ msgstr "常量实参超过%qs的范围"
+
+@@ -23066,7 +22413,6 @@
+
+ #: config/arc/arc.c:738
+ #, fuzzy, gcc-internal-format
+-#| msgid "-mrelax is only supported for RTP PIC"
+ msgid "-mmul64 not supported for ARC700"
+ msgstr "-mrelax 只在 RTP PIC 上受支持"
+
+@@ -23107,7 +22453,6 @@
+
+ #: config/arc/arc.c:1230
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "multiple function type attributes specified"
+ msgid "multiply option implies r%d is fixed"
+ msgstr "指定了多个函数类型属性"
+
+@@ -23131,13 +22476,11 @@
+
+ #: config/arc/arc.c:5373
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<__builtin_next_arg%> called without an argument"
+ msgid "__builtin_arc_aligned with non-constant alignment"
+ msgstr "调用%<__builtin_next_arg%>时没有给定实参"
+
+ #: config/arc/arc.c:5381
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid argument to %<__builtin_frame_address%>"
+ msgid "invalid alignment value for __builtin_arc_aligned"
+ msgstr "%<__builtin_frame_address%>的实参无效"
+
+@@ -23158,7 +22501,6 @@
+
+ #: config/arc/arc.c:6206
+ #, fuzzy, gcc-internal-format
+-#| msgid "Bad address, not register:"
+ msgid "insn addresses not freed"
+ msgstr "错误的地址,不是寄存器:"
+
+@@ -23294,7 +22636,6 @@
+
+ #: config/arm/arm.c:2571
+ #, fuzzy, gcc-internal-format
+-#| msgid "-fPIC and -G are incompatible"
+ msgid "iWMMXt and NEON are incompatible"
+ msgstr "-fPIC 与 -G 互不兼容"
+
+@@ -23320,13 +22661,11 @@
+
+ #: config/arm/arm.c:2638
+ #, fuzzy, gcc-internal-format
+-#| msgid "structure size boundary can only be set to %s"
+ msgid "structure size boundary can only be set to 8, 32 or 64"
+ msgstr "结构大小边界只能被设定为 %s"
+
+ #: config/arm/arm.c:2640
+ #, fuzzy, gcc-internal-format
+-#| msgid "structure size boundary can only be set to %s"
+ msgid "structure size boundary can only be set to 8 or 32"
+ msgstr "结构大小边界只能被设定为 %s"
+
+@@ -23352,7 +22691,6 @@
+
+ #: config/arm/arm.c:2715
+ #, fuzzy, gcc-internal-format
+-#| msgid "target CPU does not support ARM mode"
+ msgid "target CPU does not support unaligned accesses"
+ msgstr "目标 CPU 不支持 ARM 模式"
+
+@@ -23440,7 +22778,6 @@
+
+ #: config/arm/arm.c:25441
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE attribute argument should be between 0 to 255"
+ msgid "the range of mask should be in 0 to 255"
+ msgstr "%qE属性的参数应当在 0 和 255 之间"
+
+@@ -23566,7 +22903,6 @@
+
+ #: config/arm/arm.c:26165
+ #, fuzzy, gcc-internal-format
+-#| msgid "Unexpected end of module"
+ msgid "Unexpected thumb1 far jump"
+ msgstr "非预期的模块结束"
+
+@@ -23582,13 +22918,11 @@
+
+ #: config/avr/avr-c.c:66 config/avr/avr-c.c:191
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs expects a constant argument"
+ msgid "%qs expects 1 argument but %d given"
+ msgstr "%qs需要一个常量实参"
+
+ #: config/avr/avr-c.c:77
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs expects a constant argument"
+ msgid "%qs expects a fixed-point value as argument"
+ msgstr "%qs需要一个常量实参"
+
+@@ -23599,25 +22933,21 @@
+
+ #: config/avr/avr-c.c:108 config/avr/avr-c.c:174 config/avr/avr-c.c:231
+ #, fuzzy, gcc-internal-format
+-#| msgid "no matching template for %qD found"
+ msgid "no matching fixed-point overload found for %qs"
+ msgstr "没有找到与%qD匹配的模板"
+
+ #: config/avr/avr-c.c:125
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs expects a constant argument"
+ msgid "%qs expects 2 arguments but %d given"
+ msgstr "%qs需要一个常量实参"
+
+ #: config/avr/avr-c.c:137 config/avr/avr-c.c:202
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs expects a constant argument"
+ msgid "%qs expects a fixed-point value as first argument"
+ msgstr "%qs需要一个常量实参"
+
+ #: config/avr/avr-c.c:145
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs expects a constant argument"
+ msgid "%qs expects an integer value as second argument"
+ msgstr "%qs需要一个常量实参"
+
+@@ -23633,19 +22963,16 @@
+
+ #: config/avr/avr.c:322
+ #, fuzzy, gcc-internal-format
+-#| msgid "-fpic is not supported"
+ msgid "-fpie is not supported"
+ msgstr "不支持 -fpic"
+
+ #: config/avr/avr.c:324
+ #, fuzzy, gcc-internal-format
+-#| msgid "-fPIC is not supported"
+ msgid "-fPIE is not supported"
+ msgstr "不支持 -fPIC"
+
+ #: config/avr/avr.c:586
+ #, fuzzy, gcc-internal-format
+-#| msgid "-flto and -fwhopr are mutually exclusive"
+ msgid "function attributes %qs, %qs and %qs are mutually exclusive"
+ msgstr "-flto and -fwhopr 互斥"
+
+@@ -23656,25 +22983,21 @@
+
+ #: config/avr/avr.c:616
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD cannot have default arguments"
+ msgid "%qs function cannot have arguments"
+ msgstr "%qD不能有默认参数"
+
+ #: config/avr/avr.c:619
+ #, fuzzy, gcc-internal-format
+-#| msgid "functions cannot return __fp16 type"
+ msgid "%qs function cannot return a value"
+ msgstr "函数不能返回 __fp16 类型"
+
+ #: config/avr/avr.c:626
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs appears to be a misspelled signal handler"
+ msgid "%qs appears to be a misspelled %s handler"
+ msgstr "%qs似乎是一个拼写错的信号处理者"
+
+ #: config/avr/avr.c:856
+ #, fuzzy, gcc-internal-format
+-#| msgid "'builtin_return_address' contains only 2 bytes of address"
+ msgid "%<builtin_return_address%> contains only 2 bytes of address"
+ msgstr "‘builtin_return_address’只包含两字节地址"
+
+@@ -23690,19 +23013,16 @@
+
+ #: config/avr/avr.c:2241
+ #, fuzzy, gcc-internal-format
+-#| msgid "accessing program memory with data memory address"
+ msgid "accessing program memory with data memory address"
+ msgstr "用数据内存地址访问程序内存"
+
+ #: config/avr/avr.c:2660
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Number of registers used to pass integer arguments"
+ msgid "fixed register %s used to pass parameter to function"
+ msgstr "用以传递整数参数的寄存器个数"
+
+ #: config/avr/avr.c:2931
+ #, fuzzy, gcc-internal-format
+-#| msgid "conflicting named address spaces (%s vs %s)"
+ msgid "writing to address space %qs not supported"
+ msgstr "冲突的有名地址空间(%s和%s)"
+
+@@ -23718,13 +23038,11 @@
+
+ #: config/avr/avr.c:8292
+ #, fuzzy, gcc-internal-format
+-#| msgid "pointers to disjoint address spaces used in conditional expression"
+ msgid "pointer targeting address space %qs must be const in %qT"
+ msgstr "条件表达式中使用了指向不相交地址空间的指针"
+
+ #: config/avr/avr.c:8295
+ #, fuzzy, gcc-internal-format
+-#| msgid "pointers to disjoint address spaces used in conditional expression"
+ msgid "pointer targeting address space %qs must be const in %s %q+D"
+ msgstr "条件表达式中使用了指向不相交地址空间的指针"
+
+@@ -23745,7 +23063,6 @@
+
+ #: config/avr/avr.c:8597
+ #, fuzzy, gcc-internal-format
+-#| msgid "only initialized variables can be placed into program memory area"
+ msgid "uninitialized variable %q+D put into program memory area"
+ msgstr "只有初始化的变量才能放入程序内存区"
+
+@@ -23756,19 +23073,16 @@
+
+ #: config/avr/avr.c:11101
+ #, fuzzy, gcc-internal-format
+-#| msgid "Conversion from %s to %s at %L"
+ msgid "conversion from address space %qs to address space %qs"
+ msgstr "从 %s 转换到 %s,位于 %L"
+
+ #: config/avr/avr.c:12048
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Unexpected end of module in string constant"
+ msgid "%s expects a compile time integer constant"
+ msgstr "字符串常量中出现非预期的模块结束"
+
+ #: config/avr/avr.c:12062
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%qs expects a constant argument"
+ msgid "%s expects a compile time long integer constant as first argument"
+ msgstr "%qs需要一个常量实参"
+
+@@ -23855,7 +23169,6 @@
+
+ #: config/c6x/c6x.c:238
+ #, fuzzy, gcc-internal-format
+-#| msgid "-fPIC and -fpic are not supported for this target"
+ msgid "-fpic and -fPIC not supported without -mdsbt on this target"
+ msgstr "-fPIC 和 -fpic 不被此目标所支持"
+
+@@ -23871,7 +23184,6 @@
+
+ #: config/cr16/cr16.c:299
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "invalid thread pointer option: -mtp=%s"
+ msgid "invalid data model option -mdata-model=%s"
+ msgstr "无效的线程指钟选项:-mtp=%s"
+
+@@ -24020,13 +23332,11 @@
+
+ #: config/epiphany/epiphany.c:1468
+ #, fuzzy, gcc-internal-format
+-#| msgid "stack size must be an exact power of 2"
+ msgid "stack_offset must be at least 4"
+ msgstr "栈大小必须刚好是 2 的某次方"
+
+ #: config/epiphany/epiphany.c:1470
+ #, fuzzy, gcc-internal-format
+-#| msgid "stack size must be an exact power of 2"
+ msgid "stack_offset must be a multiple of 4"
+ msgstr "栈大小必须刚好是 2 的某次方"
+
+@@ -24092,7 +23402,6 @@
+
+ #: config/h8300/h8300.c:324
+ #, fuzzy, gcc-internal-format
+-#| msgid "-f%s not supported: ignored"
+ msgid "-msx is not supported in coff"
+ msgstr "-f%s 不受支持:已忽略"
+
+@@ -24103,25 +23412,21 @@
+
+ #: config/h8300/h8300.c:352
+ #, fuzzy, gcc-internal-format
+-#| msgid "-mn is used without -mh or -ms"
+ msgid "-mn is used without -mh or -ms or -msx"
+ msgstr "-mn 未与 -mh 或 -ms 一起使用"
+
+ #: config/h8300/h8300.c:358
+ #, fuzzy, gcc-internal-format
+-#| msgid "-ms2600 is used without -ms"
+ msgid "-mexr is used without -ms"
+ msgstr "-ms2600 未与 -ms 一起使用"
+
+ #: config/h8300/h8300.c:364
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<__int128%> is not supported for this target"
+ msgid "-mint32 is not supported for H8300 and H8300L targets"
+ msgstr "%<__int128%>在此目标机上不受支持"
+
+ #: config/h8300/h8300.c:370
+ #, fuzzy, gcc-internal-format
+-#| msgid "-mn is used without -mh or -ms"
+ msgid "-mexr is used without -ms or -msx"
+ msgstr "-mn 未与 -mh 或 -ms 一起使用"
+
+@@ -24142,7 +23447,6 @@
+
+ #: config/i386/i386.c:2911
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "-Werror=%s: no option -%s"
+ msgid "wrong arg %s to option %s"
+ msgstr "-Werror=%s:没有选项 -%s"
+
+@@ -24153,13 +23457,11 @@
+
+ #: config/i386/i386.c:2929
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "register name not specified for %q+D"
+ msgid "wrong stringop strategy name %s specified for option %s"
+ msgstr "%q+D的寄存器名无效"
+
+ #: config/i386/i386.c:2943
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "alignment may not be specified for %q+D"
+ msgid "unknown alignment %s specified for option %s"
+ msgstr "不能为%q+D指定对齐"
+
+@@ -24170,13 +23472,11 @@
+
+ #: config/i386/i386.c:2962
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "no class name specified with %qs"
+ msgid "too many size ranges specified in option %s"
+ msgstr "%qs没有指定类名"
+
+ #: config/i386/i386.c:3016
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Unknown argument list function at %L"
+ msgid "Unknown parameter to option -mtune-ctrl: %s"
+ msgstr "%L处参数列表函数未知"
+
+@@ -24193,7 +23493,6 @@
+
+ #: config/i386/i386.c:3424
+ #, fuzzy, gcc-internal-format
+-#| msgid "code model %qs not supported in the %s bit mode"
+ msgid "address mode %qs not supported in the %s bit mode"
+ msgstr "代码模式%qs在 %s 位模式下不受支持"
+
+@@ -24205,7 +23504,6 @@
+
+ #: config/i386/i386.c:3462 config/i386/i386.c:3474
+ #, fuzzy, gcc-internal-format
+-#| msgid "code model %qs not supported in the %s bit mode"
+ msgid "code model %qs not supported in x32 mode"
+ msgstr "代码模式%qs在 %s 位模式下不受支持"
+
+@@ -24216,7 +23514,6 @@
+
+ #: config/i386/i386.c:3517
+ #, fuzzy, gcc-internal-format
+-#| msgid "-m%s not supported in this configuration"
+ msgid "-masm=intel not supported in this configuration"
+ msgstr "-m%s 在此配置下不受支持"
+
+@@ -24237,7 +23534,6 @@
+
+ #: config/i386/i386.c:3678
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "generic CPU can be used only for %stune=%s %s"
+ msgid "intel CPU can be used only for %stune=%s %s"
+ msgstr "generic 只能用在%stune%s %s中"
+
+@@ -24253,13 +23549,11 @@
+
+ #: config/i386/i386.c:3777
+ #, fuzzy, gcc-internal-format
+-#| msgid "%sregparm%s is ignored in 64-bit mode"
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr "%sregparm%s 在 64 位模式下被忽略"
+
+ #: config/i386/i386.c:3780
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%sregparm=%d%s is not between 0 and %d"
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr "%sregparm=%d%s 不在 0 和 %d 之间"
+
+@@ -24270,13 +23564,11 @@
+
+ #: config/i386/i386.c:3900
+ #, fuzzy, gcc-internal-format
+-#| msgid "%spreferred-stack-boundary%s is not supported for this target"
+ msgid "-mpreferred-stack-boundary is not supported for this target"
+ msgstr "%spreferred-stack-boundary%s 在此目标机上不被支持"
+
+ #: config/i386/i386.c:3903
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%spreferred-stack-boundary=%d%s is not between %d and %d"
+ msgid "-mpreferred-stack-boundary=%d is not between %d and %d"
+ msgstr "%spreferred-stack-boundary=%d%s 不在 %d 和 %d 之间"
+
+@@ -24308,7 +23600,7 @@
+ #: config/i386/i386.c:4108
+ #, gcc-internal-format
+ msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic"
+-msgstr "-mfentry 在 32 位下不能和 -pic 同时使用"
++msgstr "-mfentry 在 32 位下不能和 -fpic 同时使用"
+
+ #: config/i386/i386.c:4115
+ #, gcc-internal-format
+@@ -24422,7 +23714,6 @@
+
+ #: config/i386/i386.c:6236
+ #, fuzzy, gcc-internal-format
+-#| msgid "AVX vector argument without AVX enabled changes the ABI"
+ msgid "AVX vector return without AVX enabled changes the ABI"
+ msgstr "没有启用 AVX,却出现了 AVX 向量实参,这改变了 ABI"
+
+@@ -24515,7 +23806,6 @@
+
+ #: config/i386/i386.c:14881
+ #, fuzzy, gcc-internal-format
+-#| msgid "non-integer operand used with operand code '%c'"
+ msgid "non-integer operand used with operand code 'z'"
+ msgstr "非整数操作数使用了操作数代码‘%c’"
+
+@@ -24541,7 +23831,6 @@
+
+ #: config/i386/i386.c:31750 config/i386/i386.c:32198
+ #, fuzzy, gcc-internal-format
+-#| msgid "static linking is not supported"
+ msgid "Virtual function multiversioning not supported"
+ msgstr "不支持静态链接"
+
+@@ -24552,25 +23841,21 @@
+
+ #: config/i386/i386.c:31818
+ #, fuzzy, gcc-internal-format
+-#| msgid "previous declaration of %q+D"
+ msgid "previous declaration of %D"
+ msgstr "%q+D的前一个声明"
+
+ #: config/i386/i386.c:32037
+ #, fuzzy, gcc-internal-format
+-#| msgid "nested functions not supported on this target"
+ msgid "multiversioning needs ifunc which is not supported on this target"
+ msgstr "嵌套函数在此目标机上不受支持"
+
+ #: config/i386/i386.c:32405
+ #, fuzzy, gcc-internal-format
+-#| msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgid "Parameter to builtin must be a string constant or literal"
+ msgstr "%qs的实参必须是一个 2 位无符号字面常量"
+
+ #: config/i386/i386.c:32430 config/i386/i386.c:32480
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Argument to -ffpe-trap is not valid: %s"
+ msgid "Parameter to builtin not valid: %s"
+ msgstr "-ffpe-trap 的参数无效:%s"
+
+@@ -24581,25 +23866,21 @@
+
+ #: config/i386/i386.c:33287
+ #, 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 位立即数"
+
+ #: config/i386/i386.c:33382
+ #, 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 位立即数"
+
+ #: config/i386/i386.c:33967
+ #, fuzzy, gcc-internal-format
+-#| msgid "the last argument must be a 1-bit immediate"
+ msgid "the last argument must be an 1-bit immediate"
+ msgstr "最后一个实参必须是一个 1 位立即数"
+
+ #: config/i386/i386.c:33974
+ #, fuzzy, gcc-internal-format
+-#| msgid "the last argument must be a 32-bit immediate"
+ msgid "the last argument must be a 3-bit immediate"
+ msgstr "最后一个参数必须是一个 32 位立即数"
+
+@@ -24630,37 +23911,31 @@
+
+ #: config/i386/i386.c:34214
+ #, fuzzy, gcc-internal-format
+-#| msgid "argument must be a constant"
+ msgid "the third argument must be comparison constant"
+ msgstr "实参必须是常数"
+
+ #: config/i386/i386.c:34219
+ #, fuzzy, gcc-internal-format
+-#| msgid "incorrect sharing of tree nodes"
+ msgid "incorect comparison mode"
+ msgstr "对树结节的共享不正确"
+
+ #: config/i386/i386.c:34225 config/i386/i386.c:34421
+ #, fuzzy, gcc-internal-format
+-#| msgid "incorrect sharing of tree nodes"
+ msgid "incorrect rounding operand"
+ msgstr "对树结节的共享不正确"
+
+ #: config/i386/i386.c:34403
+ #, fuzzy, gcc-internal-format
+-#| msgid "the last argument must be a 4-bit immediate"
+ msgid "the immediate argument must be a 4-bit immediate"
+ msgstr "最后一个实参必须是一个 4 位立即数"
+
+ #: config/i386/i386.c:34409
+ #, fuzzy, gcc-internal-format
+-#| msgid "the last argument must be a 5-bit immediate"
+ msgid "the immediate argument must be a 5-bit immediate"
+ msgstr "最后一个实参必须是一个 5 位立即数"
+
+ #: config/i386/i386.c:34412
+ #, fuzzy, gcc-internal-format
+-#| msgid "the last argument must be an 8-bit immediate"
+ msgid "the immediate argument must be an 8-bit immediate"
+ msgstr "最后一个实参必须是一个 8 位立即数"
+
+@@ -24691,25 +23966,21 @@
+
+ #: config/i386/i386.c:35816 config/i386/i386.c:35964
+ #, fuzzy, gcc-internal-format
+-#| msgid "the last argument must be a 4-bit immediate"
+ msgid "the last argument must be scale 1, 2, 4, 8"
+ msgstr "最后一个实参必须是一个 4 位立即数"
+
+ #: config/i386/i386.c:36016
+ #, fuzzy, gcc-internal-format
+-#| msgid "left argument must be a slice"
+ msgid "the forth argument must be scale 1, 2, 4, 8"
+ msgstr "左实参必须是一个切片"
+
+ #: config/i386/i386.c:36022
+ #, fuzzy, gcc-internal-format
+-#| msgid "the last argument must be a 4-bit immediate"
+ msgid "the last argument must be hint 0 or 1"
+ msgstr "最后一个实参必须是一个 4 位立即数"
+
+ #: config/i386/i386.c:36041
+ #, fuzzy, gcc-internal-format
+-#| msgid "the last argument must be an 8-bit immediate"
+ msgid "the xabort's argument must be an 8-bit immediate"
+ msgstr "最后一个实参必须是一个 8 位立即数"
+
+@@ -24735,7 +24006,6 @@
+
+ #: config/i386/i386.c:46439
+ #, fuzzy, gcc-internal-format
+-#| msgid "Unknown architecture '%s'"
+ msgid "Unknown architecture specific memory model"
+ msgstr "未知的架构‘%s’"
+
+@@ -24751,7 +24021,6 @@
+
+ #: config/i386/i386.c:46476
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "unsupported ELF file class"
+ msgid "unsupported simdlen %d"
+ msgstr "不支持的 ELF 文件类"
+
+@@ -24955,7 +24224,6 @@
+
+ #: config/m68k/m68k.c:624
+ #, fuzzy, gcc-internal-format
+-#| msgid "stack limits not supported on this target"
+ msgid "-fstack-limit- options are not supported on this cpu"
+ msgstr "堆栈限制在此目标机上不受支持"
+
+@@ -25240,7 +24508,6 @@
+
+ #: config/microblaze/microblaze.c:1679
+ #, fuzzy, gcc-internal-format
+-#| msgid "-fPIC and -fpic are not supported for this target"
+ msgid "-fPIC/-fpic not supported for this target"
+ msgstr "-fPIC 和 -fpic 不被此目标所支持"
+
+@@ -25276,7 +24543,6 @@
+
+ #: config/mips/mips.c:1427 config/mips/mips.c:1433
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE cannot have both %<mips16%> and %<nomips16%> attributes"
+ msgid "%qE cannot have both %qs and %qs attributes"
+ msgstr "%qE不能同时有%<mips16%>和%<nomips16%>属性"
+
+@@ -25385,7 +24651,6 @@
+
+ #: config/mips/mips.c:17050 config/mips/mips.c:17052 config/mips/mips.c:17065
+ #, fuzzy, gcc-internal-format
+-#| msgid "assert: %s is assign compatible with %s"
+ msgid "%qs is incompatible with %qs"
+ msgstr "assert:%s 与 %s 赋值兼容"
+
+@@ -25396,7 +24661,6 @@
+ #. an error.
+ #: config/mips/mips.c:17059
+ #, fuzzy, gcc-internal-format
+-#| msgid "assert: %s is assign compatible with %s"
+ msgid "the combination of %qs and %qs is incompatible with %qs"
+ msgstr "assert:%s 与 %s 赋值兼容"
+
+@@ -25407,13 +24671,11 @@
+
+ #: config/mips/mips.c:17120
+ #, fuzzy, gcc-internal-format
+-#| msgid "the %qs architecture does not support the synci instruction"
+ msgid "the %qs architecture does not support madd or msub instructions"
+ msgstr "%qs架构不支持 synci 指令"
+
+ #: config/mips/mips.c:17134
+ #, fuzzy, gcc-internal-format
+-#| msgid "Generate position-independent code if possible (large mode)"
+ msgid "cannot generate position-independent code for %qs"
+ msgstr "尽可能生成与位置无关的代码(大模式)"
+
+@@ -25530,19 +24792,16 @@
+
+ #: config/msp430/msp430.c:1102
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid argument of %qE attribute"
+ msgid "unrecognised interrupt vector argument of %qE attribute"
+ msgstr "属性%qE的参数无效"
+
+ #: config/msp430/msp430.c:1111
+ #, fuzzy, gcc-internal-format
+-#| msgid "argument %d of %qE must be in the range %d...%d"
+ msgid "numeric argument of %qE attribute must be in range 0..63"
+ msgstr "%2$qE的第 %1$d 个参数必须是在 %3$d 和 %4$d 之间"
+
+ #: config/msp430/msp430.c:1117
+ #, fuzzy, gcc-internal-format
+-#| msgid "argument of %qE attribute is not a string constant"
+ msgid "argument of %qE attribute is not a string constant or number"
+ msgstr "%qE属性的实参不是一个字符串常量"
+
+@@ -25564,13 +24823,11 @@
+
+ #: config/nds32/nds32.c:1213
+ #, fuzzy, gcc-internal-format
+-#| msgid "multiple function type attributes specified"
+ msgid "multiple nested types attributes to function %qD"
+ msgstr "指定了多个函数类型属性"
+
+ #: config/nds32/nds32.c:1225
+ #, fuzzy, gcc-internal-format
+-#| msgid "multiple interrupt attributes not allowed"
+ msgid "multiple interrupt attributes to function %qD"
+ msgstr "不允许多个中断属性"
+
+@@ -25581,7 +24838,6 @@
+ #: config/nds32/nds32.c:3007 config/nds32/nds32.c:3013
+ #: config/nds32/nds32.c:3045
+ #, fuzzy, gcc-internal-format
+-#| msgid "nested functions not supported on this target"
+ msgid "a nested function is not supported for reduced registers"
+ msgstr "嵌套函数在此目标机上不受支持"
+
+@@ -25588,37 +24844,31 @@
+ #. The enum index value for array size is out of range.
+ #: config/nds32/nds32.c:2848
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid register in the instruction"
+ msgid "intrinsic register index is out of range"
+ msgstr "此指令中寄存器无效"
+
+ #: config/nds32/nds32.c:3153
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid type for iteration variable %qE"
+ msgid "invalid id value for interrupt/exception attribute"
+ msgstr "迭代变量%qE类型无效"
+
+ #: config/nds32/nds32.c:3181
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid argument of %qs attribute"
+ msgid "invalid id value for reset attribute"
+ msgstr "属性%qs的参数无效"
+
+ #: config/nds32/nds32.c:3197
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid argument of %qs attribute"
+ msgid "invalid nmi function for reset attribute"
+ msgstr "属性%qs的参数无效"
+
+ #: config/nds32/nds32.c:3210
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid argument of %qs attribute"
+ msgid "invalid warm function for reset attribute"
+ msgstr "属性%qs的参数无效"
+
+ #: config/nds32/nds32.c:3284
+ #, fuzzy, gcc-internal-format
+-#| msgid "%s does not support split_block"
+ msgid "not support -fpic"
+ msgstr "%s 不支持 split_block"
+
+@@ -25629,7 +24879,6 @@
+
+ #: config/nios2/nios2.c:794
+ #, fuzzy, gcc-internal-format
+-#| msgid "target attribute or pragma changes double precision floating point"
+ msgid "switch %<-mcustom-%s%> is required for double precision floating point"
+ msgstr "目标属性或 pragma 改变了双精度浮点数"
+
+@@ -25675,7 +24924,6 @@
+
+ #: config/nios2/nios2.c:2598
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "invalid argument to built-in function"
+ msgid "invalid argument to built-in function %s"
+ msgstr "内建函数实参无效"
+
+@@ -25686,7 +24934,6 @@
+
+ #: config/nios2/nios2.c:2743
+ #, fuzzy, gcc-internal-format
+-#| msgid "switch -mcpu=%s conflicts with -march=%s switch"
+ msgid "switch %<-mcustom-%s%> conflicts with switch %<-mcustom-%s%>"
+ msgstr "开关 -mcpu=%s 与 -march=%s 冲突"
+
+@@ -25707,7 +24954,6 @@
+
+ #: config/nios2/nios2.c:2899
+ #, fuzzy, gcc-internal-format
+-#| msgid "%s only accepts 2 arguments"
+ msgid "%<no-custom-%s%> does not accept arguments"
+ msgstr "%s 只接受 2 个参数"
+
+@@ -25728,7 +24974,6 @@
+
+ #: config/nios2/nios2.c:2943
+ #, fuzzy, gcc-internal-format
+-#| msgid "type of %qE is unknown"
+ msgid "%<%s%> is unknown"
+ msgstr "%qE的类型未知"
+
+@@ -25979,13 +25224,11 @@
+
+ #: config/rs6000/rs6000.c:3173
+ #, fuzzy, gcc-internal-format
+-#| msgid "not configured for ABI: '%s'"
+ msgid "not configured for SPE ABI"
+ msgstr "没有为此 ABI 配置:‘%s’"
+
+ #: config/rs6000/rs6000.c:3178
+ #, fuzzy, gcc-internal-format
+-#| msgid "Do not use PowerPC instruction set"
+ msgid "not configured for SPE instruction set"
+ msgstr "不使用 PowerPC 指令集"
+
+@@ -26021,7 +25264,6 @@
+
+ #: config/rs6000/rs6000.c:3333
+ #, fuzzy, gcc-internal-format
+-#| msgid "--resource requires -o"
+ msgid "-mdirect-move requires -mvsx"
+ msgstr "--resource 需要 -o"
+
+@@ -26032,13 +25274,11 @@
+
+ #: config/rs6000/rs6000.c:3347
+ #, fuzzy, gcc-internal-format
+-#| msgid "--resource requires -o"
+ msgid "-mpower8-vector requires -mvsx"
+ msgstr "--resource 需要 -o"
+
+ #: config/rs6000/rs6000.c:3354
+ #, fuzzy, gcc-internal-format
+-#| msgid "--resource requires -o"
+ msgid "-mvsx-timode requires -mvsx"
+ msgstr "--resource 需要 -o"
+
+@@ -26099,7 +25339,6 @@
+
+ #: config/rs6000/rs6000.c:11517
+ #, fuzzy, gcc-internal-format
+-#| msgid "argument 1 must be a 5-bit signed literal"
+ msgid "argument 1 must be an 8-bit field value"
+ msgstr "实参 1 必须是一个 5 位有符号字面值"
+
+@@ -26125,13 +25364,11 @@
+
+ #: config/rs6000/rs6000.c:12074
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "argument 2 must be a 5-bit unsigned literal"
+ msgid "argument %d must be an unsigned literal"
+ msgstr "实参 2 必须是一个 5 位无符号字面值"
+
+ #: config/rs6000/rs6000.c:12076
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgid "argument %d is an unsigned literal that is out of range"
+ msgstr "__builtin_spe_predicate 的第 1 个实参越界"
+
+@@ -26152,13 +25389,11 @@
+
+ #: config/rs6000/rs6000.c:12246
+ #, fuzzy, gcc-internal-format
+-#| msgid "number must be 0 or 1"
+ msgid "argument 2 must be 0 or 1"
+ msgstr "数字必须是 0 或 1"
+
+ #: config/rs6000/rs6000.c:12254
+ #, fuzzy, gcc-internal-format
+-#| msgid "argument %d of %qE must be in the range %d...%d"
+ msgid "argument 3 must be in the range 0..15"
+ msgstr "%2$qE的第 %1$d 个参数必须是在 %3$d 和 %4$d 之间"
+
+@@ -26199,7 +25434,6 @@
+
+ #: config/rs6000/rs6000.c:13239
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "this builtin function is only available on the fr450"
+ msgid "Builtin function %s is only valid for the cell processor"
+ msgstr "此内建函数只在 fr450 上可用"
+
+@@ -26464,19 +25698,16 @@
+
+ #: config/rs6000/e500.h:37
+ #, fuzzy, gcc-internal-format
+-#| msgid "AltiVec and E500 instructions cannot coexist"
+ msgid "AltiVec and SPE instructions cannot coexist"
+ msgstr "AltiVec 和 E500 指令不能共存"
+
+ #: config/rs6000/e500.h:39
+ #, fuzzy, gcc-internal-format
+-#| msgid "VSX and E500 instructions cannot coexist"
+ msgid "VSX and SPE instructions cannot coexist"
+ msgstr "VSX 和 E500 指令不能共存"
+
+ #: config/rs6000/e500.h:41
+ #, fuzzy, gcc-internal-format
+-#| msgid "64-bit E500 not supported"
+ msgid "64-bit SPE not supported"
+ msgstr "不支持 64 位 E500"
+
+@@ -26492,7 +25723,6 @@
+
+ #: config/rs6000/linux64.h:116
+ #, fuzzy, gcc-internal-format
+-#| msgid "-mas100-syntax is incompatible with -gdwarf"
+ msgid "-mcall-aixdesc incompatible with -mabi=elfv2"
+ msgstr "-mas100-syntax 与 -gdwarf 不兼容"
+
+@@ -26550,13 +25780,11 @@
+
+ #: config/rx/rx.c:644
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "unreocgnized control register number: %d - using 'psw'"
+ msgid "unrecognized control register number: %d - using 'psw'"
+ msgstr "无法识别的控制寄存器号:%d - 使用‘psw’"
+
+ #: config/rx/rx.c:1380
+ #, fuzzy, gcc-internal-format
+-#| msgid "multiple interrupt attributes not allowed"
+ msgid "multiple fast interrupt routines seen: %qE and %qE"
+ msgstr "不允许多个中断属性"
+
+@@ -26577,13 +25805,11 @@
+
+ #: config/s390/s390.c:479
+ #, fuzzy, gcc-internal-format
+-#| msgid "argument of %qE attribute is not a string constant"
+ msgid "requested %qE attribute is not a non-negative integer constant or too large (max. %d)"
+ msgstr "%qE属性的实参不是一个字符串常量"
+
+ #: config/s390/s390.c:1712
+ #, fuzzy, gcc-internal-format
+-#| msgid "argument to %qE attribute larger than %d"
+ msgid "argument to %qs is too large (max. %d)"
+ msgstr "%qE属性的实参大于 %d"
+
+@@ -26634,13 +25860,11 @@
+
+ #: config/s390/s390.c:5480
+ #, fuzzy, gcc-internal-format
+-#| msgid "function %q+D redeclared with attribute noinline"
+ msgid "function %qE with the %qs attribute is not hotpatchable"
+ msgstr "函数%q+D重声明为带有不可内联属性"
+
+ #: config/s390/s390.c:5521
+ #, fuzzy, gcc-internal-format
+-#| msgid "ms_hook_prologue is not compatible with nested function"
+ msgid "hotpatch_prologue is not compatible with nested function"
+ msgstr "ms_hook_prologue 与嵌套函数不兼容"
+
+@@ -26661,7 +25885,6 @@
+
+ #: config/s390/s390.c:9019
+ #, fuzzy, gcc-internal-format
+-#| msgid "frame size of %qs is "
+ msgid "frame size of %qs is %wd bytes"
+ msgstr "%qs的框架大小是"
+
+@@ -26770,7 +25993,6 @@
+
+ #: config/sparc/sparc.c:1298
+ #, fuzzy, gcc-internal-format
+-#| msgid "-fdata-sections not supported for this target"
+ msgid "-fcall-saved-REG is not supported for out registers"
+ msgstr "-fdata-sections 在此目标机上不受支持"
+
+@@ -26856,13 +26078,11 @@
+
+ #: config/tilegx/tilegx.c:3512 config/tilepro/tilepro.c:3118
+ #, fuzzy, gcc-internal-format
+-#| msgid "bad builtin code"
+ msgid "bad builtin icode"
+ msgstr "错误的内建代码"
+
+ #: config/tilegx/tilegx.c:3553 config/tilepro/tilepro.c:3144
+ #, fuzzy, gcc-internal-format
+-#| msgid "mask must be an immediate"
+ msgid "operand must be an immediate of the right size"
+ msgstr "掩码必须是一个立即数"
+
+@@ -26983,19 +26203,16 @@
+
+ #: config/vms/vms-c.c:44
+ #, fuzzy, gcc-internal-format
+-#| msgid "junk at end of #pragma ghs starttda"
+ msgid "junk at end of #pragma __nostandard"
+ msgstr "#pragma ghs starttda 末尾有垃圾字符"
+
+ #: config/vms/vms-c.c:55
+ #, fuzzy, gcc-internal-format
+-#| msgid "junk at end of #pragma %s"
+ msgid "junk at end of #pragma __standard"
+ msgstr "#pragma %s 末尾有垃圾字符"
+
+ #: config/vms/vms-c.c:80
+ #, fuzzy, gcc-internal-format
+-#| msgid "malformed %<#pragma align%>, ignoring"
+ msgid "malformed '#pragma member_alignment', ignoring"
+ msgstr "%<#pragma align%>格式错误 - 已忽略"
+
+@@ -27006,25 +26223,21 @@
+
+ #: config/vms/vms-c.c:100
+ #, fuzzy, gcc-internal-format
+-#| msgid "malformed %<#pragma align%>"
+ msgid "malformed '#pragma member_alignment'"
+ msgstr "%<#pragma align%>格式错误"
+
+ #: config/vms/vms-c.c:134
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid alignment for %<#pragma align%>, ignoring"
+ msgid "unhandled alignment for '#pragma nomember_alignment'"
+ msgstr "%<#pragma align%>指定的对齐边界无效,忽略"
+
+ #: config/vms/vms-c.c:147
+ #, fuzzy, gcc-internal-format
+-#| msgid "junk at end of '#pragma options'"
+ msgid "garbage at end of '#pragma nomember_alignment'"
+ msgstr "‘#pragma options’末尾有垃圾字符"
+
+ #: config/vms/vms-c.c:202
+ #, fuzzy, gcc-internal-format
+-#| msgid "malformed '#pragma options', ignoring"
+ msgid "malformed '#pragma extern_model', ignoring"
+ msgstr "‘#pragma options’格式错误 - 已忽略"
+
+@@ -27040,31 +26253,26 @@
+
+ #: config/vms/vms-c.c:234
+ #, fuzzy, gcc-internal-format
+-#| msgid "junk at end of %<#pragma extern_prefix%>"
+ msgid "junk at end of '#pragma extern_model'"
+ msgstr "%<#pragma extern_prefix%>末尾有垃圾字符"
+
+ #: config/vms/vms-c.c:248
+ #, fuzzy, gcc-internal-format
+-#| msgid "malformed %<#pragma message%>, ignored"
+ msgid "vms '#pragma __message' is ignored"
+ msgstr "%<#pragma message%>格式错误,已忽略"
+
+ #: config/vms/vms-c.c:273 config/vms/vms-c.c:279
+ #, fuzzy, gcc-internal-format
+-#| msgid "malformed #pragma extern_prefix, ignored"
+ msgid "malformed '#pragma __extern_prefix', ignoring"
+ msgstr "#pragma extern_prefix 格式错误,已忽略"
+
+ #: config/vms/vms-c.c:312 config/vms/vms-c.c:332
+ #, fuzzy, gcc-internal-format
+-#| msgid "malformed %<#pragma %s%>, ignored"
+ msgid "malformed %<#pragma %s%>, ignoring"
+ msgstr "%<#pragma %s%>格式错误,已忽略"
+
+ #: config/vms/vms-c.c:328
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid constant in %<#pragma pack%> - ignored"
+ msgid "invalid constant in %<#pragma %s%>"
+ msgstr "%<#pragma pack%>中有无效常量 - 已忽略"
+
+@@ -27146,31 +26354,26 @@
+
+ #: c/c-array-notation.c:708 c/c-array-notation.c:714
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD cannot be declared as constexpr"
+ msgid "%qE cannot be scalar when %qE is not"
+ msgstr "%qD不能被声明为广义常表达式"
+
+ #: c/c-array-notation.c:776 cp/cp-array-notation.c:658
+ #, fuzzy, gcc-internal-format
+-#| msgid "type mismatch between an SSA_NAME and its symbol"
+ msgid "length mismatch between LHS and RHS"
+ msgstr "SSA_NAME 和其符号间类型不匹配"
+
+ #: c/c-array-notation.c:1323 cp/cp-array-notation.c:1407
+ #, fuzzy, gcc-internal-format
+-#| msgid "array subscript is not an integer"
+ msgid "start-index of array notation triplet is not an integer"
+ msgstr "数组下标不是一个整数"
+
+ #: c/c-array-notation.c:1328 cp/cp-array-notation.c:1412
+ #, fuzzy, gcc-internal-format
+-#| msgid "array subscript is not an integer"
+ msgid "length of array notation triplet is not an integer"
+ msgstr "数组下标不是一个整数"
+
+ #: c/c-array-notation.c:1335 cp/cp-array-notation.c:1417
+ #, fuzzy, gcc-internal-format
+-#| msgid "array subscript is not an integer"
+ msgid "stride of array notation triplet is not an integer"
+ msgstr "数组下标不是一个整数"
+
+@@ -27593,7 +26796,6 @@
+
+ #: c/c-decl.c:3755
+ #, fuzzy, gcc-internal-format
+-#| msgid "empty declaration with type qualifier does not redeclare tag"
+ msgid "empty declaration with %<_Alignas%> does not redeclare tag"
+ msgstr "带有类型限定的空声明没有重声明标记"
+
+@@ -27609,7 +26811,6 @@
+
+ #: c/c-decl.c:3799
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<inline%> in empty declaration"
+ msgid "%<_Noreturn%> in empty declaration"
+ msgstr "%<inline%>用于空声明中"
+
+@@ -27630,7 +26831,6 @@
+
+ #: c/c-decl.c:3824
+ #, fuzzy, gcc-internal-format
+-#| msgid "useless type name in empty declaration"
+ msgid "useless %qs in empty declaration"
+ msgstr "空声明中类型名无用"
+
+@@ -27641,7 +26841,6 @@
+
+ #: c/c-decl.c:3844
+ #, fuzzy, gcc-internal-format
+-#| msgid "useless %<__thread%> in empty declaration"
+ msgid "useless %<_Alignas%> in empty declaration"
+ msgstr "空声明中%<__thread%>无用"
+
+@@ -27890,7 +27089,6 @@
+
+ #: c/c-decl.c:5147
+ #, fuzzy, gcc-internal-format
+-#| msgid "duplicate %<restrict%>"
+ msgid "duplicate %<_Atomic%>"
+ msgstr "重复的%<restrict%>"
+
+@@ -27921,7 +27119,6 @@
+
+ #: c/c-decl.c:5190
+ #, fuzzy, gcc-internal-format
+-#| msgid "function definition declared %<auto%>"
+ msgid "function definition declared %qs"
+ msgstr "函数声明定义为%<auto%>"
+
+@@ -27977,7 +27174,6 @@
+
+ #: c/c-decl.c:5259
+ #, fuzzy, gcc-internal-format
+-#| msgid "function-scope %qE implicitly auto and declared %<__thread%>"
+ msgid "function-scope %qE implicitly auto and declared %qs"
+ msgstr "函数作用域的%qE隐式为 auto,却被声明为%<__thread%>"
+
+@@ -28103,7 +27299,6 @@
+ #: c/c-decl.c:5754 c/c-decl.c:5952 c/c-decl.c:6005 c/c-decl.c:6078
+ #: c/c-decl.c:6179 c/c-parser.c:2401
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C forbids qualified function types"
+ msgid "%<_Atomic%>-qualified function type"
+ msgstr "ISO C 不允许使用 const 或 volatile 限定函数类型"
+
+@@ -28149,55 +27344,46 @@
+
+ #: c/c-decl.c:5880
+ #, fuzzy, gcc-internal-format
+-#| msgid "bit-field %qs has invalid type"
+ msgid "bit-field %qE has atomic type"
+ msgstr "位段%qs类型无效"
+
+ #: c/c-decl.c:5882
+ #, fuzzy, gcc-internal-format
+-#| msgid "bit-field %qs has invalid type"
+ msgid "bit-field has atomic type"
+ msgstr "位段%qs类型无效"
+
+ #: c/c-decl.c:5891
+ #, fuzzy, gcc-internal-format
+-#| msgid "alignment may not be specified for %q+D"
+ msgid "alignment specified for typedef %qE"
+ msgstr "不能为%q+D指定对齐"
+
+ #: c/c-decl.c:5893
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs specified for parameter %qE"
+ msgid "alignment specified for %<register%> object %qE"
+ msgstr "为形参%2$qE指定了%1$qs"
+
+ #: c/c-decl.c:5898
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs specified for parameter %qE"
+ msgid "alignment specified for parameter %qE"
+ msgstr "为形参%2$qE指定了%1$qs"
+
+ #: c/c-decl.c:5900
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs specified for unnamed parameter"
+ msgid "alignment specified for unnamed parameter"
+ msgstr "为无名形参指定了%qs"
+
+ #: c/c-decl.c:5905
+ #, fuzzy, gcc-internal-format
+-#| msgid "alignment may not be specified for %q+D"
+ msgid "alignment specified for bit-field %qE"
+ msgstr "不能为%q+D指定对齐"
+
+ #: c/c-decl.c:5907
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs specified for unnamed parameter"
+ msgid "alignment specified for unnamed bit-field"
+ msgstr "为无名形参指定了%qs"
+
+ #: c/c-decl.c:5910
+ #, fuzzy, gcc-internal-format
+-#| msgid "assignment of function %qD"
+ msgid "alignment specified for function %qE"
+ msgstr "向函数%qD赋值"
+
+@@ -28218,7 +27404,6 @@
+
+ #: c/c-decl.c:5968
+ #, fuzzy, gcc-internal-format
+-#| msgid "typedef %q+D declared %<inline%>"
+ msgid "typedef %q+D declared %<_Noreturn%>"
+ msgstr "typedef%q+D声明为%<inline%>"
+
+@@ -28250,7 +27435,6 @@
+
+ #: c/c-decl.c:6111
+ #, fuzzy, gcc-internal-format
+-#| msgid "parameter %q+D declared %<inline%>"
+ msgid "parameter %q+D declared %<_Noreturn%>"
+ msgstr "形参%q+D声明为%<inline%>"
+
+@@ -28281,19 +27465,16 @@
+
+ #: c/c-decl.c:6223
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE initialized and declared %<extern%>"
+ msgid "%<main%> declared %<_Noreturn%>"
+ msgstr "%qE已初始化,却又被声明为%<extern%>"
+
+ #: c/c-decl.c:6236
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C99 does not support %<_Static_assert%>"
+ msgid "ISO C99 does not support %<_Noreturn%>"
+ msgstr "ISO C90 不支持%<_Static_assert%>"
+
+ #: c/c-decl.c:6239
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C90 does not support %<long long%>"
+ msgid "ISO C90 does not support %<_Noreturn%>"
+ msgstr "ISO C90 不支持%<long long%>"
+
+@@ -28309,7 +27490,6 @@
+
+ #: c/c-decl.c:6280
+ #, fuzzy, gcc-internal-format
+-#| msgid "variable %q+D declared %<inline%>"
+ msgid "variable %q+D declared %<_Noreturn%>"
+ msgstr "变量%q+D声明为%<inline%>"
+
+@@ -28482,7 +27662,6 @@
+
+ #: c/c-decl.c:7352 cp/class.c:6386
+ #, fuzzy, gcc-internal-format
+-#| msgid "size of array %qE is too large"
+ msgid "type %qT is too large"
+ msgstr "数组%qE太大"
+
+@@ -28682,13 +27861,11 @@
+ #. allow it.
+ #: c/c-decl.c:8697
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<for%> loop initial declarations are only allowed in C99 mode"
+ msgid "%<for%> loop initial declarations are only allowed in C99 or C11 mode"
+ msgstr "只允许在 C99 模式下使用%<for%>循环初始化声明"
+
+ #: c/c-decl.c:8702
+ #, fuzzy, gcc-internal-format
+-#| msgid "use option -std=c99 or -std=gnu99 to compile your code"
+ msgid "use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code"
+ msgstr "使用 -std=c99 或 -std=gnu99 来编译您的代码"
+
+@@ -28799,31 +27976,26 @@
+
+ #: c/c-decl.c:9862
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<__thread%> used with %<auto%>"
+ msgid "%qE used with %<auto%>"
+ msgstr "%<__thread%>与%<auto%>一起使用"
+
+ #: c/c-decl.c:9864
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<__thread%> used with %<register%>"
+ msgid "%qE used with %<register%>"
+ msgstr "%<__thread%>与%<register%>一起使用"
+
+ #: c/c-decl.c:9866
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<__thread%> used with %<typedef%>"
+ msgid "%qE used with %<typedef%>"
+ msgstr "%<__thread%>与%<typedef%>一起使用"
+
+ #: c/c-decl.c:9880 c/c-parser.c:6560
+ #, fuzzy, gcc-internal-format
+-#| msgid "%s does not support %s"
+ msgid "ISO C99 does not support %qE"
+ msgstr "%s 不支持 %s"
+
+ #: c/c-decl.c:9883 c/c-parser.c:6563
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C90 does not support %<long long%>"
+ msgid "ISO C90 does not support %qE"
+ msgstr "ISO C90 不支持%<long long%>"
+
+@@ -28849,7 +28021,6 @@
+
+ #: c/c-decl.c:9933
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs must be used with %qs"
+ msgid "%qs used with %qE"
+ msgstr "%qs必须与%qs一起使用"
+
+@@ -28906,7 +28077,6 @@
+
+ #: c/c-parser.c:1535
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<inline%> in empty declaration"
+ msgid "%<__auto_type%> in empty declaration"
+ msgstr "%<inline%>用于空声明中"
+
+@@ -28942,13 +28112,11 @@
+
+ #: c/c-parser.c:1706
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<typeof%> applied to a bit-field"
+ msgid "%<__auto_type%> used with a bit-field initializer"
+ msgstr "为位段使用%<typeof%>"
+
+ #: c/c-parser.c:1778 c/c-parser.c:1863
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<auto%> in file-scope empty declaration"
+ msgid "%<__auto_type%> requires an initialized data declaration"
+ msgstr "文件作用域中出现%<auto%>空声明"
+
+@@ -29022,19 +28190,16 @@
+
+ #: c/c-parser.c:2372
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C99 does not support %<_Static_assert%>"
+ msgid "ISO C99 does not support the %<_Atomic%> qualifier"
+ msgstr "ISO C90 不支持%<_Static_assert%>"
+
+ #: c/c-parser.c:2375
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C90 does not support %<_Static_assert%>"
+ msgid "ISO C90 does not support the %<_Atomic%> qualifier"
+ msgstr "ISO C90 不支持%<_Static_assert%>"
+
+ #: c/c-parser.c:2403
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<typeof%> applied to a bit-field"
+ msgid "%<_Atomic%> applied to a qualified type"
+ msgstr "为位段使用%<typeof%>"
+
+@@ -29109,13 +28274,11 @@
+
+ #: c/c-parser.c:3049
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C90 does not support %<long long%>"
+ msgid "ISO C99 does not support %<_Alignas%>"
+ msgstr "ISO C90 不支持%<long long%>"
+
+ #: c/c-parser.c:3052
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C90 does not support %<long long%>"
+ msgid "ISO C90 does not support %<_Alignas%>"
+ msgstr "ISO C90 不支持%<long long%>"
+
+@@ -29126,7 +28289,6 @@
+
+ #: c/c-parser.c:3349 c/c-parser.c:3378
+ #, fuzzy, gcc-internal-format
+-#| msgid "Warn for obsolescent usage in a declaration"
+ msgid "array notations cannot be used in declaration"
+ msgstr "对声明中的过时用法给出警告"
+
+@@ -29306,37 +28468,31 @@
+
+ #: c/c-parser.c:6616
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C++ does not allow %<alignof%> with a non-type"
+ msgid "ISO C does not allow %<%E (expression)%>"
+ msgstr "ISO C++ 不允许对非类型使用%<alignof%>"
+
+ #: c/c-parser.c:6643
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot take address of bit-field %qD"
+ msgid "cannot take address of %qs"
+ msgstr "无法取得位段%qD的地址"
+
+ #: c/c-parser.c:6727
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C99 does not support %<_Static_assert%>"
+ msgid "ISO C99 does not support %<_Generic%>"
+ msgstr "ISO C90 不支持%<_Static_assert%>"
+
+ #: c/c-parser.c:6730
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C90 does not support %<_Static_assert%>"
+ msgid "ISO C90 does not support %<_Generic%>"
+ msgstr "ISO C90 不支持%<_Static_assert%>"
+
+ #: c/c-parser.c:6797
+ #, fuzzy, gcc-internal-format
+-#| msgid "cast specifies function type"
+ msgid "%<_Generic%> association has function type"
+ msgstr "类型转换指定了函数类型"
+
+ #: c/c-parser.c:6800
+ #, fuzzy, gcc-internal-format
+-#| msgid "expression statement has incomplete type"
+ msgid "%<_Generic%> association has incomplete type"
+ msgstr "表达式语句类型不完全"
+
+@@ -29352,7 +28508,6 @@
+
+ #: c/c-parser.c:6829
+ #, fuzzy, gcc-internal-format
+-#| msgid "originally defined here"
+ msgid "original %<default%> is here"
+ msgstr "原先在这里定义"
+
+@@ -29368,7 +28523,6 @@
+
+ #: c/c-parser.c:6861
+ #, fuzzy, gcc-internal-format
+-#| msgid "Generate load/store multiple instructions"
+ msgid "%<_Generic> selector matches multiple associations"
+ msgstr "生成加载/存储乘法指令"
+
+@@ -29399,7 +28553,6 @@
+
+ #: c/c-parser.c:7265
+ #, fuzzy, gcc-internal-format
+-#| msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgid "wrong number of arguments to %<__builtin_choose_expr%>"
+ msgstr "给函数%<__builtin_next_arg%>的参数数目不对"
+
+@@ -29410,7 +28563,6 @@
+
+ #: c/c-parser.c:7347
+ #, fuzzy, gcc-internal-format
+-#| msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgid "wrong number of arguments to %<__builtin_complex%>"
+ msgstr "给函数%<__builtin_next_arg%>的参数数目不对"
+
+@@ -29421,13 +28573,11 @@
+
+ #: c/c-parser.c:7378
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgid "%<__builtin_complex%> operands of different types"
+ msgstr "%<__builtin_longjmp%>的第二个实参必须是 1"
+
+ #: c/c-parser.c:7424 cp/parser.c:5861
+ #, fuzzy, gcc-internal-format
+-#| msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgid "wrong number of arguments to %<__builtin_shuffle%>"
+ msgstr "给函数%<__builtin_next_arg%>的参数数目不对"
+
+@@ -29538,19 +28688,16 @@
+
+ #: c/c-parser.c:9422 cp/parser.c:31380
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<#pragma omp taskwait%> may only be used in compound statements"
+ msgid "%<#pragma omp taskyield%> may only be used in compound statements"
+ msgstr "%<#pragma omp taskwait%>只能用在复合语句中"
+
+ #: c/c-parser.c:9433 cp/parser.c:31396
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgid "%<#pragma omp cancel%> may only be used in compound statements"
+ msgstr "%<#pragma omp barrier%>只能用在复合语句中"
+
+ #: c/c-parser.c:9444 cp/parser.c:31412
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<#pragma omp taskwait%> may only be used in compound statements"
+ msgid "%<#pragma omp cancellation point%> may only be used in compound statements"
+ msgstr "%<#pragma omp taskwait%>只能用在复合语句中"
+
+@@ -29561,7 +28708,6 @@
+
+ #: c/c-parser.c:9479 cp/parser.c:31468
+ #, fuzzy, gcc-internal-format
+-#| msgid "for statement expected"
+ msgid "for, while or do statement expected"
+ msgstr "需要 for 语句"
+
+@@ -29598,7 +28744,6 @@
+
+ #: c/c-parser.c:10195
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>"
+ msgstr "需要%<+%>、%<*%>、%<-%>、%<&%>、%<^%>、%<|%>、%<&&%>或%<||%>"
+
+@@ -29619,19 +28764,16 @@
+
+ #: c/c-parser.c:10410
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<num_threads%> value must be positive"
+ msgid "%<num_teams%> value must be positive"
+ msgstr "%<num_threads%>值必须为正"
+
+ #: c/c-parser.c:10454
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<num_threads%> value must be positive"
+ msgid "%<thread_limit%> value must be positive"
+ msgstr "%<num_threads%>值必须为正"
+
+ #: c/c-parser.c:10496 cp/semantics.c:5589
+ #, fuzzy, gcc-internal-format
+-#| msgid "%Hcollapse argument needs positive constant integer expression"
+ msgid "%<aligned%> clause alignment expression must be positive constant integer expression"
+ msgstr "%H折叠变量需要正整常数表达式"
+
+@@ -29642,49 +28784,41 @@
+
+ #: c/c-parser.c:10538
+ #, fuzzy, gcc-internal-format
+-#| msgid "schedule chunk size expression must be integral"
+ msgid "%<linear%> clause step expression must be integral"
+ msgstr "调度块大小表达式必须为整型"
+
+ #: c/c-parser.c:10575
+ #, fuzzy, gcc-internal-format
+-#| msgid "%Hcollapse argument needs positive constant integer expression"
+ msgid "%<safelen%> clause expression must be positive constant integer expression"
+ msgstr "%H折叠变量需要正整常数表达式"
+
+ #: c/c-parser.c:10611
+ #, fuzzy, gcc-internal-format
+-#| msgid "%Hcollapse argument needs positive constant integer expression"
+ msgid "%<simdlen%> clause expression must be positive constant integer expression"
+ msgstr "%H折叠变量需要正整常数表达式"
+
+ #: c/c-parser.c:10673 cp/parser.c:27875 cp/parser.c:28058
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid schedule kind"
+ msgid "invalid depend kind"
+ msgstr "无效的调度类型"
+
+ #: c/c-parser.c:10710 cp/parser.c:27915
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid mask"
+ msgid "invalid map kind"
+ msgstr "无效掩码"
+
+ #: c/c-parser.c:10775 cp/parser.c:28005
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid schedule kind"
+ msgid "invalid dist_schedule kind"
+ msgstr "无效的调度类型"
+
+ #: c/c-parser.c:10844
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid schedule kind"
+ msgid "invalid proc_bind kind"
+ msgstr "无效的调度类型"
+
+ #: c/c-parser.c:10999 cp/parser.c:28194
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs must be used with %qs"
+ msgid "%qs must be the first clause of %qs"
+ msgstr "%qs必须与%qs一起使用"
+
+@@ -29700,7 +28834,6 @@
+
+ #: c/c-parser.c:11459 cp/parser.c:28653 cp/parser.c:28679
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid operator for %<#pragma omp atomic%>"
+ msgid "invalid form of %<#pragma omp atomic%>"
+ msgstr "%<#pragma omp atomic%>运算符无效"
+
+@@ -29746,19 +28879,16 @@
+
+ #: c/c-parser.c:12219 cp/parser.c:29731
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<operator%>"
+ msgid "expected %<for%> after %qs"
+ msgstr "需要%<operator%>"
+
+ #: c/c-parser.c:12411 cp/parser.c:29918
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<using%>"
+ msgid "expected %<point%>"
+ msgstr "需要%<using%>"
+
+ #: c/c-parser.c:12615 cp/parser.c:30140
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<#pragma omp taskwait%> may only be used in compound statements"
+ msgid "%<#pragma omp target update%> may only be used in compound statements"
+ msgstr "%<#pragma omp taskwait%>只能用在复合语句中"
+
+@@ -29774,7 +28904,6 @@
+
+ #: c/c-parser.c:12817 c/c-parser.c:12845
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<#pragma align%> must appear before the declaration of %D, ignoring"
+ msgid "%<#pragma omp declare simd%> must be followed by function declaration or definition"
+ msgstr "%<#pragma align%>必须出现在 %D 的声明之前,忽略"
+
+@@ -29795,19 +28924,16 @@
+
+ #: c/c-parser.c:12983 cp/parser.c:30450
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<try%>"
+ msgid "expected %<target%>"
+ msgstr "需要%<try%>"
+
+ #: c/c-parser.c:12990 cp/parser.c:30457
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<decltype%>"
+ msgid "expected %<declare%>"
+ msgstr "需要%<decltype%>"
+
+ #: c/c-parser.c:12996 cp/parser.c:30464
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<#pragma GCC pop_options%> without a corresponding %<#pragma GCC push_options%>"
+ msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%>"
+ msgstr "%<#pragma GCC pop_options%>缺少相应的%<#pragma GCC push_options%>"
+
+@@ -29818,7 +28944,6 @@
+
+ #: c/c-parser.c:13074
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or identifier"
+ msgstr "需要%<+%>、%<*%>、%<-%>、%<&%>、%<^%>、%<|%>、%<&&%>或%<||%>"
+
+@@ -29844,19 +28969,16 @@
+
+ #: c/c-parser.c:13125
+ #, fuzzy, gcc-internal-format
+-#| msgid "previous declaration"
+ msgid "previous %<#pragma omp declare reduction%>"
+ msgstr "上一个声明"
+
+ #: c/c-parser.c:13242
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<(%> or end of line"
+ msgid "expected %<omp_priv%> or function-name"
+ msgstr "需要%<(%>或行尾"
+
+ #: c/c-parser.c:13253
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected function"
+ msgid "expected function-name %<(%>"
+ msgstr "需要函数"
+
+@@ -29867,7 +28989,6 @@
+
+ #: c/c-parser.c:13388 cp/parser.c:30900
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<#pragma omp section%> or %<}%>"
+ msgid "expected %<simd%> or %<reduction%> or %<target%>"
+ msgstr "需要%<#pragma omp section%>或%<}%>"
+
+@@ -29898,31 +29019,26 @@
+
+ #: c/c-parser.c:13536
+ #, fuzzy, gcc-internal-format
+-#| msgid "#pragma GCC optimize is not allowed inside functions"
+ msgid "pragma simd must be inside a function"
+ msgstr "#pragma GCC optimize 不允许用在函数中"
+
+ #: c/c-parser.c:13580 cp/parser.c:31586
+ #, fuzzy, gcc-internal-format
+-#| msgid "selector must be an integer constant in the range 0..%wi"
+ msgid "vectorlength must be an integer constant"
+ msgstr "选择子必须是 0 到 %wi 间的整常量"
+
+ #: c/c-parser.c:13582 cp/parser.c:31589
+ #, fuzzy, gcc-internal-format
+-#| msgid "stack size must be an exact power of 2"
+ msgid "vectorlength must be a power of 2"
+ msgstr "栈大小必须刚好是 2 的某次方"
+
+ #: c/c-parser.c:13665 cp/parser.c:31696
+ #, fuzzy, gcc-internal-format
+-#| msgid "selector must be an integer constant in the range 0..%wi"
+ msgid "step size must be an integer constant expression or an integer variable"
+ msgstr "选择子必须是 0 到 %wi 间的整常量"
+
+ #: c/c-parser.c:13764 cp/parser.c:31789
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<#pragma omp%> clause"
+ msgid "expected %<#pragma simd%> clause"
+ msgstr "需要%<#pragma omp%>子句"
+
+@@ -29953,7 +29069,6 @@
+
+ #: c/c-parser.c:14059 cp/parser.c:6263
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<:%> or %<::%>"
+ msgid "expected %<:%> or numeral"
+ msgstr "需要%<:%>或%<::%>"
+
+@@ -29964,7 +29079,6 @@
+
+ #: c/c-parser.c:14077 c/c-parser.c:14120
+ #, fuzzy, gcc-internal-format
+-#| msgid "new cannot be applied to a function type"
+ msgid "array notations cannot be used with function type"
+ msgstr "new 不能用于函数类型"
+
+@@ -29980,7 +29094,6 @@
+
+ #: c/c-parser.c:14148 c/c-parser.c:14151
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected boolean expression"
+ msgid "expected array notation expression"
+ msgstr "需要布尔表达式"
+
+@@ -30062,7 +29175,6 @@
+
+ #: c/c-typeck.c:1832
+ #, fuzzy, gcc-internal-format
+-#| msgid "defining a type in a compound literal is invalid in C++"
+ msgid "converting an array compound literal to a pointer is ill-formed in C++"
+ msgstr "C++ 不允许在组合字面常量中定义类型"
+
+@@ -30088,7 +29200,6 @@
+
+ #: c/c-typeck.c:2434
+ #, fuzzy, gcc-internal-format
+-#| msgid "alignment of array elements is greater than element size"
+ msgid "rank of the array's index is greater than 1"
+ msgstr "数组元素的对齐边界比元素大小还要大"
+
+@@ -30129,19 +29240,16 @@
+
+ #: c/c-typeck.c:2881
+ #, fuzzy, gcc-internal-format
+-#| msgid "called object %qE is not a function"
+ msgid "called object %qE is not a function or function pointer"
+ msgstr "被调用的对象%qE不是一个函数"
+
+ #: c/c-typeck.c:2886
+ #, fuzzy, gcc-internal-format
+-#| msgid "called object %qE is not a function"
+ msgid "called object %qD is not a function or function pointer"
+ msgstr "被调用的对象%qE不是一个函数"
+
+ #: c/c-typeck.c:2892
+ #, fuzzy, gcc-internal-format
+-#| msgid "called object %qE is not a function"
+ msgid "called object is not a function or function pointer"
+ msgstr "被调用的对象%qE不是一个函数"
+
+@@ -30250,7 +29358,6 @@
+
+ #: c/c-typeck.c:3515 cp/typeck.c:5054
+ #, fuzzy, gcc-internal-format
+-#| msgid "arithmetic on pointer to an incomplete type"
+ msgid "arithmetic on pointer to an empty aggregate"
+ msgstr "在指向不完全类型的指针上执行算术运算"
+
+@@ -30366,7 +29473,6 @@
+
+ #: c/c-typeck.c:4725 cp/typeck.c:6204
+ #, fuzzy, gcc-internal-format
+-#| msgid "a function call cannot appear in a constant-expression"
+ msgid "spawned function call cannot be part of a comma expression"
+ msgstr "函数调用不能出现在常量表达式中"
+
+@@ -30377,7 +29483,6 @@
+
+ #: c/c-typeck.c:4777 c/c-typeck.c:9666
+ #, fuzzy, gcc-internal-format
+-#| msgid "left-hand operand of comma expression has no effect"
+ msgid "right-hand operand of comma expression has no effect"
+ msgstr "逗号表达式的左操作数不起作用"
+
+@@ -30473,7 +29578,6 @@
+
+ #: c/c-typeck.c:5214
+ #, fuzzy, gcc-internal-format
+-#| msgid "assignment suppression"
+ msgid "assignment to expression with array type"
+ msgstr "取消赋值"
+
+@@ -30819,7 +29923,6 @@
+
+ #: c/c-typeck.c:7436
+ #, fuzzy, gcc-internal-format
+-#| msgid "missing initializer for member %qD"
+ msgid "missing initializer for field %qD of %qT"
+ msgstr "成员%qD缺少初始值设定"
+
+@@ -30945,7 +30048,6 @@
+
+ #: c/c-typeck.c:9139 cp/typeck.c:8333
+ #, fuzzy, gcc-internal-format
+-#| msgid "Logical range in CASE statement at %L is not allowed"
+ msgid "use of %<_Cilk_spawn%> in a return statement is not allowed"
+ msgstr "%L处 CASE 语句中的逻辑范围是不被允许的"
+
+@@ -31031,13 +30133,11 @@
+
+ #: c/c-typeck.c:9621
+ #, fuzzy, gcc-internal-format
+-#| msgid "break statement not within loop or switch"
+ msgid "break statement within %<#pragma simd%> loop body"
+ msgstr "break 语句不在循环或开关语句内"
+
+ #: c/c-typeck.c:9623 cp/parser.c:10656
+ #, fuzzy, gcc-internal-format
+-#| msgid "continue statement not within a loop"
+ msgid "continue statement within %<#pragma simd%> loop body"
+ msgstr "continue 语句出现在循环以外"
+
+@@ -31053,7 +30153,6 @@
+
+ #: c/c-typeck.c:10464 c/c-typeck.c:10601 cp/typeck.c:4570
+ #, fuzzy, gcc-internal-format
+-#| msgid "Warn about comparison of different enum types"
+ msgid "comparing vectors with different element types"
+ msgstr "对不同枚举类型之间的比较给出警告"
+
+@@ -31140,7 +30239,6 @@
+
+ #: c/c-typeck.c:11053
+ #, fuzzy, gcc-internal-format
+-#| msgid "used struct type value where scalar is required"
+ msgid "used vector type where scalar is required"
+ msgstr "需要标量时使用了结构类型"
+
+@@ -31156,7 +30254,6 @@
+
+ #: c/c-typeck.c:11269 cp/semantics.c:4222 cp/semantics.c:5655
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is not a variable in clause %qs"
+ msgid "%qD is not a variable in %qs clause"
+ msgstr "%qD在子句%qs中不是一个变量"
+
+@@ -31163,7 +30260,6 @@
+ #: c/c-typeck.c:11273 c/c-typeck.c:12044 cp/semantics.c:4226
+ #: cp/semantics.c:5658
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE is not a variable in clause %qs"
+ msgid "%qE is not a variable in %qs clause"
+ msgstr "%qE在子句%qs中不是一个变量"
+
+@@ -31170,19 +30266,16 @@
+ #: c/c-typeck.c:11281 c/c-typeck.c:12051 cp/semantics.c:4234
+ #: cp/semantics.c:5664
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is not a variable in clause %qs"
+ msgid "%qD is threadprivate variable in %qs clause"
+ msgstr "%qD在子句%qs中不是一个变量"
+
+ #: c/c-typeck.c:11303 cp/semantics.c:4260
+ #, fuzzy, gcc-internal-format
+-#| msgid "size in array new must have integral type"
+ msgid "low bound %qE of array section does not have integral type"
+ msgstr "数组 new 的大小必须有整数类型"
+
+ #: c/c-typeck.c:11310 cp/semantics.c:4267
+ #, fuzzy, gcc-internal-format
+-#| msgid "size in array new must have integral type"
+ msgid "length %qE of array section does not have integral type"
+ msgstr "数组 new 的大小必须有整数类型"
+
+@@ -31198,7 +30291,6 @@
+
+ #: c/c-typeck.c:11359 cp/semantics.c:4316
+ #, fuzzy, gcc-internal-format
+-#| msgid "variable length array is used"
+ msgid "negative length in array section in %qs clause"
+ msgstr "使用了变长数组"
+
+@@ -31219,7 +30311,6 @@
+
+ #: c/c-typeck.c:11447 cp/semantics.c:4404
+ #, fuzzy, gcc-internal-format
+-#| msgid "for increment expression has no effect"
+ msgid "for pointer type length expression must be specified"
+ msgstr "for 循环増量表达式不起作用"
+
+@@ -31226,7 +30317,6 @@
+ #: c/c-typeck.c:11456 c/c-typeck.c:11571 cp/semantics.c:4413
+ #: cp/semantics.c:4524
+ #, fuzzy, gcc-internal-format
+-#| msgid "Copy array sections into a contiguous block on procedure entry"
+ msgid "array section is not contiguous in %qs clause"
+ msgstr "在过程入口处将数组段复制到一个连续的块中"
+
+@@ -31282,25 +30372,21 @@
+
+ #: c/c-typeck.c:11975 cp/semantics.c:5545
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE is not a variable in clause %qs"
+ msgid "%qE is not a variable in %<aligned%> clause"
+ msgstr "%qE在子句%qs中不是一个变量"
+
+ #: c/c-typeck.c:11982
+ #, fuzzy, gcc-internal-format
+-#| msgid "type to vector delete is neither pointer or array type"
+ msgid "%qE in %<aligned%> clause is neither a pointer nor an array"
+ msgstr "向量 delete 的实参类型既非指针也非数组"
+
+ #: c/c-typeck.c:11989
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE appears more than once in data clauses"
+ msgid "%qE appears more than once in %<aligned%> clauses"
+ msgstr "%qE在数据子句中多次出现"
+
+ #: c/c-typeck.c:12010 cp/semantics.c:5615
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE is not a variable in clause %qs"
+ msgid "%qE is not a variable in %<depend%> clause"
+ msgstr "%qE在子句%qs中不是一个变量"
+
+@@ -31311,31 +30397,26 @@
+
+ #: c/c-typeck.c:12062 cp/semantics.c:5680
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is not a variable in clause %qs"
+ msgid "%qD does not have a mappable type in %qs clause"
+ msgstr "%qD在子句%qs中不是一个变量"
+
+ #: c/c-typeck.c:12069 cp/semantics.c:5687
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD appears more than once in data clauses"
+ msgid "%qD appears more than once in motion clauses"
+ msgstr "%qD在数据子句中多次出现"
+
+ #: c/c-typeck.c:12071 cp/semantics.c:5689
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD appears more than once in data clauses"
+ msgid "%qD appears more than once in map clauses"
+ msgstr "%qD在数据子句中多次出现"
+
+ #: c/c-typeck.c:12084 cp/semantics.c:5703
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is not a variable in clause %qs"
+ msgid "%qD is not an argument in %<uniform%> clause"
+ msgstr "%qD在子句%qs中不是一个变量"
+
+ #: c/c-typeck.c:12087 cp/semantics.c:5705
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE is not a variable in clause %qs"
+ msgid "%qE is not an argument in %<uniform%> clause"
+ msgstr "%qE在子句%qs中不是一个变量"
+
+@@ -31424,7 +30505,6 @@
+ #. Re-run template unification with diagnostics.
+ #: cp/call.c:3279
+ #, fuzzy, gcc-internal-format
+-#| msgid "template argument %d is invalid"
+ msgid " template argument deduction/substitution failed:"
+ msgstr "模板第 %d 个参数无效"
+
+@@ -31472,25 +30552,21 @@
+
+ #: cp/call.c:4245
+ #, fuzzy, gcc-internal-format
+-#| msgid "ambiguous overload for %qs in %<%s %E%>"
+ msgid "ambiguous overload for "
+ msgstr "%qs在%<%s %E%>中的重载有歧义"
+
+ #: cp/call.c:4246
+ #, fuzzy, gcc-internal-format
+-#| msgid "no match for %qs in %<%s %E%>"
+ msgid "no match for "
+ msgstr "%qs在%<%s %E%>中没有匹配"
+
+ #: cp/call.c:4249
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgid " (operand types are %qT, %qT, and %qT)"
+ msgstr "双目运算符 %s 操作数(%qT和%qT)无效"
+
+ #: cp/call.c:4251
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgid " (operand types are %qT and %qT)"
+ msgstr "双目运算符 %s 操作数(%qT和%qT)无效"
+
+@@ -31501,61 +30577,51 @@
+
+ #: cp/call.c:4273
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<operator%>"
+ msgid "ternary %<operator?:%>"
+ msgstr "需要%<operator%>"
+
+ #: cp/call.c:4277
+ #, fuzzy, gcc-internal-format
+-#| msgid "no match for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgid "ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr "三元%<operator?:%>在%<%E ? %E : %E%>中没有匹配"
+
+ #: cp/call.c:4286 cp/call.c:4317 cp/call.c:4326
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<operator%>"
+ msgid "%<operator%s%>"
+ msgstr "需要%<operator%>"
+
+ #: cp/call.c:4289
+ #, fuzzy, gcc-internal-format
+-#| msgid "no match for %<operator%s%> in %<%E%s%>"
+ msgid "%<operator%s%> in %<%E%s%>"
+ msgstr "%<operator%s%>在%<%E%s%>中没有匹配"
+
+ #: cp/call.c:4296
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<operator%>"
+ msgid "%<operator[]%>"
+ msgstr "需要%<operator%>"
+
+ #: cp/call.c:4299
+ #, fuzzy, gcc-internal-format
+-#| msgid "no match for %<operator[]%> in %<%E[%E]%>"
+ msgid "%<operator[]%> in %<%E[%E]%>"
+ msgstr "%<operator[]%>在%<%E[%E]%>中没有匹配"
+
+ #: cp/call.c:4307
+ #, fuzzy, gcc-internal-format
+-#| msgid "%s"
+ msgid "%qs"
+ msgstr "%s"
+
+ #: cp/call.c:4310
+ #, fuzzy, gcc-internal-format
+-#| msgid "no match for %qs in %<%s %E%>"
+ msgid "%qs in %<%s %E%>"
+ msgstr "%qs在%<%s %E%>中没有匹配"
+
+ #: cp/call.c:4320
+ #, fuzzy, gcc-internal-format
+-#| msgid "no match for %<operator%s%> in %<%E %s %E%>"
+ msgid "%<operator%s%> in %<%E %s %E%>"
+ msgstr "%<operator%s%>在%<%E %s %E%>中没有匹配"
+
+ #: cp/call.c:4329
+ #, fuzzy, gcc-internal-format
+-#| msgid "no match for %<operator%s%> in %<%s%E%>"
+ msgid "%<operator%s%> in %<%s%E%>"
+ msgstr "%<operator%s%>在%<%s%E%>中没有匹配"
+
+@@ -31571,7 +30637,6 @@
+
+ #: cp/call.c:4554
+ #, fuzzy, gcc-internal-format
+-#| msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgid "incompatible vector types in conditional expression: %qT, %qT and %qT"
+ msgstr "条件表达式中枚举不匹配:%qT对%qT"
+
+@@ -31672,7 +30737,6 @@
+
+ #: cp/call.c:5883
+ #, fuzzy, gcc-internal-format
+-#| msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgid "converting %<false%> to pointer type %qT"
+ msgstr "将%<false%>转换为指向%2$qD的实参 %1$P 的指针类型"
+
+@@ -31683,7 +30747,6 @@
+
+ #: cp/call.c:5940
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid conversion from %qT to %qT"
+ msgid "invalid user-defined conversion from %qT to %qT"
+ msgstr "从类型%qT到类型%qT的转换无效"
+
+@@ -31694,7 +30757,6 @@
+
+ #: cp/call.c:5975
+ #, fuzzy, gcc-internal-format
+-#| msgid " initializing argument %P of %qD"
+ msgid "initializing argument %P of %qD"
+ msgstr " 初始化%2$qD的实参 %1$P"
+
+@@ -31705,7 +30767,6 @@
+
+ #: cp/call.c:6080 cp/call.c:6219
+ #, fuzzy, gcc-internal-format
+-#| msgid " initializing argument %P of %q+D"
+ msgid "initializing argument %P of %q+D"
+ msgstr "以初始化%2$q+D的实参 %1$P"
+
+@@ -31736,7 +30797,6 @@
+
+ #: cp/call.c:6370 cp/cvt.c:1720
+ #, fuzzy, gcc-internal-format
+-#| msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgid "scoped enum %qT will not promote to an integral type in a future version of GCC"
+ msgstr "在 GCC 的未来版本中类%qT将被看作几乎为空"
+
+@@ -31758,7 +30818,6 @@
+
+ #: cp/call.c:6507
+ #, fuzzy, gcc-internal-format
+-#| msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgid "call to %qD uses the default argument for parameter %P, which is not yet defined"
+ msgstr "%2$qD的第 %1$d 个形参的默认实参尚未被解析到"
+
+@@ -31769,7 +30828,6 @@
+
+ #: cp/call.c:6668
+ #, fuzzy, gcc-internal-format
+-#| msgid "defaulted function %q+D with default argument"
+ msgid "use of multiversioned function without a default"
+ msgstr "默认化函数%q+D有默认参数"
+
+@@ -31820,7 +30878,6 @@
+
+ #: cp/call.c:7662
+ #, fuzzy, gcc-internal-format
+-#| msgid " for a function-style cast, remove the redundant %<::%D%>"
+ msgid "for a function-style cast, remove the redundant %<::%D%>"
+ msgstr "对于函数类型的类型转换,移除冗余的%<::%D%>"
+
+@@ -31891,7 +30948,6 @@
+
+ #: cp/call.c:9075
+ #, fuzzy, gcc-internal-format
+-#| msgid "could not convert %qE to %qT"
+ msgid "could not convert %qE from %qT to %qT"
+ msgstr "不能将%qE转换为%qT"
+
+@@ -31912,25 +30968,21 @@
+
+ #: cp/class.c:302
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgid "cannot convert from pointer to base class %qT to pointer to derived class %qT because the base is virtual"
+ msgstr "无法从基类%qT转换到派生类%qT,通过虚基类%qT"
+
+ #: cp/class.c:306
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgid "cannot convert from base class %qT to derived class %qT because the base is virtual"
+ msgstr "无法从基类%qT转换到派生类%qT,通过虚基类%qT"
+
+ #: cp/class.c:313
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgid "cannot convert from pointer to base class %qT to pointer to derived class %qT via virtual base %qT"
+ msgstr "无法从基类%qT转换到派生类%qT,通过虚基类%qT"
+
+ #: cp/class.c:318
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgid "cannot convert from base class %qT to derived class %qT via virtual base %qT"
+ msgstr "无法从基类%qT转换到派生类%qT,通过虚基类%qT"
+
+@@ -31946,13 +30998,11 @@
+
+ #: cp/class.c:1159
+ #, fuzzy, gcc-internal-format
+-#| msgid " inlined from %qs"
+ msgid "%q#D inherited from %qT"
+ msgstr " 内联自%qs"
+
+ #: cp/class.c:1162
+ #, fuzzy, gcc-internal-format
+-#| msgid "conflicts with previous declaration here"
+ msgid "conflicts with version inherited from %qT"
+ msgstr "与先前此处的声明冲突"
+
+@@ -31998,7 +31048,6 @@
+
+ #: cp/class.c:1389 cp/class.c:1399
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD declared here"
+ msgid "%qT declared here"
+ msgstr "%qD在此声明"
+
+@@ -32009,7 +31058,6 @@
+
+ #: cp/class.c:1508
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgid "cannot derive from %<final%> base %qT in derived type %qT"
+ msgstr "无法从基类%qT转换到派生类%qT,通过虚基类%qT"
+
+@@ -32040,7 +31088,6 @@
+
+ #: cp/class.c:2753
+ #, fuzzy, gcc-internal-format
+-#| msgid "%q+D defined but not used"
+ msgid "%q+#D marked final, but is not virtual"
+ msgstr "%q+D定义后未使用"
+
+@@ -32177,13 +31224,11 @@
+
+ #: cp/class.c:3594
+ #, fuzzy, gcc-internal-format
+-#| msgid "non-member %qs cannot be declared %<mutable%>"
+ msgid "member %q+D cannot be declared both %<const%> and %<mutable%>"
+ msgstr "非成员%qs不能被声明为%<mutable%>"
+
+ #: cp/class.c:3600
+ #, fuzzy, gcc-internal-format
+-#| msgid "non-member %qs cannot be declared %<mutable%>"
+ msgid "member %q+D cannot be declared as a %<mutable%> reference"
+ msgstr "非成员%qs不能被声明为%<mutable%>"
+
+@@ -32244,13 +31289,11 @@
+
+ #: cp/class.c:5393
+ #, fuzzy, gcc-internal-format
+-#| msgid "%q#T is not a class"
+ msgid "%q+T is not literal because:"
+ msgstr "%q#T不是一个类"
+
+ #: cp/class.c:5395
+ #, fuzzy, gcc-internal-format
+-#| msgid "base class %q#T has a non-virtual destructor"
+ msgid " %q+T has a non-trivial destructor"
+ msgstr "基类%q#T有一个非虚析构函数"
+
+@@ -32266,7 +31309,6 @@
+
+ #: cp/class.c:5450
+ #, fuzzy, gcc-internal-format
+-#| msgid "non-static data member %qD has Java class type"
+ msgid " non-static data member %q+D has non-literal type"
+ msgstr "非静态数据成员%qD具有 Java 类类型"
+
+@@ -32339,7 +31381,6 @@
+
+ #: cp/class.c:6643
+ #, fuzzy, gcc-internal-format
+-#| msgid "type %qT does not have a known size"
+ msgid "type transparent %q#T does not have any fields"
+ msgstr "类型%qT大小未知"
+
+@@ -32350,7 +31391,6 @@
+
+ #: cp/class.c:6653
+ #, fuzzy, gcc-internal-format
+-#| msgid "type %qE has virtual member functions"
+ msgid "type transparent class %qT has virtual functions"
+ msgstr "类型%qE有虚成员函数"
+
+@@ -32421,7 +31461,6 @@
+
+ #: cp/cp-array-notation.c:605
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD cannot be declared as constexpr"
+ msgid "%qD cannot be scalar when %qD is not"
+ msgstr "%qD不能被声明为广义常表达式"
+
+@@ -32463,7 +31502,6 @@
+
+ #: cp/cp-array-notation.c:1422
+ #, fuzzy, gcc-internal-format
+-#| msgid "new cannot be applied to a function type"
+ msgid "array notation cannot be used with function type"
+ msgstr "new 不能用于函数类型"
+
+@@ -32484,13 +31522,11 @@
+
+ #: cp/cp-cilkplus.c:53
+ #, fuzzy, gcc-internal-format
+-#| msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgid "throw expressions are not allowed inside loops marked with pragma simd"
+ msgstr "语句表达式只能用于函数或模板实参列表内"
+
+ #: cp/cp-cilkplus.c:60
+ #, fuzzy, gcc-internal-format
+-#| msgid "%s statement is not allowed inside of BLOCK at %C"
+ msgid "try statements are not allowed inside loops marked with #pragma simd"
+ msgstr "%s 语句不能用在%C处 BLOCK 内"
+
+@@ -32561,7 +31597,6 @@
+
+ #: cp/cvt.c:780
+ #, fuzzy, gcc-internal-format
+-#| msgid "could not convert %qE to %qT"
+ msgid "could not convert %qE from %<void%> to %<bool%>"
+ msgstr "不能将%qE转换为%qT"
+
+@@ -32822,7 +31857,6 @@
+
+ #: cp/cvt.c:1644
+ #, fuzzy, gcc-internal-format
+-#| msgid "could not convert template argument %qE to %qT"
+ msgid "default type conversion can't deduce template argument for %qD"
+ msgstr "不能将模板参数从%qE转换到%qT"
+
+@@ -32894,7 +31928,6 @@
+
+ #: cp/decl.c:1304
+ #, fuzzy, gcc-internal-format
+-#| msgid "previous declaration of %q+D with attribute noinline"
+ msgid "previous declaration of %qD with attribute noinline"
+ msgstr "先前%q+D的声明带有 noinline 属性"
+
+@@ -32905,7 +31938,6 @@
+
+ #: cp/decl.c:1314
+ #, fuzzy, gcc-internal-format
+-#| msgid "previous declaration of %q+D was inline"
+ msgid "previous declaration of %qD was inline"
+ msgstr "%q+D先前被声明为内联的"
+
+@@ -32926,25 +31958,21 @@
+
+ #: cp/decl.c:1349
+ #, fuzzy, gcc-internal-format
+-#| msgid "conflicts with built-in declaration %q#D"
+ msgid "declaration of %q#D conflicts with built-in declaration %q#D"
+ msgstr "与内建声明%q#D冲突"
+
+ #: cp/decl.c:1357
+ #, fuzzy, gcc-internal-format
+-#| msgid "declaration of %qD shadows a global declaration"
+ msgid "redeclaration of %<pragma omp declare reduction%>"
+ msgstr "%qD的声明隐藏了一个全局声明"
+
+ #: cp/decl.c:1359
+ #, fuzzy, gcc-internal-format
+-#| msgid "previous non-function declaration %q+#D"
+ msgid "previous %<pragma omp declare reduction%> declaration"
+ msgstr "先前对于%q+#D的非函数声明"
+
+ #: cp/decl.c:1410
+ #, fuzzy, gcc-internal-format
+-#| msgid "ambiguates built-in declaration %q#D"
+ msgid "new declaration %q#D ambiguates built-in declaration %q#D"
+ msgstr "使内建声明%q#D出现歧义"
+
+@@ -32955,37 +31983,31 @@
+
+ #: cp/decl.c:1505 cp/decl.c:1526 cp/decl.c:1553
+ #, fuzzy, gcc-internal-format
+-#| msgid "previous declaration %q+D"
+ msgid "previous declaration %q#D"
+ msgstr "先前的声明%q+D"
+
+ #: cp/decl.c:1524
+ #, fuzzy, gcc-internal-format
+-#| msgid "declaration of template %q#D"
+ msgid "conflicting declaration of template %q#D"
+ msgstr "模板声明%q#D"
+
+ #: cp/decl.c:1540
+ #, fuzzy, gcc-internal-format
+-#| msgid "ambiguates old declaration %q+#D"
+ msgid "ambiguating new declaration %q#D"
+ msgstr "使旧的声明%q+#D出现歧义"
+
+ #: cp/decl.c:1542 cp/decl.c:1565
+ #, fuzzy, gcc-internal-format
+-#| msgid "global declaration %q+#D"
+ msgid "old declaration %q#D"
+ msgstr "全局声明%q+#D"
+
+ #: cp/decl.c:1550
+ #, fuzzy, gcc-internal-format
+-#| msgid "conflicting declaration %q#D"
+ msgid "conflicting declaration of C function %q#D"
+ msgstr "相互冲突的声明%q#D"
+
+ #: cp/decl.c:1563
+ #, fuzzy, gcc-internal-format
+-#| msgid "ambiguates old declaration %q+#D"
+ msgid "ambiguating new declaration of %q#D"
+ msgstr "使旧的声明%q+#D出现歧义"
+
+@@ -32996,7 +32018,6 @@
+
+ #: cp/decl.c:1575
+ #, fuzzy, gcc-internal-format
+-#| msgid "previous declaration of %q+#D"
+ msgid "previous declaration as %q#D"
+ msgstr "%q+#D的前一个声明"
+
+@@ -33009,13 +32030,11 @@
+ #. of the program.
+ #: cp/decl.c:1627
+ #, fuzzy, gcc-internal-format
+-#| msgid "conflicting declaration %q#D"
+ msgid "conflicting declaration of namespace %qD"
+ msgstr "相互冲突的声明%q#D"
+
+ #: cp/decl.c:1629
+ #, fuzzy, gcc-internal-format
+-#| msgid "previous declaration of namespace %q+D here"
+ msgid "previous declaration of namespace %qD here"
+ msgstr "命名空间%q+D早先的声明在这里"
+
+@@ -33026,37 +32045,31 @@
+
+ #: cp/decl.c:1642 cp/name-lookup.c:1152 cp/name-lookup.c:1175
+ #, fuzzy, gcc-internal-format
+-#| msgid "previously declared here"
+ msgid "%q+#D previously declared here"
+ msgstr "以前在此声明过"
+
+ #: cp/decl.c:1652
+ #, fuzzy, gcc-internal-format
+-#| msgid "prototype for %q+#D"
+ msgid "prototype specified for %q#D"
+ msgstr "%q+#D的原型"
+
+ #: cp/decl.c:1654
+ #, fuzzy, gcc-internal-format
+-#| msgid "follows non-prototype definition here"
+ msgid "previous non-prototype definition here"
+ msgstr "出现在此处的非原型定义之后"
+
+ #: cp/decl.c:1693
+ #, fuzzy, gcc-internal-format
+-#| msgid "conflicts with new declaration with %qL linkage"
+ msgid "conflicting declaration of %q#D with %qL linkage"
+ msgstr "与带有%qL链接的新声明冲突"
+
+ #: cp/decl.c:1696
+ #, fuzzy, gcc-internal-format
+-#| msgid "previous declaration of %q+#D with %qL linkage"
+ msgid "previous declaration with %qL linkage"
+ msgstr "%q+#D的早先声明有%qL链接"
+
+ #: cp/decl.c:1723
+ #, fuzzy, gcc-internal-format
+-#| msgid "redeclaration of friend %q#D may not have default template arguments"
+ msgid "redeclaration of %q#D may not have default arguments"
+ msgstr "友元%q#D的重声明不能有默认模板参数"
+
+@@ -33067,7 +32080,6 @@
+
+ #: cp/decl.c:1741 cp/decl.c:1749
+ #, fuzzy, gcc-internal-format
+-#| msgid "after previous specification in %q+#D"
+ msgid "previous specification in %q#D here"
+ msgstr "但先前在%q+#D中已有指定"
+
+@@ -33078,7 +32090,6 @@
+
+ #: cp/decl.c:1815 cp/decl.c:1825
+ #, fuzzy, gcc-internal-format
+-#| msgid "previous declaration of %q+D"
+ msgid "previous declaration of %qD"
+ msgstr "%q+D的前一个声明"
+
+@@ -33243,7 +32254,6 @@
+
+ #: cp/decl.c:3395
+ #, fuzzy, gcc-internal-format
+-#| msgid "no class template named %q#T in %q#T"
+ msgid "no type named %q#T in %q#T"
+ msgstr "没有名为%q#T的类模板,在%q#T中 "
+
+@@ -33299,13 +32309,11 @@
+
+ #: cp/decl.c:4246
+ #, fuzzy, gcc-internal-format
+-#| msgid "attribute ignored in declaration of %q+#T"
+ msgid "attribute ignored in declaration of %q#T"
+ msgstr "属性于%q+#T的声明中被忽略"
+
+ #: cp/decl.c:4249
+ #, fuzzy, gcc-internal-format
+-#| msgid "attribute for %q+#T must follow the %qs keyword"
+ msgid "attribute for %q#T must follow the %qs keyword"
+ msgstr "%q+#T的属性必须跟在%qs关键字后面"
+
+@@ -33321,7 +32329,6 @@
+
+ #: cp/decl.c:4294
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs can only be specified for functions"
+ msgid "%<auto%> can only be specified for variables or function declarations"
+ msgstr "只能为函数指定%qs"
+
+@@ -33372,13 +32379,11 @@
+
+ #: cp/decl.c:4378
+ #, fuzzy, gcc-internal-format
+-#| msgid "attributes ignored on template instantiation"
+ msgid "attribute ignored in explicit instantiation %q#T"
+ msgstr "属性在模板实例化上被忽略"
+
+ #: cp/decl.c:4381
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE attribute can only be applied to class definitions"
+ msgid "no attribute can be applied to an explicit instantiation"
+ msgstr "只能为类定义应用%qE属性"
+
+@@ -33543,7 +32548,6 @@
+
+ #: cp/decl.c:5260
+ #, fuzzy, gcc-internal-format
+-#| msgid "name %qD used in a GNU-style designated initializer for an array"
+ msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT"
+ msgstr "名字%qD用在 GNU 风格的数组指定元素初始值设定中"
+
+@@ -33590,7 +32594,6 @@
+
+ #: cp/decl.c:5632
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD has incomplete type"
+ msgid "%q#D has incomplete type"
+ msgstr "%qD类型不完全"
+
+@@ -33666,19 +32669,16 @@
+
+ #: cp/decl.c:7176
+ #, fuzzy, gcc-internal-format
+-#| msgid "initializer fails to determine size of %qD"
+ msgid "initializer fails to determine size of %qT"
+ msgstr "初始值设定无法决定%qD的大小"
+
+ #: cp/decl.c:7180
+ #, fuzzy, gcc-internal-format
+-#| msgid "array size missing in %qD"
+ msgid "array size missing in %qT"
+ msgstr "%qD缺少数组大小"
+
+ #: cp/decl.c:7183
+ #, fuzzy, gcc-internal-format
+-#| msgid "zero-size array %qD"
+ msgid "zero-size array %qT"
+ msgstr "大小为 0 的数组%qD"
+
+@@ -33795,7 +32795,6 @@
+
+ #: cp/decl.c:7499
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgid "%<constexpr%> is not allowed in declaration of friend template specialization %qD"
+ msgstr "%<inline%>不允许用于友元模板特例化%qD的声明"
+
+@@ -33811,7 +32810,6 @@
+
+ #: cp/decl.c:7547
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot declare %<::main%> to be inline"
+ msgid "cannot declare %<::main%> to be constexpr"
+ msgstr "不能将%<::main%>声明为 inline"
+
+@@ -33847,19 +32845,16 @@
+
+ #: cp/decl.c:7620
+ #, fuzzy, gcc-internal-format
+-#| msgid "static member function %qD cannot have cv-qualifier"
+ msgid "static member function %qD cannot have ref-qualifier"
+ msgstr "成员函数%qD不能拥有 cv 限定符"
+
+ #: cp/decl.c:7621
+ #, fuzzy, gcc-internal-format
+-#| msgid "non-member function %qD cannot have cv-qualifier"
+ msgid "non-member function %qD cannot have ref-qualifier"
+ msgstr "非成员函数%qD不能拥有 cv 限定符"
+
+ #: cp/decl.c:7638
+ #, fuzzy, gcc-internal-format
+-#| msgid "template with C linkage"
+ msgid "literal operator with C linkage"
+ msgstr "模板有 C 链接"
+
+@@ -33880,7 +32875,6 @@
+
+ #: cp/decl.c:7667
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD must be a nonstatic member function"
+ msgid "%qD must be a non-member function"
+ msgstr "%qD必须是一个非静态的成员函数"
+
+@@ -33896,13 +32890,11 @@
+
+ #: cp/decl.c:7792
+ #, fuzzy, gcc-internal-format
+-#| msgid "definition of implicitly-declared %qD"
+ msgid "definition of explicitly-defaulted %q+D"
+ msgstr "隐式声明的%qD的定义"
+
+ #: cp/decl.c:7793
+ #, fuzzy, gcc-internal-format
+-#| msgid "%q+#D previously defined here"
+ msgid "%q+#D explicitly defaulted here"
+ msgstr "%q+#D已在此定义过"
+
+@@ -34017,7 +33009,6 @@
+
+ #: cp/decl.c:8522
+ #, fuzzy, gcc-internal-format
+-#| msgid "declaration of %qD as array of void"
+ msgid "declaration of %qD as array of %<auto%>"
+ msgstr "%qD声明为 void 的数组"
+
+@@ -34073,7 +33064,6 @@
+
+ #: cp/decl.c:8578
+ #, fuzzy, gcc-internal-format
+-#| msgid "creating array of functions"
+ msgid "array of array of runtime bound"
+ msgstr "创建函数的数组"
+
+@@ -34144,13 +33134,11 @@
+
+ #: cp/decl.c:9014
+ #, fuzzy, gcc-internal-format
+-#| msgid "template declaration of %<typedef%>"
+ msgid "declaration of %qD as %<typedef%>"
+ msgstr "%<typedef%>的模板声明"
+
+ #: cp/decl.c:9019
+ #, fuzzy, gcc-internal-format
+-#| msgid "declaration of %q+D shadows a parameter"
+ msgid "declaration of %qD as parameter"
+ msgstr "%q+D的声明隐藏了一个形参"
+
+@@ -34326,25 +33314,21 @@
+
+ #: cp/decl.c:9608
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs function uses %<auto%> type specifier without late return type"
+ msgid "%qs function uses %<auto%> type specifier without trailing return type"
+ msgstr "%qs函数使用了%<auto%>类型限定却没有迟返回类型"
+
+ #: cp/decl.c:9611
+ #, fuzzy, gcc-internal-format
+-#| msgid "scoped enums only available with -std=c++0x or -std=gnu++0x"
+ msgid "deduced return type only available with -std=c++1y or -std=gnu++1y"
+ msgstr "带作用域的枚举只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+ #: cp/decl.c:9616
+ #, fuzzy, gcc-internal-format
+-#| msgid "virtual functions cannot be friends"
+ msgid "virtual function cannot have deduced return type"
+ msgstr "虚函数不能是友元"
+
+ #: cp/decl.c:9621
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs function with late return type has %qT as its type rather than plain %<auto%>"
+ msgid "%qs function with trailing return type has %qT as its type rather than plain %<auto%>"
+ msgstr "%qs函数使用迟返回类型%qT作为它的类型,而不是%<auto%>"
+
+@@ -34357,7 +33341,6 @@
+
+ #: cp/decl.c:9635
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs function with late return type not declared with %<auto%> type specifier"
+ msgid "%qs function with trailing return type not declared with %<auto%> type specifier"
+ msgstr "%qs函数使用了迟返回类型却未用%<auto%>类型限定声明"
+
+@@ -34368,7 +33351,6 @@
+
+ #: cp/decl.c:9670
+ #, fuzzy, gcc-internal-format
+-#| msgid "destructor cannot be static member function"
+ msgid "constructor cannot be static member function"
+ msgstr "析构函数不能是静态成员函数"
+
+@@ -34379,13 +33361,11 @@
+
+ #: cp/decl.c:9675
+ #, fuzzy, gcc-internal-format
+-#| msgid "destructors may not be cv-qualified"
+ msgid "constructors may not be cv-qualified"
+ msgstr "析构函数不能被 cv 限定"
+
+ #: cp/decl.c:9683
+ #, fuzzy, gcc-internal-format
+-#| msgid "destructors may not be cv-qualified"
+ msgid "destructors may not be ref-qualified"
+ msgstr "析构函数不能被 cv 限定"
+
+@@ -34447,13 +33427,11 @@
+
+ #: cp/decl.c:9829
+ #, fuzzy, gcc-internal-format
+-#| msgid "Array reference out of bounds"
+ msgid "reference to array of runtime bound"
+ msgstr "对数组的引用超出范围"
+
+ #: cp/decl.c:9830
+ #, fuzzy, gcc-internal-format
+-#| msgid "pointer to a function used in subtraction"
+ msgid "pointer to array of runtime bound"
+ msgstr "函数指针不能相减"
+
+@@ -34489,7 +33467,6 @@
+
+ #: cp/decl.c:10028
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgid "cannot declare member function %<%T::%s%> within %<%T%>"
+ msgstr "无法定义成员函数%<%T::%s%>,在%<%T%>中"
+
+@@ -34557,13 +33534,11 @@
+
+ #: cp/decl.c:10170
+ #, fuzzy, gcc-internal-format
+-#| msgid "parameter declared %<auto%>"
+ msgid "typedef declared %<auto%>"
+ msgstr "形参声明为%<auto%>"
+
+ #: cp/decl.c:10176
+ #, fuzzy, gcc-internal-format
+-#| msgid "creating array of functions"
+ msgid "typedef naming array of runtime bound"
+ msgstr "创建函数的数组"
+
+@@ -34624,7 +33599,6 @@
+
+ #: cp/decl.c:10420
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<this%> may not be used in this context"
+ msgid "%<auto%> parameter not permitted in this context"
+ msgstr "%<this%>不能用在此上下文中"
+
+@@ -34635,7 +33609,6 @@
+
+ #: cp/decl.c:10465
+ #, fuzzy, gcc-internal-format
+-#| msgid "non-static data member %qE declared %<constexpr%>"
+ msgid "non-static data member declared %<auto%>"
+ msgstr "非静态数据成员%qE被声明为%<constexpr%>"
+
+@@ -34682,7 +33655,6 @@
+
+ #: cp/decl.c:10608
+ #, fuzzy, gcc-internal-format
+-#| msgid "field %qD has incomplete type"
+ msgid "field %qD has incomplete type %qT"
+ msgstr "字段%qD类型不完全"
+
+@@ -34723,13 +33695,11 @@
+
+ #: cp/decl.c:10747
+ #, fuzzy, gcc-internal-format
+-#| msgid "storage class %<__thread%> invalid for function %qs"
+ msgid "storage class %<thread_local%> invalid for function %qs"
+ msgstr "函数%qs的存储类%<__thread%>无效"
+
+ #: cp/decl.c:10752
+ #, fuzzy, gcc-internal-format
+-#| msgid "an asm-specification is not allowed on a function-definition"
+ msgid "virt-specifiers in %qs not allowed outside a class definition"
+ msgstr "函数定义中不允许出现 asm 指定"
+
+@@ -34755,7 +33725,6 @@
+
+ #: cp/decl.c:10783
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs defined in a non-class scope"
+ msgid "%qs declared in a non-class scope"
+ msgstr "%qs定义在在非类作用域中"
+
+@@ -34802,7 +33771,6 @@
+
+ #: cp/decl.c:11032
+ #, fuzzy, gcc-internal-format
+-#| msgid "default argument %qE uses local variable %qD"
+ msgid "default argument %qE uses %qD"
+ msgstr "默认实参%qE使用了局部变量%qD"
+
+@@ -34984,7 +33952,6 @@
+
+ #: cp/decl.c:11915
+ #, fuzzy, gcc-internal-format
+-#| msgid "ambiguous template specialization %qD for %q+D"
+ msgid "using alias template specialization %qT after %qs"
+ msgstr "有歧义的模板特例化%qD(为%q+D)"
+
+@@ -34995,7 +33962,6 @@
+
+ #: cp/decl.c:11920
+ #, fuzzy, gcc-internal-format
+-#| msgid "%q+D has a previous declaration here"
+ msgid "%qD has a previous declaration here"
+ msgstr "%q+D先前在此处有过声明"
+
+@@ -35123,7 +34089,6 @@
+
+ #: cp/decl.c:12928
+ #, fuzzy, gcc-internal-format
+-#| msgid "integer constant is too large for %<unsigned long%> type"
+ msgid "incremented enumerator value is too large for %<unsigned long%>"
+ msgstr "对%<unsigned long%>类型而言整数常量太大"
+
+@@ -35134,7 +34099,6 @@
+
+ #: cp/decl.c:12960
+ #, fuzzy, gcc-internal-format
+-#| msgid "enumerator value %E is too large for underlying type %<%T%>"
+ msgid "enumerator value %E is outside the range of underlying type %<%T%>"
+ msgstr "枚举值 %E 对其类型%<%T%>而言太大了"
+
+@@ -35170,13 +34134,11 @@
+
+ #: cp/decl.c:13960
+ #, fuzzy, gcc-internal-format
+-#| msgid "no return statement in function returning non-void"
+ msgid "no return statements in function returning %qT"
+ msgstr "在有返回值的函数中未发现 return 语句"
+
+ #: cp/decl.c:13962 cp/typeck.c:8384
+ #, fuzzy, gcc-internal-format
+-#| msgid "function return types not compatible due to %<volatile%>"
+ msgid "only plain %<auto%> return type can be deduced to %<void%>"
+ msgstr "由于%<volatile%>,函数返回类型不兼容"
+
+@@ -35197,7 +34159,6 @@
+
+ #: cp/decl.c:14531 cp/decl2.c:4673
+ #, fuzzy, gcc-internal-format
+-#| msgid "type of %qD defaults to %<int%>"
+ msgid "use of %qD before deduction of %<auto%>"
+ msgstr "%qD的类型默认为%<int%>"
+
+@@ -35218,7 +34179,6 @@
+
+ #: cp/decl2.c:449
+ #, fuzzy, gcc-internal-format
+-#| msgid "deleting array %q#D"
+ msgid "deleting array %q#E"
+ msgstr "删除数组%q#D"
+
+@@ -35337,7 +34297,6 @@
+
+ #: cp/decl2.c:1388
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is not a static data member of a class template"
+ msgid "%q+D static data member inside of declare target directive"
+ msgstr "%qD不是类模板的非静态数据成员"
+
+@@ -35444,43 +34403,36 @@
+
+ #: cp/error.c:3474
+ #, fuzzy, gcc-internal-format
+-#| msgid "extended initializer lists only available with -std=c++0x or -std=gnu++0x"
+ msgid "extended initializer lists only available with -std=c++11 or -std=gnu++11"
+ msgstr "扩展初始值设定列表只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+ #: cp/error.c:3479
+ #, fuzzy, gcc-internal-format
+-#| msgid "explicit conversion operators only available with -std=c++0x or -std=gnu++0x"
+ msgid "explicit conversion operators only available with -std=c++11 or -std=gnu++11"
+ msgstr "显式转换运算符只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+ #: cp/error.c:3484
+ #, fuzzy, gcc-internal-format
+-#| msgid "variadic templates only available with -std=c++0x or -std=gnu++0x"
+ msgid "variadic templates only available with -std=c++11 or -std=gnu++11"
+ msgstr "可变参数模板只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+ #: cp/error.c:3489
+ #, fuzzy, gcc-internal-format
+-#| msgid "lambda expressions only available with -std=c++0x or -std=gnu++0x"
+ msgid "lambda expressions only available with -std=c++11 or -std=gnu++11"
+ msgstr "Lambda 表达式只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+ #: cp/error.c:3494
+ #, fuzzy, gcc-internal-format
+-#| msgid "C++0x auto only available with -std=c++0x or -std=gnu++0x"
+ msgid "C++11 auto only available with -std=c++11 or -std=gnu++11"
+ msgstr "C++0x auto 只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+ #: cp/error.c:3498
+ #, fuzzy, gcc-internal-format
+-#| msgid "scoped enums only available with -std=c++0x or -std=gnu++0x"
+ msgid "scoped enums only available with -std=c++11 or -std=gnu++11"
+ msgstr "带作用域的枚举只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+ #: cp/error.c:3502
+ #, fuzzy, gcc-internal-format
+-#| msgid "defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x"
+ msgid "defaulted and deleted functions only available with -std=c++11 or -std=gnu++11"
+ msgstr "默认化和被删除的函数只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+@@ -35491,25 +34443,21 @@
+
+ #: cp/error.c:3512
+ #, fuzzy, gcc-internal-format
+-#| msgid "explicit conversion operators only available with -std=c++0x or -std=gnu++0x"
+ msgid "override controls (override/final) only available with -std=c++11 or -std=gnu++11"
+ msgstr "显式转换运算符只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+ #: cp/error.c:3517
+ #, fuzzy, gcc-internal-format
+-#| msgid "extended initializer lists only available with -std=c++0x or -std=gnu++0x"
+ msgid "non-static data member initializers only available with -std=c++11 or -std=gnu++11"
+ msgstr "扩展初始值设定列表只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+ #: cp/error.c:3522
+ #, fuzzy, gcc-internal-format
+-#| msgid "extended initializer lists only available with -std=c++0x or -std=gnu++0x"
+ msgid "user-defined literals only available with -std=c++11 or -std=gnu++11"
+ msgstr "扩展初始值设定列表只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+ #: cp/error.c:3527
+ #, fuzzy, gcc-internal-format
+-#| msgid "explicit conversion operators only available with -std=c++0x or -std=gnu++0x"
+ msgid "delegating constructors only available with -std=c++11 or -std=gnu++11"
+ msgstr "显式转换运算符只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+@@ -35520,13 +34468,11 @@
+
+ #: cp/error.c:3537
+ #, fuzzy, gcc-internal-format
+-#| msgid "C++0x auto only available with -std=c++0x or -std=gnu++0x"
+ msgid "c++11 attributes only available with -std=c++11 or -std=gnu++11"
+ msgstr "C++0x auto 只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+ #: cp/error.c:3542
+ #, fuzzy, gcc-internal-format
+-#| msgid "scoped enums only available with -std=c++0x or -std=gnu++0x"
+ msgid "ref-qualifiers only available with -std=c++11 or -std=gnu++11"
+ msgstr "带作用域的枚举只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+@@ -35599,19 +34545,16 @@
+
+ #: cp/except.c:987
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot declare parameter %q+D to be of abstract type %qT"
+ msgid "cannot declare catch parameter to be of rvalue reference type %qT"
+ msgstr "不能将形参%q+D声明为具有抽象类型%qT"
+
+ #: cp/except.c:994
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgid "cannot throw expression of type %qT because it involves types of variable size"
+ msgstr "无法为类型%qT创建类型信息,因为它的大小是可变的"
+
+ #: cp/except.c:997
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgid "cannot catch type %qT because it involves types of variable size"
+ msgstr "无法为类型%qT创建类型信息,因为它的大小是可变的"
+
+@@ -35726,7 +34669,6 @@
+
+ #: cp/init.c:378
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid application of %qs to incomplete type %qT "
+ msgid "value-initialization of incomplete type %qT"
+ msgstr "%qs不能用于不完全的类型%qT"
+
+@@ -35737,13 +34679,11 @@
+
+ #: cp/init.c:482
+ #, fuzzy, gcc-internal-format
+-#| msgid "value-initialization of reference"
+ msgid "value-initialization of function type %qT"
+ msgstr "引用被值所初始化"
+
+ #: cp/init.c:488
+ #, fuzzy, gcc-internal-format
+-#| msgid "value-initialization of reference"
+ msgid "value-initialization of reference type %qT"
+ msgstr "引用被值所初始化"
+
+@@ -35759,7 +34699,6 @@
+
+ #: cp/init.c:585
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is used uninitialized in this function"
+ msgid "%qD is initialized with itself"
+ msgstr "此函数中的%qD在使用前未初始化"
+
+@@ -35910,7 +34849,6 @@
+
+ #: cp/init.c:2147
+ #, fuzzy, gcc-internal-format
+-#| msgid "uninitialized reference member in %q#T"
+ msgid "uninitialized reference member in base %q#T of %q#T"
+ msgstr "%q#T中有未初始化的引用成员"
+
+@@ -35936,25 +34874,21 @@
+
+ #: cp/init.c:2317
+ #, fuzzy, gcc-internal-format
+-#| msgid "integer overflow in expression"
+ msgid "integer overflow in array size"
+ msgstr "整数溢出"
+
+ #: cp/init.c:2327
+ #, fuzzy, gcc-internal-format
+-#| msgid "Variable '%s' at %L in this context must be constant"
+ msgid "array size in operator new must be constant"
+ msgstr "变量‘%s’在%L处上下文中必须是常量"
+
+ #: cp/init.c:2341
+ #, fuzzy, gcc-internal-format
+-#| msgid "variably modified field at file scope"
+ msgid "variably modified type not allowed in operator new"
+ msgstr "文件域中的动态可变字段"
+
+ #: cp/init.c:2355
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C does not support saturating types"
+ msgid "ISO C++ does not support variable-length array types"
+ msgstr "ISO C 不支持饱和类型"
+
+@@ -35970,7 +34904,6 @@
+
+ #: cp/init.c:2477
+ #, fuzzy, gcc-internal-format
+-#| msgid "not a valid Java .class file"
+ msgid "%qT isn%'t a valid Java class type"
+ msgstr "不是一个有效的 Java .class 文件。"
+
+@@ -35996,7 +34929,6 @@
+
+ #: cp/init.c:2775
+ #, fuzzy, gcc-internal-format
+-#| msgid "attributes after parenthesized initializer ignored"
+ msgid "parenthesized initializer in array new"
+ msgstr "括起的初始值设定后出现的属性被忽略"
+
+@@ -36027,7 +34959,6 @@
+
+ #: cp/init.c:3158
+ #, fuzzy, gcc-internal-format
+-#| msgid "possible problem detected in invocation of delete operator:"
+ msgid "possible problem detected in invocation of delete [] operator:"
+ msgstr "检测到调用 delete 运算符时可能出现的问题:"
+
+@@ -36088,7 +35019,6 @@
+
+ #: cp/lambda.c:477
+ #, fuzzy, gcc-internal-format
+-#| msgid "compound literal has variable size"
+ msgid "because the array element type %qT has variable size"
+ msgstr "复合字面值有可变的大小"
+
+@@ -36099,7 +35029,6 @@
+
+ #: cp/lambda.c:514
+ #, fuzzy, gcc-internal-format
+-#| msgid "already captured %<this%> in lambda expression"
+ msgid "already captured %qD in lambda expression"
+ msgstr "已经在 Lambda 表达式中捕获了%<this%>"
+
+@@ -36170,7 +35099,6 @@
+
+ #: cp/mangle.c:2116
+ #, fuzzy, gcc-internal-format
+-#| msgid "mangling unknown fixed point type"
+ msgid "mangling __underlying_type"
+ msgstr "修饰未知的定点类型"
+
+@@ -36206,7 +35134,6 @@
+
+ #: cp/mangle.c:3500
+ #, fuzzy, gcc-internal-format
+-#| msgid "-fabi-version=4 (or =0) avoids this error with a change in vector mangling"
+ msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling"
+ msgstr "-fabi-version=4 (or =0) 可以改变向量修饰来避免这个错误"
+
+@@ -36237,13 +35164,11 @@
+
+ #: cp/method.c:1010
+ #, fuzzy, gcc-internal-format
+-#| msgid "a destructor cannot be %<constexpr%>"
+ msgid "defaulted constructor calls non-constexpr %q+D"
+ msgstr "析构函数不能是%<constexpr%>"
+
+ #: cp/method.c:1071
+ #, fuzzy, gcc-internal-format
+-#| msgid "uninitialized const %qD is invalid in C++"
+ msgid "initializer for %q+#D is invalid"
+ msgstr "未初始化的常量%qD在C++中是无效的"
+
+@@ -36264,7 +35189,6 @@
+
+ #: cp/method.c:1128
+ #, fuzzy, gcc-internal-format
+-#| msgid "non-static data member %qD has Java class type"
+ msgid "copying non-static data member %q#D of rvalue reference type"
+ msgstr "非静态数据成员%qD具有 Java 类类型"
+
+@@ -36315,7 +35239,6 @@
+
+ #: cp/method.c:1814
+ #, fuzzy, gcc-internal-format
+-#| msgid "function %q+D defaulted on its first declaration must not have an exception-specification"
+ msgid "function %q+D defaulted on its redeclaration with an exception-specification that differs from the implicit declaration %q#D"
+ msgstr "首次声明时被默认化的函数%q+D不可以指定异常"
+
+@@ -36326,7 +35249,6 @@
+
+ #: cp/method.c:1860
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD cannot be defaulted"
+ msgid "a template cannot be defaulted"
+ msgstr "%qD不能被默认化"
+
+@@ -36347,13 +35269,11 @@
+
+ #: cp/name-lookup.c:567
+ #, fuzzy, gcc-internal-format
+-#| msgid "%q#D conflicts with previous using declaration %q#D"
+ msgid "%q#D conflicts with a previous declaration"
+ msgstr "%q#D与先前的 using 声明%q#D冲突"
+
+ #: cp/name-lookup.c:569
+ #, fuzzy, gcc-internal-format
+-#| msgid "previous declaration %q+D"
+ msgid "previous declaration %q+#D"
+ msgstr "先前的声明%q+D"
+
+@@ -36420,7 +35340,6 @@
+
+ #: cp/name-lookup.c:1189
+ #, fuzzy, gcc-internal-format
+-#| msgid "declaration of %q+D shadows a parameter"
+ msgid "declaration of %qD shadows a lambda capture"
+ msgstr "%q+D的声明隐藏了一个形参"
+
+@@ -36629,7 +35548,6 @@
+
+ #: cp/parser.c:792
+ #, fuzzy, gcc-internal-format
+-#| msgid "identifier %qE will become a keyword in C++0x"
+ msgid "identifier %qE is a keyword in C++11"
+ msgstr "标志符%qE将会成为 C++0x 的一个关键字"
+
+@@ -36730,7 +35648,6 @@
+
+ #: cp/parser.c:2719
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE is not a template"
+ msgid "%qE is not a class template"
+ msgstr "%qE不是一个模板"
+
+@@ -36811,7 +35728,6 @@
+
+ #: cp/parser.c:2809
+ #, fuzzy, gcc-internal-format
+-#| msgid "a function call cannot appear in a constant-expression"
+ msgid "a transaction expression cannot appear in a constant-expression"
+ msgstr "函数调用不能出现在常量表达式中"
+
+@@ -36844,7 +35760,6 @@
+
+ #: cp/parser.c:2903
+ #, fuzzy, gcc-internal-format
+-#| msgid "C++0x %<constexpr%> only available with -std=c++0x or -std=gnu++0x"
+ msgid "C++11 %<constexpr%> only available with -std=c++11 or -std=gnu++11"
+ msgstr "C++0x %<constexpr%>只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+@@ -36855,7 +35770,6 @@
+
+ #: cp/parser.c:2948
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE in namespace %qE does not name a type"
+ msgid "%qE in namespace %qE does not name a template type"
+ msgstr "%qE不是命名空间%qE中的一个类型名"
+
+@@ -36882,13 +35796,11 @@
+
+ #: cp/parser.c:2974
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE in class %qT does not name a type"
+ msgid "%qE in %q#T does not name a template type"
+ msgstr "%qE不是类%qT中的一个类型名"
+
+ #: cp/parser.c:2978
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE in class %qT does not name a type"
+ msgid "%qE in %q#T does not name a type"
+ msgstr "%qE不是类%qT中的一个类型名"
+
+@@ -36914,25 +35826,21 @@
+
+ #: cp/parser.c:3867
+ #, fuzzy, gcc-internal-format
+-#| msgid "floating constant exceeds range of %qT"
+ msgid "integer literal exceeds range of %qT type"
+ msgstr "浮点常量超出%qT的范围"
+
+ #: cp/parser.c:3873
+ #, fuzzy, gcc-internal-format
+-#| msgid "floating constant exceeds range of %qT"
+ msgid "floating literal exceeds range of %qT type"
+ msgstr "浮点常量超出%qT的范围"
+
+ #: cp/parser.c:3877
+ #, fuzzy, gcc-internal-format
+-#| msgid "floating constant truncated to zero"
+ msgid "floating literal truncated to zero"
+ msgstr "浮点常量向零截断"
+
+ #: cp/parser.c:3920
+ #, fuzzy, gcc-internal-format
+-#| msgid "unable to find a register to spill in class %qs"
+ msgid "unable to find numeric literal operator %qD"
+ msgstr "在类%qs中找不到可溢出的寄存器"
+
+@@ -36943,7 +35851,6 @@
+
+ #: cp/parser.c:3969
+ #, fuzzy, gcc-internal-format
+-#| msgid "unable to find a register to spill in class %qs"
+ msgid "unable to find string literal operator %qD"
+ msgstr "在类%qs中找不到可溢出的寄存器"
+
+@@ -37004,7 +35911,6 @@
+
+ #: cp/parser.c:4935 cp/parser.c:6785
+ #, fuzzy, gcc-internal-format
+-#| msgid "C++0x auto only available with -std=c++0x or -std=gnu++0x"
+ msgid "%<~auto%> only available with -std=c++1y or -std=gnu++1y"
+ msgstr "C++0x auto 只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+@@ -37035,7 +35941,6 @@
+
+ #: cp/parser.c:5276
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qT resolves to %qT, which is not an enumeration type"
+ msgid "decltype evaluates to %qT, which is not a class or enumeration type"
+ msgstr "%qT被解析到非枚举类型%qT"
+
+@@ -37076,7 +35981,6 @@
+
+ #: cp/parser.c:6368
+ #, fuzzy, gcc-internal-format
+-#| msgid "-client_name not allowed with -dynamiclib"
+ msgid "braced list index is not allowed with array notation"
+ msgstr "-client_name 不能和 -dynamiclib 一起使用"
+
+@@ -37092,7 +35996,6 @@
+
+ #: cp/parser.c:6558
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<%D::%D%> is not a member of %qT"
+ msgid "%<%D::%D%> is not a class member"
+ msgstr "%<%D::%D%>不是%qT的成员"
+
+@@ -37113,7 +36016,6 @@
+
+ #: cp/parser.c:7262
+ #, fuzzy, gcc-internal-format
+-#| msgid "types may not be defined in a new-type-id"
+ msgid "types may not be defined in a new-expression"
+ msgstr "类型不能定义在 new-type-id 中"
+
+@@ -37144,7 +36046,6 @@
+
+ #: cp/parser.c:7891
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgid "%<>>%> operator is treated as two right angle brackets in C++11"
+ msgstr "%<>>%>运算符在 C++0x 中将被认为是两个右尖括号"
+
+@@ -37175,7 +36076,6 @@
+
+ #: cp/parser.c:8901
+ #, fuzzy, gcc-internal-format
+-#| msgid "lambda expressions only available with -std=c++0x or -std=gnu++0x"
+ msgid "lambda capture initializers only available with -std=c++1y or -std=gnu++1y"
+ msgstr "Lambda 表达式只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+@@ -37186,13 +36086,11 @@
+
+ #: cp/parser.c:8931
+ #, fuzzy, gcc-internal-format
+-#| msgid "increment of read-only variable %qD"
+ msgid "capture of non-variable %qD "
+ msgstr "令只读变量%qD自增"
+
+ #: cp/parser.c:8933 cp/parser.c:8942 cp/semantics.c:3237
+ #, fuzzy, gcc-internal-format
+-#| msgid "%q+D declared here"
+ msgid "%q+#D declared here"
+ msgstr "%q+D已在此声明过"
+
+@@ -37213,7 +36111,6 @@
+
+ #: cp/parser.c:9027
+ #, fuzzy, gcc-internal-format
+-#| msgid "variadic templates only available with -std=c++0x or -std=gnu++0x"
+ msgid "lambda templates are only available with -std=c++1y or -std=gnu++1y"
+ msgstr "可变参数模板只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+@@ -37224,7 +36121,6 @@
+
+ #: cp/parser.c:9485
+ #, fuzzy, gcc-internal-format
+-#| msgid "attributes after parenthesized initializer ignored"
+ msgid "attributes at the beginning of statement are ignored"
+ msgstr "括起的初始值设定后出现的属性被忽略"
+
+@@ -37250,7 +36146,6 @@
+
+ #: cp/parser.c:9692
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is not a constexpr function"
+ msgid "compound-statement in constexpr function"
+ msgstr "%qD不是一个广义常函数"
+
+@@ -37266,7 +36161,6 @@
+
+ #: cp/parser.c:10305
+ #, fuzzy, gcc-internal-format
+-#| msgid "expression statement has incomplete type"
+ msgid "range-based %<for%> expression of type %qT has incomplete type"
+ msgstr "表达式语句类型不完全"
+
+@@ -37292,13 +36186,11 @@
+
+ #: cp/parser.c:10568
+ #, fuzzy, gcc-internal-format
+-#| msgid "range-based-for loops are not allowed in C++98 mode"
+ msgid "range-based %<for%> loops are not allowed in C++98 mode"
+ msgstr "C++98 模式下不允许使用基于范围的 for 循环"
+
+ #: cp/parser.c:10642
+ #, fuzzy, gcc-internal-format
+-#| msgid "break statement used with OpenMP for loop"
+ msgid "break statement used with Cilk Plus for loop"
+ msgstr "OpenMP for 循环中使用了 break 语句"
+
+@@ -37337,7 +36229,6 @@
+ #. we're complaining about C++0x compatibility.
+ #: cp/parser.c:11485
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<auto%> will change meaning in C++0x; please remove it"
+ msgid "%<auto%> changes meaning in C++11; please remove it"
+ msgstr "%<auto%>的语义在 C++0x 中将被改变;请考虑删除它"
+
+@@ -37368,7 +36259,6 @@
+
+ #: cp/parser.c:12122
+ #, fuzzy, gcc-internal-format
+-#| msgid "types may not be defined in a new-type-id"
+ msgid "types may not be defined in a conversion-type-id"
+ msgstr "类型不能定义在 new-type-id 中"
+
+@@ -37379,7 +36269,6 @@
+
+ #: cp/parser.c:12153
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid use of %<auto%> in conversion operator"
+ msgid "use of %<auto%> in member template conversion operator can never be deduced"
+ msgstr "在转换运算符中使用%<auto%>无效"
+
+@@ -37395,7 +36284,6 @@
+
+ #: cp/parser.c:12276
+ #, fuzzy, gcc-internal-format
+-#| msgid "static declaration of %q+D follows non-static declaration"
+ msgid "mem-initializer for %qD follows constructor delegation"
+ msgstr "对%qD的静态声明出现在非静态声明之后"
+
+@@ -37421,7 +36309,6 @@
+
+ #: cp/parser.c:12737 cp/parser.c:12784
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected a string after %<#pragma message%>"
+ msgid "expected empty string after %<operator%> keyword"
+ msgstr "%<#pragma message%>后需要一个字符串"
+
+@@ -37432,7 +36319,6 @@
+
+ #: cp/parser.c:12761
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected identifier"
+ msgid "expected suffix identifier"
+ msgstr "需要标识符"
+
+@@ -37484,7 +36370,6 @@
+
+ #: cp/parser.c:13403
+ #, fuzzy, gcc-internal-format
+-#| msgid "(if you use %<-fpermissive%> G++ will accept your code)"
+ msgid "(if you use %<-fpermissive%> or %<-std=c++11%>, or %<-std=gnu++11%> G++ will accept your code)"
+ msgstr "(如果您使用%<-fpermissive%>G++ 会接受您的代码)"
+
+@@ -37547,19 +36432,16 @@
+
+ #: cp/parser.c:14510
+ #, fuzzy, gcc-internal-format
+-#| msgid "defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x"
+ msgid "use of %<auto%> in lambda parameter declaration only available with -std=c++1y or -std=gnu++1y"
+ msgstr "默认化和被删除的函数只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+ #: cp/parser.c:14516
+ #, fuzzy, gcc-internal-format
+-#| msgid "defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x"
+ msgid "use of %<auto%> in parameter declaration only available with -std=c++1y or -std=gnu++1y"
+ msgstr "默认化和被删除的函数只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+ #: cp/parser.c:14521
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C forbids forward parameter declarations"
+ msgid "ISO C++ forbids use of %<auto%> in parameter declaration"
+ msgstr "ISO C 不允许前向参数声明"
+
+@@ -37640,7 +36522,6 @@
+
+ #: cp/parser.c:15524
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C++ forbids incrementing an enum"
+ msgid "ISO C++ forbids empty anonymous enum"
+ msgstr "ISO C++ 不允许枚举自增"
+
+@@ -37681,7 +36562,6 @@
+
+ #: cp/parser.c:16101
+ #, fuzzy, gcc-internal-format
+-#| msgid "types may not be defined in exception-declarations"
+ msgid "types may not be defined in alias template declarations"
+ msgstr "类型不能定义在异常声明中"
+
+@@ -37764,7 +36644,6 @@
+ #. function.
+ #: cp/parser.c:17476
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid type in declaration"
+ msgid "qualified-id in declaration"
+ msgstr "声明中有无效类型"
+
+@@ -37780,7 +36659,6 @@
+
+ #: cp/parser.c:17605
+ #, fuzzy, gcc-internal-format
+-#| msgid "creating pointer to member of non-class type %qT"
+ msgid "cannot form pointer to member of non-class %q#T"
+ msgstr "生成非类类型%qT的成员指针"
+
+@@ -37796,13 +36674,11 @@
+
+ #: cp/parser.c:17739
+ #, fuzzy, gcc-internal-format
+-#| msgid "duplicate cv-qualifier"
+ msgid "multiple ref-qualifiers"
+ msgstr "重复的 cv 限定"
+
+ #: cp/parser.c:17797
+ #, fuzzy, gcc-internal-format
+-#| msgid "duplicate cv-qualifier"
+ msgid "duplicate virt-specifier"
+ msgstr "重复的 cv 限定"
+
+@@ -37843,13 +36719,11 @@
+
+ #: cp/parser.c:18594
+ #, fuzzy, gcc-internal-format
+-#| msgid "%H%sparameter pack %qD cannot have a default argument"
+ msgid "parameter pack %qD cannot have a default argument"
+ msgstr "%H%s模板参数包%qD不能有默认参数"
+
+ #: cp/parser.c:18602
+ #, fuzzy, gcc-internal-format
+-#| msgid "%H%sparameter pack cannot have a default argument"
+ msgid "parameter pack cannot have a default argument"
+ msgstr "%H%s模板参数包不能有默认参数"
+
+@@ -37860,7 +36734,6 @@
+
+ #: cp/parser.c:18907
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C++ does not allow designated initializers"
+ msgid "ISO C++ does not allow C99 designated initializers"
+ msgstr "ISO C++ 不允许指定元素初始值设定"
+
+@@ -37891,7 +36764,6 @@
+
+ #: cp/parser.c:19667
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot find file for class %s"
+ msgid "cannot specify %<override%> for a class"
+ msgstr "无法为类 %s 找到文件"
+
+@@ -37942,7 +36814,6 @@
+
+ #: cp/parser.c:20181
+ #, fuzzy, gcc-internal-format
+-#| msgid "a class-key must be used when declaring a friend"
+ msgid "in C++03 a class-key must be used when declaring a friend"
+ msgstr "声明友元时必须使用 class 关键字"
+
+@@ -38018,7 +36889,6 @@
+
+ #: cp/parser.c:21749
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected identifier or %<(%>"
+ msgid "expected an identifier for the attribute name"
+ msgstr "需要标识符或%<(%>"
+
+@@ -38113,13 +36983,11 @@
+
+ #: cp/parser.c:24031
+ #, fuzzy, gcc-internal-format
+-#| msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgid "both %<__thread%> and %<thread_local%> specified"
+ msgstr "声明中同时使用了%<_Sat%>和%<char%>"
+
+ #: cp/parser.c:24033
+ #, fuzzy, gcc-internal-format
+-#| msgid "duplicate %qE"
+ msgid "duplicate %qD"
+ msgstr "重复的%qE"
+
+@@ -38225,13 +37093,11 @@
+
+ #: cp/parser.c:24157
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<static_assert%>"
+ msgid "expected %<__transaction_atomic%>"
+ msgstr "需要%<static_assert%>"
+
+ #: cp/parser.c:24160
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<static_assert%>"
+ msgid "expected %<__transaction_relaxed%>"
+ msgstr "需要%<static_assert%>"
+
+@@ -38272,7 +37138,6 @@
+
+ #: cp/parser.c:24488
+ #, fuzzy, gcc-internal-format
+-#| msgid "previously declared here"
+ msgid "%q#T was previously declared here"
+ msgstr "以前在此声明过"
+
+@@ -38283,7 +37148,6 @@
+
+ #: cp/parser.c:24528
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgid "in C++98 %<template%> (as a disambiguator) is only allowed within templates"
+ msgstr "用作消歧义的%<template%>只能用于模板内"
+
+@@ -38354,7 +37218,6 @@
+
+ #: cp/parser.c:27475
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid initializer"
+ msgid "invalid reduction-identifier"
+ msgstr "无效的初始值设定"
+
+@@ -38365,7 +37228,6 @@
+
+ #: cp/parser.c:29045
+ #, fuzzy, gcc-internal-format
+-#| msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
+ msgid "parenthesized initialization is not allowed in for-loop"
+ msgstr "括起的初始化不允许使用在 OpenMP %<for%>循环中"
+
+@@ -38381,13 +37243,11 @@
+
+ #: cp/parser.c:30334
+ #, fuzzy, gcc-internal-format
+-#| msgid "attributes are not allowed on a function-definition"
+ msgid "vector attribute not immediately followed by a single function declaration or definition"
+ msgstr "函数定义中不允许有属性"
+
+ #: cp/parser.c:30561
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid initializer"
+ msgid "invalid initializer clause"
+ msgstr "无效的初始值设定"
+
+@@ -38403,13 +37263,11 @@
+
+ #: cp/parser.c:30678
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or identifier"
+ msgstr "需要%<+%>、%<*%>、%<-%>、%<&%>、%<^%>、%<|%>、%<&&%>或%<||%>"
+
+ #: cp/parser.c:30697
+ #, fuzzy, gcc-internal-format
+-#| msgid "new types may not be defined in a return type"
+ msgid "types may not be defined in declare reduction type list"
+ msgstr "不能在返回类型中定义新类型"
+
+@@ -38450,7 +37308,6 @@
+
+ #: cp/parser.c:31479
+ #, fuzzy, gcc-internal-format
+-#| msgid "#pragma GCC optimize is not allowed inside functions"
+ msgid "%<#pragma simd%> must be inside a function"
+ msgstr "#pragma GCC optimize 不允许用在函数中"
+
+@@ -38461,19 +37318,16 @@
+
+ #: cp/parser.c:31650
+ #, fuzzy, gcc-internal-format
+-#| msgid "Expected variable name at %C"
+ msgid "expected variable-name"
+ msgstr "在%C处需要变量名"
+
+ #: cp/parser.c:31714
+ #, fuzzy, gcc-internal-format
+-#| msgid "expected %<,%> or %<)%>"
+ msgid "expected %<,%> or %<)%> after %qE"
+ msgstr "需要 %<,%> 或 %<)%>"
+
+ #: cp/parser.c:31996
+ #, fuzzy, gcc-internal-format
+-#| msgid "templates may not be %<virtual%>"
+ msgid "implicit templates may not be %<virtual%>"
+ msgstr "模板不能是%<virtual%>的"
+
+@@ -38524,7 +37378,6 @@
+
+ #: cp/pt.c:831
+ #, fuzzy, gcc-internal-format
+-#| msgid "declaration of template %q#D"
+ msgid "specialization of alias template %qD"
+ msgstr "模板声明%q#D"
+
+@@ -38562,13 +37415,11 @@
+
+ #: cp/pt.c:1769
+ #, fuzzy, gcc-internal-format
+-#| msgid "candidate is: %+#D"
+ msgid "candidate is: %#D"
+ msgstr "备选为:%+#D"
+
+ #: cp/pt.c:1776 cp/semantics.c:4775
+ #, fuzzy, gcc-internal-format
+-#| msgid "%s %+#D"
+ msgid "%s %#D"
+ msgstr "%s %+#D"
+
+@@ -38599,7 +37450,6 @@
+
+ #: cp/pt.c:2299
+ #, fuzzy, gcc-internal-format
+-#| msgid "wrong number of template arguments (%d, should be %d)"
+ msgid "too many template headers for %D (should be %d)"
+ msgstr "模板参数数目不对(不应是 %d 个而应是 %d 个)"
+
+@@ -38735,7 +37585,6 @@
+
+ #: cp/pt.c:4159
+ #, fuzzy, gcc-internal-format
+-#| msgid "previously declared here"
+ msgid "primary template here"
+ msgstr "以前在此声明过"
+
+@@ -38792,7 +37641,6 @@
+
+ #: cp/pt.c:4478
+ #, fuzzy, gcc-internal-format
+-#| msgid "default template arguments may not be used in function templates without -std=c++0x or -std=gnu++0x"
+ msgid "default template arguments may not be used in function templates without -std=c++11 or -std=gnu++11"
+ msgstr "只有指定了 -std=c++0x 或 -std=gnu++0x 时才能在函数模板中使用默认参数"
+
+@@ -38914,19 +37762,16 @@
+
+ #: cp/pt.c:5229
+ #, fuzzy, gcc-internal-format
+-#| msgid "it must be the address of a function with external linkage"
+ msgid "it must be the name of a function with external linkage"
+ msgstr "它必须是一个具有外部链接函数的地址"
+
+ #: cp/pt.c:5237
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgid "%qE is not a valid template argument for type %qT because %qD has no linkage"
+ msgstr "%qE不是类型%qT的有效模板实参,因为对象%qD没有外部链接"
+
+ #: cp/pt.c:5241
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgid "%qE is not a valid template argument for type %qT because %qD does not have external linkage"
+ msgstr "%qE不是类型%qT的有效模板实参,因为函数%qD没有外部链接"
+
+@@ -38937,7 +37782,6 @@
+
+ #: cp/pt.c:5318
+ #, fuzzy, gcc-internal-format
+-#| msgid "got %d template parameters for %q#D"
+ msgid " couldn't deduce template parameter %qD"
+ msgstr "得到 %d 个模板参数,为%q#D"
+
+@@ -38948,31 +37792,26 @@
+
+ #: cp/pt.c:5342
+ #, fuzzy, gcc-internal-format
+-#| msgid "comparison between types %qT and %qT"
+ msgid " mismatched types %qT and %qT"
+ msgstr "在类型%qT和%qT间比较"
+
+ #: cp/pt.c:5351
+ #, fuzzy, gcc-internal-format
+-#| msgid "template parameter pack %qD cannot have a default argument"
+ msgid " template parameter %qD is not a parameter pack, but argument %qD is"
+ msgstr "模板参数包%qD不能有默认参数"
+
+ #: cp/pt.c:5362
+ #, fuzzy, gcc-internal-format
+-#| msgid "template arguments to %qD do not match original template %qD"
+ msgid " template argument %qE does not match pointer-to-member constant %qE"
+ msgstr "给%qD的模板实参不匹配原先的模板%qD"
+
+ #: cp/pt.c:5372
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qs is not valid for %qs"
+ msgid " %qE is not equivalent to %qE"
+ msgstr "%qs对%qs而言无效"
+
+ #: cp/pt.c:5381
+ #, fuzzy, gcc-internal-format
+-#| msgid "inconsistent deduction for %qT: %qT and then %qT"
+ msgid " inconsistent parameter pack deduction with %qT and %qT"
+ msgstr "对%qT不一致的演绎:先是%qT然后是%qT"
+
+@@ -38988,31 +37827,26 @@
+
+ #: cp/pt.c:5408
+ #, fuzzy, gcc-internal-format
+-#| msgid "partial specialization %qT does not specialize any template arguments"
+ msgid " variable-sized array type %qT is not a valid template argument"
+ msgstr "部分特例化%qT并未特例化任何模板参数"
+
+ #: cp/pt.c:5419
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE is not a valid template argument for type %qT"
+ msgid " member function type %qT is not a valid template argument"
+ msgstr "%qE不是类型%qT的有效模板参数"
+
+ #: cp/pt.c:5453
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot convert type %qT to type %qT"
+ msgid " cannot convert %qE (type %qT) to type %qT"
+ msgstr "不能将类型%qT转换为类型%qT"
+
+ #: cp/pt.c:5466
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qT is an ambiguous base of %qT"
+ msgid " %qT is an ambiguous base class of %qT"
+ msgstr "%qT是%qT的有歧义的基类"
+
+ #: cp/pt.c:5470
+ #, fuzzy, gcc-internal-format
+-#| msgid "type %qT is not derived from type %qT"
+ msgid " %qT is not derived from %qT"
+ msgstr "类型%qT不是由类型%qT派生的"
+
+@@ -39023,13 +37857,11 @@
+
+ #: cp/pt.c:5491
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot decrement a pointer to incomplete type %qT"
+ msgid " can't deduce a template for %qT from non-template type %qT"
+ msgstr "指向不完全类型%qT的指针不能自减"
+
+ #: cp/pt.c:5501
+ #, fuzzy, gcc-internal-format
+-#| msgid "template arguments to %qD do not match original template %qD"
+ msgid " template argument %qE does not match %qD"
+ msgstr "给%qD的模板实参不匹配原先的模板%qD"
+
+@@ -39055,7 +37887,6 @@
+
+ #: cp/pt.c:5747
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+ msgid "%qE is not a valid template argument for %qT because it is not the address of a variable"
+ msgstr "%qD不是一个有效模板实参,因为%qD是一个变量,而非变量的地址"
+
+@@ -39071,7 +37902,6 @@
+
+ #: cp/pt.c:5778
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgid "%qE is not a valid template argument of type %qT because %qD has no linkage"
+ msgstr "%qE不是类型%qT的有效模板实参,因为%qE不是一个变量"
+
+@@ -39132,7 +37962,6 @@
+
+ #: cp/pt.c:6336
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid use of destructor %qD as a type"
+ msgid "invalid use of destructor %qE as a type"
+ msgstr "将析构函数%qD用作类型无效"
+
+@@ -39210,13 +38039,11 @@
+
+ #: cp/pt.c:6754
+ #, fuzzy, gcc-internal-format
+-#| msgid "default argument for template parameter for class enclosing %qD"
+ msgid "pack expansion argument for non-pack parameter %qD of alias template %qD"
+ msgstr "包含%qD的类的模板参数有默认参数"
+
+ #: cp/pt.c:7085
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is not a function template"
+ msgid "%q#D is not a function template"
+ msgstr "%qD不是一个函数模板"
+
+@@ -39232,7 +38059,6 @@
+
+ #: cp/pt.c:8088
+ #, fuzzy
+-#| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) substituting %qS"
+ msgstr "在实例化%2$qD时模板实例化深度超过最大值 %1$d(使用 use -ftemplate-depth= 来增大最大值)"
+
+@@ -39253,7 +38079,6 @@
+
+ #: cp/pt.c:10108
+ #, fuzzy, gcc-internal-format
+-#| msgid "redefinition of default argument for %q#D"
+ msgid " when instantiating default argument for call to %D"
+ msgstr "重定义%q#D的默认参数"
+
+@@ -39317,25 +38142,21 @@
+
+ #: cp/pt.c:11791
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot declare pointer to qualified function type %qT"
+ msgid "forming pointer to qualified function type %qT"
+ msgstr "不能声明指向限定函数类型%qT的指针"
+
+ #: cp/pt.c:11794
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot declare reference to qualified function type %qT"
+ msgid "forming reference to qualified function type %qT"
+ msgstr "不能声明指向限定函数类型%qT的引用"
+
+ #: cp/pt.c:11831
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot declare reference to qualified function type %qT"
+ msgid "cannot declare reference to array of runtime bound"
+ msgstr "不能声明指向限定函数类型%qT的引用"
+
+ #: cp/pt.c:11832
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot declare pointer to %q#T member"
+ msgid "cannot declare pointer to array of runtime bound"
+ msgstr "无法声明指向%q#T成员的指针"
+
+@@ -39426,13 +38247,11 @@
+
+ #: cp/pt.c:14567
+ #, fuzzy, gcc-internal-format
+-#| msgid "%<%T::%E%> is not a type"
+ msgid "use %<%T::%D%> instead"
+ msgstr "%<%T::%E%>不是一个类型"
+
+ #: cp/pt.c:14571
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE undeclared here (not in a function)"
+ msgid "%q+D declared here, later in the translation unit"
+ msgstr "%qE未声明(不在函数内)"
+
+@@ -39518,7 +38337,6 @@
+
+ #: cp/pt.c:18935
+ #, fuzzy, gcc-internal-format
+-#| msgid "explicit instantiation of non-template %q#D"
+ msgid "explicit instantiation of non-class template %qD"
+ msgstr "对非模板%q#D的显式实例化"
+
+@@ -39561,13 +38379,11 @@
+
+ #: cp/pt.c:20137
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid use of template type parameter %qT"
+ msgid "invalid template non-type parameter"
+ msgstr "对模板类型参数%qT的使用无效"
+
+ #: cp/pt.c:20139
+ #, fuzzy, gcc-internal-format
+-#| msgid "%q#T is not a valid type for a template constant parameter"
+ msgid "%q#T is not a valid type for a template non-type parameter"
+ msgstr "%q#T不是一个有效的模板常量参数类型"
+
+@@ -39583,7 +38399,6 @@
+
+ #: cp/pt.c:21484
+ #, fuzzy, gcc-internal-format
+-#| msgid "unable to deduce %qT from %qE"
+ msgid "unable to deduce lambda return type from %qE"
+ msgstr "无法从%2$qE推导出%1$qT"
+
+@@ -39629,7 +38444,6 @@
+
+ #: cp/rtti.c:399
+ #, fuzzy, gcc-internal-format
+-#| msgid "creating array of functions"
+ msgid "typeid of array of runtime bound"
+ msgstr "创建函数的数组"
+
+@@ -39640,7 +38454,6 @@
+
+ #: cp/rtti.c:491
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot declare pointer to qualified function type %qT"
+ msgid "typeid of qualified function type %qT"
+ msgstr "不能声明指向限定函数类型%qT的指针"
+
+@@ -39671,7 +38484,6 @@
+
+ #: cp/search.c:1899
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid covariant return type for %q+#D"
+ msgid "invalid covariant return type for %q#D"
+ msgstr "%q+#D的协变返回类型无效"
+
+@@ -39727,13 +38539,11 @@
+
+ #: cp/search.c:1966
+ #, fuzzy, gcc-internal-format
+-#| msgid "virtual non-class function %qs"
+ msgid "virtual function %q+D"
+ msgstr "虚函数%qs不是类成员"
+
+ #: cp/search.c:1967
+ #, fuzzy, gcc-internal-format
+-#| msgid "overriding deleted function %q+D"
+ msgid "overriding final function %q+D"
+ msgstr "隐藏了被删除的函数%q+D"
+
+@@ -39851,7 +38661,6 @@
+
+ #: cp/semantics.c:3218
+ #, fuzzy, gcc-internal-format
+-#| msgid "protected member %q+#D in anonymous union"
+ msgid "cannot capture member %qD of anonymous union"
+ msgstr "匿名联合中出现保护成员%q+#D"
+
+@@ -39862,13 +38671,11 @@
+
+ #: cp/semantics.c:3235
+ #, fuzzy, gcc-internal-format
+-#| msgid "use of %<auto%> variable from containing function"
+ msgid "use of local variable with automatic storage from containing function"
+ msgstr "在包含函数中使用%<auto%>变量"
+
+ #: cp/semantics.c:3236
+ #, fuzzy, gcc-internal-format
+-#| msgid "use of %<auto%> variable from containing function"
+ msgid "use of parameter from containing function"
+ msgstr "在包含函数中使用%<auto%>变量"
+
+@@ -39910,7 +38717,6 @@
+
+ #: cp/semantics.c:3622
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is not an enumerator-name"
+ msgid "%qT is not an enumeration type"
+ msgstr "%qD不是一个枚举名"
+
+@@ -39917,7 +38723,6 @@
+ #. Parameter packs can only be used in templates
+ #: cp/semantics.c:3771
+ #, fuzzy, gcc-internal-format
+-#| msgid "storage class specifiers invalid in parameter declarations"
+ msgid "Parameter pack __bases only valid in template declaration"
+ msgstr "为形参声明指定了无效的存储类"
+
+@@ -39938,7 +38743,6 @@
+
+ #: cp/semantics.c:4772
+ #, fuzzy, gcc-internal-format
+-#| msgid "reference to %qD is ambiguous"
+ msgid "user defined reduction lookup is ambiguous"
+ msgstr "对%qD的引用有歧义"
+
+@@ -39959,7 +38763,6 @@
+
+ #: cp/semantics.c:5267
+ #, fuzzy, gcc-internal-format
+-#| msgid "num_threads expression must be integral"
+ msgid "linear step expression must be integral"
+ msgstr "num_threads 表达式必须是整型的"
+
+@@ -39995,43 +38798,36 @@
+
+ #: cp/semantics.c:5434
+ #, fuzzy, gcc-internal-format
+-#| msgid "num_threads expression must be integral"
+ msgid "%qs length expression must be integral"
+ msgstr "num_threads 表达式必须是整型的"
+
+ #: cp/semantics.c:5447
+ #, fuzzy, gcc-internal-format
+-#| msgid "%Hcollapse argument needs positive constant integer expression"
+ msgid "%qs length expression must be positive constant integer expression"
+ msgstr "%H折叠变量需要正整常数表达式"
+
+ #: cp/semantics.c:5464
+ #, fuzzy, gcc-internal-format
+-#| msgid "num_threads expression must be integral"
+ msgid "%<num_teams%> expression must be integral"
+ msgstr "num_threads 表达式必须是整型的"
+
+ #: cp/semantics.c:5483
+ #, fuzzy, gcc-internal-format
+-#| msgid "num_threads expression must be integral"
+ msgid "%<thread_limit%> expression must be integral"
+ msgstr "num_threads 表达式必须是整型的"
+
+ #: cp/semantics.c:5502
+ #, fuzzy, gcc-internal-format
+-#| msgid "slice end must be integer"
+ msgid "%<device%> id must be integral"
+ msgstr "切片结尾必须是整数"
+
+ #: cp/semantics.c:5523
+ #, fuzzy, gcc-internal-format
+-#| msgid "schedule chunk size expression must be integral"
+ msgid "%<dist_schedule%> chunk size expression must be integral"
+ msgstr "调度块大小表达式必须为整型"
+
+ #: cp/semantics.c:5543
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is not a variable in clause %qs"
+ msgid "%qD is not a variable in %<aligned%> clause"
+ msgstr "%qD在子句%qs中不是一个变量"
+
+@@ -40042,19 +38838,16 @@
+
+ #: cp/semantics.c:5563
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD appears more than once in data clauses"
+ msgid "%qD appears more than once in %<aligned%> clauses"
+ msgstr "%qD在数据子句中多次出现"
+
+ #: cp/semantics.c:5576
+ #, fuzzy, gcc-internal-format
+-#| msgid "schedule chunk size expression must be integral"
+ msgid "%<aligned%> clause alignment expression must be integral"
+ msgstr "调度块大小表达式必须为整型"
+
+ #: cp/semantics.c:5613
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is not a variable in clause %qs"
+ msgid "%qD is not a variable in %<depend%> clause"
+ msgstr "%qD在子句%qs中不是一个变量"
+
+@@ -40091,7 +38884,6 @@
+ #. Report the error.
+ #: cp/semantics.c:6870
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "static assertion failed: %E"
+ msgid "static assertion failed: %s"
+ msgstr "静态断言错误:%E"
+
+@@ -40137,7 +38929,6 @@
+
+ #: cp/semantics.c:7494
+ #, fuzzy, gcc-internal-format
+-#| msgid "%q#T is not a class"
+ msgid "%q#T has virtual base classes"
+ msgstr "%q#T不是一个类"
+
+@@ -40168,7 +38959,6 @@
+
+ #: cp/semantics.c:8033
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qD is not a constexpr function"
+ msgid "%q+D is not usable as a constexpr function because:"
+ msgstr "%qD不是一个广义常函数"
+
+@@ -40179,7 +38969,6 @@
+
+ #: cp/semantics.c:8382 cp/semantics.c:10054
+ #, fuzzy, gcc-internal-format
+-#| msgid "call to non-function %qD"
+ msgid "call to non-constexpr function %qD"
+ msgstr "调用非函数的%qD"
+
+@@ -40186,7 +38975,6 @@
+ #. The definition of fun was somehow unsuitable.
+ #: cp/semantics.c:8416
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE is not a constant expression"
+ msgid "%qD called in a constant expression"
+ msgstr "%qE不是一个常量表达式"
+
+@@ -40202,7 +38990,6 @@
+
+ #: cp/semantics.c:8462
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD"
+ msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)"
+ msgstr "在实例化%2$qD时模板实例化深度超过最大值 %1$d(使用 use -ftemplate-depth= 来增大最大值)"
+
+@@ -40218,7 +39005,6 @@
+
+ #: cp/semantics.c:8682
+ #, fuzzy, gcc-internal-format
+-#| msgid "Expected array subscript at %C"
+ msgid "negative array subscript"
+ msgstr "%C处需要数组下标"
+
+@@ -40284,13 +39070,11 @@
+
+ #: cp/semantics.c:9492 cp/semantics.c:10361
+ #, fuzzy, gcc-internal-format
+-#| msgid "enumeral and non-enumeral type in conditional expression"
+ msgid "temporary of non-literal type %qT in a constant expression"
+ msgstr "枚举和非枚举类型一起出现在条件表达式中"
+
+ #: cp/semantics.c:9735 cp/semantics.c:10146
+ #, fuzzy, gcc-internal-format
+-#| msgid "reinterpret_cast from type %qT to type %qT casts away qualifiers"
+ msgid "reinterpret_cast from integer to pointer"
+ msgstr "从类型%qT到类型%qT的 reinterpret_cast 丢失了限定符"
+
+@@ -40331,7 +39115,6 @@
+
+ #: cp/semantics.c:10200
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE is not a constant expression"
+ msgid "use of %<this%> in a constant expression"
+ msgstr "%qE不是一个常量表达式"
+
+@@ -40352,7 +39135,6 @@
+
+ #: cp/semantics.c:10336
+ #, fuzzy, gcc-internal-format
+-#| msgid "Bad type in constant expression"
+ msgid "cast to non-integral type %qT in a constant expression"
+ msgstr "常量表达式中类型错误"
+
+@@ -40423,43 +39205,36 @@
+
+ #: cp/tree.c:3333
+ #, fuzzy, gcc-internal-format
+-#| msgid "declaration of %qD as member of %qT"
+ msgid "redeclaration of %qD adds abi tag %E"
+ msgstr "%qD声明为%qT的一个成员"
+
+ #: cp/tree.c:3339
+ #, fuzzy, gcc-internal-format
+-#| msgid "previous declaration %q+#D here"
+ msgid "previous declaration here"
+ msgstr "与此处早先的声明%q+#D冲突"
+
+ #: cp/tree.c:3356
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE attribute ignored on non-class types"
+ msgid "%qE attribute applied to non-class, non-enum type %qT"
+ msgstr "%qE属性在不是类的类型上被忽略"
+
+ #: cp/tree.c:3362
+ #, fuzzy, gcc-internal-format
+-#| msgid "ignoring attributes applied to %qT after definition"
+ msgid "%qE attribute applied to %qT after its definition"
+ msgstr "忽略在其定义之后为%qT应用的属性"
+
+ #: cp/tree.c:3384
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE attribute applies only to functions"
+ msgid "%qE attribute applied to non-function %qD"
+ msgstr "%qE属性只能用于函数"
+
+ #: cp/tree.c:3389
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE attribute applies only to functions"
+ msgid "%qE attribute applied to extern \"C\" function %qD"
+ msgstr "%qE属性只能用于函数"
+
+ #: cp/tree.c:4093
+ #, fuzzy, gcc-internal-format
+-#| msgid "array bound is not an integer constant"
+ msgid "zero as null pointer constant"
+ msgstr "数组边界不是一个整数常量"
+
+@@ -40530,7 +39305,6 @@
+
+ #: cp/typeck.c:1559
+ #, fuzzy, gcc-internal-format
+-#| msgid "creating array of functions"
+ msgid "taking sizeof array of runtime bound"
+ msgstr "创建函数的数组"
+
+@@ -40561,7 +39335,6 @@
+
+ #: cp/typeck.c:1961
+ #, fuzzy, gcc-internal-format
+-#| msgid "taking address of temporary"
+ msgid "taking address of temporary array"
+ msgstr "取临时变量的地址"
+
+@@ -40572,7 +39345,6 @@
+
+ #: cp/typeck.c:2248 cp/typeck.c:2658
+ #, fuzzy, gcc-internal-format
+-#| msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgid "request for member %qD in %qE, which is of pointer type %qT (maybe you meant to use %<->%> ?)"
+ msgstr "对成员%qD的请求出现在%qE中,而后者具有非类类型%qT"
+
+@@ -40663,7 +39435,6 @@
+
+ #: cp/typeck.c:3029
+ #, fuzzy, gcc-internal-format
+-#| msgid "alignment of array elements is greater than element size"
+ msgid "rank of the array%'s index is greater than 1"
+ msgstr "数组元素的对齐边界比元素大小还要大"
+
+@@ -40704,13 +39475,11 @@
+
+ #: cp/typeck.c:3486
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE cannot be used as a function"
+ msgid "%qD cannot be used as a function"
+ msgstr "%qE不能用作函数"
+
+ #: cp/typeck.c:3489
+ #, fuzzy, gcc-internal-format
+-#| msgid "%qE cannot be used as a function"
+ msgid "expression cannot be used as a function"
+ msgstr "%qE不能用作函数"
+
+@@ -40821,13 +39590,11 @@
+
+ #: cp/typeck.c:4572 cp/typeck.c:4584
+ #, fuzzy, gcc-internal-format
+-#| msgid "comparison between %qT and %qT"
+ msgid "operand types are %qT and %qT"
+ msgstr "在%qT和%qT间比较"
+
+ #: cp/typeck.c:4596
+ #, fuzzy, gcc-internal-format
+-#| msgid "could not find interface for class %qE"
+ msgid "could not find an integer type of the same size as %qT"
+ msgstr "找不到类%qE的接口"
+
+@@ -40925,7 +39692,6 @@
+
+ #: cp/typeck.c:5473
+ #, fuzzy, gcc-internal-format
+-#| msgid "taking address of expression of type %<void%>"
+ msgid "taking address of array of runtime bound"
+ msgstr "取一个类型为%<void%>的表达式的地址"
+
+@@ -40981,7 +39747,6 @@
+
+ #: cp/typeck.c:6077
+ #, fuzzy, gcc-internal-format
+-#| msgid "initializer for %qT must be brace-enclosed"
+ msgid "list-initializer for non-class type must not be parenthesized"
+ msgstr "%qT的初始值设定必须在花括号内"
+
+@@ -41027,7 +39792,6 @@
+
+ #: cp/typeck.c:6296
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid cast to function type %qT"
+ msgid "useless cast to type %qT"
+ msgstr "向函数类型%qT的转换无效"
+
+@@ -41058,7 +39822,6 @@
+
+ #: cp/typeck.c:6850
+ #, fuzzy, gcc-internal-format
+-#| msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgid "casting between pointer-to-function and pointer-to-object is conditionally-supported"
+ msgstr "ISO C++ 不允许在函数指针和对象指针间进行转换"
+
+@@ -41253,7 +40016,6 @@
+
+ #: cp/typeck.c:8390
+ #, fuzzy, gcc-internal-format
+-#| msgid "<brace-enclosed initializer list>"
+ msgid "returning initializer list"
+ msgstr "<花括号内的初始值列表>"
+
+@@ -41335,7 +40097,6 @@
+
+ #: cp/typeck2.c:333
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot declare parameter %q+D to be of abstract type %qT"
+ msgid "cannot declare parameter to be of abstract type %qT"
+ msgstr "不能将形参%q+D声明为具有抽象类型%qT"
+
+@@ -41372,37 +40133,31 @@
+
+ #: cp/typeck2.c:356
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid cast to function type %qT"
+ msgid "invalid cast to abstract class type %qT"
+ msgstr "向函数类型%qT的转换无效"
+
+ #: cp/typeck2.c:359
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgid "invalid new-expression of abstract class type %qT"
+ msgstr "从具有类型%qT的右值表达式到类型%qT中的转换无效"
+
+ #: cp/typeck2.c:362
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid parameter type %qT"
+ msgid "invalid abstract return type %qT"
+ msgstr "无效的参数类型%qT"
+
+ #: cp/typeck2.c:365
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid parameter type %qT"
+ msgid "invalid abstract parameter type %qT"
+ msgstr "无效的参数类型%qT"
+
+ #: cp/typeck2.c:368
+ #, fuzzy, gcc-internal-format
+-#| msgid "expression %qE of abstract class type %qT cannot be used in throw-expression"
+ msgid "expression of abstract class type %qT cannot be used in throw-expression"
+ msgstr "表达式%qE具有抽象类类型%qT,不能用于 throw 表达式中"
+
+ #: cp/typeck2.c:372
+ #, fuzzy, gcc-internal-format
+-#| msgid "cannot declare parameter %q+D to be of abstract type %qT"
+ msgid "cannot declare catch parameter to be of abstract class type %qT"
+ msgstr "不能将形参%q+D声明为具有抽象类型%qT"
+
+@@ -41448,7 +40203,6 @@
+
+ #: cp/typeck2.c:501
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid use of member (did you forget the %<&%> ?)"
+ msgid "invalid use of member function (did you forget the %<()%> ?)"
+ msgstr "对成员的使用无效(您是否遗忘了%<&%>?)"
+
+@@ -41474,7 +40228,6 @@
+
+ #: cp/typeck2.c:534
+ #, fuzzy, gcc-internal-format
+-#| msgid "<brace-enclosed initializer list>"
+ msgid "invalid use of brace-enclosed initializer list"
+ msgstr "<花括号内的初始值列表>"
+
+@@ -41510,7 +40263,6 @@
+
+ #: cp/typeck2.c:922
+ #, fuzzy, gcc-internal-format
+-#| msgid "narrowing conversion of %qE from %qT to %qT inside { }"
+ msgid "narrowing conversion of %qE from %qT to %qT inside { } is ill-formed in C++11"
+ msgstr "在 {} 内将%qE从%qT转换为较窄的类型%qT"
+
+@@ -41606,19 +40358,16 @@
+
+ #: cp/typeck2.c:1759
+ #, fuzzy, gcc-internal-format
+-#| msgid "pointer to member function used in arithmetic"
+ msgid "pointer-to-member-function type %qT requires an rvalue"
+ msgstr "在算术表达式中使用了成员指针"
+
+ #: cp/typeck2.c:1766
+ #, fuzzy, gcc-internal-format
+-#| msgid "pointer to member function used in arithmetic"
+ msgid "pointer-to-member-function type %qT requires an lvalue"
+ msgstr "在算术表达式中使用了成员指针"
+
+ #: cp/typeck2.c:1807
+ #, fuzzy, gcc-internal-format
+-#| msgid "invalid cast to function type %qT"
+ msgid "functional cast to array type %qT"
+ msgstr "向函数类型%qT的转换无效"
+
+@@ -41659,7 +40408,6 @@
+
+ #: fortran/arith.c:904 fortran/arith.c:929
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgid "Noninteger exponent in an initialization expression at %L"
+ msgstr "Fortran 2003:%L处初始化表达式中非整数指数"
+
+@@ -41833,7 +40581,6 @@
+
+ #: fortran/array.c:578
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Array specification at %C has more than %d dimensions"
+ msgid "Array specification at %C with more than 7 dimensions"
+ msgstr "%C处数组规格中有多于 %d 的维数"
+
+@@ -41864,13 +40611,11 @@
+
+ #: fortran/array.c:1060
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: [...] style array constructors at %C"
+ msgid "[...] style array constructors at %C"
+ msgstr "Fortran 2003:%C处 [...] 风格的数组构造"
+
+ #: fortran/array.c:1082
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Array constructor including type specification at %C"
+ msgid "Array constructor including type specification at %C"
+ msgstr "Fortran 2003:%C处包含类型规格的数组构造"
+
+@@ -42074,7 +40819,6 @@
+ #: fortran/check.c:868 fortran/check.c:1807 fortran/check.c:1933
+ #: fortran/check.c:2007 fortran/check.c:2427
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: Different type kinds at %L"
+ msgid "Different type kinds at %L"
+ msgstr "扩展:%L处类型种别不同"
+
+@@ -42085,7 +40829,6 @@
+
+ #: fortran/check.c:913 fortran/check.c:949 fortran/check.c:2945
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "'%s' argument of '%s' intrinsic at %L must be of kind %d"
+ msgid "'%s' argument of '%s' intrinsic at %L shall not be coindexed"
+ msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须具有种别 %4$d"
+
+@@ -42121,19 +40864,16 @@
+
+ #: fortran/check.c:1030
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgid "ATOM and VALUE argument of the %s intrinsic function shall have the same type at %L"
+ msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实参类型必须相同"
+
+ #: fortran/check.c:1048
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgid "ATOM argument of the %s intrinsic function at %L shall be definable"
+ msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实参类型必须为默认实型"
+
+ #: fortran/check.c:1065
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgid "VALUE argument of the %s intrinsic function at %L shall be definable"
+ msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实参类型必须为默认实型"
+
+@@ -42162,7 +40902,6 @@
+ #: fortran/check.c:3609 fortran/check.c:3664 fortran/check.c:4620
+ #: fortran/check.c:4749
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgid "'%s' intrinsic with KIND argument at %L"
+ msgstr "Fortran 2003:%2$L处的‘%1$s’内建函数有 KIND 实参"
+
+@@ -42203,7 +40942,6 @@
+
+ #: fortran/check.c:1739
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2008: COMPLEX argument '%s' argument of '%s' intrinsic at %L"
+ msgid "COMPLEX argument '%s' argument of '%s' intrinsic at %L"
+ msgstr "Fortran 2008:%3$L处的‘%2$s’内建函数有 COMPLEX 参数‘%1$s’"
+
+@@ -42239,19 +40977,16 @@
+
+ #: fortran/check.c:2384
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "'%s' argument of '%s' intrinsic at %L is empty"
+ msgid "Missing '%s' argument to the %s intrinsic at %L"
+ msgstr "%3$L处内建‘%2$s’内建函数的‘%1$s’实参为空"
+
+ #: fortran/check.c:2399
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "arguments '%s' and '%s' for intrinsic %s"
+ msgid "Duplicate argument '%s' at %L to intrinsic %s"
+ msgstr "‘%s’和‘%s’用作内建函数‘%s’的参数"
+
+ #: fortran/check.c:2404
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "arguments '%s' and '%s' for intrinsic %s"
+ msgid "Unknown argument '%s' at %L to intrinsic %s"
+ msgstr "‘%s’和‘%s’用作内建函数‘%s’的参数"
+
+@@ -42262,7 +40997,6 @@
+
+ #: fortran/check.c:2464
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgid "'%s' intrinsic with CHARACTER argument at %L"
+ msgstr "Fortran 2003:%2$L处的‘%1$s’内建函数有 CHARACTER 实参"
+
+@@ -42298,13 +41032,11 @@
+
+ #: fortran/check.c:2815
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Second argument of NEAREST at %L shall not be zero"
+ msgid "The FROM argument to MOVE_ALLOC at %L shall not be coindexed"
+ msgstr "%L处 NEAREST 的第二个参数不能为 0"
+
+ #: fortran/check.c:2826
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Second argument of NEAREST at %L shall not be zero"
+ msgid "The TO argument to MOVE_ALLOC at %L shall not be coindexed"
+ msgstr "%L处 NEAREST 的第二个参数不能为 0"
+
+@@ -42315,25 +41047,21 @@
+
+ #: fortran/check.c:2844
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgid "The FROM and TO arguments of the MOVE_ALLOC intrinsic at %L must have the same rank %d/%d"
+ msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实参必须有相同的秩 %5$d/%6$d"
+
+ #: fortran/check.c:2853
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgid "The FROM and TO arguments of the MOVE_ALLOC intrinsic at %L must have the same corank %d/%d"
+ msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实参必须有相同的秩 %5$d/%6$d"
+
+ #: fortran/check.c:2880
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Second argument of NEAREST at %L shall not be zero"
+ msgid "Argument 'S' of NEAREST at %L shall not be zero"
+ msgstr "%L处 NEAREST 的第二个参数不能为 0"
+
+ #: fortran/check.c:2930
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER, ALLOCATABLE or procedure pointer"
+ msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须为 ALLOCATABLE"
+
+@@ -42364,7 +41092,6 @@
+
+ #: fortran/check.c:3150
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgid "The argument of the RANK intrinsic at %L must be a data object"
+ msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个变量"
+
+@@ -42410,7 +41137,6 @@
+
+ #: fortran/check.c:3408 fortran/check.c:3427
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "'%s' argument of '%s' intrinsic at %L must be %s"
+ msgid "'%s' argument of '%s' intrinsic at %L cannot be of type %s"
+ msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是 %4$s"
+
+@@ -42436,19 +41162,16 @@
+
+ #: fortran/check.c:3679 fortran/check.c:5705
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "'%s' argument of '%s' intrinsic at %L must be a scalar"
+ msgid "'%s' argument of '%s' intrinsic at %L shall not be a procedure"
+ msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个标量"
+
+ #: fortran/check.c:3687 fortran/check.c:3826 fortran/check.c:5697
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "'%s' argument of '%s' intrinsic at %L cannot be INTENT(IN)"
+ msgid "'%s' argument of '%s' intrinsic at %L shall not be TYPE(*)"
+ msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’不能是 INTENT(IN)"
+
+ #: fortran/check.c:3698 fortran/check.c:3838
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgid "'%s' argument of '%s' intrinsic at %L shall not be an assumed-size array"
+ msgstr "‘shape’内建函数的‘source’实参在%L处不能是假定大小的数组"
+
+@@ -42474,7 +41197,6 @@
+
+ #: fortran/check.c:3906
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Argument dim at %L must be scalar"
+ msgid "Argument FPTR at %L to C_F_POINTER must be a pointer"
+ msgstr "%L 实参维数必须是标量"
+
+@@ -42540,7 +41262,6 @@
+
+ #: fortran/check.c:4036
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Function result '%s' at %L has no IMPLICIT type"
+ msgid "Function result '%s' at %L is invalid as X argument to C_FUNLOC"
+ msgstr "%2$L处的函数返回值‘%1$s’处没有隐式类型"
+
+@@ -42551,7 +41272,6 @@
+
+ #: fortran/check.c:4050
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgid "Noninteroperable procedure at %L to C_FUNLOC"
+ msgstr "%2$L处的用户运算符‘%1$s’必须是一个 FUNCTION"
+
+@@ -42567,7 +41287,6 @@
+
+ #: fortran/check.c:4081
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Component at %C must have the POINTER attribute"
+ msgid "Argument X at %L to C_LOC shall have either the POINTER or the TARGET attribute"
+ msgstr "%C处的组件必须有 POINTER 属性"
+
+@@ -42730,7 +41449,6 @@
+
+ #: fortran/data.c:327 fortran/data.c:493
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: re-initialization of '%s' at %L"
+ msgid "re-initialization of '%s' at %L"
+ msgstr "扩展:‘%s’重初始化于 %L"
+
+@@ -42741,7 +41459,6 @@
+
+ #: fortran/decl.c:271
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgid "initialization of common block variable '%s' in DATA statement at %C"
+ msgstr "扩展:DATA 语句中对公共块变量‘%s’在%C处初始化"
+
+@@ -42787,7 +41504,6 @@
+
+ #: fortran/decl.c:752
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Obsolescent feature: Old-style character length at %C"
+ msgid "Old-style character length at %C"
+ msgstr "已过时:%C处的旧式字符长度"
+
+@@ -42823,13 +41539,11 @@
+
+ #: fortran/decl.c:1032
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ 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 "%2$L处变量‘%1$s’是 BIND(C) 过程‘%3$s’的参数,但它不能与 C 互操作"
+
+ #: fortran/decl.c:1038
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgid "Variable '%s' at %L is a dummy argument of the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr "%2$L处变量‘%1$s’是 BIND(C) 过程‘%3$s’的参数,但它不能与 C 互操作"
+
+@@ -42840,37 +41554,31 @@
+
+ #: fortran/decl.c:1066
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgid "Variable '%s' at %L with ALLOCATABLE attribute in procedure '%s' with BIND(C)"
+ msgstr "%2$L处变量‘%1$s’不能有 ALLOCATABLE 属性,因为过程‘%3$s’是 BIND(C)"
+
+ #: fortran/decl.c:1074
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgid "Variable '%s' at %L with POINTER attribute in procedure '%s' with BIND(C)"
+ msgstr "%2$L处变量‘%1$s’不能有 POINTER 属性,因为过程‘%3$s’是 BIND(C)"
+
+ #: fortran/decl.c:1083
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgid "Scalar variable '%s' at %L with POINTER or ALLOCATABLE in procedure '%s' with BIND(C) is not yet supported"
+ msgstr "%2$L处变量‘%1$s’不能有 ALLOCATABLE 属性,因为过程‘%3$s’是 BIND(C)"
+
+ #: fortran/decl.c:1092
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgid "Variable '%s' at %L cannot have both the OPTIONAL and the VALUE attribute because procedure '%s' is BIND(C)"
+ msgstr "%2$L处变量‘%1$s’不能有 OPTIONAL 属性,因为过程‘%3$s’是 BIND(C)"
+
+ #: fortran/decl.c:1099
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgid "Variable '%s' at %L with OPTIONAL attribute in procedure '%s' which is BIND(C)"
+ msgstr "%2$L处变量‘%1$s’不能有 OPTIONAL 属性,因为过程‘%3$s’是 BIND(C)"
+
+ #: fortran/decl.c:1110
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgid "Assumed-shape array '%s' at %L as dummy argument to the BIND(C) procedure '%s' at %L"
+ msgstr "%2$L处假定外形数组‘%1$s’不能是%4$L处过程‘%3$s’的参数,因为该过程是 BIND(C)"
+
+@@ -42946,7 +41654,6 @@
+
+ #: fortran/decl.c:1724
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "NULL() initialization at %C is ambiguous"
+ msgid "NULL() initialization at %C may not have MOLD"
+ msgstr "%C处的 NULL() 初始化有歧义"
+
+@@ -42987,7 +41694,6 @@
+
+ #: fortran/decl.c:2003
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: Old-style initialization at %C"
+ msgid "Old-style initialization at %C"
+ msgstr "扩展:%C处旧式的初始化"
+
+@@ -43068,7 +41774,6 @@
+
+ #: fortran/decl.c:2597
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: BYTE type at %C"
+ msgid "BYTE type at %C"
+ msgstr "扩展:%C处的 BYTE 类型"
+
+@@ -43079,7 +41784,6 @@
+
+ #: fortran/decl.c:2624
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "By-value argument at %L is not allowed in this context"
+ msgid "Assumed type at %C is not allowed for components"
+ msgstr "%L处上下文中不允许使用按值传递的实参"
+
+@@ -43101,7 +41805,6 @@
+
+ #: fortran/decl.c:2780
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: CLASS statement at %C"
+ msgid "CLASS statement at %C"
+ msgstr "Fortran 2003:%C处的 CLASS 语句"
+
+@@ -43138,7 +41841,6 @@
+
+ #: fortran/decl.c:3171
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Empty IMPLICIT statement at %C"
+ msgid "IMPORT statement at %C"
+ msgstr "%C处 IMPLICIT 语句为空"
+
+@@ -43179,7 +41881,6 @@
+
+ #: fortran/decl.c:3667
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgid "ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr "Fortran 2003:%C处的 ALLOCATABLE 属性出现在 TYPE 定义中"
+
+@@ -43190,7 +41891,6 @@
+
+ #: fortran/decl.c:3694
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgid "Attribute %s at %L in a TYPE definition"
+ msgstr "Fortran 2003:属性 %s 在%L处出现在 TYPE 定义中"
+
+@@ -43201,7 +41901,6 @@
+
+ #: fortran/decl.c:3718
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: ASYNCHRONOUS attribute at %C"
+ msgid "ASYNCHRONOUS attribute at %C"
+ msgstr "Fortran 2003:%C处的 ASYNCHRONOUS 属性"
+
+@@ -43217,19 +41916,16 @@
+
+ #: fortran/decl.c:3780
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgid "PROTECTED attribute at %C"
+ msgstr "Fortran 2003:%C处的 PROTECT 属性"
+
+ #: fortran/decl.c:3809
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: VALUE attribute at %C"
+ msgid "VALUE attribute at %C"
+ msgstr "Fortran 2003:%C处的 VALUE 属性"
+
+ #: fortran/decl.c:3816
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgid "VOLATILE attribute at %C"
+ msgstr "Fortran 2003:%C处的 VOLATILE 属性"
+
+@@ -43302,7 +41998,6 @@
+
+ #: fortran/decl.c:4212
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Empty IMPLICIT statement at %C"
+ msgid "BIND(C) statement at %C"
+ msgstr "%C处 IMPLICIT 语句为空"
+
+@@ -43328,7 +42023,6 @@
+
+ #: fortran/decl.c:4475 fortran/primary.c:1717
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Expected alternate return label at %C"
+ msgid "Alternate-return argument at %C"
+ msgstr "%C处需要替代的返回标号"
+
+@@ -43359,7 +42053,6 @@
+
+ #: fortran/decl.c:4687 fortran/decl.c:5753
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
+ msgid "BIND(C) attribute at %L may not be specified for an internal procedure"
+ msgstr "Fortran 2008:%L处的 BIND(C)属性对于内部过程不可以指定"
+
+@@ -43400,7 +42093,6 @@
+
+ #: fortran/decl.c:5031
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Procedure pointer component at %C"
+ msgid "Procedure pointer component at %C"
+ msgstr "Fortran 2003:%C处的过程指针组件"
+
+@@ -43416,13 +42108,11 @@
+
+ #: fortran/decl.c:5130 fortran/decl.c:7325
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Syntax error in PROCEDURE statement at %C"
+ msgid "double colon in MODULE PROCEDURE statement at %L"
+ msgstr "%C处 PROCEDURE 语句语法错误"
+
+ #: fortran/decl.c:5199
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgid "PROCEDURE statement at %C"
+ msgstr "Fortran 2003:%C处的 PROCEDURE 语句"
+
+@@ -43440,7 +42130,6 @@
+
+ #: fortran/decl.c:5440
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Empty IMPLICIT statement at %C"
+ msgid "ENTRY statement at %C"
+ msgstr "%C处 IMPLICIT 语句为空"
+
+@@ -43562,13 +42251,11 @@
+
+ #: fortran/decl.c:6144
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Expecting %s statement at %C"
+ msgid "Expecting %s statement at %L"
+ msgstr "需要 %s 语句,于 %C"
+
+ #: fortran/decl.c:6162
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Expected block name of '%s' in %s statement at %C"
+ msgid "Expected block name of '%s' in %s statement at %L"
+ msgstr "需要块名‘%s’在‘%s’表达式中,于 %C"
+
+@@ -43674,7 +42361,6 @@
+
+ #: fortran/decl.c:6834
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: PROTECTED statement at %C"
+ msgid "PROTECTED statement at %C"
+ msgstr "Fortran 2003:%C处的 PROTECTED 语句"
+
+@@ -43740,7 +42426,6 @@
+
+ #: fortran/decl.c:7128
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: VALUE statement at %C"
+ msgid "VALUE statement at %C"
+ msgstr "Fortran 2003:%C处的 VALUE 语句"
+
+@@ -43751,7 +42436,6 @@
+
+ #: fortran/decl.c:7177
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: VOLATILE statement at %C"
+ msgid "VOLATILE statement at %C"
+ msgstr "Fortran 2003:%C处的 VOLATILE 语句"
+
+@@ -43767,7 +42451,6 @@
+
+ #: fortran/decl.c:7236
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: ASYNCHRONOUS statement at %C"
+ msgid "ASYNCHRONOUS statement at %C"
+ msgstr "Fortran 2003:%C处的 ASYNCHRONOUS 语句"
+
+@@ -43793,7 +42476,6 @@
+
+ #: fortran/decl.c:7416
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Symbol '%s' at %C has already been host associated"
+ msgid "Symbol '%s' at %C has not been previously defined"
+ msgstr "%2$C处符号‘%1$s’已经与主机相关联"
+
+@@ -43824,7 +42506,6 @@
+
+ #: fortran/decl.c:7492
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "ABSTRACT type '%s' used at %L"
+ msgid "ABSTRACT type at %C"
+ msgstr "%2$L处使用了 ABSTRACT 类型‘%1$s’"
+
+@@ -43855,7 +42536,6 @@
+
+ #: fortran/decl.c:7722
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgid "ENUM and ENUMERATOR at %C"
+ msgstr "Fortran 2003:%C处的 ENUM 和 ENUMERATOR"
+
+@@ -44171,7 +42851,6 @@
+
+ #: fortran/expr.c:2414
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+ msgid "Evaluation of nonstandard initialization expression at %L"
+ msgstr "扩展:%L处求非标量初始化表达式的值"
+
+@@ -44302,19 +42981,16 @@
+
+ #: fortran/expr.c:3161
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgid "POINTER-valued function appears on right-hand side of assignment at %L"
+ msgstr "%L处赋值右手边出现值为 POINTER 的函数"
+
+ #: fortran/expr.c:3171
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
+ msgid "BOZ literal at %L used to initialize non-integer variable '%s'"
+ msgstr "扩展:%L处 BOZ 字面值被用来初始化非整数变量‘%s’"
+
+ #: fortran/expr.c:3176 fortran/resolve.c:9062
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
+ msgid "BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
+ msgstr "扩展:在 %L处的 BOZ 字面值在一个 DATA 语句之外并且也在 INT/REAL/DBLE/CMPLX 之外"
+
+@@ -44375,7 +43051,6 @@
+
+ #: fortran/expr.c:3343
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Bounds specification for '%s' in pointer assignment at %L"
+ msgid "Bounds specification for '%s' in pointer assignment at %L"
+ msgstr "Fortran 2003:%2$L处指针赋值语句中‘%1$s’的边界规格"
+
+@@ -44406,7 +43081,6 @@
+
+ #: fortran/expr.c:3445
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Statement function '%s' is invalid in procedure pointer assignment at %L"
+ msgid "Function result '%s' is invalid as proc-target in procedure pointer assignment at %L"
+ msgstr "语句函数‘%s’在%L处的过程指针赋值中是非法的"
+
+@@ -44427,13 +43101,11 @@
+
+ #: fortran/expr.c:3477
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Internal procedure '%s' is invalid in procedure pointer assignment at %L"
+ msgid "Intrinsic '%s' at %L is invalid in procedure pointer assignment"
+ msgstr "内部过程‘%s’在%L处的过程指针赋值中是非法的"
+
+ #: fortran/expr.c:3485
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Internal procedure '%s' is invalid in procedure pointer assignment at %L"
+ msgid "Nonintrinsic elemental procedure '%s' is invalid in procedure pointer assignment at %L"
+ msgstr "内部过程‘%s’在%L处的过程指针赋值中是非法的"
+
+@@ -44444,7 +43116,6 @@
+
+ #: fortran/expr.c:3564 fortran/expr.c:3571 fortran/resolve.c:2430
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "NOPASS or explicit interface required at %C"
+ msgid "Explicit interface required for '%s' at %L: %s"
+ msgstr "%C处需要 NOPASS 或显式接口"
+
+@@ -44632,31 +43303,26 @@
+
+ #: fortran/frontend-passes.c:562 fortran/frontend-passes.c:565
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Return value of function '%s' at %L not set"
+ msgid "Removing call to function '%s' at %L"
+ msgstr "%2$L处函数‘%1$s’的返回值没有设置"
+
+ #: fortran/frontend-passes.c:1668
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgid "Variable '%s' at %L set to undefined value inside loop beginning at %L as INTENT(OUT) argument to subroutine '%s'"
+ msgstr "变量‘%s’(位于 %C)不能在从 %L 开始的循环的内部重定义"
+
+ #: fortran/frontend-passes.c:1674
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgid "Variable '%s' at %L not definable inside loop beginning at %L as INTENT(INOUT) argument to subroutine '%s'"
+ msgstr "变量‘%s’(位于 %C)不能在从 %L 开始的循环的内部重定义"
+
+ #: fortran/frontend-passes.c:1738
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgid "Variable '%s' at %L set to undefined value inside loop beginning at %L as INTENT(OUT) argument to function '%s'"
+ msgstr "变量‘%s’(位于 %C)不能在从 %L 开始的循环的内部重定义"
+
+ #: fortran/frontend-passes.c:1744
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgid "Variable '%s' at %L not definable inside loop beginning at %L as INTENT(INOUT) argument to function '%s'"
+ msgstr "变量‘%s’(位于 %C)不能在从 %L 开始的循环的内部重定义"
+
+@@ -44687,7 +43353,6 @@
+
+ #: fortran/interface.c:254
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: ABSTRACT INTERFACE at %C"
+ msgid "ABSTRACT INTERFACE at %C"
+ msgstr "Fortran 2003:%C处的 ABSTRACT INTERFACE"
+
+@@ -44803,7 +43468,6 @@
+
+ #: fortran/interface.c:1590
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Cray pointee '%s' in %s clause at %L"
+ msgid "Internal procedure '%s' in %s at %L"
+ msgstr "%3$L处 %2$s 分句中 的Cray 指针目标‘%1$s’"
+
+@@ -44824,7 +43488,6 @@
+
+ #: fortran/interface.c:1893
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Assumed shape array at %L must be a dummy argument"
+ msgid "The assumed-rank array at %L requires that the dummy argument '%s' has assumed-rank"
+ msgstr "%L处假定外形的数组必须是一个虚参"
+
+@@ -44865,7 +43528,6 @@
+
+ #: fortran/interface.c:2007
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgid "Assumed-type actual argument at %L requires that dummy argument '%s' is of assumed type"
+ msgstr "%L处假定外形的实参由于 VOLATILE 属性而与非假定外形虚参‘%s’不兼容"
+
+@@ -45051,7 +43713,6 @@
+
+ #: fortran/interface.c:2843
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Actual argument for '%s' must be a pointer at %L"
+ msgid "Actual CLASS array argument for '%s' must be a full array at %L"
+ msgstr "‘%s’的实参在%L处必须是一个指针"
+
+@@ -45142,7 +43803,6 @@
+
+ #: fortran/interface.c:3298
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Symbol '%s' at %L already has an explicit interface"
+ msgid "Assumed-type argument %s at %L requires an explicit interface"
+ msgstr "符号‘%s’在%L处已经有了显式接口"
+
+@@ -45158,7 +43818,6 @@
+
+ #: fortran/interface.c:3328
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Keyword argument requires explicit interface for procedure '%s' at %L"
+ msgid "Assumed-rank argument requires an explicit interface at %L"
+ msgstr "%2$L处过程‘%1$s’的关键字参数要求显式的接口"
+
+@@ -45179,7 +43838,6 @@
+
+ #: fortran/interface.c:3902
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Entity '%s' at %C is already present in the interface"
+ msgid "Entity '%s' at %L is already present in the interface"
+ msgstr "%2$C处实体‘%1$s’已经出现在接口中"
+
+@@ -45225,7 +43883,6 @@
+
+ #: fortran/interface.c:4184
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Interface mismatch in dummy procedure '%s' at %L: %s"
+ msgid "Result mismatch for the overriding procedure '%s' at %L: %s"
+ msgstr "哑过程‘%s’接口在%L处不匹配:%s"
+
+@@ -45241,7 +43898,6 @@
+
+ #: fortran/interface.c:4236
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Interface mismatch in dummy procedure '%s' at %L: %s"
+ msgid "Argument mismatch for the overriding procedure '%s' at %L: %s"
+ msgstr "哑过程‘%s’接口在%L处不匹配:%s"
+
+@@ -45267,31 +43923,26 @@
+
+ #: fortran/intrinsic.c:196
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgid "Variable with NO_ARG_CHECK attribute at %L is only permitted as argument to the intrinsic functions C_LOC and PRESENT"
+ msgstr "%L 的 NULL 指针不能用作内建函数‘%s’的实参"
+
+ #: fortran/intrinsic.c:210
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgid "Assumed-type argument at %L is not permitted as actual argument to the intrinsic %s"
+ msgstr "%L 的 NULL 指针不能用作内建函数‘%s’的实参"
+
+ #: fortran/intrinsic.c:217
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgid "Assumed-type argument at %L is only permitted as first actual argument to the intrinsic %s"
+ msgstr "%L 的 NULL 指针不能用作内建函数‘%s’的实参"
+
+ #: fortran/intrinsic.c:224
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgid "Assumed-rank argument at %L is only permitted as actual argument to intrinsic inquiry functions"
+ msgstr "%L 的 NULL 指针不能用作内建函数‘%s’的实参"
+
+ #: fortran/intrinsic.c:231
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgid "Assumed-rank argument at %L is only permitted as first actual argument to the intrinsic inquiry function %s"
+ msgstr "%L 的 NULL 指针不能用作内建函数‘%s’的实参"
+
+@@ -45342,19 +43993,16 @@
+
+ #: fortran/intrinsic.c:4255
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Function '%s' as initialization expression at %L"
+ msgid "Function '%s' as initialization expression at %L"
+ msgstr "Fortran 2003:函数‘%s’在%L处用作初始化表达式"
+
+ #: fortran/intrinsic.c:4331
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgid "Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr "Fortran 2003:作为初始表达式的基本函数在%L处使用了非整数或非字符的参数"
+
+ #: fortran/intrinsic.c:4402
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgid "Subroutine call to intrinsic '%s' in DO CONCURRENT block at %L is not PURE"
+ msgstr "在%2$L处调用内建‘%1$s’的子例程不是 PURE"
+
+@@ -45395,25 +44043,21 @@
+
+ #: fortran/io.c:455
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: DP format specifier not allowed at %C"
+ msgid "DP format specifier not allowed at %C"
+ msgstr "Fortran 2003:不允许在%C处使用 DP 格式限定符"
+
+ #: fortran/io.c:462
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: DC format specifier not allowed at %C"
+ msgid "DC format specifier not allowed at %C"
+ msgstr "Fortran 2003:不允许在%C处使用 DC 格式限定符"
+
+ #: fortran/io.c:651
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: X descriptor requires leading space count at %L"
+ msgid "X descriptor requires leading space count at %L"
+ msgstr "扩展:X 描述符在%L需要前导空格数量"
+
+ #: fortran/io.c:680
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: $ descriptor at %L"
+ msgid "$ descriptor at %L"
+ msgstr "扩展:%L处的 $ 描述符"
+
+@@ -45429,7 +44073,6 @@
+
+ #: fortran/io.c:826
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2008: 'G0' in format at %L"
+ msgid "'G0' in format at %L"
+ msgstr "Fortran 2008:%L处格式中的‘G0’"
+
+@@ -45455,7 +44098,6 @@
+
+ #: fortran/io.c:1059 fortran/io.c:1121
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: Missing comma at %L"
+ msgid "Missing comma at %L"
+ msgstr "扩展:%L处缺少逗号"
+
+@@ -45511,13 +44153,11 @@
+
+ #: fortran/io.c:1399
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "FORMAT tag at %L must be of type CHARACTER or INTEGER"
+ msgid "FORMAT tag at %L must be of type default-kind CHARACTER or of INTEGER"
+ msgstr "%L处 FORMAT 标记必须具有类型 CHARACTER 或 INTEGER"
+
+ #: fortran/io.c:1405
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Deleted feature: ASSIGNED variable in FORMAT tag at %L"
+ msgid "ASSIGNED variable in FORMAT tag at %L"
+ msgstr "已删除的特性:%L处 FORMAT 标记中有 ASSIGNED 变量"
+
+@@ -45533,7 +44173,6 @@
+
+ #: fortran/io.c:1429
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: Non-character in FORMAT tag at %L"
+ msgid "Non-character in FORMAT tag at %L"
+ msgstr "扩展:%L处的 FORMAT 标记中有非字符"
+
+@@ -45559,7 +44198,6 @@
+
+ #: fortran/io.c:1482
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgid "%s tag at %L must be a character string of default kind"
+ msgstr "%L处的毗连运算符必须毗连同一种别的字符串"
+
+@@ -45570,7 +44208,6 @@
+
+ #: fortran/io.c:1495
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: IOMSG tag at %L"
+ msgid "IOMSG tag at %L"
+ msgstr "Fortran 2003:%L处的 IOMSG 标记"
+
+@@ -45586,13 +44223,11 @@
+
+ #: fortran/io.c:1516
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "UNIT not specified at %L"
+ msgid "NEWUNIT specifier at %L"
+ msgstr "%L没有指定 UNIT"
+
+ #: fortran/io.c:1534
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: CONVERT tag at %L"
+ msgid "CONVERT tag at %L"
+ msgstr "扩展:%L处的 CONVERT 标记"
+
+@@ -45603,7 +44238,6 @@
+
+ #: fortran/io.c:1727 fortran/io.c:1754
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%s specifier in %s statement at %C has invalid value '%s'"
+ msgid "%s specifier in %s statement at %C has value '%s'"
+ msgstr "为%3$C处 %2$s 语句中 %1$s 指定了非法的值‘%4$s’"
+
+@@ -45639,37 +44273,31 @@
+
+ #: fortran/io.c:1889
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: ASYNCHRONOUS= at %C not allowed in Fortran 95"
+ msgid "ASYNCHRONOUS= at %C not allowed in Fortran 95"
+ msgstr "Fortran 2003:%C处的 ASYNCHRONOUS= 不允许用在 Fortran 95 中"
+
+ #: fortran/io.c:1907 fortran/io.c:3350
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: BLANK= at %C not allowed in Fortran 95"
+ msgid "BLANK= at %C not allowed in Fortran 95"
+ msgstr "Fortran 2003:%C处的 BLANK= 不允许用在 Fortran 95 中"
+
+ #: fortran/io.c:1925 fortran/io.c:3329
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: DECIMAL= at %C not allowed in Fortran 95"
+ msgid "DECIMAL= at %C not allowed in Fortran 95"
+ msgstr "Fortran 2003:%C处的 DECIMAL= 不允许用在 Fortran 95 中"
+
+ #: fortran/io.c:1957
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: ENCODING= at %C not allowed in Fortran 95"
+ msgid "ENCODING= at %C not allowed in Fortran 95"
+ msgstr "Fortran 2003:%C处的 ENCODING= 不允许用在 Fortran 95 中"
+
+ #: fortran/io.c:2008 fortran/io.c:3392
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: ROUND= at %C not allowed in Fortran 95"
+ msgid "ROUND= at %C not allowed in Fortran 95"
+ msgstr "Fortran 2003:%C处的 ROUND= 不允许用在 Fortran 95 中"
+
+ #: fortran/io.c:2028
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: SIGN= at %C not allowed in Fortran 95"
+ msgid "SIGN= at %C not allowed in Fortran 95"
+ msgstr "Fortran 2003:%C处的 SIGN= 不允许用在 Fortran 95 中"
+
+@@ -45680,7 +44308,6 @@
+
+ #: fortran/io.c:2301
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgid "CLOSE statement at %L requires a UNIT number"
+ msgstr "ASSIGNED GOTO 语句在%L处需要一个 INTEGER 变量"
+
+@@ -45701,7 +44328,6 @@
+
+ #: fortran/io.c:2474
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: FLUSH statement at %C"
+ msgid "FLUSH statement at %C"
+ msgstr "Fortran 2003:%C处的 FLUSH 语句"
+
+@@ -45767,7 +44393,6 @@
+
+ #: fortran/io.c:2904
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: Comma before i/o item list at %L"
+ msgid "Comma before i/o item list at %L"
+ msgstr "扩展:%L处 i/o 项目列表前的逗号"
+
+@@ -45814,7 +44439,6 @@
+
+ #: fortran/io.c:3246
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Internal file at %L with namelist"
+ msgid "Internal file at %L with namelist"
+ msgstr "Fortran 2003:%L处内部文件有名字列表"
+
+@@ -45825,13 +44449,11 @@
+
+ #: fortran/io.c:3371
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: PAD= at %C not allowed in Fortran 95"
+ msgid "PAD= at %C not allowed in Fortran 95"
+ msgstr "Fortran 2003:%C处的 PAD= 不允许用在 Fortran 95 中"
+
+ #: fortran/io.c:3437
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: DELIM= at %C not allowed in Fortran 95"
+ msgid "DELIM= at %C not allowed in Fortran 95"
+ msgstr "Fortran 2003:%C处的 DELIM= 不允许用在 Fortran 95 中"
+
+@@ -45877,7 +44499,6 @@
+
+ #: fortran/io.c:4188
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: WAIT at %C not allowed in Fortran 95"
+ msgid "WAIT at %C not allowed in Fortran 95"
+ msgstr "Fortran 2003:%C处的 WAIT 不允许用在 Fortran 95 中"
+
+@@ -45933,7 +44554,6 @@
+
+ #: fortran/match.c:560
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Invalid character '$' at %C. Use -fdollar-ok to allow it as an extension"
+ msgid "Invalid character '$' at %L. Use -fdollar-ok to allow it as an extension"
+ msgstr "%C处无效的字符‘$’。使用 -fdollar-ok 以允许它作为一个扩展"
+
+@@ -45974,7 +44594,6 @@
+
+ #: fortran/match.c:1395 fortran/match.c:1475
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Obsolescent feature: Arithmetic IF statement at %C"
+ msgid "Arithmetic IF statement at %C"
+ msgstr "已过时的特性:%C处的算术 IF 语句"
+
+@@ -46186,7 +44805,6 @@
+
+ #: fortran/match.c:2766
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Unexpected CASE statement at %C"
+ msgid "PAUSE statement at %C"
+ msgstr "%C处非预期的 CASE 语句"
+
+@@ -46224,19 +44842,16 @@
+
+ #: fortran/match.c:2907
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Redundant SOURCE tag found at %L "
+ msgid "Redundant ACQUIRED_LOCK tag found at %L "
+ msgstr "%L有多余的 SOURCE 标记"
+
+ #: fortran/match.c:2972
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Empty IMPLICIT statement at %C"
+ msgid "LOCK statement at %C"
+ msgstr "%C处 IMPLICIT 语句为空"
+
+ #: fortran/match.c:2982
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Empty IMPLICIT statement at %C"
+ msgid "UNLOCK statement at %C"
+ msgstr "%C处 IMPLICIT 语句为空"
+
+@@ -46262,13 +44877,11 @@
+
+ #: fortran/match.c:3211
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Deleted feature: ASSIGN statement at %C"
+ msgid "ASSIGN statement at %C"
+ msgstr "已删除的特性:%C处的 ASSIGN 语句"
+
+ #: fortran/match.c:3255
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgid "Assigned GOTO statement at %C"
+ msgstr "已删除的特性:%C处赋值 GOTO 语句"
+
+@@ -46279,7 +44892,6 @@
+
+ #: fortran/match.c:3360
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Obsolescent feature: Computed GOTO at %C"
+ msgid "Computed GOTO at %C"
+ msgstr "已过时的特性:%C处的计算转移 GOTO 语句"
+
+@@ -46290,7 +44902,6 @@
+
+ #: fortran/match.c:3442
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: typespec in ALLOCATE at %L"
+ msgid "typespec in ALLOCATE at %L"
+ msgstr "Fortran 2003:%L处 ALLOCATE 中有 typespec"
+
+@@ -46331,13 +44942,11 @@
+
+ #: fortran/match.c:3607
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: ERRMSG tag at %L"
+ msgid "ERRMSG tag at %L"
+ msgstr "Fortran 2003:%L处的 ERRMSG 标记"
+
+ #: fortran/match.c:3630
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: SOURCE tag at %L"
+ msgid "SOURCE tag at %L"
+ msgstr "Fortran 2003:%L处的 SOURCE 标记"
+
+@@ -46353,7 +44962,6 @@
+
+ #: fortran/match.c:3649
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "SOURCE tag at %L requires only a single entity in the allocation-list"
+ msgid "SOURCE tag at %L with more than a single allocate object"
+ msgstr "%L处的 SOURCE 标记在分配列表中只需要一个单独的实体"
+
+@@ -46409,13 +45017,11 @@
+
+ #: fortran/match.c:3906
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Allocate-object at %C is not a nonprocedure pointer or an allocatable variable"
+ msgid "Allocate-object at %C is not a nonprocedure pointer nor an allocatable variable"
+ msgstr "%C处的分配对象不是一个非过程指针或可分配的变量"
+
+ #: fortran/match.c:3943
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: ERRMSG at %L"
+ msgid "ERRMSG at %L"
+ msgstr "Fortran 2003:%L处的 ERRMSG"
+
+@@ -46436,7 +45042,6 @@
+
+ #: fortran/match.c:4046
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: RETURN statement in main program at %C"
+ msgid "RETURN statement in main program at %C"
+ msgstr "扩展:%C处 RETURN 语句出现在主程序中"
+
+@@ -46545,7 +45150,6 @@
+
+ #: fortran/match.c:4941
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Statement function at %L is recursive"
+ msgid "Statement function at %C"
+ msgstr "%L处的语句函数是递归的"
+
+@@ -46561,7 +45165,6 @@
+
+ #: fortran/match.c:5339
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Syntax error in PROTECTED statement at %C"
+ msgid "parse error in SELECT TYPE statement at %C"
+ msgstr "%C处 PROTECTED 语句语法错误"
+
+@@ -46638,7 +45241,6 @@
+
+ #: fortran/module.c:527
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: module nature in USE statement at %C"
+ msgid "module nature in USE statement at %C"
+ msgstr "Fortran 2003:%C处的 USE 语句中模块本性"
+
+@@ -46654,7 +45256,6 @@
+
+ #: fortran/module.c:562
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: \"USE :: module\" at %C"
+ msgid "\"USE :: module\" at %C"
+ msgstr "Fortran 2003:%C处的“USE :: module”"
+
+@@ -46665,7 +45266,6 @@
+
+ #: fortran/module.c:629
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Renaming operators in USE statements at %C"
+ msgid "Renaming operators in USE statements at %C"
+ msgstr "Fortran 2003:%C处的 USE 语句中更名运算符"
+
+@@ -46701,7 +45301,6 @@
+
+ #: fortran/module.c:4494
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Name '%s' at %C is an ambiguous reference to '%s' from current program unit"
+ msgid "'%s' of module '%s', imported at %C, is also the name of the current program unit"
+ msgstr "%2$C处的名字‘%1$s’是从当前程序单元对‘%3$s’有歧义的引用"
+
+@@ -46778,13 +45377,11 @@
+
+ #: fortran/module.c:6307
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgid "ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr "Fortran 2003:%C 处的 ISO_FORTRAN_ENV 内建模块"
+
+ #: fortran/module.c:6319
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgid "ISO_C_BINDING module at %C"
+ msgstr "Fortran 2003:%C处的 ISO_C_BINDING 模块"
+
+@@ -46805,7 +45402,6 @@
+
+ #: fortran/module.c:6368
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgid "File '%s' opened at %C is not a GNU Fortran module file"
+ msgstr "%2$C处打开的文件的‘%1$s’并非一个 GFORTRAN 模块文件"
+
+@@ -46906,7 +45502,6 @@
+
+ #: fortran/openmp.c:824
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgid "FINAL clause at %L requires a scalar LOGICAL expression"
+ msgstr "%L处的 IF 分句需要一个标量 LOGICAL 表达式"
+
+@@ -47023,25 +45618,21 @@
+
+ #: fortran/openmp.c:1189
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L"
+ msgid "!$OMP ATOMIC READ statement must read from a scalar variable of intrinsic type at %L"
+ msgstr "%L处 !$OMP ATOMIC 语句必须设定一个内建类型的标量值"
+
+ #: fortran/openmp.c:1194
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "expr in !$OMP ATOMIC assignment var = var op expr must be scalar and cannot reference var at %L"
+ msgid "expr in !$OMP ATOMIC WRITE assignment var = expr must be scalar and cannot reference var at %L"
+ msgstr "%L处 !$OMP ATOMIC 赋值“变量 = 变量 运算符 表达式”中的“表达式”必须是标量并且不能引用“变量”"
+
+ #: fortran/openmp.c:1216 fortran/openmp.c:1486
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L"
+ msgid "!$OMP ATOMIC CAPTURE capture statement must read from a scalar variable of intrinsic type at %L"
+ msgstr "%L处 !$OMP ATOMIC 语句必须设定一个内建类型的标量值"
+
+ #: fortran/openmp.c:1231
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L"
+ msgid "!$OMP ATOMIC CAPTURE update statement must set a scalar variable of intrinsic type at %L"
+ msgstr "%L处 !$OMP ATOMIC 语句必须设定一个内建类型的标量值"
+
+@@ -47052,7 +45643,6 @@
+
+ #: fortran/openmp.c:1282
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "!$OMP ATOMIC assignment operator must be +, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L"
+ msgid "!$OMP ATOMIC assignment operator must be binary +, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L"
+ msgstr "%L处 !$OMP ATOMIC 赋值运算符必须是 +、*、-、/、.AND.、.OR.、.EQV. 或 .NEQV."
+
+@@ -47103,7 +45693,6 @@
+
+ #: fortran/openmp.c:1464
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L"
+ msgid "!$OMP ATOMIC CAPTURE capture statement must set a scalar variable of intrinsic type at %L"
+ msgstr "%L处 !$OMP ATOMIC 语句必须设定一个内建类型的标量值"
+
+@@ -47199,7 +45788,6 @@
+
+ #: fortran/options.c:564
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Argument to -ffpe-trap is not valid: %s"
+ msgid "Argument to -ffpe-summary is not valid: %s"
+ msgstr "-ffpe-trap 的参数无效:%s"
+
+@@ -47340,25 +45928,21 @@
+
+ #: fortran/parse.c:1987
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Type-bound procedure at %C"
+ msgid "Type-bound procedure at %C"
+ msgstr "Fortran 2003:%C处的类型限定过程"
+
+ #: fortran/parse.c:1995
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Junk after GENERIC binding at %C"
+ msgid "GENERIC binding at %C"
+ msgstr "%C 处的泛型绑定后有垃圾字符"
+
+ #: fortran/parse.c:2003
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: FINAL procedure declaration at %C"
+ msgid "FINAL procedure declaration at %C"
+ msgstr "Fortran 2003:%C处的的 FINAL 过程声明"
+
+ #: fortran/parse.c:2015
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2008: Derived type definition at %C with empty CONTAINS section"
+ msgid "Derived type definition at %C with empty CONTAINS section"
+ msgstr "Fortran 2008:%C的派生类型定义有空的 CONTAINS 节"
+
+@@ -47394,7 +45978,6 @@
+
+ #: fortran/parse.c:2119
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Derived type definition at %C without components"
+ msgid "Derived type definition at %C without components"
+ msgstr "Fortran 2003:%C处的派生类型定义没有组件"
+
+@@ -47420,7 +46003,6 @@
+
+ #: fortran/parse.c:2173
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: CONTAINS block in derived type definition at %C"
+ msgid "CONTAINS block in derived type definition at %C"
+ msgstr "Fortran 2003:%C处的派生类型定义中的 CONTAINS 块"
+
+@@ -47436,7 +46018,6 @@
+
+ #: fortran/parse.c:2272
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgid "Allocatable component %s at %L of type LOCK_TYPE must have a codimension"
+ msgstr "%C处可分配的组件必须有延迟的外形"
+
+@@ -47487,7 +46068,6 @@
+
+ #: fortran/parse.c:2653
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%s statement is not allowed inside of BLOCK at %C"
+ msgid "%s statement is not allowed inside of BLOCK DATA at %C"
+ msgstr "%s 语句不能用在%C处 BLOCK 内"
+
+@@ -47568,7 +46148,6 @@
+
+ #: fortran/parse.c:3372
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2008: BLOCK construct at %C"
+ msgid "BLOCK construct at %C"
+ msgstr "Fortran 2008:%C处的 BLOCK 结构"
+
+@@ -47604,7 +46183,6 @@
+
+ #: fortran/parse.c:3863
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "FORMAT statement at %L does not have a statement label"
+ msgid "DATA statement at %C after the first executable statement"
+ msgstr "%L处 FORMAT 语句没有语句标号"
+
+@@ -47620,7 +46198,6 @@
+
+ #: fortran/parse.c:4135
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2008: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgid "CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr "Fortran 2008:%C处 CONTAINS 语句没有 FUNCTION 或 SUBROUTINE 语句"
+
+@@ -47631,7 +46208,6 @@
+
+ #: fortran/parse.c:4263
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgid "Global binding name '%s' at %L is already being used as a %s at %L"
+ msgstr "%2$L处的名字‘%1$s’已经在%4$L处被用作 %3$s"
+
+@@ -47680,7 +46256,6 @@
+
+ #: fortran/primary.c:270
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: Hollerith constant at %C"
+ msgid "Hollerith constant at %C"
+ msgstr "扩展:%C处的荷勒瑞斯常量"
+
+@@ -47701,7 +46276,6 @@
+
+ #: fortran/primary.c:393
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
+ msgid "Hexadecimal constant at %C uses non-standard syntax"
+ msgstr "扩展:%C处的十六进制常量使用了非标准语法"
+
+@@ -47717,7 +46291,6 @@
+
+ #: fortran/primary.c:431
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
+ msgid "BOZ constant at %C uses non-standard postfix syntax"
+ msgstr "扩展:%C处的 BOZ 常量使用了非标准的后序语法。"
+
+@@ -47728,7 +46301,6 @@
+
+ #: fortran/primary.c:467
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
+ msgid "BOZ used outside a DATA statement at %C"
+ msgstr "Fortran 2003:%C处的 BOZ 用在了 DATA 语句之外"
+
+@@ -47739,7 +46311,6 @@
+
+ #: fortran/primary.c:561
+ #, 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 "扩展:%C处的荷勒瑞斯常量"
+
+@@ -47755,13 +46326,11 @@
+
+ #: fortran/primary.c:663
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgid "Real number at %C has a 'q' exponent and an explicit kind"
+ msgstr "%C处的实数有一个‘d’指数和一个显式的种别"
+
+ #: fortran/primary.c:677
+ #, 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 "%2$C处 DATA 语句初始值设定 %1$s 无效"
+
+@@ -47822,7 +46391,6 @@
+
+ #: fortran/primary.c:1216
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgid "PARAMETER symbol in complex constant at %C"
+ msgstr "%C处复数常量中需要 PARAMETER 符号"
+
+@@ -47843,7 +46411,6 @@
+
+ #: fortran/primary.c:1645
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Unknown argument list function at %L"
+ msgid "argument list function at %C"
+ msgstr "%L处参数列表函数未知"
+
+@@ -47874,13 +46441,11 @@
+
+ #: fortran/primary.c:1915
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Symbol '%s' at %L has no IMPLICIT type"
+ msgid "Symbol '%s' at %C has no IMPLICIT type"
+ msgstr "%2$L处的符号‘%1$s’没有隐式类型"
+
+ #: fortran/primary.c:1921
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Unexpected character in variable list at %C"
+ msgid "Unexpected '%%' for nonderived-type variable '%s' at %C"
+ msgstr "%C处变量列表中有非预期的垃圾字符"
+
+@@ -47906,7 +46471,6 @@
+
+ #: fortran/primary.c:2363
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Structure constructor with missing optional arguments at %C"
+ msgid "Structure constructor with missing optional arguments at %C"
+ msgstr "Fortran 2003:%C处的结构构造函数丢失可选的参数"
+
+@@ -47917,31 +46481,26 @@
+
+ #: fortran/primary.c:2418
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Can't construct ABSTRACT type '%s' at %C"
+ msgid "Can't construct ABSTRACT type '%s' at %L"
+ msgstr "%2$C处无法构建 ABSTRACT 类型‘%1$s’"
+
+ #: fortran/primary.c:2438
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Structure constructor with named arguments at %C"
+ msgid "Structure constructor with named arguments at %C"
+ msgstr "Fortran 2003:%C处的结构构造函数有有名的参数"
+
+ #: fortran/primary.c:2453
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Component initializer without name after component named %s at %C!"
+ msgid "Component initializer without name after component named %s at %L!"
+ msgstr "%2$C处名为 %1$s 的组件之后的组件初始值设定没有名字!"
+
+ #: fortran/primary.c:2458
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Too many components in structure constructor at %C!"
+ msgid "Too many components in structure constructor at %L!"
+ msgstr "%C处结构构造函数中组件太多!"
+
+ #: fortran/primary.c:2495
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Component '%s' is initialized twice in the structure constructor at %C!"
+ msgid "Component '%s' is initialized twice in the structure constructor at %L!"
+ msgstr "%2$C处结构构造函数中组件‘%1$s’被初始化两次!"
+
+@@ -48012,31 +46571,26 @@
+
+ #: fortran/resolve.c:145
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
+ msgid "Interface '%s' at %L is declared in a later PROCEDURE statement"
+ msgstr "为过程‘%2$s’在%3$L处使用的接口‘%1$s’是在之后的 PROCEDURE 语句中声明的"
+
+ #: fortran/resolve.c:158
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Interface '%s' at %C may not be generic"
+ msgid "Interface '%s' at %L may not be generic"
+ msgstr "%2$C处的接口‘%1$s’不能是泛型"
+
+ #: fortran/resolve.c:165
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Interface '%s' at %C may not be a statement function"
+ msgid "Interface '%s' at %L may not be a statement function"
+ msgstr "%2$C处的接口‘%1$s’不能是个语句函数"
+
+ #: fortran/resolve.c:174
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %L"
+ msgstr "内建过程‘%s’不允许在 %C 的 PROCEDURE 语句中"
+
+ #: fortran/resolve.c:180
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgid "Interface '%s' at %L must be explicit"
+ msgstr "%3$L处过程‘%2$s’的接口‘%1$s’必须是显式的"
+
+@@ -48057,7 +46611,6 @@
+
+ #: fortran/resolve.c:311
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgid "Self-referential argument '%s' at %L is not allowed"
+ msgstr "%2$L处关键字实参‘%1$s’不在过程里"
+
+@@ -48148,7 +46701,6 @@
+
+ #: fortran/resolve.c:788
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
+ msgid "Function %s at %L with entries returning variables of different string lengths"
+ msgstr "扩展:%2$L处函数 %1$s 有返回不同字符串长度的变量的表项"
+
+@@ -48219,7 +46771,6 @@
+
+ #: fortran/resolve.c:1001
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgid "COMMON block '%s' at %L uses the same global identifier as entity at %L"
+ msgstr "%2$L处的 COMMON 块‘%1$s’在%3$L处被用作 PARAMETER"
+
+@@ -48240,7 +46791,6 @@
+
+ #: fortran/resolve.c:1056
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgid "COMMON block '%s' at %L can not have the EXTERNAL attribute"
+ msgstr "%2$L处变量‘%1$s’不能既有 POINTER 又有 BIND(C) 属性"
+
+@@ -48251,31 +46801,26 @@
+
+ #: fortran/resolve.c:1064
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgid "COMMON block '%s' at %L that is also a function result"
+ msgstr "Fortran 2003:%2$L处的 COMMON 块‘%1$s’也是一个函数返回值"
+
+ #: fortran/resolve.c:1069
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgid "COMMON block '%s' at %L that is also a global procedure"
+ msgstr "Fortran 2003:%2$L处的 COMMON 块‘%1$s’也是一个全局过程"
+
+ #: fortran/resolve.c:1152
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgid "The rank of the element in the structure constructor at %L does not match that of the component (%d/%d)"
+ msgstr "%L处的派生类型构造函数中元素的秩与该组件(%d/%d)的不匹配"
+
+ #: fortran/resolve.c:1173
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgid "The element in the structure constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr "%L处指针组件‘%s’的派生类型构造函数中的元素是 %s 但应该是 %s"
+
+ #: fortran/resolve.c:1258
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "The NULL in the derived type constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
+ msgid "The NULL in the structure constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
+ msgstr "%L处派生类型构造函数中的 NULL 被用在既不是一个指针也不是 ALLOCATABLE 的组件‘%s’上"
+
+@@ -48286,7 +46831,6 @@
+
+ #: fortran/resolve.c:1308
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgid "The element in the structure constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr "%L处指针组件‘%s’的派生类型构造函数中的元素应该是 POINTER 或 TARGET"
+
+@@ -48297,7 +46841,6 @@
+
+ #: fortran/resolve.c:1336
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Invalid expression in the derived type constructor for pointer component '%s' at %L in PURE procedure"
+ msgid "Invalid expression in the structure constructor for pointer component '%s' at %L in PURE procedure"
+ msgstr "%2$L处指针组件‘%1$s’的派生类型构造函数中表达式无效"
+
+@@ -48418,7 +46961,6 @@
+
+ #: fortran/resolve.c:2442
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Interface mismatch in dummy procedure '%s' at %L: %s"
+ msgid "Interface mismatch in global procedure '%s' at %L: %s "
+ msgstr "哑过程‘%s’接口在%L处不匹配:%s"
+
+@@ -48470,13 +47012,11 @@
+
+ #: fortran/resolve.c:2990
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgid "Reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr "%2$L处对非 PURE 函数‘%1$s’的引用出现在 FORALL %3$s 中"
+
+ #: fortran/resolve.c:2997
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgid "Reference to non-PURE function '%s' at %L inside a DO CONCURRENT %s"
+ msgstr "%2$L处对非 PURE 函数‘%1$s’的引用出现在 FORALL %3$s 中"
+
+@@ -48502,7 +47042,6 @@
+
+ #: fortran/resolve.c:3069
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgid "Subroutine call to '%s' in DO CONCURRENT block at %L is not PURE"
+ msgstr "%2$L处 FORALL 块内对‘%1$s’子例程的调用不是 PURE"
+
+@@ -48628,7 +47167,6 @@
+
+ #: fortran/resolve.c:4129
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Extension: REAL array index at %L"
+ msgid "REAL array index at %L"
+ msgstr "扩展:%L处的 REAL 数组索引"
+
+@@ -48704,7 +47242,6 @@
+
+ #: fortran/resolve.c:4766
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Assumed shape array at %L must be a dummy argument"
+ msgid "Assumed-type variable %s at %L may only be used as actual argument"
+ msgstr "%L处假定外形的数组必须是一个虚参"
+
+@@ -48719,7 +47256,6 @@
+
+ #: fortran/resolve.c:4791
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Assumed shape array at %L must be a dummy argument"
+ msgid "Assumed-rank variable %s at %L may only be used as actual argument"
+ msgstr "%L处假定外形的数组必须是一个虚参"
+
+@@ -48825,7 +47361,6 @@
+
+ #: fortran/resolve.c:6292
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "DO loop at %L will be executed zero times"
+ msgid "DO loop at %L will be executed zero times (use -Wno-zerotrip to suppress)"
+ msgstr "%L处的 DO 循环会被执行零次"
+
+@@ -49070,7 +47605,6 @@
+
+ #: fortran/resolve.c:7966
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Unexpected use of subroutine name '%s' at %C"
+ msgid "Unexpected intrinsic type '%s' at %L"
+ msgstr "对子进程名‘%s’非预期的使用,在%C处"
+
+@@ -49086,7 +47620,6 @@
+
+ #: fortran/resolve.c:8256
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Invalid context for NULL() pointer at %%L"
+ msgid "Invalid context for NULL () intrinsic at %L"
+ msgstr "%%L处 NULL() 指针上下文无效"
+
+@@ -49098,7 +47631,6 @@
+
+ #: fortran/resolve.c:8296
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Data transfer element at %L cannot have POINTER components"
+ msgid "Data transfer element at %L cannot have POINTER components unless it is processed by a defined input/output procedure"
+ msgstr "%L处数据传输元素不能有 POINTER 组件"
+
+@@ -49109,7 +47641,6 @@
+
+ #: fortran/resolve.c:8312
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components unless it is processed by a defined input/output procedure"
+ msgstr "%L处数据传输元素不能有 ALLOCATABLE 组件"
+
+@@ -49125,7 +47656,6 @@
+
+ #: fortran/resolve.c:8388
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Stat-variable at %L must be a scalar INTEGER variable"
+ msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
+ msgstr "%L处 stat 变量必须是一个标量 INTEGER 变量"
+
+@@ -49251,7 +47781,6 @@
+
+ #: fortran/resolve.c:9196
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Assignment to a FORALL index variable at %L"
+ msgid "Assignment to an allocatable polymorphic variable at %L"
+ msgstr "%L处向 FORALL 索引变量赋值"
+
+@@ -49318,7 +47847,6 @@
+
+ #: fortran/resolve.c:10180
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgid "Variable %s with binding label %s at %L uses the same global identifier as entity at %L"
+ msgstr "%2$L处的绑定标号‘%1$s’与 %4$L 处的全局实体‘%3$s’冲突"
+
+@@ -49334,7 +47862,6 @@
+ #. multiple checks for the same procedure.
+ #: fortran/resolve.c:10210
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgid "Procedure %s with binding label %s at %L uses the same global identifier as entity at %L"
+ msgstr "%2$L处的绑定标号‘%1$s’与 %4$L 处的全局实体‘%3$s’冲突"
+
+@@ -49350,7 +47877,6 @@
+
+ #: fortran/resolve.c:10628
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgid "Allocatable array '%s' at %L must have a deferred shape or assumed rank"
+ msgstr "可分配的数组‘%s’在%L处必须有延迟的外形"
+
+@@ -49361,7 +47887,6 @@
+
+ #: fortran/resolve.c:10640
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgid "Array pointer '%s' at %L must have a deferred shape or assumed rank"
+ msgstr "数组指针‘%s’在%L处必须有延迟的外形"
+
+@@ -49387,7 +47912,6 @@
+
+ #: fortran/resolve.c:10730
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2008: Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
+ msgid "Implied SAVE for module variable '%s' at %L, needed due to the default initialization"
+ msgstr "Fortran 2008:%2$L处模块变量‘%1$s’隐含使用了 SAVE,因为默认初始化有此需求"
+
+@@ -49415,7 +47939,6 @@
+
+ #: fortran/resolve.c:10830
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "'%s' at %L must have constant character length in this context"
+ msgid "COMMON variable '%s' at %L must have constant character length"
+ msgstr "变量‘%s’在%L处上下文中字符长度必须为常量"
+
+@@ -49456,13 +47979,11 @@
+
+ #: fortran/resolve.c:10958
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgid "'%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgstr "Fortran 2003:%3$L处‘%1$s’是 PRIVATE 类型因而不能是 PUBLIC 类型‘%2$s’的虚参"
+
+ #: fortran/resolve.c:10980 fortran/resolve.c:11004
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgid "Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr "Fortran 2003: %3$L处 PUBLIC 接口‘%2$s’中的过程‘%1$s’有 PRIVATE 的虚参‘%4$s’"
+
+@@ -49508,19 +48029,16 @@
+
+ #: fortran/resolve.c:11093
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgid "CHARACTER(*) function '%s' at %L"
+ msgstr "CHARACTER(*) 函数‘%s’在%L处不能为纯函数"
+
+ #: fortran/resolve.c:11102
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
+ msgid "Procedure pointer '%s' at %L shall not be elemental"
+ msgstr "%2$L处的具有 PASS 的过程指针组件‘%1$s’必须至少有一个实参"
+
+ #: fortran/resolve.c:11108
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Dummy procedure '%s' at %C cannot have a generic interface"
+ msgid "Dummy procedure '%s' at %L shall not be elemental"
+ msgstr "哑过程‘%s’在%C处不能有泛型接口"
+
+@@ -49766,7 +48284,6 @@
+
+ #: fortran/resolve.c:12356
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgid "the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr "Fortran 2003:%3$L处组合‘%1$s’是一个 PRIVATE 类型,因此不能是 PUBLIC‘%2$s’的组合"
+
+@@ -49792,7 +48309,6 @@
+
+ #: fortran/resolve.c:12484
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
+ msgid "Generic name '%s' of function '%s' at %L being the same name as derived type at %L"
+ msgstr "%3$L处‘%2$s’的组件‘%1$s’与一个继承的类型限定过程同名"
+
+@@ -49895,7 +48411,6 @@
+
+ #: fortran/resolve.c:12900
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Assumed shape array at %L must be a dummy argument"
+ msgid "Assumed-rank array at %L must be a dummy argument"
+ msgstr "%L处假定外形的数组必须是一个虚参"
+
+@@ -49941,13 +48456,11 @@
+
+ #: fortran/resolve.c:12990
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute"
+ msgstr "%2$L处变量‘%1$s’不能既有 ALLOCATABLE 又有 BIND(C) 属性"
+
+ #: fortran/resolve.c:12998
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgid "Variable %s at %L with NO_ARG_CHECK attribute may not have the INTENT(OUT) attribute"
+ msgstr "%2$L处变量‘%1$s’不能既有 POINTER 又有 BIND(C) 属性"
+
+@@ -49958,19 +48471,16 @@
+
+ #: fortran/resolve.c:13025
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgid "Assumed type of variable %s at %L is only permitted for dummy variables"
+ msgstr "%2$L处假定外形数组‘%1$s’不能用在初始化表达式中"
+
+ #: fortran/resolve.c:13032
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgid "Assumed-type variable %s at %L may not have the ALLOCATABLE, CODIMENSION, POINTER or VALUE attribute"
+ msgstr "%2$L处变量‘%1$s’不能既有 ALLOCATABLE 又有 BIND(C) 属性"
+
+ #: fortran/resolve.c:13039
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute"
+ msgstr "%2$L处变量‘%1$s’不能既有 POINTER 又有 BIND(C) 属性"
+
+@@ -49986,7 +48496,6 @@
+
+ #: fortran/resolve.c:13151
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgid "PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr "Fortran 2003:%3$L处 PUBLIC %1$s‘%2$s’具有 PRIVATE 派生类型‘%4$s’"
+
+@@ -50002,7 +48511,6 @@
+
+ #: fortran/resolve.c:13196
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgid "Dummy argument '%s' at %L of LOCK_TYPE shall not be INTENT(OUT)"
+ msgstr "%2$L处的‘%1$s’虚参不能是 INTENT(OUT)"
+
+@@ -50178,7 +48686,6 @@
+
+ #: fortran/resolve.c:14338
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
+ msgid "PUBLIC function '%s' at %L of PRIVATE type '%s'"
+ msgstr "Fortran 2003:%2$L处 PRIVATE 类型‘%3$s’的 PUBLIC 函数‘%1$s’"
+
+@@ -50224,19 +48731,16 @@
+
+ #: fortran/scanner.c:327
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "ignoring duplicate directory \"%s\"\n"
+ msgid "Include directory \"%s\": %s"
+ msgstr "忽略重复的目录“%s”\n"
+
+ #: fortran/scanner.c:333
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "ignoring nonexistent directory \"%s\"\n"
+ msgid "Nonexistent include directory \"%s\""
+ msgstr "忽略不存在的目录“%s”\n"
+
+ #: fortran/scanner.c:339
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%qD is not a type"
+ msgid "\"%s\" is not a directory"
+ msgstr "%qD不是一个类型"
+
+@@ -50536,7 +49040,6 @@
+
+ #: fortran/symbol.c:474
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: Procedure pointer at %C"
+ msgid "Procedure pointer at %C"
+ msgstr "Fortran 2003:%C处的过程指针"
+
+@@ -50562,13 +49065,11 @@
+
+ #: fortran/symbol.c:767
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%s attribute conflicts with %s attribute at %L"
+ msgid "%s attribute with %s attribute at %L"
+ msgstr "%s 属性与 %s 属性在%L处冲突"
+
+ #: fortran/symbol.c:773
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "%s attribute conflicts with %s attribute in '%s' at %L"
+ msgid "%s attribute with %s attribute in '%s' at %L"
+ msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
+
+@@ -50664,7 +49165,6 @@
+
+ #: fortran/symbol.c:1590
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: BIND(C) at %L"
+ msgid "BIND(C) at %L"
+ msgstr "Fortran 2003:%L处的 BIND(C)"
+
+@@ -50675,7 +49175,6 @@
+
+ #: fortran/symbol.c:1610
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Fortran 2003: EXTENDS at %L"
+ msgid "EXTENDS at %L"
+ msgstr "Fortran 2003:%L处的 EXTENDS"
+
+@@ -50771,7 +49270,6 @@
+
+ #: fortran/symbol.c:2270
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Expected terminating name at %C"
+ msgid "Shared DO termination label %d at %C"
+ msgstr "%C处需要结束名"
+
+@@ -50868,7 +49366,6 @@
+
+ #: fortran/trans-common.c:400
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgid "Named COMMON block '%s' at %L shall be of the same size as elsewhere (%lu vs %lu bytes)"
+ msgstr "%2$L处的 COMMON 块‘%1$s’应该有同样的大小"
+
+@@ -50920,13 +49417,11 @@
+
+ #: fortran/trans-common.c:1167
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "COMMON '%s' at %L requires %d bytes of padding at start; reorder elements or use -fno-align-commons"
+ msgid "COMMON '%s' at %L requires %d bytes of padding; reorder elements or use -fno-align-commons"
+ msgstr "%2$L处的 COMMON‘%1$s’需要 %3$d 字节填充在开始处;重排序元素或使用 -fno-align-commons"
+
+ #: fortran/trans-common.c:1171
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "COMMON at %L requires %d bytes of padding at start; reorder elements or use -fno-align-commons"
+ msgid "COMMON at %L requires %d bytes of padding; reorder elements or use -fno-align-commons"
+ msgstr "%L处的 COMMON 需要 %d 字节填充在开始处;重排序元素或使用 -fno-align-commons"
+
+@@ -50967,7 +49462,6 @@
+
+ #: fortran/trans-decl.c:4257
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Unused variable '%s' declared at %L"
+ msgid "Unused PRIVATE module variable '%s' declared at %L"
+ msgstr "%2$L处声明了未使用的变量‘%1$s’"
+
+@@ -50988,7 +49482,6 @@
+
+ #: fortran/trans-decl.c:4837
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Unused variable '%s' declared at %L"
+ msgid "Unused module variable '%s' which has been explicitly imported at %L"
+ msgstr "%2$L处声明了未使用的变量‘%1$s’"
+
+@@ -51004,7 +49497,6 @@
+
+ #: fortran/trans-decl.c:4896
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Unused parameter '%s' declared at %L"
+ msgid "Unused parameter '%s' which has been explicitly imported at %L"
+ msgstr "%2$L处声明了未使用的参数‘%1$s’"
+
+@@ -51066,37 +49558,31 @@
+
+ #: fortran/trans-types.c:496
+ #, fuzzy, gcc-internal-format
+-#| msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgid "INTEGER(KIND=8) is not available for -fdefault-integer-8 option"
+ msgstr "integer kind=8 在指定了 -fdefault-integer-8 选项时不可用"
+
+ #: fortran/trans-types.c:504
+ #, fuzzy, gcc-internal-format
+-#| msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgid "INTEGER(KIND=8) is not available for -finteger-4-integer-8 option"
+ msgstr "integer kind=8 在指定了 -fdefault-integer-8 选项时不可用"
+
+ #: fortran/trans-types.c:522
+ #, fuzzy, gcc-internal-format
+-#| msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgid "REAL(KIND=8) is not available for -fdefault-real-8 option"
+ msgstr "real kind=8 在指定了 -fdefault-real-8 选项时不可用"
+
+ #: fortran/trans-types.c:529
+ #, fuzzy, gcc-internal-format
+-#| msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgid "REAL(KIND=8) is not available for -freal-4-real-8 option"
+ msgstr "real kind=8 在指定了 -fdefault-real-8 选项时不可用"
+
+ #: fortran/trans-types.c:536
+ #, fuzzy, gcc-internal-format
+-#| msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgid "REAL(KIND=10) is not available for -freal-4-real-10 option"
+ msgstr "real kind=8 在指定了 -fdefault-real-8 选项时不可用"
+
+ #: fortran/trans-types.c:543
+ #, fuzzy, gcc-internal-format
+-#| msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgid "REAL(KIND=16) is not available for -freal-4-real-16 option"
+ msgstr "real kind=8 在指定了 -fdefault-real-8 选项时不可用"
+
+@@ -51107,25 +49593,21 @@
+
+ #: fortran/trans-types.c:566
+ #, fuzzy, gcc-internal-format
+-#| msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgid "REAL(KIND=4) is not available for -freal-8-real-4 option"
+ msgstr "real kind=8 在指定了 -fdefault-real-8 选项时不可用"
+
+ #: fortran/trans-types.c:573
+ #, fuzzy, gcc-internal-format
+-#| msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgid "REAL(KIND=10) is not available for -freal-8-real-10 option"
+ msgstr "real kind=8 在指定了 -fdefault-real-8 选项时不可用"
+
+ #: fortran/trans-types.c:580
+ #, fuzzy, gcc-internal-format
+-#| msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgid "REAL(KIND=10) is not available for -freal-8-real-16 option"
+ msgstr "real kind=8 在指定了 -fdefault-real-8 选项时不可用"
+
+ #: fortran/trans-types.c:1458
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "Array element size too big"
+ msgid "Array element size too big at %C"
+ msgstr "数组元素太大"
+
+@@ -51272,7 +49754,6 @@
+ #. duplicate code from LOAD macro
+ #: java/expr.c:3549
+ #, fuzzy, gcc-internal-format
+-#| msgid "unrecogized wide sub-instruction"
+ msgid "unrecognized wide sub-instruction"
+ msgstr "无法识别的宽子指令"
+
+@@ -51570,19 +50051,16 @@
+
+ #: lto/lto.c:2302
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "cannot open %s"
+ msgid "Cannot open %s"
+ msgstr "不能打开 %s"
+
+ #: lto/lto.c:2323
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "cannot open %s"
+ msgid "Cannot map %s"
+ msgstr "不能打开 %s"
+
+ #: lto/lto.c:2334
+ #, fuzzy, gcc-internal-format, gfc-internal-format
+-#| msgid "cannot open %s"
+ msgid "Cannot read %s"
+ msgstr "不能打开 %s"
+
+@@ -52006,7 +50484,6 @@
+
+ #: objc/objc-act.c:3964 objc/objc-act.c:3992 objc/objc-act.c:4048
+ #, fuzzy, gcc-internal-format
+-#| msgid "unused variable %q+D"
+ msgid "duplicate instance variable %q+D"
+ msgstr "未使用的变量%q+D"
+
+@@ -52125,7 +50602,6 @@
+ #. rtype is an IDENTIFIER_NODE at this point.
+ #: objc/objc-act.c:5398 objc/objc-act.c:5532
+ #, fuzzy, gcc-internal-format
+-#| msgid "definition of protocol %qE not found"
+ msgid "@interface of class %qE not found"
+ msgstr "找不到协议%qE的方法定义"
+
Index: gcc/tree-nested.c
===================================================================
--- a/src/gcc/tree-nested.c (.../tags/gcc_4_9_0_release)
@@ -7778,6 +20061,168 @@ Index: gcc/tree-nested.c
default:
break;
}
+Index: gcc/ira-costs.c
+===================================================================
+--- a/src/gcc/ira-costs.c (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/ira-costs.c (.../branches/gcc-4_9-branch)
+@@ -762,10 +762,11 @@
+ into that class. */
+ if (REG_P (op) && REGNO (op) >= FIRST_PSEUDO_REGISTER)
+ {
+- if (classes[i] == NO_REGS)
++ if (classes[i] == NO_REGS && ! allows_mem[i])
+ {
+ /* We must always fail if the operand is a REG, but
+- we did not find a suitable class.
++ we did not find a suitable class and memory is
++ not allowed.
+
+ Otherwise we may perform an uninitialized read
+ from this_op_costs after the `continue' statement
+@@ -783,50 +784,90 @@
+ bool out_p = recog_data.operand_type[i] != OP_IN;
+ enum reg_class op_class = classes[i];
+ move_table *move_in_cost, *move_out_cost;
++ short (*mem_cost)[2];
+
+ ira_init_register_move_cost_if_necessary (mode);
+ if (! in_p)
+ {
+ ira_assert (out_p);
+- move_out_cost = ira_may_move_out_cost[mode];
+- for (k = cost_classes_ptr->num - 1; k >= 0; k--)
++ if (op_class == NO_REGS)
+ {
+- rclass = cost_classes[k];
+- pp_costs[k]
+- = move_out_cost[op_class][rclass] * frequency;
++ mem_cost = ira_memory_move_cost[mode];
++ for (k = cost_classes_ptr->num - 1; k >= 0; k--)
++ {
++ rclass = cost_classes[k];
++ pp_costs[k] = mem_cost[rclass][0] * frequency;
++ }
+ }
++ else
++ {
++ move_out_cost = ira_may_move_out_cost[mode];
++ for (k = cost_classes_ptr->num - 1; k >= 0; k--)
++ {
++ rclass = cost_classes[k];
++ pp_costs[k]
++ = move_out_cost[op_class][rclass] * frequency;
++ }
++ }
+ }
+ else if (! out_p)
+ {
+ ira_assert (in_p);
+- move_in_cost = ira_may_move_in_cost[mode];
+- for (k = cost_classes_ptr->num - 1; k >= 0; k--)
++ if (op_class == NO_REGS)
+ {
+- rclass = cost_classes[k];
+- pp_costs[k]
+- = move_in_cost[rclass][op_class] * frequency;
++ mem_cost = ira_memory_move_cost[mode];
++ for (k = cost_classes_ptr->num - 1; k >= 0; k--)
++ {
++ rclass = cost_classes[k];
++ pp_costs[k] = mem_cost[rclass][1] * frequency;
++ }
+ }
++ else
++ {
++ move_in_cost = ira_may_move_in_cost[mode];
++ for (k = cost_classes_ptr->num - 1; k >= 0; k--)
++ {
++ rclass = cost_classes[k];
++ pp_costs[k]
++ = move_in_cost[rclass][op_class] * frequency;
++ }
++ }
+ }
+ else
+ {
+- move_in_cost = ira_may_move_in_cost[mode];
+- move_out_cost = ira_may_move_out_cost[mode];
+- for (k = cost_classes_ptr->num - 1; k >= 0; k--)
++ if (op_class == NO_REGS)
+ {
+- rclass = cost_classes[k];
+- pp_costs[k] = ((move_in_cost[rclass][op_class]
+- + move_out_cost[op_class][rclass])
+- * frequency);
++ mem_cost = ira_memory_move_cost[mode];
++ for (k = cost_classes_ptr->num - 1; k >= 0; k--)
++ {
++ rclass = cost_classes[k];
++ pp_costs[k] = ((mem_cost[rclass][0]
++ + mem_cost[rclass][1])
++ * frequency);
++ }
+ }
++ else
++ {
++ move_in_cost = ira_may_move_in_cost[mode];
++ move_out_cost = ira_may_move_out_cost[mode];
++ for (k = cost_classes_ptr->num - 1; k >= 0; k--)
++ {
++ rclass = cost_classes[k];
++ pp_costs[k] = ((move_in_cost[rclass][op_class]
++ + move_out_cost[op_class][rclass])
++ * frequency);
++ }
++ }
+ }
+
+ /* If the alternative actually allows memory, make
+ things a bit cheaper since we won't need an extra
+ insn to load it. */
+- pp->mem_cost
+- = ((out_p ? ira_memory_move_cost[mode][op_class][0] : 0)
+- + (in_p ? ira_memory_move_cost[mode][op_class][1] : 0)
+- - allows_mem[i]) * frequency;
++ if (op_class != NO_REGS)
++ pp->mem_cost
++ = ((out_p ? ira_memory_move_cost[mode][op_class][0] : 0)
++ + (in_p ? ira_memory_move_cost[mode][op_class][1] : 0)
++ - allows_mem[i]) * frequency;
+ /* If we have assigned a class to this allocno in
+ our first pass, add a cost to this alternative
+ corresponding to what we would add if this
+@@ -836,15 +877,28 @@
+ enum reg_class pref_class = pref[COST_INDEX (REGNO (op))];
+
+ if (pref_class == NO_REGS)
++ {
++ if (op_class != NO_REGS)
++ alt_cost
++ += ((out_p
++ ? ira_memory_move_cost[mode][op_class][0]
++ : 0)
++ + (in_p
++ ? ira_memory_move_cost[mode][op_class][1]
++ : 0));
++ }
++ else if (op_class == NO_REGS)
+ alt_cost
+ += ((out_p
+- ? ira_memory_move_cost[mode][op_class][0] : 0)
++ ? ira_memory_move_cost[mode][pref_class][1]
++ : 0)
+ + (in_p
+- ? ira_memory_move_cost[mode][op_class][1]
++ ? ira_memory_move_cost[mode][pref_class][0]
+ : 0));
+ else if (ira_reg_class_intersect[pref_class][op_class]
+ == NO_REGS)
+- alt_cost += ira_register_move_cost[mode][pref_class][op_class];
++ alt_cost += (ira_register_move_cost
++ [mode][pref_class][op_class]);
+ }
+ }
+ }
Index: gcc/tree-inline.c
===================================================================
--- a/src/gcc/tree-inline.c (.../tags/gcc_4_9_0_release)
@@ -8137,7 +20582,374 @@ Index: gcc/config/sparc/sparc.md
===================================================================
--- a/src/gcc/config/sparc/sparc.md (.../tags/gcc_4_9_0_release)
+++ b/src/gcc/config/sparc/sparc.md (.../branches/gcc-4_9-branch)
-@@ -5795,19 +5795,6 @@
+@@ -424,6 +424,10 @@
+ (define_attr "fptype" "single,double"
+ (const_string "single"))
+
++;; FP precision specific to the UT699.
++(define_attr "fptype_ut699" "none,single"
++ (const_string "none"))
++
+ ;; UltraSPARC-III integer load type.
+ (define_attr "us3load_type" "2cycle,3cycle"
+ (const_string "2cycle"))
+@@ -464,7 +468,8 @@
+ (const_string "false")
+ (and (eq_attr "fix_ut699" "true")
+ (and (eq_attr "type" "fpload,fp,fpmove,fpmul,fpdivs,fpsqrts")
+- (eq_attr "fptype" "single")))
++ (ior (eq_attr "fptype" "single")
++ (eq_attr "fptype_ut699" "single"))))
+ (const_string "false")
+ (eq_attr "length" "1")
+ (const_string "true")
+@@ -3455,7 +3460,8 @@
+ "TARGET_FPU"
+ "fdtos\t%1, %0"
+ [(set_attr "type" "fp")
+- (set_attr "fptype" "double")])
++ (set_attr "fptype" "double")
++ (set_attr "fptype_ut699" "single")])
+
+ (define_expand "trunctfsf2"
+ [(set (match_operand:SF 0 "register_operand" "")
+@@ -3496,7 +3502,7 @@
+ "TARGET_FPU"
+ "fitos\t%1, %0"
+ [(set_attr "type" "fp")
+- (set_attr "fptype" "double")])
++ (set_attr "fptype" "single")])
+
+ (define_insn "floatsidf2"
+ [(set (match_operand:DF 0 "register_operand" "=e")
+@@ -3583,7 +3589,7 @@
+ "TARGET_FPU"
+ "fstoi\t%1, %0"
+ [(set_attr "type" "fp")
+- (set_attr "fptype" "double")])
++ (set_attr "fptype" "single")])
+
+ (define_insn "fix_truncdfsi2"
+ [(set (match_operand:SI 0 "register_operand" "=f")
+@@ -3591,7 +3597,8 @@
+ "TARGET_FPU"
+ "fdtoi\t%1, %0"
+ [(set_attr "type" "fp")
+- (set_attr "fptype" "double")])
++ (set_attr "fptype" "double")
++ (set_attr "fptype_ut699" "single")])
+
+ (define_expand "fix_trunctfsi2"
+ [(set (match_operand:SI 0 "register_operand" "")
+@@ -5554,54 +5561,53 @@
+ [(set_attr "type" "fpdivs")])
+
+ (define_expand "negtf2"
+- [(set (match_operand:TF 0 "register_operand" "=e,e")
+- (neg:TF (match_operand:TF 1 "register_operand" "0,e")))]
++ [(set (match_operand:TF 0 "register_operand" "")
++ (neg:TF (match_operand:TF 1 "register_operand" "")))]
+ "TARGET_FPU"
+ "")
+
+-(define_insn_and_split "*negtf2_notv9"
+- [(set (match_operand:TF 0 "register_operand" "=e,e")
+- (neg:TF (match_operand:TF 1 "register_operand" "0,e")))]
+- ; We don't use quad float insns here so we don't need TARGET_HARD_QUAD.
+- "TARGET_FPU
+- && ! TARGET_V9"
+- "@
+- fnegs\t%0, %0
+- #"
+- "&& reload_completed
+- && sparc_absnegfloat_split_legitimate (operands[0], operands[1])"
+- [(set (match_dup 2) (neg:SF (match_dup 3)))
+- (set (match_dup 4) (match_dup 5))
+- (set (match_dup 6) (match_dup 7))]
+- "operands[2] = gen_rtx_raw_REG (SFmode, REGNO (operands[0]));
+- operands[3] = gen_rtx_raw_REG (SFmode, REGNO (operands[1]));
+- operands[4] = gen_rtx_raw_REG (SFmode, REGNO (operands[0]) + 1);
+- operands[5] = gen_rtx_raw_REG (SFmode, REGNO (operands[1]) + 1);
+- operands[6] = gen_rtx_raw_REG (DFmode, REGNO (operands[0]) + 2);
+- operands[7] = gen_rtx_raw_REG (DFmode, REGNO (operands[1]) + 2);"
+- [(set_attr "type" "fpmove,*")
+- (set_attr "length" "*,2")])
++(define_insn "*negtf2_hq"
++ [(set (match_operand:TF 0 "register_operand" "=e")
++ (neg:TF (match_operand:TF 1 "register_operand" "e")))]
++ "TARGET_FPU && TARGET_HARD_QUAD"
++ "fnegq\t%1, %0"
++ [(set_attr "type" "fpmove")])
+
+-(define_insn_and_split "*negtf2_v9"
+- [(set (match_operand:TF 0 "register_operand" "=e,e")
+- (neg:TF (match_operand:TF 1 "register_operand" "0,e")))]
+- ; We don't use quad float insns here so we don't need TARGET_HARD_QUAD.
+- "TARGET_FPU && TARGET_V9"
+- "@
+- fnegd\t%0, %0
+- #"
+- "&& reload_completed
+- && sparc_absnegfloat_split_legitimate (operands[0], operands[1])"
+- [(set (match_dup 2) (neg:DF (match_dup 3)))
+- (set (match_dup 4) (match_dup 5))]
+- "operands[2] = gen_rtx_raw_REG (DFmode, REGNO (operands[0]));
+- operands[3] = gen_rtx_raw_REG (DFmode, REGNO (operands[1]));
+- operands[4] = gen_rtx_raw_REG (DFmode, REGNO (operands[0]) + 2);
+- operands[5] = gen_rtx_raw_REG (DFmode, REGNO (operands[1]) + 2);"
+- [(set_attr "type" "fpmove,*")
+- (set_attr "length" "*,2")
+- (set_attr "fptype" "double")])
++(define_insn_and_split "*negtf2"
++ [(set (match_operand:TF 0 "register_operand" "=e")
++ (neg:TF (match_operand:TF 1 "register_operand" "e")))]
++ "TARGET_FPU && !TARGET_HARD_QUAD"
++ "#"
++ "&& reload_completed"
++ [(clobber (const_int 0))]
++{
++ rtx set_dest = operands[0];
++ rtx set_src = operands[1];
++ rtx dest1, dest2;
++ rtx src1, src2;
+
++ dest1 = gen_df_reg (set_dest, 0);
++ dest2 = gen_df_reg (set_dest, 1);
++ src1 = gen_df_reg (set_src, 0);
++ src2 = gen_df_reg (set_src, 1);
++
++ /* Now emit using the real source and destination we found, swapping
++ the order if we detect overlap. */
++ if (reg_overlap_mentioned_p (dest1, src2))
++ {
++ emit_insn (gen_movdf (dest2, src2));
++ emit_insn (gen_negdf2 (dest1, src1));
++ }
++ else
++ {
++ emit_insn (gen_negdf2 (dest1, src1));
++ if (REGNO (dest2) != REGNO (src2))
++ emit_insn (gen_movdf (dest2, src2));
++ }
++ DONE;
++}
++ [(set_attr "length" "2")])
++
+ (define_expand "negdf2"
+ [(set (match_operand:DF 0 "register_operand" "")
+ (neg:DF (match_operand:DF 1 "register_operand" "")))]
+@@ -5609,23 +5615,40 @@
+ "")
+
+ (define_insn_and_split "*negdf2_notv9"
+- [(set (match_operand:DF 0 "register_operand" "=e,e")
+- (neg:DF (match_operand:DF 1 "register_operand" "0,e")))]
+- "TARGET_FPU && ! TARGET_V9"
+- "@
+- fnegs\t%0, %0
+- #"
+- "&& reload_completed
+- && sparc_absnegfloat_split_legitimate (operands[0], operands[1])"
+- [(set (match_dup 2) (neg:SF (match_dup 3)))
+- (set (match_dup 4) (match_dup 5))]
+- "operands[2] = gen_rtx_raw_REG (SFmode, REGNO (operands[0]));
+- operands[3] = gen_rtx_raw_REG (SFmode, REGNO (operands[1]));
+- operands[4] = gen_rtx_raw_REG (SFmode, REGNO (operands[0]) + 1);
+- operands[5] = gen_rtx_raw_REG (SFmode, REGNO (operands[1]) + 1);"
+- [(set_attr "type" "fpmove,*")
+- (set_attr "length" "*,2")])
++ [(set (match_operand:DF 0 "register_operand" "=e")
++ (neg:DF (match_operand:DF 1 "register_operand" "e")))]
++ "TARGET_FPU && !TARGET_V9"
++ "#"
++ "&& reload_completed"
++ [(clobber (const_int 0))]
++{
++ rtx set_dest = operands[0];
++ rtx set_src = operands[1];
++ rtx dest1, dest2;
++ rtx src1, src2;
+
++ dest1 = gen_highpart (SFmode, set_dest);
++ dest2 = gen_lowpart (SFmode, set_dest);
++ src1 = gen_highpart (SFmode, set_src);
++ src2 = gen_lowpart (SFmode, set_src);
++
++ /* Now emit using the real source and destination we found, swapping
++ the order if we detect overlap. */
++ if (reg_overlap_mentioned_p (dest1, src2))
++ {
++ emit_insn (gen_movsf (dest2, src2));
++ emit_insn (gen_negsf2 (dest1, src1));
++ }
++ else
++ {
++ emit_insn (gen_negsf2 (dest1, src1));
++ if (REGNO (dest2) != REGNO (src2))
++ emit_insn (gen_movsf (dest2, src2));
++ }
++ DONE;
++}
++ [(set_attr "length" "2")])
++
+ (define_insn "*negdf2_v9"
+ [(set (match_operand:DF 0 "register_operand" "=e")
+ (neg:DF (match_operand:DF 1 "register_operand" "e")))]
+@@ -5647,57 +5670,48 @@
+ "TARGET_FPU"
+ "")
+
+-(define_insn_and_split "*abstf2_notv9"
+- [(set (match_operand:TF 0 "register_operand" "=e,e")
+- (abs:TF (match_operand:TF 1 "register_operand" "0,e")))]
+- ; We don't use quad float insns here so we don't need TARGET_HARD_QUAD.
+- "TARGET_FPU && ! TARGET_V9"
+- "@
+- fabss\t%0, %0
+- #"
+- "&& reload_completed
+- && sparc_absnegfloat_split_legitimate (operands[0], operands[1])"
+- [(set (match_dup 2) (abs:SF (match_dup 3)))
+- (set (match_dup 4) (match_dup 5))
+- (set (match_dup 6) (match_dup 7))]
+- "operands[2] = gen_rtx_raw_REG (SFmode, REGNO (operands[0]));
+- operands[3] = gen_rtx_raw_REG (SFmode, REGNO (operands[1]));
+- operands[4] = gen_rtx_raw_REG (SFmode, REGNO (operands[0]) + 1);
+- operands[5] = gen_rtx_raw_REG (SFmode, REGNO (operands[1]) + 1);
+- operands[6] = gen_rtx_raw_REG (DFmode, REGNO (operands[0]) + 2);
+- operands[7] = gen_rtx_raw_REG (DFmode, REGNO (operands[1]) + 2);"
+- [(set_attr "type" "fpmove,*")
+- (set_attr "length" "*,2")])
++(define_insn "*abstf2_hq"
++ [(set (match_operand:TF 0 "register_operand" "=e")
++ (abs:TF (match_operand:TF 1 "register_operand" "e")))]
++ "TARGET_FPU && TARGET_HARD_QUAD"
++ "fabsq\t%1, %0"
++ [(set_attr "type" "fpmove")])
+
+-(define_insn "*abstf2_hq_v9"
+- [(set (match_operand:TF 0 "register_operand" "=e,e")
+- (abs:TF (match_operand:TF 1 "register_operand" "0,e")))]
+- "TARGET_FPU && TARGET_V9 && TARGET_HARD_QUAD"
+- "@
+- fabsd\t%0, %0
+- fabsq\t%1, %0"
+- [(set_attr "type" "fpmove")
+- (set_attr "fptype" "double,*")])
++(define_insn_and_split "*abstf2"
++ [(set (match_operand:TF 0 "register_operand" "=e")
++ (abs:TF (match_operand:TF 1 "register_operand" "e")))]
++ "TARGET_FPU && !TARGET_HARD_QUAD"
++ "#"
++ "&& reload_completed"
++ [(clobber (const_int 0))]
++{
++ rtx set_dest = operands[0];
++ rtx set_src = operands[1];
++ rtx dest1, dest2;
++ rtx src1, src2;
+
+-(define_insn_and_split "*abstf2_v9"
+- [(set (match_operand:TF 0 "register_operand" "=e,e")
+- (abs:TF (match_operand:TF 1 "register_operand" "0,e")))]
+- "TARGET_FPU && TARGET_V9 && !TARGET_HARD_QUAD"
+- "@
+- fabsd\t%0, %0
+- #"
+- "&& reload_completed
+- && sparc_absnegfloat_split_legitimate (operands[0], operands[1])"
+- [(set (match_dup 2) (abs:DF (match_dup 3)))
+- (set (match_dup 4) (match_dup 5))]
+- "operands[2] = gen_rtx_raw_REG (DFmode, REGNO (operands[0]));
+- operands[3] = gen_rtx_raw_REG (DFmode, REGNO (operands[1]));
+- operands[4] = gen_rtx_raw_REG (DFmode, REGNO (operands[0]) + 2);
+- operands[5] = gen_rtx_raw_REG (DFmode, REGNO (operands[1]) + 2);"
+- [(set_attr "type" "fpmove,*")
+- (set_attr "length" "*,2")
+- (set_attr "fptype" "double,*")])
++ dest1 = gen_df_reg (set_dest, 0);
++ dest2 = gen_df_reg (set_dest, 1);
++ src1 = gen_df_reg (set_src, 0);
++ src2 = gen_df_reg (set_src, 1);
+
++ /* Now emit using the real source and destination we found, swapping
++ the order if we detect overlap. */
++ if (reg_overlap_mentioned_p (dest1, src2))
++ {
++ emit_insn (gen_movdf (dest2, src2));
++ emit_insn (gen_absdf2 (dest1, src1));
++ }
++ else
++ {
++ emit_insn (gen_absdf2 (dest1, src1));
++ if (REGNO (dest2) != REGNO (src2))
++ emit_insn (gen_movdf (dest2, src2));
++ }
++ DONE;
++}
++ [(set_attr "length" "2")])
++
+ (define_expand "absdf2"
+ [(set (match_operand:DF 0 "register_operand" "")
+ (abs:DF (match_operand:DF 1 "register_operand" "")))]
+@@ -5705,23 +5719,40 @@
+ "")
+
+ (define_insn_and_split "*absdf2_notv9"
+- [(set (match_operand:DF 0 "register_operand" "=e,e")
+- (abs:DF (match_operand:DF 1 "register_operand" "0,e")))]
+- "TARGET_FPU && ! TARGET_V9"
+- "@
+- fabss\t%0, %0
+- #"
+- "&& reload_completed
+- && sparc_absnegfloat_split_legitimate (operands[0], operands[1])"
+- [(set (match_dup 2) (abs:SF (match_dup 3)))
+- (set (match_dup 4) (match_dup 5))]
+- "operands[2] = gen_rtx_raw_REG (SFmode, REGNO (operands[0]));
+- operands[3] = gen_rtx_raw_REG (SFmode, REGNO (operands[1]));
+- operands[4] = gen_rtx_raw_REG (SFmode, REGNO (operands[0]) + 1);
+- operands[5] = gen_rtx_raw_REG (SFmode, REGNO (operands[1]) + 1);"
+- [(set_attr "type" "fpmove,*")
+- (set_attr "length" "*,2")])
++ [(set (match_operand:DF 0 "register_operand" "=e")
++ (abs:DF (match_operand:DF 1 "register_operand" "e")))]
++ "TARGET_FPU && !TARGET_V9"
++ "#"
++ "&& reload_completed"
++ [(clobber (const_int 0))]
++{
++ rtx set_dest = operands[0];
++ rtx set_src = operands[1];
++ rtx dest1, dest2;
++ rtx src1, src2;
+
++ dest1 = gen_highpart (SFmode, set_dest);
++ dest2 = gen_lowpart (SFmode, set_dest);
++ src1 = gen_highpart (SFmode, set_src);
++ src2 = gen_lowpart (SFmode, set_src);
++
++ /* Now emit using the real source and destination we found, swapping
++ the order if we detect overlap. */
++ if (reg_overlap_mentioned_p (dest1, src2))
++ {
++ emit_insn (gen_movsf (dest2, src2));
++ emit_insn (gen_abssf2 (dest1, src1));
++ }
++ else
++ {
++ emit_insn (gen_abssf2 (dest1, src1));
++ if (REGNO (dest2) != REGNO (src2))
++ emit_insn (gen_movsf (dest2, src2));
++ }
++ DONE;
++}
++ [(set_attr "length" "2")])
++
+ (define_insn "*absdf2_v9"
+ [(set (match_operand:DF 0 "register_operand" "=e")
+ (abs:DF (match_operand:DF 1 "register_operand" "e")))]
+@@ -5795,19 +5826,6 @@
}
[(set_attr "type" "shift")])
@@ -8205,6 +21017,45 @@ Index: gcc/config/sparc/sync.md
(define_insn "*atomic_compare_and_swapdi_v8plus"
[(set (match_operand:DI 0 "register_operand" "=h")
(match_operand:DI 1 "mem_noofs_operand" "+w"))
+Index: gcc/config/sparc/sparc-protos.h
+===================================================================
+--- a/src/gcc/config/sparc/sparc-protos.h (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/config/sparc/sparc-protos.h (.../branches/gcc-4_9-branch)
+@@ -69,7 +69,6 @@
+ extern void sparc_emit_set_symbolic_const64 (rtx, rtx, rtx);
+ extern int sparc_splitdi_legitimate (rtx, rtx);
+ extern int sparc_split_regreg_legitimate (rtx, rtx);
+-extern int sparc_absnegfloat_split_legitimate (rtx, rtx);
+ extern const char *output_ubranch (rtx, rtx);
+ extern const char *output_cbranch (rtx, rtx, int, int, int, rtx);
+ extern const char *output_return (rtx);
+Index: gcc/config/sparc/sparc.c
+===================================================================
+--- a/src/gcc/config/sparc/sparc.c (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/config/sparc/sparc.c (.../branches/gcc-4_9-branch)
+@@ -8539,22 +8539,6 @@
+ return 0;
+ }
+
+-/* Return 1 if x and y are some kind of REG and they refer to
+- different hard registers. This test is guaranteed to be
+- run after reload. */
+-
+-int
+-sparc_absnegfloat_split_legitimate (rtx x, rtx y)
+-{
+- if (GET_CODE (x) != REG)
+- return 0;
+- if (GET_CODE (y) != REG)
+- return 0;
+- if (REGNO (x) == REGNO (y))
+- return 0;
+- return 1;
+-}
+-
+ /* Return 1 if REGNO (reg1) is even and REGNO (reg1) == REGNO (reg2) - 1.
+ This makes them candidates for using ldd and std insns.
+
Index: gcc/config/i386/cygwin.h
===================================================================
--- a/src/gcc/config/i386/cygwin.h (.../tags/gcc_4_9_0_release)
@@ -8221,6 +21072,15 @@ Index: gcc/config/i386/i386.md
===================================================================
--- a/src/gcc/config/i386/i386.md (.../tags/gcc_4_9_0_release)
+++ b/src/gcc/config/i386/i386.md (.../branches/gcc-4_9-branch)
+@@ -3201,7 +3201,7 @@
+ (const_string "1")
+ (const_string "*")))
+ (set (attr "mode")
+- (cond [(eq_attr "alternative" "3,4,9,10,13,14,15")
++ (cond [(eq_attr "alternative" "3,4,9,10,12,13,14,15")
+ (const_string "SI")
+ (eq_attr "alternative" "11")
+ (const_string "DI")
@@ -14427,15 +14427,16 @@
"TARGET_USE_FANCY_MATH_387
&& flag_unsafe_math_optimizations"
@@ -8525,6 +21385,38 @@ Index: gcc/config/rs6000/predicates.md
ret = 0;
else if (!memory_operand (op, mode))
+Index: gcc/config/rs6000/htmxlintrin.h
+===================================================================
+--- a/src/gcc/config/rs6000/htmxlintrin.h (.../tags/gcc_4_9_0_release)
++++ b/src/gcc/config/rs6000/htmxlintrin.h (.../branches/gcc-4_9-branch)
+@@ -46,12 +46,17 @@
+
+ typedef char TM_buff_type[16];
+
++/* Compatibility macro with s390. This macro can be used to determine
++ whether a transaction was successfully started from the __TM_begin()
++ and __TM_simple_begin() intrinsic functions below. */
++#define _HTM_TBEGIN_STARTED 1
++
+ extern __inline long
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+ __TM_simple_begin (void)
+ {
+ if (__builtin_expect (__builtin_tbegin (0), 1))
+- return 1;
++ return _HTM_TBEGIN_STARTED;
+ return 0;
+ }
+
+@@ -61,7 +66,7 @@
+ {
+ *_TEXASRL_PTR (TM_buff) = 0;
+ if (__builtin_expect (__builtin_tbegin (0), 1))
+- return 1;
++ return _HTM_TBEGIN_STARTED;
+ #ifdef __powerpc64__
+ *_TEXASR_PTR (TM_buff) = __builtin_get_texasr ();
+ #else
Index: gcc/config/rs6000/rs6000-builtin.def
===================================================================
--- a/src/gcc/config/rs6000/rs6000-builtin.def (.../tags/gcc_4_9_0_release)
@@ -10479,7 +23371,14 @@ Index: libgfortran/ChangeLog
===================================================================
--- a/src/libgfortran/ChangeLog (.../tags/gcc_4_9_0_release)
+++ b/src/libgfortran/ChangeLog (.../branches/gcc-4_9-branch)
-@@ -1,3 +1,10 @@
+@@ -1,3 +1,17 @@
++2014-05-16 Janne Blomqvist <jb@gcc.gnu.org>
++
++ Backport from trunk:
++ PR libfortran/61187
++ * io/unix.c (raw_close): Check if s->fd is -1.
++ (fd_to_stream): Check return value of fstat(), handle error.
++
+2014-05-10 Jerry DeLisle <jvdelisle@gcc.gnu>
+
+ Backport from Trunk.
@@ -10526,3 +23425,35 @@ Index: libgfortran/io/list_read.c
}
else
{
+Index: libgfortran/io/unix.c
+===================================================================
+--- a/src/libgfortran/io/unix.c (.../tags/gcc_4_9_0_release)
++++ b/src/libgfortran/io/unix.c (.../branches/gcc-4_9-branch)
+@@ -412,7 +412,9 @@
+ {
+ int retval;
+
+- if (s->fd != STDOUT_FILENO
++ if (s->fd == -1)
++ retval = -1;
++ else if (s->fd != STDOUT_FILENO
+ && s->fd != STDERR_FILENO
+ && s->fd != STDIN_FILENO)
+ retval = close (s->fd);
+@@ -1003,7 +1005,15 @@
+
+ /* Get the current length of the file. */
+
+- fstat (fd, &statbuf);
++ if (fstat (fd, &statbuf) == -1)
++ {
++ s->st_dev = s->st_ino = -1;
++ s->file_length = 0;
++ if (errno == EBADF)
++ s->fd = -1;
++ raw_init (s);
++ return (stream *) s;
++ }
+
+ s->st_dev = statbuf.st_dev;
+ s->st_ino = statbuf.st_ino;
diff --git a/debian/rules.patch b/debian/rules.patch
index 1df30ae..0aa6f5b 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -78,7 +78,6 @@ debian_patches += \
libffi-m68k \
libitm-no-fortify-source \
pr59758 \
- pr60902 \
gdb_depends := $(shell dpkg -s gdb | grep '^Depends:.*libpython3')
ifneq (,$(findstring libpython3,$(gdb_depends)))
@@ -112,7 +111,6 @@ ifneq (,$(findstring 4.4, $(PKGSOURCE)))
debian_patches += pr39491
endif
-debian_patches += ada-aarch64
debian_patches += ada-arm
debian_patches += ada-hurd
debian_patches += ada-kfreebsd