diff options
author | doko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca> | 2014-05-18 12:08:49 +0000 |
---|---|---|
committer | doko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca> | 2014-05-18 12:08:49 +0000 |
commit | cb44c24f42d2ae9c38249a74f91c20ade56b8747 (patch) | |
tree | 9147f25030d9220bede6b40d852ee4e7f0d2626e /debian | |
parent | 71af14aee911acaa57d57238b75cf138ef846245 (diff) | |
download | gcc-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/changelog | 4 | ||||
-rw-r--r-- | debian/patches/ada-aarch64.diff | 671 | ||||
-rw-r--r-- | debian/patches/pr60902.diff | 102 | ||||
-rw-r--r-- | debian/patches/svn-updates.diff | 12997 | ||||
-rw-r--r-- | debian/rules.patch | 2 |
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 |