diff options
314 files changed, 8725 insertions, 7472 deletions
diff --git a/ChangeLog b/ChangeLog index 4bb7804fbdd..82d7d8878f0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,25 @@ +2015-12-04 Andreas Tobler <andreast@gcc.gnu.org> + + Backport from mainline + 2015-12-01 Andreas Tobler <andreast@gcc.gnu.org> + + PR libffi/65726 + * Makefile.def (lang_env_dependencies): Make libffi depend + on cxx. + * Makefile.in: Regenerate. + +2015-12-04 Release Manager + + * GCC 5.3.0 released. + +2015-11-26 David Edelsohn <dje.gcc@gmail.com> + + Backport from mainline + 2015-11-26 David Edelsohn <dje.gcc@gmail.com> + + * m4/libtool.m4 (export_symbols_cmds) [AIX]: Add global TLS "L" + symbols. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/Makefile.def b/Makefile.def index e0ea2fbe712..5abea3effa0 100644 --- a/Makefile.def +++ b/Makefile.def @@ -522,6 +522,7 @@ dependencies = { module=all-m4; on=all-build-texinfo; }; // on libgcc and newlib/libgloss. lang_env_dependencies = { module=libjava; cxx=true; }; lang_env_dependencies = { module=libitm; cxx=true; }; +lang_env_dependencies = { module=libffi; cxx=true; }; lang_env_dependencies = { module=libcilkrts; cxx=true; }; lang_env_dependencies = { module=liboffloadmic; cxx=true; }; lang_env_dependencies = { module=newlib; no_c=true; }; diff --git a/Makefile.in b/Makefile.in index 36b40087756..57a1e45bbf8 100644 --- a/Makefile.in +++ b/Makefile.in @@ -50485,6 +50485,7 @@ configure-target-winsup: maybe-all-target-newlib maybe-all-target-libgloss configure-target-libffi: maybe-all-target-newlib maybe-all-target-libgloss +configure-target-libffi: maybe-all-target-libstdc++-v3 configure-target-libjava: maybe-all-target-newlib maybe-all-target-libgloss configure-target-libjava: maybe-all-target-libstdc++-v3 diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog index 4cc45d51289..5c5d5aa238d 100644 --- a/boehm-gc/ChangeLog +++ b/boehm-gc/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-09-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> Backport from mainline diff --git a/config/ChangeLog b/config/ChangeLog index 9c29defd633..370ed72b2b5 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 2c45f0ae471..d151fd97fa3 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-09-11 Markus Trippelsdorf <markus@trippelsdorf.de> * download_prerequisites: Make sure that script is run from diff --git a/contrib/reghunt/ChangeLog b/contrib/reghunt/ChangeLog index 1d6f02fa7f3..c3b36a23d5f 100644 --- a/contrib/reghunt/ChangeLog +++ b/contrib/reghunt/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/contrib/regression/ChangeLog b/contrib/regression/ChangeLog index e5d92c05627..d6296668118 100644 --- a/contrib/regression/ChangeLog +++ b/contrib/regression/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index 6f8ac0ba3e7..4e0a4c6b171 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-08-14 David Edelsohn <dje.gcc@gmail.com> Backport from mainline. diff --git a/gcc/BASE-VER b/gcc/BASE-VER index 26d99a283f2..c7cb1311a64 100644 --- a/gcc/BASE-VER +++ b/gcc/BASE-VER @@ -1 +1 @@ -5.2.1 +5.3.1 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ff933ee811d..597e408bbcc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,555 @@ +2015-12-14 Martin Jambor <mjambor@suse.cz> + + PR ipa/66616 + * ipa-cp.c (propagate_constants_accross_call): Move thuk check... + (call_passes_through_thunk_p): ...here. + (find_more_scalar_values_for_callers_subset): Perform thunk checks + like propagate_constants_accross_call does. + +2015-12-14 James Greenhalgh <james.greenhalgh@arm.com> + + Backport from mainline. + 2015-12-09 James Greenhalgh <james.greenhalgh@arm.com> + + PR rtl-optimization/67609 + * config/aarch64/aarch64-protos.h + (aarch64_cannot_change_mode_class): Bring back. + * config/aarch64/aarch64.c + (aarch64_cannot_change_mode_class): Likewise. + * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Likewise. + * config/aarch64/aarch64.md (aarch64_movdi_<mode>low): Use + zero_extract rather than truncate. + (aarch64_movdi_<mode>high): Likewise. + +2015-12-14 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline + 2015-12-11 Martin Liska <mliska@suse.cz> + Uros Bizjak <ubizjak@gmail.com> + + PR target/67484 + * config/i386/i386.c (ix86_valid_target_attribute_tree): + Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and + opts->x_ix86_tune_string. + +2015-12-13 Alexandre Oliva <aoliva@redhat.com> + + PR debug/67355 + * var-tracking.c (reverse_op): Don't add dummy zero to reverse + ops that simplify back to the original value. + * alias.c (refs_newer_value_p): Cut off recursion for + expressions containing the original value. + +2015-12-10 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/68376 + PR rtl-optimization/68670 + * ifcvt.c (noce_try_abs): For one_cmpl allow < 0, >= 0 + or > -1 conditions regardless of negate, and disallow + all other conditions. + +2015-12-10 Andreas Tobler <andreast@gcc.gnu.org> + + Backport from mainline + 2015-12-09 Andreas Tobler <andreast@gcc.gnu.org> + + * config/rs6000/freebsd64.h: Remove the redefinition of WCHAR_TYPE. + +2015-12-10 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline + 2015-12-08 Uros Bizjak <ubizjak@gmail.com> + + PR target/68701 + * config/i386/i386.c (ix86_option_override_internal): Enable + -maccumulate-outgoing-args when %ebp is fixed due to stack + realignment requirements. + +2015-12-10 Ilya Enkovich <enkovich.gnu@gmail.com> + + Backport from mainline r231224. + 2015-12-03 Ilya Enkovich <enkovich.gnu@gmail.com> + + * cfgexpand.c (expand_gimple_stmt_1): Return statement with + DECL as return value is allowed to have NULL bounds. + +2015-12-10 Martin Liska <mliska@suse.cz> + + Backport from mainline + 2015-04-30 Jan Hubicka <hubicka@ucw.cz> + + PR lto/65948 + * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent + to itself. + +2015-12-09 John David Anglin <danglin@gcc.gnu.org> + + PR target/68729 + * config/pa/pa.c (pa_emit_move_sequence): Don't check that mode is + consistent with modes of the input and output operands when doing + reloads to and from floating point registers. Do reload for all + address forms. + +2015-12-09 Martin Liska <mliska@suse.cz> + + Backport from mainline + 2015-12-09 Martin Liska <mliska@suse.cz> + + PR ipa/68790 + * ipa-icf.c (sem_function::param_used_p): Return true + if ipa_node_params_sum equals to NULL. + +2015-12-07 Jakub Jelinek <jakub@redhat.com> + + Backport from mainline + 2015-12-04 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/68680 + * calls.c (special_function_p): Return ECF_MAY_BE_ALLOCA for + BUILT_IN_ALLOCA{,_WITH_ALIGN}. Don't check for __builtin_alloca + by name. + + PR tree-optimization/68671 + * tree-ssa-reassoc.c (maybe_optimize_range_tests): For basic + blocks starting with the successor of first bb we've modified + and ending with last_bb call reset_flow_sensitive_info_in_bb. + +2015-12-04 Andreas Tobler <andreast@gcc.gnu.org> + + Backport from mainline + 2015-12-01 Andreas Tobler <andreast@gcc.gnu.org> + + * config/rs6000/freebsd64.h (ELFv2_ABI_CHECK): Add new macro. + (SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set + rs6000_current_abi to ABI_AIX or ABI_ELFv2. + +2015-12-04 Richard Biener <rguenther@suse.de> + + * BASE-VER: Set to 5.3.1. + +2015-12-04 Release Manager + + * GCC 5.3.0 released. + +2015-11-28 Gerald Pfeifer <gerald@pfeifer.com> + + * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586. + Remove support for FreeBSD 5 and earlier. + +2015-11-27 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/68552 + * optabs.c (expand_vec_perm_1): Move vec_shr handling from here... + (expand_vec_perm): ... here. Do it regardless of vec_perm_const_optab + or whether v0 == v1. + +2015-11-26 Bernd Edlinger <bernd.edlinger@hotmail.de> + + Backport from mainline + 2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de> + + PR rtl-optimization/67037 + * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary. + +2015-11-26 David Edelsohn <dje.gcc@gmail.com> + + Backport from mainline + 2015-11-25 David Edelsohn <dje.gcc@gmail.com> + + * config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize + both the symbol and the "dot" symbol for function descriptors. Fix + inversion for rename of symbols with dollar sign. + +2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com> + + Backport from mainline r230938. + 2015-11-26 Vladimir Makarov <vmakarov@redhat.com> + + PR target/68416 + * config/i386/i386.h (enum reg_class): Add + bounds registers to ALL_REGS. + +2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + Backport from mainline + 2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + Bernd Schmidt <bschmidt@redhat.com> + + PR rtl-optimization/67226 + * calls.c (store_one_arg): Take into account + crtl->args.pretend_args_size when checking for overlap between + arg->value and argblock + arg->locate.offset during sibcall + optimization. + +2015-11-25 Vladimir Makarov <vmakarov@redhat.com> + + PR rtl-optimization/67954 + * lra-constraints.c (curr_insn_transform): Add check on scratch + pseudo when change class to NO_REGS. Add an assert. + +2015-11-24 Michael Meissner <meissner@linux.vnet.ibm.com> + + Backport form mainline + 2015-11-24 David Edelsohn <dje.gcc@gmail.com> + Michael Meissner <meissner@linux.vnet.ibm.com> + + * config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec. + (Fv2): New mode attribute to be used when ISA 2.07 instructions + are used on SF values, and ISA 2.06 instructions on DF values. + (add<mode>3_fpr): Use <Fv2> instead of <Fv>. + (sub<mode>3_fpr): Use <Fv2> instead of <Fv>. + (mul<mode>3_fpr): Use <Fv2> instead of <Fv>. + (div<mode>3_fpr): Use <Fv2> instead of <Fv>. + (sqrt<mode>2): Use <Fv2> instead of <Fv>. + (fre<Fs>): Use <Fv2> instead of <Fv>. + (rsqrt<mode>2): Use <Fv2> instead of <Fv>. + (cmp<mode>_fpr): Use <Fv2> instead of <Fv>. + (xsrdpi<mode>): Add support for the lround function. + (lround<mode>di2): Likewise. + (fma<mode>4_fpr): Use <Fv2> instead of <Fv>. + (fms<mode>4_fpr): Use <Fv2> instead of <Fv>. + (nfma<mode>4_fpr): Use <Fv2> instead of <Fv>. + (nfms<mode>4_fpr): Use <Fv2> instead of <Fv>. + +2015-11-24 Andreas Tobler <andreast@gcc.gnu.org> + + Backport from mainline + 2015-11-18 Andreas Tobler <andreast@gcc.gnu.org> + + * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the + commit from r125920 for FreeBSD. + +2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com> + + Backport from mainline r230796. + 2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com> + + PR c/68337 + * gimple-fold.c: Include ipa-chkp.h. + (gimple_fold_builtin_memory_op): Don't fold call if we + are going to instrument it and it may copy pointers. + +2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + Backport from mainline + 2015-11-24 Bernd Schmidt <bschmidt@redhat.com> + Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + PR rtl-optimization/68194 + PR rtl-optimization/68328 + PR rtl-optimization/68185 + * ree.c (combine_reaching_defs): Reject copy_needed case if + copies_list is not empty. + +2015-11-24 Richard Biener <rguenther@suse.de> + + PR middle-end/68221 + * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly + use mem_ref_offset. + +2015-11-24 Jakub Jelinek <jakub@redhat.com> + + PR target/68483 + * tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR + is valid vec_shr pattern, don't lower it even if can_vec_perm_p + returns false. + * optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX + whenever first is nelt or above. Don't mask expected with + 2 * nelt - 1. + +2015-11-23 Michael Meissner <meissner@linux.vnet.ibm.com> + + Backport from mainline + 2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com> + Peter Bergner <bergner@vnet.ibm.com> + + PR target/67808 + * config/rs6000/rs6000.md (extenddftf2): In the expander, only + allow registers, but provide insns for the combiner to create for + loads from memory. Separate VSX code from non-VSX code. For + non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename + externaldftf2_internal to externaldftf2_fprs. Reorder constraints + so that registers come before memory operations. Drop support from + converting DFmode to TFmode, if the DFmode value is in a GPR + register. + (extenddftf2_fprs): Likewise. + (extenddftf2_internal): Likewise. + (extenddftf2_vsx): Likewise. + (extendsftf2): In the expander, only allow registers, but provide + insns for the combiner to create for stores and loads. + +2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + Backport from mainline + 2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + PR target/68363 + * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments + that are not INSN_P. + +2015-11-23 Martin Liska <mliska@suse.cz> + + Backport from mainline + 2015-06-22 Jan Hubicka <hubicka@ucw.cz> + Martin Liska <mliska@suse.cz> + + PR ipa/65908 + * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove + construction of arg_types. + (sem_function::sem_function): Likewise. + (sem_function::~sem_function): Remove destruction of arg_types. + (sem_function::compatible_parm_types_p): New function. + (sem_function::equals_wpa): Reorg matching of return values + and parameter types. + (sem_function::equals_private): Reorg mathcing of argument types. + (sem_function::parse_tree_args): Remove. + (sem_function::param_used_p): New function. + * ipa-icf.h (init_wpa): Do not call it. + (parse_tree_args): Remove. + (compatible_parm_types_p): Declare. + (result_type): Remove. + (arg_types): Remove. + (param_used_p): Declare. + +2015-11-23 Richard Biener <rguenther@suse.de> + + Backport from mainline + 2015-10-29 Richard Biener <rguenther@suse.de> + + PR middle-end/56956 + * fold-const.c (fold_cond_expr_with_comparison): Do not fold + unsigned conditonal negation to ABS_EXPR. + +2015-11-22 Dominique d'Humieres <dominiq@lps.ens.fr> + + Backport from mainline + 2015-09-14 Manuel López-Ibáñe<manu@gcc.gnu.org> + + PR fortran/67460 + * diagnostic.c (diagnostic_initialize): Do not set + some_warnings_are_errors. + (diagnostic_finish): Use DK_WERROR count instead. + (diagnostic_report_diagnostic): Do not set + some_warnings_are_errors. + * diagnostic.h (struct diagnostic_context): Remove + some_warnings_are_errors. + +2015-11-21 Jakub Jelinek <jakub@redhat.com> + + PR debug/66432 + * tree-inline.c (copy_debug_stmt): If + gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL + in decl_debug_args, don't call remap_gimple_op_r on it. + +2015-11-20 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/68339 + * omp-low.c (expand_simd_clones): Call node->get_body () before + allocating stuff in GC. + +2015-11-20 Eric Botcazou <ebotcazou@adacore.com> + + * doc/md.texi (Standard Names): Move entry for addptr3 around, + add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes + glitch in entries for cbranch4 and jump. + +2015-11-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> + + Backport from mainline + * config/s390/s390.md ("bswaphi2"): New pattern. + +2015-11-20 Dominik Vogt <vogt@linux.vnet.ibm.com> + + Backport from mainline + * config/s390/s390.md (GPR1_REGNUM): New constant. + ("*trunc<BFP:mode><DFP_ALL:mode>2") + ("*trunc<DFP_ALL:mode><BFP:mode>2") + ("trunc<BFP:mode><DFP_ALL:mode>2") + ("trunc<DFP_ALL:mode><BFP:mode>2") + ("*extend<BFP:mode><DFP_ALL:mode>2") + ("*extend<DFP_ALL:mode><BFP:mode>2") + ("extend<BFP:mode><DFP_ALL:mode>2") + ("extend<DFP_ALL:mode><BFP:mode>2"): Clobber r1. + +2015-11-19 Eric Botcazou <ebotcazou@adacore.com> + + PR lto/61313 + * configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified + by the user. + * configure: Regenerate. + +2015-11-19 Eric Botcazou <ebotcazou@adacore.com> + + PR target/68408 + * config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine. + (DTORS_SECTION_ASM_OP): Likewise. + +2015-11-19 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/68376 + * ifcvt.c (noce_try_abs): Disable one_cmpl optimization if + encountering x <= 0 ? ~x : x or x > 0 ? ~x : x. + + PR target/67770 + * config/i386/i386.md (simple_return): Disable if + ix86_static_chain_on_stack is true. + +2015-11-18 Richard Henderson <rth@redhat.com> + + Backport from mainline + PR rtl-opt/67609 + * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten + sse check to the exact conditions of PR 67609. + + * config/i386/i386.c (ix86_cannot_change_mode_class): Disallow + narrowing subregs on SSE and MMX registers. + * doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Clarify when subregs that + appear to be sub-words of multi-register pseudos must be rejected. + * doc/tm.texi: Regenerate. + +2015-11-18 Richard Biener <rguenther@suse.de> + + Backport from mainline + 2015-11-07 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/68057 + PR ipa/68220 + * ipa-polymorphic-call.c + (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering + issue when offset is out of range. + (contains_type_p): Fix out of range check, clear dynamic flag. + + 2015-10-23 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/pr67600 + * ipa-polymorphic-call.c + (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse + instance offset with offset of outer type. + + 2015-10-12 Richard Biener <rguenther@suse.de> + + PR ipa/67783 + * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add + code that analyzes IVs on each stmt but in a cheaper way avoiding + quadratic behavior. + + 2015-10-11 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/67056 + * ipa-polymorphic-call.c (possible_placement_new): If cur_offset + is negative we don't know the type. + (check_stmt_for_type_change): Skip constructors of non-polymorphic + types as those won't help devirutalization. + + 2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org> + + PR c/66098 + PR c/66711 + * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into + account when deciding what was the command-line status. + +2015-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + Backport from mainline + 2015-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + PR target/68143 + * config/arm/arm.c (arm_block_set_unaligned_vect): Keep track of + offset from dstbase and use it appropriately in + adjust_automodify_address. + (arm_block_set_aligned_vect): Likewise. + +2015-11-18 Richard Biener <rguenther@suse.de> + + Backport from mainline + 2015-10-28 Richard Biener <rguenther@suse.de> + + PR middle-end/68067 + * fold-const.c (negate_expr_p): We cannot negate plus or minus + if overflow is not wrapping. Likewise multiplication unless + one operand is constant and not power of two. + (fold_negate_expr): Adjust accordingly. + + 2015-10-26 Richard Biener <rguenther@suse.de> + Dominik Vogt <vogt@linux.vnet.ibm.com> + + PR middle-end/67443 + * alias.c (ao_ref_from_mem): Remove promoted subreg handling. + Properly prune ref->ref for accesses outside of ref. + + 2015-10-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/68017 + * tree-tailcall.c (eliminate_tail_call): Remove stmts backwards. + + 2015-09-23 Richard Biener <rguenther@suse.de> + + PR middle-end/67662 + * fold-const.c (fold_binary_loc): Do not reassociate two vars with + undefined overflow unless they will cancel out. + +2015-11-18 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/68157 + * tree-ssa-reassoc.c (attempt_builtin_powi): Set uid of + pow_stmt or mul_stmt from stmt's uid. + (reassociate_bb): Set uid of mul_stmt from stmt's uid. + +2015-11-16 Charles Baylis <charles.baylis@linaro.org> + + Backport from mainline r227407 + PR ipa/67280 + * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external + in new callgraph edge. + +2015-11-16 Oleg Endo <olegendo@gcc.gnu.org> + + Backport from mainline + 2015-11-16 Oleg Endo <olegendo@gcc.gnu.org> + Kaz Kojima <kkojima@gcc.gnu.org> + + PR target/68277 + * config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and + operands[2]. + (*addsi3): Add another insn_and_split variant for reload. + +2015-11-12 Eric Botcazou <ebotcazou@adacore.com> + + PR target/67265 + * config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete + assertion on the CFA register. + +2015-11-11 Eric Botcazou <ebotcazou@adacore.com> + + PR target/67265 + * ira.c (ira_setup_eliminable_regset): Do not necessarily create the + frame pointer for stack checking if non-call exceptions aren't used. + * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise. + +2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + PR target/68129 + * config/aarch64/aarch64.h (TARGET_SUPPORTS_WIDE_INT): Define to 1. + * config/aarch64/aarch64.c (aarch64_print_operand, CONST_DOUBLE): + Delete VOIDmode case. Assert that mode is not VOIDmode. + * config/aarch64/predicates.md (const0_operand): Remove const_double + match. + +2015-11-10 James Greenhalgh <james.greenhalgh@arm.com> + + Partial backport from trunk r228751. + PR tree-optimization/68238 + 2015-10-13 Richard Biener <rguenther@suse.de> + + * tree-vect-loop.c (vect_estimate_min_profitable_iters): Use + LOOP_VINFO_COMP_ALIAS_DDRS to estimate alias versioning cost. + +2015-11-09 Eric Botcazou <ebotcazou@adacore.com> + + PR target/57845 + * config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do + not promote the mode for aggregate types. + 2015-11-09 Mike Stump <mikestump@comcast.net> PR debug/66728 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 7ed3ab068e1..7a28af80a02 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20151110 +20151215 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 90a89da171c..606a9cebdfe 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,66 @@ +2015-12-06 Piotr Trojanek <piotr.trojanek@gmail.com> + + PR ada/60164 + * doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Fix typo. + +2015-12-06 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/56274 + * s-osinte-kfreebsd-gnu.ads (pthread_rwlock_t): New subtype. + (pthread_rwlockattr_t): Likewise. + +2015-12-06 Ludovic Brenta <ludovic@ludovic-brenta.org> + + PR ada/49944 + * s-osinte-freebsd.ads: Minor reformatting. + (Stack_Base_Available): Correct comments. + * s-osinte-kfreebsd-gnu.ads (Time_Slice_Supported, nanosleep, + clock_id_t, clock_gettime, Stack_Base_Available, Get_Page_Size, + mprotect, pthread_mutexattr_setprotocol,pthread_mutexattr_getprotocol + pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling, + pthread_attr_setscope, pthread_attr_getscope, + pthread_attr_setinheritsched, pthread_attr_getinheritsched, + Time_Slice_Supported): Copy from s-osinte-freebsd.ads. + * gcc-interface/Makefile.in (x86/kfreebsd): Use the POSIX version of + the System.Task_Primitives.Operations package. + +2015-12-06 Ludovic Brenta <ludovic@ludovic-brenta.org> + + PR ada/49940 + * s-osinte-kfreebsd-gnu.ads (lwp_self): New imported function. + +2015-12-04 Jan Sommer <soja-lists@aries.uberspace.de> + + PR ada/68169 + * s-oscons-tmplt.c: Generate pthread constants for RTEMS + * s-osinte-rtems.ads: Declare pthread structs as opaque types in Ada + +2015-12-04 Release Manager + + * GCC 5.3.0 released. + +2015-11-29 Matthias Klose <doko@ubuntu.com> + + PR ada/68564 + * gcc-interface/Makefile.in: Fix powerpc/powerpc64* and + mipsel/mips64el bitness detection. + Merge the mipsel/mips64el definitions into one. + +2015-11-28 Matthias Klose <doko@ubuntu.com> + + PR ada/68564 + * gcc-interface/Makefile.in: Fix sparc/sparc64 bitness detection. + +2015-11-24 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.c (is_cplusplus_method): Check that the type of + the first parameter (indirectly) has C++ convention too. + +2015-11-18 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.c (fold_constant_decl_in_expr) <ARRAY_REF>: If + the index is not itself constant then bail out. + 2015-10-09 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/Make-lang.in: Make sure that GNAT1_OBJS and not just diff --git a/gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst b/gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst index 9e332d9d076..db05cc312d4 100644 --- a/gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst +++ b/gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst @@ -3872,7 +3872,7 @@ execution of this erroneous program: it to obtain accurate dynamic memory usage history at a minimal cost to the execution speed. Note however, that `gnatmem` is not supported on all platforms (currently, it is supported on AIX, HP-UX, GNU/Linux, Solaris and - Windows NT/2000/XP (x86). + Windows NT/2000/XP (x86)). The `gnatmem` command has the form diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index 55592696abd..e1ca51572fd 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -1365,9 +1365,7 @@ ifeq ($(strip $(filter-out %86 kfreebsd%,$(target_cpu) $(target_os))),) s-osinte.adb<s-osinte-posix.adb \ s-osinte.ads<s-osinte-kfreebsd-gnu.ads \ 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-taprop.adb<s-taprop-posix.adb \ s-taspri.ads<s-taspri-posix.ads \ s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ $(ATOMICS_TARGET_PAIRS) \ @@ -1398,9 +1396,7 @@ ifeq ($(strip $(filter-out x86_64 kfreebsd%,$(target_cpu) $(target_os))),) s-osinte.adb<s-osinte-posix.adb \ s-osinte.ads<s-osinte-kfreebsd-gnu.ads \ 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-taprop.adb<s-taprop-posix.adb \ s-taspri.ads<s-taspri-posix.ads \ s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ system.ads<system-freebsd-x86_64.ads @@ -1759,51 +1755,8 @@ ifeq ($(strip $(filter-out mips linux%,$(target_cpu) $(target_os))),) LIBRARY_VERSION := $(LIB_VERSION) endif -# Mips/el Linux -ifeq ($(strip $(filter-out mipsel linux%,$(target_cpu) $(target_os))),) - LIBGNAT_TARGET_PAIRS_COMMON = \ - a-intnam.ads<a-intnam-linux.ads \ - s-inmaop.adb<s-inmaop-posix.adb \ - s-intman.adb<s-intman-posix.adb \ - s-linux.ads<s-linux-mipsel.ads \ - s-osinte.adb<s-osinte-posix.adb \ - s-osinte.ads<s-osinte-linux.ads \ - 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-taspri.ads<s-taspri-posix-noaltstack.ads \ - s-tpopsp.adb<s-tpopsp-posix-foreign.adb \ - g-sercom.adb<g-sercom-linux.adb - - LIBGNAT_TARGET_PAIRS_32 = \ - system.ads<system-linux-mipsel.ads - - LIBGNAT_TARGET_PAIRS_64 = \ - system.ads<system-linux-mips64el.ads - - ifeq ($(strip $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory)),../lib64) - LIBGNAT_TARGET_PAIRS = \ - $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64) - else - LIBGNAT_TARGET_PAIRS = \ - $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32) - endif - - TOOLS_TARGET_PAIRS = \ - mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \ - indepsw.adb<indepsw-gnu.adb - - EXTRA_GNATRTL_TASKING_OBJS=s-linux.o - EH_MECHANISM=-gcc - THREADSLIB = -lpthread - GNATLIB_SHARED = gnatlib-shared-dual - GMEM_LIB = gmemlib - LIBRARY_VERSION := $(LIB_VERSION) -endif - -# Mips64/el Linux -ifeq ($(strip $(filter-out mips64el linux%,$(target_cpu) $(target_os))),) +# Mips/el and Mips64/el Linux +ifeq ($(strip $(filter-out mipsel mips64el linux%,$(target_cpu) $(target_os))),) LIBGNAT_TARGET_PAIRS_COMMON = \ a-intnam.ads<a-intnam-linux.ads \ s-inmaop.adb<s-inmaop-posix.adb \ @@ -1825,7 +1778,7 @@ ifeq ($(strip $(filter-out mips64el linux%,$(target_cpu) $(target_os))),) LIBGNAT_TARGET_PAIRS_64 = \ system.ads<system-linux-mips64el.ads - ifeq ($(strip $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory)),../lib64) + ifneq (,$(or $(filter mips64el%, $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multiarch)), $(filter ../lib64, $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory)))) LIBGNAT_TARGET_PAIRS = \ $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64) else @@ -1879,7 +1832,7 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(target_cpu) $(target_os))),) LIBGNAT_TARGET_PAIRS_64 = \ system.ads<system-linux-ppc64.ads - ifeq ($(strip $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory)),../lib64) + ifneq (,$(or $(filter powerpc64%, $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multiarch)), $(filter ../lib64, $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory)))) LIBGNAT_TARGET_PAIRS = \ $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64) else @@ -2010,7 +1963,7 @@ ifeq ($(strip $(filter-out sparc% linux%,$(target_cpu) $(target_os))),) LIBGNAT_TARGET_PAIRS_64 = \ system.ads<system-linux-sparcv9.ads - ifeq ($(strip $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory)),../lib64) + ifneq (,$(or $(filter sparc64-linux-gnu, $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multiarch)), $(filter ../lib64, $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) -print-multi-os-directory)))) LIBGNAT_TARGET_PAIRS = \ $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64) else diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index a68ee0df6f6..a77ca6634e0 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -5450,9 +5450,28 @@ get_minimal_subprog_decl (Entity_Id gnat_entity) bool is_cplusplus_method (Entity_Id gnat_entity) { + /* Check that the subprogram has C++ convention. */ if (Convention (gnat_entity) != Convention_CPP) return false; + /* A constructor is a method on the C++ side. We deal with it now because + it is declared without the 'this' parameter in the sources and, although + the front-end will create a version with the 'this' parameter for code + generation purposes, we want to return true for both versions. */ + if (Is_Constructor (gnat_entity)) + return true; + + /* And that the type of the first parameter (indirectly) has it too. */ + Entity_Id gnat_first = First_Formal (gnat_entity); + if (No (gnat_first)) + return false; + + Entity_Id gnat_type = Etype (gnat_first); + if (Is_Access_Type (gnat_type)) + gnat_type = Directly_Designated_Type (gnat_type); + if (Convention (gnat_type) != Convention_CPP) + return false; + /* This is the main case: C++ method imported as a primitive operation. Note that a C++ class with no virtual functions can be imported as a limited record type so the operation is not necessarily dispatching. */ @@ -5463,10 +5482,6 @@ is_cplusplus_method (Entity_Id gnat_entity) if (Is_Subprogram (gnat_entity) && Is_Thunk (gnat_entity)) return true; - /* A constructor is a method on the C++ side. */ - if (Is_Constructor (gnat_entity)) - return true; - /* This is set on the E_Subprogram_Type built for a dispatching call. */ if (Is_Dispatch_Table_Entity (gnat_entity)) return true; diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index 6ffee062a04..1e4d3734b62 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -997,6 +997,9 @@ fold_constant_decl_in_expr (tree exp) case ARRAY_REF: case ARRAY_RANGE_REF: + /* If the index is not itself constant, then nothing can be folded. */ + if (!TREE_CONSTANT (TREE_OPERAND (exp, 1))) + return exp; op0 = fold_constant_decl_in_expr (TREE_OPERAND (exp, 0)); if (op0 == TREE_OPERAND (exp, 0)) return exp; diff --git a/gcc/ada/s-oscons-tmplt.c b/gcc/ada/s-oscons-tmplt.c index 053d4a71bba..1ddc4138399 100644 --- a/gcc/ada/s-oscons-tmplt.c +++ b/gcc/ada/s-oscons-tmplt.c @@ -157,7 +157,7 @@ pragma Style_Checks ("M32766"); # include <_types.h> #endif -#ifdef __linux__ +#if defined (__linux__) || defined (__rtems__) # include <pthread.h> # include <signal.h> #endif @@ -1456,7 +1456,8 @@ CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock") CNS(CLOCK_RT_Ada, "") #endif -#if defined (__APPLE__) || defined (__linux__) || defined (DUMMY) +#if defined (__APPLE__) || defined (__linux__) || defined (__rtems__) || \ + defined (DUMMY) /* -- Sizes of pthread data types @@ -1499,7 +1500,7 @@ CND(PTHREAD_RWLOCKATTR_SIZE, "pthread_rwlockattr_t") CND(PTHREAD_RWLOCK_SIZE, "pthread_rwlock_t") CND(PTHREAD_ONCE_SIZE, "pthread_once_t") -#endif /* __APPLE__ || __linux__ */ +#endif /* __APPLE__ || __linux__ || __rtems__*/ /* diff --git a/gcc/ada/s-osinte-freebsd.ads b/gcc/ada/s-osinte-freebsd.ads index 625d2dcd661..343301bc026 100644 --- a/gcc/ada/s-osinte-freebsd.ads +++ b/gcc/ada/s-osinte-freebsd.ads @@ -31,7 +31,7 @@ -- -- ------------------------------------------------------------------------------ --- This is the FreeBSD PTHREADS version of this package +-- This is the FreeBSD (POSIX Threads) version of this package -- This package encapsulates all direct interfaces to OS services -- that are needed by the tasking run-time (libgnarl). @@ -197,7 +197,7 @@ package System.OS_Interface is type timespec is private; - function nanosleep (rqtp, rmtp : access timespec) return int; + function nanosleep (rqtp, rmtp : access timespec) return int; pragma Import (C, nanosleep, "nanosleep"); type clockid_t is new int; @@ -322,10 +322,7 @@ package System.OS_Interface is -- No alternate signal stack is used on this platform Stack_Base_Available : constant Boolean := False; - -- Indicates whether the stack base is available on this target. This - -- allows us to share s-osinte.adb between all the FSU run time. Note that - -- this value can only be true if pthread_t has a complete definition that - -- corresponds exactly to the C header files. + -- Indicates whether the stack base is available on this target function Get_Stack_Base (thread : pthread_t) return Address; pragma Inline (Get_Stack_Base); diff --git a/gcc/ada/s-osinte-kfreebsd-gnu.ads b/gcc/ada/s-osinte-kfreebsd-gnu.ads index be46c2e531e..3f6ef9bb409 100644 --- a/gcc/ada/s-osinte-kfreebsd-gnu.ads +++ b/gcc/ada/s-osinte-kfreebsd-gnu.ads @@ -7,7 +7,7 @@ -- S p e c -- -- -- -- Copyright (C) 1991-1994, Florida State University -- --- Copyright (C) 1995-2014, Free Software Foundation, Inc. -- +-- Copyright (C) 1995-2015, 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- -- @@ -30,7 +30,7 @@ -- -- ------------------------------------------------------------------------------ --- This is the GNU/kFreeBSD (GNU/LinuxThreads) version of this package +-- This is the GNU/kFreeBSD (POSIX Threads) version of this package -- This package encapsulates all direct interfaces to OS services -- that are needed by children of System. @@ -198,8 +198,24 @@ package System.OS_Interface is -- Time -- ---------- + Time_Slice_Supported : constant Boolean := True; + -- Indicates whether time slicing is supported (i.e SCHED_RR is supported) + type timespec is private; + function nanosleep (rqtp, rmtp : access timespec) return int; + pragma Import (C, nanosleep, "nanosleep"); + + type clockid_t is private; + + CLOCK_REALTIME : constant clockid_t; + + function clock_gettime + (clock_id : clockid_t; + tp : access timespec) + return int; + pragma Import (C, clock_gettime, "clock_gettime"); + function To_Duration (TS : timespec) return Duration; pragma Inline (To_Duration); @@ -236,6 +252,16 @@ package System.OS_Interface is function getpid return pid_t; pragma Import (C, getpid, "getpid"); + --------- + -- LWP -- + --------- + + function lwp_self return System.Address; + -- lwp_self does not exist on this thread library, revert to pthread_self + -- which is the closest approximation (with getpid). This function is + -- needed to share 7staprop.adb across POSIX-like targets. + pragma Import (C, lwp_self, "pthread_self"); + ------------- -- Threads -- ------------- @@ -261,6 +287,18 @@ package System.OS_Interface is type pthread_key_t is private; PTHREAD_CREATE_DETACHED : constant := 1; + PTHREAD_CREATE_JOINABLE : constant := 0; + + PTHREAD_SCOPE_PROCESS : constant := 0; + PTHREAD_SCOPE_SYSTEM : constant := 2; + + -- Read/Write lock not supported on kfreebsd. To add support both types + -- pthread_rwlock_t and pthread_rwlockattr_t must properly be defined + -- with the associated routines pthread_rwlock_[init/destroy] and + -- pthread_rwlock_[rdlock/wrlock/unlock]. + + subtype pthread_rwlock_t is pthread_mutex_t; + subtype pthread_rwlockattr_t is pthread_mutexattr_t; ----------- -- Stack -- @@ -284,9 +322,29 @@ package System.OS_Interface is Alternate_Stack_Size : constant := 0; -- No alternate signal stack is used on this platform + Stack_Base_Available : constant Boolean := False; + -- Indicates whether the stack base is available on this target + function Get_Stack_Base (thread : pthread_t) return Address; pragma Inline (Get_Stack_Base); - -- This is a dummy procedure to share some GNULLI files + -- returns the stack base of the specified thread. Only call this function + -- when Stack_Base_Available is True. + + function Get_Page_Size return size_t; + function Get_Page_Size return Address; + pragma Import (C, Get_Page_Size, "getpagesize"); + -- Returns the size of a page + + PROT_NONE : constant := 0; + PROT_READ : constant := 1; + PROT_WRITE : constant := 2; + PROT_EXEC : constant := 4; + PROT_ALL : constant := PROT_READ + PROT_WRITE + PROT_EXEC; + PROT_ON : constant := PROT_NONE; + PROT_OFF : constant := PROT_ALL; + + function mprotect (addr : Address; len : size_t; prot : int) return int; + pragma Import (C, mprotect); --------------------------------------- -- Nonstandard Thread Initialization -- @@ -375,6 +433,36 @@ package System.OS_Interface is -- POSIX.1c Section 13 -- -------------------------- + PTHREAD_PRIO_NONE : constant := 0; + PTHREAD_PRIO_PROTECT : constant := 2; + PTHREAD_PRIO_INHERIT : constant := 1; + + function pthread_mutexattr_setprotocol + (attr : access pthread_mutexattr_t; + protocol : int) return int; + pragma Import + (C, pthread_mutexattr_setprotocol, "pthread_mutexattr_setprotocol"); + + function pthread_mutexattr_getprotocol + (attr : access pthread_mutexattr_t; + protocol : access int) return int; + pragma Import + (C, pthread_mutexattr_getprotocol, "pthread_mutexattr_getprotocol"); + + function pthread_mutexattr_setprioceiling + (attr : access pthread_mutexattr_t; + prioceiling : int) return int; + pragma Import + (C, pthread_mutexattr_setprioceiling, + "pthread_mutexattr_setprioceiling"); + + function pthread_mutexattr_getprioceiling + (attr : access pthread_mutexattr_t; + prioceiling : access int) return int; + pragma Import + (C, pthread_mutexattr_getprioceiling, + "pthread_mutexattr_getprioceiling"); + type struct_sched_param is record sched_priority : int; -- scheduling priority end record; @@ -386,6 +474,28 @@ package System.OS_Interface is param : access struct_sched_param) return int; pragma Import (C, pthread_setschedparam, "pthread_setschedparam"); + function pthread_attr_setscope + (attr : access pthread_attr_t; + contentionscope : int) return int; + pragma Import (C, pthread_attr_setscope, "pthread_attr_setscope"); + + function pthread_attr_getscope + (attr : access pthread_attr_t; + contentionscope : access int) return int; + pragma Import (C, pthread_attr_getscope, "pthread_attr_getscope"); + + function pthread_attr_setinheritsched + (attr : access pthread_attr_t; + inheritsched : int) return int; + pragma Import + (C, pthread_attr_setinheritsched, "pthread_attr_setinheritsched"); + + function pthread_attr_getinheritsched + (attr : access pthread_attr_t; + inheritsched : access int) return int; + pragma Import + (C, pthread_attr_getinheritsched, "pthread_attr_getinheritsched"); + function pthread_attr_setschedpolicy (attr : access pthread_attr_t; policy : int) return int; @@ -496,6 +606,9 @@ private end record; pragma Convention (C, timespec); + type clockid_t is new int; + CLOCK_REALTIME : constant clockid_t := 0; + type pthread_attr_t is record detachstate : int; schedpolicy : int; diff --git a/gcc/ada/s-osinte-rtems.ads b/gcc/ada/s-osinte-rtems.ads index 8b9ae1297cd..5a143cc666a 100644 --- a/gcc/ada/s-osinte-rtems.ads +++ b/gcc/ada/s-osinte-rtems.ads @@ -51,6 +51,8 @@ -- It is designed to be a bottom-level (leaf) package. with Interfaces.C; +with System.OS_Constants; + package System.OS_Interface is pragma Preelaborate; @@ -60,6 +62,7 @@ package System.OS_Interface is subtype rtems_id is Interfaces.C.unsigned; subtype int is Interfaces.C.int; + subtype char is Interfaces.C.char; subtype short is Interfaces.C.short; subtype long is Interfaces.C.long; subtype unsigned is Interfaces.C.unsigned; @@ -68,7 +71,6 @@ package System.OS_Interface is subtype unsigned_char is Interfaces.C.unsigned_char; subtype plain_char is Interfaces.C.plain_char; subtype size_t is Interfaces.C.size_t; - ----------- -- Errno -- ----------- @@ -76,11 +78,11 @@ package System.OS_Interface is function errno return int; pragma Import (C, errno, "__get_errno"); - EAGAIN : constant := 11; - EINTR : constant := 4; - EINVAL : constant := 22; - ENOMEM : constant := 12; - ETIMEDOUT : constant := 116; + EAGAIN : constant := System.OS_Constants.EAGAIN; + EINTR : constant := System.OS_Constants.EINTR; + EINVAL : constant := System.OS_Constants.EINVAL; + ENOMEM : constant := System.OS_Constants.ENOMEM; + ETIMEDOUT : constant := System.OS_Constants.ETIMEDOUT; ------------- -- Signals -- @@ -448,6 +450,7 @@ package System.OS_Interface is ss_low_priority : int; ss_replenish_period : timespec; ss_initial_budget : timespec; + sched_ss_max_repl : int; end record; pragma Convention (C, struct_sched_param); @@ -621,43 +624,34 @@ private end record; pragma Convention (C, timespec); - CLOCK_REALTIME : constant clockid_t := 1; - CLOCK_MONOTONIC : constant clockid_t := 4; + CLOCK_REALTIME : constant clockid_t := System.OS_Constants.CLOCK_REALTIME; + CLOCK_MONOTONIC : constant clockid_t := System.OS_Constants.CLOCK_MONOTONIC; + + subtype char_array is Interfaces.C.char_array; type pthread_attr_t is record - is_initialized : int; - stackaddr : System.Address; - stacksize : int; - contentionscope : int; - inheritsched : int; - schedpolicy : int; - schedparam : struct_sched_param; - cputime_clocked_allowed : int; - detatchstate : int; + Data : char_array (1 .. OS_Constants.PTHREAD_ATTR_SIZE); end record; pragma Convention (C, pthread_attr_t); + for pthread_attr_t'Alignment use Interfaces.C.double'Alignment; type pthread_condattr_t is record - flags : int; - process_shared : int; + Data : char_array (1 .. OS_Constants.PTHREAD_CONDATTR_SIZE); end record; pragma Convention (C, pthread_condattr_t); + for pthread_condattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_mutexattr_t is record - is_initialized : int; - process_shared : int; - prio_ceiling : int; - protocol : int; - mutex_type : int; - recursive : int; - end record; + Data : char_array (1 .. OS_Constants.PTHREAD_MUTEXATTR_SIZE); + end record; pragma Convention (C, pthread_mutexattr_t); + for pthread_mutexattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_rwlockattr_t is record - is_initialized : int; - process_shared : int; + Data : char_array (1 .. OS_Constants.PTHREAD_RWLOCKATTR_SIZE); end record; pragma Convention (C, pthread_rwlockattr_t); + for pthread_rwlockattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_t is new rtems_id; diff --git a/gcc/alias.c b/gcc/alias.c index a7160f3e956..08b9beb46fe 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -364,15 +364,16 @@ ao_ref_from_mem (ao_ref *ref, const_rtx mem) || !MEM_SIZE_KNOWN_P (mem)) return true; - /* If the base decl is a parameter we can have negative MEM_OFFSET in - case of promoted subregs on bigendian targets. Trust the MEM_EXPR - here. */ + /* If MEM_OFFSET/MEM_SIZE get us outside of ref->offset/ref->max_size + drop ref->ref. */ if (MEM_OFFSET (mem) < 0 - && (MEM_SIZE (mem) + MEM_OFFSET (mem)) * BITS_PER_UNIT == ref->size) - return true; + || (ref->max_size != -1 + && ((MEM_OFFSET (mem) + MEM_SIZE (mem)) * BITS_PER_UNIT + > ref->max_size))) + ref->ref = NULL_TREE; - /* Otherwise continue and refine size and offset we got from analyzing - MEM_EXPR by using MEM_SIZE and MEM_OFFSET. */ + /* Refine size and offset we got from analyzing MEM_EXPR by using + MEM_SIZE and MEM_OFFSET. */ ref->offset += MEM_OFFSET (mem) * BITS_PER_UNIT; ref->size = MEM_SIZE (mem) * BITS_PER_UNIT; @@ -1879,7 +1880,7 @@ base_alias_check (rtx x, rtx x_base, rtx y, rtx y_base, } /* Return TRUE if EXPR refers to a VALUE whose uid is greater than - that of V. */ + (or equal to) that of V. */ static bool refs_newer_value_p (const_rtx expr, rtx v) @@ -1887,7 +1888,7 @@ refs_newer_value_p (const_rtx expr, rtx v) int minuid = CSELIB_VAL_PTR (v)->uid; subrtx_iterator::array_type array; FOR_EACH_SUBRTX (iter, array, expr, NONCONST) - if (GET_CODE (*iter) == VALUE && CSELIB_VAL_PTR (*iter)->uid > minuid) + if (GET_CODE (*iter) == VALUE && CSELIB_VAL_PTR (*iter)->uid >= minuid) return true; return false; } diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 99d3a59d81d..2b39509cdfc 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-10-02 Joseph Myers <joseph@codesourcery.com> * c.opt (std=c11): Do not describe as experimental. diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index e78cce6db89..336a560f551 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-10-05 Marek Polacek <polacek@redhat.com> Backport from mainline diff --git a/gcc/calls.c b/gcc/calls.c index 395d07d2842..120365bef4d 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -588,12 +588,9 @@ special_function_p (const_tree fndecl, int flags) /* We assume that alloca will always be called by name. It makes no sense to pass it as a pointer-to-function to anything that does not understand its behavior. */ - if (((IDENTIFIER_LENGTH (name_decl) == 6 - && name[0] == 'a' - && ! strcmp (name, "alloca")) - || (IDENTIFIER_LENGTH (name_decl) == 16 - && name[0] == '_' - && ! strcmp (name, "__builtin_alloca")))) + if (IDENTIFIER_LENGTH (name_decl) == 6 + && name[0] == 'a' + && ! strcmp (name, "alloca")) flags |= ECF_MAY_BE_ALLOCA; /* Disregard prefix _, __, __x or __builtin_. */ @@ -639,6 +636,17 @@ special_function_p (const_tree fndecl, int flags) flags |= ECF_NORETURN; } + if (DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_NORMAL) + switch (DECL_FUNCTION_CODE (fndecl)) + { + case BUILT_IN_ALLOCA: + case BUILT_IN_ALLOCA_WITH_ALIGN: + flags |= ECF_MAY_BE_ALLOCA; + break; + default: + break; + } + return flags; } @@ -4971,6 +4979,13 @@ store_one_arg (struct arg_data *arg, rtx argblock, int flags, if (XEXP (x, 0) != crtl->args.internal_arg_pointer) i = INTVAL (XEXP (XEXP (x, 0), 1)); + /* arg.locate doesn't contain the pretend_args_size offset, + it's part of argblock. Ensure we don't count it in I. */ +#ifdef STACK_GROWS_DOWNWARD + i -= crtl->args.pretend_args_size; +#else + i += crtl->args.pretend_args_size; +#endif /* expand_call should ensure this. */ gcc_assert (!arg->locate.offset.var && arg->locate.size.var == 0 diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index ac008f188e2..045980f2e81 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -3376,6 +3376,12 @@ expand_gimple_stmt_1 (gimple stmt) { tree result = DECL_RESULT (current_function_decl); + /* Mark we have return statement with missing bounds. */ + if (!bnd + && chkp_function_instrumented_p (cfun->decl) + && !DECL_P (op0)) + bnd = error_mark_node; + /* If we are not returning the current function's RESULT_DECL, build an assignment to it. */ if (op0 != result) @@ -3392,9 +3398,6 @@ expand_gimple_stmt_1 (gimple stmt) op0 = build2 (MODIFY_EXPR, TREE_TYPE (result), result, op0); } - /* Mark we have return statement with missing bounds. */ - if (!bnd && chkp_function_instrumented_p (cfun->decl)) - bnd = error_mark_node; } if (!op0) diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h index 75c0161a870..2417d1221dd 100644 --- a/gcc/config/aarch64/aarch64-protos.h +++ b/gcc/config/aarch64/aarch64-protos.h @@ -248,6 +248,9 @@ int aarch64_get_condition_code (rtx); bool aarch64_bitmask_imm (HOST_WIDE_INT val, machine_mode); int aarch64_branch_cost (bool, bool); enum aarch64_symbol_type aarch64_classify_symbolic_expression (rtx); +bool aarch64_cannot_change_mode_class (machine_mode, + machine_mode, + enum reg_class); bool aarch64_const_vec_all_same_int_p (rtx, HOST_WIDE_INT); bool aarch64_constant_address_p (rtx); bool aarch64_expand_movmem (rtx *); diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index e6f91e4e97b..e67da4e6e81 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -4433,11 +4433,10 @@ aarch64_print_operand (FILE *f, rtx x, char code) break; case CONST_DOUBLE: - /* CONST_DOUBLE can represent a double-width integer. - In this case, the mode of x is VOIDmode. */ - if (GET_MODE (x) == VOIDmode) - ; /* Do Nothing. */ - else if (aarch64_float_const_zero_rtx_p (x)) + /* Since we define TARGET_SUPPORTS_WIDE_INT we shouldn't ever + be getting CONST_DOUBLEs holding integers. */ + gcc_assert (GET_MODE (x) != VOIDmode); + if (aarch64_float_const_zero_rtx_p (x)) { fputc ('0', f); break; @@ -9913,7 +9912,7 @@ aarch64_madd_needs_nop (rtx_insn* insn) if (!TARGET_FIX_ERR_A53_835769) return false; - if (recog_memoized (insn) < 0) + if (!INSN_P (insn) || recog_memoized (insn) < 0) return false; attr_type = get_attr_type (insn); @@ -12247,6 +12246,24 @@ aarch64_vectorize_vec_perm_const_ok (machine_mode vmode, return ret; } +/* Implement target hook CANNOT_CHANGE_MODE_CLASS. */ +bool +aarch64_cannot_change_mode_class (machine_mode from, + machine_mode to, + enum reg_class rclass) +{ + /* We cannot allow word_mode subregs of full vector modes. + Otherwise the middle-end will assume it's ok to store to + (subreg:DI (reg:TI 100) 0) in order to modify only the low 64 bits + of the 128-bit register. However, after reload the subreg will + be dropped leaving a plain DImode store. See PR67609 for a more + detailed dicussion. In all other cases, we want to be permissive + and return false. */ + return (reg_classes_intersect_p (FP_REGS, rclass) + && GET_MODE_SIZE (to) == UNITS_PER_WORD + && GET_MODE_SIZE (from) > UNITS_PER_WORD); +} + rtx aarch64_reverse_mask (enum machine_mode mode) { diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h index b2a1394eba2..be4a0954faa 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h @@ -84,6 +84,8 @@ #define LONG_DOUBLE_TYPE_SIZE 128 +#define TARGET_SUPPORTS_WIDE_INT 1 + /* The architecture reserves all bits of the address for hardware use, so the vbit must go into the delta field of pointers to member functions. This is the same config as that in the AArch32 @@ -838,6 +840,9 @@ do { \ extern void __aarch64_sync_cache_range (void *, void *); \ __aarch64_sync_cache_range (beg, end) +#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \ + aarch64_cannot_change_mode_class (FROM, TO, CLASS) + #define SHIFT_COUNT_TRUNCATED !TARGET_SIMD /* Choose appropriate mode for caller saves, so we do the minimum diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index 7503cfd4dd4..939f0b94cf1 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -4534,7 +4534,8 @@ (define_insn "aarch64_movdi_<mode>low" [(set (match_operand:DI 0 "register_operand" "=r") - (truncate:DI (match_operand:TX 1 "register_operand" "w")))] + (zero_extract:DI (match_operand:TX 1 "register_operand" "w") + (const_int 64) (const_int 0)))] "TARGET_FLOAT && (reload_completed || reload_in_progress)" "fmov\\t%x0, %d1" [(set_attr "type" "f_mrc") @@ -4543,9 +4544,8 @@ (define_insn "aarch64_movdi_<mode>high" [(set (match_operand:DI 0 "register_operand" "=r") - (truncate:DI - (lshiftrt:TX (match_operand:TX 1 "register_operand" "w") - (const_int 64))))] + (zero_extract:DI (match_operand:TX 1 "register_operand" "w") + (const_int 64) (const_int 64)))] "TARGET_FLOAT && (reload_completed || reload_in_progress)" "fmov\\t%x0, %1.d[1]" [(set_attr "type" "f_mrc") diff --git a/gcc/config/aarch64/predicates.md b/gcc/config/aarch64/predicates.md index 7841378a5da..3a1bd3b715c 100644 --- a/gcc/config/aarch64/predicates.md +++ b/gcc/config/aarch64/predicates.md @@ -32,7 +32,7 @@ ;; Return true if OP a (const_int 0) operand. (define_predicate "const0_operand" - (and (match_code "const_int, const_double") + (and (match_code "const_int") (match_test "op == CONST0_RTX (mode)"))) (define_predicate "aarch64_ccmp_immediate" diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index bfd664b1537..60974777fe9 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -28889,7 +28889,7 @@ arm_block_set_unaligned_vect (rtx dstbase, rtx (*gen_func) (rtx, rtx); machine_mode mode; unsigned HOST_WIDE_INT v = value; - + unsigned int offset = 0; gcc_assert ((align & 0x3) != 0); nelt_v8 = GET_MODE_NUNITS (V8QImode); nelt_v16 = GET_MODE_NUNITS (V16QImode); @@ -28910,7 +28910,7 @@ arm_block_set_unaligned_vect (rtx dstbase, return false; dst = copy_addr_to_reg (XEXP (dstbase, 0)); - mem = adjust_automodify_address (dstbase, mode, dst, 0); + mem = adjust_automodify_address (dstbase, mode, dst, offset); v = sext_hwi (v, BITS_PER_WORD); val_elt = GEN_INT (v); @@ -28927,7 +28927,11 @@ arm_block_set_unaligned_vect (rtx dstbase, { emit_insn ((*gen_func) (mem, reg)); if (i + 2 * nelt_mode <= length) - emit_insn (gen_add2_insn (dst, GEN_INT (nelt_mode))); + { + emit_insn (gen_add2_insn (dst, GEN_INT (nelt_mode))); + offset += nelt_mode; + mem = adjust_automodify_address (dstbase, mode, dst, offset); + } } /* If there are not less than nelt_v8 bytes leftover, we must be in @@ -28938,6 +28942,9 @@ arm_block_set_unaligned_vect (rtx dstbase, if (i + nelt_v8 < length) { emit_insn (gen_add2_insn (dst, GEN_INT (length - i))); + offset += length - i; + mem = adjust_automodify_address (dstbase, mode, dst, offset); + /* We are shifting bytes back, set the alignment accordingly. */ if ((length & 1) != 0 && align >= 2) set_mem_align (mem, BITS_PER_UNIT); @@ -28948,12 +28955,13 @@ arm_block_set_unaligned_vect (rtx dstbase, else if (i < length && i + nelt_v8 >= length) { if (mode == V16QImode) - { - reg = gen_lowpart (V8QImode, reg); - mem = adjust_automodify_address (dstbase, V8QImode, dst, 0); - } + reg = gen_lowpart (V8QImode, reg); + emit_insn (gen_add2_insn (dst, GEN_INT ((length - i) + (nelt_mode - nelt_v8)))); + offset += (length - i) + (nelt_mode - nelt_v8); + mem = adjust_automodify_address (dstbase, V8QImode, dst, offset); + /* We are shifting bytes back, set the alignment accordingly. */ if ((length & 1) != 0 && align >= 2) set_mem_align (mem, BITS_PER_UNIT); @@ -28980,6 +28988,7 @@ arm_block_set_aligned_vect (rtx dstbase, rtx rval[MAX_VECT_LEN]; machine_mode mode; unsigned HOST_WIDE_INT v = value; + unsigned int offset = 0; gcc_assert ((align & 0x3) == 0); nelt_v8 = GET_MODE_NUNITS (V8QImode); @@ -29011,14 +29020,15 @@ arm_block_set_aligned_vect (rtx dstbase, /* Handle first 16 bytes specially using vst1:v16qi instruction. */ if (mode == V16QImode) { - mem = adjust_automodify_address (dstbase, mode, dst, 0); + mem = adjust_automodify_address (dstbase, mode, dst, offset); emit_insn (gen_movmisalignv16qi (mem, reg)); i += nelt_mode; /* Handle (8, 16) bytes leftover using vst1:v16qi again. */ if (i + nelt_v8 < length && i + nelt_v16 > length) { emit_insn (gen_add2_insn (dst, GEN_INT (length - nelt_mode))); - mem = adjust_automodify_address (dstbase, mode, dst, 0); + offset += length - nelt_mode; + mem = adjust_automodify_address (dstbase, mode, dst, offset); /* We are shifting bytes back, set the alignment accordingly. */ if ((length & 0x3) == 0) set_mem_align (mem, BITS_PER_UNIT * 4); @@ -29040,7 +29050,7 @@ arm_block_set_aligned_vect (rtx dstbase, for (; (i + nelt_mode <= length); i += nelt_mode) { addr = plus_constant (Pmode, dst, i); - mem = adjust_automodify_address (dstbase, mode, addr, i); + mem = adjust_automodify_address (dstbase, mode, addr, offset + i); emit_move_insn (mem, reg); } @@ -29049,8 +29059,8 @@ arm_block_set_aligned_vect (rtx dstbase, if (i + UNITS_PER_WORD == length) { addr = plus_constant (Pmode, dst, i - UNITS_PER_WORD); - mem = adjust_automodify_address (dstbase, mode, - addr, i - UNITS_PER_WORD); + offset += i - UNITS_PER_WORD; + mem = adjust_automodify_address (dstbase, mode, addr, offset); /* We are shifting 4 bytes back, set the alignment accordingly. */ if (align > UNITS_PER_WORD) set_mem_align (mem, BITS_PER_UNIT * UNITS_PER_WORD); @@ -29062,7 +29072,8 @@ arm_block_set_aligned_vect (rtx dstbase, else if (i < length) { emit_insn (gen_add2_insn (dst, GEN_INT (length - nelt_mode))); - mem = adjust_automodify_address (dstbase, mode, dst, 0); + offset += length - nelt_mode; + mem = adjust_automodify_address (dstbase, mode, dst, offset); /* We are shifting bytes back, set the alignment accordingly. */ if ((length & 1) == 0) set_mem_align (mem, BITS_PER_UNIT * 2); diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h index 6ce160ed409..78d5e198576 100644 --- a/gcc/config/i386/freebsd.h +++ b/gcc/config/i386/freebsd.h @@ -98,11 +98,21 @@ along with GCC; see the file COPYING3. If not see #ifdef HAVE_GAS_MAX_SKIP_P2ALIGN #undef ASM_OUTPUT_MAX_SKIP_ALIGN -#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP) \ - if ((LOG) != 0) { \ - if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ - else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ - } +#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \ + do { \ + if ((LOG) != 0) { \ + if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ + else { \ + fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ + /* Make sure that we have at least 8 byte alignment if > 8 byte \ + alignment is preferred. */ \ + if ((LOG) > 3 \ + && (1 << (LOG)) > ((MAX_SKIP) + 1) \ + && (MAX_SKIP) >= 7) \ + fputs ("\t.p2align 3\n", (FILE)); \ + } \ + } \ + } while (0) #endif /* Don't default to pcc-struct-return, we want to retain compatibility with @@ -121,10 +131,7 @@ along with GCC; see the file COPYING3. If not see /* Static stack checking is supported by means of probes. */ #define STACK_CHECK_STATIC_BUILTIN 1 -/* Support for i386 has been removed from FreeBSD 6.0 onward. */ -#if FBSD_MAJOR >= 6 -#define SUBTARGET32_DEFAULT_CPU "i486" -#endif +#define SUBTARGET32_DEFAULT_CPU "i586" #define TARGET_ASM_FILE_END file_end_indicate_exec_stack diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 73392efca61..e0024db5ea9 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -4150,6 +4150,17 @@ ix86_option_override_internal (bool main_args_p, opts->x_target_flags |= MASK_ACCUMULATE_OUTGOING_ARGS; } + /* Stack realignment without -maccumulate-outgoing-args requires %ebp, + so enable -maccumulate-outgoing-args when %ebp is fixed. */ + if (fixed_regs[BP_REG] + && !(opts->x_target_flags & MASK_ACCUMULATE_OUTGOING_ARGS)) + { + if (opts_set->x_target_flags & MASK_ACCUMULATE_OUTGOING_ARGS) + warning (0, "fixed ebp register requires %saccumulate-outgoing-args%s", + prefix, suffix); + opts->x_target_flags |= MASK_ACCUMULATE_OUTGOING_ARGS; + } + /* Figure out what ASM_GENERATE_INTERNAL_LABEL builds as a prefix. */ { char *p; @@ -4982,12 +4993,14 @@ ix86_valid_target_attribute_tree (tree args, /* If we are using the default tune= or arch=, undo the string assigned, and use the default. */ if (option_strings[IX86_FUNCTION_SPECIFIC_ARCH]) - opts->x_ix86_arch_string = option_strings[IX86_FUNCTION_SPECIFIC_ARCH]; + opts->x_ix86_arch_string + = ggc_strdup (option_strings[IX86_FUNCTION_SPECIFIC_ARCH]); else if (!orig_arch_specified) opts->x_ix86_arch_string = NULL; if (option_strings[IX86_FUNCTION_SPECIFIC_TUNE]) - opts->x_ix86_tune_string = option_strings[IX86_FUNCTION_SPECIFIC_TUNE]; + opts->x_ix86_tune_string + = ggc_strdup (option_strings[IX86_FUNCTION_SPECIFIC_TUNE]); else if (orig_tune_defaulted) opts->x_ix86_tune_string = NULL; @@ -11061,8 +11074,6 @@ ix86_adjust_stack_and_probe (const HOST_WIDE_INT size) release_scratch_register_on_entry (&sr); } - gcc_assert (cfun->machine->fs.cfa_reg != stack_pointer_rtx); - /* Even if the stack pointer isn't the CFA register, we need to correctly describe the adjustments made to it, in particular differentiate the frame-related ones from the frame-unrelated ones. */ @@ -11286,7 +11297,11 @@ ix86_finalize_stack_realign_flags (void) && !crtl->accesses_prior_frames && !cfun->calls_alloca && !crtl->calls_eh_return - && !(flag_stack_check && STACK_CHECK_MOVING_SP) + /* See ira_setup_eliminable_regset for the rationale. */ + && !(STACK_CHECK_MOVING_SP + && flag_stack_check + && flag_exceptions + && cfun->can_throw_non_call_exceptions) && !ix86_frame_pointer_required () && get_frame_size () == 0 && ix86_nsaved_sseregs () == 0 @@ -41795,11 +41810,24 @@ ix86_cannot_change_mode_class (machine_mode from, machine_mode to, if (MAYBE_SSE_CLASS_P (regclass) || MAYBE_MMX_CLASS_P (regclass)) { + int from_size = GET_MODE_SIZE (from); + int to_size = GET_MODE_SIZE (to); + /* Vector registers do not support QI or HImode loads. If we don't disallow a change to these modes, reload will assume it's ok to drop the subreg from (subreg:SI (reg:HI 100) 0). This affects the vec_dupv4hi pattern. */ - if (GET_MODE_SIZE (from) < 4) + if (from_size < 4) + return true; + + /* Further, we cannot allow word_mode subregs of full vector modes. + Otherwise the middle-end will assume it's ok to store to + (subreg:DI (reg:TI 100) 0) in order to modify only the low 64 bits + of the 128-bit register. However, after reload the subreg will + be dropped leaving a plain DImode store. This is indistinguishable + from a "normal" DImode move, and so we're justified to use movsd, + which modifies the entire 128-bit register. */ + if (to_size == UNITS_PER_WORD && from_size > UNITS_PER_WORD) return true; } diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 9f48b187143..d8315079a42 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -1429,7 +1429,7 @@ enum reg_class { 0x1ff1ffff,0xffffffe0, 0x1f }, /* FLOAT_INT_SSE_REGS */ \ { 0x0, 0x0, 0x1fc0 }, /* MASK_EVEX_REGS */ \ { 0x0, 0x0, 0x1fe0 }, /* MASK_REGS */ \ -{ 0xffffffff,0xffffffff, 0x1fff } \ +{ 0xffffffff,0xffffffff,0x1ffff } \ } /* The same information, inverted: diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 345333b72a1..89e8161645e 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -12117,10 +12117,14 @@ ;; We need to disable this for TARGET_SEH, as otherwise ;; shrink-wrapped prologue gets enabled too. This might exceed ;; the maximum size of prologue in unwind information. +;; Also disallow shrink-wrapping if using stack slot to pass the +;; static chain pointer - the first instruction has to be pushl %esi +;; and it can't be moved around, as we use alternate entry points +;; in that case. (define_expand "simple_return" [(simple_return)] - "!TARGET_SEH" + "!TARGET_SEH && !ix86_static_chain_on_stack" { if (crtl->args.pops_args) { diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 219560c6d3c..9bc735570eb 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -1669,11 +1669,10 @@ pa_emit_move_sequence (rtx *operands, machine_mode mode, rtx scratch_reg) REG+D addresses where D does not fit in 5 or 14 bits, including (subreg (mem (addr))) cases. */ if (scratch_reg - && fp_reg_operand (operand0, mode) + && FP_REG_P (operand0) && (MEM_P (operand1) || (GET_CODE (operand1) == SUBREG - && MEM_P (XEXP (operand1, 0)))) - && !floating_point_store_memory_operand (operand1, mode)) + && MEM_P (XEXP (operand1, 0))))) { if (GET_CODE (operand1) == SUBREG) operand1 = XEXP (operand1, 0); @@ -1685,10 +1684,8 @@ pa_emit_move_sequence (rtx *operands, machine_mode mode, rtx scratch_reg) /* D might not fit in 14 bits either; for such cases load D into scratch reg. */ - if (reg_plus_base_memory_operand (operand1, mode) - && !(TARGET_PA_20 - && !TARGET_ELF32 - && INT_14_BITS (XEXP (XEXP (operand1, 0), 1)))) + if (reg_plus_base_memory_operand (operand1, GET_MODE (operand1)) + && !INT_14_BITS (XEXP (XEXP (operand1, 0), 1))) { emit_move_insn (scratch_reg, XEXP (XEXP (operand1, 0), 1)); emit_move_insn (scratch_reg, @@ -1704,11 +1701,10 @@ pa_emit_move_sequence (rtx *operands, machine_mode mode, rtx scratch_reg) return 1; } else if (scratch_reg - && fp_reg_operand (operand1, mode) + && FP_REG_P (operand1) && (MEM_P (operand0) || (GET_CODE (operand0) == SUBREG - && MEM_P (XEXP (operand0, 0)))) - && !floating_point_store_memory_operand (operand0, mode)) + && MEM_P (XEXP (operand0, 0))))) { if (GET_CODE (operand0) == SUBREG) operand0 = XEXP (operand0, 0); @@ -1720,10 +1716,8 @@ pa_emit_move_sequence (rtx *operands, machine_mode mode, rtx scratch_reg) /* D might not fit in 14 bits either; for such cases load D into scratch reg. */ - if (reg_plus_base_memory_operand (operand0, mode) - && !(TARGET_PA_20 - && !TARGET_ELF32 - && INT_14_BITS (XEXP (XEXP (operand0, 0), 1)))) + if (reg_plus_base_memory_operand (operand0, GET_MODE (operand0)) + && !INT_14_BITS (XEXP (XEXP (operand0, 0), 1))) { emit_move_insn (scratch_reg, XEXP (XEXP (operand0, 0), 1)); emit_move_insn (scratch_reg, gen_rtx_fmt_ee (GET_CODE (XEXP (operand0, diff --git a/gcc/config/rs6000/freebsd64.h b/gcc/config/rs6000/freebsd64.h index 9fc929dff56..351ae3c37af 100644 --- a/gcc/config/rs6000/freebsd64.h +++ b/gcc/config/rs6000/freebsd64.h @@ -65,6 +65,13 @@ extern int dot_symbols; #define INVALID_64BIT "-m%s not supported in this configuration" #define INVALID_32BIT INVALID_64BIT +/* Use LINUX64 instead of FREEBSD64 for compat with e.g. sysv4le.h */ +#ifdef LINUX64_DEFAULT_ABI_ELFv2 +#define ELFv2_ABI_CHECK (rs6000_elf_abi != 1) +#else +#define ELFv2_ABI_CHECK (rs6000_elf_abi == 2) +#endif + #undef SUBSUBTARGET_OVERRIDE_OPTIONS #define SUBSUBTARGET_OVERRIDE_OPTIONS \ do \ @@ -84,6 +91,12 @@ extern int dot_symbols; rs6000_isa_flags &= ~OPTION_MASK_RELOCATABLE; \ error (INVALID_64BIT, "relocatable"); \ } \ + if (ELFv2_ABI_CHECK) \ + { \ + rs6000_current_abi = ABI_ELFv2; \ + if (dot_symbols) \ + error ("-mcall-aixdesc incompatible with -mabi=elfv2"); \ + } \ if (rs6000_isa_flags & OPTION_MASK_EABI) \ { \ rs6000_isa_flags &= ~OPTION_MASK_EABI; \ @@ -304,7 +317,7 @@ extern int dot_symbols; /* rs6000.h gets this wrong for FreeBSD. We use the GCC defaults instead. */ #undef WCHAR_TYPE -#define WCHAR_TYPE (TARGET_64BIT ? "int" : "long int") + #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE 32 diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index d06e9a8d48e..e17c36ada56 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -30263,13 +30263,15 @@ rs6000_declare_alias (struct symtab_node *n, void *d) if (dollar_inside) { if (data->function_descriptor) fprintf(data->file, "\t.rename .%s,\".%s\"\n", buffer, name); - else - fprintf(data->file, "\t.rename %s,\"%s\"\n", buffer, name); + fprintf(data->file, "\t.rename %s,\"%s\"\n", buffer, name); } if (data->function_descriptor) - fputs ("\t.globl .", data->file); - else - fputs ("\t.globl ", data->file); + { + fputs ("\t.globl .", data->file); + RS6000_OUTPUT_BASENAME (data->file, buffer); + putc ('\n', data->file); + } + fputs ("\t.globl ", data->file); RS6000_OUTPUT_BASENAME (data->file, buffer); putc ('\n', data->file); } @@ -30283,14 +30285,16 @@ rs6000_declare_alias (struct symtab_node *n, void *d) if (dollar_inside) { if (data->function_descriptor) - fprintf(data->file, "\t.rename %s,\"%s\"\n", buffer, name); - else fprintf(data->file, "\t.rename .%s,\".%s\"\n", buffer, name); + fprintf(data->file, "\t.rename %s,\"%s\"\n", buffer, name); } if (data->function_descriptor) - fputs ("\t.lglobl .", data->file); - else - fputs ("\t.lglobl ", data->file); + { + fputs ("\t.lglobl .", data->file); + RS6000_OUTPUT_BASENAME (data->file, buffer); + putc ('\n', data->file); + } + fputs ("\t.lglobl ", data->file); RS6000_OUTPUT_BASENAME (data->file, buffer); putc ('\n', data->file); } diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 0178bf45b00..0e5883c7fc8 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -77,6 +77,7 @@ UNSPEC_FRIN UNSPEC_FRIP UNSPEC_FRIZ + UNSPEC_XSRDPI UNSPEC_LD_MPIC ; load_macho_picbase UNSPEC_RELD_MPIC ; re-load_macho_picbase UNSPEC_MPIC_CORRECT ; macho_correct_pic @@ -438,8 +439,16 @@ ; SF/DF constraint for arithmetic on traditional floating point registers (define_mode_attr Ff [(SF "f") (DF "d")]) -; SF/DF constraint for arithmetic on VSX registers -(define_mode_attr Fv [(SF "wy") (DF "ws")]) +; SF/DF constraint for arithmetic on VSX registers using instructions added in +; ISA 2.06 (power7). This includes instructions that normally target DF mode, +; but are used on SFmode, since internally SFmode values are kept in the DFmode +; format. +(define_mode_attr Fv [(SF "ww") (DF "ws") (DI "wi")]) + +; SF/DF constraint for arithmetic on VSX registers. This is intended to be +; used for DFmode instructions added in ISA 2.06 (power7) and SFmode +; instructions added in ISA 2.07 (power8) +(define_mode_attr Fv2 [(SF "wy") (DF "ws") (DI "wi")]) ; SF/DF constraint for arithmetic on altivec registers (define_mode_attr Fa [(SF "wu") (DF "wv")]) @@ -5099,9 +5108,9 @@ "") (define_insn "*add<mode>3_fpr" - [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv>") - (plus:SFDF (match_operand:SFDF 1 "gpc_reg_operand" "%<Ff>,<Fv>") - (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv>")))] + [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv2>") + (plus:SFDF (match_operand:SFDF 1 "gpc_reg_operand" "%<Ff>,<Fv2>") + (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv2>")))] "TARGET_<MODE>_FPR" "@ fadd<Ftrad> %0,%1,%2 @@ -5117,9 +5126,9 @@ "") (define_insn "*sub<mode>3_fpr" - [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv>") - (minus:SFDF (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>") - (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv>")))] + [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv2>") + (minus:SFDF (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv2>") + (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv2>")))] "TARGET_<MODE>_FPR" "@ fsub<Ftrad> %0,%1,%2 @@ -5135,9 +5144,9 @@ "") (define_insn "*mul<mode>3_fpr" - [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv>") - (mult:SFDF (match_operand:SFDF 1 "gpc_reg_operand" "%<Ff>,<Fv>") - (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv>")))] + [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv2>") + (mult:SFDF (match_operand:SFDF 1 "gpc_reg_operand" "%<Ff>,<Fv2>") + (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv2>")))] "TARGET_<MODE>_FPR" "@ fmul<Ftrad> %0,%1,%2 @@ -5153,9 +5162,9 @@ "") (define_insn "*div<mode>3_fpr" - [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv>") - (div:SFDF (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>") - (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv>")))] + [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv2>") + (div:SFDF (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv2>") + (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv2>")))] "TARGET_<MODE>_FPR && !TARGET_SIMPLE_FPU" "@ fdiv<Ftrad> %0,%1,%2 @@ -5164,8 +5173,8 @@ (set_attr "fp_type" "fp_div_<Fs>")]) (define_insn "sqrt<mode>2" - [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv>") - (sqrt:SFDF (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>")))] + [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv2>") + (sqrt:SFDF (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv2>")))] "TARGET_<MODE>_FPR && !TARGET_SIMPLE_FPU && (TARGET_PPC_GPOPT || (<MODE>mode == SFmode && TARGET_XILINX_FPU))" "@ @@ -5176,8 +5185,8 @@ ;; Floating point reciprocal approximation (define_insn "fre<Fs>" - [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv>") - (unspec:SFDF [(match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>")] + [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv2>") + (unspec:SFDF [(match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv2>")] UNSPEC_FRES))] "TARGET_<FFRE>" "@ @@ -5186,8 +5195,8 @@ [(set_attr "type" "fp")]) (define_insn "*rsqrt<mode>2" - [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv>") - (unspec:SFDF [(match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>")] + [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv2>") + (unspec:SFDF [(match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv2>")] UNSPEC_RSQRT))] "RS6000_RECIP_HAVE_RSQRTE_P (<MODE>mode)" "@ @@ -5198,8 +5207,8 @@ ;; Floating point comparisons (define_insn "*cmp<mode>_fpr" [(set (match_operand:CCFP 0 "cc_reg_operand" "=y,y") - (compare:CCFP (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>") - (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv>")))] + (compare:CCFP (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv2>") + (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv2>")))] "TARGET_<MODE>_FPR" "@ fcmpu %0,%1,%2 @@ -6257,6 +6266,27 @@ [(set_attr "type" "fp") (set_attr "fp_type" "fp_addsub_<Fs>")]) +(define_insn "*xsrdpi<mode>2" + [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Fv>") + (unspec:SFDF [(match_operand:SFDF 1 "gpc_reg_operand" "<Fv>")] + UNSPEC_XSRDPI))] + "TARGET_<MODE>_FPR && TARGET_VSX" + "xsrdpi %x0,%x1" + [(set_attr "type" "fp") + (set_attr "fp_type" "fp_addsub_<Fs>")]) + +(define_expand "lround<mode>di2" + [(set (match_dup 2) + (unspec:SFDF [(match_operand:SFDF 1 "gpc_reg_operand" "")] + UNSPEC_XSRDPI)) + (set (match_operand:DI 0 "gpc_reg_operand" "") + (unspec:DI [(match_dup 2)] + UNSPEC_FCTID))] + "TARGET_<MODE>_FPR && TARGET_VSX" +{ + operands[2] = gen_reg_rtx (<MODE>mode); +}) + ; An UNSPEC is used so we don't have to support SImode in FP registers. (define_insn "stfiwx" [(set (match_operand:SI 0 "memory_operand" "=Z") @@ -8337,8 +8367,8 @@ [(set_attr "length" "20,20,16")]) (define_expand "extenddftf2" - [(set (match_operand:TF 0 "nonimmediate_operand" "") - (float_extend:TF (match_operand:DF 1 "input_operand" "")))] + [(set (match_operand:TF 0 "gpc_reg_operand" "") + (float_extend:TF (match_operand:DF 1 "gpc_reg_operand" "")))] "!TARGET_IEEEQUAD && TARGET_HARD_FLOAT && (TARGET_FPRS || TARGET_E500_DOUBLE) @@ -8346,52 +8376,55 @@ { if (TARGET_E500_DOUBLE) emit_insn (gen_spe_extenddftf2 (operands[0], operands[1])); + else if (TARGET_VSX) + emit_insn (gen_extenddftf2_vsx (operands[0], operands[1])); else - emit_insn (gen_extenddftf2_fprs (operands[0], operands[1])); + { + rtx zero = gen_reg_rtx (DFmode); + rs6000_emit_move (zero, CONST0_RTX (DFmode), DFmode); + emit_insn (gen_extenddftf2_fprs (operands[0], operands[1], zero)); + } DONE; }) -(define_expand "extenddftf2_fprs" - [(parallel [(set (match_operand:TF 0 "nonimmediate_operand" "") - (float_extend:TF (match_operand:DF 1 "input_operand" ""))) - (use (match_dup 2))])] - "!TARGET_IEEEQUAD - && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT - && TARGET_LONG_DOUBLE_128" +;; Allow memory operands for the source to be created by the combiner. +(define_insn_and_split "extenddftf2_fprs" + [(set (match_operand:TF 0 "gpc_reg_operand" "=d,d,&d") + (float_extend:TF (match_operand:DF 1 "nonimmediate_operand" "d,m,d"))) + (use (match_operand:DF 2 "nonimmediate_operand" "m,m,d"))] + "!TARGET_VSX && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT + && TARGET_LONG_DOUBLE_128 && !TARGET_IEEEQUAD" + "#" + "&& reload_completed" + [(set (match_dup 3) (match_dup 1)) + (set (match_dup 4) (match_dup 2))] { - /* VSX can create 0.0 directly, otherwise let rs6000_emit_move create - the proper constant. */ - if (TARGET_VSX) - operands[2] = CONST0_RTX (DFmode); - else - { - operands[2] = gen_reg_rtx (DFmode); - rs6000_emit_move (operands[2], CONST0_RTX (DFmode), DFmode); - } + const int lo_word = LONG_DOUBLE_LARGE_FIRST ? GET_MODE_SIZE (DFmode) : 0; + const int hi_word = LONG_DOUBLE_LARGE_FIRST ? 0 : GET_MODE_SIZE (DFmode); + + operands[3] = simplify_gen_subreg (DFmode, operands[0], TFmode, hi_word); + operands[4] = simplify_gen_subreg (DFmode, operands[0], TFmode, lo_word); }) -(define_insn_and_split "*extenddftf2_internal" - [(set (match_operand:TF 0 "nonimmediate_operand" "=m,Y,ws,d,&d") - (float_extend:TF (match_operand:DF 1 "input_operand" "d,r,md,md,md"))) - (use (match_operand:DF 2 "zero_reg_mem_operand" "d,r,j,m,d"))] - "!TARGET_IEEEQUAD - && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT - && TARGET_LONG_DOUBLE_128" +(define_insn_and_split "extenddftf2_vsx" + [(set (match_operand:TF 0 "gpc_reg_operand" "=d,d") + (float_extend:TF (match_operand:DF 1 "nonimmediate_operand" "ws,m")))] + "TARGET_LONG_DOUBLE_128 && TARGET_VSX && !TARGET_IEEEQUAD" "#" "&& reload_completed" - [(pc)] + [(set (match_dup 2) (match_dup 1)) + (set (match_dup 3) (match_dup 4))] { const int lo_word = LONG_DOUBLE_LARGE_FIRST ? GET_MODE_SIZE (DFmode) : 0; const int hi_word = LONG_DOUBLE_LARGE_FIRST ? 0 : GET_MODE_SIZE (DFmode); - emit_move_insn (simplify_gen_subreg (DFmode, operands[0], TFmode, hi_word), - operands[1]); - emit_move_insn (simplify_gen_subreg (DFmode, operands[0], TFmode, lo_word), - operands[2]); - DONE; + + operands[2] = simplify_gen_subreg (DFmode, operands[0], TFmode, hi_word); + operands[3] = simplify_gen_subreg (DFmode, operands[0], TFmode, lo_word); + operands[4] = CONST0_RTX (DFmode); }) (define_expand "extendsftf2" - [(set (match_operand:TF 0 "nonimmediate_operand" "") + [(set (match_operand:TF 0 "gpc_reg_operand" "") (float_extend:TF (match_operand:SF 1 "gpc_reg_operand" "")))] "!TARGET_IEEEQUAD && TARGET_HARD_FLOAT @@ -13577,11 +13610,11 @@ "") (define_insn "*fma<mode>4_fpr" - [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv>,<Fv>") + [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv2>,<Fv2>") (fma:SFDF - (match_operand:SFDF 1 "gpc_reg_operand" "%<Ff>,<Fv>,<Fv>") - (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv>,0") - (match_operand:SFDF 3 "gpc_reg_operand" "<Ff>,0,<Fv>")))] + (match_operand:SFDF 1 "gpc_reg_operand" "%<Ff>,<Fv2>,<Fv2>") + (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv2>,0") + (match_operand:SFDF 3 "gpc_reg_operand" "<Ff>,0,<Fv2>")))] "TARGET_<MODE>_FPR" "@ fmadd<Ftrad> %0,%1,%2,%3 @@ -13601,11 +13634,11 @@ "") (define_insn "*fms<mode>4_fpr" - [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv>,<Fv>") + [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv2>,<Fv2>") (fma:SFDF - (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>,<Fv>") - (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv>,0") - (neg:SFDF (match_operand:SFDF 3 "gpc_reg_operand" "<Ff>,0,<Fv>"))))] + (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv2>,<Fv2>") + (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv2>,0") + (neg:SFDF (match_operand:SFDF 3 "gpc_reg_operand" "<Ff>,0,<Fv2>"))))] "TARGET_<MODE>_FPR" "@ fmsub<Ftrad> %0,%1,%2,%3 @@ -13648,12 +13681,12 @@ "") (define_insn "*nfma<mode>4_fpr" - [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv>,<Fv>") + [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv2>,<Fv2>") (neg:SFDF (fma:SFDF - (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>,<Fv>") - (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv>,0") - (match_operand:SFDF 3 "gpc_reg_operand" "<Ff>,0,<Fv>"))))] + (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv2>,<Fv2>") + (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv2>,0") + (match_operand:SFDF 3 "gpc_reg_operand" "<Ff>,0,<Fv2>"))))] "TARGET_<MODE>_FPR" "@ fnmadd<Ftrad> %0,%1,%2,%3 @@ -13674,13 +13707,13 @@ "") (define_insn "*nfmssf4_fpr" - [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv>,<Fv>") + [(set (match_operand:SFDF 0 "gpc_reg_operand" "=<Ff>,<Fv2>,<Fv2>") (neg:SFDF (fma:SFDF - (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv>,<Fv>") - (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv>,0") + (match_operand:SFDF 1 "gpc_reg_operand" "<Ff>,<Fv2>,<Fv2>") + (match_operand:SFDF 2 "gpc_reg_operand" "<Ff>,<Fv2>,0") (neg:SFDF - (match_operand:SFDF 3 "gpc_reg_operand" "<Ff>,0,<Fv>")))))] + (match_operand:SFDF 3 "gpc_reg_operand" "<Ff>,0,<Fv2>")))))] "TARGET_<MODE>_FPR" "@ fnmsub<Ftrad> %0,%1,%2,%3 diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index ca2eaa6858f..1f4147ac561 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -301,6 +301,7 @@ [ ; General purpose registers (GPR0_REGNUM 0) + (GPR1_REGNUM 1) ; Floating point registers. (FPR0_REGNUM 16) (FPR1_REGNUM 20) @@ -4831,7 +4832,8 @@ [(set (reg:DFP_ALL FPR0_REGNUM) (float_truncate:DFP_ALL (reg:BFP FPR4_REGNUM))) (use (reg:SI GPR0_REGNUM)) - (clobber (reg:CC CC_REGNUM))] + (clobber (reg:CC CC_REGNUM)) + (clobber (reg:SI GPR1_REGNUM))] "TARGET_HARD_DFP" "pfpo") @@ -4839,7 +4841,8 @@ [(set (reg:BFP FPR0_REGNUM) (float_truncate:BFP (reg:DFP_ALL FPR4_REGNUM))) (use (reg:SI GPR0_REGNUM)) - (clobber (reg:CC CC_REGNUM))] + (clobber (reg:CC CC_REGNUM)) + (clobber (reg:SI GPR1_REGNUM))] "TARGET_HARD_DFP" "pfpo") @@ -4850,7 +4853,8 @@ [(set (reg:DFP_ALL FPR0_REGNUM) (float_truncate:DFP_ALL (reg:BFP FPR4_REGNUM))) (use (reg:SI GPR0_REGNUM)) - (clobber (reg:CC CC_REGNUM))]) + (clobber (reg:CC CC_REGNUM)) + (clobber (reg:SI GPR1_REGNUM))]) (set (match_operand:DFP_ALL 0 "nonimmediate_operand" "") (reg:DFP_ALL FPR0_REGNUM))] "TARGET_HARD_DFP @@ -4872,7 +4876,8 @@ (parallel [(set (reg:BFP FPR0_REGNUM) (float_truncate:BFP (reg:DFP_ALL FPR4_REGNUM))) (use (reg:SI GPR0_REGNUM)) - (clobber (reg:CC CC_REGNUM))]) + (clobber (reg:CC CC_REGNUM)) + (clobber (reg:SI GPR1_REGNUM))]) (set (match_operand:BFP 0 "nonimmediate_operand" "") (reg:BFP FPR0_REGNUM))] "TARGET_HARD_DFP && GET_MODE_SIZE (<DFP_ALL:MODE>mode) >= GET_MODE_SIZE (<BFP:MODE>mode)" @@ -4893,14 +4898,16 @@ (define_insn "*extend<BFP:mode><DFP_ALL:mode>2" [(set (reg:DFP_ALL FPR0_REGNUM) (float_extend:DFP_ALL (reg:BFP FPR4_REGNUM))) (use (reg:SI GPR0_REGNUM)) - (clobber (reg:CC CC_REGNUM))] + (clobber (reg:CC CC_REGNUM)) + (clobber (reg:SI GPR1_REGNUM))] "TARGET_HARD_DFP" "pfpo") (define_insn "*extend<DFP_ALL:mode><BFP:mode>2" [(set (reg:BFP FPR0_REGNUM) (float_extend:BFP (reg:DFP_ALL FPR4_REGNUM))) (use (reg:SI GPR0_REGNUM)) - (clobber (reg:CC CC_REGNUM))] + (clobber (reg:CC CC_REGNUM)) + (clobber (reg:SI GPR1_REGNUM))] "TARGET_HARD_DFP" "pfpo") @@ -4911,7 +4918,8 @@ [(set (reg:DFP_ALL FPR0_REGNUM) (float_extend:DFP_ALL (reg:BFP FPR4_REGNUM))) (use (reg:SI GPR0_REGNUM)) - (clobber (reg:CC CC_REGNUM))]) + (clobber (reg:CC CC_REGNUM)) + (clobber (reg:SI GPR1_REGNUM))]) (set (match_operand:DFP_ALL 0 "nonimmediate_operand" "") (reg:DFP_ALL FPR0_REGNUM))] "TARGET_HARD_DFP @@ -4933,7 +4941,8 @@ (parallel [(set (reg:BFP FPR0_REGNUM) (float_extend:BFP (reg:DFP_ALL FPR4_REGNUM))) (use (reg:SI GPR0_REGNUM)) - (clobber (reg:CC CC_REGNUM))]) + (clobber (reg:CC CC_REGNUM)) + (clobber (reg:SI GPR1_REGNUM))]) (set (match_operand:BFP 0 "nonimmediate_operand" "") (reg:BFP FPR0_REGNUM))] "TARGET_HARD_DFP && GET_MODE_SIZE (<DFP_ALL:MODE>mode) < GET_MODE_SIZE (<BFP:MODE>mode)" @@ -10375,6 +10384,8 @@ ; Byte swap instructions ; +; FIXME: There is also mvcin but we cannot use it since src and target +; may overlap. (define_insn "bswap<mode>2" [(set (match_operand:GPR 0 "register_operand" "=d, d") (bswap:GPR (match_operand:GPR 1 "nonimmediate_operand" " d,RT")))] @@ -10386,6 +10397,14 @@ (set_attr "op_type" "RRE,RXY") (set_attr "z10prop" "z10_super")]) +(define_insn "bswaphi2" + [(set (match_operand:HI 0 "register_operand" "=d") + (bswap:HI (match_operand:HI 1 "memory_operand" "RT")))] + "TARGET_CPU_ZARCH" + "lrvh\t%0,%1" + [(set_attr "type" "load") + (set_attr "op_type" "RXY") + (set_attr "z10prop" "z10_super")]) ; ; Population count instruction diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index 633ba667906..a3154d68ab3 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -2189,10 +2189,50 @@ } } else if (!reg_overlap_mentioned_p (operands[0], operands[1])) - emit_move_insn (operands[0], operands[1]); + { + if (!reg_overlap_mentioned_p (operands[0], operands[2])) + emit_move_insn (operands[0], operands[1]); + else + operands[2] = operands[1]; + } } [(set_attr "type" "arith")]) +;; Old reload might generate add insns directly (not through the expander) for +;; the memory address of complex insns like atomic insns when reloading. +(define_insn_and_split "*addsi3" + [(set (match_operand:SI 0 "arith_reg_dest" "=r") + (plus:SI (match_operand:SI 1 "arith_reg_operand" "r") + (match_operand:SI 2 "arith_or_int_operand" "rn")))] + "TARGET_SH1 && !sh_lra_p () + && reload_completed + && !reg_overlap_mentioned_p (operands[0], operands[1])" + "#" + "&& 1" + [(set (match_dup 0) (plus:SI (match_dup 0) (match_dup 2)))] +{ + if (operands[2] == const0_rtx) + { + emit_move_insn (operands[0], operands[1]); + DONE; + } + + if (CONST_INT_P (operands[2])) + { + if (satisfies_constraint_I08 (operands[2])) + emit_move_insn (operands[0], operands[1]); + else + { + emit_move_insn (operands[0], operands[2]); + operands[2] = operands[1]; + } + } + else if (!reg_overlap_mentioned_p (operands[0], operands[2])) + emit_move_insn (operands[0], operands[1]); + else + operands[2] = operands[1]; +}) + (define_insn_and_split "*addsi3" [(set (match_operand:SI 0 "arith_reg_dest" "=r,r") (plus:SI (match_operand:SI 1 "arith_reg_operand" "%0,r") diff --git a/gcc/config/sparc/sp-elf.h b/gcc/config/sparc/sp-elf.h index 85da652a99d..4835653e040 100644 --- a/gcc/config/sparc/sp-elf.h +++ b/gcc/config/sparc/sp-elf.h @@ -53,6 +53,10 @@ along with GCC; see the file COPYING3. If not see #undef ASM_GENERATE_INTERNAL_LABEL #define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \ sprintf ((LABEL), "*.L%s%ld", (PREFIX), (long)(NUM)) + +/* We use GNU ld so undefine this so that attribute((init_priority)) works. */ +#undef CTORS_SECTION_ASM_OP +#undef DTORS_SECTION_ASM_OP /* ??? Inherited from sol2.h. Probably wrong. */ #undef WCHAR_TYPE diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index ac84470bb14..61c7c311c4e 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -7412,9 +7412,10 @@ sparc_function_value_1 (const_tree type, machine_mode mode, mode = word_mode; } - /* We should only have pointer and integer types at this point. This must - match sparc_promote_function_mode. */ + /* We should only have pointer and integer types at this point, except with + -freg-struct-return. This must match sparc_promote_function_mode. */ else if (TARGET_ARCH32 + && !(type && AGGREGATE_TYPE_P (type)) && mclass == MODE_INT && GET_MODE_SIZE (mode) < UNITS_PER_WORD) mode = word_mode; diff --git a/gcc/configure b/gcc/configure index de8211d7b51..56a8bb29e73 100755 --- a/gcc/configure +++ b/gcc/configure @@ -21775,7 +21775,7 @@ fi if test "${with_plugin_ld+set}" = set; then : withval=$with_plugin_ld; if test x"$withval" != x; then ORIGINAL_PLUGIN_LD_FOR_TARGET="$withval" - PLUGIN_LD_SUFFIX=`echo $withval | sed -e "s,$target_alias-,,"` + PLUGIN_LD_SUFFIX="$withval" fi fi diff --git a/gcc/configure.ac b/gcc/configure.ac index 8e235a3e08a..db50559e831 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -2212,7 +2212,7 @@ AC_ARG_WITH(plugin-ld, [AS_HELP_STRING([[--with-plugin-ld=[ARG]]], [specify the plugin linker])], [if test x"$withval" != x; then ORIGINAL_PLUGIN_LD_FOR_TARGET="$withval" - PLUGIN_LD_SUFFIX=`echo $withval | sed -e "s,$target_alias-,,"` + PLUGIN_LD_SUFFIX="$withval" fi]) AC_SUBST(ORIGINAL_PLUGIN_LD_FOR_TARGET) AC_DEFINE_UNQUOTED(PLUGIN_LD_SUFFIX, "$PLUGIN_LD_SUFFIX", [Specify plugin linker]) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9d77e30deb6..e646a4a8102 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,89 @@ +2015-12-04 Markus Trippelsdorf <markus@trippelsdorf.de> + + PR c++/67337 + * mangle.c (write_template_prefix): Guard against context==NULL. + +2015-12-04 Release Manager + + * GCC 5.3.0 released. + +2015-11-26 Jakub Jelinek <jakub@redhat.com> + + PR c++/68508 + * cp-tree.h (cp_ubsan_maybe_instrument_downcast): Add INTYPE argument. + * cp-ubsan.c (cp_ubsan_maybe_instrument_downcast): Likewise. Use + it instead of or in addition to TREE_TYPE (op). Use + is_properly_derived_from, return NULL_TREE if TREE_TYPE (intype) and + TREE_TYPE (type) are the same type minus qualifiers. + * typeck.c (build_static_cast_1): Adjust callers. + +2015-11-25 Jakub Jelinek <jakub@redhat.com> + + Backported from mainline + 2015-11-20 Jakub Jelinek <jakub@redhat.com> + + PR c++/67354 + * cp-tree.h (defer_mangling_aliases): Declare. + (generate_mangling_aliases): New prototype. + * decl2.c (defer_mangling_aliases): New variable. + (note_mangling_alias): Use !defer_mangling_aliases + instead of at_eof. + (generate_mangling_aliases): No longer static. Clear + defer_mangling_aliases. + * optimize.c (maybe_thunk_body): Defer emitting mangling aliases + if !defer_mangling_aliases until the fns are put into the same + comdat group. + + 2015-05-09 Aldy Hernandez <aldyh@redhat.com> + + PR bootstrap/66085 + * decl2.c (note_mangling_alias): Declare arguments as unused. + + 2015-05-08 Jason Merrill <jason@redhat.com> + + * decl2.c (mangling_aliases): New variable. + (note_mangling_alias, generate_mangling_aliases): New. + (cp_write_global_declarations): Call generate_mangling_aliases. + (generate_mangling_alias): Split out from... + * mangle.c (mangle_decl): ...here. + * cp-tree.h: Declare note_mangling_alias. + +2015-11-25 Jason Merrill <jason@redhat.com> + + PR c++/67941 + * lambda.c (maybe_add_lambda_conv_op): Mark _FUN as + no_sanitize_undefined. + + PR c++/68422 + * cp-tree.h (PACK_EXPANSION_SIZEOF_P): New. + * parser.c (cp_parser_sizeof_pack): Set it. + * pt.c (tsubst_copy) [SIZEOF_EXPR]: Likewise. + (tsubst_pack_expansion): Improve T... shortcut when set. + + PR c++/67813 + * constexpr.c (cxx_eval_store_expression): Always use *valp if + set. + +2015-11-25 Markus Trippelsdorf <markus@trippelsdorf.de> + Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/68087 + * constexpr.c (cxx_eval_array_reference): Use tree_fits_shwi_p before + tree_to_shwi to avoid ICEs. + +2015-11-19 Jakub Jelinek <jakub@redhat.com> + Manuel López-Ibáñez <manu@gcc.gnu.org> + + PR c++/67409 + * decl.c (identify_goto): Add LOC and DIAG_KIND arguments, call + emit_diagnostic instead of permerror. + (check_previous_goto_1): Adjust identify_goto callers, treat all + cases but crossing initialization and entering scope of decl with + non-trivial dtor as unconditional hard errors. + (check_goto): Use identify_goto. Treat all cases but crossing + initialization and entering scope of decl with non-trivial dtor + as unconditional hard errors. + 2015-10-20 Jason Merrill <jason@redhat.com> PR c++/66583 diff --git a/gcc/cp/constexpr.c b/gcc/cp/constexpr.c index 96855e00773..ba9fd0e0469 100644 --- a/gcc/cp/constexpr.c +++ b/gcc/cp/constexpr.c @@ -1751,7 +1751,7 @@ cxx_eval_array_reference (const constexpr_ctx *ctx, tree t, gcc_unreachable (); } - i = tree_to_shwi (index); + i = tree_fits_shwi_p (index) ? tree_to_shwi (index) : -1; bool found = true; if (TREE_CODE (ary) == CONSTRUCTOR && len && (TREE_CODE (CONSTRUCTOR_ELT (ary, len-1)->index) == RANGE_EXPR @@ -2750,10 +2750,13 @@ cxx_eval_store_expression (const constexpr_ctx *ctx, tree t, { /* Create a new CONSTRUCTOR in case evaluation of the initializer wants to modify it. */ - new_ctx.ctor = build_constructor (type, NULL); if (*valp == NULL_TREE) - *valp = new_ctx.ctor; - CONSTRUCTOR_NO_IMPLICIT_ZERO (new_ctx.ctor) = true; + { + *valp = new_ctx.ctor = build_constructor (type, NULL); + CONSTRUCTOR_NO_IMPLICIT_ZERO (new_ctx.ctor) = true; + } + else + new_ctx.ctor = *valp; new_ctx.object = target; } diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 8c4796fc10a..6f13b017851 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -101,6 +101,7 @@ c-common.h, not after. DECLTYPE_FOR_INIT_CAPTURE (in DECLTYPE_TYPE) CONSTRUCTOR_NO_IMPLICIT_ZERO (in CONSTRUCTOR) TINFO_USED_TEMPLATE_ID (in TEMPLATE_INFO) + PACK_EXPANSION_SIZEOF_P (in *_PACK_EXPANSION) 2: IDENTIFIER_OPNAME_P (in IDENTIFIER_NODE) ICS_THIS_FLAG (in _CONV) DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (in VAR_DECL) @@ -3031,6 +3032,9 @@ extern void decl_shadowed_for_var_insert (tree, tree); /* True iff this pack expansion is within a function context. */ #define PACK_EXPANSION_LOCAL_P(NODE) TREE_LANG_FLAG_0 (NODE) +/* True iff this pack expansion is for sizeof.... */ +#define PACK_EXPANSION_SIZEOF_P(NODE) TREE_LANG_FLAG_1 (NODE) + /* Determine if this is an argument pack. */ #define ARGUMENT_PACK_P(NODE) \ (TREE_CODE (NODE) == TYPE_ARGUMENT_PACK \ @@ -4606,6 +4610,11 @@ extern GTY(()) vec<tree, va_gc> *local_classes; extern int at_eof; +/* True if note_mangling_alias should enqueue mangling aliases for + later generation, rather than emitting them right away. */ + +extern bool defer_mangling_aliases; + /* A list of namespace-scope objects which have constructors or destructors which reside in the global scope. The decl is stored in the TREE_VALUE slot and the initializer is stored in the @@ -5453,6 +5462,8 @@ extern tree finish_case_label (location_t, tree, tree); extern tree cxx_maybe_build_cleanup (tree, tsubst_flags_t); /* in decl2.c */ +extern void note_mangling_alias (tree, tree); +extern void generate_mangling_aliases (void); extern bool check_java_method (tree); extern tree build_memfn_type (tree, tree, cp_cv_quals, cp_ref_qualifier); extern tree build_pointer_ptrmemfn_type (tree); @@ -6424,7 +6435,7 @@ extern bool cilk_valid_spawn (tree); /* In cp-ubsan.c */ extern void cp_ubsan_maybe_instrument_member_call (tree); extern void cp_ubsan_instrument_member_accesses (tree *); -extern tree cp_ubsan_maybe_instrument_downcast (location_t, tree, tree); +extern tree cp_ubsan_maybe_instrument_downcast (location_t, tree, tree, tree); extern tree cp_ubsan_maybe_instrument_cast_to_vbase (location_t, tree, tree); /* -- end of C++ */ diff --git a/gcc/cp/cp-ubsan.c b/gcc/cp/cp-ubsan.c index ce122631770..6ffdab3562f 100644 --- a/gcc/cp/cp-ubsan.c +++ b/gcc/cp/cp-ubsan.c @@ -276,13 +276,14 @@ cp_ubsan_instrument_member_accesses (tree *t_p) /* Instrument downcast. */ tree -cp_ubsan_maybe_instrument_downcast (location_t loc, tree type, tree op) +cp_ubsan_maybe_instrument_downcast (location_t loc, tree type, + tree intype, tree op) { if (!POINTER_TYPE_P (type) + || !POINTER_TYPE_P (intype) || !POINTER_TYPE_P (TREE_TYPE (op)) - || !CLASS_TYPE_P (TREE_TYPE (type)) || !CLASS_TYPE_P (TREE_TYPE (TREE_TYPE (op))) - || !DERIVED_FROM_P (TREE_TYPE (TREE_TYPE (op)), TREE_TYPE (type))) + || !is_properly_derived_from (TREE_TYPE (type), TREE_TYPE (intype))) return NULL_TREE; return cp_ubsan_maybe_instrument_vptr (loc, op, TREE_TYPE (type), true, diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 72c77eaafa3..c9e98e96f75 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -2907,14 +2907,16 @@ decl_jump_unsafe (tree decl) return 0; } -/* A subroutine of check_previous_goto_1 to identify a branch to the user. */ +/* A subroutine of check_previous_goto_1 and check_goto to identify a branch + to the user. */ static bool -identify_goto (tree decl, const location_t *locus) +identify_goto (tree decl, location_t loc, const location_t *locus, + diagnostic_t diag_kind) { - bool complained = (decl - ? permerror (input_location, "jump to label %qD", decl) - : permerror (input_location, "jump to case label")); + bool complained + = (decl ? emit_diagnostic (diag_kind, loc, 0, "jump to label %qD", decl) + : emit_diagnostic (diag_kind, loc, 0, "jump to case label")); if (complained && locus) inform (*locus, " from here"); return complained; @@ -2931,15 +2933,17 @@ check_previous_goto_1 (tree decl, cp_binding_level* level, tree names, bool exited_omp, const location_t *locus) { cp_binding_level *b; - bool identified = false, complained = false; + bool complained = false; + int identified = 0; bool saw_eh = false, saw_omp = false; if (exited_omp) { - complained = identify_goto (decl, locus); + complained = identify_goto (decl, input_location, locus, DK_ERROR); if (complained) inform (input_location, " exits OpenMP structured block"); - identified = saw_omp = true; + saw_omp = true; + identified = 2; } for (b = current_binding_level; b ; b = b->level_chain) @@ -2956,8 +2960,9 @@ check_previous_goto_1 (tree decl, cp_binding_level* level, tree names, if (!identified) { - complained = identify_goto (decl, locus); - identified = true; + complained = identify_goto (decl, input_location, locus, + DK_PERMERROR); + identified = 1; } if (complained) { @@ -2974,10 +2979,11 @@ check_previous_goto_1 (tree decl, cp_binding_level* level, tree names, break; if ((b->kind == sk_try || b->kind == sk_catch) && !saw_eh) { - if (!identified) + if (identified < 2) { - complained = identify_goto (decl, locus); - identified = true; + complained = identify_goto (decl, input_location, locus, + DK_ERROR); + identified = 2; } if (complained) { @@ -2990,10 +2996,11 @@ check_previous_goto_1 (tree decl, cp_binding_level* level, tree names, } if (b->kind == sk_omp && !saw_omp) { - if (!identified) + if (identified < 2) { - complained = identify_goto (decl, locus); - identified = true; + complained = identify_goto (decl, input_location, locus, + DK_ERROR); + identified = 2; } if (complained) inform (input_location, " enters OpenMP structured block"); @@ -3025,7 +3032,8 @@ void check_goto (tree decl) { struct named_label_entry *ent, dummy; - bool saw_catch = false, identified = false, complained = false; + bool saw_catch = false, complained = false; + int identified = 0; tree bad; unsigned ix; @@ -3068,10 +3076,12 @@ check_goto (tree decl) if (ent->in_try_scope || ent->in_catch_scope || ent->in_omp_scope || !vec_safe_is_empty (ent->bad_decls)) { - complained = permerror (input_location, "jump to label %q+D", decl); - if (complained) - inform (input_location, " from here"); - identified = true; + diagnostic_t diag_kind = DK_PERMERROR; + if (ent->in_try_scope || ent->in_catch_scope || ent->in_omp_scope) + diag_kind = DK_ERROR; + complained = identify_goto (decl, DECL_SOURCE_LOCATION (decl), + &input_location, diag_kind); + identified = 1 + (diag_kind == DK_ERROR); } FOR_EACH_VEC_SAFE_ELT (ent->bad_decls, ix, bad) @@ -3081,6 +3091,12 @@ check_goto (tree decl) if (u > 1 && DECL_ARTIFICIAL (bad)) { /* Can't skip init of __exception_info. */ + if (identified == 1) + { + complained = identify_goto (decl, DECL_SOURCE_LOCATION (decl), + &input_location, DK_ERROR); + identified = 2; + } if (complained) inform (DECL_SOURCE_LOCATION (bad), " enters catch block"); saw_catch = true; @@ -3117,13 +3133,12 @@ check_goto (tree decl) break; if (b->kind == sk_omp) { - if (!identified) + if (identified < 2) { - complained = permerror (input_location, - "jump to label %q+D", decl); - if (complained) - inform (input_location, " from here"); - identified = true; + complained = identify_goto (decl, + DECL_SOURCE_LOCATION (decl), + &input_location, DK_ERROR); + identified = 2; } if (complained) inform (input_location, " exits OpenMP structured block"); diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 8dfc0bd2c0e..8d895fef43e 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -118,9 +118,18 @@ static GTY(()) vec<tree, va_gc> *deferred_fns; sure are defined. */ static GTY(()) vec<tree, va_gc> *no_linkage_decls; +/* A vector of alternating decls and identifiers, where the latter + is to be an alias for the former if the former is defined. */ +static GTY(()) vec<tree, va_gc> *mangling_aliases; + /* Nonzero if we're done parsing and into end-of-file activities. */ int at_eof; + +/* True if note_mangling_alias should enqueue mangling aliases for + later generation, rather than emitting them right away. */ + +bool defer_mangling_aliases = true; /* Return a member function type (a METHOD_TYPE), given FNTYPE (a @@ -4327,6 +4336,69 @@ handle_tls_init (void) expand_or_defer_fn (finish_function (0)); } +/* We're at the end of compilation, so generate any mangling aliases that + we've been saving up, if DECL is going to be output and ID2 isn't + already taken by another declaration. */ + +static void +generate_mangling_alias (tree decl, tree id2) +{ + /* If there's a declaration already using this mangled name, + don't create a compatibility alias that conflicts. */ + if (IDENTIFIER_GLOBAL_VALUE (id2)) + return; + + struct cgraph_node *n = NULL; + if (TREE_CODE (decl) == FUNCTION_DECL + && !(n = cgraph_node::get (decl))) + /* Don't create an alias to an unreferenced function. */ + return; + + tree alias = make_alias_for (decl, id2); + SET_IDENTIFIER_GLOBAL_VALUE (id2, alias); + DECL_IGNORED_P (alias) = 1; + TREE_PUBLIC (alias) = TREE_PUBLIC (decl); + DECL_VISIBILITY (alias) = DECL_VISIBILITY (decl); + if (vague_linkage_p (decl)) + DECL_WEAK (alias) = 1; + if (TREE_CODE (decl) == FUNCTION_DECL) + n->create_same_body_alias (alias, decl); + else + varpool_node::create_extra_name_alias (alias, decl); +} + +/* Note that we might want to emit an alias with the symbol ID2 for DECL at + the end of translation, for compatibility across bugs in the mangling + implementation. */ + +void +note_mangling_alias (tree decl ATTRIBUTE_UNUSED, tree id2 ATTRIBUTE_UNUSED) +{ +#ifdef ASM_OUTPUT_DEF + if (!defer_mangling_aliases) + generate_mangling_alias (decl, id2); + else + { + vec_safe_push (mangling_aliases, decl); + vec_safe_push (mangling_aliases, id2); + } +#endif +} + +/* Emit all mangling aliases that were deferred up to this point. */ + +void +generate_mangling_aliases () +{ + while (!vec_safe_is_empty (mangling_aliases)) + { + tree id2 = mangling_aliases->pop(); + tree decl = mangling_aliases->pop(); + generate_mangling_alias (decl, id2); + } + defer_mangling_aliases = false; +} + /* The entire file is now complete. If requested, dump everything to a file. */ @@ -4688,6 +4760,8 @@ cp_write_global_declarations (void) } while (reconsider); + generate_mangling_aliases (); + /* All used inline functions must have a definition at this point. */ FOR_EACH_VEC_SAFE_ELT (deferred_fns, i, decl) { diff --git a/gcc/cp/lambda.c b/gcc/cp/lambda.c index 5b151c1375f..779e4cbc727 100644 --- a/gcc/cp/lambda.c +++ b/gcc/cp/lambda.c @@ -1054,6 +1054,12 @@ maybe_add_lambda_conv_op (tree type) if (generic_lambda_p) fn = add_inherited_template_parms (fn, DECL_TI_TEMPLATE (callop)); + /* Don't UBsan this function; we're deliberately calling op() with a null + object argument. */ + tree attrs = build_tree_list (get_identifier ("no_sanitize_undefined"), + NULL_TREE); + cplus_decl_attributes (&fn, attrs, 0); + add_method (type, fn, NULL_TREE); if (nested) diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index e58cefc9cba..4e0ed225d76 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -1160,7 +1160,7 @@ write_template_prefix (const tree node) So, for the example above, `Outer<int>::Inner' is represented as a substitution candidate by a TREE_LIST whose purpose is `Outer<int>' and whose value is `Outer<T>::Inner<U>'. */ - if (TYPE_P (context)) + if (context && TYPE_P (context)) substitution = build_tree_list (context, templ); else substitution = templ; @@ -3584,30 +3584,7 @@ mangle_decl (const tree decl) flag_abi_compat_version, id2); } -#ifdef ASM_OUTPUT_DEF - /* If there's a declaration already using this mangled name, - don't create a compatibility alias that conflicts. */ - if (IDENTIFIER_GLOBAL_VALUE (id2)) - return; - - struct cgraph_node *n = NULL; - if (TREE_CODE (decl) == FUNCTION_DECL - && !(n = cgraph_node::get (decl))) - /* Don't create an alias to an unreferenced function. */ - return; - - tree alias = make_alias_for (decl, id2); - SET_IDENTIFIER_GLOBAL_VALUE (id2, alias); - DECL_IGNORED_P (alias) = 1; - TREE_PUBLIC (alias) = TREE_PUBLIC (decl); - DECL_VISIBILITY (alias) = DECL_VISIBILITY (decl); - if (vague_linkage_p (decl)) - DECL_WEAK (alias) = 1; - if (TREE_CODE (decl) == FUNCTION_DECL) - n->create_same_body_alias (alias, decl); - else - varpool_node::create_extra_name_alias (alias, decl); -#endif + note_mangling_alias (decl, id2); } } diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c index 2d20e096f7c..a2dd880ea49 100644 --- a/gcc/cp/optimize.c +++ b/gcc/cp/optimize.c @@ -294,7 +294,11 @@ maybe_thunk_body (tree fn, bool force) } else if (HAVE_COMDAT_GROUP) { + /* At eof, defer creation of mangling aliases temporarily. */ + bool save_defer_mangling_aliases = defer_mangling_aliases; + defer_mangling_aliases = true; tree comdat_group = cdtor_comdat_group (fns[1], fns[0]); + defer_mangling_aliases = save_defer_mangling_aliases; cgraph_node::get_create (fns[0])->set_comdat_group (comdat_group); cgraph_node::get_create (fns[1])->add_to_same_comdat_group (cgraph_node::get_create (fns[0])); @@ -305,6 +309,9 @@ maybe_thunk_body (tree fn, bool force) virtual, it goes into the same comdat group as well. */ cgraph_node::get_create (fns[2])->add_to_same_comdat_group (symtab_node::get (fns[0])); + /* Emit them now that the thunks are same comdat group aliases. */ + if (!save_defer_mangling_aliases) + generate_mangling_aliases (); TREE_PUBLIC (fn) = false; DECL_EXTERNAL (fn) = false; DECL_INTERFACE_KNOWN (fn) = true; diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 8bb7c88790d..e6def9a2aa3 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -24432,6 +24432,7 @@ cp_parser_sizeof_pack (cp_parser *parser) else if (TREE_CODE (expr) == CONST_DECL) expr = DECL_INITIAL (expr); expr = make_pack_expansion (expr); + PACK_EXPANSION_SIZEOF_P (expr) = true; if (paren) cp_parser_require (parser, CPP_CLOSE_PAREN, RT_CLOSE_PAREN); diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 9ac7ed14d84..51cc245162f 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -10176,12 +10176,17 @@ tsubst_pack_expansion (tree t, tree args, tsubst_flags_t complain, } } - /* If the expansion is just T..., return the matching argument pack. */ + /* If the expansion is just T..., return the matching argument pack, unless + we need to call convert_from_reference on all the elements. This is an + important optimization; see c++/68422. */ if (!unsubstituted_packs && TREE_PURPOSE (packs) == pattern) { tree args = ARGUMENT_PACK_ARGS (TREE_VALUE (packs)); + /* Types need no adjustment, nor does sizeof..., and if we still have + some pack expansion args we won't do anything yet. */ if (TREE_CODE (t) == TYPE_PACK_EXPANSION + || PACK_EXPANSION_SIZEOF_P (t) || pack_expansion_args_count (args)) return args; /* Otherwise use the normal path so we get convert_from_reference. */ @@ -13226,7 +13231,6 @@ tsubst_copy (tree t, tree args, tsubst_flags_t complain, tree in_decl) case SIZEOF_EXPR: if (PACK_EXPANSION_P (TREE_OPERAND (t, 0))) { - tree expanded, op = TREE_OPERAND (t, 0); int len = 0; @@ -13252,6 +13256,8 @@ tsubst_copy (tree t, tree args, tsubst_flags_t complain, tree in_decl) { if (TREE_CODE (expanded) == TREE_VEC) expanded = TREE_VEC_ELT (expanded, len - 1); + else + PACK_EXPANSION_SIZEOF_P (expanded) = true; if (TYPE_P (expanded)) return cxx_sizeof_or_alignof_type (expanded, SIZEOF_EXPR, diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 1408e3ca845..22792556c24 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -6477,7 +6477,8 @@ build_static_cast_1 (tree type, tree expr, bool c_cast_p, if (flag_sanitize & SANITIZE_VPTR) { tree ubsan_check - = cp_ubsan_maybe_instrument_downcast (input_location, type, expr); + = cp_ubsan_maybe_instrument_downcast (input_location, type, + intype, expr); if (ubsan_check) expr = ubsan_check; } @@ -6618,7 +6619,8 @@ build_static_cast_1 (tree type, tree expr, bool c_cast_p, if (flag_sanitize & SANITIZE_VPTR) { tree ubsan_check - = cp_ubsan_maybe_instrument_downcast (input_location, type, expr); + = cp_ubsan_maybe_instrument_downcast (input_location, type, + intype, expr); if (ubsan_check) expr = ubsan_check; } diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c index 2196406f881..c43162269ec 100644 --- a/gcc/diagnostic.c +++ b/gcc/diagnostic.c @@ -138,7 +138,6 @@ diagnostic_initialize (diagnostic_context *context, int n_opts) new (context->printer) pretty_printer (); memset (context->diagnostic_count, 0, sizeof context->diagnostic_count); - context->some_warnings_are_errors = false; context->warning_as_error_requested = false; context->n_opts = n_opts; context->classify_diagnostic = XNEWVEC (diagnostic_t, n_opts); @@ -204,7 +203,7 @@ void diagnostic_finish (diagnostic_context *context) { /* Some of the errors may actually have been warnings. */ - if (context->some_warnings_are_errors) + if (diagnostic_kind_count (context, DK_WERROR)) { /* -Werror was given. */ if (context->warning_as_error_requested) @@ -646,9 +645,10 @@ diagnostic_classify_diagnostic (diagnostic_context *context, /* Record the command-line status, so we can reset it back on DK_POP. */ if (old_kind == DK_UNSPECIFIED) { - old_kind = context->option_enabled (option_index, - context->option_state) - ? DK_WARNING : DK_IGNORED; + old_kind = !context->option_enabled (option_index, + context->option_state) + ? DK_IGNORED : (context->warning_as_error_requested + ? DK_ERROR : DK_WARNING); context->classify_diagnostic[option_index] = old_kind; } @@ -810,9 +810,6 @@ diagnostic_report_diagnostic (diagnostic_context *context, return false; } - if (orig_diag_kind == DK_WARNING && diagnostic->kind == DK_ERROR) - context->some_warnings_are_errors = true; - context->lock++; if (diagnostic->kind == DK_ICE || diagnostic->kind == DK_ICE_NOBT) diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h index 02434d83200..0ace012d0bb 100644 --- a/gcc/diagnostic.h +++ b/gcc/diagnostic.h @@ -65,10 +65,6 @@ struct diagnostic_context /* The number of times we have issued diagnostics. */ int diagnostic_count[DK_LAST_DIAGNOSTIC_KIND]; - /* True if we should display the "warnings are being tread as error" - message, usually displayed once per compiler run. */ - bool some_warnings_are_errors; - /* True if it has been requested that warnings be treated as errors. */ bool warning_as_error_requested; diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index 54b18c3d855..8f20fca8ba0 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -4741,17 +4741,6 @@ Add operand 2 and operand 1, storing the result in operand 0. All operands must have mode @var{m}. This can be used even on two-address machines, by means of constraints requiring operands 1 and 0 to be the same location. -@cindex @code{addptr@var{m}3} instruction pattern -@item @samp{addptr@var{m}3} -Like @code{add@var{m}3} but is guaranteed to only be used for address -calculations. The expanded code is not allowed to clobber the -condition code. It only needs to be defined if @code{add@var{m}3} -sets the condition code. If adds used for address calculations and -normal adds are not compatible it is required to expand a distinct -pattern (e.g. using an unspec). The pattern is used by LRA to emit -address calculations. @code{add@var{m}3} is used if -@code{addptr@var{m}3} is not defined. - @cindex @code{ssadd@var{m}3} instruction pattern @cindex @code{usadd@var{m}3} instruction pattern @cindex @code{sub@var{m}3} instruction pattern @@ -4781,6 +4770,35 @@ address calculations. @code{add@var{m}3} is used if @itemx @samp{and@var{m}3}, @samp{ior@var{m}3}, @samp{xor@var{m}3} Similar, for other arithmetic operations. +@cindex @code{addv@var{m}4} instruction pattern +@item @samp{addv@var{m}4} +Like @code{add@var{m}3} but takes a @code{code_label} as operand 3 and +emits code to jump to it if signed overflow occurs during the addition. +This pattern is used to implement the built-in functions performing +signed integer addition with overflow checking. + +@cindex @code{subv@var{m}4} instruction pattern +@cindex @code{mulv@var{m}4} instruction pattern +@item @samp{subv@var{m}4}, @samp{mulv@var{m}4} +Similar, for other signed arithmetic operations. + +@cindex @code{umulv@var{m}4} instruction pattern +@item @samp{umulv@var{m}4} +Like @code{mulv@var{m}4} but for unsigned multiplication. That is to +say, the operation is the same as signed multiplication but the jump +is taken only on unsigned overflow. + +@cindex @code{addptr@var{m}3} instruction pattern +@item @samp{addptr@var{m}3} +Like @code{add@var{m}3} but is guaranteed to only be used for address +calculations. The expanded code is not allowed to clobber the +condition code. It only needs to be defined if @code{add@var{m}3} +sets the condition code. If adds used for address calculations and +normal adds are not compatible it is required to expand a distinct +pattern (e.g. using an unspec). The pattern is used by LRA to emit +address calculations. @code{add@var{m}3} is used if +@code{addptr@var{m}3} is not defined. + @cindex @code{fma@var{m}4} instruction pattern @item @samp{fma@var{m}4} Multiply operand 2 and operand 1, then add operand 3, storing the @@ -5146,6 +5164,11 @@ Reverse the order of bytes of operand 1 and store the result in operand 0. @item @samp{neg@var{m}2}, @samp{ssneg@var{m}2}, @samp{usneg@var{m}2} Negate operand 1 and store the result in operand 0. +@cindex @code{negv@var{m}3} instruction pattern +@item @samp{negv@var{m}3} +Like @code{neg@var{m}2} but takes a @code{code_label} as operand 2 and +emits code to jump to it if signed overflow occurs during the negation. + @cindex @code{abs@var{m}2} instruction pattern @item @samp{abs@var{m}2} Store the absolute value of operand 1 into operand 0. @@ -5780,13 +5803,13 @@ from the machine description. Conditional branch instruction combined with a compare instruction. Operand 0 is a comparison operator. Operand 1 and operand 2 are the first and second operands of the comparison, respectively. Operand 3 -is a @code{label_ref} that refers to the label to jump to. +is the @code{code_label} to jump to. @cindex @code{jump} instruction pattern @item @samp{jump} A jump inside a function; an unconditional branch. Operand 0 is the -@code{label_ref} of the label to jump to. This pattern name is mandatory -on all machines. +@code{code_label} to jump to. This pattern name is mandatory on all +machines. @cindex @code{call} instruction pattern @item @samp{call} diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 2280947a1d4..137f6154c92 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -2823,8 +2823,8 @@ in the reload pass. If defined, a C expression that returns nonzero for a @var{class} for which a change from mode @var{from} to mode @var{to} is invalid. -For the example, loading 32-bit integer or floating-point objects into -floating-point registers on the Alpha extends them to 64 bits. +For example, loading 32-bit integer or floating-point objects into +floating-point registers on Alpha extends them to 64 bits. Therefore loading a 64-bit object and then storing it as a 32-bit object does not store the low-order 32 bits, as would be the case for a normal register. Therefore, @file{alpha.h} defines @code{CANNOT_CHANGE_MODE_CLASS} @@ -2835,6 +2835,17 @@ as below: (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \ ? reg_classes_intersect_p (FLOAT_REGS, (CLASS)) : 0) @end smallexample + +Even if storing from a register in mode @var{to} would be valid, +if both @var{from} and @code{raw_reg_mode} for @var{class} are wider +than @code{word_mode}, then we must prevent @var{to} narrowing the +mode. This happens when the middle-end assumes that it can load +or store pieces of an @var{N}-word pseudo, and that the pseudo will +eventually be allocated to @var{N} @code{word_mode} hard registers. +Failure to prevent this kind of mode change will result in the +entire @code{raw_reg_mode} being modified instead of the partial +value that the middle-end intended. + @end defmac @deftypefn {Target Hook} bool TARGET_LRA_P (void) diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index 8d6dfbc205e..2de5d2744ab 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -2461,8 +2461,8 @@ in the reload pass. If defined, a C expression that returns nonzero for a @var{class} for which a change from mode @var{from} to mode @var{to} is invalid. -For the example, loading 32-bit integer or floating-point objects into -floating-point registers on the Alpha extends them to 64 bits. +For example, loading 32-bit integer or floating-point objects into +floating-point registers on Alpha extends them to 64 bits. Therefore loading a 64-bit object and then storing it as a 32-bit object does not store the low-order 32 bits, as would be the case for a normal register. Therefore, @file{alpha.h} defines @code{CANNOT_CHANGE_MODE_CLASS} @@ -2473,6 +2473,17 @@ as below: (GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \ ? reg_classes_intersect_p (FLOAT_REGS, (CLASS)) : 0) @end smallexample + +Even if storing from a register in mode @var{to} would be valid, +if both @var{from} and @code{raw_reg_mode} for @var{class} are wider +than @code{word_mode}, then we must prevent @var{to} narrowing the +mode. This happens when the middle-end assumes that it can load +or store pieces of an @var{N}-word pseudo, and that the pseudo will +eventually be allocated to @var{N} @code{word_mode} hard registers. +Failure to prevent this kind of mode change will result in the +entire @code{raw_reg_mode} being modified instead of the partial +value that the middle-end intended. + @end defmac @hook TARGET_LRA_P diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 7955a4263ef..d96ab92a50a 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -463,7 +463,9 @@ negate_expr_p (tree t) case PLUS_EXPR: if (HONOR_SIGN_DEPENDENT_ROUNDING (element_mode (type)) - || HONOR_SIGNED_ZEROS (element_mode (type))) + || HONOR_SIGNED_ZEROS (element_mode (type)) + || (INTEGRAL_TYPE_P (type) + && ! TYPE_OVERFLOW_WRAPS (type))) return false; /* -(A + B) -> (-B) - A. */ if (negate_expr_p (TREE_OPERAND (t, 1)) @@ -477,12 +479,23 @@ negate_expr_p (tree t) /* We can't turn -(A-B) into B-A when we honor signed zeros. */ return !HONOR_SIGN_DEPENDENT_ROUNDING (element_mode (type)) && !HONOR_SIGNED_ZEROS (element_mode (type)) + && (! INTEGRAL_TYPE_P (type) + || TYPE_OVERFLOW_WRAPS (type)) && reorder_operands_p (TREE_OPERAND (t, 0), TREE_OPERAND (t, 1)); case MULT_EXPR: - if (TYPE_UNSIGNED (TREE_TYPE (t))) - break; + if (TYPE_UNSIGNED (type)) + break; + /* INT_MIN/n * n doesn't overflow while negating one operand it does + if n is a power of two. */ + if (INTEGRAL_TYPE_P (TREE_TYPE (t)) + && ! TYPE_OVERFLOW_WRAPS (TREE_TYPE (t)) + && ! ((TREE_CODE (TREE_OPERAND (t, 0)) == INTEGER_CST + && ! integer_pow2p (TREE_OPERAND (t, 0))) + || (TREE_CODE (TREE_OPERAND (t, 1)) == INTEGER_CST + && ! integer_pow2p (TREE_OPERAND (t, 1))))) + break; /* Fall through. */ @@ -4925,8 +4938,7 @@ fold_cond_expr_with_comparison (location_t loc, tree type, case GE_EXPR: case GT_EXPR: if (TYPE_UNSIGNED (TREE_TYPE (arg1))) - arg1 = fold_convert_loc (loc, signed_type_for - (TREE_TYPE (arg1)), arg1); + break; tem = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (arg1), arg1); return pedantic_non_lvalue_loc (loc, fold_convert_loc (loc, type, tem)); case UNLE_EXPR: @@ -4936,8 +4948,7 @@ fold_cond_expr_with_comparison (location_t loc, tree type, case LE_EXPR: case LT_EXPR: if (TYPE_UNSIGNED (TREE_TYPE (arg1))) - arg1 = fold_convert_loc (loc, signed_type_for - (TREE_TYPE (arg1)), arg1); + break; tem = fold_build1_loc (loc, ABS_EXPR, TREE_TYPE (arg1), arg1); return negate_expr (fold_convert_loc (loc, type, tem)); default: @@ -10394,25 +10405,32 @@ fold_binary_loc (location_t loc, { tree tmp0 = var0; tree tmp1 = var1; + bool one_neg = false; if (TREE_CODE (tmp0) == NEGATE_EXPR) - tmp0 = TREE_OPERAND (tmp0, 0); + { + tmp0 = TREE_OPERAND (tmp0, 0); + one_neg = !one_neg; + } if (CONVERT_EXPR_P (tmp0) && INTEGRAL_TYPE_P (TREE_TYPE (TREE_OPERAND (tmp0, 0))) && (TYPE_PRECISION (TREE_TYPE (TREE_OPERAND (tmp0, 0))) <= TYPE_PRECISION (atype))) tmp0 = TREE_OPERAND (tmp0, 0); if (TREE_CODE (tmp1) == NEGATE_EXPR) - tmp1 = TREE_OPERAND (tmp1, 0); + { + tmp1 = TREE_OPERAND (tmp1, 0); + one_neg = !one_neg; + } if (CONVERT_EXPR_P (tmp1) && INTEGRAL_TYPE_P (TREE_TYPE (TREE_OPERAND (tmp1, 0))) && (TYPE_PRECISION (TREE_TYPE (TREE_OPERAND (tmp1, 0))) <= TYPE_PRECISION (atype))) tmp1 = TREE_OPERAND (tmp1, 0); /* The only case we can still associate with two variables - is if they are the same, modulo negation and bit-pattern - preserving conversions. */ - if (!operand_equal_p (tmp0, tmp1, 0)) + is if they cancel out. */ + if (!one_neg + || !operand_equal_p (tmp0, tmp1, 0)) ok = false; } } diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index e9a712d5544..41669242c81 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,77 @@ +2015-12-14 Tobias Burnus <burnus@net-b.de> + Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> + + Backport from mainline. + 2015-12-09 Tobias Burnus <burnus@net-b.de> + Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> + + * trans.c (gfc_allocate_using_lib,gfc_deallocate_with_status): + Introducing __asm__ __volatile__ ("":::"memory") + after image control statements. + * trans-stmt.c (gfc_trans_sync, gfc_trans_event_post_wait, + gfc_trans_lock_unlock, gfc_trans_critical): Ditto. + * trans-intrinsic.c (gfc_conv_intrinsic_caf_get, + conv_caf_send): Introducing __asm__ __volatile__ ("":::"memory") + after send, before get and around sendget. + +2015-12-04 Release Manager + + * GCC 5.3.0 released. + +2015-11-27 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/68218 + * trans-array.c (gfc_array_init_size): Add gfc_evaluate_now() when + array spec in allocate is a function call. + +2015-11-24 Paul Thomas <pault@gcc.gnu.org> + + Backport from trunk. + PR fortran/68196 + * class.c (has_finalizer_component): Prevent infinite recursion + through this function if the derived type and that of its + component are the same. + * trans-types.c (gfc_get_derived_type): Do the same for proc + pointers by ignoring the explicit interface for the component. + + PR fortran/66465 + * check.c (same_type_check): If either of the expressions is + BT_PROCEDURE, use the typespec from the symbol, rather than the + expression. + +2015-11-18 Dominique d'Humieres <dominiq@lps.ens.fr> + + PR fortran/65751 + * expr.c (gfc_check_pointer_assign): Fix error message. + +2015-11-16 Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/58027 + PR fortran/60993 + * expr.c (gfc_check_init_expr): Prevent a redundant check when a + __convert_* function was inserted into an array constructor. + (gfc_check_assign_symbol): Check for an initialization expression + when a __convert_* was inserted. + +2015-11-14 Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/67803 + * array.c (gfc_match_array_constructor): If array constructor included + a CHARACTER typespec, check array elements for compatible type. + +2015-11-13 Steven G. Kargl <kargl@gccc.gnu.org> + + PR fortran/68319 + * decl.c (gfc_match_data, gfc_match_entry): Enforce F2008:C1206. + * io.c (gfc_match_format): Ditto. + * match.c (gfc_match_st_function): Ditto. + +2015-11-12 Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/68318 + * decl.c (get_proc_name): Increment reference count for ENTRY. + While here, fix comment and use postfix ++ for consistency. + 2015-11-08 Steven g. Kargl <kargl@gcc.gnu.org> PR fortran/68053 diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c index 922bc0939fd..b672bc37a04 100644 --- a/gcc/fortran/array.c +++ b/gcc/fortran/array.c @@ -1157,6 +1157,35 @@ done: { expr = gfc_get_array_expr (ts.type, ts.kind, &where); expr->ts = ts; + + /* If the typespec is CHARACTER, check that array elements can + be converted. See PR fortran/67803. */ + if (ts.type == BT_CHARACTER) + { + gfc_constructor *c; + + c = gfc_constructor_first (head); + for (; c; c = gfc_constructor_next (c)) + { + if (gfc_numeric_ts (&c->expr->ts) + || c->expr->ts.type == BT_LOGICAL) + { + gfc_error ("Incompatiable typespec for array element at %L", + &c->expr->where); + return MATCH_ERROR; + } + + /* Special case null(). */ + if (c->expr->expr_type == EXPR_FUNCTION + && c->expr->ts.type == BT_UNKNOWN + && strcmp (c->expr->symtree->name, "null") == 0) + { + gfc_error ("Incompatiable typespec for array element at %L", + &c->expr->where); + return MATCH_ERROR; + } + } + } } else expr = gfc_get_array_expr (BT_UNKNOWN, 0, &where); @@ -1166,6 +1195,7 @@ done: expr->ts.u.cl->length_from_typespec = seen_ts; *result = expr; + return MATCH_YES; syntax: diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c index 0eac6d7099d..3196420b45d 100644 --- a/gcc/fortran/check.c +++ b/gcc/fortran/check.c @@ -399,7 +399,15 @@ less_than_bitsize2 (const char *arg1, gfc_expr *expr1, const char *arg2, static bool same_type_check (gfc_expr *e, int n, gfc_expr *f, int m) { - if (gfc_compare_types (&e->ts, &f->ts)) + gfc_typespec *ets = &e->ts; + gfc_typespec *fts = &f->ts; + + if (e->ts.type == BT_PROCEDURE && e->symtree->n.sym) + ets = &e->symtree->n.sym->ts; + if (f->ts.type == BT_PROCEDURE && f->symtree->n.sym) + fts = &f->symtree->n.sym->ts; + + if (gfc_compare_types (ets, fts)) return true; gfc_error ("%qs argument of %qs intrinsic at %L must be the same type " diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c index fe37d0dbf52..7f9256c3ba1 100644 --- a/gcc/fortran/class.c +++ b/gcc/fortran/class.c @@ -843,7 +843,11 @@ has_finalizer_component (gfc_symbol *derived) && c->ts.u.derived->f2k_derived->finalizers) return true; + /* Stop infinite recursion through this function by inhibiting + calls when the derived type and that of the component are + the same. */ if (c->ts.type == BT_DERIVED + && !gfc_compare_derived_types (derived, c->ts.u.derived) && !c->attr.pointer && !c->attr.allocatable && has_finalizer_component (c->ts.u.derived)) return true; diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index c132d68f63a..2708413a115 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -561,6 +561,15 @@ gfc_match_data (void) gfc_data *new_data; match m; + /* Before parsing the rest of a DATA statement, check F2008:c1206. */ + if ((gfc_current_state () == COMP_FUNCTION + || gfc_current_state () == COMP_SUBROUTINE) + && gfc_state_stack->previous->state == COMP_INTERFACE) + { + gfc_error ("DATA statement at %C cannot appear within an INTERFACE"); + return MATCH_ERROR; + } + set_in_match_data (true); for (;;) @@ -934,6 +943,7 @@ get_proc_name (const char *name, gfc_symbol **result, bool module_fcn_entry) gfc_find_sym_tree (name, gfc_current_ns, 0, &st); st->n.sym = *result; st = gfc_get_unique_symtree (gfc_current_ns); + sym->refs++; st->n.sym = sym; } } @@ -950,7 +960,7 @@ get_proc_name (const char *name, gfc_symbol **result, bool module_fcn_entry) /* Trap another encompassed procedure with the same name. All these conditions are necessary to avoid picking up an entry whose name clashes with that of the encompassing procedure; - this is handled using gsymbols to register unique,globally + this is handled using gsymbols to register unique, globally accessible names. */ if (sym->attr.flavor != 0 && sym->attr.proc != 0 @@ -5661,6 +5671,13 @@ gfc_match_entry (void) return MATCH_ERROR; } + if ((state == COMP_SUBROUTINE || state == COMP_FUNCTION) + && gfc_state_stack->previous->state == COMP_INTERFACE) + { + gfc_error ("ENTRY statement at %C cannot appear within an INTERFACE"); + return MATCH_ERROR; + } + module_procedure = gfc_current_ns->parent != NULL && gfc_current_ns->parent->proc_name && gfc_current_ns->parent->proc_name->attr.flavor @@ -8825,7 +8842,7 @@ gfc_match_final_decl (void) /* Add this symbol to the list of finalizers. */ gcc_assert (block->f2k_derived); - ++sym->refs; + sym->refs++; f = XCNEW (gfc_finalizer); f->proc_sym = sym; f->proc_tree = NULL; diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index bf130310802..c90e82348f7 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -2471,7 +2471,8 @@ gfc_check_init_expr (gfc_expr *e) t = false; { - gfc_intrinsic_sym* isym; + bool conversion; + gfc_intrinsic_sym* isym = NULL; gfc_symbol* sym = e->symtree->n.sym; /* Special case for IEEE_SELECTED_REAL_KIND from the intrinsic @@ -2489,8 +2490,14 @@ gfc_check_init_expr (gfc_expr *e) } } - if (!gfc_is_intrinsic (sym, 0, e->where) - || (m = gfc_intrinsic_func_interface (e, 0)) != MATCH_YES) + /* If a conversion function, e.g., __convert_i8_i4, was inserted + into an array constructor, we need to skip the error check here. + Conversion errors are caught below in scalarize_intrinsic_call. */ + conversion = e->value.function.isym + && (e->value.function.isym->conversion == 1); + + if (!conversion && (!gfc_is_intrinsic (sym, 0, e->where) + || (m = gfc_intrinsic_func_interface (e, 0)) != MATCH_YES)) { gfc_error ("Function %qs in initialization expression at %L " "must be an intrinsic function", @@ -2517,7 +2524,7 @@ gfc_check_init_expr (gfc_expr *e) array argument. */ isym = gfc_find_function (e->symtree->n.sym->name); if (isym && isym->elemental - && (t = scalarize_intrinsic_call(e))) + && (t = scalarize_intrinsic_call (e))) break; } @@ -3639,11 +3646,10 @@ gfc_check_pointer_assign (gfc_expr *lvalue, gfc_expr *rvalue) || (lvalue->ts.type == BT_DERIVED && (lvalue->ts.u.derived->attr.is_bind_c || lvalue->ts.u.derived->attr.sequence)))) - gfc_error ("Data-pointer-object &L must be unlimited " - "polymorphic, a sequence derived type or of a " - "type with the BIND attribute assignment at %L " - "to be compatible with an unlimited polymorphic " - "target", &lvalue->where); + gfc_error ("Data-pointer-object at %L must be unlimited " + "polymorphic, or of a type with the BIND or SEQUENCE " + "attribute, to be compatible with an unlimited " + "polymorphic target", &lvalue->where); else gfc_error ("Different types in pointer assignment at %L; " "attempted assignment of %s to %s", &lvalue->where, @@ -3858,7 +3864,17 @@ gfc_check_assign_symbol (gfc_symbol *sym, gfc_component *comp, gfc_expr *rvalue) if (pointer || proc_pointer) r = gfc_check_pointer_assign (&lvalue, rvalue); else - r = gfc_check_assign (&lvalue, rvalue, 1); + { + /* If a conversion function, e.g., __convert_i8_i4, was inserted + into an array constructor, we should check if it can be reduced + as an initialization expression. */ + if (rvalue->expr_type == EXPR_FUNCTION + && rvalue->value.function.isym + && (rvalue->value.function.isym->conversion == 1)) + gfc_check_init_expr (rvalue); + + r = gfc_check_assign (&lvalue, rvalue, 1); + } free (lvalue.symtree); free (lvalue.ref); diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c index 9fabeeb966a..de91ea9f3d7 100644 --- a/gcc/fortran/io.c +++ b/gcc/fortran/io.c @@ -1200,6 +1200,15 @@ gfc_match_format (void) return MATCH_ERROR; } + /* Before parsing the rest of a FORMAT statement, check F2008:c1206. */ + if ((gfc_current_state () == COMP_FUNCTION + || gfc_current_state () == COMP_SUBROUTINE) + && gfc_state_stack->previous->state == COMP_INTERFACE) + { + gfc_error ("FORMAT statement at %C cannot appear within an INTERFACE"); + return MATCH_ERROR; + } + if (gfc_statement_label == NULL) { gfc_error ("Missing format label at %C"); diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c index 74acba0e4f0..60c6e656d03 100644 --- a/gcc/fortran/match.c +++ b/gcc/fortran/match.c @@ -4933,6 +4933,15 @@ gfc_match_st_function (void) sym->value = expr; + if ((gfc_current_state () == COMP_FUNCTION + || gfc_current_state () == COMP_SUBROUTINE) + && gfc_state_stack->previous->state == COMP_INTERFACE) + { + gfc_error ("Statement function at %L cannot appear within an INTERFACE", + &expr->where); + return MATCH_ERROR; + } + if (!gfc_notify_std (GFC_STD_F95_OBS, "Statement function at %C")) return MATCH_ERROR; diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index 9c175b1d480..3c2c64046e4 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -5030,6 +5030,8 @@ gfc_array_init_size (tree descriptor, int rank, int corank, tree * poffset, gcc_assert (ubound); gfc_conv_expr_type (&se, ubound, gfc_array_index_type); gfc_add_block_to_block (pblock, &se.pre); + if (ubound->expr_type == EXPR_FUNCTION) + se.expr = gfc_evaluate_now (se.expr, pblock); gfc_conv_descriptor_ubound_set (descriptor_block, descriptor, gfc_rank_cst[n], se.expr); diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c index 9b062598681..f4974997e22 100644 --- a/gcc/fortran/trans-intrinsic.c +++ b/gcc/fortran/trans-intrinsic.c @@ -1221,12 +1221,22 @@ gfc_conv_intrinsic_caf_get (gfc_se *se, gfc_expr *expr, tree lhs, tree lhs_kind, /* No overlap possible as we have generated a temporary. */ if (lhs == NULL_TREE) may_require_tmp = boolean_false_node; + + /* It guarantees memory consistency within the same segment */ + tmp = gfc_build_string_const (strlen ("memory")+1, "memory"), + tmp = build5_loc (input_location, ASM_EXPR, void_type_node, + gfc_build_string_const (1, ""), + NULL_TREE, NULL_TREE, + tree_cons (NULL_TREE, tmp, NULL_TREE), + NULL_TREE); + ASM_VOLATILE_P (tmp) = 1; + gfc_add_expr_to_block (&se->pre, tmp); tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_get, 9, token, offset, image_index, argse.expr, vec, dst_var, kind, lhs_kind, may_require_tmp); gfc_add_expr_to_block (&se->pre, tmp); - + if (se->ss) gfc_advance_se_ss_chain (se); @@ -1386,6 +1396,16 @@ conv_caf_send (gfc_code *code) { { tree rhs_token, rhs_offset, rhs_image_index; + /* It guarantees memory consistency within the same segment */ + tmp = gfc_build_string_const (strlen ("memory")+1, "memory"), + tmp = build5_loc (input_location, ASM_EXPR, void_type_node, + gfc_build_string_const (1, ""), + NULL_TREE, NULL_TREE, + tree_cons (NULL_TREE, tmp, NULL_TREE), + NULL_TREE); + ASM_VOLATILE_P (tmp) = 1; + gfc_add_expr_to_block (&block, tmp); + caf_decl = gfc_get_tree_for_caf_expr (rhs_expr); if (TREE_CODE (TREE_TYPE (caf_decl)) == REFERENCE_TYPE) caf_decl = build_fold_indirect_ref_loc (input_location, caf_decl); @@ -1401,6 +1421,17 @@ conv_caf_send (gfc_code *code) { gfc_add_expr_to_block (&block, tmp); gfc_add_block_to_block (&block, &lhs_se.post); gfc_add_block_to_block (&block, &rhs_se.post); + + /* It guarantees memory consistency within the same segment */ + tmp = gfc_build_string_const (strlen ("memory")+1, "memory"), + tmp = build5_loc (input_location, ASM_EXPR, void_type_node, + gfc_build_string_const (1, ""), + NULL_TREE, NULL_TREE, + tree_cons (NULL_TREE, tmp, NULL_TREE), + NULL_TREE); + ASM_VOLATILE_P (tmp) = 1; + gfc_add_expr_to_block (&block, tmp); + return gfc_finish_block (&block); } diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c index 776f78fd9da..3a14a913c50 100644 --- a/gcc/fortran/trans-stmt.c +++ b/gcc/fortran/trans-stmt.c @@ -829,6 +829,17 @@ gfc_trans_lock_unlock (gfc_code *code, gfc_exec_op op) errmsg, errmsg_len); gfc_add_expr_to_block (&se.pre, tmp); + /* It guarantees memory consistency within the same segment */ + tmp = gfc_build_string_const (strlen ("memory")+1, "memory"), + tmp = build5_loc (input_location, ASM_EXPR, void_type_node, + gfc_build_string_const (1, ""), + NULL_TREE, NULL_TREE, + tree_cons (NULL_TREE, tmp, NULL_TREE), + NULL_TREE); + ASM_VOLATILE_P (tmp) = 1; + + gfc_add_expr_to_block (&se.pre, tmp); + if (stat2 != NULL_TREE) gfc_add_modify (&se.pre, stat2, fold_convert (TREE_TYPE (stat2), stat)); @@ -931,6 +942,20 @@ gfc_trans_sync (gfc_code *code, gfc_exec_op type) fold_convert (integer_type_node, images)); } + /* Per F2008, 8.5.1, a SYNC MEMORY is implied by calling the + image control statements SYNC IMAGES and SYNC ALL. */ + if (flag_coarray == GFC_FCOARRAY_LIB) + { + tmp = gfc_build_string_const (strlen ("memory")+1, "memory"), + tmp = build5_loc (input_location, ASM_EXPR, void_type_node, + gfc_build_string_const (1, ""), + NULL_TREE, NULL_TREE, + tree_cons (NULL_TREE, tmp, NULL_TREE), + NULL_TREE); + ASM_VOLATILE_P (tmp) = 1; + gfc_add_expr_to_block (&se.pre, tmp); + } + if (flag_coarray != GFC_FCOARRAY_LIB) { /* Set STAT to zero. */ @@ -1250,6 +1275,17 @@ gfc_trans_critical (gfc_code *code) null_pointer_node, null_pointer_node, null_pointer_node, integer_zero_node); gfc_add_expr_to_block (&block, tmp); + + /* It guarantees memory consistency within the same segment */ + tmp = gfc_build_string_const (strlen ("memory")+1, "memory"), + tmp = build5_loc (input_location, ASM_EXPR, void_type_node, + gfc_build_string_const (1, ""), + NULL_TREE, NULL_TREE, + tree_cons (NULL_TREE, tmp, NULL_TREE), + NULL_TREE); + ASM_VOLATILE_P (tmp) = 1; + + gfc_add_expr_to_block (&block, tmp); } tmp = gfc_trans_code (code->block->next); @@ -1262,8 +1298,18 @@ gfc_trans_critical (gfc_code *code) null_pointer_node, null_pointer_node, integer_zero_node); gfc_add_expr_to_block (&block, tmp); - } + /* It guarantees memory consistency within the same segment */ + tmp = gfc_build_string_const (strlen ("memory")+1, "memory"), + tmp = build5_loc (input_location, ASM_EXPR, void_type_node, + gfc_build_string_const (1, ""), + NULL_TREE, NULL_TREE, + tree_cons (NULL_TREE, tmp, NULL_TREE), + NULL_TREE); + ASM_VOLATILE_P (tmp) = 1; + + gfc_add_expr_to_block (&block, tmp); + } return gfc_finish_block (&block); } diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c index 0ad8ac20758..a267040aabf 100644 --- a/gcc/fortran/trans-types.c +++ b/gcc/fortran/trans-types.c @@ -2375,6 +2375,7 @@ gfc_get_derived_type (gfc_symbol * derived) gfc_component *c; gfc_dt_list *dt; gfc_namespace *ns; + tree tmp; if (derived->attr.unlimited_polymorphic || (flag_coarray == GFC_FCOARRAY_LIB @@ -2526,8 +2527,19 @@ gfc_get_derived_type (gfc_symbol * derived) node as DECL_CONTEXT of each FIELD_DECL. */ for (c = derived->components; c; c = c->next) { - if (c->attr.proc_pointer) + /* Prevent infinite recursion, when the procedure pointer type is + the same as derived, by forcing the procedure pointer component to + be built as if the explicit interface does not exist. */ + if (c->attr.proc_pointer + && ((c->ts.type != BT_DERIVED && c->ts.type != BT_CLASS) + || (c->ts.u.derived + && !gfc_compare_derived_types (derived, c->ts.u.derived)))) field_type = gfc_get_ppc_type (c); + else if (c->attr.proc_pointer && derived->backend_decl) + { + tmp = build_function_type_list (derived->backend_decl, NULL_TREE); + field_type = build_pointer_type (tmp); + } else if (c->ts.type == BT_DERIVED || c->ts.type == BT_CLASS) field_type = c->ts.u.derived->backend_decl; else diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c index 549e921b3fb..abc6adb4b4c 100644 --- a/gcc/fortran/trans.c +++ b/gcc/fortran/trans.c @@ -739,6 +739,16 @@ gfc_allocate_using_lib (stmtblock_t * block, tree pointer, tree size, TREE_TYPE (pointer), pointer, fold_convert ( TREE_TYPE (pointer), tmp)); gfc_add_expr_to_block (block, tmp); + + /* It guarantees memory consistency within the same segment */ + tmp = gfc_build_string_const (strlen ("memory")+1, "memory"), + tmp = build5_loc (input_location, ASM_EXPR, void_type_node, + gfc_build_string_const (1, ""), + NULL_TREE, NULL_TREE, + tree_cons (NULL_TREE, tmp, NULL_TREE), + NULL_TREE); + ASM_VOLATILE_P (tmp) = 1; + gfc_add_expr_to_block (block, tmp); } @@ -1360,6 +1370,16 @@ gfc_deallocate_with_status (tree pointer, tree status, tree errmsg, token, pstat, errmsg, errlen); gfc_add_expr_to_block (&non_null, tmp); + /* It guarantees memory consistency within the same segment */ + tmp = gfc_build_string_const (strlen ("memory")+1, "memory"), + tmp = build5_loc (input_location, ASM_EXPR, void_type_node, + gfc_build_string_const (1, ""), + NULL_TREE, NULL_TREE, + tree_cons (NULL_TREE, tmp, NULL_TREE), + NULL_TREE); + ASM_VOLATILE_P (tmp) = 1; + gfc_add_expr_to_block (&non_null, tmp); + if (status != NULL_TREE) { tree stat = build_fold_indirect_ref_loc (input_location, status); diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index 46c46ad37db..78c50a9d0c2 100644 --- a/gcc/gimple-fold.c +++ b/gcc/gimple-fold.c @@ -88,6 +88,7 @@ along with GCC; see the file COPYING3. If not see #include "gimple-match.h" #include "tree-phinodes.h" #include "ssa-iterators.h" +#include "ipa-chkp.h" /* Return true when DECL can be referenced from current unit. FROM_DECL (if non-null) specify constructor of variable DECL was taken from. @@ -824,6 +825,18 @@ gimple_fold_builtin_memory_op (gimple_stmt_iterator *gsi, unsigned int src_align, dest_align; tree off0; + /* Inlining of memcpy/memmove may cause bounds lost (if we copy + pointers as wide integer) and also may result in huge function + size because of inlined bounds copy. Thus don't inline for + functions we want to instrument. */ + if (flag_check_pointer_bounds + && chkp_instrumentable_p (cfun->decl) + /* Even if data may contain pointers we can inline if copy + less than a pointer size. */ + && (!tree_fits_uhwi_p (len) + || compare_tree_int (len, POINTER_SIZE_UNITS) >= 0)) + return false; + /* Build accesses at offset zero with a ref-all character type. */ off0 = build_int_cst (build_pointer_type_for_mode (char_type_node, ptr_mode, true), 0); diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog index cdde7fdf06f..9b1d1c8b689 100644 --- a/gcc/go/ChangeLog +++ b/gcc/go/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/gcc/go/gofrontend/types.cc b/gcc/go/gofrontend/types.cc index 79c5e3559a7..3a51358da74 100644 --- a/gcc/go/gofrontend/types.cc +++ b/gcc/go/gofrontend/types.cc @@ -1749,7 +1749,16 @@ Type::specific_type_functions(Gogo* gogo, Named_type* name, const Named_object* in_function = name->in_function(&index); if (in_function != NULL) { - base_name += '$' + Gogo::unpack_hidden_name(in_function->name()); + base_name.append(1, '$'); + const Typed_identifier* rcvr = + in_function->func_value()->type()->receiver(); + if (rcvr != NULL) + { + Named_type* rcvr_type = rcvr->type()->deref()->named_type(); + base_name.append(Gogo::unpack_hidden_name(rcvr_type->name())); + base_name.append(1, '$'); + } + base_name.append(Gogo::unpack_hidden_name(in_function->name())); if (index > 0) { char buf[30]; diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index fa241d6bedd..8d0cf06a9c0 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -2287,12 +2287,26 @@ noce_try_abs (struct noce_if_info *if_info) /* Work around funny ideas get_condition has wrt canonicalization. Note that these rtx constants are known to be CONST_INT, and - therefore imply integer comparisons. */ + therefore imply integer comparisons. + The one_cmpl case is more complicated, as we want to handle + only x < 0 ? ~x : x or x >= 0 ? x : ~x to one_cmpl_abs (x) + and x < 0 ? x : ~x or x >= 0 ? ~x : x to ~one_cmpl_abs (x), + but not other cases (x > -1 is equivalent of x >= 0). */ if (c == constm1_rtx && GET_CODE (cond) == GT) ; else if (c == const1_rtx && GET_CODE (cond) == LT) - ; - else if (c != CONST0_RTX (GET_MODE (b))) + { + if (one_cmpl) + return FALSE; + } + else if (c == CONST0_RTX (GET_MODE (b))) + { + if (one_cmpl + && GET_CODE (cond) != GE + && GET_CODE (cond) != LT) + return FALSE; + } + else return FALSE; /* Determine what sort of operation this is. */ diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index bfe4821da33..81a6ef8e066 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -1787,6 +1787,18 @@ propagate_aggs_accross_jump_function (struct cgraph_edge *cs, return ret; } +/* Return true if on the way cfrom CS->caller to the final (non-alias and + non-thunk) destination, the call passes through a thunk. */ + +static bool +call_passes_through_thunk_p (cgraph_edge *cs) +{ + cgraph_node *alias_or_thunk = cs->callee; + while (alias_or_thunk->alias) + alias_or_thunk = alias_or_thunk->get_alias_target (); + return alias_or_thunk->thunk.thunk_p; +} + /* Propagate constants from the caller to the callee of CS. INFO describes the caller. */ @@ -1795,7 +1807,7 @@ propagate_constants_accross_call (struct cgraph_edge *cs) { struct ipa_node_params *callee_info; enum availability availability; - struct cgraph_node *callee, *alias_or_thunk; + cgraph_node *callee; struct ipa_edge_args *args; bool ret = false; int i, args_count, parms_count; @@ -1833,10 +1845,7 @@ propagate_constants_accross_call (struct cgraph_edge *cs) /* If this call goes through a thunk we must not propagate to the first (0th) parameter. However, we might need to uncover a thunk from below a series of aliases first. */ - alias_or_thunk = cs->callee; - while (alias_or_thunk->alias) - alias_or_thunk = alias_or_thunk->get_alias_target (); - if (alias_or_thunk->thunk.thunk_p) + if (call_passes_through_thunk_p (cs)) { ret |= set_all_contains_variable (ipa_get_parm_lattices (callee_info, 0)); @@ -3404,7 +3413,11 @@ find_more_scalar_values_for_callers_subset (struct cgraph_node *node, struct ipa_jump_func *jump_func; tree t; - if (i >= ipa_get_cs_argument_count (IPA_EDGE_REF (cs))) + if (i >= ipa_get_cs_argument_count (IPA_EDGE_REF (cs)) + || (i == 0 + && call_passes_through_thunk_p (cs)) + || (!cs->callee->instrumentation_clone + && cs->callee->function_symbol ()->instrumentation_clone)) { newval = NULL_TREE; break; diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c index e3197855f3a..c165bceb16b 100644 --- a/gcc/ipa-devirt.c +++ b/gcc/ipa-devirt.c @@ -1536,6 +1536,7 @@ odr_types_equivalent_p (tree t1, tree t2, bool warn, bool *warned, break; } case VOID_TYPE: + case NULLPTR_TYPE: break; default: diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c index b902373b31a..47f2bf62780 100644 --- a/gcc/ipa-icf.c +++ b/gcc/ipa-icf.c @@ -273,7 +273,6 @@ sem_item::target_supports_symbol_aliases_p (void) sem_function::sem_function (bitmap_obstack *stack): sem_item (FUNC, stack), m_checker (NULL), m_compared_func (NULL) { - arg_types.create (0); bb_sizes.create (0); bb_sorted.create (0); } @@ -285,7 +284,6 @@ sem_function::sem_function (cgraph_node *node, hashval_t hash, sem_item (FUNC, node, hash, stack), m_checker (NULL), m_compared_func (NULL) { - arg_types.create (0); bb_sizes.create (0); bb_sorted.create (0); } @@ -295,7 +293,6 @@ sem_function::~sem_function () for (unsigned i = 0; i < bb_sorted.length (); i++) delete (bb_sorted[i]); - arg_types.release (); bb_sizes.release (); bb_sorted.release (); } @@ -417,6 +414,47 @@ bool sem_function::compare_edge_flags (cgraph_edge *e1, cgraph_edge *e2) return true; } +/* Perform additional check needed to match types function parameters that are + used. Unlike for normal decls it matters if type is TYPE_RESTRICT and we + make an assumption that REFERENCE_TYPE parameters are always non-NULL. */ + +bool +sem_function::compatible_parm_types_p (tree parm1, tree parm2) +{ + /* Be sure that parameters are TBAA compatible. */ + if (!func_checker::compatible_types_p (parm1, parm2)) + return return_false_with_msg ("parameter type is not compatible"); + + if (POINTER_TYPE_P (parm1) + && (TYPE_RESTRICT (parm1) != TYPE_RESTRICT (parm2))) + return return_false_with_msg ("argument restrict flag mismatch"); + + /* nonnull_arg_p implies non-zero range to REFERENCE types. */ + if (POINTER_TYPE_P (parm1) + && TREE_CODE (parm1) != TREE_CODE (parm2) + && opt_for_fn (decl, flag_delete_null_pointer_checks)) + return return_false_with_msg ("pointer wrt reference mismatch"); + + return true; +} + +/* Return true if parameter I may be used. */ + +bool +sem_function::param_used_p (unsigned int i) +{ + if (ipa_node_params_sum == NULL) + return true; + + struct ipa_node_params *parms_info = IPA_NODE_REF (get_node ()); + + if (parms_info->descriptors.is_empty () + || parms_info->descriptors.length () <= i) + return true; + + return ipa_is_param_used (IPA_NODE_REF (get_node ()), i); +} + /* Fast equality function based on knowledge known in WPA. */ bool @@ -427,9 +465,6 @@ sem_function::equals_wpa (sem_item *item, m_compared_func = static_cast<sem_function *> (item); - if (arg_types.length () != m_compared_func->arg_types.length ()) - return return_false_with_msg ("different number of arguments"); - /* Compare special function DECL attributes. */ if (DECL_FUNCTION_PERSONALITY (decl) != DECL_FUNCTION_PERSONALITY (item->decl)) @@ -506,26 +541,40 @@ sem_function::equals_wpa (sem_item *item, } /* Result type checking. */ - if (!func_checker::compatible_types_p (result_type, - m_compared_func->result_type)) + if (!func_checker::compatible_types_p + (TREE_TYPE (TREE_TYPE (decl)), + TREE_TYPE (TREE_TYPE (m_compared_func->decl)))) return return_false_with_msg ("result types are different"); /* Checking types of arguments. */ - for (unsigned i = 0; i < arg_types.length (); i++) + tree list1 = TYPE_ARG_TYPES (TREE_TYPE (decl)), + list2 = TYPE_ARG_TYPES (TREE_TYPE (m_compared_func->decl)); + for (unsigned i = 0; list1 && list2; + list1 = TREE_CHAIN (list1), list2 = TREE_CHAIN (list2), i++) { + tree parm1 = TREE_VALUE (list1); + tree parm2 = TREE_VALUE (list2); + /* This guard is here for function pointer with attributes (pr59927.c). */ - if (!arg_types[i] || !m_compared_func->arg_types[i]) + if (!parm1 || !parm2) return return_false_with_msg ("NULL argument type"); - if (!func_checker::compatible_types_p (arg_types[i], - m_compared_func->arg_types[i])) - return return_false_with_msg ("argument type is different"); - if (POINTER_TYPE_P (arg_types[i]) - && (TYPE_RESTRICT (arg_types[i]) - != TYPE_RESTRICT (m_compared_func->arg_types[i]))) - return return_false_with_msg ("argument restrict flag mismatch"); + /* Verify that types are compatible to ensure that both functions + have same calling conventions. */ + if (!types_compatible_p (parm1, parm2)) + return return_false_with_msg ("parameter types are not compatible"); + + if (!param_used_p (i)) + continue; + + /* Perform additional checks for used parameters. */ + if (!compatible_parm_types_p (parm1, parm2)) + return false; } + if (list1 || list2) + return return_false_with_msg ("Mismatched number of parameters"); + if (node->num_references () != item->node->num_references ()) return return_false_with_msg ("different number of references"); @@ -740,11 +789,23 @@ sem_function::equals_private (sem_item *item, if (decl1 != decl2) return return_false(); - for (arg1 = DECL_ARGUMENTS (decl), - arg2 = DECL_ARGUMENTS (m_compared_func->decl); - arg1; arg1 = DECL_CHAIN (arg1), arg2 = DECL_CHAIN (arg2)) - if (!m_checker->compare_decl (arg1, arg2)) - return return_false (); + arg1 = DECL_ARGUMENTS (decl); + arg2 = DECL_ARGUMENTS (m_compared_func->decl); + for (unsigned i = 0; + arg1 && arg2; arg1 = DECL_CHAIN (arg1), arg2 = DECL_CHAIN (arg2), i++) + { + if (!types_compatible_p (TREE_TYPE (arg1), TREE_TYPE (arg2))) + return return_false_with_msg ("argument types are not compatible"); + if (!param_used_p (i)) + continue; + /* Perform additional checks for used parameters. */ + if (!compatible_parm_types_p (TREE_TYPE (arg1), TREE_TYPE (arg2))) + return false; + if (!m_checker->compare_decl (arg1, arg2)) + return return_false (); + } + if (arg1 || arg2) + return return_false_with_msg ("Mismatched number of arguments"); /* Fill-up label dictionary. */ for (unsigned i = 0; i < bb_sorted.length (); ++i) @@ -1222,8 +1283,6 @@ sem_function::init (void) bb_sorted.safe_push (semantic_bb); } - - parse_tree_args (); } /* Accumulate to HSTATE a hash of expression EXP. @@ -1476,37 +1535,6 @@ sem_function::parse (cgraph_node *node, bitmap_obstack *stack) return f; } -/* Parses function arguments and result type. */ - -void -sem_function::parse_tree_args (void) -{ - tree result; - - if (arg_types.exists ()) - arg_types.release (); - - arg_types.create (4); - tree fnargs = DECL_ARGUMENTS (decl); - - for (tree parm = fnargs; parm; parm = DECL_CHAIN (parm)) - arg_types.safe_push (DECL_ARG_TYPE (parm)); - - /* Function result type. */ - result = DECL_RESULT (decl); - result_type = result ? TREE_TYPE (result) : NULL; - - /* During WPA, we can get arguments by following method. */ - if (!fnargs) - { - tree type = TYPE_ARG_TYPES (TREE_TYPE (decl)); - for (tree parm = type; parm; parm = TREE_CHAIN (parm)) - arg_types.safe_push (TYPE_CANONICAL (TREE_VALUE (parm))); - - result_type = TREE_TYPE (TREE_TYPE (decl)); - } -} - /* For given basic blocks BB1 and BB2 (from functions FUNC1 and FUNC), return true if phi nodes are semantically equivalent in these blocks . */ diff --git a/gcc/ipa-icf.h b/gcc/ipa-icf.h index 7eb9f27cb2f..98a3d4a6056 100644 --- a/gcc/ipa-icf.h +++ b/gcc/ipa-icf.h @@ -276,7 +276,6 @@ public: inline virtual void init_wpa (void) { - parse_tree_args (); } virtual void init (void); @@ -294,9 +293,6 @@ public: dump_function_to_file (decl, file, TDF_DETAILS); } - /* Parses function arguments and result type. */ - void parse_tree_args (void); - /* Returns cgraph_node. */ inline cgraph_node *get_node (void) { @@ -313,15 +309,13 @@ public: semantic function item. */ static sem_function *parse (cgraph_node *node, bitmap_obstack *stack); + /* Perform additional checks needed to match types of used function + paramters. */ + bool compatible_parm_types_p (tree, tree); + /* Exception handling region tree. */ eh_region region_tree; - /* Result type tree node. */ - tree result_type; - - /* Array of argument tree types. */ - vec <tree> arg_types; - /* Number of function arguments. */ unsigned int arg_count; @@ -343,6 +337,9 @@ public: /* Array of structures for all basic blocks. */ vec <ipa_icf_gimple::sem_bb *> bb_sorted; + /* Return true if parameter I may be used. */ + bool param_used_p (unsigned int i); + private: /* Calculates hash value based on a BASIC_BLOCK. */ hashval_t get_bb_hash (const ipa_icf_gimple::sem_bb *basic_block); diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c index 54ec8a49d09..54b6abeb34e 100644 --- a/gcc/ipa-inline-analysis.c +++ b/gcc/ipa-inline-analysis.c @@ -2790,9 +2790,8 @@ estimate_function_body_sizes (struct cgraph_node *node, bool early) { vec<edge> exits; edge ex; - unsigned int j, i; + unsigned int j; struct tree_niter_desc niter_desc; - basic_block *body = get_loop_body (loop); bb_predicate = *(struct predicate *) loop->header->aux; exits = get_loop_exit_edges (loop); @@ -2818,46 +2817,32 @@ estimate_function_body_sizes (struct cgraph_node *node, bool early) } exits.release (); - for (i = 0; i < loop->num_nodes; i++) + for (gphi_iterator gsi = gsi_start_phis (loop->header); + !gsi_end_p (gsi); gsi_next (&gsi)) { - gimple_stmt_iterator gsi; - bb_predicate = *(struct predicate *) body[i]->aux; - for (gsi = gsi_start_bb (body[i]); !gsi_end_p (gsi); - gsi_next (&gsi)) - { - gimple stmt = gsi_stmt (gsi); - affine_iv iv; - ssa_op_iter iter; - tree use; - - FOR_EACH_SSA_TREE_OPERAND (use, stmt, iter, SSA_OP_USE) - { - predicate will_be_nonconstant; - - if (!simple_iv - (loop, loop_containing_stmt (stmt), use, &iv, true) - || is_gimple_min_invariant (iv.step)) - continue; - will_be_nonconstant - = will_be_nonconstant_expr_predicate (fbi.info, info, - iv.step, - nonconstant_names); - if (!true_predicate_p (&will_be_nonconstant)) - will_be_nonconstant - = and_predicates (info->conds, - &bb_predicate, - &will_be_nonconstant); - if (!true_predicate_p (&will_be_nonconstant) - && !false_predicate_p (&will_be_nonconstant)) - /* This is slightly inprecise. We may want to represent - each loop with independent predicate. */ - loop_stride = - and_predicates (info->conds, &loop_stride, - &will_be_nonconstant); - } - } + gphi *phi = gsi.phi (); + tree use = gimple_phi_result (phi); + affine_iv iv; + predicate will_be_nonconstant; + if (virtual_operand_p (use) + || !simple_iv (loop, loop, use, &iv, true) + || is_gimple_min_invariant (iv.step)) + continue; + will_be_nonconstant + = will_be_nonconstant_expr_predicate (fbi.info, info, + iv.step, + nonconstant_names); + if (!true_predicate_p (&will_be_nonconstant)) + will_be_nonconstant = and_predicates (info->conds, + &bb_predicate, + &will_be_nonconstant); + if (!true_predicate_p (&will_be_nonconstant) + && !false_predicate_p (&will_be_nonconstant)) + /* This is slightly inprecise. We may want to represent + each loop with independent predicate. */ + loop_stride = and_predicates (info->conds, &loop_stride, + &will_be_nonconstant); } - free (body); } set_hint_predicate (&inline_summaries->get (node)->loop_iterations, loop_iterations); diff --git a/gcc/ipa-polymorphic-call.c b/gcc/ipa-polymorphic-call.c index e0fd31ad523..17e0a46130e 100644 --- a/gcc/ipa-polymorphic-call.c +++ b/gcc/ipa-polymorphic-call.c @@ -123,6 +123,8 @@ bool possible_placement_new (tree type, tree expected_type, HOST_WIDE_INT cur_offset) { + if (cur_offset < 0) + return true; return ((TREE_CODE (type) != RECORD_TYPE || !TYPE_BINFO (type) || cur_offset >= POINTER_SIZE @@ -197,6 +199,8 @@ ipa_polymorphic_call_context::restrict_to_inner_class (tree otr_type, && tree_to_shwi (TYPE_SIZE (outer_type)) >= 0 && tree_to_shwi (TYPE_SIZE (outer_type)) <= offset) { + bool der = maybe_derived_type; /* clear_outer_type will reset it. */ + bool dyn = dynamic; clear_outer_type (otr_type); type = otr_type; cur_offset = 0; @@ -205,7 +209,7 @@ ipa_polymorphic_call_context::restrict_to_inner_class (tree otr_type, For dynamic types, we really do not have information about size of the memory location. It is possible that completely different type is stored after outer_type. */ - if (!maybe_derived_type && !dynamic) + if (!der && !dyn) { clear_speculation (); invalid = true; @@ -467,8 +471,10 @@ no_useful_type_info: return true; } else - clear_speculation (); - return true; + { + clear_speculation (); + return true; + } } else { @@ -501,15 +507,18 @@ contains_type_p (tree outer_type, HOST_WIDE_INT offset, if (offset < 0) return false; if (TYPE_SIZE (outer_type) && TYPE_SIZE (otr_type) - && TREE_CODE (outer_type) == INTEGER_CST - && TREE_CODE (otr_type) == INTEGER_CST - && wi::ltu_p (wi::to_offset (outer_type), (wi::to_offset (otr_type) + offset))) + && TREE_CODE (TYPE_SIZE (outer_type)) == INTEGER_CST + && TREE_CODE (TYPE_SIZE (otr_type)) == INTEGER_CST + && wi::ltu_p (wi::to_offset (TYPE_SIZE (outer_type)), + (wi::to_offset (TYPE_SIZE (otr_type)) + offset))) return false; context.offset = offset; context.outer_type = TYPE_MAIN_VARIANT (outer_type); context.maybe_derived_type = false; - return context.restrict_to_inner_class (otr_type, consider_placement_new, consider_bases); + context.dynamic = false; + return context.restrict_to_inner_class (otr_type, consider_placement_new, + consider_bases); } @@ -1441,7 +1450,21 @@ check_stmt_for_type_change (ao_ref *ao ATTRIBUTE_UNUSED, tree vdef, void *data) && TYPE_SIZE (type) && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST && tree_fits_shwi_p (TYPE_SIZE (type)) - && tree_to_shwi (TYPE_SIZE (type)) + offset > tci->offset) + && tree_to_shwi (TYPE_SIZE (type)) + offset > tci->offset + /* Some inlined constructors may look as follows: + _3 = operator new (16); + MEM[(struct &)_3] ={v} {CLOBBER}; + MEM[(struct CompositeClass *)_3]._vptr.CompositeClass + = &MEM[(void *)&_ZTV14CompositeClass + 16B]; + _7 = &MEM[(struct CompositeClass *)_3].object; + EmptyClass::EmptyClass (_7); + + When determining dynamic type of _3 and because we stop at first + dynamic type found, we would stop on EmptyClass::EmptyClass (_7). + In this case the emptyclass is not even polymorphic and we miss + it is contained in an outer type that is polymorphic. */ + + && (tci->offset == offset || contains_polymorphic_type_p (type))) { record_known_type (tci, type, tci->offset - offset); return true; @@ -1519,6 +1542,7 @@ ipa_polymorphic_call_context::get_dynamic_type (tree instance, /* Remember OFFSET before it is modified by restrict_to_inner_class. This is because we do not update INSTANCE when walking inwards. */ HOST_WIDE_INT instance_offset = offset; + tree instance_outer_type = outer_type; if (otr_type) otr_type = TYPE_MAIN_VARIANT (otr_type); @@ -1599,7 +1623,7 @@ ipa_polymorphic_call_context::get_dynamic_type (tree instance, } } - /* If we failed to look up the refernece in code, build our own. */ + /* If we failed to look up the reference in code, build our own. */ if (!instance_ref) { /* If the statement in question does not use memory, we can't tell @@ -1629,13 +1653,13 @@ ipa_polymorphic_call_context::get_dynamic_type (tree instance, print_generic_expr (dump_file, otr_object, TDF_SLIM); fprintf (dump_file, " Outer instance pointer: "); print_generic_expr (dump_file, instance, TDF_SLIM); - fprintf (dump_file, " offset: %i (bits)", (int)offset); + fprintf (dump_file, " offset: %i (bits)", (int)instance_offset); fprintf (dump_file, " vtbl reference: "); print_generic_expr (dump_file, instance_ref, TDF_SLIM); fprintf (dump_file, "\n"); } - tci.offset = offset; + tci.offset = instance_offset; tci.instance = instance; tci.vtbl_ptr_ref = instance_ref; gcc_assert (TREE_CODE (instance) != MEM_REF); @@ -1701,9 +1725,12 @@ ipa_polymorphic_call_context::get_dynamic_type (tree instance, && !dynamic && !tci.seen_unanalyzed_store && !tci.multiple_types_encountered - && offset == tci.offset - && types_same_for_odr (tci.known_current_type, - outer_type))) + && ((offset == tci.offset + && types_same_for_odr (tci.known_current_type, + outer_type)) + || (instance_offset == offset + && types_same_for_odr (tci.known_current_type, + instance_outer_type))))) { if (!outer_type || tci.seen_unanalyzed_store) return false; diff --git a/gcc/ira.c b/gcc/ira.c index ea2b69fee76..e63b0fa2100 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -2296,9 +2296,12 @@ ira_setup_eliminable_regset (void) frame_pointer_needed = (! flag_omit_frame_pointer || (cfun->calls_alloca && EXIT_IGNORE_STACK) - /* We need the frame pointer to catch stack overflow exceptions - if the stack pointer is moving. */ - || (flag_stack_check && STACK_CHECK_MOVING_SP) + /* We need the frame pointer to catch stack overflow exceptions if + the stack pointer is moving (as for the alloca case just above). */ + || (STACK_CHECK_MOVING_SP + && flag_stack_check + && flag_exceptions + && cfun->can_throw_non_call_exceptions) || crtl->accesses_prior_frames || (SUPPORTS_STACK_ALIGNMENT && crtl->stack_realign_needed) /* We need a frame pointer for all Cilk Plus functions that use diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 6accf3f7646..1a9441a6cc5 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog index f3285ce8b16..fcb62110456 100644 --- a/gcc/jit/ChangeLog +++ b/gcc/jit/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-08-13 David Malcolm <dmalcolm@redhat.com> Backport from mainline r226882 diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index d9786c599b9..3d4bbd2d4ef 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -1355,7 +1355,7 @@ process_addr_reg (rtx *loc, bool check_only_p, rtx_insn **before, rtx_insn **aft if (after != NULL) { start_sequence (); - lra_emit_move (reg, new_reg); + lra_emit_move (before_p ? copy_rtx (reg) : reg, new_reg); emit_insn (*after); *after = get_insns (); end_sequence (); @@ -3752,7 +3752,8 @@ curr_insn_transform (bool check_only_p) assigment pass and the scratch pseudo will be spilled. Spilled scratch pseudos are transformed back to scratches at the LRA end. */ - && lra_former_scratch_operand_p (curr_insn, i)) + && lra_former_scratch_operand_p (curr_insn, i) + && lra_former_scratch_p (REGNO (op))) { int regno = REGNO (op); lra_change_class (regno, NO_REGS, " Change to", true); @@ -3761,6 +3762,8 @@ curr_insn_transform (bool check_only_p) spilled pseudo as there is only one such insn, the current one. */ reg_renumber[regno] = -1; + lra_assert (bitmap_single_bit_set_p + (&lra_reg_info[REGNO (op)].insn_bitmap)); } /* We can do an optional reload. If the pseudo got a hard reg, we might improve the code through inheritance. If diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 8d17acc9f2d..051f7334cc9 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index a905722bcb0..e469069d455 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/gcc/objcp/ChangeLog b/gcc/objcp/ChangeLog index f32ba4047e4..91c26f1986b 100644 --- a/gcc/objcp/ChangeLog +++ b/gcc/objcp/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/gcc/omp-low.c b/gcc/omp-low.c index 552994b5b52..a1ac6a6f14f 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -13619,6 +13619,10 @@ expand_simd_clones (struct cgraph_node *node) && TYPE_ARG_TYPES (TREE_TYPE (node->decl)) == NULL_TREE) return; + /* Call this before creating clone_info, as it might ggc_collect. */ + if (node->definition && node->has_gimple_body_p ()) + node->get_body (); + do { /* Start with parsing the "omp declare simd" attribute(s). */ diff --git a/gcc/optabs.c b/gcc/optabs.c index 7769ba22f08..3230e8ac1e1 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -6642,12 +6642,12 @@ shift_amt_for_vec_perm_mask (rtx sel) return NULL_RTX; first = INTVAL (CONST_VECTOR_ELT (sel, 0)); - if (first >= 2*nelt) + if (first >= nelt) return NULL_RTX; for (i = 1; i < nelt; i++) { int idx = INTVAL (CONST_VECTOR_ELT (sel, i)); - unsigned int expected = (i + first) & (2 * nelt - 1); + unsigned int expected = i + first; /* Indices into the second vector are all equivalent. */ if (idx < 0 || (MIN (nelt, (unsigned) idx) != MIN (nelt, expected))) return NULL_RTX; @@ -6684,17 +6684,6 @@ expand_vec_perm_1 (enum insn_code icode, rtx target, else { create_input_operand (&ops[1], v0, tmode); - /* See if this can be handled with a vec_shr. We only do this if the - second vector is all zeroes. */ - enum insn_code shift_code = optab_handler (vec_shr_optab, GET_MODE (v0)); - if (v1 == CONST0_RTX (GET_MODE (v1)) && shift_code) - if (rtx shift_amt = shift_amt_for_vec_perm_mask (sel)) - { - create_convert_operand_from_type (&ops[2], shift_amt, - sizetype_tab[(int) stk_sizetype]); - if (maybe_expand_insn (shift_code, 3, ops)) - return ops[0].value; - } create_input_operand (&ops[2], v1, tmode); } @@ -6736,6 +6725,44 @@ expand_vec_perm (machine_mode mode, rtx v0, rtx v1, rtx sel, rtx target) gcc_assert (GET_MODE_CLASS (GET_MODE (sel)) == MODE_VECTOR_INT); if (GET_CODE (sel) == CONST_VECTOR) { + /* See if this can be handled with a vec_shr. We only do this if the + second vector is all zeroes. */ + enum insn_code shift_code = optab_handler (vec_shr_optab, mode); + enum insn_code shift_code_qi = ((qimode != VOIDmode && qimode != mode) + ? optab_handler (vec_shr_optab, qimode) + : CODE_FOR_nothing); + rtx shift_amt = NULL_RTX; + if (v1 == CONST0_RTX (GET_MODE (v1)) + && (shift_code != CODE_FOR_nothing + || shift_code_qi != CODE_FOR_nothing)) + { + shift_amt = shift_amt_for_vec_perm_mask (sel); + if (shift_amt) + { + struct expand_operand ops[3]; + if (shift_code != CODE_FOR_nothing) + { + create_output_operand (&ops[0], target, mode); + create_input_operand (&ops[1], v0, mode); + create_convert_operand_from_type (&ops[2], shift_amt, + sizetype); + if (maybe_expand_insn (shift_code, 3, ops)) + return ops[0].value; + } + if (shift_code_qi != CODE_FOR_nothing) + { + tmp = gen_reg_rtx (qimode); + create_output_operand (&ops[0], tmp, qimode); + create_input_operand (&ops[1], gen_lowpart (qimode, v0), + qimode); + create_convert_operand_from_type (&ops[2], shift_amt, + sizetype); + if (maybe_expand_insn (shift_code_qi, 3, ops)) + return gen_lowpart (mode, ops[0].value); + } + } + } + icode = direct_optab_handler (vec_perm_const_optab, mode); if (icode != CODE_FOR_nothing) { diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog index 8ab164e4fca..f4388743644 100644 --- a/gcc/po/ChangeLog +++ b/gcc/po/ChangeLog @@ -1,3 +1,15 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + +2015-11-23 Joseph Myers <joseph@codesourcery.com> + + * zh_CN.po: Update. + +2015-11-16 Joseph Myers <joseph@codesourcery.com> + + * sv.po: Update. + 2015-09-25 Joseph Myers <joseph@codesourcery.com> * tr.po: Update. diff --git a/gcc/po/sv.po b/gcc/po/sv.po index e770e9bc6ed..5699b193f96 100644 --- a/gcc/po/sv.po +++ b/gcc/po/sv.po @@ -17,7 +17,7 @@ msgstr "" "Project-Id-Version: gcc 5.2.0\n" "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n" "POT-Creation-Date: 2015-07-02 12:31+0000\n" -"PO-Revision-Date: 2015-07-30 10:38+0200\n" +"PO-Revision-Date: 2015-11-14 12:24+0100\n" "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "Language: sv\n" @@ -6209,7 +6209,7 @@ msgstr "Varna för funktioner som kan vara kandidater för formatattribut" #: c-family/c.opt:587 msgid "Suggest that the override keyword be used when the declaration of a virtual" -msgstr "FöreslÃ¥ att använda nyckelorder override när deklarationen av en virtuell funktion Ã¥sidosätter en annan" +msgstr "FöreslÃ¥ att använda nyckelordet override när deklarationen av en virtuell funktion Ã¥sidosätter en annan" #: c-family/c.opt:592 msgid "Warn about enumerated switches, with no default, missing a case" @@ -38275,7 +38275,7 @@ msgstr "anakronistisk gammaldags basklassinitierare" #: cp/parser.c:12818 #, gcc-internal-format msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)" -msgstr "nyckelordet %<typename%> är inte tillÃ¥tet i detta sammanhang (en kvalificerat medlemsinitierare är implicit en typ)" +msgstr "nyckelordet %<typename%> är inte tillÃ¥tet i detta sammanhang (en kvalificerad medlemsinitierare är implicit en typ)" #: cp/parser.c:13167 #, gcc-internal-format diff --git a/gcc/po/zh_CN.po b/gcc/po/zh_CN.po index f2d67b9eab1..56686e74b01 100644 --- a/gcc/po/zh_CN.po +++ b/gcc/po/zh_CN.po @@ -2,23 +2,23 @@ # 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-2014. -# +# Jeff Bai <jeffbai@aosc.xyz>, 2015. +# Mingye Wang (Arthur2e5) <arthur200126@gmail.com>, 2015. msgid "" msgstr "" -"Project-Id-Version: gcc 4.9-b20140202\n" +"Project-Id-Version: gcc 5.2.0\n" "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n" "POT-Creation-Date: 2015-07-02 12:31+0000\n" -"PO-Revision-Date: 2014-05-14 14:25-0800\n" -"Last-Translator: Meng Jie <zuxy.meng@gmail.com>\n" +"PO-Revision-Date: 2015-11-21 03:15-0500\n" +"Last-Translator: Mingye Wang (Arthur2e5) <arthur200126@gmail.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Chinese\n" -"X-Poedit-Country: CHINA\n" -"X-Poedit-Basepath: C:\\MSYS\\source\\gcc-4.6.0\\gcc\n" +"X-Poedit-Basepath: C:/MSYS/source/gcc-4.6.0/gcc\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 1.8.6\n" #: cfgrtl.c:2698 msgid "flow control insn inside a basic block" @@ -42,9 +42,9 @@ msgid "[cannot find %s]" msgstr "[找ä¸åˆ° %s]" #: collect2.c:1557 -#, fuzzy, c-format +#, c-format msgid "collect2 version %s\n" -msgstr "collect2 版本 %s" +msgstr "collect2 版本 %s\n" #: collect2.c:1664 #, c-format @@ -92,14 +92,14 @@ msgid "const/copy propagation disabled" msgstr "常é‡/å¤åˆ¶ä¼ 递被ç¦ç”¨" #: diagnostic.c:212 -#, fuzzy, c-format +#, c-format msgid "%s: all warnings being treated as errors" -msgstr "%s:所有的è¦å‘Šéƒ½è¢«å½“作是错误\n" +msgstr "%s:所有的è¦å‘Šéƒ½è¢«å½“作是错误" #: diagnostic.c:217 -#, fuzzy, c-format +#, c-format msgid "%s: some warnings being treated as errors" -msgstr "%s:有些è¦å‘Šè¢«å½“作是错误\n" +msgstr "%s:有些è¦å‘Šè¢«å½“作是错误" #: diagnostic.c:299 input.c:170 c-family/c-opts.c:1300 cp/error.c:1207 #: fortran/cpp.c:591 fortran/error.c:1181 @@ -117,19 +117,18 @@ msgid "compilation terminated due to -fmax-errors=%u.\n" msgstr "编译ä¸æ¢å› 为 -fmax-errors=%u。\n" #: diagnostic.c:534 -#, fuzzy, c-format +#, c-format msgid "" "Please submit a full bug report,\n" "with preprocessed source if appropriate.\n" msgstr "" "请æ交一份完整的错误报告,\n" "如有å¯èƒ½è¯·é™„上ç»é¢„处ç†åŽçš„æºæ–‡ä»¶ã€‚\n" -"具体æ¥éª¤è¯·å‚è§ %s。\n" #: diagnostic.c:540 -#, fuzzy, c-format +#, c-format msgid "See %s for instructions.\n" -msgstr "使用浮点åŒç²¾åº¦æŒ‡ä»¤" +msgstr "å‚阅 %s 以获å–指示。\n" #: diagnostic.c:549 #, c-format @@ -285,9 +284,8 @@ msgid " --target-help Display target specific command line options\n msgstr " --target-help æ˜¾ç¤ºç›®æ ‡æœºå™¨ç‰¹å®šçš„å‘½ä»¤è¡Œé€‰é¡¹\n" #: gcc.c:3177 -#, fuzzy msgid " --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...]\n" -msgstr " --help={target|optimizers|warnings|params|[^]{joined|separate|undocumented}}[,...]\n" +msgstr " --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...]\n" #: gcc.c:3178 msgid " Display specific types of command line options\n" @@ -330,11 +328,10 @@ msgid " -print-prog-name=<prog> Display the full path to compiler component <p msgstr " -print-prog-name=<程åº> 显示编译器组件 <程åº> 的完整路径\n" #: gcc.c:3189 -#, fuzzy msgid "" " -print-multiarch Display the target's normalized GNU triplet, used as\n" " a component in the library path\n" -msgstr " -print-multi-lib 显示命令行选项和多个版本库æœç´¢è·¯å¾„é—´çš„æ˜ å°„\n" +msgstr " -print-multiarch æ˜¾ç¤ºç›®æ ‡çš„æ ‡å‡†åŒ– GNU 三元组(被用于库路径的一部分)\n" #: gcc.c:3192 msgid " -print-multi-directory Display the root directory for versions of libgcc\n" @@ -449,14 +446,12 @@ msgid " -o <file> Place the output into <file>\n" msgstr " -o <文件> 输出到 <文件>\n" #: gcc.c:3224 -#, fuzzy msgid " -pie Create a position independent executable\n" -msgstr "生æˆä½ç½®æ— å…³å¯æ‰§è¡Œæ–‡ä»¶" +msgstr " -pie 生æˆä½ç½®æ— å…³å¯æ‰§è¡Œæ–‡ä»¶\n" #: gcc.c:3225 -#, fuzzy msgid " -shared Create a shared library\n" -msgstr "生æˆä¸€ä¸ªå…±äº«åº“" +msgstr " -shared 生æˆä¸€ä¸ªå…±äº«åº“\n" #: gcc.c:3226 msgid "" @@ -483,9 +478,9 @@ msgstr "" " ä¸åŒå进程。若è¦å‘è¿™äº›è¿›ç¨‹ä¼ é€’å…¶ä»–é€‰é¡¹ï¼Œå¿…é¡»ä½¿ç”¨ -W<å—æ¯> 选项。\n" #: gcc.c:5637 -#, fuzzy, c-format +#, c-format msgid "Processing spec (%s), which is '%s'\n" -msgstr "å¤„ç† spec %c%s%c,å³â€˜%s’\n" +msgstr "å¤„ç† spec (%s),å³â€˜%s’\n" #: gcc.c:6334 #, c-format @@ -515,12 +510,12 @@ msgstr "版本为 %s %sçš„ gcc 驱动程åºï¼Œæ‰§è¡Œç‰ˆæœ¬ä¸º %s çš„ gcc\n" #: gcc.c:6436 gcc.c:6648 #, c-format msgid "The bug is not reproducible, so it is likely a hardware or OS problem.\n" -msgstr "" +msgstr "æ¤ bug ä¸å¯é‡çŽ°ï¼Œå¯èƒ½æ˜¯ç¡¬ä»¶æˆ–æ“作系统问题。\n" #: gcc.c:6572 #, c-format msgid "Preprocessed source stored into %s file, please attach this to your bugreport.\n" -msgstr "" +msgstr "预处ç†åŽçš„æºç 储å˜äºŽæ–‡ä»¶ %s,请将其附在错误报告内。\n" #: gcc.c:7398 #, c-format @@ -576,7 +571,7 @@ msgid "" msgstr "" "\n" "链接器选项\n" -"==============\n" +"=========\n" "\n" #: gcc.c:7846 @@ -596,7 +591,7 @@ msgid "" "\n" msgstr "" "汇编器选项\n" -"=================\n" +"=========\n" "\n" #: gcc.c:9111 @@ -611,111 +606,107 @@ msgstr "" #: gcov-tool.c:166 #, c-format msgid " merge [options] <dir1> <dir2> Merge coverage file contents\n" -msgstr "" +msgstr " merge [选项] <目录1> <目录2> åˆå¹¶æµ‹è¯•è¦†ç›–率文件内容\n" #: gcov-tool.c:167 gcov-tool.c:264 gcov-tool.c:420 -#, fuzzy, c-format -#| msgid " -v, --version Print version number, then exit\n" +#, c-format msgid " -v, --verbose Verbose mode\n" -msgstr " -v, --version 打å°ç‰ˆæœ¬å·å¹¶é€€å‡º\n" +msgstr " -v, --verbo se 输出更多信æ¯\n" #: gcov-tool.c:168 gcov-tool.c:265 -#, fuzzy, c-format -#| msgid " -n, --no-output Do not create an output file\n" +#, c-format msgid " -o, --output <dir> Output directory\n" -msgstr " -n, --no-output ä¸åˆ›å»ºè¾“出文件\n" +msgstr " -o, --output <dir> 输出目录\n" #: gcov-tool.c:169 #, c-format msgid " -w, --weight <w1,w2> Set weights (float point values)\n" -msgstr "" +msgstr " -w, --weight <w1,w2> 设置æƒé‡ï¼ˆæµ®ç‚¹æ•°ï¼‰\n" #: gcov-tool.c:185 #, c-format msgid "Merge subcomand usage:" -msgstr "" +msgstr "Merge å命令用法:" #: gcov-tool.c:263 #, c-format msgid " rewrite [options] <dir> Rewrite coverage file contents\n" -msgstr "" +msgstr " rewrite [选项] <目录> 覆写测试覆盖率文件内容\n" #: gcov-tool.c:266 #, c-format msgid " -s, --scale <float or simple-frac> Scale the profile counters\n" -msgstr "" +msgstr " -s, --scale <浮点数或分数> 按比例缩放é…置计数器\n" #: gcov-tool.c:267 #, c-format msgid " -n, --normalize <long long> Normalize the profile\n" -msgstr "" +msgstr " -n, --normalize <long long> 归一化é…ç½®\n" #: gcov-tool.c:284 #, c-format msgid "Rewrite subcommand usage:" -msgstr "" +msgstr "Rewrite å命令用法:" #: gcov-tool.c:329 #, c-format msgid "scaling cannot co-exist with normalization, skipping\n" -msgstr "" +msgstr "缩放ä¸èƒ½å’Œå½’一化共å˜ï¼Œè·³è¿‡\n" #: gcov-tool.c:342 gcov-tool.c:352 #, c-format msgid "incorrect format in scaling, using 1/1\n" -msgstr "" +msgstr "ç¼©æ”¾æ ¼å¼é”™è¯¯ï¼Œä½¿ç”¨ 1/1\n" #: gcov-tool.c:362 #, c-format msgid "normalization cannot co-exist with scaling\n" -msgstr "" +msgstr "归一化ä¸èƒ½å’Œç¼©æ”¾å…±å˜ï¼Œè·³è¿‡\n" #: gcov-tool.c:419 #, c-format msgid " overlap [options] <dir1> <dir2> Compute the overlap of two profiles\n" -msgstr "" +msgstr " overlap [选项] <目录1> <目录2> 计算两个é…置文件的é‡å \n" #: gcov-tool.c:421 -#, fuzzy, c-format -#| msgid " -h, --help Print this help, then exit\n" +#, c-format msgid " -h, --hotonly Only print info for hot objects/functions\n" -msgstr " -h, --help 打å°æ¤å¸®åŠ©å¹¶é€€å‡º\n" +msgstr " -h, --hotonly åªæ‰“å°çƒå¯¹è±¡/函数的信æ¯\n" #: gcov-tool.c:422 -#, fuzzy, c-format -#| msgid " -h, --help Print this help, then exit\n" +#, c-format msgid " -f, --function Print function level info\n" -msgstr " -h, --help 打å°æ¤å¸®åŠ©å¹¶é€€å‡º\n" +msgstr " -f, --function 打å°å‡½æ•°çº§ä¿¡æ¯\n" #: gcov-tool.c:423 -#, fuzzy, c-format -#| msgid " -h, --help Print this help, then exit\n" +#, c-format msgid " -F, --fullname Print full filename\n" -msgstr " -h, --help 打å°æ¤å¸®åŠ©å¹¶é€€å‡º\n" +msgstr " -F, --fullname 打å°å…¨å\n" #: gcov-tool.c:424 -#, fuzzy, c-format -#| msgid " -h, --help Print this help, then exit\n" +#, c-format msgid " -o, --object Print object level info\n" -msgstr " -h, --help 打å°æ¤å¸®åŠ©å¹¶é€€å‡º\n" +msgstr " -o, --object 打å°å¯¹è±¡çº§ä¿¡æ¯\n" #: gcov-tool.c:425 -#, c-format +#, fuzzy, c-format msgid " -t <float>, --hot_threshold <float> Set the threshold for hotness\n" -msgstr "" +msgstr " -t <浮点数>, --hot_threshold <浮点数> 设置çƒé˜ˆå€¼\n" #: gcov-tool.c:445 #, c-format msgid "Overlap subcomand usage:" -msgstr "" +msgstr "Overlap å命令用法:" #: gcov-tool.c:511 -#, fuzzy, c-format -#| msgid "Usage: %s [OPTIONS]... CLASSNAMEmain [OUTFILE]\n" +#, c-format msgid "" "Usage: %s [OPTION]... SUB_COMMAND [OPTION]...\n" "\n" -msgstr "用法:%s [选项]... mainç±»å [输出文件]\n" +msgstr "" +"用法:%s [选项]... å命令 [选项]...\n" +"\n" +"\n" #: gcov-tool.c:512 #, c-format @@ -723,18 +714,18 @@ msgid "" "Offline tool to handle gcda counts\n" "\n" msgstr "" +"ç”¨äºŽå¤„ç† gcda 计数的离线工具\n" +"\n" #: gcov-tool.c:513 -#, fuzzy, c-format -#| msgid " -h, --help Print this help, then exit\n" +#, c-format msgid " -h, --help Print this help, then exit\n" -msgstr " -h, --help 打å°æ¤å¸®åŠ©å¹¶é€€å‡º\n" +msgstr " -h, --help 打å°æ¤å¸®åŠ©å¹¶é€€å‡º\n" #: gcov-tool.c:514 -#, fuzzy, c-format -#| msgid " -v, --version Print version number, then exit\n" +#, c-format msgid " -v, --version Print version number, then exit\n" -msgstr " -v, --version 打å°ç‰ˆæœ¬å·å¹¶é€€å‡º\n" +msgstr " -v, --version 打å°ç‰ˆæœ¬å·å¹¶é€€å‡º\n" #: gcov-tool.c:518 gcov.c:492 #, c-format @@ -750,7 +741,7 @@ msgstr "" #: gcov-tool.c:529 #, c-format msgid "Copyright %s 2014-2015 Free Software Foundation, Inc.\n" -msgstr "" +msgstr "版æƒæ‰€æœ‰ %s 2014-2015 自由软件基金会.\n" #: gcov-tool.c:532 gcov.c:506 #, c-format @@ -764,12 +755,12 @@ msgstr "" "包括没有适销性和æŸä¸€ä¸“用目的下的适用性担ä¿ã€‚\n" #: gcov.c:472 -#, fuzzy, c-format +#, c-format msgid "" "Usage: gcov [OPTION]... SOURCE|OBJ...\n" "\n" msgstr "" -"用法:gconv [选项]... æºæ–‡ä»¶...\n" +"用法:gconv [选项]... æºæ–‡ä»¶|对象文件...\n" "\n" #: gcov.c:473 @@ -797,7 +788,7 @@ msgid " -b, --branch-probabilities Include branch probabilities in output\ msgstr " -b, --branch-probabilities 输出包å«åˆ†æ”¯æ¦‚率\n" #: gcov.c:477 -#, fuzzy, c-format +#, c-format msgid "" " -c, --branch-counts Output counts of branches taken\n" " rather than percentages\n" @@ -816,7 +807,7 @@ msgstr " -f, --function-summaries 输出æ¯ä¸ªå‡½æ•°çš„å°ç»“ä¿¡æ¯\n" #: gcov.c:481 #, c-format msgid " -i, --intermediate-format Output .gcov file in intermediate text format\n" -msgstr "" +msgstr " -i, --intermediate-format 以ä¸é—´æ–‡æœ¬æ ¼å¼è¾“出 .gcov 文件\n" #: gcov.c:482 #, c-format @@ -828,7 +819,7 @@ msgstr " -l, --long-file-names 为包å«è¿›æ¥çš„æºæ–‡ä»¶ä½¿ç”¨é•¿è¾ #: gcov.c:484 #, c-format msgid " -m, --demangled-names Output demangled function names\n" -msgstr "" +msgstr " -m, --demangled-names 输出解ç åŽçš„函数å\n" #: gcov.c:485 #, c-format @@ -846,14 +837,14 @@ msgid " -p, --preserve-paths Preserve all pathname components\n" msgstr " -p, --preserve-paths ä¿ç•™æ‰€æœ‰è·¯å¾„å\n" #: gcov.c:488 -#, fuzzy, c-format +#, c-format msgid " -r, --relative-only Only show data for relative sources\n" -msgstr " -a, --all-blocks 显示æ¯ä¸ªåŸºæœ¬å—çš„ä¿¡æ¯\n" +msgstr " -r, --relative-only åªæ˜¾ç¤ºç›¸å¯¹æ¥æºçš„ä¿¡æ¯\n" #: gcov.c:489 #, c-format msgid " -s, --source-prefix DIR Source prefix to elide\n" -msgstr "" +msgstr " -s, --source-prefix 目录 è¦ç•¥åŽ»çš„æ¥æºå‰ç¼€\n" #: gcov.c:490 #, c-format @@ -871,24 +862,24 @@ msgid "gcov %s%s\n" msgstr "gcov %s%s\n" #: gcov.c:794 -#, fuzzy, c-format +#, c-format msgid "Creating '%s'\n" -msgstr "%s:æ£åœ¨åˆ›å»ºâ€˜%s’\n" +msgstr "æ£åœ¨åˆ›å»º '%s'\n" #: gcov.c:797 -#, fuzzy, c-format +#, c-format msgid "Error writing output file '%s'\n" -msgstr "%s:写入输出文件‘%s’时出错\n" +msgstr "写入到输出文件 '%s' 时出错\n" #: gcov.c:801 -#, fuzzy, c-format +#, c-format msgid "Could not open output file '%s'\n" -msgstr "%s:ä¸èƒ½æ‰“开输出文件‘%s’\n" +msgstr "æ— æ³•æ‰“å¼€è¾“å‡ºæ–‡ä»¶ '%s'\n" #: gcov.c:806 -#, fuzzy, c-format +#, c-format msgid "Removing '%s'\n" -msgstr "[离开 %s]\n" +msgstr "æ£åœ¨ç§»é™¤ '%s'\n" #: gcov.c:834 gcov.c:890 #, c-format @@ -896,30 +887,29 @@ msgid "\n" msgstr "\n" #: gcov.c:856 -#, fuzzy, c-format +#, c-format msgid "Cannot open intermediate output file %s\n" -msgstr "%sï¼šæ— æ³•æ‰“å¼€è¾“å‡ºæ–‡ä»¶ï¼š%s\n" +msgstr "æ— æ³•æ‰“å¼€ä¸é—´è¾“出文件 %s\n" #: gcov.c:1139 -#, fuzzy, c-format +#, c-format msgid "%s:source file is newer than notes file '%s'\n" -msgstr "%s:æºæ–‡ä»¶è¾ƒå›¾æ–‡ä»¶â€˜%s’新\n" +msgstr "%sæºæ–‡ä»¶è¾ƒè¯´æ˜Žæ–‡ä»¶â€˜%s’新\n" #: gcov.c:1144 -#, fuzzy, c-format -#| msgid "(the message is only displayed one per source file)\n" +#, c-format msgid "(the message is displayed only once per source file)\n" -msgstr "(æ¯ä¸ªæºæ–‡ä»¶åªæ˜¾ç¤ºä¸€æ¡ä¿¡æ¯)\n" +msgstr "(æ¤ä¿¡æ¯åªå¯¹æ¯ä¸ªæºæ–‡ä»¶æ˜¾ç¤ºä¸€æ¬¡)\n" #: gcov.c:1169 -#, fuzzy, c-format +#, c-format msgid "%s:cannot open notes file\n" -msgstr "%sï¼šæ— æ³•æ‰“å¼€æºæ–‡ä»¶\n" +msgstr "%s:æ— æ³•æ‰“å¼€è¯´æ˜Žæ–‡ä»¶\n" #: gcov.c:1175 -#, fuzzy, c-format +#, c-format msgid "%s:not a gcov notes file\n" -msgstr "%s:ä¸æ˜¯ä¸€ä¸ª gcov æ•°æ®æ–‡ä»¶\n" +msgstr "%s:ä¸æ˜¯ä¸€ä¸ª gcov 说明文件\n" #: gcov.c:1188 #, c-format @@ -957,9 +947,9 @@ msgid "%s:version '%.4s', prefer version '%.4s'\n" msgstr "%s:版本‘%.4s’,首选版本‘%.4s’\n" #: gcov.c:1417 -#, fuzzy, c-format +#, c-format msgid "%s:stamp mismatch with notes file\n" -msgstr "%s:时间戳与图文件ä¸åŒ¹é…\n" +msgstr "%s:时间戳与说明文件ä¸åŒ¹é…\n" #: gcov.c:1452 #, c-format @@ -1072,9 +1062,9 @@ msgid "unconditional %2d never executed\n" msgstr "æ— æ¡ä»¶ %2d 从未执行\n" #: gcov.c:2424 -#, fuzzy, c-format +#, c-format msgid "Cannot open source file %s\n" -msgstr "%sï¼šæ— æ³•æ‰“å¼€æºæ–‡ä»¶\n" +msgstr "æ— æ³•æ‰“å¼€æºæ–‡ä»¶ %s\n" #: gcse.c:2601 msgid "PRE disabled" @@ -1091,7 +1081,6 @@ msgstr "函数返回局部å˜é‡çš„地å€" #: gimple-ssa-isolate-paths.c:443 gimple-ssa-isolate-paths.c:316 #, fuzzy, gcc-internal-format -#| msgid "function returns address of local variable" msgid "function may return address of local variable" msgstr "函数返回局部å˜é‡çš„地å€" @@ -1138,7 +1127,7 @@ msgstr "’" #: ipa-pure-const.c:218 #, fuzzy msgid "function might be candidate for attribute %<%s%>" -msgstr "函数å¯èƒ½æ˜¯%<noreturn%>属性的备选" +msgstr "函数å¯èƒ½æ˜¯%qsformat 属性的备选" #: ipa-pure-const.c:219 #, fuzzy @@ -1160,14 +1149,12 @@ msgid "In function %qs" msgstr "在函数%qsä¸" #: langhooks.c:477 cp/error.c:3205 -#, fuzzy msgid " inlined from %qs at %r%s:%d:%d%R" -msgstr " 内è”自%qs于 %s:%d:%d" +msgstr " 内è”自%qs于 %r%s:%d:%d%R" #: langhooks.c:482 cp/error.c:3210 -#, fuzzy msgid " inlined from %qs at %r%s:%d%R" -msgstr " 内è”自%qs于 %s:%d" +msgstr " 内è”自%qs于 %r%s:%d%R" #: langhooks.c:488 cp/error.c:3216 #, c-format @@ -1206,7 +1193,7 @@ msgstr "æ¤å¼€å…³ç¼ºå°‘å¯ç”¨æ–‡æ¡£" #: opts.c:1014 #, c-format msgid "default %d minimum %d maximum %d" -msgstr "" +msgstr "默认 %d æœ€å° %d 最大 %d" #: opts.c:1121 msgid "[default]" @@ -1402,7 +1389,7 @@ msgstr "ä¸è€ƒè™‘内è”函数" #: cif-code.def:43 #, fuzzy msgid "caller is not optimized" -msgstr "%qE未ç»åˆå§‹åŒ–" +msgstr "调用边计数为负" #: cif-code.def:47 msgid "function body not available" @@ -1470,8 +1457,9 @@ msgid "indirect function call with a yet undetermined callee" msgstr "é—´æŽ¥å‡½æ•°è°ƒç”¨ç›®æ ‡æœªå®šä¹‰" #: cif-code.def:104 +#, fuzzy msgid "exception handling personality mismatch" -msgstr "" +msgstr "å¯ç”¨å¼‚常处ç†" #: cif-code.def:109 #, fuzzy @@ -1484,16 +1472,15 @@ msgstr "ç›®æ ‡ç›¸å…³çš„é€‰é¡¹ä¸åŒ¹é…" #: cif-code.def:117 msgid "optimization level attribute mismatch" -msgstr "" +msgstr "优化ç‰çº§å±žæ€§ä¸åŒ¹é…" #: cif-code.def:121 msgid "callee refers to comdat-local symbols" -msgstr "" +msgstr "被调用者是指 comdat 本地符å·" #: cif-code.def:125 -#, fuzzy msgid "function attribute mismatch" -msgstr "函数%q+Dé‡å£°æ˜Žä¸ºå¸¦æœ‰ä¸å¯å†…è”属性" +msgstr "函数属性ä¸åŒ¹é…" #: cif-code.def:129 #, fuzzy @@ -1501,10 +1488,8 @@ msgid "caller function contains cilk spawn" msgstr "虚函数ä¸èƒ½æ˜¯å‹å…ƒ" #: cif-code.def:133 -#, fuzzy -#| msgid "unrecoverable error" msgid "unreachable" -msgstr "ä¸å¯æ¢å¤é”™è¯¯" +msgstr "ä¸å¯è¾¾" #. The remainder are real diagnostic types. #: diagnostic.def:33 @@ -1685,8 +1670,9 @@ msgid "Cost at which GCSE optimizations will not constraint the distance an expr msgstr "指定 GCSE 优化ä¸çº¦æŸä¸€ä¸ªè¡¨è¾¾å¼èƒ½è¢«ç§»åŠ¨çš„è·ç¦»æ—¶çš„代价" #: params.def:262 +#, fuzzy msgid "Maximum depth of search in the dominator tree for expressions to hoist" -msgstr "" +msgstr "最大值深度的æœç´¢åœ¨ä¸ dominator æ ‘ç”¨äºŽè¿ç®—å¼åˆ° hoist" #: params.def:274 msgid "The maximum number of instructions to consider to unroll in a loop" @@ -1750,8 +1736,9 @@ msgid "A factor for tuning the upper bound that swing modulo scheduler uses for msgstr "调整摆动模调度器调度循环时使用的上é™çš„ä¸€ä¸ªå› ç´ " #: params.def:355 +#, fuzzy msgid "The minimum value of stage count that swing modulo scheduler will generate." -msgstr "" +msgstr "最å°å€¼çš„阶段计数该 Swing 类别 modulo 调度程åºå°†äº§ç”Ÿã€‚" #: params.def:359 msgid "The number of cycles the swing modulo scheduler considers when checking conflicts using DFA" @@ -1861,7 +1848,7 @@ msgstr "ç”¨åœ¨æ ‡é‡æ¼”化分æžå™¨ä¸çš„表达å¼çš„大å°ä¸Šé™" #: params.def:517 #, fuzzy msgid "Bound on the complexity of the expressions in the scalar evolutions analyzer" -msgstr "æ†ç»‘äºŽè¢«ä½¿ç”¨åœ¨æ ‡é‡æ¼”化分æžå™¨ä¸çš„表达å¼çš„大å°" +msgstr "ç”¨åœ¨æ ‡é‡æ¼”化分æžå™¨ä¸çš„表达å¼çš„大å°ä¸Šé™" #: params.def:522 msgid "Bound on the number of variables in Omega constraint systems" @@ -1920,8 +1907,9 @@ msgid "The maximum number of instructions to search backward when looking for eq msgstr "åŽå‘æœç´¢ä»¥å¯»æ‰¾ç‰ä»·é‡è½½å…¥æ—¶è¦æœç´¢çš„最大指令数é‡" #: params.def:603 +#, fuzzy msgid "Target block's relative execution frequency (as a percentage) required to sink a statement" -msgstr "" +msgstr "ç›®æ ‡åŒºå—相对的è¿è¡Œé¢‘率 (作为百分比) å¿…è¦é¡¹åˆ°æ§½å™è¿°" #: params.def:608 params.def:618 msgid "The maximum number of blocks in a region to be considered for interblock scheduling" @@ -1977,7 +1965,6 @@ msgstr "å¯ä»¥è¢«è®°ä½œç»„åˆå™¨çš„最终值的最大 RTL 节点数" #: params.def:683 #, fuzzy -#| msgid "The maximum number of incoming edges to consider for crossjumping" msgid "The maximum number of insns combine tries to combine" msgstr "考虑进行交å‰è·³è½¬çš„最大入边数é‡" @@ -2006,8 +1993,9 @@ msgid "The maximum number of instructions ready to be issued to be considered by msgstr "首趟调度考虑准备生æˆçš„指令的最大数é‡" #: params.def:741 +#, fuzzy msgid "Maximum number of active local stores in RTL dead store elimination" -msgstr "" +msgstr "最大值现用本地ä¿å˜æ•°é‡åœ¨ä¸ RTL æ— ä½œç”¨ä¿å˜ä½“ elimination" #: params.def:751 msgid "The number of insns executed before prefetch is completed" @@ -2042,8 +2030,9 @@ msgid "Maximum size of a SCC before SCCVN stops processing a function" msgstr "在 SCCVN åœæ¢å¤„ç†ä¸€ä¸ªå‡½æ•°ä»¥å‰ SCC 的最大尺寸" #: params.def:816 +#, fuzzy msgid "Maximum number of disambiguations to perform per memory access" -msgstr "" +msgstr "最大值æ¡ä»¶ä¿å˜å¯¹æ•°é‡è¯¥å¯ä»¥æ˜¯ sunk" #: params.def:821 msgid "Max loops number for regional RA" @@ -2090,8 +2079,9 @@ msgid "maximum number of basic blocks per function to be analyzed by Graphite" msgstr "Graphite å¯åˆ†æžçš„æ¯å‡½æ•°æ‰€åŒ…å«çš„基本å—æ•°é‡ä¸Šé™" #: params.def:892 +#, fuzzy msgid "Maximum number of datarefs in loop for building loop data dependencies" -msgstr "" +msgstr "最大值 datarefs æ•°é‡å¾ªçŽ¯ç”¨äºŽåˆ›å»ºå¾ªçŽ¯æ•°æ®ä¾å˜æ€§" #: params.def:899 msgid "Max basic blocks number in loop for loop invariant motion" @@ -2099,7 +2089,6 @@ msgstr "用作循环ä¸å˜é‡è½¬ç§»çš„循环ä¸åŸºæœ¬å—的最大数é‡" #: params.def:907 #, fuzzy -#| msgid "invalid function in gimple call" msgid "use internal function id in profile lookup" msgstr "gimple 调用ä¸æœ‰éžæ³•å‡½æ•°" @@ -2124,8 +2113,9 @@ msgid "Max. size of var tracking hash tables" msgstr "å˜é‡è·Ÿè¸ªæ•£åˆ—表的最大尺寸" #: params.def:947 +#, fuzzy msgid "Max. recursion depth for expanding var tracking expressions" -msgstr "" +msgstr "最大递归深度用于展开 var 追踪è¿ç®—å¼" #: params.def:955 msgid "Max. size of loc list for which reverse ops should be added" @@ -2140,8 +2130,9 @@ msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a point msgstr "IPA-SRA 考虑将指å‘çš„èšåˆçš„指针替æ¢ä¸ºå‚数时这些å‚数总和大å°ç›¸å¯¹åŽŸæŒ‡é’ˆå‚数大å°å€æ•°çš„最大值" #: params.def:973 +#, fuzzy msgid "Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs" -msgstr "" +msgstr "大å°åœ¨ä¸å—节之åŽè¯¥é¡¹ thread-local 汇总应该被器具与记录档函数以代替ä¿å˜/还原对" #: params.def:980 msgid "Maximum size, in storage units, of an aggregate which should be considered for scalarization when compiling for speed" @@ -2152,12 +2143,14 @@ msgid "Maximum size, in storage units, of an aggregate which should be considere msgstr "" #: params.def:992 +#, fuzzy msgid "Maximum size of a list of values associated with each parameter for interprocedural constant propagation" -msgstr "" +msgstr "最大容é‡çš„值清å•çš„å…³è”的与æ¯ä¸ªå‚数用于 interprocedural å¸¸æ•°ä¼ ç”¨" #: params.def:998 +#, fuzzy msgid "Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone." -msgstr "" +msgstr "临界值 ipa-cp 机会求值该ä»ç„¶æ˜¯è®¤ä¸ºçš„ beneficial 到仿本。" #: params.def:1004 msgid "Percentage penalty the recursive functions will receive when they are evaluated for cloning." @@ -2184,12 +2177,14 @@ msgid "Maximum number of statements that will be visited by IPA formal parameter msgstr "" #: params.def:1042 +#, fuzzy msgid "Number of partitions the program should be split to" -msgstr "" +msgstr "分割区数é‡ç¨‹åºåº”该是分割到" #: params.def:1047 +#, fuzzy msgid "Minimal size of a partition for LTO (in estimated instructions)" -msgstr "" +msgstr "最少大å°çš„分割用于 LTO (在ä¸ä¼°è®¡çš„指令)" #: params.def:1054 #, fuzzy @@ -2202,28 +2197,34 @@ msgid "Maximum number of conditional store pairs that can be sunk" msgstr "指定一æ¡æŒ‡ä»¤æœ€å¤šèƒ½è¢«è°ƒåº¦å‡ 次" #: params.def:1069 +#, fuzzy msgid "The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine" -msgstr "" +msgstr "最å°ä¸åŒçš„值数é‡ç”¨äºŽè¯¥é¡¹å®ƒæ˜¯æœ€ä½³ä»¥ä½¿ç”¨è·³è·ƒå¼è¡¨æ ¼ä»¥ä»£æ›¿æ ‘çš„æ¡ä»¶åˆ†æ”¯ï¼Œå¦‚æžœ 0, 使用缺çœç”¨äºŽæœºå™¨" #: params.def:1077 +#, fuzzy msgid "Allow new data races on stores to be introduced" -msgstr "" +msgstr "å…许新数æ®ç«žé€ŸäºŽä¿å˜ä¸ºå¼•ä»‹" #: params.def:1083 +#, fuzzy msgid "Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic." -msgstr "" +msgstr "设置最大值指令数é‡è¿è¡Œçš„在ä¸å¹³è¡Œåœ¨ä¸ reassociated æ ‘ã€‚å¦‚æžœ 0, ä½¿ç”¨ç›®æ ‡é™„å±žè¯•æŽ¢ã€‚" #: params.def:1089 +#, fuzzy msgid "Maximum amount of similar bbs to compare a bb with" -msgstr "" +msgstr "最大值数目的类似的 bbs 到比较 bb 与" #: params.def:1094 +#, fuzzy msgid "Maximum amount of iterations of the pass over a function" -msgstr "" +msgstr "最大值数目的åå¤è¿ç®—的回åˆä¹‹ä¸Šå‡½æ•°" #: params.def:1101 +#, fuzzy msgid "Maximum number of strings for which strlen optimization pass will track string lengths" -msgstr "" +msgstr "最大值å—串数é‡ç”¨äºŽè¯¥é¡¹ strlen 最佳化回åˆå°†è½¨æ®µå—串长度" #: params.def:1108 msgid "Which -fsched-pressure algorithm to apply" @@ -2236,7 +2237,7 @@ msgstr "" #: params.def:1120 #, fuzzy msgid "Enable asan stack protection" -msgstr "å¯ç”¨å †æ ˆæŽ¢æµ‹" +msgstr "为æ¯ä¸ªå‡½æ•°ä½¿ç”¨å †æ ˆä¿æŠ¤æœºåˆ¶" #: params.def:1125 #, fuzzy @@ -2281,13 +2282,11 @@ msgstr "" #: params.def:1173 #, fuzzy -#| msgid "maximum number of basic blocks per function to be analyzed by Graphite" msgid "Maximum number of basic blocks on a finite state automaton jump thread path" msgstr "Graphite å¯åˆ†æžçš„æ¯å‡½æ•°æ‰€åŒ…å«çš„基本å—æ•°é‡ä¸Šé™" #: params.def:1178 #, fuzzy -#| msgid "Maximum number of nops to insert for a hint (Default 2)" msgid "Maximum number of new jump thread paths to create for a finite state automaton" msgstr "为实现跳转æ示æ’入的 nop 的最大数(默认 2)" @@ -2577,7 +2576,7 @@ msgstr "代ç ‘%c’的æ“ä½œæ•°æ— æ•ˆ" #: config/aarch64/aarch64.c:4412 config/aarch64/aarch64.c:4429 #, fuzzy, c-format msgid "invalid operand for '%%%c'" -msgstr "代ç ‘%c’的æ“ä½œæ•°æ— æ•ˆ" +msgstr "æ— æ•ˆçš„æ“作数代ç ‘%c’" #: config/aarch64/aarch64.c:4182 config/aarch64/aarch64.c:4195 #: config/aarch64/aarch64.c:4205 @@ -2593,17 +2592,17 @@ msgstr "缺少æ“作数" #: config/aarch64/aarch64.c:4315 #, fuzzy, c-format msgid "invalid constant" -msgstr "æ— æ•ˆæŒ‡ä»¤ï¼š" +msgstr "%<#pragma pack%>ä¸æœ‰æ— æ•ˆå¸¸é‡ - 已忽略" #: config/aarch64/aarch64.c:4318 #, fuzzy, c-format msgid "invalid operand" -msgstr "æ— æ•ˆçš„ %%d æ“作数" +msgstr "%%R 代ç çš„æ“ä½œæ•°æ— æ•ˆ" #: config/aarch64/aarch64.c:4440 #, fuzzy, c-format msgid "invalid operand prefix '%%%c'" -msgstr "æ— æ•ˆçš„æ“作数代ç ‘%c’" +msgstr "‘%%%c’ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„æ“作数å‰ç¼€" #: config/alpha/alpha.c:5173 config/i386/i386.c:15897 #: config/rs6000/rs6000.c:19130 config/sparc/sparc.c:8825 @@ -2698,22 +2697,22 @@ msgstr "æ— æ•ˆçš„ %%xn 代ç " #: config/alpha/alpha.c:5600 #, fuzzy, c-format msgid "invalid operand address" -msgstr "æ— æ•ˆçš„å¼•ç”¨å‰ç¼€" +msgstr "fr30_print_operand:未处ç†çš„指针" #: config/arc/arc.c:2824 #, fuzzy, c-format msgid "invalid operand to %%Z code" -msgstr "%%R 代ç çš„æ“ä½œæ•°æ— æ•ˆ" +msgstr "‘z’修饰符的æ“ä½œæ•°æ— æ•ˆ" #: config/arc/arc.c:2832 #, fuzzy, c-format msgid "invalid operand to %%z code" -msgstr "%%R 代ç çš„æ“ä½œæ•°æ— æ•ˆ" +msgstr "‘z’修饰符的æ“ä½œæ•°æ— æ•ˆ" #: config/arc/arc.c:2840 #, fuzzy, c-format msgid "invalid operand to %%M code" -msgstr "%%R 代ç çš„æ“ä½œæ•°æ— æ•ˆ" +msgstr "‘m’修饰符的æ“ä½œæ•°æ— æ•ˆ" #: config/arc/arc.c:2986 config/m32r/m32r.c:2126 #, c-format @@ -2738,7 +2737,7 @@ msgstr "%%V 代ç çš„æ“ä½œæ•°æ— æ•ˆ" #: config/arc/arc.c:3141 #, fuzzy, c-format msgid "invalid operand to %%O code" -msgstr "%%R 代ç çš„æ“ä½œæ•°æ— æ•ˆ" +msgstr "‘o’修饰符的æ“ä½œæ•°æ— æ•ˆ" #. Unknown flag. #. Undocumented flag. @@ -2790,9 +2789,9 @@ msgstr "指令从ä¸è¢«æ‰§è¡Œ" #. Former Maverick support, removed after GCC-4.7. #: config/arm/arm.c:21913 -#, c-format +#, fuzzy, c-format msgid "obsolete Maverick format code '%c'" -msgstr "" +msgstr "ä¸å—支æŒçš„算符用于编ç ‘%c’" #: config/arm/arm.c:23339 msgid "function parameters cannot have __fp16 type" @@ -2815,12 +2814,14 @@ msgstr "输出æ“作数 %d 必须使用%<&%>约æŸ" #: config/avr/avr.c:2360 config/avr/avr.c:2426 #, fuzzy msgid "bad address, not an I/O address:" -msgstr "地å€é”™è¯¯ï¼Œä¸æ˜¯(reg+disp):" +msgstr "" +"\n" +"错误:ä¸å½“的地å€åœ¨ From: æ ‡å¤´å†…ã€‚\n" #: config/avr/avr.c:2369 #, fuzzy msgid "bad address, not a constant:" -msgstr "错误的地å€ï¼Œä¸æ˜¯ä¸€ä¸ªå¸¸é‡):" +msgstr "地å€å移é‡ä¸æ˜¯ä¸€ä¸ªå¸¸é‡" #: config/avr/avr.c:2387 config/avr/avr.c:2394 msgid "bad address, not (reg+disp):" @@ -2835,9 +2836,9 @@ msgid "internal compiler error. Bad address:" msgstr "编译器内部错误。错误的地å€ï¼š" #: config/avr/avr.c:2445 -#, c-format +#, fuzzy, c-format msgid "Unsupported code '%c' for fixed-point:" -msgstr "" +msgstr "C++ ä¸æ”¯æŒå®šç‚¹ç±»åž‹" #: config/avr/avr.c:2454 msgid "internal compiler error. Unknown mode:" @@ -2881,12 +2882,12 @@ msgid "" msgstr "在æˆå‘˜å‡½æ•°%qsä¸" #: config/avr/driver-avr.c:118 -#, c-format +#, fuzzy, c-format msgid "" "'%s': mmcu='%s'\n" "'%s': specfile='%s'\n" "\n" -msgstr "" +msgstr "æŸ¥æ‰¾çš„è§„æ ¼æ¡£ç”¨äºŽå¹³å°ï¼š%s\n" #: config/bfin/bfin.c:1424 #, c-format @@ -3129,12 +3130,12 @@ msgstr "æ— æ•ˆçš„ UNSPEC 用作æ“作数" #: config/i386/i386.c:15521 #, fuzzy, c-format msgid "invalid operand size for operand code 'O'" -msgstr "æ“作数代ç ‘%c’的æ“作数大å°æ— 效" +msgstr "fr30_print_operand:%%A 代ç æ“ä½œæ•°æ— æ•ˆ" #: config/i386/i386.c:15556 #, fuzzy, c-format msgid "invalid operand size for operand code 'z'" -msgstr "æ“作数代ç ‘%c’的æ“作数大å°æ— 效" +msgstr "‘z’修饰符的æ“ä½œæ•°æ— æ•ˆ" #: config/i386/i386.c:15626 #, fuzzy, c-format @@ -3144,7 +3145,7 @@ msgstr "æ“作数代ç ‘%c’的æ“ä½œæ•°ç±»åž‹æ— æ•ˆ" #: config/i386/i386.c:15631 #, fuzzy, c-format msgid "invalid operand size for operand code 'Z'" -msgstr "æ“作数代ç ‘%c’的æ“作数大å°æ— 效" +msgstr "‘z’修饰符的æ“ä½œæ•°æ— æ•ˆ" #: config/i386/i386.c:15707 #, c-format @@ -3307,17 +3308,16 @@ msgstr "空指针" #: config/microblaze/microblaze.c:2269 #, fuzzy, c-format msgid "PRINT_OPERAND, invalid insn for %%C" -msgstr "æ— æ•ˆçš„ Z 寄å˜å™¨æ›¿æ¢" +msgstr "frv_print_operand ä¸æœ‰é”™è¯¯æŒ‡ä»¤ï¼Œz case" #: config/microblaze/microblaze.c:2298 #, fuzzy, c-format msgid "PRINT_OPERAND, invalid insn for %%N" -msgstr "æ— æ•ˆçš„ Z 寄å˜å™¨æ›¿æ¢" +msgstr "%%N 代ç çš„æ“ä½œæ•°æ— æ•ˆ" #: config/microblaze/microblaze.c:2318 config/microblaze/microblaze.c:2498 -#, fuzzy msgid "insn contains an invalid address !" -msgstr "æ— æ•ˆçš„ Z 寄å˜å™¨æ›¿æ¢" +msgstr "指令包å«æ— 效地å€ï¼" #: config/microblaze/microblaze.c:2333 config/microblaze/microblaze.c:2557 #: config/xtensa/xtensa.c:2478 @@ -3327,7 +3327,7 @@ msgstr "æ— æ•ˆåœ°å€" #: config/microblaze/microblaze.c:2441 #, c-format msgid "letter %c was found & insn was not CONST_INT" -msgstr "" +msgstr "找到å—æ¯ %c 且指令ä¸æ˜¯ CONST_INT" #: config/mips/mips.c:8400 config/mips/mips.c:8427 config/mips/mips.c:8562 #, c-format @@ -3391,12 +3391,12 @@ msgstr "æ— æ•ˆçš„å¼•ç”¨å‰ç¼€" #: config/msp430/msp430.c:2698 #, fuzzy, c-format msgid "invalid zero extract" -msgstr "æ— æ•ˆçš„ %%d æ“作数" +msgstr "被零除" #: config/rl78/rl78.c:1771 config/rl78/rl78.c:1831 -#, c-format +#, fuzzy, c-format msgid "q/Q modifiers invalid for symbol references" -msgstr "" +msgstr "q/Q ä¿®é¥°é”®æ— æ•ˆçš„ç”¨äºŽç¬¦å·å‚考" #: config/rs6000/host-darwin.c:94 #, c-format @@ -3433,9 +3433,8 @@ msgid "-mno-altivec disables vsx" msgstr "-mno-altivec ç¦ç”¨äº† VSX" #: config/rs6000/rs6000.c:3652 -#, fuzzy msgid "-mquad-memory requires 64-bit mode" -msgstr "--resource éœ€è¦ -o" +msgstr "-mquad-memory éœ€è¦ 64 ä½æ¨¡å¼" #: config/rs6000/rs6000.c:3655 msgid "-mquad-memory-atomic requires 64-bit mode" @@ -3451,10 +3450,9 @@ msgid "bad move" msgstr "错误的移动" #: config/rs6000/rs6000.c:18534 -#, fuzzy, c-format -#| msgid "invalid %%H value" +#, c-format msgid "invalid %%e value" -msgstr "æ— æ•ˆ %%H 值" +msgstr "æ— æ•ˆ %%e 值" #: config/rs6000/rs6000.c:18555 #, c-format @@ -3546,9 +3544,9 @@ msgid "Unable to generate load offset for fusion" msgstr "æ— æ³•ç”Ÿæˆé‡æ–°è½½å…¥ï¼Œä¸ºï¼š" #: config/s390/s390.c:5396 -#, c-format +#, fuzzy, c-format msgid "symbolic memory references are only supported on z10 or later" -msgstr "" +msgstr "符å·å†…å˜å‚考是åªæœ‰æ”¯æŒçš„于 z10 或ç¨åŽ" #: config/s390/s390.c:5407 #, c-format @@ -3566,19 +3564,19 @@ msgid "invalid reference for 'J' output modifier" msgstr "‘b’修饰符的æ“ä½œæ•°æ— æ•ˆ" #: config/s390/s390.c:5510 -#, c-format +#, fuzzy, c-format msgid "memory reference expected for 'O' output modifier" -msgstr "" +msgstr "内å˜å‚考预期的用于‘O’输出修饰键" #: config/s390/s390.c:5521 #, fuzzy, c-format msgid "invalid address for 'O' output modifier" -msgstr "‘O’修饰符的æ“ä½œæ•°æ— æ•ˆ" +msgstr "‘o’修饰符的æ“ä½œæ•°æ— æ•ˆ" #: config/s390/s390.c:5539 -#, c-format +#, fuzzy, c-format msgid "memory reference expected for 'R' output modifier" -msgstr "" +msgstr "内å˜å‚考预期的用于‘R’输出修饰键" #: config/s390/s390.c:5550 #, fuzzy, c-format @@ -3586,24 +3584,24 @@ msgid "invalid address for 'R' output modifier" msgstr "‘b’修饰符的æ“ä½œæ•°æ— æ•ˆ" #: config/s390/s390.c:5568 -#, c-format +#, fuzzy, c-format msgid "memory reference expected for 'S' output modifier" -msgstr "" +msgstr "内å˜å‚考预期的用于‘S’输出修饰键" #: config/s390/s390.c:5578 #, fuzzy, c-format msgid "invalid address for 'S' output modifier" -msgstr "‘b’修饰符的æ“ä½œæ•°æ— æ•ˆ" +msgstr "%sï¼šæ— æ•ˆçš„è¾“å‡ºæ ¼å¼" #: config/s390/s390.c:5599 -#, c-format +#, fuzzy, c-format msgid "register or memory expression expected for 'N' output modifier" -msgstr "" +msgstr "æš‚å˜å™¨æˆ–内å˜è¿ç®—å¼é¢„期的用于‘N’输出修饰键" #: config/s390/s390.c:5610 -#, c-format +#, fuzzy, c-format msgid "register or memory expression expected for 'M' output modifier" -msgstr "" +msgstr "æš‚å˜å™¨æˆ–内å˜è¿ç®—å¼é¢„期的用于‘公尺’输出修饰键" #: config/s390/s390.c:5685 config/s390/s390.c:5705 #, fuzzy, c-format @@ -3623,7 +3621,7 @@ msgstr "æ— æ•ˆçš„æœ€å°å·¦å€¼è¡¨è¾¾å¼" #: config/s390/s390.c:5715 #, fuzzy, c-format msgid "invalid expression for output modifier '%c'" -msgstr "æ— æ•ˆçš„æœ€å°å·¦å€¼è¡¨è¾¾å¼" +msgstr "C++ ä¸å…许在%qs表达å¼ä¸å®šä¹‰ç±»åž‹" #: config/sh/sh.c:1323 #, c-format @@ -3666,12 +3664,12 @@ msgstr "æ— æ•ˆçš„ %%B æ“作数" #: config/tilepro/tilepro.c:4550 #, fuzzy, c-format msgid "invalid %%C operand" -msgstr "æ— æ•ˆçš„ %%P æ“作数" +msgstr "æ— æ•ˆçš„ %%c æ“作数" #: config/sparc/sparc.c:8966 config/tilegx/tilegx.c:5167 #, fuzzy, c-format msgid "invalid %%D operand" -msgstr "æ— æ•ˆçš„ %%P æ“作数" +msgstr "æ— æ•ˆçš„ %%d æ“作数" #: config/sparc/sparc.c:8982 #, c-format @@ -3726,27 +3724,27 @@ msgstr "æ— æ•ˆçš„ %%d æ“作数" #: config/tilegx/tilegx.c:5247 #, fuzzy, c-format msgid "invalid %%H specifier" -msgstr "æ— æ•ˆ %%L 代ç " +msgstr "%%H/%%L 代ç çš„æ“ä½œæ•°æ— æ•ˆ" #: config/tilegx/tilegx.c:5289 config/tilepro/tilepro.c:4564 #, fuzzy, c-format msgid "invalid %%h operand" -msgstr "æ— æ•ˆçš„ %%P æ“作数" +msgstr "%%H/%%L 代ç çš„æ“ä½œæ•°æ— æ•ˆ" #: config/tilegx/tilegx.c:5301 config/tilepro/tilepro.c:4628 #, fuzzy, c-format msgid "invalid %%I operand" -msgstr "æ— æ•ˆçš„ %%P æ“作数" +msgstr "æ— æ•ˆçš„ %%A æ“作数" #: config/tilegx/tilegx.c:5315 config/tilepro/tilepro.c:4642 #, fuzzy, c-format msgid "invalid %%i operand" -msgstr "æ— æ•ˆçš„ %%P æ“作数" +msgstr "æ— æ•ˆçš„ %%A æ“作数" #: config/tilegx/tilegx.c:5338 config/tilepro/tilepro.c:4665 -#, fuzzy, c-format +#, c-format msgid "invalid %%j operand" -msgstr "æ— æ•ˆçš„ %%P æ“作数" +msgstr "æ— æ•ˆ %%j è¿ç®—符" #: config/tilegx/tilegx.c:5369 #, fuzzy, c-format @@ -3756,47 +3754,47 @@ msgstr "æ— æ•ˆçš„ %%c æ“作数" #: config/tilegx/tilegx.c:5384 config/tilepro/tilepro.c:4779 #, fuzzy, c-format msgid "invalid %%N operand" -msgstr "æ— æ•ˆçš„ %%P æ“作数" +msgstr "%%N 代ç çš„æ“ä½œæ•°æ— æ•ˆ" #: config/tilegx/tilegx.c:5428 #, fuzzy, c-format msgid "invalid operand for 'r' specifier" -msgstr "‘b’修饰符的æ“ä½œæ•°æ— æ•ˆ" +msgstr "%%R 代ç çš„æ“ä½œæ•°æ— æ•ˆ" #: config/tilegx/tilegx.c:5453 config/tilepro/tilepro.c:4861 -#, c-format +#, fuzzy, c-format msgid "unable to print out operand yet; code == %d (%c)" -msgstr "" +msgstr "æ— æ³•å°å‡ºç®—符未;编ç ==%d (%c)" #: config/tilepro/tilepro.c:4600 #, fuzzy, c-format msgid "invalid %%H operand" -msgstr "æ— æ•ˆçš„ %%P æ“作数" +msgstr "%%H/%%L 代ç çš„æ“ä½œæ•°æ— æ•ˆ" #: config/tilepro/tilepro.c:4704 #, fuzzy, c-format msgid "invalid %%L operand" -msgstr "æ— æ•ˆçš„ %%P æ“作数" +msgstr "%%H/%%L 代ç çš„æ“ä½œæ•°æ— æ•ˆ" #: config/tilepro/tilepro.c:4764 #, fuzzy, c-format msgid "invalid %%M operand" -msgstr "æ— æ•ˆçš„ %%P æ“作数" +msgstr "‘m’修饰符的æ“ä½œæ•°æ— æ•ˆ" #: config/tilepro/tilepro.c:4807 #, fuzzy, c-format msgid "invalid %%t operand" -msgstr "æ— æ•ˆçš„ %%P æ“作数" +msgstr "%%T/%%B 代ç çš„æ“ä½œæ•°æ— æ•ˆ" #: config/tilepro/tilepro.c:4814 #, fuzzy, c-format msgid "invalid %%t operand '" -msgstr "æ— æ•ˆçš„ %%P æ“作数" +msgstr "%%T/%%B 代ç çš„æ“ä½œæ•°æ— æ•ˆ" #: config/tilepro/tilepro.c:4835 #, fuzzy, c-format msgid "invalid %%r operand" -msgstr "æ— æ•ˆçš„ %%P æ“作数" +msgstr "%%R çš„æ“ä½œæ•°æ— æ•ˆ" #: config/v850/v850.c:324 msgid "const_double_split got a bad insn:" @@ -3827,31 +3825,26 @@ msgstr "æ£€æµ‹åˆ°æ— æ•ˆçš„æ“作数" #: config/visium/visium.c:3146 #, fuzzy -#| msgid "illegal operand detected" msgid "illegal operand " -msgstr "æ£€æµ‹åˆ°æ— æ•ˆçš„æ“作数" +msgstr "ä¸åˆæ³•çš„ç®—å" #: config/visium/visium.c:3196 #, fuzzy -#| msgid "illegal operand detected" msgid "illegal operand address (1)" msgstr "æ£€æµ‹åˆ°æ— æ•ˆçš„æ“作数" #: config/visium/visium.c:3203 #, fuzzy -#| msgid "illegal operand detected" msgid "illegal operand address (2)" msgstr "æ£€æµ‹åˆ°æ— æ•ˆçš„æ“作数" #: config/visium/visium.c:3218 #, fuzzy -#| msgid "illegal operand detected" msgid "illegal operand address (3)" msgstr "æ£€æµ‹åˆ°æ— æ•ˆçš„æ“作数" #: config/visium/visium.c:3226 #, fuzzy -#| msgid "illegal operand detected" msgid "illegal operand address (4)" msgstr "æ£€æµ‹åˆ°æ— æ•ˆçš„æ“作数" @@ -3889,7 +3882,7 @@ msgstr "地å€å移é‡ä¸æ˜¯ä¸€ä¸ªå¸¸é‡" #: c/c-objc-common.c:173 msgid "aka" -msgstr "" +msgstr "或称" #: c/c-objc-common.c:200 msgid "({anonymous})" @@ -4130,7 +4123,7 @@ msgstr "{匿å}" #: cp/error.c:1115 #, fuzzy msgid "(anonymous namespace)" -msgstr "(匿å)" +msgstr "%qT有一个基类%qT使用匿å命å空间" #: cp/error.c:1231 #, fuzzy @@ -4224,45 +4217,45 @@ msgstr "在 lambda 函数ä¸" #: cp/error.c:3270 #, fuzzy, c-format msgid "%s: In substitution of %qS:\n" -msgstr "%s:在%qs的实例化ä¸ï¼š\n" +msgstr "空动æ€å—符串替æ¢" #: cp/error.c:3271 #, fuzzy msgid "%s: In instantiation of %q#D:\n" -msgstr "%s:在%qs的实例化ä¸ï¼š\n" +msgstr "对%q#D的显å¼å®žä¾‹åŒ–" #: cp/error.c:3296 msgid "%r%s:%d:%d:%R " -msgstr "" +msgstr "%r%s:%d:%d:%R " #: cp/error.c:3299 msgid "%r%s:%d:%R " -msgstr "" +msgstr "%r%s:%d:%R " #: cp/error.c:3307 -#, c-format +#, fuzzy, c-format msgid "recursively required by substitution of %qS\n" -msgstr "" +msgstr "递归必è¦é¡¹ç”±æ›¿ä»£çš„ %qS\n" #: cp/error.c:3308 -#, c-format +#, fuzzy, c-format msgid "required by substitution of %qS\n" -msgstr "" +msgstr "空动æ€å—符串替æ¢" #: cp/error.c:3313 #, fuzzy msgid "recursively required from %q#D\n" -msgstr " 内è”自%qs于 %s:%d:%d" +msgstr "与先å‰çš„声明%q+Dä¸åŒ" #: cp/error.c:3314 #, fuzzy msgid "required from %q#D\n" -msgstr "æ供给%q+D" +msgstr "与先å‰çš„声明%q+Dä¸åŒ" #: cp/error.c:3321 #, fuzzy msgid "recursively required from here" -msgstr "%s:%d:从æ¤å¤„实例化" +msgstr "从æ¤å¤„调用" #: cp/error.c:3322 #, fuzzy @@ -4442,25 +4435,27 @@ msgstr "错误:" #: fortran/error.c:959 fortran/error.c:1028 #, fuzzy msgid "Fortran 2008 obsolescent feature:" -msgstr "Fortran 2003:%C处的 USE è¯å¥ä¸æ¨¡å—本性" +msgstr "éµå¾ª ISO Fortran 2008 æ ‡å‡†" #: fortran/error.c:968 fortran/error.c:1037 +#, fuzzy msgid "GNU Extension:" -msgstr "" +msgstr "使用 PE æ ¼å¼çš„ GNU 扩展æ¥å¯¹é½ common æ•°æ®" #: fortran/error.c:971 fortran/error.c:1040 +#, fuzzy msgid "Legacy Extension:" -msgstr "" +msgstr "支æŒä¼ 统多线程" #: fortran/error.c:974 fortran/error.c:1043 #, fuzzy msgid "Obsolescent feature:" -msgstr "已过时的特性:%C处的计算转移 GOTO è¯å¥" +msgstr "对声明ä¸çš„过时用法给出è¦å‘Š" #: fortran/error.c:977 fortran/error.c:1046 #, fuzzy msgid "Deleted feature:" -msgstr "需è¦æ“作符" +msgstr "%L处的 H æ ¼å¼é™å®šç¬¦å·²åœ¨ Fortran 95 ä¸è¢«åˆ 除" #: fortran/expr.c:622 #, c-format @@ -4501,8 +4496,9 @@ msgid "Driving:" msgstr "驱动:" #: fortran/interface.c:2908 fortran/intrinsic.c:3941 +#, fuzzy msgid "actual argument to INTENT = OUT/INOUT" -msgstr "" +msgstr "实际å‚数到å«ä¹‰=出/INOUT" #: fortran/io.c:551 msgid "Positive width required" @@ -4514,7 +4510,6 @@ msgstr "需è¦éžè´Ÿçš„宽度" #: fortran/io.c:553 #, fuzzy -#| msgid "Unexpected element '%c' in format string at %L" msgid "Unexpected element %<%c%> in format string at %L" msgstr "%2$Lå¤„æ ¼å¼å—符串ä¸éžé¢„æœŸçš„å…ƒç´ â€˜%1$c’" @@ -4532,9 +4527,8 @@ msgstr "缺少å‰å¯¼å·¦æ‹¬å·" #: fortran/io.c:605 #, fuzzy -#| msgid "Left parenthesis required after '*'" msgid "Left parenthesis required after %<*%>" -msgstr "‘*’åŽéœ€è¦å·¦æ‹¬å·" +msgstr "缺少å‰å¯¼å·¦æ‹¬å·" #: fortran/io.c:636 msgid "Expected P edit descriptor" @@ -4573,14 +4567,14 @@ msgstr "%s æ ‡è®°" #: fortran/io.c:2861 #, fuzzy msgid "internal unit in WRITE" -msgstr "gcc 内部放弃 %s,于 %s:%d" +msgstr "%L处内部å•ä½å¸¦å‘é‡ä¸‹æ ‡" #. For INQUIRE, all tags except FILE, ID and UNIT are variable definition #. contexts. Thus, use an extended RESOLVE_TAG macro for that. #: fortran/io.c:4053 #, fuzzy, c-format msgid "%s tag with INQUIRE" -msgstr "%s 与%<%%%c%>%s æ ¼å¼å¹¶ç”¨" +msgstr "%s æ ‡è®°" #: fortran/matchexp.c:28 #, c-format @@ -4715,67 +4709,67 @@ msgstr "没有å‚æ•°" #: fortran/resolve.c:2250 #, fuzzy msgid "asynchronous argument" -msgstr "实å‚太少" +msgstr "å‚æ•°" #: fortran/resolve.c:2255 -#, fuzzy msgid "optional argument" -msgstr "æ— æ•ˆçš„ PHI 实å‚" +msgstr "å¯é€‰å‚æ•°" #: fortran/resolve.c:2260 #, fuzzy msgid "pointer argument" -msgstr "指针赋值" +msgstr "对空指针指å‘内容的写æ“作(å®žå‚ %d)" #: fortran/resolve.c:2265 #, fuzzy msgid "target argument" -msgstr "没有å‚æ•°" +msgstr "ç›®æ ‡" #: fortran/resolve.c:2270 #, fuzzy msgid "value argument" -msgstr "æ— æ•ˆçš„ PHI 实å‚" +msgstr "%Lå¤„æŒ‰å€¼ä¼ é€’çš„å®žå‚ä¸èƒ½æ˜¯æ•°ç»„或数组段" #: fortran/resolve.c:2275 #, fuzzy msgid "volatile argument" -msgstr "没有å‚æ•°" +msgstr "é‡å¤çš„%<volatile%>" #: fortran/resolve.c:2280 #, fuzzy msgid "assumed-shape argument" -msgstr "å‚æ•°ä¸åŒ¹é…" +msgstr "%L处的éžæ ‡é‡ FINAL 过程应当有å‡å®šå¤–形的å‚æ•°" #: fortran/resolve.c:2285 #, fuzzy msgid "assumed-rank argument" -msgstr "å‚æ•°ä¸åŒ¹é…" +msgstr "在调度器ä¸å¯ç”¨ç§©å¯å‘" #: fortran/resolve.c:2290 #, fuzzy msgid "coarray argument" -msgstr "数组赋值" +msgstr "æ— æ•ˆçš„å‚æ•°" #: fortran/resolve.c:2295 +#, fuzzy msgid "parametrized derived type argument" -msgstr "" +msgstr "%L处 PARAMETER ä¸æ´¾ç”Ÿç±»åž‹ä¸å…¼å®¹" #: fortran/resolve.c:2300 #, fuzzy msgid "polymorphic argument" -msgstr "没有å‚æ•°" +msgstr "æºç±»åž‹ä¸æ˜¯å¤šæ€çš„" #: fortran/resolve.c:2305 msgid "NO_ARG_CHECK attribute" -msgstr "" +msgstr "NO_ARG_CHECK 属性" #. As assumed-type is unlimited polymorphic (cf. above). #. See also TS 29113, Note 6.1. #: fortran/resolve.c:2312 #, fuzzy msgid "assumed-type argument" -msgstr "å‚æ•°ä¸åŒ¹é…" +msgstr "该类型ä¸æ”¯æŒè‡ªå¢ž" #: fortran/resolve.c:2323 msgid "array result" @@ -4794,7 +4788,7 @@ msgstr "å˜é‡â€˜%s’在%L处上下文ä¸å—符长度必须为常é‡" #: fortran/resolve.c:2347 #, fuzzy msgid "bind(c) procedure" -msgstr "模å—过程" +msgstr "%C处带有 NAME çš„ BIND(C)过程ä¸èƒ½æœ‰ POINTER 属性" #: fortran/resolve.c:3544 #, c-format @@ -4867,7 +4861,7 @@ msgstr "循环å˜é‡" #: fortran/resolve.c:6384 #, fuzzy msgid "iterator variable" -msgstr "未使用的å˜é‡%q+D" +msgstr "å˜é‡" #: fortran/resolve.c:6388 msgid "Start expression in DO loop" @@ -4884,31 +4878,32 @@ msgstr "DO 循环ä¸çš„æ¥è¿›è¡¨è¾¾å¼" #: fortran/resolve.c:6653 fortran/resolve.c:6656 #, fuzzy msgid "DEALLOCATE object" -msgstr "å‡å°ç›®æ ‡æ–‡ä»¶" +msgstr "试图 DEALLOCATE 未分é…的‘%s’" #: fortran/resolve.c:7008 fortran/resolve.c:7011 #, fuzzy msgid "ALLOCATE object" -msgstr "å‡å°ç›®æ ‡æ–‡ä»¶" +msgstr "%L处的æºè¡¨è¾¾å¼å’Œ%L处的分é…对象必须有相åŒçš„外形" #: fortran/resolve.c:7213 fortran/resolve.c:8567 #, fuzzy msgid "STAT variable" -msgstr "未使用的å˜é‡%q+D" +msgstr "%1$L处的统计å˜é‡ä¸èƒ½åœ¨åŒä¸€ä¸ª %3$s è¯å¥ä¸è¢« %2$s" #: fortran/resolve.c:7257 fortran/resolve.c:8579 #, fuzzy msgid "ERRMSG variable" -msgstr "未使用的å˜é‡%q+D" +msgstr "%1$L处的错误信æ¯å˜é‡ä¸èƒ½åœ¨åŒä¸€ %3$s è¯å¥ä¸è¢« %2$s" #: fortran/resolve.c:8428 #, fuzzy msgid "item in READ" -msgstr "读å–链接脚本" +msgstr "读å–概è¦ï¼š" #: fortran/resolve.c:8591 +#, fuzzy msgid "ACQUIRED_LOCK variable" -msgstr "" +msgstr "æ— æ³•é”定新归档文件" #: fortran/trans-array.c:1441 #, c-format @@ -4931,9 +4926,9 @@ msgid "Actual string length is shorter than the declared one for dummy argument msgstr "å—符串的实际长度çŸäºŽå…¶è™šå‚声明‘%s’(%ld/%ld)" #: fortran/trans-expr.c:7807 -#, c-format +#, fuzzy, c-format msgid "Target of rank remapping is too small (%ld < %ld)" -msgstr "" +msgstr "ç›®æ ‡çš„åˆ†çº§é‡æ–°æ˜ å°„å¤ªå° (%ld<%ld)" #: fortran/trans-intrinsic.c:908 #, c-format @@ -4962,9 +4957,9 @@ msgid "Assigned label is not a target label" msgstr "èµ‹å€¼æ ‡å·ä¸æ˜¯ç›®æ ‡æ ‡å·" #: fortran/trans-stmt.c:929 -#, c-format +#, fuzzy, c-format msgid "Invalid image number %d in SYNC IMAGES" -msgstr "" +msgstr "æ— æ•ˆçš„å½±åƒå·ç %d 在ä¸åŒæ¥å½±åƒ" #: fortran/trans-stmt.c:1670 fortran/trans-stmt.c:1955 msgid "Loop variable has been modified" @@ -5007,80 +5002,59 @@ msgstr "试图 DEALLOCATE 未分é…的‘%s’" #. The remainder are real diagnostic types. #: fortran/gfc-diagnostic.def:33 -#, fuzzy -#| msgid "Fatal Error:" msgid "Fatal Error" -msgstr "致命错误:" +msgstr "致命错误" #. This is like DK_ICE, but backtrace is not printed. Used in the driver #. when reporting fatal signal in the compiler. #: fortran/gfc-diagnostic.def:34 fortran/gfc-diagnostic.def:50 -#, fuzzy -#| msgid "internal compiler error: " msgid "internal compiler error" -msgstr "编译器内部错误:" +msgstr "编译器内部错误" #: fortran/gfc-diagnostic.def:35 -#, fuzzy -#| msgid "Error:" msgid "Error" -msgstr "错误:" +msgstr "错误" #: fortran/gfc-diagnostic.def:36 -#, fuzzy -#| msgid "sorry, unimplemented: " msgid "sorry, unimplemented" -msgstr "对ä¸èµ·ï¼Œå°šæœªå®žçŽ°ï¼š" +msgstr "对ä¸èµ·ï¼Œå°šæœªå®žçŽ°" #: fortran/gfc-diagnostic.def:37 -#, fuzzy -#| msgid "Warning:" msgid "Warning" -msgstr "è¦å‘Šï¼š" +msgstr "è¦å‘Š" #: fortran/gfc-diagnostic.def:38 -#, fuzzy -#| msgid "anachronism: " msgid "anachronism" -msgstr "时代错误:" +msgstr "历å²é—ç•™" #: fortran/gfc-diagnostic.def:39 -#, fuzzy -#| msgid "note: " msgid "note" -msgstr "附注:" +msgstr "附注" #: fortran/gfc-diagnostic.def:40 -#, fuzzy -#| msgid "debug: " msgid "debug" -msgstr "调试:" +msgstr "调试" #. These two would be re-classified as DK_WARNING or DK_ERROR, so the #. prefix does not matter. #: fortran/gfc-diagnostic.def:43 -#, fuzzy -#| msgid "pedwarn: " msgid "pedwarn" -msgstr "ä¿å®ˆè¦å‘Šï¼š" +msgstr "ä¿å®ˆè¦å‘Š" #: fortran/gfc-diagnostic.def:44 -#, fuzzy -#| msgid "permerror: " msgid "permerror" -msgstr "永久性错误:" +msgstr "永久错误" #. This one is just for counting DK_WARNING promoted to DK_ERROR #. due to -Werror and -Werror=warning. #: fortran/gfc-diagnostic.def:47 -#, fuzzy -#| msgid "error: " msgid "error" -msgstr "错误:" +msgstr "错误" #: go/go-backend.c:182 +#, fuzzy msgid "lseek failed while reading export data" -msgstr "" +msgstr "lseek 失败的当读å–导出数æ®" #: go/go-backend.c:189 #, fuzzy @@ -5088,12 +5062,14 @@ msgid "memory allocation failed while reading export data" msgstr "内å˜åˆ†é…失败" #: go/go-backend.c:197 +#, fuzzy msgid "read failed while reading export data" -msgstr "" +msgstr "读å–失败的当读å–导出数æ®" #: go/go-backend.c:203 +#, fuzzy msgid "short read while reading export data" -msgstr "" +msgstr "读å–请求时没有读入足够的数æ®ï¼š%s" #: java/jcf-dump.c:1138 #, c-format @@ -5249,9 +5225,8 @@ msgstr "<æ— å>" #: gcc.c:616 gcc.c:620 gcc.c:675 #, fuzzy -#| msgid "-m%s not supported in this configuration" msgid "-gz is not supported in this configuration" -msgstr "-m%s 在æ¤é…置下ä¸å—支æŒ" +msgstr "%s ä¸ä¸ºè¿™ä¸ªé…置所支æŒ" #: gcc.c:626 gcc.c:686 #, fuzzy @@ -5268,9 +5243,8 @@ msgid "cannot specify -static with -fsanitize=address" msgstr "" #: gcc.c:800 -#, fuzzy msgid "cannot specify -static with -fsanitize=thread" -msgstr "-fdirectives-only 与 -traditional ä¸å…¼å®¹" +msgstr "ä¸èƒ½åŒæ—¶æŒ‡å®š -static åŠ -fsanitize=thread" #: gcc.c:938 ada/gcc-interface/lang-specs.h:33 java/jvspec.c:79 msgid "-pg and -fomit-frame-pointer are incompatible" @@ -5362,8 +5336,9 @@ msgid "GNU Objective C no longer supports traditional compilation" msgstr "GNU Objective C ä¸å†æ”¯æŒä¼ 统编译" #: objc/lang-specs.h:55 +#, fuzzy msgid "objc-cpp-output is deprecated; please use objective-c-cpp-output instead" -msgstr "" +msgstr "objc-cpp-output 被ä¸å®œç”¨ï¼›è¯·ä½¿ç”¨ objective-c-cpp-output 作为替代" #: ada/gcc-interface/lang-specs.h:34 msgid "-c or -S required for Ada" @@ -5406,9 +5381,8 @@ msgid "static is not supported on TPF-OS" msgstr "TPF-OS ä¸æ”¯æŒ static" #: config/arm/arm.h:225 -#, fuzzy msgid "-mfloat-abi=soft and -mfloat-abi=hard may not be used together" -msgstr "-msoft-float å’Œ -mhard_float ä¸èƒ½ä¸€èµ·ä½¿ç”¨" +msgstr "-mfloat-abi=soft å’Œ -mfloat-abi=hard ä¸èƒ½ä¸€èµ·ä½¿ç”¨" #: config/arm/arm.h:227 config/tilegx/tilegx.h:546 config/tilegx/tilegx.h:551 msgid "-mbig-endian and -mlittle-endian may not be used together" @@ -5421,11 +5395,12 @@ msgstr "m210 ä¸æ”¯æŒå°ç«¯åœ¨å‰" #: config/avr/specs.h:68 #, fuzzy msgid "shared is not supported" -msgstr "ä¸æ”¯æŒ -fpic" +msgstr "%P%F:ä¸æ”¯æŒ -shared\n" #: objcp/lang-specs.h:58 +#, fuzzy msgid "objc++-cpp-output is deprecated; please use objective-c++-cpp-output instead" -msgstr "" +msgstr "objc ++-cpp-output 被ä¸å®œç”¨ï¼›è¯·ä½¿ç”¨ objective-c++-cpp-output 作为替代" #: fortran/lang-specs.h:54 fortran/lang-specs.h:68 msgid "gfortran does not support -E without -cpp" @@ -5533,7 +5508,7 @@ msgstr "对大多数éšå¼ç±»åž‹è½¬æ¢ç»™å‡ºè¦å‘Š" #: fortran/lang.opt:242 #, fuzzy msgid "Warn about function call elimination" -msgstr "对éšå¼å‡½æ•°å£°æ˜Žç»™å‡ºè¦å‘Š" +msgstr "当在算术表达å¼ä¸ä½¿ç”¨å‡½æ•°æŒ‡é’ˆæ—¶ç»™å‡ºè¦å‘Š" #: fortran/lang.opt:246 msgid "Warn about calls with implicit interface" @@ -5553,13 +5528,13 @@ msgstr "当内建函数ä¸æ˜¯æ‰€é€‰æ ‡å‡†çš„一部分时给出è¦å‘Š" #: fortran/lang.opt:270 #, fuzzy -#| msgid "Warn about format strings that are not literals" msgid "Warn about USE statements that have no ONLY qualifier" -msgstr "å½“æ ¼å¼å—符串ä¸æ˜¯å—é¢å€¼æ—¶ç»™å‡ºè¦å‘Š" +msgstr "å½“æ ¼å¼å—符串ä¸æ˜¯å—é¢é‡æ—¶ç»™å‡ºè¦å‘Š" #: fortran/lang.opt:282 +#, fuzzy msgid "Warn about real-literal-constants with 'q' exponent-letter" -msgstr "" +msgstr "è¦å‘Šå…³äºŽ real-literal-constants 与‘q’exponent-letter" #: fortran/lang.opt:286 #, fuzzy @@ -5610,8 +5585,9 @@ msgid "Disable preprocessing" msgstr "ç¦ç”¨é¢„处ç†" #: fortran/lang.opt:350 +#, fuzzy msgid "Eliminate multiple function invokations also for impure functions" -msgstr "" +msgstr "Eliminate 多é‡å‡½æ•° invokations 也用于 impure 函数" #: fortran/lang.opt:354 msgid "Enable alignment of COMMON blocks" @@ -5647,7 +5623,6 @@ msgstr "" #: fortran/lang.opt:389 #, fuzzy, c-format -#| msgid "Unrecognized option to -finit-real: %s" msgid "Unrecognized option to endianess value: %qs" msgstr "-finit-real é€‰é¡¹æ— æ³•è¯†åˆ«ï¼š-%s" @@ -5713,8 +5688,9 @@ msgid "Assume that the source file is fixed form" msgstr "å‡å®šæºæ–‡ä»¶æ˜¯å›ºå®šæ ¼å¼çš„" #: fortran/lang.opt:461 +#, fuzzy msgid "Interpret any INTEGER(4) as an INTEGER(8)" -msgstr "" +msgstr "解译任何整数 (4) 作为整数 (8)" #: fortran/lang.opt:465 fortran/lang.opt:469 msgid "Specify where to find the compiled intrinsic modules" @@ -5752,7 +5728,7 @@ msgstr "-ffree-line-length-<n>\t在自由模å¼ä¸‹ä»¥ n 作为å—符行宽" #: fortran/lang.opt:501 #, fuzzy msgid "Enable front end optimization" -msgstr "å¯ç”¨é“¾æŽ¥å™¨ä¼˜åŒ–" +msgstr "å¯ç”¨é“¾æŽ¥æ—¶ä¼˜åŒ–。" #: fortran/lang.opt:505 msgid "Specify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements" @@ -5776,13 +5752,11 @@ msgstr "-finit-logical=<true|false>\tåˆå§‹åŒ–局部逻辑å˜é‡" #: fortran/lang.opt:525 #, fuzzy -#| msgid "-finit-real=<zero|nan|inf|-inf>\tInitialize local real variables" msgid "-finit-real=<zero|snan|nan|inf|-inf>\tInitialize local real variables" msgstr "-finit-real=<zero|nan|inf|-inf>\tåˆå§‹åŒ–局部实å˜é‡" #: fortran/lang.opt:528 #, fuzzy, c-format -#| msgid "Unrecognized option to -finit-real: %s" msgid "Unrecognized option to floating-point init value: %qs" msgstr "-finit-real é€‰é¡¹æ— æ³•è¯†åˆ«ï¼š-%s" @@ -5803,8 +5777,9 @@ msgid "-fmax-stack-var-size=<n>\tSize in bytes of the largest array that will be msgstr "-fmax-stack-var-size=<n>\t以å—节大å°è¡¨ç¤ºçš„å¯ä»¥è¢«æ”¾å…¥å †æ ˆçš„数组的最大大å°" #: fortran/lang.opt:563 +#, fuzzy msgid "Put all local arrays on stack." -msgstr "" +msgstr "ç½®æ”¾æ‰€æœ‰æœ¬åœ°æ•°ç»„äºŽå †å 。" #: fortran/lang.opt:567 msgid "Set default accessibility of module entities to PRIVATE." @@ -5823,28 +5798,34 @@ msgid "Enable range checking during compilation" msgstr "å¯ç”¨ç¼–译时范围检查" #: fortran/lang.opt:599 +#, fuzzy msgid "Interpret any REAL(4) as a REAL(8)" -msgstr "" +msgstr "解译任何真实 (4) 作为真实 (8)" #: fortran/lang.opt:603 +#, fuzzy msgid "Interpret any REAL(4) as a REAL(10)" -msgstr "" +msgstr "解译任何真实 (4) 作为真实 (10)" #: fortran/lang.opt:607 +#, fuzzy msgid "Interpret any REAL(4) as a REAL(16)" -msgstr "" +msgstr "解译任何真实 (4) 作为真实 (16)" #: fortran/lang.opt:611 +#, fuzzy msgid "Interpret any REAL(8) as a REAL(4)" -msgstr "" +msgstr "解译任何真实 (8) 作为真实 (4)" #: fortran/lang.opt:615 +#, fuzzy msgid "Interpret any REAL(8) as a REAL(10)" -msgstr "" +msgstr "解译任何真实 (8) 作为真实 (10)" #: fortran/lang.opt:619 +#, fuzzy msgid "Interpret any REAL(8) as a REAL(16)" -msgstr "" +msgstr "解译任何真实 (8) 作为真实 (16)" #: fortran/lang.opt:623 msgid "Reallocate the LHS in assignments" @@ -5868,14 +5849,13 @@ msgstr "在过程入å£å¤„将数组段å¤åˆ¶åˆ°ä¸€ä¸ªè¿žç»çš„å—ä¸" #: fortran/lang.opt:643 #, fuzzy -#| msgid "-fcoarray=[...]\tSpecify which coarray parallelization should be used" msgid "-fcoarray=<none|single|lib>\tSpecify which coarray parallelization should be used" msgstr "-fcoarray=[...]\t指定è¦ä½¿ç”¨çš„集åˆæ•°ç»„并行化" #: fortran/lang.opt:646 #, fuzzy, c-format msgid "Unrecognized option: %qs" -msgstr "æ— æ³•è¯†åˆ«çš„é€‰é¡¹â€˜-%s’" +msgstr "æ— æ³•è¯†åˆ«çš„é€‰é¡¹" #: fortran/lang.opt:659 msgid "-fcheck=[...]\tSpecify which runtime checks are to be performed" @@ -5915,9 +5895,8 @@ msgid "Conform to the ISO Fortran 2008 standard" msgstr "éµå¾ª ISO Fortran 2008 æ ‡å‡†" #: fortran/lang.opt:731 -#, fuzzy msgid "Conform to the ISO Fortran 2008 standard including TS 29113" -msgstr "éµå¾ª ISO Fortran 2008 æ ‡å‡†" +msgstr "éµå¾ª ISO Fortran 2008 æ ‡å‡†ï¼ŒåŒ…æ‹¬ TS 29113" #: fortran/lang.opt:735 msgid "Conform to the ISO Fortran 95 standard" @@ -6072,13 +6051,11 @@ msgstr "当内建预处ç†å®æœªå®šä¹‰æˆ–é‡å®šä¹‰æ—¶ç»™å‡ºè¦å‘Š" #: c-family/c.opt:304 #, fuzzy -#| msgid "Warn about features not present in traditional C" msgid "Warn about features not present in ISO C90, but present in ISO C99" msgstr "ä½¿ç”¨äº†ä¼ ç»Ÿ C ä¸æ”¯æŒçš„特性时给出è¦å‘Š" #: c-family/c.opt:308 #, fuzzy -#| msgid "Warn about features not present in traditional C" msgid "Warn about features not present in ISO C99, but present in ISO C11" msgstr "ä½¿ç”¨äº†ä¼ ç»Ÿ C ä¸æ”¯æŒçš„特性时给出è¦å‘Š" @@ -6089,7 +6066,7 @@ msgstr "当在 C è¯è¨€ä¸ä½¿ç”¨äº† C 与 C++ äº¤é›†ä»¥å¤–çš„æž„é€ æ—¶ç»™å‡ºè¦å #: c-family/c.opt:316 #, fuzzy msgid "Deprecated in favor of -Wc++11-compat" -msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œè¯·æ”¹ç”¨ -std=c99" +msgstr "已弃用,请改用 -std=gnu99" #: c-family/c.opt:320 #, fuzzy @@ -6126,8 +6103,9 @@ msgid "Synonym for -Wcomment" msgstr "-Wcomment çš„åŒä¹‰è¯" #: c-family/c.opt:352 +#, fuzzy msgid "Warn for conditionally-supported constructs" -msgstr "" +msgstr "对“å¯ç–‘â€çš„æž„é€ ç»™å‡ºè¦å‘Š" #: c-family/c.opt:356 msgid "Warn for implicit type conversions that may change a value" @@ -6161,11 +6139,10 @@ msgstr "当æžæž„函数ä¸æ˜¯è™šå‡½æ•°æ—¶ç»™å‡ºè¦å‘Š" #: c-family/c.opt:388 msgid "Warn if a deprecated compiler feature, class, method, or field is used" -msgstr "使用ä¸å»ºè®®çš„编译器特性ã€ç±»ã€æ–¹æ³•æˆ–å—段时给出è¦å‘Š" +msgstr "使用已弃用的编译器特性ã€ç±»ã€æ–¹æ³•æˆ–å—段时给出è¦å‘Š" #: c-family/c.opt:392 #, fuzzy -#| msgid "Warn about possibly missing braces around initializers" msgid "Warn about positional initialization of structs requiring designated initializers" msgstr "è‹¥åˆå§‹å€¼è®¾å®šé¡¹ä¸å¯èƒ½ç¼ºå°‘花括å·åˆ™ç»™å‡ºè¦å‘Š" @@ -6175,9 +6152,8 @@ msgstr "" #: c-family/c.opt:400 #, fuzzy -#| msgid "Warn whenever type qualifiers are ignored." msgid "Warn if type qualifiers on pointers are discarded" -msgstr "当类型é™å®šç¬¦è¢«å¿½ç•¥æ—¶ç»™å‡ºè¦å‘Šã€‚" +msgstr "当改å˜æˆå‘˜å‡½æ•°æŒ‡é’ˆçš„类型时给出è¦å‘Š" #: c-family/c.opt:404 msgid "Warn about compile-time integer division by zero" @@ -6201,7 +6177,7 @@ msgstr "对ä¸åŒæžšä¸¾ç±»åž‹ä¹‹é—´çš„比较给出è¦å‘Š" #: c-family/c.opt:428 msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead" -msgstr "ä¸å»ºè®®ä½¿ç”¨æ¤å¼€å…³ï¼›è¯·æ”¹ç”¨ -Werror=implicit-function-declaration" +msgstr "已弃用æ¤å¼€å…³ï¼›è¯·æ”¹ç”¨ -Werror=implicit-function-declaration" #: c-family/c.opt:432 #, fuzzy @@ -6226,7 +6202,7 @@ msgstr "å½“ä¼ é€’ç»™æ ¼å¼å—符串的å‚数太多时给出è¦å‘Š" #: c-family/c.opt:452 msgid "Warn about format strings that are not literals" -msgstr "å½“æ ¼å¼å—符串ä¸æ˜¯å—é¢å€¼æ—¶ç»™å‡ºè¦å‘Š" +msgstr "å½“æ ¼å¼å—符串ä¸æ˜¯å—é¢é‡æ—¶ç»™å‡ºè¦å‘Š" #: c-family/c.opt:456 msgid "Warn about possible security problems with format functions" @@ -6234,7 +6210,6 @@ msgstr "å½“ä½¿ç”¨æ ¼å¼å—符串的函数å¯èƒ½å¯¼è‡´å®‰å…¨é—®é¢˜æ—¶ç»™å‡ºè¦å‘Š #: c-family/c.opt:460 #, fuzzy -#| msgid "Warn about possible security problems with format functions" msgid "Warn about sign differences with format functions" msgstr "å½“ä½¿ç”¨æ ¼å¼å—符串的函数å¯èƒ½å¯¼è‡´å®‰å…¨é—®é¢˜æ—¶ç»™å‡ºè¦å‘Š" @@ -6337,7 +6312,6 @@ msgstr "若结构åˆå§‹å€¼è®¾å®šé¡¹ä¸ç¼ºå°‘å—段则给出è¦å‘Š" #: c-family/c.opt:571 #, fuzzy -#| msgid "Warn about missing fields in struct initializers" msgid "Warn about missing sized deallocation functions" msgstr "若结构åˆå§‹å€¼è®¾å®šé¡¹ä¸ç¼ºå°‘å—段则给出è¦å‘Š" @@ -6371,7 +6345,6 @@ msgstr "当使用枚举类型作为开关å˜é‡ä½†åˆç¼ºå°‘æŸä¸ª case 时给出 #: c-family/c.opt:604 #, fuzzy -#| msgid "Warn about truncated character expressions" msgid "Warn about switches with boolean controlling expression" msgstr "对被截æ–çš„å—符表达å¼ç»™å‡ºè¦å‘Š" @@ -6404,16 +6377,18 @@ msgid "Warn about use of multi-character character constants" msgstr "使用多å—节å—符集的å—符常é‡æ—¶ç»™å‡ºè¦å‘Š" #: c-family/c.opt:631 +#, fuzzy msgid "Warn about narrowing conversions within { } that are ill-formed in C++11" -msgstr "" +msgstr "è¦å‘Šå…³äºŽ narrowing 转æ¢åœ¨ä¹‹å†… {} 所ä¸å½“å½¢å¼çš„åœ¨ä¸ C++11" #: c-family/c.opt:635 msgid "Warn about \"extern\" declarations not at file scope" msgstr "当“externâ€å£°æ˜Žä¸åœ¨æ–‡ä»¶ä½œç”¨åŸŸæ—¶ç»™å‡ºè¦å‘Š" #: c-family/c.opt:639 +#, fuzzy msgid "Warn when a noexcept expression evaluates to false even though the expression can't actually throw" -msgstr "" +msgstr "è¦å‘Šæ—¶ noexcept è¿ç®—å¼è¯„估到å‡ç”šè‡³è™½ç„¶è¿ç®—å¼æ— 法实际的丢掷" #: c-family/c.opt:643 msgid "Warn when non-templatized friend functions are declared within a template" @@ -6429,7 +6404,6 @@ msgstr "当将 NULL ä¼ é€’ç»™éœ€è¦éž NULL çš„å‚数的函数时给出è¦å‘Š" #: c-family/c.opt:663 #, fuzzy -#| msgid "-Wnormalized=<id|nfc|nfkc>\tWarn about non-normalised Unicode strings" msgid "-Wnormalized=<none|id|nfc|nfkc>\tWarn about non-normalised Unicode strings" msgstr "-Wnormalized=<id|nfc|nfkc>\t对未归一化的 Unicode å—符串给出è¦å‘Š" @@ -6494,8 +6468,9 @@ msgid "Warn about misuses of pragmas" msgstr "对错误使用的 pragma åŠ ä»¥è¦å‘Š" #: c-family/c.opt:746 +#, fuzzy msgid "Warn if a property for an Objective-C object has no assign semantics specified" -msgstr "" +msgstr "è¦å‘Šå¦‚果内容用于 Objective-C 对象没有任何指派è¯æ„指定的" #: c-family/c.opt:750 msgid "Warn if inherited methods are unimplemented" @@ -6523,19 +6498,16 @@ msgstr "当å¯èƒ½è¿å定åºç‚¹è§„则时给出è¦å‘Š" #: c-family/c.opt:774 #, fuzzy -#| msgid "local declaration of %qE hides instance variable" msgid "Warn if a local declaration hides an instance variable" msgstr "%qE的局部声明éšè—了实例å˜é‡" #: c-family/c.opt:778 #, fuzzy -#| msgid "right shift count is negative" msgid "Warn if shift count is negative" msgstr "å³ç§»æ¬¡æ•°ä¸ºè´Ÿ" #: c-family/c.opt:782 #, fuzzy -#| msgid "right shift count >= width of type" msgid "Warn if shift count >= width of type" msgstr "å³ç§»æ¬¡æ•°å¤§äºŽæˆ–ç‰äºŽç±»åž‹å®½åº¦" @@ -6569,7 +6541,7 @@ msgstr "当 __sync_fetch_and_nand å’Œ __sync_nand_and_fetch å†…å»ºå‡½æ•°è¢«ä½¿ç” #: c-family/c.opt:826 msgid "Deprecated. This switch has no effect" -msgstr "ä¸å»ºè®®ä½¿ç”¨ã€‚æ¤å¼€å…³ä¸èµ·ä½œç”¨ã€‚" +msgstr "已弃用。æ¤å¼€å…³ä¸èµ·ä½œç”¨ã€‚" #: c-family/c.opt:834 msgid "Warn about features not present in traditional C" @@ -6615,7 +6587,7 @@ msgstr "当一个带有 warn_unused_result 属性的函数的调用者未使用å #: c-family/c.opt:886 #, fuzzy msgid "Warn about using variadic macros" -msgstr "指定 -pedantic æ—¶ä¸ä¸ºå¯å˜å‚æ•°å®ç»™å‡ºè¦å‘Š" +msgstr "当定义在主文件ä¸çš„å®æœªè¢«ä½¿ç”¨æ—¶ç»™å‡ºè¦å‘Š" #: c-family/c.opt:890 msgid "Warn about questionable usage of the macros used to retrieve variable arguments" @@ -6630,8 +6602,9 @@ msgid "Warn when a register variable is declared volatile" msgstr "当一个寄å˜å™¨å˜é‡è¢«å£°æ˜Žä¸º volatile 时给出è¦å‘Š" #: c-family/c.opt:902 +#, fuzzy msgid "Warn if a virtual base has a non-trivial move assignment operator" -msgstr "" +msgstr "%qT 有虚拟基底,缺çœç§»åŠ¨æŒ‡æ´¾è¿ç®—ç¬¦æ— æ³•äº§ç”Ÿ" #: c-family/c.opt:906 msgid "In C++, nonzero means warn about deprecated conversion from string literals to 'char *'. In C, similar warning, except that the conversion is of course not deprecated by the ISO C standard." @@ -6645,7 +6618,7 @@ msgstr "æœ‰æœªä½¿ç”¨çš„æ ‡å·æ—¶è¦å‘Š" #: c-family/c.opt:914 #, fuzzy msgid "Warn about useless casts" -msgstr "对错误使用的 pragma åŠ ä»¥è¦å‘Š" +msgstr "当类型转æ¢ä¸¢å¤±é™å®šä¿¡æ¯æ—¶ç»™å‡ºè¦å‘Š" #: c-family/c.opt:918 msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)" @@ -6735,30 +6708,26 @@ msgstr "" #: c-family/c.opt:1026 #, fuzzy -#| msgid "Generate checks for references to NULL" msgid "Generate checks for all read accesses to memory." msgstr "æ£€æŸ¥æŒ‡å‘ NULL 的引用" #: c-family/c.opt:1030 #, fuzzy -#| msgid "Generate checks for references to NULL" msgid "Generate checks for all write accesses to memory." msgstr "æ£€æŸ¥æŒ‡å‘ NULL 的引用" #: c-family/c.opt:1034 #, fuzzy -#| msgid "Generate phony targets for all headers" msgid "Generate bounds stores for pointer writes." msgstr "为所有头文件生æˆä¼ªç›®æ ‡" #: c-family/c.opt:1038 #, fuzzy msgid "Generate bounds passing for calls." -msgstr "如有必须,为调用指令生æˆé—´æŽ¥è°ƒç”¨" +msgstr "生æˆå¿«é€Ÿé—´æŽ¥è°ƒç”¨" #: c-family/c.opt:1042 #, fuzzy -#| msgid "argument of function call might be a candidate for a format attribute" msgid "Instrument only functions marked with bnd_instrument attribute." msgstr "函数的实å‚å¯èƒ½æ˜¯ format 属性的备选" @@ -6767,8 +6736,9 @@ msgid "Transform instrumented builtin calls into calls to wrappers." msgstr "" #: c-family/c.opt:1056 +#, fuzzy msgid "Enable Cilk Plus" -msgstr "" +msgstr "å•ç›®åŠ çš„æ“作数类型错误" #: c-family/c.opt:1060 msgid "Allow the arguments of the '?' operator to have different types" @@ -6909,7 +6879,6 @@ msgstr "" #: c-family/c.opt:1232 #, fuzzy -#| msgid "-fvisibility=[default|internal|hidden|protected]\tSet the default symbol visibility" msgid "-fvisibility=[private|protected|public|package]\tSet the default symbol visibility" msgstr "-fvisibility=[default|internal|hidden|protected]\t设置符å·çš„默认å¯è§æ€§" @@ -6919,12 +6888,14 @@ msgid "unrecognized ivar visibility value %qs" msgstr "æ— æ•ˆçš„ --param 值%qs" #: c-family/c.opt:1257 +#, fuzzy msgid "Treat a throw() exception specification as noexcept to improve code size" -msgstr "" +msgstr "对待丢掷() å¼‚å¸¸è§„æ ¼ä½œä¸º noexcept 到改善编ç 大å°" #: c-family/c.opt:1261 +#, fuzzy msgid "Specify which ABI to use for Objective-C family code and meta-data generation." -msgstr "" +msgstr "指定该项 ABI 以使用用于 Objective-C 家æ—ç¼–ç 和元数æ®äº§ç”Ÿã€‚" #: c-family/c.opt:1267 msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed" @@ -6943,23 +6914,22 @@ msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs" msgstr "在 Objective-C/Objective-C++ 程åºä¸å¯ç”¨åžƒåœ¾æ”¶é›†" #: c-family/c.opt:1285 +#, fuzzy msgid "Enable inline checks for nil receivers with the NeXT runtime and ABI version 2." -msgstr "" +msgstr "å¯ç”¨å†…è”检查看看零收件者与下一个è¿è¡Œé˜¶æ®µå’Œ ABI 版本 2。" #: c-family/c.opt:1290 msgid "Enable Objective-C setjmp exception handling runtime" msgstr "å¯ç”¨ Objective-C setjmp 异常处ç†è¿è¡Œæ—¶" #: c-family/c.opt:1294 -#, fuzzy msgid "Conform to the Objective-C 1.0 language as implemented in GCC 4.0" -msgstr "éµå¾ª ISO 1990 C æ ‡å‡†äºŽ 1994 年修订的版本" +msgstr "éµå¾ªäºŽ GCC 4.0 实现的 Ojbective-C 1.0 è¯è¨€" #: c-family/c.opt:1298 #, fuzzy -#| msgid "Enable OpenMP" msgid "Enable OpenACC" -msgstr "å¯ç”¨ OpenMP" +msgstr "å¯¹é½ COMMON å—" #: c-family/c.opt:1302 msgid "Enable OpenMP (implies -frecursive in Fortran)" @@ -6968,7 +6938,7 @@ msgstr "å¯ç”¨ OpenMP(对 Fortran 而言也åŒæ—¶è®¾å®š -frecursive)" #: c-family/c.opt:1306 #, fuzzy msgid "Enable OpenMP's SIMD directives" -msgstr "%C处的 OpenMP æŒ‡ç¤ºæ— æ³•åˆ†ç±»" +msgstr "å¯ç”¨ OpenMP(对 Fortran 而言也åŒæ—¶è®¾å®š -frecursive)" #: c-family/c.opt:1310 msgid "Recognize C++ keywords like \"compl\" and \"xor\"" @@ -6991,8 +6961,9 @@ msgid "Treat the input file as already preprocessed" msgstr "将输入文件当作已ç»é¢„处ç†è¿‡çš„" #: c-family/c.opt:1341 +#, fuzzy msgid "-ftrack-macro-expansion=<0|1|2> Track locations of tokens coming from macro expansion and display them in error messages" -msgstr "" +msgstr "-ftrack-macro-expansion=<0|1|2> 轨段ä½ç½®çš„å—组æ¥è‡ªå®å±•å¼€å’Œæ˜¾ç¤ºå®ƒä»¬åœ¨ä¸é”™è¯¯æ¶ˆæ¯" #: c-family/c.opt:1345 msgid "-fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments" @@ -7032,7 +7003,6 @@ msgstr "使“charâ€ç±»åž‹é»˜è®¤ä¸ºæœ‰ç¬¦å·" #: c-family/c.opt:1381 #, fuzzy -#| msgid "Enable decimal floating point hardware support" msgid "Enable C++14 sized deallocation support" msgstr "å¯ç”¨ç¡¬ä»¶å进制浮点支æŒ" @@ -7041,8 +7011,9 @@ msgid "Display statistics accumulated during compilation" msgstr "显示编译过程ä¸ç´¯è®¡çš„统计数å—" #: c-family/c.opt:1392 +#, fuzzy msgid "Assume that values of enumeration type are always within the minimum range of that type" -msgstr "" +msgstr "å‡è®¾è¯¥å€¼çš„枚举类型类型是一律在之内最å°èŒƒå›´çš„该类型" #: c-family/c.opt:1399 msgid "-ftabstop=<number>\tDistance between tab stops for column reporting" @@ -7179,45 +7150,39 @@ msgid "Remap file names when including files" msgstr "包å«æ–‡ä»¶æ—¶æ˜ å°„çŸæ–‡ä»¶å" #: c-family/c.opt:1564 c-family/c.opt:1568 -#, fuzzy msgid "Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum" -msgstr "éµå¾ª ISO 1998 C++ æ ‡å‡†ï¼Œä¹Ÿæ”¯æŒ GNU 扩展" +msgstr "éµå¾ª ISO 1998 C++ æ ‡å‡†äºŽ 2003 年的技术勘误版本" #: c-family/c.opt:1572 -#, fuzzy -#| msgid "Conform to the ISO 1998 C++ standard" msgid "Conform to the ISO 2011 C++ standard" -msgstr "éµå¾ª ISO 1998 C++ æ ‡å‡†" +msgstr "éµå¾ª ISO 2011 C++ æ ‡å‡†" #: c-family/c.opt:1576 #, fuzzy msgid "Deprecated in favor of -std=c++11" -msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œè¯·æ”¹ç”¨ -std=c99" +msgstr "已弃用,请改用 -std=gnu99" #: c-family/c.opt:1580 #, fuzzy msgid "Deprecated in favor of -std=c++14" -msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œè¯·æ”¹ç”¨ -std=c99" +msgstr "已弃用,请改用 -std=gnu99" #: c-family/c.opt:1584 -#, fuzzy msgid "Conform to the ISO 2014 C++ standard (experimental and incomplete support)" -msgstr "éµå¾ª ISO 201X C æ ‡å‡†è‰æ¡ˆ(试验性质的ä¸å®Œå…¨æ”¯æŒ)" +msgstr "éµå¾ª ISO 2014 C++ æ ‡å‡†(试验性质的ä¸å®Œå…¨æ”¯æŒ)" #: c-family/c.opt:1588 -#, fuzzy msgid "Conform to the ISO 2017(?) C++ draft standard (experimental and incomplete support)" -msgstr "éµå¾ª ISO 201X C æ ‡å‡†è‰æ¡ˆ(试验性质的ä¸å®Œå…¨æ”¯æŒ)" +msgstr "éµå¾ª ISO 2017(?) C++ æ ‡å‡†è‰æ¡ˆ(试验性质的ä¸å®Œå…¨æ”¯æŒ)" #: c-family/c.opt:1595 c-family/c.opt:1691 -#, fuzzy msgid "Conform to the ISO 2011 C standard (experimental and incomplete support)" -msgstr "éµå¾ª ISO 201X C æ ‡å‡†è‰æ¡ˆ(试验性质的ä¸å®Œå…¨æ”¯æŒ)" +msgstr "éµå¾ª ISO 2011 C æ ‡å‡†(试验性质的ä¸å®Œå…¨æ”¯æŒ)" #: c-family/c.opt:1599 #, fuzzy msgid "Deprecated in favor of -std=c11" -msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œè¯·æ”¹ç”¨ -std=c99" +msgstr "已弃用,请改用 -std=c99" #: c-family/c.opt:1603 c-family/c.opt:1607 c-family/c.opt:1675 msgid "Conform to the ISO 1990 C standard" @@ -7229,42 +7194,37 @@ msgstr "éµå¾ª ISO 1999 C æ ‡å‡†" #: c-family/c.opt:1615 msgid "Deprecated in favor of -std=c99" -msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œè¯·æ”¹ç”¨ -std=c99" +msgstr "已弃用,请改用 -std=c99" #: c-family/c.opt:1619 c-family/c.opt:1624 -#, fuzzy msgid "Conform to the ISO 1998 C++ standard revised by the 2003 technical" -msgstr "éµå¾ª ISO 1998 C++ æ ‡å‡†ï¼Œä¹Ÿæ”¯æŒ GNU 扩展" +msgstr "éµå¾ª ISO 1998 C++ æ ‡å‡†äºŽ 2003 年修订的版本" #: c-family/c.opt:1629 -#, fuzzy msgid "Conform to the ISO 2011 C++ standard with GNU extensions (experimental and incomplete support)" -msgstr "éµå¾ª ISO 201X C æ ‡å‡†è‰æ¡ˆå’Œ GNU 扩展(试验性质的ä¸å®Œå…¨æ”¯æŒ)" +msgstr "éµå¾ª ISO 2011 C++ æ ‡å‡†å’Œ GNU 扩展(试验性质的ä¸å®Œå…¨æ”¯æŒ)" #: c-family/c.opt:1633 #, fuzzy msgid "Deprecated in favor of -std=gnu++11" -msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œè¯·æ”¹ç”¨ -std=gnu99" +msgstr "已弃用,请改用 -std=gnu99" #: c-family/c.opt:1640 -#, fuzzy msgid "Conform to the ISO 2014 C++ standard with GNU extensions (experimental and incomplete support)" -msgstr "éµå¾ª ISO 201X C æ ‡å‡†è‰æ¡ˆå’Œ GNU 扩展(试验性质的ä¸å®Œå…¨æ”¯æŒ)" +msgstr "éµå¾ª ISO 2014 C++ æ ‡å‡†å’Œ GNU 扩展(试验性质的ä¸å®Œå…¨æ”¯æŒ)" #: c-family/c.opt:1644 -#, fuzzy msgid "Conform to the ISO 201z(7?) C++ draft standard with GNU extensions (experimental and incomplete support)" -msgstr "éµå¾ª ISO 201X C æ ‡å‡†è‰æ¡ˆå’Œ GNU 扩展(试验性质的ä¸å®Œå…¨æ”¯æŒ)" +msgstr "éµå¾ª ISO 201z(7?) C++ æ ‡å‡†è‰æ¡ˆå’Œ GNU 扩展(试验性质的ä¸å®Œå…¨æ”¯æŒ)" #: c-family/c.opt:1651 -#, fuzzy msgid "Conform to the ISO 2011 C standard with GNU extensions (experimental and incomplete support)" -msgstr "éµå¾ª ISO 201X C æ ‡å‡†è‰æ¡ˆå’Œ GNU 扩展(试验性质的ä¸å®Œå…¨æ”¯æŒ)" +msgstr "éµå¾ª ISO 2011 C æ ‡å‡†å’Œ GNU 扩展(试验性质的ä¸å®Œå…¨æ”¯æŒ)" #: c-family/c.opt:1655 #, fuzzy msgid "Deprecated in favor of -std=gnu11" -msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œè¯·æ”¹ç”¨ -std=gnu99" +msgstr "已弃用,请改用 -std=gnu99" #: c-family/c.opt:1659 c-family/c.opt:1663 msgid "Conform to the ISO 1990 C standard with GNU extensions" @@ -7276,7 +7236,7 @@ msgstr "éµå¾ª ISO 1999 C æ ‡å‡†ï¼Œä¹Ÿæ”¯æŒ GNU 扩展" #: c-family/c.opt:1671 msgid "Deprecated in favor of -std=gnu99" -msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œè¯·æ”¹ç”¨ -std=gnu99" +msgstr "已弃用,请改用 -std=gnu99" #: c-family/c.opt:1679 msgid "Conform to the ISO 1990 C standard as amended in 1994" @@ -7284,7 +7244,7 @@ msgstr "éµå¾ª ISO 1990 C æ ‡å‡†äºŽ 1994 年修订的版本" #: c-family/c.opt:1687 msgid "Deprecated in favor of -std=iso9899:1999" -msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œä¸º -std=iso9899:1999 所å–代" +msgstr "已弃用,为 -std=iso9899:1999 所å–代" #: c-family/c.opt:1698 msgid "Enable traditional preprocessing" @@ -7299,38 +7259,42 @@ msgid "Do not predefine system-specific and GCC-specific macros" msgstr "ä¸é¢„定义系统或 GCC 特定的å®" #: ada/gcc-interface/lang.opt:61 -#, fuzzy msgid "Synonym of -gnatk8" -msgstr "-Wcomment çš„åŒä¹‰è¯" +msgstr "-gnatk8 çš„åŒä¹‰è¯" #: ada/gcc-interface/lang.opt:69 +#, fuzzy msgid "Do not look for object files in standard path" -msgstr "" +msgstr "ä¸æ‰¾å¯»ç›®çš„文件在ä¸æ ‡å‡†è·¯å¾„" #: ada/gcc-interface/lang.opt:73 #, fuzzy msgid "Select the runtime" -msgstr "选择代ç 模型" +msgstr "è¿è¡Œæ—¶å称。" #: ada/gcc-interface/lang.opt:81 +#, fuzzy msgid "Catch typos" -msgstr "" +msgstr "进入了 catch å—" #: ada/gcc-interface/lang.opt:85 +#, fuzzy msgid "Set name of output ALI file (internal switch)" -msgstr "" +msgstr "设置å称的输出 ALI 文件 (内部切æ¢)" #: ada/gcc-interface/lang.opt:89 msgid "-gnat<options>\tSpecify options to GNAT" msgstr "-gnat<选项>\t指定给 GNAT 的选项" #: go/lang.opt:42 +#, fuzzy msgid "Add explicit checks for division by zero" -msgstr "" +msgstr "åŠ å…¥æ˜Žç¡®çš„æ£€æŸ¥çœ‹çœ‹é™¤æ³•ç”±é›¶" #: go/lang.opt:46 +#, fuzzy msgid "Add explicit checks for division overflow in INT_MIN / -1" -msgstr "" +msgstr "åŠ å…¥æ˜Žç¡®çš„æ£€æŸ¥çœ‹çœ‹é™¤æ³•æº¢å‡ºåœ¨ä¸ INT_MIN/-1" #: go/lang.opt:50 #, fuzzy @@ -7338,16 +7302,17 @@ msgid "-fgo-dump-<type>\tDump Go frontend internal information" msgstr "-fdump-<类型>\t将一些编译器内部信æ¯è½¬å‚¨åˆ°ä¸€ä¸ªæ–‡ä»¶é‡Œ" #: go/lang.opt:54 +#, fuzzy msgid "-fgo-optimize-<type>\tTurn on optimization passes in the frontend" -msgstr "" +msgstr "-fgo-optimize-<type>\t打开最佳化次数在ä¸å‰ç«¯ç¨‹åº" #: go/lang.opt:58 msgid "-fgo-pkgpath=<string>\tSet Go package path" -msgstr "" +msgstr "-fgo-pkgpath=<string>\t设置 Go 软件包路径" #: go/lang.opt:62 msgid "-fgo-prefix=<string>\tSet package-specific prefix for exported Go names" -msgstr "" +msgstr "-fgo-prefix=<string>\t设置导出 Go å称的软件包专用å‰ç¼€" #: go/lang.opt:66 msgid "-fgo-relative-import-path=<path> Treat a relative import as relative to path" @@ -7508,8 +7473,9 @@ msgid "Generate compile-time CFString objects" msgstr "生æˆç¼–译时 CFString 对象" #: config/darwin.opt:208 +#, fuzzy msgid "Warn if constant CFString objects contain non-portable characters" -msgstr "" +msgstr "è¦å‘Šå¦‚果常数 CFString å¯¹è±¡åŒ…å« non-portable å—符" #: config/darwin.opt:213 msgid "Generate AT&T-style stubs for Mach-O" @@ -7626,15 +7592,15 @@ msgstr "å‡å®šåœ¨è¿è¡Œæ—¶ ICPLB 是被å¯ç”¨çš„。" #: config/m68k/m68k-tables.opt:25 msgid "Known M68K CPUs (for use with the -mcpu= option):" -msgstr "" +msgstr "已知 M68K 处ç†å™¨ (用于 -mcpu= 选项):" #: config/m68k/m68k-tables.opt:365 msgid "Known M68K microarchitectures (for use with the -mtune= option):" -msgstr "" +msgstr "已知 M68K 微架构 (用于 -mtune= 选项):" #: config/m68k/m68k-tables.opt:411 msgid "Known M68K ISAs (for use with the -march= option):" -msgstr "" +msgstr "已知 M68K ISA (用于 -march= 选项):" #: config/m68k/ieee.opt:24 config/i386/i386.opt:358 msgid "Use IEEE math for fp comparisons" @@ -7822,7 +7788,7 @@ msgstr "" #: config/msp430/msp430.opt:11 msgid "Specify the MCU to build for." -msgstr "" +msgstr "指定è¦æž„å»ºçš„ç›®æ ‡ MCU。" #: config/msp430/msp430.opt:15 msgid "Specify the ISA to build for: msp430, mdsp430x, msp430xv2" @@ -7845,12 +7811,14 @@ msgid "Use a minimum runtime (no static initializers or ctors) for memory-constr msgstr "" #: config/msp430/msp430.opt:41 +#, fuzzy msgid "Specify the type of hardware multiply to support" -msgstr "" +msgstr "选å–硬件或软件乘法支æŒã€‚" #: config/aarch64/aarch64.opt:28 +#, fuzzy msgid "The possible TLS dialects:" -msgstr "" +msgstr "å‡å®šå¤§çš„线程局部å˜å‚¨æ®µ" #: config/aarch64/aarch64.opt:40 msgid "The code model option names for -mcmodel:" @@ -7882,7 +7850,7 @@ msgstr "å‡å®šç›®æ ‡ CPU 被é…置为å°ç«¯åœ¨å‰" #: config/aarch64/aarch64.opt:84 #, fuzzy msgid "Specify the code model" -msgstr "选择代ç 模型" +msgstr "使用给定的 x86-64 代ç 模å¼" #: config/aarch64/aarch64.opt:88 msgid "Don't assume that unaligned accesses are handled by the system" @@ -7897,27 +7865,24 @@ msgid "Specify TLS dialect" msgstr "" #: config/aarch64/aarch64.opt:100 -#, fuzzy msgid "-march=ARCH\tUse features of architecture ARCH" -msgstr "-mcpu=\t使用指定 CPU 的特性和调度代ç " +msgstr "-march=ARCH\t使用指定架构 ARCH 的特性" #: config/aarch64/aarch64.opt:104 -#, fuzzy msgid "-mcpu=CPU\tUse features of and optimize for CPU" -msgstr "-mcpu=\t使用指定 CPU 的特性和调度代ç " +msgstr "-mcpu=CPU\t使用指定 CPU 的特性并为之优化" #: config/aarch64/aarch64.opt:108 msgid "-mtune=CPU\tOptimize for CPU" -msgstr "" +msgstr "-mtune=CPU\t为指定的处ç†å™¨ä¼˜åŒ–" #: config/aarch64/aarch64.opt:112 -#, fuzzy msgid "-mabi=ABI\tGenerate code that conforms to the specified ABI" -msgstr "-mabi=ABI\t生æˆéµå¾ªç»™å®š ABI 的代ç " +msgstr "-mabi=ABI\t生æˆéµå¾ªæŒ‡å®š ABI 的代ç " #: config/aarch64/aarch64.opt:116 msgid "Known AArch64 ABIs (for use with the -mabi= option):" -msgstr "" +msgstr "已知 AArch64 ABI (用于 -mabi= 选项):" #: config/linux.opt:24 msgid "Use Bionic C library" @@ -8037,7 +8002,7 @@ msgstr "为指定的 CPU 优化代ç " #: config/ia64/ia64.opt:126 msgid "Known Itanium CPUs (for use with the -mtune= option):" -msgstr "" +msgstr "已知 Itanium 处ç†å™¨ (用于 -mtune= 选项):" #: config/ia64/ia64.opt:136 msgid "Use data speculation before reload" @@ -8173,17 +8138,19 @@ msgid "Atomically write back software data cache lines (default)" msgstr "原å化对软件数æ®ç¼“å˜çš„写回æ“作(默认)" #: config/epiphany/epiphany.opt:24 +#, fuzzy msgid "Don't use any of r32..r63." -msgstr "" +msgstr "ä¸ä½¿ç”¨ä»»ä½•çš„ r32..r63。" #: config/epiphany/epiphany.opt:28 +#, fuzzy msgid "preferentially allocate registers that allow short instruction generation." -msgstr "" +msgstr "优先é…置暂å˜å™¨è¯¥å…许çŸæŒ‡ä»¤äº§ç”Ÿã€‚" #: config/epiphany/epiphany.opt:32 #, fuzzy msgid "Set branch cost" -msgstr "放宽跳转" +msgstr "设定分支的开销" #: config/epiphany/epiphany.opt:36 #, fuzzy @@ -8201,24 +8168,29 @@ msgid "Use software floating point comparisons" msgstr "使用软件浮点å•å…ƒ" #: config/epiphany/epiphany.opt:56 +#, fuzzy msgid "Enable split of 32 bit immediate loads into low / high part" -msgstr "" +msgstr "å¯ç”¨åˆ†å‰²çš„ 32 比特å³æ—¶åŠ 载进入低/高部分" #: config/epiphany/epiphany.opt:60 +#, fuzzy msgid "Enable use of POST_INC / POST_DEC" -msgstr "" +msgstr "错误的地å€ï¼Œä¸æ˜¯ post_inc 或 pre_dec:" #: config/epiphany/epiphany.opt:64 +#, fuzzy msgid "Enable use of POST_MODIFY" -msgstr "" +msgstr "使用 POST 方法;å‘é€ STRING åšä¸ºæ•°æ®ã€‚" #: config/epiphany/epiphany.opt:68 +#, fuzzy msgid "Set number of bytes on the stack preallocated for use by the callee." -msgstr "" +msgstr "设置å—节数é‡åœ¨ä¹‹ä¸Šå †å preallocated 用于使用由被调用端。" #: config/epiphany/epiphany.opt:72 +#, fuzzy msgid "Assume round to nearest is selected for purposes of scheduling." -msgstr "" +msgstr "å‡è®¾å››èˆäº”入到最近的被已选用于宗旨的调度。" #: config/epiphany/epiphany.opt:76 #, fuzzy @@ -8231,8 +8203,9 @@ msgid "Generate call insns as direct calls" msgstr "如有必须,为调用指令生æˆé—´æŽ¥è°ƒç”¨" #: config/epiphany/epiphany.opt:84 +#, fuzzy msgid "Assume labels and symbols can be addressed using 16 bit absolute addresses." -msgstr "" +msgstr "å‡è®¾æ ‡è´´å’Œç¬¦å·å¯ä»¥è¢«åœ°å€ä½¿ç”¨ 16 比特ç»å¯¹åœ°å€ã€‚" #: config/epiphany/epiphany.opt:108 msgid "A floatig point to integer truncation may be replaced with rounding to save mode switching" @@ -8241,11 +8214,12 @@ msgstr "" #: config/epiphany/epiphany.opt:112 #, fuzzy msgid "Vectorize for double-word operations." -msgstr "为结构使用更强的对é½ä»¥ä½¿ç”¨åŒå—å¤åˆ¶" +msgstr "æ”¹å˜ ABI 以å…许åŒå—指令" #: config/epiphany/epiphany.opt:128 +#, fuzzy msgid "Split unaligned 8 byte vector moves before post-modify address generation." -msgstr "" +msgstr "分割 unaligned 8 å—节矢é‡ç§»åŠ¨ä¹‹å‰ post-modify 地å€äº§ç”Ÿã€‚" #: config/epiphany/epiphany.opt:132 #, fuzzy @@ -8253,8 +8227,9 @@ msgid "Use the floating point unit for integer add/subtract." msgstr "使用浮点转æ¢æŒ‡ä»¤" #: config/epiphany/epiphany.opt:136 +#, fuzzy msgid "Set register to hold -1." -msgstr "" +msgstr "设定 sizeof(bool) 为 1" #: config/h8300/h8300.opt:23 msgid "Generate H8S code" @@ -8392,7 +8367,7 @@ msgstr "自动对é½è·³è½¬ç›®æ ‡ä»¥å‡å°‘分支开销" #: config/xtensa/xtensa.opt:39 msgid "Intersperse literal pools with code in the text section" -msgstr "在文本节ä¸çš„代ç 节ä¸ç‚¹ç¼€å—é¢å€¼çš„å…±äº«æ± " +msgstr "在文本节ä¸çš„代ç 节ä¸ç‚¹ç¼€å—é¢é‡çš„å…±äº«æ± " #: config/xtensa/xtensa.opt:43 msgid "-mno-serialize-volatile\tDo not serialize volatile memory references with MEMW instructions" @@ -8465,7 +8440,7 @@ msgstr "sizeof(long double) ç‰äºŽ 12" #: config/i386/i386.opt:194 #, fuzzy msgid "Use 80-bit long double" -msgstr "使用 128 ä½ long double" +msgstr "使用 64 ä½ long double" #: config/i386/i386.opt:198 config/s390/s390.opt:115 #: config/sparc/long-double-switch.opt:27 config/alpha/alpha.opt:102 @@ -8503,9 +8478,8 @@ msgstr "对é½å—符串æ“ä½œçš„ç›®æ ‡" #: config/i386/i386.opt:230 #, fuzzy -#| msgid "Do not tune writable data alignment" msgid "Use the given data alignment" -msgstr "ä¸è°ƒæ•´å¯å†™æ•°æ®å¯¹é½" +msgstr "使用 H8/300 对é½è§„则" #: config/i386/i386.opt:234 #, fuzzy @@ -8518,7 +8492,7 @@ msgstr "ä½¿ç”¨ç»™å®šçš„æ±‡ç¼–é£Žæ ¼" #: config/i386/i386.opt:255 msgid "Known assembler dialects (for use with the -masm-dialect= option):" -msgstr "" +msgstr "已知汇编器方言 (用于 -masm-dialect= 选项):" #: config/i386/i386.opt:265 msgid "Branches are this expensive (1-5, arbitrary units)" @@ -8535,20 +8509,20 @@ msgstr "使用给定的 x86-64 代ç 模å¼" #: config/i386/i386.opt:277 config/rs6000/aix64.opt:36 #: config/rs6000/linux64.opt:32 config/tilegx/tilegx.opt:57 msgid "Known code models (for use with the -mcmodel= option):" -msgstr "" +msgstr "已知编ç 模型 (用于 -mcmodel= 选项):" #: config/i386/i386.opt:296 #, fuzzy msgid "Use given address mode" -msgstr "使用给定的 x86-64 代ç 模å¼" +msgstr "使用 UTF-8 模å¼" #: config/i386/i386.opt:300 msgid "Known address mode (for use with the -maddress-mode= option):" -msgstr "" +msgstr "已知寻å€æ¨¡å¼ (用于 -mcmodel= 选项):" #: config/i386/i386.opt:309 msgid "%<-mcpu=%> is deprecated; use %<-mtune=%> or %<-march=%> instead" -msgstr "ä¸å»ºè®®ä½¿ç”¨%<-mcpu=%>;请改用%<-mtune=%>或%<-march=%>" +msgstr "已弃用%<-mcpu=%>;请改用%<-mtune=%>或%<-march=%>" #: config/i386/i386.opt:313 msgid "Generate sin, cos, sqrt for FPU" @@ -8567,9 +8541,8 @@ msgid "Generate floating point mathematics using given instruction set" msgstr "为指定的指令集生æˆæµ®ç‚¹æ•°å¦ä»£ç " #: config/i386/i386.opt:329 -#, fuzzy msgid "Valid arguments to -mfpmath=:" -msgstr "æžæž„函数ä¸èƒ½æœ‰å‚æ•°" +msgstr "-fpmath= 的有效å‚数为:" #: config/i386/i386.opt:362 msgid "Inline all known string operations" @@ -8581,7 +8554,7 @@ msgstr "å†…è” memset/memcpy å—符串æ“作,但仅为较å°çš„å—ä½¿ç”¨å†…è” #: config/i386/i386.opt:369 msgid "%<-mintel-syntax%> and %<-mno-intel-syntax%> are deprecated; use %<-masm=intel%> and %<-masm=att%> instead" -msgstr "ä¸å»ºè®®ä½¿ç”¨%<-mintel-syntax%>å’Œ %<-mno-intel-syntax%>;请改用%<-masm=intel%>å’Œ%<-masm=att%>" +msgstr "已弃用%<-mintel-syntax%>å’Œ %<-mno-intel-syntax%>;请改用%<-masm=intel%>å’Œ%<-masm=att%>" #: config/i386/i386.opt:394 #, fuzzy @@ -8651,9 +8624,8 @@ msgid "Chose strategy to generate stringop using" msgstr "选择生æˆå—符串æ“作的ç–ç•¥" #: config/i386/i386.opt:458 -#, fuzzy msgid "Valid arguments to -mstringop-strategy=:" -msgstr "%2$sstringop-strategy=%3$s %4$s所带å‚æ•°(%1$s)ä¸æ£ç¡®" +msgstr "-mstringop-strategy= 的有效å‚数为:" #: config/i386/i386.opt:486 msgid "Use given thread-local storage dialect" @@ -8661,7 +8633,7 @@ msgstr "使用给定的线程局部å˜å‚¨æ¨¡å¼" #: config/i386/i386.opt:490 msgid "Known TLS dialects (for use with the -mtls-dialect= option):" -msgstr "" +msgstr "已知 TLS 方言 (用于 -mtls-dialect= 选项):" #: config/i386/i386.opt:500 #, c-format @@ -8673,8 +8645,9 @@ msgid "Fine grain control of tune features" msgstr "" #: config/i386/i386.opt:512 +#, fuzzy msgid "Clear all tune features" -msgstr "" +msgstr "预期的è¿ç®—符" #: config/i386/i386.opt:519 msgid "Generate code that conforms to the given ABI" @@ -8682,7 +8655,7 @@ msgstr "生æˆéµå¾ªç»™å®š ABI 的代ç " #: config/i386/i386.opt:523 msgid "Known ABIs (for use with the -mabi= option):" -msgstr "" +msgstr "已知 ABI (用于 -mabi= 选项):" #: config/i386/i386.opt:533 config/rs6000/rs6000.opt:189 msgid "Vector library ABI to use" @@ -8702,16 +8675,18 @@ msgid "Generate reciprocals instead of divss and sqrtss." msgstr "生æˆå€’数指令而ä¸æ˜¯ divss å’Œ sqrtss。" #: config/i386/i386.opt:555 +#, fuzzy msgid "Control generation of reciprocal estimates." -msgstr "" +msgstr "控制产生的倒数估计。" #: config/i386/i386.opt:559 msgid "Generate cld instruction in the function prologue." msgstr "在函数åºè¨€ä¸ç”Ÿæˆ cld 指令" #: config/i386/i386.opt:563 +#, fuzzy msgid "Generate vzeroupper instruction before a transfer of control flow out of" -msgstr "" +msgstr "产生 vzeroupper 指令之å‰è½¬é€çš„控制æµç¨‹è¶…出" #: config/i386/i386.opt:568 #, fuzzy @@ -8733,7 +8708,7 @@ msgstr "ç”Ÿæˆ 64 ä½ x86-64 代ç " #: config/i386/i386.opt:587 #, fuzzy msgid "Generate 32bit x86-64 code" -msgstr "ç”Ÿæˆ 64 ä½ x86-64 代ç " +msgstr "ç”Ÿæˆ 32 ä½ i386 代ç " #: config/i386/i386.opt:591 #, fuzzy @@ -8786,77 +8761,67 @@ msgstr "%<-msse5%>已被移除" #: config/i386/i386.opt:643 msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation" -msgstr "æ”¯æŒ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2 å’Œ AVX 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2 å’Œ AVX 内建函数åŠä»£ç " #: config/i386/i386.opt:647 -#, fuzzy 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 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVX å’Œ AVX2 内建函数åŠä»£ç " #: config/i386/i386.opt:651 -#, fuzzy 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 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVXã€AVX2 å’Œ AVX512F 内建函数åŠä»£ç " #: config/i386/i386.opt:655 -#, fuzzy 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 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVXã€AVX2ã€AVX512F å’Œ AVX512PF 内建函数åŠä»£ç " #: config/i386/i386.opt:659 -#, fuzzy 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 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVXã€AVX2ã€AVX512F å’Œ AVX512ER 内建函数åŠä»£ç " #: config/i386/i386.opt:663 -#, fuzzy 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 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVXã€AVX2ã€AVX512F å’Œ AVX512CD 内建函数åŠä»£ç " #: config/i386/i386.opt:667 -#, fuzzy msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512DQ built-in functions and code generation" -msgstr "æ”¯æŒ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVX å’Œ FMA 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVXã€AVX2ã€AVX512F å’Œ AVX512DQ 内建函数åŠä»£ç " #: config/i386/i386.opt:671 -#, fuzzy msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512BW built-in functions and code generation" -msgstr "æ”¯æŒ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVX å’Œ FMA 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVXã€AVX2ã€AVX512F å’Œ AVX512BW 内建函数åŠä»£ç " #: config/i386/i386.opt:675 -#, fuzzy msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VL built-in functions and code generation" -msgstr "æ”¯æŒ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVX å’Œ FMA 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVXã€AVX2ã€AVX512F å’Œ AVX512VL 内建函数åŠä»£ç " #: config/i386/i386.opt:679 -#, fuzzy msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512IFMA built-in functions and code generation" -msgstr "æ”¯æŒ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVX å’Œ FMA 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVXã€AVX2ã€AVX512F å’Œ AVX512IFMA 内建函数åŠä»£ç " #: config/i386/i386.opt:683 -#, fuzzy msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VBMI built-in functions and code generation" -msgstr "æ”¯æŒ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVX å’Œ FMA 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVXã€AVX2ã€AVX512F å’Œ AVX512VBMI 内建函数åŠä»£ç " #: config/i386/i386.opt:687 msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation" -msgstr "æ”¯æŒ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVX å’Œ FMA 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ MMXã€SSEã€SSE2ã€SSE3ã€SSSE3ã€SSE4.1ã€SSE4.2ã€AVX å’Œ FMA 内建函数åŠä»£ç " #: config/i386/i386.opt:691 msgid "Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation" -msgstr "æ”¯æŒ MMXã€SSEã€SSE2ã€SSE3 å’Œ SSE4A 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ MMXã€SSEã€SSE2ã€SSE3 å’Œ SSE4A 内建函数åŠä»£ç " #: config/i386/i386.opt:695 msgid "Support FMA4 built-in functions and code generation " -msgstr "æ”¯æŒ FMA4 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ FMA4 内建函数åŠä»£ç " #: config/i386/i386.opt:699 msgid "Support XOP built-in functions and code generation " -msgstr "æ”¯æŒ XOP 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ XOP 内建函数åŠä»£ç " #: config/i386/i386.opt:703 msgid "Support LWP built-in functions and code generation " -msgstr "æ”¯æŒ LWP 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ LWP 内建函数åŠä»£ç " #: config/i386/i386.opt:707 msgid "Support code generation of Advanced Bit Manipulation (ABM) instructions." @@ -8868,30 +8833,29 @@ msgstr "支æŒç”Ÿæˆ popcnt 指令。" #: config/i386/i386.opt:715 msgid "Support BMI built-in functions and code generation" -msgstr "æ”¯æŒ BMI 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ BMI 内建函数åŠä»£ç " #: config/i386/i386.opt:719 #, fuzzy msgid "Support BMI2 built-in functions and code generation" -msgstr "æ”¯æŒ BMI 内建函数åŠä»£ç 生æˆ" +msgstr "æ”¯æŒ TBM 内建函数åŠä»£ç 生æˆ" #: config/i386/i386.opt:723 #, fuzzy msgid "Support LZCNT built-in function and code generation" -msgstr "æ”¯æŒ TBM 内建函数åŠä»£ç 生æˆ" +msgstr "æ”¯æŒ XOP 内建函数åŠä»£ç 生æˆ" #: config/i386/i386.opt:727 msgid "Support Hardware Lock Elision prefixes" msgstr "" #: config/i386/i386.opt:731 -#, fuzzy msgid "Support RDSEED instruction" -msgstr "使用 SmartMIPS 指令" +msgstr "支æŒç”Ÿæˆ RDSEED 指令" #: config/i386/i386.opt:735 msgid "Support PREFETCHW instruction" -msgstr "" +msgstr "支æŒç”Ÿæˆ PREFETCHW 指令" #: config/i386/i386.opt:739 #, fuzzy @@ -8899,47 +8863,40 @@ msgid "Support flag-preserving add-carry instructions" msgstr "支æŒç”Ÿæˆ crc32 指令。" #: config/i386/i386.opt:743 -#, fuzzy msgid "Support CLFLUSHOPT instructions" -msgstr "æ”¯æŒ MMX 内建函数" +msgstr "支æŒç”Ÿæˆ CLFLUSHOPT 指令" #: config/i386/i386.opt:747 -#, fuzzy msgid "Support CLWB instruction" -msgstr "使用 SmartMIPS 指令" +msgstr "支æŒç”Ÿæˆ CLWB 指令" #: config/i386/i386.opt:751 -#, fuzzy msgid "Support PCOMMIT instruction" -msgstr "æ”¯æŒ MMX 内建函数" +msgstr "支æŒç”Ÿæˆ PCOMMIT 指令" #: config/i386/i386.opt:755 msgid "Support FXSAVE and FXRSTOR instructions" -msgstr "" +msgstr "支æŒç”Ÿæˆ FXSAVE å’Œ FXRSTOR 指令" #: config/i386/i386.opt:759 -#, fuzzy msgid "Support XSAVE and XRSTOR instructions" -msgstr "æ”¯æŒ Thumb å’Œ ARM 指令集间互相调用g" +msgstr "支æŒç”Ÿæˆ XSAVE å’Œ XRSTOR 指令" #: config/i386/i386.opt:763 -#, fuzzy msgid "Support XSAVEOPT instruction" -msgstr "æ”¯æŒ MMX 内建函数" +msgstr "支æŒç”Ÿæˆ XSAVEOPT 指令" #: config/i386/i386.opt:767 -#, fuzzy msgid "Support XSAVEC instructions" -msgstr "æ”¯æŒ MMX 内建函数" +msgstr "支æŒç”Ÿæˆ XSAVEC 指令" #: config/i386/i386.opt:771 -#, fuzzy msgid "Support XSAVES and XRSTORS instructions" -msgstr "æ”¯æŒ Thumb å’Œ ARM 指令集间互相调用g" +msgstr "支æŒç”Ÿæˆ XSAVES å’Œ XRSTORS 指令" #: config/i386/i386.opt:775 msgid "Support TBM built-in functions and code generation" -msgstr "æ”¯æŒ TBM 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ TBM 内建函数åŠä»£ç " #: config/i386/i386.opt:779 msgid "Support code generation of cmpxchg16b instruction." @@ -8959,32 +8916,31 @@ msgstr "支æŒç”Ÿæˆ crc32 指令。" #: config/i386/i386.opt:795 msgid "Support AES built-in functions and code generation" -msgstr "æ”¯æŒ AES 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ AES 内建函数åŠä»£ç " #: config/i386/i386.opt:799 -#, fuzzy msgid "Support SHA1 and SHA256 built-in functions and code generation" -msgstr "æ”¯æŒ MMX å’Œ SSE 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ SHA1 å’Œ SHA256 内建函数åŠä»£ç " #: config/i386/i386.opt:803 msgid "Support PCLMUL built-in functions and code generation" -msgstr "æ”¯æŒ PCLMUL 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ PCLMUL 内建函数åŠä»£ç " #: config/i386/i386.opt:807 msgid "Encode SSE instructions with VEX prefix" -msgstr "支æŒå¸¦ VEX å‰ç¼€çš„ SSE 指令" +msgstr "ç¼–ç 带 VEX å‰ç¼€çš„ SSE 指令" #: config/i386/i386.opt:811 msgid "Support FSGSBASE built-in functions and code generation" -msgstr "æ”¯æŒ FSGSBASE 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ FSGSBASE 内建函数åŠä»£ç " #: config/i386/i386.opt:815 msgid "Support RDRND built-in functions and code generation" -msgstr "æ”¯æŒ RDRND 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ RDRND 内建函数åŠä»£ç " #: config/i386/i386.opt:819 msgid "Support F16C built-in functions and code generation" -msgstr "æ”¯æŒ F16C 内建函数åŠä»£ç 生æˆ" +msgstr "支æŒç”Ÿæˆ F16C 内建函数åŠä»£ç " #: config/i386/i386.opt:823 #, fuzzy @@ -9013,12 +8969,14 @@ msgid "Expand 32bit/64bit integer divide into 8bit unsigned integer divide with msgstr "å°† 32/64 ä½æ•´æ•°é™¤æ³•æ‰©å±•ä¸ºå¸¦è¿è¡Œæ—¶æ£€æŸ¥çš„ 8 ä½æ— 符å·æ•´æ•°é™¤æ³•" #: config/i386/i386.opt:848 +#, fuzzy msgid "Split 32-byte AVX unaligned load" -msgstr "" +msgstr "分割 32-byte AVX unaligned åŠ è½½" #: config/i386/i386.opt:852 +#, fuzzy msgid "Split 32-byte AVX unaligned store" -msgstr "" +msgstr "分割 32-byte AVX unaligned ä¿å˜" #: config/i386/i386.opt:856 #, fuzzy @@ -9027,13 +8985,11 @@ msgstr "æ”¯æŒ TBM 内建函数åŠä»£ç 生æˆ" #: config/i386/i386.opt:860 #, fuzzy -#| msgid "Support BMI built-in functions and code generation" msgid "Support MPX code generation" -msgstr "æ”¯æŒ BMI 内建函数åŠä»£ç 生æˆ" +msgstr "æ”¯æŒ FMA4 内建函数åŠä»£ç 生æˆ" #: config/i386/i386.opt:864 #, fuzzy -#| msgid "Support MMX and SSE built-in functions and code generation" msgid "Support MWAITX and MONITORX built-in functions and code generation" msgstr "æ”¯æŒ MMX å’Œ SSE 内建函数åŠä»£ç 生æˆ" @@ -9043,8 +8999,9 @@ msgid "Use given stack-protector guard" msgstr "使用 propolice æ¥ä¿æŠ¤å †æ ˆ" #: config/i386/i386.opt:872 +#, fuzzy msgid "Known stack protector guard (for use with the -mstack-protector-guard= option):" -msgstr "" +msgstr "å·²çŸ¥å †æ ˆä¿æŠ¤æ–¹å¼ (stack protector guard, 用于 -mstack-protector-guard= 选项):" #: config/i386/stringop.opt:8 msgid "the Free Software Foundation; either version 3, or (at your option)" @@ -9055,8 +9012,19 @@ msgid "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the" msgstr "" #: config/i386/stringop.opt:18 +#, fuzzy msgid "see <http://www.gnu.org/licenses/>. */" msgstr "" +"这个程åºæ˜¯è‡ªç”±è½¯ä»¶, 您å¯ä»¥åœ¨è‡ªç”±è½¯ä»¶åŸºé‡‘会所出版的 GNU\n" +"一般公用授æƒä¹¦çš„è§„èŒƒä¸‹åŠ ä»¥é‡æ–°æ•£å‘或且修改; ä¸ç®¡æ˜¯ç¬¬ä¸‰\n" +"或 (ä½ è®¤ä¸ºçš„) æ›´åŽé¢çš„版本皆å¯.\n" +"\n" +"这个程åºçš„æ•£å‘åªæ˜¯å¸Œæœ›å®ƒèƒ½æœ‰æ‰€ç”¨é€”而ä¸é™„有任何的ä¿è¯!\n" +"甚至也ä¸æš—示它有商å“价值或能åˆç”¨äºŽç‰¹å®šçš„目的. 细节请è§\n" +"GNU 一般公用授æƒä¹¦.\n" +" \n" +"æ£å¸¸æƒ…况下, 您在收到这个软件的åŒæ—¶, 也应该收到 GNU\n" +"一般公用授æƒä¹¦ã€‚如果没有, 请å‚看 <http://www.gnu.org/licenses/>。\n" #: config/pa/pa64-hpux.opt:23 msgid "Assume code will be linked by GNU ld" @@ -9089,7 +9057,7 @@ msgstr "ç”Ÿæˆ PA1.1 代ç " #: config/pa/pa.opt:38 config/pa/pa.opt:99 msgid "Generate PA2.0 code (requires binutils 2.10 or later)" -msgstr "ç”Ÿæˆ PA2.0 代ç (éœ€è¦ binutils 2.10 或更新版本)" +msgstr "ç”Ÿæˆ PA2.0 代ç (éœ€è¦ binutils 2.10 或更新版本)" #: config/pa/pa.opt:46 msgid "Disable FP regs" @@ -9152,9 +9120,8 @@ msgid "Enable backend debugging" msgstr "å¯ç”¨åŽç«¯è°ƒè¯•" #: config/v850/v850.opt:41 -#, fuzzy msgid "Do not use the callt instruction (default)" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ callt 指令(默认)" #: config/v850/v850.opt:45 msgid "Reuse r30 on a per function basis" @@ -9189,8 +9156,9 @@ msgid "Do not enforce strict alignment" msgstr "ä¸å¼ºåˆ¶ä¸¥æ ¼å¯¹é½" #: config/v850/v850.opt:86 +#, fuzzy msgid "Put jump tables for switch statements into the .data section rather than the .code section" -msgstr "" +msgstr "置放跳跃å¼è¡¨æ ¼ç”¨äºŽå¼€å…³å™è¿°è¿›å…¥.data 区段而éž.code 区段" #: config/v850/v850.opt:93 msgid "Compile for the v850 processor" @@ -9219,12 +9187,12 @@ msgstr "为 v850e2v3 处ç†å™¨ç¼–译" #: config/v850/v850.opt:117 #, fuzzy msgid "Compile for the v850e3v5 processor" -msgstr "为 v850e 处ç†å™¨ç¼–译" +msgstr "为 v850e2v3 处ç†å™¨ç¼–译" #: config/v850/v850.opt:124 #, fuzzy msgid "Enable v850e3v5 loop instructions" -msgstr "å¯ç”¨ clip 指令" +msgstr "åœ¨æ ‘ä¸Šè¿›è¡Œå¾ªçŽ¯åˆ†é…" #: config/v850/v850.opt:128 msgid "Set the max size of data eligible for the ZDA area" @@ -9233,7 +9201,7 @@ msgstr "为 ZDA 区域åˆæ ¼çš„æ•°æ®è®¾ç½®æœ€å¤§å°ºå¯¸" #: config/v850/v850.opt:135 #, fuzzy msgid "Enable relaxing in the assembler" -msgstr "在调度器ä¸å¯ç”¨ç§©å¯å‘" +msgstr "å¯ç”¨é“¾æŽ¥å™¨æ¾å¼›" #: config/v850/v850.opt:139 #, fuzzy @@ -9243,7 +9211,7 @@ msgstr "ç¦æ¢ç›¸å¯¹ PC 的函数调用" #: config/v850/v850.opt:143 #, fuzzy msgid "Inhibit the use of hardware floating point instructions" -msgstr "ä¸å…许使用任何硬件浮点指令" +msgstr "使用浮点转æ¢æŒ‡ä»¤" #: config/v850/v850.opt:147 #, fuzzy @@ -9282,19 +9250,18 @@ msgstr "支æŒå¤šçº¿ç¨‹" #: config/nvptx/nvptx.opt:22 #, fuzzy -#| msgid "Generate code for a Fido A" msgid "Generate code for a 32-bit ABI" -msgstr "为 Fido A 生æˆä»£ç " +msgstr "ç”Ÿæˆ 32 ä½ SHmedia 代ç " #: config/nvptx/nvptx.opt:26 #, fuzzy -#| msgid "Generate code for a Fido A" msgid "Generate code for a 64-bit ABI" -msgstr "为 Fido A 生æˆä»£ç " +msgstr "ç”Ÿæˆ 64 ä½ä»£ç " #: config/nvptx/nvptx.opt:30 +#, fuzzy msgid "Link in code for a __main kernel." -msgstr "" +msgstr "ä¸ºå†…æ ¸æˆ–å¯åŠ è½½å†…æ ¸æ‰©å±•ç”Ÿæˆä»£ç " #: config/vxworks.opt:36 msgid "Assume the VxWorks RTP environment" @@ -9305,37 +9272,37 @@ msgid "Assume the VxWorks vThreads environment" msgstr "å‡å®š VxWorks vThreads 环境" #: config/cr16/cr16.opt:23 -#, fuzzy msgid "-msim Use simulator runtime" -msgstr "-msim\t使用仿真器è¿è¡Œæ—¶" +msgstr "-msim 使用仿真器è¿è¡Œæ—¶" #: config/cr16/cr16.opt:27 #, fuzzy msgid "Generate SBIT, CBIT instructions" -msgstr "生æˆä½æŒ‡ä»¤" +msgstr "生æˆåŠ è½½/å˜å‚¨ä¹˜æ³•æŒ‡ä»¤" #: config/cr16/cr16.opt:31 msgid "Support multiply accumulate instructions" msgstr "支æŒä¹˜åŠ 指令" #: config/cr16/cr16.opt:38 +#, fuzzy msgid "Treat data references as near, far or medium. medium is default" -msgstr "" +msgstr "对待数æ®å‚考作为接近,far 或ä¸ã€‚ä¸æ˜¯ç¼ºçœ" #: config/cr16/cr16.opt:42 #, fuzzy msgid "Generate code for CR16C architecture" -msgstr "为 cpu32 生æˆä»£ç " +msgstr "为 Android æ“作系统生æˆä»£ç 。" #: config/cr16/cr16.opt:46 #, fuzzy msgid "Generate code for CR16C+ architecture (Default)" -msgstr "为 GNU 汇编器(gas)生æˆä»£ç " +msgstr "生æˆç›‘视者 (supervisor) 模å¼çš„代ç " #: config/cr16/cr16.opt:50 #, fuzzy msgid "Treat integers as 32-bit." -msgstr "指针是 32 ä½" +msgstr "让整数有 32 ä½å®½" #: config/avr/avr.opt:23 msgid "Use subroutines for function prologues and epilogues" @@ -9343,9 +9310,8 @@ msgstr "使用å程åºå®Œæˆå‡½æ•°å‰è¨€/尾声" #: config/avr/avr.opt:26 #, fuzzy, c-format -#| msgid "missing makefile target after %qs" msgid "missing device or architecture after %qs" -msgstr "%qsåŽç¼ºå°‘ makefile ç›®æ ‡" +msgstr "%qsåŽç¼ºå°‘å®å" #: config/avr/avr.opt:27 msgid "-mmcu=MCU\tSelect the target MCU" @@ -9372,8 +9338,9 @@ msgid "Change the stack pointer without disabling interrupts" msgstr "改å˜å †æ ˆæŒ‡é’ˆæ—¶ä¸å±è”½ä¸æ–" #: config/avr/avr.opt:57 +#, fuzzy msgid "Set the branch costs for conditional branch instructions. Reasonable values are small, non-negative integers. The default branch cost is 0." -msgstr "" +msgstr "设置分支æˆæœ¬ç”¨äºŽæ¡ä»¶åˆ†æ”¯æŒ‡ä»¤ã€‚ Reasonable 值是å°ï¼Œnon-negative 整数。 缺çœåˆ†æ”¯æˆæœ¬æ˜¯ 0。" #: config/avr/avr.opt:67 msgid "Change only the low 8 bits of the stack pointer" @@ -9389,21 +9356,24 @@ msgid "Make the linker relaxation machine assume that a program counter wrap-aro msgstr "链接器æ¾é©°æœºå™¨å‡å®šä¸€ä¸ªç¨‹åºè®¡æ•°å™¨çŽ¯ç»•å‘生 。" #: config/avr/avr.opt:79 +#, fuzzy msgid "Accumulate outgoing function arguments and acquire/release the needed stack space for outpoing function arguments in function prologue/epilogue. Without this option, outgoing arguments are pushed before calling a function and popped afterwards. This option can lead to reduced code size for functions that call many functions that get their arguments on the stack like, for example printf." -msgstr "" +msgstr "累积外é€çš„邮件函数å‚数和获å–/å‘å¸ƒæ‰€éœ€çš„å †å ç©ºæ ¼ç”¨äºŽ outpoing 函数å‚数在ä¸å‡½å¼ prologue/epilogue。 è€Œæ— éœ€è¿™ä¸ªé€‰é¡¹ï¼Œå¤–é€çš„邮件å‚数被推之å‰è°ƒç”¨å‡½æ•°å’Œæµè¡Œçš„在æ¤ä¹‹åŽã€‚ 这个选项å¯ä»¥å¯¼è‡´ç¼©å°çš„ç¼–ç 大å°ç”¨äºŽå‡½æ•°è¯¥è°ƒç”¨è®¸å¤šå‡½æ•°è¯¥æå–å®ƒä»¬çš„å¼•æ•°åœ¨ä¹‹ä¸Šå †å 如åŒï¼Œä¸¾ä¾‹æ¥è¯´ printf。" #: config/avr/avr.opt:83 +#, fuzzy msgid "When accessing RAM, use X as imposed by the hardware, i.e. just use pre-decrement, post-increment and indirect addressing with the X register. Without this option, the compiler may assume that there is an addressing mode X+const similar to Y+const and Z+const and emit instructions to emulate such an addressing mode for X." -msgstr "" +msgstr "时访问内å˜ï¼Œä½¿ç”¨ X ä½œä¸ºæ–½åŠ çš„ç”±ç¡¬ä»¶ï¼Œä¹Ÿå°±æ˜¯ä»…ä½¿ç”¨ pre-decrement,post-increment 和间接寻å€ä¸Ž X æš‚å˜å™¨ã€‚ è€Œæ— éœ€è¿™ä¸ªé€‰é¡¹ï¼Œç¼–è¯‘å™¨ä¹Ÿè®¸ä¼šå‡è®¾è¯¥æœ‰å¯»å€æ¨¡å¼ X+常数类似于 Y+常数和 Z+常数和 emit 指令到仿真æ¤ç±»å¯»å€æ¨¡å¼ç”¨äºŽ X。" #: config/avr/avr.opt:88 +#, fuzzy msgid "The device has no SPH special function register. This option will be overridden by the compiler driver with the correct setting if presence/absence of SPH can be deduced from -mmcu=MCU." -msgstr "" +msgstr "设备没有任何 SPH 特殊函数暂å˜å™¨ã€‚这个选项将被 overridden 由编译器驱动程åºä¸Žæ£ç¡®è®¾ç½®å¦‚æžœå˜åœ¨/absence çš„ SPH å¯ä»¥è¢« deduced 从 -mmcu=MCU。" #: config/avr/avr.opt:92 #, fuzzy msgid "Warn if the address space of an address is changed." -msgstr "å–æ ‡å·çš„地å€ä¸ç¬¦åˆæ ‡å‡†" +msgstr "å‡å®šå°åœ°å€ç©ºé—´" #: config/avr/avr.opt:96 msgid "Allow to use truncation instead of rounding towards 0 for fractional int types" @@ -9516,7 +9486,7 @@ msgstr "" #: config/s390/s390.opt:119 #, fuzzy msgid "Use hardware transactional execution instructions" -msgstr "使用硬件浮点指令" +msgstr "使用 ColdFire 上的硬件除法指令" #: config/s390/s390.opt:123 msgid "Use packed stack layout" @@ -9555,22 +9525,24 @@ msgid "z/Architecture" msgstr "z/Architecture" #: config/s390/s390.opt:163 +#, fuzzy msgid "Set the branch costs for conditional branch instructions. Reasonable" -msgstr "" +msgstr "设置分支æˆæœ¬ç”¨äºŽæ¡ä»¶åˆ†æ”¯æŒ‡ä»¤ã€‚ Reasonable" #: config/s390/s390.opt:169 config/rs6000/rs6000.opt:474 #: config/mips/mips.opt:389 #, fuzzy msgid "Use LRA instead of reload" -msgstr "使用 ROM 而ä¸æ˜¯ RAM" +msgstr "请使用 %.100s 作为替代" #: config/rl78/rl78.opt:27 config/rx/rx.opt:87 msgid "Use the simulator runtime." msgstr "使用仿真器è¿è¡Œæ—¶ã€‚" #: config/rl78/rl78.opt:31 +#, fuzzy msgid "Select hardware or software multiplication support." -msgstr "" +msgstr "选å–硬件或软件乘法支æŒã€‚" #: config/rl78/rl78.opt:47 #, fuzzy @@ -9584,7 +9556,7 @@ msgstr "" #: config/rl78/rl78.opt:55 #, fuzzy msgid "Target the RL78/G10 series" -msgstr "ç›®æ ‡ä¸º AM33/2.0 处ç†å™¨" +msgstr "ç›®æ ‡ï¼š%s\n" #: config/rl78/rl78.opt:59 msgid "Assume ES is zero throughout program execution, use ES: for read-only data." @@ -9596,19 +9568,20 @@ msgstr "为仿真器æ供库" #: config/arm/arm-tables.opt:25 msgid "Known ARM CPUs (for use with the -mcpu= and -mtune= options):" -msgstr "" +msgstr "已知 ARM 处ç†å™¨ (用于 -mcpu= å’Œ -mtune= 选项):" #: config/arm/arm-tables.opt:329 msgid "Known ARM architectures (for use with the -march= option):" -msgstr "" +msgstr "已知 ARM 架构 (用于 -march= 选项):" #: config/arm/arm-tables.opt:417 msgid "Known ARM FPUs (for use with the -mfpu= option):" -msgstr "" +msgstr "已知 ARM 浮点处ç†å™¨ (用于 -mfpu= 选项):" #: config/arm/arm.opt:26 +#, fuzzy msgid "TLS dialect to use:" -msgstr "" +msgstr "ä½¿ç”¨ç»™å®šçš„æ±‡ç¼–é£Žæ ¼" #: config/arm/arm.opt:36 msgid "Specify an ABI" @@ -9616,7 +9589,7 @@ msgstr "指定一个 ABI" #: config/arm/arm.opt:40 msgid "Known ARM ABIs (for use with the -mabi= option):" -msgstr "" +msgstr "已知 ARM ABI (用于 -mabi= 选项):" #: config/arm/arm.opt:59 msgid "Generate a call to abort if a noreturn function returns" @@ -9653,7 +9626,7 @@ msgstr "指定是å¦åº”当使用硬件浮点" #: config/arm/arm.opt:114 msgid "Known floating-point ABIs (for use with the -mfloat-abi= option):" -msgstr "" +msgstr "已知浮点 ABI (用于 -mfloat-abi= 选项):" #: config/arm/arm.opt:127 msgid "Specify the __fp16 floating-point format" @@ -9700,7 +9673,7 @@ msgstr "为结构指定最å°ä½å¯¹é½" #: config/arm/arm.opt:186 #, fuzzy msgid "Generate code for Thumb state" -msgstr "为 GNU as 生æˆä»£ç " +msgstr "生æˆå¤§ç«¯åœ¨å‰çš„代ç " #: config/arm/arm.opt:190 msgid "Support calls between Thumb and ARM instruction sets" @@ -9716,9 +9689,8 @@ msgid "Specify how to access the thread pointer" msgstr "指定如何访问线程指针" #: config/arm/arm.opt:202 -#, fuzzy msgid "Valid arguments to -mtp=:" -msgstr "æžæž„函数ä¸èƒ½æœ‰å‚æ•°" +msgstr "-mtp= 的有效å‚数为:" #: config/arm/arm.opt:215 msgid "Thumb: Generate (non-leaf) stack frames even if not needed" @@ -9766,8 +9738,9 @@ msgid "Avoid overlapping destination and address registers on LDRD instructions" msgstr "在 LDRD 指令ä¸é¿å…é‡å çš„ç›®æ ‡å’Œåœ°å€å¯„å˜å™¨" #: config/arm/arm.opt:267 +#, fuzzy msgid "Enable unaligned word and halfword accesses to packed data." -msgstr "" +msgstr "å¯ç”¨ unaligned å—è¯å’Œ halfword 访问到包装的数æ®ã€‚" #: config/arm/arm.opt:271 msgid "Use Neon to perform 64-bits operations rather than core registers." @@ -9886,25 +9859,27 @@ msgid "Use given SPARC-V9 code model" msgstr "使用给定的 SPARC-V9 代ç 模型" #: config/sparc/sparc.opt:203 -#, fuzzy msgid "Enable debug output" -msgstr "-mdebug=\tå¯ç”¨è°ƒè¯•è¾“出" +msgstr "å¼€å¯è°ƒè¯•è¾“出" #: config/sparc/sparc.opt:207 msgid "Enable strict 32-bit psABI struct return checking." msgstr "å¯ç”¨ä¸¥æ ¼çš„ 32 ä½ psABI 结构返回检查" #: config/sparc/sparc.opt:211 +#, fuzzy msgid "Enable workaround for single erratum of AT697F processor" -msgstr "" +msgstr "å¯ç”¨å˜é€šæ–¹æ³•ç”¨æ–¼å•ä¸€ erratum çš„ AT697F 处ç†å™¨" #: config/sparc/sparc.opt:216 +#, fuzzy msgid "Enable workarounds for the errata of the UT699 processor" -msgstr "" +msgstr "å¯ç”¨å˜é€šæ–¹æ³•ç”¨æ–¼å•ä¸€ erratum çš„ AT697F 处ç†å™¨" #: config/sparc/sparc.opt:245 +#, fuzzy msgid "Specify the memory model in effect for the program." -msgstr "" +msgstr "指定内å˜å¼æ ·åœ¨ä¸æ•ˆæžœç”¨äºŽç¨‹åºã€‚" #: config/rs6000/darwin.opt:38 config/rs6000/sysv4.opt:141 msgid "Generate 64-bit code" @@ -9916,11 +9891,12 @@ msgstr "ç”Ÿæˆ 32 ä½ä»£ç " #: config/rs6000/rs6000-tables.opt:24 msgid "Known CPUs (for use with the -mcpu= and -mtune= options):" -msgstr "" +msgstr "已知处ç†å™¨ (用于 -mcpu= å’Œ -mtune= 选项):" #: config/rs6000/476.opt:24 +#, fuzzy msgid "Preserve the PowerPC 476's link stack by matching up a blr with the bcl/bl insns used for GOT accesses" -msgstr "" +msgstr "ä¿ç•™ PowerPC 476 's é“¾ç»“å †å 由匹é…å‘上 blr 与 bcl/bl insns 用于得到访问" #: config/rs6000/aix64.opt:24 msgid "Compile for 64-bit pointers" @@ -10058,8 +10034,9 @@ msgid "Generate software reciprocal divide and square root for better throughput msgstr "为优化åžåé‡ç”Ÿæˆè½¯ä»¶å¹³æ–¹æ ¹å€’æ•°" #: config/rs6000/rs6000.opt:287 +#, fuzzy msgid "Assume that the reciprocal estimate instructions provide more accuracy." -msgstr "" +msgstr "å‡è®¾è¯¥å€’数估计指令æ供更多准确度。" #: config/rs6000/rs6000.opt:291 msgid "Do not place floating point constants in TOC" @@ -10090,32 +10067,30 @@ msgid "Generate VRSAVE instructions when generating AltiVec code" msgstr "ç”Ÿæˆ AltiVec 代ç æ—¶ç”Ÿæˆ VRSAVE 指令" #: config/rs6000/rs6000.opt:326 -#, fuzzy msgid "Deprecated option. Use -mno-vrsave instead" -msgstr "-mvrsave=yes/no\tä¸å»ºè®®ä½¿ç”¨çš„选项。请改用 -mvrsave/-mno-vrsave" +msgstr "该选项已弃用。请æ¢ç”¨ -mno-vrsave instead" #: config/rs6000/rs6000.opt:330 -#, fuzzy msgid "Deprecated option. Use -mvrsave instead" -msgstr "ä¸å»ºè®®ä½¿ç”¨ã€‚请改用 -Os" +msgstr "已弃用。请改用 -mvrsave" #: config/rs6000/rs6000.opt:334 +#, fuzzy msgid "Specify how many bytes should be moved inline before calling out to memcpy/memmove" -msgstr "" +msgstr "指定有多少å—节应该被移动内è”之å‰è°ƒç”¨å‡ºåˆ° memcpy/memmove" #: config/rs6000/rs6000.opt:338 msgid "Generate isel instructions" msgstr "ç”Ÿæˆ isel 指令" #: config/rs6000/rs6000.opt:342 -#, fuzzy msgid "Deprecated option. Use -mno-isel instead" -msgstr "-misel=yes/no\tä¸å»ºè®®ä½¿ç”¨çš„选项。请改用 -misel/-mno-isel" +msgstr "该选项已弃用。请æ¢ç”¨ -mno-isel" #: config/rs6000/rs6000.opt:346 #, fuzzy msgid "Deprecated option. Use -misel instead" -msgstr "ä¸å»ºè®®ä½¿ç”¨ã€‚请改用 -Os" +msgstr "已弃用。请改用 -Os" #: config/rs6000/rs6000.opt:350 msgid "Generate SPE SIMD instructions on E500" @@ -10126,14 +10101,13 @@ msgid "Generate PPC750CL paired-single instructions" msgstr "ç”Ÿæˆ PPC750CL é…对å•ç²¾åº¦æŒ‡ä»¤" #: config/rs6000/rs6000.opt:358 -#, fuzzy msgid "Deprecated option. Use -mno-spe instead" -msgstr "-mspe=yes/no\tä¸å»ºè®®ä½¿ç”¨çš„选项。请改用 -mspe/-mno-spe" +msgstr "该选项已弃用。请æ¢ç”¨ -mno-spe" #: config/rs6000/rs6000.opt:362 #, fuzzy msgid "Deprecated option. Use -mspe instead" -msgstr "ä¸å»ºè®®ä½¿ç”¨ã€‚请改用 -Os" +msgstr "已弃用。请改用 -Os" #: config/rs6000/rs6000.opt:366 msgid "-mdebug=\tEnable debug output" @@ -10142,7 +10116,7 @@ msgstr "-mdebug=\tå¯ç”¨è°ƒè¯•è¾“出" #: config/rs6000/rs6000.opt:370 #, fuzzy msgid "Use the AltiVec ABI extensions" -msgstr "使用 Cray 指针扩展" +msgstr "使用 AltiVec 指令" #: config/rs6000/rs6000.opt:374 #, fuzzy @@ -10152,7 +10126,7 @@ msgstr "ä¸ä½¿ç”¨ä½æ®µæŒ‡ä»¤" #: config/rs6000/rs6000.opt:378 #, fuzzy msgid "Use the SPE ABI extensions" -msgstr "使用 Cray 指针扩展" +msgstr "ç›®æ ‡å±žæ€§æˆ– pragma 改å˜äº† SPE ABI" #: config/rs6000/rs6000.opt:382 #, fuzzy @@ -10160,14 +10134,12 @@ msgid "Do not use the SPE ABI extensions" msgstr "ä¸ä½¿ç”¨ä½æ®µæŒ‡ä»¤" #: config/rs6000/rs6000.opt:386 -#, fuzzy msgid "Use the ELFv1 ABI" -msgstr "使用 EABI" +msgstr "使用 ELFv1 ABI" #: config/rs6000/rs6000.opt:390 -#, fuzzy msgid "Use the ELFv2 ABI" -msgstr "使用 EABI" +msgstr "使用 ELFv2 ABI" #: config/rs6000/rs6000.opt:397 msgid "using darwin64 ABI" @@ -10211,16 +10183,15 @@ msgstr "ç”Ÿæˆ Cell 微代ç 时给出è¦å‘Š" #: config/rs6000/rs6000.opt:446 msgid "Warn about deprecated 'vector long ...' AltiVec type usage" -msgstr "é‡åˆ°ä¸å»ºè®®ä½¿ç”¨çš„‘vector long ...’AltiVec 类型时给出è¦å‘Š" +msgstr "é‡åˆ°å·²å¼ƒç”¨çš„‘vector long ...’AltiVec 类型时给出è¦å‘Š" #: config/rs6000/rs6000.opt:450 msgid "-mfloat-gprs=\tSelect GPR floating point method" msgstr "-mfloat-gprs=\t选择通用寄å˜å™¨æµ®ç‚¹æ–¹æ³•" #: config/rs6000/rs6000.opt:454 -#, fuzzy msgid "Valid arguments to -mfloat-gprs=:" -msgstr "æžæž„函数ä¸èƒ½æœ‰å‚æ•°" +msgstr "-mfloat-gprs 的有效å‚数为:" #: config/rs6000/rs6000.opt:470 msgid "-mlong-double-<n>\tSpecify size of long double (64 or 128 bits)" @@ -10239,9 +10210,8 @@ msgid "Specify alignment of structure fields default/natural" msgstr "指定结构å—段默认或自然的对é½" #: config/rs6000/rs6000.opt:490 -#, fuzzy msgid "Valid arguments to -malign-:" -msgstr "æžæž„函数ä¸èƒ½æœ‰å‚æ•°" +msgstr "-malign- 的有效å‚数为:" #: config/rs6000/rs6000.opt:500 msgid "Specify scheduling priority for dispatch slot restricted insns" @@ -10268,12 +10238,14 @@ msgid "Specify Xilinx FPU." msgstr "指定 Xilinx FPU。" #: config/rs6000/rs6000.opt:542 +#, fuzzy msgid "Use/do not use r11 to hold the static link in calls to functions via pointers." -msgstr "" +msgstr "使用/ä¸ä½¿ç”¨ r11 以å˜æ”¾é™æ€é“¾æŽ¥åœ¨ä¸è°ƒç”¨åˆ°å‡½æ•°é€è¿‡æŒ‡æ ‡ã€‚" #: config/rs6000/rs6000.opt:546 +#, fuzzy msgid "Control whether we save the TOC in the prologue for indirect calls or generate the save inline" -msgstr "" +msgstr "控制是å¦æˆ‘们ä¿å˜å…‰ç›˜å†…å®¹è¡¨åœ¨ä¸ prologue 用于间接调用或产生ä¿å˜å†…è”" #: config/rs6000/rs6000.opt:550 msgid "Allow 128-bit integers in VSX registers" @@ -10502,17 +10474,17 @@ msgid "Tune expected memory latency" msgstr "调整预期内å˜å»¶è¿Ÿ" #: config/tilepro/tilepro.opt:23 +#, fuzzy msgid "Compile with 32 bit longs and pointers, which is the only supported" -msgstr "" +msgstr "编译与 32 æ¯”ç‰¹é•¿å’ŒæŒ‡æ ‡ï¼Œè¯¥é¡¹æ˜¯åªæœ‰æ”¯æŒ" #: config/tilepro/tilepro.opt:28 config/tilegx/tilegx.opt:26 -#, fuzzy msgid "-mcpu=CPU\tUse features of and schedule code for given CPU" -msgstr "-mcpu=\t使用指定 CPU 的特性和调度代ç " +msgstr "-mcpu=CPU\t使用指定 CPU 的特性和调度代ç " #: config/tilepro/tilepro.opt:32 msgid "Known TILEPro CPUs (for use with the -mcpu= option):" -msgstr "" +msgstr "已知 TILEPro 处ç†å™¨ (用于 -mcpu= 选项):" #: config/lm32/lm32.opt:24 msgid "Enable multiply instructions" @@ -10544,16 +10516,19 @@ msgid "Name of system library to link against" msgstr "" #: config/nios2/elf.opt:34 +#, fuzzy msgid "Name of the startfile" -msgstr "" +msgstr " A - å称\t\t:" #: config/nios2/elf.opt:38 +#, fuzzy msgid "Link with HAL BSP" -msgstr "" +msgstr "链接到链接" #: config/nios2/nios2.opt:35 +#, fuzzy msgid "Enable DIV, DIVU" -msgstr "" +msgstr "å¯ç”¨é¢„处ç†" #: config/nios2/nios2.opt:39 #, fuzzy @@ -10585,21 +10560,22 @@ msgstr "" #: config/nios2/nios2.opt:63 #, fuzzy -#| msgid "unusual TP-relative address" msgid "Enable/disable GP-relative addressing." -msgstr "ä¸å¯»å¸¸çš„ TP 相对地å€" +msgstr "使用 GP 相对寻å€æ¥è®¿é—®å°æ•°æ®" #: config/nios2/nios2.opt:67 msgid "Valid options for GP-relative addressing (for -mgpopt):" msgstr "" #: config/nios2/nios2.opt:86 +#, fuzzy msgid "Equivalent to -mgpopt=local." -msgstr "" +msgstr "打开本地回应" #: config/nios2/nios2.opt:90 +#, fuzzy msgid "Equivalent to -mgpopt=none." -msgstr "" +msgstr "NONE (æ— )" #: config/nios2/nios2.opt:94 config/c6x/c6x.opt:30 config/mep/mep.opt:82 #: config/mips/mips.opt:134 @@ -10617,533 +10593,517 @@ msgid "Floating point custom instruction configuration name" msgstr "大定点常é‡éšå¼æˆªæ–为定点类型" #: config/nios2/nios2.opt:106 -#, fuzzy msgid "Do not use the ftruncds custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ ftruncds 自定义指令" #: config/nios2/nios2.opt:110 msgid "Integer id (N) of ftruncds custom instruction" -msgstr "" +msgstr "ftruncds 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:114 -#, fuzzy msgid "Do not use the fextsd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fextsd 自定义指令" #: config/nios2/nios2.opt:118 msgid "Integer id (N) of fextsd custom instruction" -msgstr "" +msgstr "fextsd 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:122 -#, fuzzy msgid "Do not use the fixdu custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fixdu 自定义指令" #: config/nios2/nios2.opt:126 -#, fuzzy msgid "Integer id (N) of fixdu custom instruction" -msgstr "å¯ç”¨é™¤æ³•å’Œæ±‚余指令" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:130 -#, fuzzy msgid "Do not use the fixdi custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fixdi 自定义指令" #: config/nios2/nios2.opt:134 +#, fuzzy msgid "Integer id (N) of fixdi custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:138 -#, fuzzy msgid "Do not use the fixsu custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fixsu 自定义指令" #: config/nios2/nios2.opt:142 +#, fuzzy msgid "Integer id (N) of fixsu custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:146 -#, fuzzy msgid "Do not use the fixsi custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fixsi 自定义指令" #: config/nios2/nios2.opt:150 +#, fuzzy msgid "Integer id (N) of fixsi custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:154 -#, fuzzy msgid "Do not use the floatud custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ floatud 自定义指令" #: config/nios2/nios2.opt:158 -#, fuzzy msgid "Integer id (N) of floatud custom instruction" -msgstr "å¯ç”¨ä¸å¯¹é½çš„载入/å˜å‚¨æŒ‡ä»¤" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:162 -#, fuzzy msgid "Do not use the floatid custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸ä½¿ç”¨ floadid 指令" #: config/nios2/nios2.opt:166 -#, fuzzy msgid "Integer id (N) of floatid custom instruction" -msgstr "å¯ç”¨ä¸å¯¹é½çš„载入/å˜å‚¨æŒ‡ä»¤" +msgstr "floatid 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:170 -#, fuzzy msgid "Do not use the floatus custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ floatus 自定义指令" #: config/nios2/nios2.opt:174 +#, fuzzy msgid "Integer id (N) of floatus custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:178 -#, fuzzy msgid "Do not use the floatis custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ floatis 自定义指令" #: config/nios2/nios2.opt:182 +#, fuzzy msgid "Integer id (N) of floatis custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:186 -#, fuzzy msgid "Do not use the fcmpned custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcmpned 自定义指令" #: config/nios2/nios2.opt:190 +#, fuzzy msgid "Integer id (N) of fcmpned custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:194 -#, fuzzy msgid "Do not use the fcmpeqd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcmpeqd 自定义指令" #: config/nios2/nios2.opt:198 +#, fuzzy msgid "Integer id (N) of fcmpeqd custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:202 -#, fuzzy msgid "Do not use the fcmpged custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcmpged 自定义指令" #: config/nios2/nios2.opt:206 +#, fuzzy msgid "Integer id (N) of fcmpged custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:210 -#, fuzzy msgid "Do not use the fcmpgtd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcmpgtd 自定义指令" #: config/nios2/nios2.opt:214 +#, fuzzy msgid "Integer id (N) of fcmpgtd custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:218 -#, fuzzy msgid "Do not use the fcmpled custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcmpled 自定义指令" #: config/nios2/nios2.opt:222 +#, fuzzy msgid "Integer id (N) of fcmpled custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:226 -#, fuzzy msgid "Do not use the fcmpltd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcmpltd 自定义指令" #: config/nios2/nios2.opt:230 +#, fuzzy msgid "Integer id (N) of fcmpltd custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:234 -#, fuzzy msgid "Do not use the flogd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ flogd 自定义指令" #: config/nios2/nios2.opt:238 +#, fuzzy msgid "Integer id (N) of flogd custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:242 -#, fuzzy msgid "Do not use the fexpd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fexpd 自定义指令" #: config/nios2/nios2.opt:246 +#, fuzzy msgid "Integer id (N) of fexpd custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:250 -#, fuzzy msgid "Do not use the fatand custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fatand 自定义指令" #: config/nios2/nios2.opt:254 +#, fuzzy msgid "Integer id (N) of fatand custom instruction" -msgstr "" +msgstr "fextsd 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:258 -#, fuzzy msgid "Do not use the ftand custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ ftand 自定义指令" #: config/nios2/nios2.opt:262 -#, fuzzy msgid "Integer id (N) of ftand custom instruction" -msgstr "å¯ç”¨é™¤æ³•å’Œæ±‚余指令" +msgstr "ftand 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:266 -#, fuzzy msgid "Do not use the fsind custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fsind 自定义指令" #: config/nios2/nios2.opt:270 +#, fuzzy msgid "Integer id (N) of fsind custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:274 -#, fuzzy msgid "Do not use the fcosd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcosd 自定义指令" #: config/nios2/nios2.opt:278 +#, fuzzy msgid "Integer id (N) of fcosd custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:282 -#, fuzzy msgid "Do not use the fsqrtd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fsqrtd 自定义指令" #: config/nios2/nios2.opt:286 +#, fuzzy msgid "Integer id (N) of fsqrtd custom instruction" -msgstr "" +msgstr "fextsd 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:290 -#, fuzzy msgid "Do not use the fabsd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fabsd 自定义指令" #: config/nios2/nios2.opt:294 +#, fuzzy msgid "Integer id (N) of fabsd custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:298 -#, fuzzy msgid "Do not use the fnegd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fnegd 自定义指令" #: config/nios2/nios2.opt:302 +#, fuzzy msgid "Integer id (N) of fnegd custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:306 -#, fuzzy msgid "Do not use the fmaxd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fmaxd 自定义指令" #: config/nios2/nios2.opt:310 +#, fuzzy msgid "Integer id (N) of fmaxd custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:314 -#, fuzzy msgid "Do not use the fmind custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fmind 自定义指令" #: config/nios2/nios2.opt:318 +#, fuzzy msgid "Integer id (N) of fmind custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:322 -#, fuzzy msgid "Do not use the fdivd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fdivd 自定义指令" #: config/nios2/nios2.opt:326 +#, fuzzy msgid "Integer id (N) of fdivd custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:330 -#, fuzzy msgid "Do not use the fmuld custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fmuld 自定义指令" #: config/nios2/nios2.opt:334 -#, fuzzy msgid "Integer id (N) of fmuld custom instruction" -msgstr "å¯ç”¨é™¤æ³•å’Œæ±‚余指令" +msgstr "fmuld 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:338 -#, fuzzy msgid "Do not use the fsubd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fsubd 自定义指令" #: config/nios2/nios2.opt:342 +#, fuzzy msgid "Integer id (N) of fsubd custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:346 -#, fuzzy msgid "Do not use the faddd custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ faddd 自定义指令" #: config/nios2/nios2.opt:350 +#, fuzzy msgid "Integer id (N) of faddd custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:354 -#, fuzzy msgid "Do not use the fcmpnes custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcmpnes 自定义指令" #: config/nios2/nios2.opt:358 +#, fuzzy msgid "Integer id (N) of fcmpnes custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:362 -#, fuzzy msgid "Do not use the fcmpeqs custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcmpeqs 自定义指令" #: config/nios2/nios2.opt:366 +#, fuzzy msgid "Integer id (N) of fcmpeqs custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:370 -#, fuzzy msgid "Do not use the fcmpges custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcmpges 自定义指令" #: config/nios2/nios2.opt:374 +#, fuzzy msgid "Integer id (N) of fcmpges custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:378 -#, fuzzy msgid "Do not use the fcmpgts custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcmpgts 自定义指令" #: config/nios2/nios2.opt:382 +#, fuzzy msgid "Integer id (N) of fcmpgts custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:386 -#, fuzzy msgid "Do not use the fcmples custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcmples 自定义指令" #: config/nios2/nios2.opt:390 +#, fuzzy msgid "Integer id (N) of fcmples custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:394 -#, fuzzy msgid "Do not use the fcmplts custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcmplts 自定义指令" #: config/nios2/nios2.opt:398 +#, fuzzy msgid "Integer id (N) of fcmplts custom instruction" -msgstr "" +msgstr "floatud 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:402 -#, fuzzy msgid "Do not use the flogs custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ flogs 自定义指令" #: config/nios2/nios2.opt:406 +#, fuzzy msgid "Integer id (N) of flogs custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:410 -#, fuzzy msgid "Do not use the fexps custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fexps 自定义指令" #: config/nios2/nios2.opt:414 +#, fuzzy msgid "Integer id (N) of fexps custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:418 -#, fuzzy msgid "Do not use the fatans custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fatans 自定义指令" #: config/nios2/nios2.opt:422 +#, fuzzy msgid "Integer id (N) of fatans custom instruction" -msgstr "" +msgstr "fextsd 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:426 -#, fuzzy msgid "Do not use the ftans custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ ftans 自定义指令" #: config/nios2/nios2.opt:430 +#, fuzzy msgid "Integer id (N) of ftans custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:434 -#, fuzzy msgid "Do not use the fsins custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fsins 自定义指令" #: config/nios2/nios2.opt:438 +#, fuzzy msgid "Integer id (N) of fsins custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:442 -#, fuzzy msgid "Do not use the fcoss custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fcoss 自定义指令" #: config/nios2/nios2.opt:446 +#, fuzzy msgid "Integer id (N) of fcoss custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:450 -#, fuzzy msgid "Do not use the fsqrts custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fsqrts 自定义指令" #: config/nios2/nios2.opt:454 +#, fuzzy msgid "Integer id (N) of fsqrts custom instruction" -msgstr "" +msgstr "fextsd 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:458 -#, fuzzy msgid "Do not use the fabss custom instr" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fabss 自定义指令" #: config/nios2/nios2.opt:462 +#, fuzzy msgid "Integer id (N) of fabss custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:466 -#, fuzzy msgid "Do not use the fnegs custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fnegs 自定义指令" #: config/nios2/nios2.opt:470 +#, fuzzy msgid "Integer id (N) of fnegs custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:474 -#, fuzzy msgid "Do not use the fmaxs custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fmaxs 自定义指令" #: config/nios2/nios2.opt:478 +#, fuzzy msgid "Integer id (N) of fmaxs custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:482 -#, fuzzy msgid "Do not use the fmins custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fmins 自定义指令" #: config/nios2/nios2.opt:486 +#, fuzzy msgid "Integer id (N) of fmins custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:490 -#, fuzzy msgid "Do not use the fdivs custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fdivs 自定义指令" #: config/nios2/nios2.opt:494 +#, fuzzy msgid "Integer id (N) of fdivs custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:498 -#, fuzzy msgid "Do not use the fmuls custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fmuls 自定义指令" #: config/nios2/nios2.opt:502 -#, fuzzy msgid "Integer id (N) of fmuls custom instruction" -msgstr "å¯ç”¨é™¤æ³•å’Œæ±‚余指令" +msgstr "fmuls 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:506 -#, fuzzy msgid "Do not use the fsubs custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fsubs 自定义指令" #: config/nios2/nios2.opt:510 +#, fuzzy msgid "Integer id (N) of fsubs custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:514 -#, fuzzy msgid "Do not use the fadds custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fadds 自定义指令" #: config/nios2/nios2.opt:518 +#, fuzzy msgid "Integer id (N) of fadds custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:522 -#, fuzzy msgid "Do not use the frdy custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ frdy 自定义指令" #: config/nios2/nios2.opt:526 +#, fuzzy msgid "Integer id (N) of frdy custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:530 -#, fuzzy msgid "Do not use the frdxhi custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ frdxhi 自定义指令" #: config/nios2/nios2.opt:534 +#, fuzzy msgid "Integer id (N) of frdxhi custom instruction" -msgstr "" +msgstr "fextsd 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:538 -#, fuzzy msgid "Do not use the frdxlo custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ frdxlo 自定义指令" #: config/nios2/nios2.opt:542 +#, fuzzy msgid "Integer id (N) of frdxlo custom instruction" -msgstr "" +msgstr "fextsd 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:546 -#, fuzzy msgid "Do not use the fwry custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fwry 自定义指令" #: config/nios2/nios2.opt:550 +#, fuzzy msgid "Integer id (N) of fwry custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:554 -#, fuzzy msgid "Do not use the fwrx custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ fwrx 自定义指令" #: config/nios2/nios2.opt:558 +#, fuzzy msgid "Integer id (N) of fwrx custom instruction" -msgstr "" +msgstr "fixdu 自定义指令整数 ID (N)" #: config/nios2/nios2.opt:562 -#, fuzzy msgid "Do not use the round custom instruction" -msgstr "ä¸ä½¿ç”¨ callt 指令" +msgstr "ä¸è¦ä½¿ç”¨ round 自定义指令" #: config/nios2/nios2.opt:566 -#, fuzzy msgid "Integer id (N) of round custom instruction" -msgstr "å¯ç”¨ä¸å¯¹é½çš„载入/å˜å‚¨æŒ‡ä»¤" +msgstr "round 自定义指令整数 ID (N)" #: config/rx/rx.opt:29 msgid "Store doubles in 64 bits." @@ -11178,9 +11138,8 @@ msgid "Maximum size of global and static variables which can be placed into the msgstr "能被放在å°å†…å˜åŒºçš„全局和é™æ€å˜é‡çš„最大尺寸。" #: 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 compatible syntax." -msgstr "生æˆä¸Ž Renesas AS100 兼容的汇编输出。这å¯èƒ½ä¼šé™åˆ¶ç¼–译器的æŸäº›åŠŸèƒ½ã€‚默认是使用与 GAS 兼容的è¯æ³•ã€‚" +msgstr "" #: config/rx/rx.opt:99 msgid "Enable linker relaxation." @@ -11199,8 +11158,9 @@ msgid "Specifies whether interrupt functions should save and restore the accumul msgstr "指定ä¸æ–函数是å¦è¦ä¿å˜å’Œæ¢å¤ç´¯ç§¯å¯„å˜å™¨ã€‚" #: config/rx/rx.opt:123 +#, fuzzy msgid "Enables Position-Independent-Data (PID) mode." -msgstr "" +msgstr "å¯ç”¨ Position-Independent-Data (PID) 模å¼ã€‚" #: config/rx/rx.opt:129 msgid "Warn when multiple, different, fast interrupt handlers are in the compilation unit." @@ -11220,43 +11180,32 @@ msgid "Enable the use of the LRA register allocator." msgstr "å¯ç”¨å¯¹çŸåŠ 载指令的使用" #: config/visium/visium.opt:25 -#, fuzzy -#| msgid "Link with libyk.a, libc.a and crt0.o" msgid "Link with libc.a and libdebug.a" -msgstr "与 libyk.a,libc.a å’Œ crt0.o 链接" +msgstr "与 libc.a å’Œ libdebug.a 链接" #: config/visium/visium.opt:29 -#, fuzzy -#| msgid "Link with libsim.a, libc.a and sim-crt0.o" msgid "Link with libc.a and libsim.a" -msgstr "与 libsim.a,libc.a å’Œ sim-crt0.o 链接" +msgstr "与 libc.a å’Œ libsim.a 链接" #: config/visium/visium.opt:33 -#, fuzzy -#| msgid "Use hardware FP" msgid "Use hardware FP (default)" -msgstr "使用硬件浮点å•å…ƒ" +msgstr "使用硬件浮点å•å…ƒï¼ˆé»˜è®¤ï¼‰" #: config/visium/visium.opt:65 -#, fuzzy msgid "Generate code for the supervisor mode (default)" -msgstr "为 GNU 汇编器(gas)生æˆä»£ç " +msgstr "生æˆç›‘视者 (supervisor) 模å¼çš„代ç " #: config/visium/visium.opt:69 -#, fuzzy -#| msgid "Generate code for the Boehm GC" msgid "Generate code for the user mode" -msgstr "为 Boehm 生æˆä»£ç " +msgstr "生æˆç”¨æˆ·æ¨¡å¼çš„代ç " #: config/visium/visium.opt:73 -#, fuzzy -#| msgid "Does nothing. Preserved for backward compatibility." msgid "Only retained for backward compatibility." -msgstr "ä¸èµ·ä½œç”¨ã€‚为å‘å‰å…¼å®¹ä¿ç•™çš„选项。" +msgstr "ä¸èµ·ä½œç”¨ï¼Œä»…为å‘å‰å…¼å®¹ä¿ç•™ã€‚" #: config/fused-madd.opt:22 msgid "%<-mfused-madd%> is deprecated; use %<-ffp-contract=%> instead" -msgstr "ä¸å»ºè®®ä½¿ç”¨%<-mfused-madd%>;请改用%<-ffp-contract=%>" +msgstr "已弃用%<-mfused-madd%>;请改用%<-ffp-contract=%>" #: config/sol2.opt:32 msgid "Clear hardware capabilities when linking" @@ -11269,12 +11218,12 @@ msgstr "å°† -z text ä¼ é€’ç»™é“¾æŽ¥å™¨" #: config/moxie/moxie.opt:31 #, fuzzy msgid "Enable MUL.X and UMUL.X instructions" -msgstr "å¯ç”¨ clip 指令" +msgstr "å¯ç”¨ä½æ“作指令" #: config/microblaze/microblaze.opt:40 #, fuzzy msgid "Use software emulation for floating point (default)" -msgstr "使用软件浮点å•å…ƒ" +msgstr "使用软件模拟除法(默认)" #: config/microblaze/microblaze.opt:44 msgid "Use hardware floating point instructions" @@ -11317,7 +11266,7 @@ msgstr "使用浮点åŒç²¾åº¦æŒ‡ä»¤" #: config/microblaze/microblaze.opt:87 #, fuzzy, c-format msgid "%qs is deprecated; use -fstack-check" -msgstr "ä¸å»ºè®®ä½¿ç”¨%qE:%s" +msgstr "已弃用%qE:%s" #: config/microblaze/microblaze.opt:88 msgid "Check for stack overflow at runtime" @@ -11328,17 +11277,18 @@ msgid "Use GP relative sdata/sbss sections" msgstr "使用相对 GP çš„ sdata/sbss 节" #: config/microblaze/microblaze.opt:95 -#, fuzzy, c-format +#, c-format msgid "%qs is deprecated; use -fno-zero-initialized-in-bss" -msgstr "-mno-clearbsså·²ä¸å»ºè®®ä½¿ç”¨ï¼›è¯·æ”¹ç”¨ -fno-zero-initialized-in-bss" +msgstr "%qs 已弃用;请æ¢ç”¨ -fno-zero-initialized-in-bss" #: config/microblaze/microblaze.opt:96 msgid "Clear the BSS to zero and place zero initialized in BSS" msgstr "å°† BSS 清空为零并将åˆå§‹å€¼ä¸ºé›¶çš„放入 BSS ä¸" #: config/microblaze/microblaze.opt:100 +#, fuzzy msgid "Use multiply high instructions for high part of 32x32 multiply" -msgstr "" +msgstr "使用 multiply 高指令用于高部分的 32x32 multiply" #: config/microblaze/microblaze.opt:104 msgid "Use hardware floating point conversion instructions" @@ -11349,20 +11299,24 @@ msgid "Use hardware floating point square root instruction" msgstr "ä½¿ç”¨æµ®ç‚¹å¹³æ–¹æ ¹æŒ‡ä»¤" #: config/microblaze/microblaze.opt:112 +#, fuzzy msgid "Description for mxl-mode-executable" -msgstr "" +msgstr "æ述用于 mxl-mode-executable" #: config/microblaze/microblaze.opt:116 +#, fuzzy msgid "Description for mxl-mode-xmdstub" -msgstr "" +msgstr "æ述用于 mxl-mode-xmdstub" #: config/microblaze/microblaze.opt:120 +#, fuzzy msgid "Description for mxl-mode-bootstrap" -msgstr "" +msgstr "æ述用于 mxl-mode-bootstrap" #: config/microblaze/microblaze.opt:124 +#, fuzzy msgid "Description for mxl-mode-novectors" -msgstr "" +msgstr "æ述用于 mxl-mode-novectors" #: config/vax/vax.opt:23 config/vax/vax.opt:27 msgid "Target DFLOAT double precision code" @@ -11430,7 +11384,7 @@ msgstr "æŒ‡å®šç›®æ ‡ CPU 的类型" #: config/frv/frv.opt:73 msgid "Known FR-V CPUs (for use with the -mcpu= option):" -msgstr "" +msgstr "已知 FR-V 处ç†å™¨ (用于 -mcpu= 选项):" #: config/frv/frv.opt:122 msgid "Use fp double instructions" @@ -11588,22 +11542,22 @@ msgstr "分é…寄å˜å™¨å‰é‡æ–°è°ƒåº¦æŒ‡ä»¤" #: config/nds32/nds32.opt:42 #, fuzzy msgid "Generate conditional move instructions." -msgstr "生æˆä½æŒ‡ä»¤" +msgstr "将数æ®ä¼ 输周围的跳转认为是æ¡ä»¶è½¬ç§»ã€‚" #: config/nds32/nds32.opt:46 #, fuzzy msgid "Generate performance extension instructions." -msgstr "生æˆä½æŒ‡ä»¤" +msgstr "生æˆåŠ è½½/å˜å‚¨ä¹˜æ³•æŒ‡ä»¤" #: config/nds32/nds32.opt:50 #, fuzzy msgid "Generate v3 push25/pop25 instructions." -msgstr "ç”Ÿæˆ isel 指令" +msgstr "生æˆåŠ è½½/å˜å‚¨ä¹˜æ³•æŒ‡ä»¤" #: config/nds32/nds32.opt:54 #, fuzzy msgid "Generate 16-bit instructions." -msgstr "生æˆä½æŒ‡ä»¤" +msgstr "ç”Ÿæˆ isel 指令" #: config/nds32/nds32.opt:58 msgid "Specify the size of each interrupt vector, which must be 4 or 16." @@ -11635,12 +11589,12 @@ msgstr "æ— æ•ˆçš„ __fp16 浮点选项:-mfp16-format=%s" #: config/nds32/nds32.opt:100 #, fuzzy msgid "Enable constructor/destructor feature." -msgstr "å½“æ‰€æœ‰æž„é€ å‡½æ•°å’Œæžæž„函数都是ç§æœ‰æ—¶ç»™å‡ºè¦å‘Š" +msgstr "生æˆå…¨å±€æž„é€ /æžæž„函数表" #: config/nds32/nds32.opt:104 #, fuzzy msgid "Guide linker to relax instructions." -msgstr "ç”Ÿæˆ isel 指令" +msgstr "在汇编器和链接器ä¸ä¼˜åŒ–尾调用指令" #: config/iq2000/iq2000.opt:31 msgid "Specify CPU for code generation purposes" @@ -11652,7 +11606,7 @@ msgstr "ä¸ºè°ƒåº¦æŒ‡å®šç›®æ ‡ CPU" #: config/iq2000/iq2000.opt:51 msgid "Known IQ2000 CPUs (for use with the -mcpu= option):" -msgstr "" +msgstr "已知 IQ2000 处ç†å™¨ (用于 -mcpu= 选项):" #: config/iq2000/iq2000.opt:61 config/mips/mips.opt:142 msgid "Use ROM instead of RAM" @@ -11668,12 +11622,11 @@ msgstr "将未åˆå§‹åŒ–的常é‡æ”¾åœ¨ ROM ä¸(éœ€è¦ -membedded-data)" #: config/c6x/c6x-tables.opt:24 msgid "Known C6X ISAs (for use with the -march= option):" -msgstr "" +msgstr "已知 C6X ISA (用于 -march= 选项):" #: config/c6x/c6x.opt:46 -#, fuzzy msgid "Valid arguments for the -msdata= option" -msgstr "alias çš„å‚æ•°ä¸æ˜¯ä¸€ä¸ªå—符串" +msgstr "-msdata= 选项的有效å‚数为:" #: config/c6x/c6x.opt:59 #, fuzzy @@ -11734,7 +11687,7 @@ msgstr "ä¸ç”Ÿæˆå‡½æ•°å‰è¨€å’Œå°¾å£°" #: config/cris/cris.opt:149 msgid "Use the most feature-enabling options allowed by other options" -msgstr "在其他选项å…许的情况下使用开å¯æœ€å¤šç‰¹æ€§çš„选项" +msgstr "在其他选项å…许的情况下使用打开最多特性的选项" #: config/cris/cris.opt:158 msgid "Override -mbest-lib-options" @@ -11951,7 +11904,7 @@ msgstr "" #: config/sh/sh.opt:236 config/sh/sh.opt:240 #, fuzzy, c-format msgid "%qs is deprecated and has no effect" -msgstr "ä¸å»ºè®®ä½¿ç”¨ã€‚æ¤å¼€å…³ä¸èµ·ä½œç”¨ã€‚" +msgstr "已弃用。æ¤å¼€å…³ä¸èµ·ä½œç”¨ã€‚" #: config/sh/sh.opt:237 msgid "Enable cbranchdi4 pattern" @@ -11994,9 +11947,8 @@ msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions" msgstr "é’循 Renesas(å…ˆå‰è¢«ç§°ä½œ Hitachi)/SuperH 调用约定" #: config/sh/sh.opt:281 -#, fuzzy msgid "Increase the IEEE compliance for floating-point comparisons" -msgstr "让浮点代ç æ›´åŠ éµå¾ª IEEE æ ‡å‡†" +msgstr "è®©æµ®ç‚¹æ¯”è¾ƒæ›´åŠ éµå¾ª IEEE æ ‡å‡†" #: config/sh/sh.opt:285 msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact" @@ -12053,7 +12005,7 @@ msgstr "" #: config/sh/sh.opt:343 msgid "Deprecated. Use -Os instead" -msgstr "ä¸å»ºè®®ä½¿ç”¨ã€‚请改用 -Os" +msgstr "已弃用。请改用 -Os" #: config/sh/sh.opt:347 msgid "Cost to assume for a multiply insn" @@ -12068,14 +12020,12 @@ msgid "Pretend a branch-around-a-move is a conditional move." msgstr "将数æ®ä¼ 输周围的跳转认为是æ¡ä»¶è½¬ç§»ã€‚" #: config/sh/sh.opt:361 -#, fuzzy msgid "Enable the use of the fsca instruction" -msgstr "å¯ç”¨å¯¹çŸåŠ 载指令的使用" +msgstr "å¯ç”¨å¯¹ fsca 指令的使用" #: config/sh/sh.opt:365 -#, fuzzy msgid "Enable the use of the fsrra instruction" -msgstr "å¯ç”¨å¯¹çŸåŠ 载指令的使用" +msgstr "å¯ç”¨ fsrra 指令的使用" #: config/sh/sh.opt:369 msgid "Use LRA instead of reload (transitional)" @@ -12203,7 +12153,7 @@ msgstr "-mabi=ABI\t生æˆéµå¾ªç»™å®š ABI 的代ç " #: config/mips/mips.opt:36 msgid "Known MIPS ABIs (for use with the -mabi= option):" -msgstr "" +msgstr "已知 MIPS ABI (用于 -mabi= 选项):" #: config/mips/mips.opt:55 msgid "Generate code that can be used in SVR4-style dynamic objects" @@ -12214,9 +12164,8 @@ msgid "Use PMC-style 'mad' instructions" msgstr "使用 PMC é£Žæ ¼çš„â€˜mad’指令" #: config/mips/mips.opt:63 -#, fuzzy msgid "Use integer madd/msub instructions" -msgstr "ä½¿ç”¨ä¹˜åŠ /å‡æŒ‡ä»¤" +msgstr "ä½¿ç”¨æ•´æ•°ä¹˜åŠ /å‡æŒ‡ä»¤" #: config/mips/mips.opt:67 msgid "-march=ISA\tGenerate code for the given ISA" @@ -12243,9 +12192,8 @@ msgid "-mcode-readable=SETTING\tSpecify when instructions are allowed to access msgstr "-mcode-readable=SETTING\t指定何时指令å…许被访问代ç " #: config/mips/mips.opt:91 -#, fuzzy msgid "Valid arguments to -mcode-readable=:" -msgstr "-fdebug-prefix-map çš„å‚æ•°%qsæ— æ•ˆ" +msgstr "-mcode-readable= 的有效å‚数为:" #: config/mips/mips.opt:104 msgid "Use branch-and-break sequences to check for integer divide by zero" @@ -12300,7 +12248,7 @@ msgstr "为æŸäº› R4400 缺陷æä¾›å˜é€š" #: config/mips/mips.opt:170 #, fuzzy msgid "Work around certain RM7000 errata" -msgstr "为æŸäº› R4000 缺陷æä¾›å˜é€š" +msgstr "为æŸäº› R10000 缺陷æä¾›å˜é€š" #: config/mips/mips.opt:174 msgid "Work around certain R10000 errata" @@ -12356,7 +12304,7 @@ msgstr "" #: config/mips/mips.opt:226 msgid "Known MIPS IEEE 754 settings (for use with the -mabs= and -mnan= options):" -msgstr "" +msgstr "已知 MIPS IEEE 754 设置 (用于 -march= å’Œ -mtune= 选项):" #: config/mips/mips.opt:236 msgid "Use 32-bit general registers" @@ -12431,7 +12379,7 @@ msgstr "ä¸ä¼˜åŒ–å—移动" #: config/mips/mips.opt:304 #, fuzzy msgid "Use microMIPS instructions" -msgstr "使用 SmartMIPS 指令" +msgstr "使用浮点åŒç²¾åº¦æŒ‡ä»¤" #: config/mips/mips.opt:308 msgid "Allow the use of MT instructions" @@ -12442,9 +12390,8 @@ msgid "Prevent the use of all floating-point operations" msgstr "ä¸å…许使用任何浮点æ“作" #: config/mips/mips.opt:316 -#, fuzzy msgid "Use MCU instructions" -msgstr "使用 MIPS-3D 指令" +msgstr "使用 MCU 指令" #: config/mips/mips.opt:320 msgid "Do not use a cache-flushing function before calling stack trampolines" @@ -12471,9 +12418,8 @@ msgid "-mr10k-cache-barrier=SETTING\tSpecify when r10k cache barriers should be msgstr "-mr10k-cache-barrier=SETTING\t指定何时应当使用 r10k 缓å˜å±éšœ" #: config/mips/mips.opt:344 -#, fuzzy msgid "Valid arguments to -mr10k-cache-barrier=:" -msgstr "æžæž„函数ä¸èƒ½æœ‰å‚æ•°" +msgstr "-m10k-cache-barrier= 的有效å‚数为:" #: config/mips/mips.opt:357 msgid "Try to allow the linker to turn PIC calls into direct calls" @@ -12513,7 +12459,6 @@ msgstr "-mtune=处ç†å™¨\t为指定的处ç†å™¨ä¼˜åŒ–输出" #: config/mips/mips.opt:401 #, fuzzy -#| msgid "Use decimal floating point instructions" msgid "Use Virtualization Application Specific instructions" msgstr "使用å进制浮点指令" @@ -12532,21 +12477,20 @@ msgstr "消除 GOT 大å°é™åˆ¶" #: config/mips/mips.opt:417 #, fuzzy -#| msgid "Don't allocate floats and doubles in extended-precision registers" msgid "Enable use of odd-numbered single-precision registers" msgstr "ä¸å°†å•ç²¾åº¦å’ŒåŒç²¾åº¦æµ®ç‚¹æ•°åˆ†é…到扩展精度的寄å˜å™¨ä¸" #: config/mips/mips-tables.opt:24 msgid "Known MIPS CPUs (for use with the -march= and -mtune= options):" -msgstr "" +msgstr "已知 MIPS 处ç†å™¨ (用于 -march= å’Œ -mtune= 选项):" #: config/mips/mips-tables.opt:28 msgid "Known MIPS ISA levels (for use with the -mips option):" -msgstr "" +msgstr "已知 MIPS ISA ç‰çº§ (用于 -mips 选项):" #: config/tilegx/tilegx.opt:30 msgid "Known TILE-Gx CPUs (for use with the -mcpu= option):" -msgstr "" +msgstr "已知 TILE-Gx 处ç†å™¨ (用于 -mcpu= 选项):" #: config/tilegx/tilegx.opt:37 #, fuzzy @@ -12560,20 +12504,18 @@ msgstr "为 64 ä½æŒ‡é’ˆç¼–译" #: config/tilegx/tilegx.opt:45 #, fuzzy -#| msgid "Use big-endian byte order" msgid "Use big-endian byte order." msgstr "令大端在å‰" #: config/tilegx/tilegx.opt:49 #, fuzzy -#| msgid "Use little-endian byte order" msgid "Use little-endian byte order." msgstr "令å°ç«¯åœ¨å‰" #: config/tilegx/tilegx.opt:53 #, fuzzy msgid "Use given TILE-Gx code model" -msgstr "使用给定的 x86-64 代ç 模å¼" +msgstr "使用给定的 SPARC-V9 代ç 模型" #: config/arc/arc.opt:26 #, fuzzy @@ -12583,7 +12525,7 @@ msgstr "生æˆå¤§ç«¯åœ¨å‰çš„代ç " #: config/arc/arc.opt:30 #, fuzzy msgid "Compile code for little endian mode. This is the default" -msgstr "以 32 ä½åŒç²¾åº¦æ•°å˜å‚¨ã€‚这是默认值。" +msgstr "生æˆå°ç«¯åœ¨å‰çš„代ç " #: config/arc/arc.opt:34 msgid "Disable ARCompact specific pass to generate conditional execution instructions" @@ -12598,8 +12540,9 @@ msgid "Generate ARCompact 32-bit code for ARC600 processor" msgstr "" #: config/arc/arc.opt:46 +#, fuzzy msgid "Same as -mA6" -msgstr "" +msgstr "与上一次相åŒ" #: config/arc/arc.opt:50 msgid "Generate ARCompact 32-bit code for ARC601 processor" @@ -12610,12 +12553,14 @@ msgid "Generate ARCompact 32-bit code for ARC700 processor" msgstr "" #: config/arc/arc.opt:58 +#, fuzzy msgid "Same as -mA7" -msgstr "" +msgstr "与上一次相åŒ" #: config/arc/arc.opt:62 +#, fuzzy msgid "Tweak register allocation to help 16-bit instruction generation" -msgstr "" +msgstr "优先é…置暂å˜å™¨è¯¥å…许çŸæŒ‡ä»¤äº§ç”Ÿã€‚" #: config/arc/arc.opt:72 msgid "Use ordinarily cached memory accesses for volatile references" @@ -12633,12 +12578,12 @@ msgstr "为å—移动使用å—符串指令" #: config/arc/arc.opt:84 #, fuzzy msgid "Generate norm instruction" -msgstr "生æˆä½æŒ‡ä»¤" +msgstr "在函数åºè¨€ä¸ç”Ÿæˆ cld 指令" #: config/arc/arc.opt:88 #, fuzzy msgid "Generate swap instruction" -msgstr "ç”Ÿæˆ isel 指令" +msgstr "交æ¢æ–°å¯†é’¥æ§½å¤±è´¥ã€‚\n" #: config/arc/arc.opt:92 #, fuzzy @@ -12648,7 +12593,7 @@ msgstr "生æˆåŠ è½½/å˜å‚¨ä¹˜æ³•æŒ‡ä»¤" #: config/arc/arc.opt:96 #, fuzzy msgid "Do not generate mpy instructions for ARC700" -msgstr "ä¸ç”Ÿæˆèžåˆçš„乘/åŠ æŒ‡ä»¤" +msgstr "ä¸ç”Ÿæˆå¸¦æ›´æ–°çš„åŠ è½½/å˜å‚¨æŒ‡ä»¤" #: config/arc/arc.opt:100 msgid "Generate Extended arithmetic instructions. Currently only divaw, adds, subs and sat16 are supported" @@ -12721,12 +12666,14 @@ msgid "Cost to assume for a multiply instruction, with 4 being equal to a normal msgstr "为乘法指令设定的开销" #: config/arc/arc.opt:191 +#, fuzzy msgid "Tune for ARC600 cpu." -msgstr "" +msgstr "ä¸ºæŒ‡å®šçš„ç›®æ ‡ CPU 或架构优化" #: config/arc/arc.opt:195 +#, fuzzy msgid "Tune for ARC601 cpu." -msgstr "" +msgstr "ä¸ºæŒ‡å®šçš„ç›®æ ‡ CPU 或架构优化" #: config/arc/arc.opt:199 msgid "Tune for ARC700 R4.2 Cpu with standard multiplier block." @@ -12739,7 +12686,7 @@ msgstr "" #: config/arc/arc.opt:215 #, fuzzy msgid "Enable the use of indexed loads" -msgstr "å¯ç”¨å¯¹çŸåŠ 载指令的使用" +msgstr "为 SHmedia32/SHcompact å¯ç”¨å˜å€å¯»å€" #: config/arc/arc.opt:219 msgid "Enable the use of pre/post modify with register displacement." @@ -12748,7 +12695,7 @@ msgstr "" #: config/arc/arc.opt:223 #, fuzzy msgid "Generate 32x16 multiply and mac instructions" -msgstr "生æˆèžåˆçš„乘/åŠ æŒ‡ä»¤" +msgstr "生æˆæµ®ç‚¹ä¹˜åŠ 指令" #: config/arc/arc.opt:229 msgid "Set probability threshold for unaligning branches" @@ -12781,8 +12728,9 @@ msgid "Enable pre-reload use of cbranchsi pattern" msgstr "å¯ç”¨ cbranchdi4 æ ·å¼" #: config/arc/arc.opt:257 +#, fuzzy msgid "Enable bbit peephole2" -msgstr "" +msgstr "å¯ç”¨é¢„处ç†" #: config/arc/arc.opt:261 msgid "Use pc-relative switch case tables - this enables case table shortening." @@ -12796,7 +12744,7 @@ msgstr "å¯ç”¨ cbranchdi4 æ ·å¼" #: config/arc/arc.opt:269 #, fuzzy msgid "Enable 'q' instruction alternatives." -msgstr "å¯ç”¨ clip 指令" +msgstr "å¯ç”¨å¯¹ fsca 指令的使用" #: config/arc/arc.opt:273 msgid "Expand adddi3 and subdi3 at rtl generation time into add.f / adc etc." @@ -12842,27 +12790,35 @@ msgid "Enable 64-bit Time-Stamp Counter extension instruction" msgstr "å¯ç”¨ä½æ“作指令" #: config/arc/arc.opt:319 +#, fuzzy msgid "Disable generation of cfi for epilogues." -msgstr "" +msgstr "控制产生的倒数估计。" #: config/arc/arc.opt:323 +#, fuzzy msgid "Enable generation of cfi for epilogues." -msgstr "" +msgstr "控制产生的倒数估计。" #: config/arc/arc.opt:327 #, fuzzy msgid "Pass -EB option through to linker." -msgstr "å°† -z text ä¼ é€’ç»™é“¾æŽ¥å™¨" +msgstr "" +"使用“-Wl,选项â€å°†â€œé€‰é¡¹â€ä¼ 递给链接器。\n" +"\n" #: config/arc/arc.opt:331 #, fuzzy msgid "Pass -EL option through to linker." -msgstr "å°† -z text ä¼ é€’ç»™é“¾æŽ¥å™¨" +msgstr "" +"使用“-Wl,选项â€å°†â€œé€‰é¡¹â€ä¼ 递给链接器。\n" +"\n" #: config/arc/arc.opt:335 #, fuzzy msgid "Pass -marclinux option through to linker." -msgstr "å°† -z text ä¼ é€’ç»™é“¾æŽ¥å™¨" +msgstr "" +"使用“-Wl,选项â€å°†â€œé€‰é¡¹â€ä¼ 递给链接器。\n" +"\n" #: config/arc/arc.opt:339 msgid "Pass -marclinux_prof option through to linker." @@ -12870,9 +12826,8 @@ msgstr "" #: config/arc/arc.opt:347 #, fuzzy -#| msgid "Enable linker relaxing" msgid "Enable lra" -msgstr "å¯ç”¨é“¾æŽ¥å™¨æ¾å¼›" +msgstr "å¯¹é½ COMMON å—" #: config/arc/arc.opt:351 msgid "Don't indicate any priority with TARGET_REGISTER_PRIORITY" @@ -12892,7 +12847,7 @@ msgstr "" #: java/lang.opt:122 msgid "Warn if deprecated empty statements are found" -msgstr "å‘现ä¸å»ºè®®ä½¿ç”¨çš„空è¯å¥æ—¶ç»™å‡ºè¦å‘Š" +msgstr "å‘现已弃用的空è¯å¥æ—¶ç»™å‡ºè¦å‘Š" #: java/lang.opt:126 msgid "Warn if .class files are out of date" @@ -12904,7 +12859,7 @@ msgstr "当指定了ä¸å¿…须的修饰符时给出è¦å‘Š" #: java/lang.opt:150 msgid "--CLASSPATH\tDeprecated; use --classpath instead" -msgstr "--CLASSPATH\tä¸å»ºè®®ä½¿ç”¨ï¼›è¯·æ”¹ç”¨ --classpath" +msgstr "--CLASSPATH\t已弃用;请改用 --classpath" #: java/lang.opt:157 msgid "Permit the use of the assert keyword" @@ -13053,7 +13008,7 @@ msgstr "为最å°ç©ºé—´è€Œä¸æ˜¯æœ€å¤§é€Ÿåº¦ä¼˜åŒ–" #: common.opt:509 msgid "This switch is deprecated; use -Wextra instead" -msgstr "ä¸å»ºè®®ä½¿ç”¨æ¤å¼€å…³ï¼›è¯·æ”¹ç”¨ -Wextra" +msgstr "已弃用æ¤å¼€å…³ï¼›è¯·æ”¹ç”¨ -Wextra" #: common.opt:522 msgid "Warn about returning structures, unions or arrays" @@ -13118,8 +13073,9 @@ msgid "Warn when an inlined function cannot be inlined" msgstr "当内è”å‡½æ•°æ— æ³•è¢«å†…è”时给出è¦å‘Š" #: common.opt:586 +#, fuzzy msgid "Warn when an atomic memory model parameter is known to be outside the valid range." -msgstr "" +msgstr "è¦å‘Šæ—¶åŸºå…ƒçš„内å˜å¼æ ·å‚数是已知为外侧有效范围。" #: common.opt:593 msgid "-Wlarger-than=<number>\tWarn if an object is larger than <number> bytes" @@ -13163,8 +13119,9 @@ msgid "Warn when not issuing stack smashing protection for some reason" msgstr "å½“å› ä¸ºæŸç§åŽŸå› å †æ ˆä¿æŠ¤å¤±æ•ˆæ—¶ç»™å‡ºè¦å‘Š" #: common.opt:636 +#, fuzzy msgid "Warn if stack usage might be larger than specified amount" -msgstr "" +msgstr "è¦å‘Šå¦‚æžœå †å 用法也许是大于指定的数目" #: common.opt:640 common.opt:644 msgid "Warn about code which might break strict aliasing rules" @@ -13203,7 +13160,7 @@ msgstr "ä¸æŠ‘制系统头文件ä¸çš„è¦å‘Š" #: common.opt:680 #, fuzzy msgid "Warn whenever a trampoline is generated" -msgstr "有未使用的å˜é‡æ—¶è¦å‘Š" +msgstr "当类型é™å®šç¬¦è¢«å¿½ç•¥æ—¶ç»™å‡ºè¦å‘Šã€‚" #: common.opt:684 msgid "Warn if a comparison is always true or always false due to the limited range of the data type" @@ -13258,8 +13215,9 @@ msgid "Warn in case profiles in -fprofile-use do not match" msgstr "当 -fprofile-use ä¸çš„æ ·æœ¬ä¸åŒ¹é…时给出è¦å‘Šè€Œéžé”™è¯¯" #: common.opt:736 +#, fuzzy msgid "Warn when a vector operation is compiled outside the SIMD" -msgstr "" +msgstr "è¦å‘Šæ—¶çŸ¢é‡ä½œä¸šè¢«ç¼–译外侧 SIMD" #: common.opt:752 msgid "-aux-info <file>\tEmit declaration information into <file>" @@ -13278,8 +13236,9 @@ msgid "-dumpdir <dir>\tSet the directory name to be used for dumps" msgstr "-dumpdir <目录>\t设定内å˜è½¬å‚¨ä½¿ç”¨çš„目录å" #: common.opt:845 +#, fuzzy msgid "The version of the C++ ABI in use" -msgstr "" +msgstr "ELF 文件 ABI ç‰ˆæœ¬æ— æ•ˆ" #: common.opt:849 msgid "Aggressively optimize loops using language constraints" @@ -13302,8 +13261,9 @@ msgid "Align the start of loops" msgstr "对é½å¾ªçŽ¯å…¥å£" #: common.opt:897 +#, fuzzy msgid "Select what to sanitize" -msgstr "" +msgstr "è¦æ˜¾ç¤ºä»€ä¹ˆä»¥ä»£æ›¿æ ‡è®°" #: common.opt:901 msgid "-fasan-shadow-offset=<number>\tUse custom shadow memory offset." @@ -13315,9 +13275,8 @@ msgstr "" #: common.opt:909 #, fuzzy -#| msgid "This switch is deprecated; use -Wextra instead" msgid "This switch is deprecated; use -fsanitize-recover= instead" -msgstr "ä¸å»ºè®®ä½¿ç”¨æ¤å¼€å…³ï¼›è¯·æ”¹ç”¨ -Wextra" +msgstr "已弃用æ¤å¼€å…³ï¼›è¯·æ”¹ç”¨ -Wextra" #: common.opt:913 msgid "Use trap instead of a library function for undefined behavior sanitization" @@ -13337,7 +13296,6 @@ msgstr "" #: common.opt:930 #, fuzzy -#| msgid "Use profiling information for branch probabilities" msgid "Use sample profile information for call graph node weights. The profile" msgstr "为分支概率使用å–æ ·ä¿¡æ¯" @@ -13387,8 +13345,9 @@ msgid "Check the return value of new in C++" msgstr "检查 new 的返回值" #: common.opt:986 +#, fuzzy msgid "Looks for opportunities to reduce stack adjustments and stack references." -msgstr "" +msgstr "找寻机会到缩å°å †å è°ƒæ•´å’Œå †å å‚考。" #: common.opt:990 msgid "Do not put uninitialized globals in the common section" @@ -13448,8 +13407,9 @@ msgid "Map one directory name to another in debug information" msgstr "在调试信æ¯ä¸å°†ä¸€ä¸ªç›®å½•åæ˜ å°„åˆ°å¦ä¸€ä¸ª" #: common.opt:1054 +#, fuzzy msgid "Output .debug_types section when using DWARF v4 debuginfo." -msgstr "" +msgstr "输出.debugtypes 区段时使用 DWARF v4 debuginfo(_T)。" #: common.opt:1060 msgid "Defer popping functions args from stack until later" @@ -13474,7 +13434,7 @@ msgstr "" #: common.opt:1080 #, fuzzy msgid "Perform speculative devirtualization" -msgstr "通过尾å¤åˆ¶è¿›è¡Œè¶…å—åˆæˆ" +msgstr "å…许éžè½½å…¥çš„投机移动" #: common.opt:1084 #, fuzzy @@ -13498,12 +13458,14 @@ msgid "Amend appropriate diagnostic messages with the command line option that c msgstr "在诊æ–ä¿¡æ¯åŽè¾“出控制它们的命令行选项" #: common.opt:1137 +#, fuzzy msgid "-fdisable-[tree|rtl|ipa]-<pass>=range1+range2 disables an optimization pass" -msgstr "" +msgstr "-fdisable-[ æ ‘|rtl|ipa ]-<pass>=range1+range2 åœç”¨æœ€ä½³åŒ–回åˆ" #: common.opt:1141 +#, fuzzy msgid "-fenable-[tree|rtl|ipa]-<pass>=range1+range2 enables an optimization pass" -msgstr "" +msgstr "-fenable-[ æ ‘|rtl|ipa ]-<pass>=range1+range2 å¯ç”¨æœ€ä½³åŒ–回åˆ" #: common.opt:1145 msgid "-fdump-<type>\tDump various compiler internals to a file" @@ -13514,8 +13476,9 @@ msgid "-fdump-final-insns=filename\tDump to filename the insns at the end of tra msgstr "-fdump-final-insns=文件å\t在翻译完毕åŽå°†æŒ‡ä»¤è¾“出到文件ä¸" #: common.opt:1156 +#, fuzzy msgid "-fdump-go-spec=filename\tWrite all declarations to file as Go code" -msgstr "" +msgstr "-fdump-go-spec=文件å\t写入所有声明到文件作为å‰å¾€ç¼–ç " #: common.opt:1160 msgid "Suppress output of addresses in debugging dumps" @@ -13528,7 +13491,7 @@ msgstr "" #: common.opt:1169 #, fuzzy msgid "Dump optimization passes" -msgstr "进行全寄å˜å™¨ä¼ é€ä¼˜åŒ–" +msgstr "调出基本的文件信æ¯" #: common.opt:1173 msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps" @@ -13556,7 +13519,6 @@ msgstr "为èšåˆç±»åž‹è¿›è¡Œè·¨è¿›ç¨‹æ ‡é‡æ›¿æ¢" #: common.opt:1197 #, fuzzy -#| msgid "Perform unused type elimination in debug info" msgid "Perform unused symbol elimination in debug info" msgstr "在调试信æ¯ä¸è¿›è¡Œæ— 用类型消除" @@ -13586,8 +13548,9 @@ msgid "unknown excess precision style %qs" msgstr "未知的é¢å¤–ç²¾åº¦é£Žæ ¼â€œ%sâ€" #: common.opt:1233 +#, fuzzy msgid "Output lto objects containing both the intermediate language and binary output." -msgstr "" +msgstr "输出 lto 对象包å«ä¸¤è€…ä¸ä»‹è¯è¨€å’ŒäºŒè¿›åˆ¶è¾“出。" #: common.opt:1237 msgid "Assume no NaNs or infinities are generated" @@ -13606,8 +13569,9 @@ msgid "Perform a forward propagation pass on RTL" msgstr "进行 RTL 上的å‰å‘ä¼ é€’" #: common.opt:1257 +#, fuzzy msgid "-ffp-contract=[off|on|fast] Perform floating-point expression contraction." -msgstr "" +msgstr "-ffp-contract=[å…³é—|于|快速] 施行浮点è¿ç®—å¼åˆçº¦ã€‚" #: common.opt:1260 #, fuzzy, c-format @@ -13673,13 +13637,13 @@ msgstr "å¯ç”¨å¾ªçŽ¯åˆ†å—转æ¢" #: common.opt:1337 #, fuzzy -#| msgid "Enable Loop Interchange transformation" msgid "Enable Loop Unroll Jam transformation" msgstr "å¯ç”¨å¾ªçŽ¯äº¤æ¢è½¬æ¢" #: common.opt:1341 +#, fuzzy msgid "Enable support for GNU transactional memory" -msgstr "" +msgstr "å¯ç”¨æ”¯æŒç”¨äºŽ GNU transactional 内å˜" #: common.opt:1345 msgid "Use STB_GNU_UNIQUE if supported by the assembler" @@ -13690,8 +13654,9 @@ msgid "Enable the ISL based loop nest optimizer" msgstr "" #: common.opt:1357 +#, fuzzy msgid "Force bitfield accesses to match their type width" -msgstr "" +msgstr "强制 bitfield 访问到匹é…它们的类型宽度" #: common.opt:1361 msgid "Enable guessing of branch probabilities" @@ -13714,9 +13679,9 @@ msgid "-fstack-reuse=[all|named_vars|none] Set stack reuse level for local varia msgstr "" #: common.opt:1384 -#, fuzzy, c-format +#, c-format msgid "unknown Stack Reuse Level %qs" -msgstr "未知的 TLS 模型%qs" +msgstr "æœªçŸ¥çš„æ ˆé‡ç”¨çº§åˆ«%qs" #: common.opt:1397 #, fuzzy @@ -13736,8 +13701,9 @@ msgid "Perform indirect inlining" msgstr "进行间接内è”" #: common.opt:1419 +#, fuzzy msgid "Enable inlining of function declared \"inline\", disabling disables all inlining" -msgstr "" +msgstr "å¯ç”¨å†…è”的函数声明“内è”â€ï¼Œåœç”¨å…¨éƒ¨åœç”¨å†…è”" #: common.opt:1423 #, fuzzy @@ -13759,8 +13725,9 @@ msgid "-finline-limit=<number>\tLimit the size of inlined functions to <number>" msgstr "-finline-limit=<N>\t将内è”函数的大å°é™åˆ¶åœ¨ N 以内" #: common.opt:1442 +#, fuzzy msgid "Inline __atomic operations when a lock free instruction sequence is available." -msgstr "" +msgstr "å†…è” __atomic 计算时é”定自由指令串行是å¯ç”¨ã€‚" #: common.opt:1446 msgid "Instrument function entry and exit with profiling calls" @@ -13785,7 +13752,6 @@ msgstr "进行å¤åˆ¶ä»¥ä½¿è·¨è¿›ç¨‹å¸¸é‡ä¼ 递更有效" #: common.opt:1466 #, fuzzy -#| msgid "Perform cloning to make Interprocedural constant propagation stronger" msgid "Perform alignment discovery and propagation to make Interprocedural constant propagation stronger" msgstr "进行å¤åˆ¶ä»¥ä½¿è·¨è¿›ç¨‹å¸¸é‡ä¼ 递更有效" @@ -13812,7 +13778,6 @@ msgstr "" #: common.opt:1490 #, fuzzy -#| msgid "Perform loop unrolling for all loops" msgid "Perform Identical Code Folding for variables" msgstr "展开所有循环" @@ -13883,12 +13848,12 @@ msgid "Enable link-time optimization." msgstr "å¯ç”¨é“¾æŽ¥æ—¶ä¼˜åŒ–。" #: common.opt:1589 +#, fuzzy msgid "Link-time optimization with number of parallel jobs or jobserver." -msgstr "" +msgstr "Link-time 最佳化与平行工作编å·çš„或 jobserver。" #: common.opt:1592 #, fuzzy, c-format -#| msgid "unknown TLS model %qs" msgid "unknown LTO partitioning model %qs" msgstr "未知的 TLS 模型%qs" @@ -13976,9 +13941,8 @@ msgstr "支æŒåŒæ¥éžè°ƒç”¨å¼‚常" #: common.opt:1694 #, fuzzy, c-format -#| msgid "assertion missing after %qs" msgid "options or targets missing after %qs" -msgstr "%qsåŽæ–言" +msgstr "%qsåŽç¼ºå°‘文件å" #: common.opt:1695 msgid "-foffload=<targets>=<options> Specify offloading targets and options for them" @@ -13990,9 +13954,8 @@ msgstr "" #: common.opt:1702 #, fuzzy, c-format -#| msgid "unknown TLS model %qs" msgid "unknown offload ABI %qs" -msgstr "未知的 TLS 模型%qs" +msgstr ",未知 ABI" #: common.opt:1712 msgid "When possible do not generate stack frames" @@ -14122,10 +14085,8 @@ msgid "Enable function reordering that improves code placement" msgstr "函数é‡æ–°æŽ’åºä»¥æ”¹å–„代ç 布局" #: common.opt:1848 -#, fuzzy -#| msgid "-frandom-seed=<string>\tMake compile reproducible using <string>" msgid "-frandom-seed=<number>\tMake compile reproducible using <number>" -msgstr "-frandom-seed=<å—符串>\t使用å—符串使编译å¯ä»¥å¤çŽ°" +msgstr "-frandom-seed=<æ•°å—>\t使用 <æ•°å—> 以使编译å¯å¤çŽ°" #: common.opt:1858 msgid "Record gcc command line switches in the object file." @@ -14150,7 +14111,6 @@ msgstr "进行寄å˜å™¨é‡å‘½å优化" #: common.opt:1883 #, fuzzy -#| msgid "Perform a register renaming optimization pass" msgid "Perform a target dependent instruction fusion optimization pass" msgstr "进行寄å˜å™¨é‡å‘½å优化" @@ -14279,16 +14239,18 @@ msgid "Access data in the same section from shared anchor points" msgstr "从共享的锚点访问在åŒæ ·çš„节ä¸çš„æ•°æ®" #: common.opt:2036 +#, fuzzy msgid "Turn on Redundant Extensions Elimination pass." -msgstr "" +msgstr "打开冗余延伸 Elimination 回åˆã€‚" #: common.opt:2040 msgid "Show column numbers in diagnostics, when available. Default on" msgstr "诊æ–ä¿¡æ¯ä¸ç»™å‡ºè¡Œå·ã€‚默认打开" #: common.opt:2044 +#, fuzzy msgid "Emit function prologues only before parts of the function that need it," -msgstr "" +msgstr "Emit 函数 prologues åªæœ‰ä¹‹å‰é›¶ä»¶çš„函数该需è¦å®ƒï¼Œ" #: common.opt:2049 msgid "Disable optimizations observable by IEEE signaling NaNs" @@ -14309,7 +14271,7 @@ msgstr "展开循环时分离归纳å˜é‡çš„生å˜æœŸ" #: common.opt:2065 #, fuzzy msgid "Generate discontiguous stack frames" -msgstr "生æˆä¸Ž APCS ç›¸å®¹çš„å †æ ˆæ¡†æž¶" +msgstr "生æˆä¸Ž APCS ç›¸å®¹çš„æ ˆå¸§" #: common.opt:2069 msgid "Split wide types into independent registers" @@ -14359,7 +14321,6 @@ msgstr "为æ¯ä¸ªå‡½æ•°ä½¿ç”¨å †æ ˆä¿æŠ¤æœºåˆ¶" #: common.opt:2116 #, fuzzy -#| msgid "Use a stack protection method for every function" msgid "Use stack protection method only for functions with the stack_protect attribute" msgstr "为æ¯ä¸ªå‡½æ•°ä½¿ç”¨å †æ ˆä¿æŠ¤æœºåˆ¶" @@ -14428,7 +14389,7 @@ msgstr "å¯ç”¨æ ‘上的 SSA-CCP 优化" #: common.opt:2202 #, fuzzy msgid "Enable SSA-BIT-CCP optimization on trees" -msgstr "å¯ç”¨æ ‘上的 SSA æ»ä»£ç 消除优化" +msgstr "å¯ç”¨æ ‘上的 SSA-CCP 优化" #: common.opt:2210 msgid "Enable loop header copying on trees" @@ -14470,7 +14431,7 @@ msgstr "å¯ç”¨ä¸»å¯¼ä¼˜åŒ–" #: common.opt:2250 #, fuzzy msgid "Enable tail merging on trees" -msgstr "å¯ç”¨æ ‘上的循环ä¸å˜é‡è½¬ç§»" +msgstr "åœ¨æ ‘çº§åˆ«è¿›è¡Œå¤å†™ä¼ 递" #: common.opt:2254 msgid "Enable dead store elimination" @@ -14554,8 +14515,9 @@ msgid "Enable SSA code sinking on trees" msgstr "å¯ç”¨æ ‘上的 SSA 代ç 下沉优化" #: common.opt:2339 +#, fuzzy msgid "Perform straight-line strength reduction" -msgstr "" +msgstr "进行强度削å‡æœ€ä½³åŒ–" #: common.opt:2343 msgid "Perform scalar replacement of aggregates" @@ -14687,7 +14649,7 @@ msgstr "-fvisibility=[default|internal|hidden|protected]\t设置符å·çš„默认å #: common.opt:2510 #, fuzzy, c-format msgid "unrecognized visibility value %qs" -msgstr "æ— æ•ˆçš„ --param 值%qs" +msgstr "ä¸å¯è¯†åˆ«çš„寄å˜å%qs" #: common.opt:2526 msgid "Validate vtable pointers before using them." @@ -14741,7 +14703,7 @@ msgstr "ç”Ÿæˆ COFF æ ¼å¼çš„调试信æ¯" #: common.opt:2582 #, fuzzy msgid "Generate debug information in default version of DWARF format" -msgstr "生æˆé»˜è®¤æ ¼å¼çš„调试信æ¯" +msgstr "ç”Ÿæˆ DWARF v2(或更新)æ ¼å¼çš„调试信æ¯" #: common.opt:2586 msgid "Generate debug information in DWARF v2 (or later) format" @@ -14817,13 +14779,11 @@ msgstr "ç”Ÿæˆ XCOFF æ‰©å±•æ ¼å¼çš„调试信æ¯" #: common.opt:2668 #, fuzzy -#| msgid "Generate isel instructions" msgid "Generate compressed debug sections" -msgstr "ç”Ÿæˆ isel 指令" +msgstr "ç”Ÿæˆ VMS æ ¼å¼çš„调试信æ¯" #: common.opt:2672 #, fuzzy -#| msgid "Generate debug information in default format" msgid "-gz=<format>\tGenerate compressed debug sections in format <format>" msgstr "生æˆé»˜è®¤æ ¼å¼çš„调试信æ¯" @@ -14885,13 +14845,12 @@ msgstr "计算出的值未被使用" #: go/gofrontend/expressions.cc:628 #, fuzzy msgid "invalid use of type" -msgstr "对未定义类型%<%s %E%>çš„ä½¿ç”¨æ— æ•ˆ" +msgstr "将类型%qT用作模æ¿çš„模æ¿å‚æ•°çš„é»˜è®¤å€¼æ— æ•ˆ" #: go/gofrontend/expressions.cc:2725 go/gofrontend/expressions.cc:2791 #: go/gofrontend/expressions.cc:2807 -#, fuzzy msgid "constant refers to itself" -msgstr "inlined_to pointer 指å‘自身" +msgstr "常数指å‘自身" #: go/gofrontend/expressions.cc:3704 go/gofrontend/expressions.cc:4082 msgid "expected pointer" @@ -14923,17 +14882,17 @@ msgstr "二元表达å¼ä¸ç±»åž‹ä¸åŒ¹é…" #: go/gofrontend/expressions.cc:5609 #, fuzzy msgid "integer division by zero" -msgstr "被零除" +msgstr "对编译时å‘现的零除给出è¦å‘Š" #: go/gofrontend/expressions.cc:5617 #, fuzzy msgid "shift of non-integer operand" -msgstr "éžæ•´æ•°æ“作数使用了æ“作数代ç ‘%c’" +msgstr "æ— æ•ˆçš„ç§»ä½æ“作数" #: go/gofrontend/expressions.cc:5622 go/gofrontend/expressions.cc:5630 #, fuzzy msgid "shift count not unsigned integer" -msgstr "switch è¯å¥ä¸çš„值ä¸æ˜¯ä¸€ä¸ªæ•´æ•°" +msgstr "å³ç§»æ¬¡æ•°ä¸ºè´Ÿ" #: go/gofrontend/expressions.cc:5635 msgid "negative shift count" @@ -14950,7 +14909,7 @@ msgstr "方法类型ä¸åŒ¹é…对象类型" #: go/gofrontend/expressions.cc:6777 #, fuzzy msgid "invalid use of %<...%> with builtin function" -msgstr "内建函数实å‚æ— æ•ˆ" +msgstr "在éžæˆå‘˜å‡½æ•°ä¸ä½¿ç”¨%<this%>æ— æ•ˆ" #: go/gofrontend/expressions.cc:6788 #, fuzzy @@ -14981,12 +14940,12 @@ msgstr "实å‚太多" #: go/gofrontend/expressions.cc:6892 #, fuzzy msgid "argument 1 must be a map" -msgstr "实å‚必须是常数" +msgstr "å®žå‚ 1 必须是一个 5 ä½æœ‰ç¬¦å·å—é¢é‡" #: go/gofrontend/expressions.cc:7016 #, fuzzy msgid "invalid type for make function" -msgstr "函数%q+#Dçš„æŠ½è±¡è¿”å›žç±»åž‹æ— æ•ˆ" +msgstr "å‘函数类型%qT的转æ¢æ— 效" #: go/gofrontend/expressions.cc:7032 #, fuzzy @@ -14994,22 +14953,24 @@ msgid "length required when allocating a slice" msgstr "生æˆåˆ‡ç‰‡æ—¶é•¿åº¦é”™è¯¯" #: go/gofrontend/expressions.cc:7067 +#, fuzzy msgid "len larger than cap" -msgstr "" +msgstr "支æŒå¤§äºŽ 64K çš„ TLS 段" #: go/gofrontend/expressions.cc:7079 #, fuzzy msgid "too many arguments to make" -msgstr "%qE实å‚太多" +msgstr "(太多å‚æ•°)" #: go/gofrontend/expressions.cc:7853 #, fuzzy msgid "argument must be array or slice or channel" -msgstr "å³å®žå‚必须是一个切片或å—符串" +msgstr "实å‚必须是通é“" #: go/gofrontend/expressions.cc:7863 +#, fuzzy msgid "argument must be string or array or slice or map or channel" -msgstr "" +msgstr "å‚æ•°å¿…é¡»æ£åœ¨å—ä¸²æˆ–æ•°ç»„æˆ–åˆ‡ç‰‡æˆ–æ˜ å°„æˆ–é¢‘é“" #: go/gofrontend/expressions.cc:7909 #, fuzzy @@ -15028,7 +14989,7 @@ msgstr "间接引用æ“ä½œæ•°æ— æ•ˆ" #: go/gofrontend/expressions.cc:7944 #, fuzzy msgid "argument must be a field reference" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是 %4$s" +msgstr "%s:域“%sâ€å¿…须未定义" #: go/gofrontend/expressions.cc:7974 msgid "left argument must be a slice" @@ -15041,17 +15002,17 @@ msgstr "å…ƒç´ ç±»åž‹å¿…é¡»ä¸€æ ·" #: go/gofrontend/expressions.cc:7987 #, fuzzy msgid "first argument must be []byte" -msgstr "左实å‚必须是一个切片" +msgstr "å—节编å·å¿…须是éžè´Ÿæ•°" #: go/gofrontend/expressions.cc:7990 #, fuzzy msgid "second argument must be slice or string" -msgstr "å³å®žå‚必须是一个切片或å—符串" +msgstr "左实å‚必须是一个切片" #: go/gofrontend/expressions.cc:8034 #, fuzzy msgid "argument 2 has invalid type" -msgstr "第 %u 个å‚数类型为 void" +msgstr "%<->%>å‚æ•°ç±»åž‹æ— æ•ˆ(有%qT)" #: go/gofrontend/expressions.cc:8050 msgid "argument must have complex type" @@ -15073,16 +15034,17 @@ msgstr "需è¦å‡½æ•°" #: go/gofrontend/expressions.cc:8647 #, fuzzy msgid "multiple-value argument in single-value context" -msgstr "%qD的声明ä¸ç±»åæ— æ•ˆ" +msgstr "%L处上下文ä¸ä¸å…è®¸ä½¿ç”¨æŒ‰å€¼ä¼ é€’çš„å®žå‚" #: go/gofrontend/expressions.cc:8812 #, fuzzy msgid "invalid use of %<...%> with non-slice" -msgstr "在文件作用域使用%<this%>æ— æ•ˆ" +msgstr "对éžå·¦å€¼æ•°ç»„çš„ä½¿ç”¨æ— æ•ˆ" #: go/gofrontend/expressions.cc:9164 +#, fuzzy msgid "function result count mismatch" -msgstr "" +msgstr "使用返回%<void%>的函数的结果" #: go/gofrontend/expressions.cc:9182 msgid "incompatible type for receiver" @@ -15111,12 +15073,14 @@ msgid "slice capacity must be integer" msgstr "切片结尾必须是整数" #: go/gofrontend/expressions.cc:10037 go/gofrontend/expressions.cc:10522 +#, fuzzy msgid "inverted slice range" -msgstr "" +msgstr "切片结尾必须是整数" #: go/gofrontend/expressions.cc:10080 +#, fuzzy msgid "slice of unaddressable value" -msgstr "" +msgstr "左实å‚必须是一个切片" #: go/gofrontend/expressions.cc:10741 msgid "incompatible type for map index" @@ -15125,37 +15089,41 @@ msgstr "æ˜ å°„ç´¢å¼•ç±»åž‹ä¸å…¼å®¹" #: go/gofrontend/expressions.cc:11120 #, fuzzy msgid "expected interface or pointer to interface" -msgstr "%<delete%>çš„å‚数类型应为指针而éž%q#T" +msgstr "%C 需è¦ä¸€ä¸ªæ— å接å£" #: go/gofrontend/expressions.cc:11859 #, fuzzy msgid "too many expressions for struct" -msgstr "æä¾›ç»™æ ¼å¼å—符串的实å‚太多" +msgstr "%<asm%>ä¸å¤ªå¤šå˜æ•°" #: go/gofrontend/expressions.cc:11872 #, fuzzy msgid "too few expressions for struct" -msgstr "æ ¼å¼å—符串实å‚太少" +msgstr "给予函数的实å‚太少" #: go/gofrontend/expressions.cc:13620 go/gofrontend/statements.cc:1585 +#, fuzzy msgid "type assertion only valid for interface types" -msgstr "" +msgstr "类型å‡è®¾åªæœ‰æœ‰æ•ˆç”¨äºŽæŽ¥å£ç±»åž‹" #: go/gofrontend/expressions.cc:13632 +#, fuzzy msgid "impossible type assertion: type does not implement interface" -msgstr "" +msgstr "ä¸å¯èƒ½çš„类型å‡è®¾ï¼šç±»åž‹ä¸å®žçŽ°æŽ¥å£" #: go/gofrontend/expressions.cc:13811 go/gofrontend/statements.cc:1430 msgid "expected channel" msgstr "需è¦é€šé“" #: go/gofrontend/expressions.cc:13816 go/gofrontend/statements.cc:1435 +#, fuzzy msgid "invalid receive on send-only channel" -msgstr "" +msgstr "æ— æ•ˆçš„æŽ¥æ”¶äºŽ send-only 频é“" #: go/gofrontend/parse.cc:2981 +#, fuzzy msgid "parentheses required around this composite literal to avoid parsing ambiguity" -msgstr "" +msgstr "parentheses å¿…è¦é¡¹å‘¨å›´è¿™ä¸ªåˆæˆ literalto é¿å…剖æžæ¨¡æ£±ä¸¤å¯" #: go/gofrontend/parse.cc:4558 msgid "cannot fallthrough final case in switch" @@ -15164,15 +15132,17 @@ msgstr "" #: go/gofrontend/statements.cc:605 #, fuzzy msgid "invalid left hand side of assignment" -msgstr "在左æ“作数边转化 SSA_NAME。" +msgstr "%L处赋值å³æ‰‹è¾¹å‡ºçŽ° NULL" #: go/gofrontend/statements.cc:616 go/gofrontend/statements.cc:1024 +#, fuzzy msgid "use of untyped nil" -msgstr "" +msgstr "在未定类型文法ä¸ç»™å®šæ˜Žç¡®çš„类型" #: go/gofrontend/statements.cc:1146 +#, fuzzy msgid "expected map index on right hand side" -msgstr "" +msgstr "é¢„æœŸçš„æ˜ å°„ç´¢å¼•å³ä¾§æ‰‹ä¾§è¾¹" #: go/gofrontend/statements.cc:1297 #, fuzzy @@ -15187,7 +15157,7 @@ msgstr "实å‚太少" #: go/gofrontend/statements.cc:2718 #, fuzzy msgid "return with value in function with no return type" -msgstr "在有返回值的的函数ä¸ï¼Œ%<return%>ä¸å¸¦è¿”回值" +msgstr "åœ¨æ— è¿”å›žå€¼çš„å‡½æ•°ä¸ï¼Œ%<return%>带返回值" #: go/gofrontend/statements.cc:2746 msgid "too many values in return statement" @@ -15198,8 +15168,9 @@ msgid "expected boolean expression" msgstr "需è¦å¸ƒå°”表达å¼" #: go/gofrontend/statements.cc:4310 +#, fuzzy msgid "cannot type switch on non-interface value" -msgstr "" +msgstr "æ— æ³•ç±»åž‹åˆ‡æ¢äºŽ non-interface 值" #: go/gofrontend/statements.cc:4445 #, fuzzy @@ -15212,8 +15183,9 @@ msgid "invalid send on receive-only channel" msgstr "间接引用æ“ä½œæ•°æ— æ•ˆ" #: go/gofrontend/statements.cc:5388 +#, fuzzy msgid "too many variables for range clause with channel" -msgstr "" +msgstr "太多å˜é‡ç”¨äºŽèŒƒå›´åå¥ä¸Žé¢‘é“" #: go/gofrontend/statements.cc:5395 #, fuzzy @@ -15223,7 +15195,7 @@ msgstr "å³å®žå‚必须是一个切片或å—符串" #: go/gofrontend/types.cc:509 #, fuzzy msgid "invalid comparison of non-ordered type" -msgstr "gimple æ¡ä»¶ä¸æ¯”较代ç æ— æ•ˆ" +msgstr "éžæˆå‘˜å‡½æ•°ç±»åž‹ä¸Šçš„é™å®šç¬¦æ— 效" #: go/gofrontend/types.cc:525 #, fuzzy @@ -15243,12 +15215,12 @@ msgstr "é‡å¤çš„ç±»åªä¼šè¢«ç¼–译一次" #: go/gofrontend/types.cc:535 #, fuzzy, c-format msgid "invalid operation (%s)" -msgstr "%%R çš„æ“ä½œæ•°æ— æ•ˆ" +msgstr "æ“ä½œæ— æ•ˆçš„å¯¹è±¡" #: go/gofrontend/types.cc:558 #, fuzzy msgid "invalid comparison of non-comparable type" -msgstr "gimple æ¡ä»¶ä¸æ¯”较代ç æ— æ•ˆ" +msgstr "éžæˆå‘˜å‡½æ•°ç±»åž‹ä¸Šçš„é™å®šç¬¦æ— 效" #: go/gofrontend/types.cc:576 #, fuzzy @@ -15318,8 +15290,9 @@ msgid "incompatible type for method %s%s%s (%s)" msgstr "方法%s%s%s类型ä¸å…¼å®¹" #: go/gofrontend/types.cc:7459 go/gofrontend/types.cc:7472 +#, fuzzy msgid "pointer to interface type has no methods" -msgstr "" +msgstr "类型没有方法" #: go/gofrontend/types.cc:7461 go/gofrontend/types.cc:7474 msgid "type has no methods" @@ -15368,12 +15341,12 @@ msgstr "为%qE属性给定的实å‚数目错误" #: attribs.c:481 #, fuzzy, gcc-internal-format msgid "attribute ignored" -msgstr "%qE属性被忽略" +msgstr "忽略%qs属性" #: attribs.c:483 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "an attribute that appertains to a type-specifier is ignored" -msgstr "" +msgstr "类型在éžå‰å‘声明的详尽类型é™å®šç¬¦ä¸è¢«å¿½ç•¥" #: attribs.c:500 #, gcc-internal-format @@ -15397,14 +15370,13 @@ msgstr "" #: auto-profile.c:859 #, fuzzy, gcc-internal-format -#| msgid "expected %<.%>" msgid "Not expected TAG." -msgstr "需è¦%<.%>" +msgstr "å—节ç æµï¼šéœ€è¦æ ‡è®° %s è€Œéž %s" #: auto-profile.c:924 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Cannot open profile file %s." -msgstr "%sï¼šæ— æ³•æ‰“å¼€æºæ–‡ä»¶\n" +msgstr "æ— æ³•æ‰“å¼€è¾“å‡ºæ–‡ä»¶â€œ%sâ€" #: auto-profile.c:927 #, gcc-internal-format @@ -15419,17 +15391,17 @@ msgstr "" #: auto-profile.c:941 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Cannot read string table from %s." -msgstr "ä¸èƒ½è¯»å– ELF 头:%s" +msgstr "æ— æ³•ä»Žâ€œ%sâ€ä¸è¯»å…¥å¤´" #: auto-profile.c:946 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Cannot read function profile from %s." -msgstr "ä¸èƒ½è¯»å– ELF 头:%s" +msgstr "æ— æ³•ä»Ž “%s†ä¸è¯»å– LTO decls" #: auto-profile.c:953 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Cannot read working set from %s." -msgstr "ä¸èƒ½è¯»å– ELF 头:%s" +msgstr "æ— æ³•ä»Žâ€œ%sâ€ä¸è¯»å…¥å¤´" #: bt-load.c:1593 #, gcc-internal-format @@ -15494,7 +15466,7 @@ msgstr "%<__builtin___clear_cache%>的两个å‚数必须都是指针" #: builtins.c:4952 #, fuzzy, gcc-internal-format msgid "trampoline generated for nested function %qD" -msgstr "为é™æ€æˆå‘˜å‡½æ•°%qD指定了åˆå§‹å€¼" +msgstr "嵌套函数ä¸ä½¿ç”¨äº†å¯„å˜å™¨å˜é‡%qD" #: builtins.c:5248 builtins.c:5261 #, gcc-internal-format @@ -15509,17 +15481,17 @@ msgstr "" #: builtins.c:5372 #, fuzzy, gcc-internal-format msgid "invalid memory model argument to builtin" -msgstr "内建函数实å‚æ— æ•ˆ" +msgstr "%<__builtin_frame_address%>的实å‚æ— æ•ˆ" #: builtins.c:5431 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "failure memory model cannot be stronger than success memory model for %<__atomic_compare_exchange%>" -msgstr "" +msgstr "失败内å˜å¼æ ·æ— 法 stronger 比æˆåŠŸå†…å˜å¼æ ·ç”¨äºŽ %<__atomic_compare_exchange%>" #: builtins.c:5440 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "invalid failure memory model for %<__atomic_compare_exchange%>" -msgstr "" +msgstr "æ— æ•ˆçš„å¤±è´¥å†…å˜å¼æ ·ç”¨äºŽ %<__atomic_compare_exchange%>" #: builtins.c:5503 #, fuzzy, gcc-internal-format @@ -15529,22 +15501,22 @@ msgstr "错误地使用了%<auto%>" #: builtins.c:5534 builtins.c:5643 #, fuzzy, gcc-internal-format msgid "invalid memory model for %<__atomic_store%>" -msgstr "错误地使用了%<auto%>" +msgstr "gimple 内å˜å˜å‚¨ä¸å³æ“ä½œæ•°æ— æ•ˆ" #: builtins.c:5752 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "non-constant argument 1 to __atomic_always_lock_free" -msgstr "" +msgstr "non-constant å‚æ•° 1 到 __atomic_always_lock_free" #: builtins.c:5794 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "non-integer argument 1 to __atomic_is_lock_free" -msgstr "" +msgstr "non-integer å‚æ•° 1 到 __atomic_is_lock_free" #: builtins.c:5858 #, fuzzy, gcc-internal-format msgid "__builtin_thread_pointer is not supported on this target" -msgstr "__builtin_eh_return 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" +msgstr "__builtin_saveregs ä¸ä¸ºæ¤ç›®æ ‡æ‰€æ”¯æŒ" #: builtins.c:5878 #, fuzzy, gcc-internal-format @@ -15574,7 +15546,6 @@ msgstr "%<__builtin_longjmp%>的第二个实å‚必须是 1" #. Target support is required. #: builtins.c:7086 #, fuzzy, gcc-internal-format -#| msgid "target format does not support infinity" msgid "Your target platform does not support -fcheck-pointer-bounds" msgstr "ç›®æ ‡æ ¼å¼ä¸æ”¯æŒæ— é™å¤§æµ®ç‚¹æ•°" @@ -15651,7 +15622,7 @@ msgstr "函数调用有èšåˆç±»åž‹" #: calls.c:3195 #, fuzzy, gcc-internal-format msgid "passing too large argument on stack" -msgstr "%qs缺少å‚æ•°" +msgstr "æ ˆå¸§å¤ªå¤§" #: cfgexpand.c:1376 function.c:1002 varasm.c:2163 #, gcc-internal-format @@ -15681,7 +15652,7 @@ msgstr "%<asm%>ä¸å‡ºçŽ°æœªçŸ¥çš„寄å˜å™¨å%qs" #: cfgexpand.c:2603 #, fuzzy, gcc-internal-format msgid "PIC register clobbered by %qs in %<asm%>" -msgstr "PIC 寄å˜å™¨%qs在%<asm%>ä¸è¢«ç¯¡æ”¹" +msgstr "%<asm%>ä¸å‡ºçŽ°æœªçŸ¥çš„寄å˜å™¨å%qs" #: cfgexpand.c:2651 #, gcc-internal-format @@ -15866,7 +15837,7 @@ msgstr "%s ä¸æ”¯æŒ make_forwarder_block" #: cfghooks.c:1004 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "%s does not support force_nonfallthru" -msgstr "%s ä¸æ”¯æŒt move_block_after" +msgstr "%s ä¸æ”¯æŒ redirect_edge_and_branch_force" #: cfghooks.c:1032 #, gcc-internal-format, gfc-internal-format @@ -15899,24 +15870,24 @@ msgid "loop verification on loop tree that needs fixup" msgstr "" #: cfgloop.c:1356 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "loop with header %d marked for removal" -msgstr "" +msgstr "å¯ç”¨æ ‘上的循环ä¸å˜é‡è½¬ç§»" #: cfgloop.c:1361 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "loop with header %d not in loop tree" -msgstr "å¯ç”¨æ ‘上的循环ä¸å˜é‡è½¬ç§»" +msgstr "åœ¨æ ‘çº§åˆ«è¿›è¡Œå¾ªçŽ¯ä¼˜åŒ–" #: cfgloop.c:1367 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "non-loop with header %d not marked for removal" -msgstr "" +msgstr "å¯ç”¨æ ‘上的循环ä¸å˜é‡è½¬ç§»" #: cfgloop.c:1381 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "removed loop %d in loop tree" -msgstr "" +msgstr "åœ¨æ ‘çº§åˆ«è¿›è¡Œå¾ªçŽ¯ä¼˜åŒ–" #: cfgloop.c:1389 #, gcc-internal-format, gfc-internal-format @@ -15926,7 +15897,7 @@ msgstr "循环 %d 的大å°åº”该为 %d,而ä¸æ˜¯%d" #: cfgloop.c:1400 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "bb %d does not belong to loop %d" -msgstr "åŸºæœ¬å— %d ä¸å±žäºŽå¾ªçŽ¯ %d" +msgstr "åŸºæœ¬å— %d ä¸ï¼Œè¿”回边并ä¸æŒ‡å‘退出" #: cfgloop.c:1412 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -15936,7 +15907,7 @@ msgstr "循环 %d 的大å°åº”该为 %d,而ä¸æ˜¯%d" #: cfgloop.c:1429 #, fuzzy, gcc-internal-format msgid "loop %d%'s header is not a loop header" -msgstr "循环 %d 的头并éžåªæœ‰ 2 个入å£" +msgstr "å¯ç”¨æ ‘上的循环ä¸å˜é‡è½¬ç§»" #: cfgloop.c:1435 #, fuzzy, gcc-internal-format @@ -16026,7 +15997,7 @@ msgstr " 边缘 %d->%d 的错误退出的循环列表" #: cfgloop.c:1632 #, fuzzy, gcc-internal-format msgid "too many loop exits recorded" -msgstr "记录了太多的循环出å£" +msgstr "循环 %d 退出列表éžç©ºï¼Œä½†æ˜¯é€€å‡ºæœªè¢«è®°å½•" #: cfgloop.c:1643 #, gcc-internal-format, gfc-internal-format @@ -16049,14 +16020,14 @@ msgid "partition found but function partition flag not set" msgstr "" #: cfgrtl.c:2493 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i" -msgstr "verify_flow_info:REG_BR_PROB ä¸åŒ¹é… cfg %wi %i" +msgstr "verify_flow_info:REG_BR_PROB ä¸åŒ¹é… cfg %i %i" #: cfgrtl.c:2514 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "EDGE_CROSSING incorrectly set across same section" -msgstr "" +msgstr "EDGE_CROSSING ä¸æ£ç¡®è®¾ç½®è·¨è¶Šç›¸åŒåŒºæ®µ" #: cfgrtl.c:2519 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -16074,9 +16045,9 @@ msgid "No region crossing jump at section boundary in bb %i" msgstr "直通边越过了节分界(åŸºæœ¬å— %i)" #: cfgrtl.c:2538 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "EDGE_CROSSING missing across section boundary" -msgstr "" +msgstr "EDGE_CROSSING 缺少的跨越区段边界" #: cfgrtl.c:2568 #, gcc-internal-format, gfc-internal-format @@ -16111,7 +16082,7 @@ msgstr "éžæ¡ä»¶è·³è½¬ %i 之åŽçš„分支边数ä¸å¯¹" #: cfgrtl.c:2605 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "wrong amount of branch edges after conditional jump in bb %i" -msgstr "æ¡ä»¶è·³è½¬ %i 之åŽçš„分支边数ä¸å¯¹" +msgstr "éžæ¡ä»¶è·³è½¬ %i 之åŽçš„分支边数ä¸å¯¹" #: cfgrtl.c:2611 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -16234,24 +16205,24 @@ msgid "execution count is negative" msgstr "执行次数为负" #: cgraph.c:2781 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "inline clone in same comdat group list" -msgstr "" +msgstr "节点是å•ç‹¬åœ¨ä¸ comdat 群组" #: cgraph.c:2786 #, fuzzy, gcc-internal-format msgid "local symbols must be defined" -msgstr "å‡å®šç¬¦å·å¯èƒ½æ— 效" +msgstr "强制公共符å·å¿…须定义" #: cgraph.c:2791 #, fuzzy, gcc-internal-format msgid "externally visible inline clone" -msgstr "外部å¯è§çš„内è”代ç " +msgstr "为外部å¯è§çš„åå—æ·»åŠ ä¸‹åˆ’çº¿" #: cgraph.c:2796 #, fuzzy, gcc-internal-format msgid "inline clone with address taken" -msgstr "内è”已被å–地å€çš„克隆" +msgstr "å·²å–地å€ï¼Œä½†æ˜¯ ADDRESSABLE ä½æœªè¢«è®¾ç½®" #: cgraph.c:2801 #, fuzzy, gcc-internal-format @@ -16264,9 +16235,9 @@ msgid "aux field set for indirect edge from %s" msgstr "为边 %s->%s 设定辅助域" #: cgraph.c:2815 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "An indirect edge from %s is not marked as indirect or has associated indirect_info, the corresponding statement is: " -msgstr "" +msgstr "间接边缘从 %s æœªè¢«æ ‡è®°ä¸ºé—´æŽ¥æˆ–å·²å…³è”çš„ indirectinfo(_I),相应å™è¿°æ˜¯ï¼š" #: cgraph.c:2830 #, gcc-internal-format, gfc-internal-format @@ -16310,25 +16281,21 @@ msgstr "inlined_to pointer 指å‘自身" #: cgraph.c:2915 #, fuzzy, gcc-internal-format -#| msgid "node has wrong clone_of" msgid "cgraph_node has wrong clone_of" msgstr "节点有错误的 clone_of" #: cgraph.c:2927 #, fuzzy, gcc-internal-format -#| msgid "node has wrong clone list" msgid "cgraph_node has wrong clone list" msgstr "节点的克隆列表ä¸æ£ç¡®" #: cgraph.c:2933 #, fuzzy, gcc-internal-format -#| msgid "node is in clone list but it is not clone" msgid "cgraph_node is in clone list but it is not clone" msgstr "节点在克隆列表ä¸ï¼Œä½†å¹¶ä¸æ˜¯å…‹éš†" #: cgraph.c:2938 #, fuzzy, gcc-internal-format -#| msgid "node has wrong prev_clone pointer" msgid "cgraph_node has wrong prev_clone pointer" msgstr "节点的 prev_clone 指针错误" @@ -16338,24 +16305,24 @@ msgid "double linked list of clones corrupted" msgstr "åŒå‘克隆链接列表已æŸå" #: cgraph.c:2955 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Alias has call edges" -msgstr "" +msgstr "åŸºæœ¬å— %i 有多个 EH è¾¹" #: cgraph.c:2963 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Alias has non-alias reference" -msgstr "" +msgstr "别å有 non-alias å‚考" #: cgraph.c:2968 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Alias has more than one alias reference" -msgstr "" +msgstr "别å有超过一个别åå‚考" #: cgraph.c:2975 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Analyzed alias has no reference" -msgstr "" +msgstr "%qE有%qs的引用类型" #: cgraph.c:2984 #, gcc-internal-format @@ -16364,31 +16331,28 @@ msgstr "" #: cgraph.c:2991 #, fuzzy, gcc-internal-format -#| msgid "alignment of %qD is bigger than original declaration" msgid "Not instrumented node has non-NULL original declaration" msgstr "%qD的对é½" #: cgraph.c:3001 #, fuzzy, gcc-internal-format -#| msgid "alignment of %qD is bigger than original declaration" msgid "Instrumented node has wrong original declaration" msgstr "%qD的对é½" #: cgraph.c:3019 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Node has more than one chkp reference" -msgstr "" +msgstr "别å有超过一个别åå‚考" #: cgraph.c:3024 #, fuzzy, gcc-internal-format -#| msgid "forming reference to reference type %qT" msgid "Wrong node is referenced with chkp reference" msgstr "生æˆæŒ‡å‘引用类型%qT的引用" #: cgraph.c:3032 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Analyzed node has no reference to instrumented version" -msgstr "" +msgstr "分æžçš„别å没有任何å‚考" #: cgraph.c:3046 #, gcc-internal-format @@ -16396,19 +16360,19 @@ msgid "Alias chain for instrumented node is broken" msgstr "" #: cgraph.c:3055 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "No edge out of thunk node" -msgstr "" +msgstr "没有边缘超出 thunk 节点" #: cgraph.c:3060 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "More than one edge out of thunk node" -msgstr "" +msgstr "超过一个边缘超出 thunk 节点" #: cgraph.c:3065 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Thunk is not supposed to have body" -msgstr "" +msgstr "广义常表达å¼æž„é€ å‡½æ•°ä½“ä¸ä¸ºç©º" #: cgraph.c:3071 #, gcc-internal-format @@ -16426,9 +16390,9 @@ msgid "edge points to wrong declaration:" msgstr "边指å‘错误的声明:" #: cgraph.c:3124 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "an indirect edge with unknown callee corresponding to a call_stmt with a known declaration:" -msgstr "" +msgstr "间接边缘与未知被调用端相应到 callstmt 与已知声明(_S):" #: cgraph.c:3134 #, gcc-internal-format @@ -16438,7 +16402,7 @@ msgstr "调用è¯å¥ç¼ºå°‘ callgraph 边:" #: cgraph.c:3144 #, fuzzy, gcc-internal-format msgid "reference to dead statement" -msgstr "需è¦è¯å¥" +msgstr "åˆ é™¤æ»å˜å‚¨" #: cgraph.c:3157 #, gcc-internal-format, gfc-internal-format @@ -16458,12 +16422,12 @@ msgstr "verify_cgraph_node 失败" #: cgraph.c:3275 varpool.c:326 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "%s: section %s is missing" -msgstr "‘-l’缺少实å‚" +msgstr "在 %s %s ä¸æœ‰ç¼ºå¤±çš„“%sâ€\n" #: cgraphunit.c:689 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "%<weakref%> attribute should be accompanied with an %<alias%> attribute" -msgstr "weakref 属性必须出现在 alias 属性å‰" +msgstr "%<weakref%> 属性应与 %<alias%> åŒæ—¶ä½¿ç”¨" #: cgraphunit.c:741 cgraphunit.c:777 #, gcc-internal-format @@ -16503,7 +16467,7 @@ msgstr "" #: cgraphunit.c:1226 #, fuzzy, gcc-internal-format msgid "%q+D aliased declaration" -msgstr "%q+D在声明å‰ä½¿ç”¨" +msgstr "%q+D是外部符å·%qE的别å" #: cgraphunit.c:1299 #, gcc-internal-format @@ -16517,7 +16481,6 @@ msgstr "æ— æ³•æ”¶å›žä¸éœ€è¦çš„函数" #: cgraphunit.c:1572 #, fuzzy, gcc-internal-format -#| msgid "generic thunk code fails for method %q#D which uses %<...%>" msgid "generic thunk code fails for method %qD which uses %<...%>" msgstr "泛型的转æ¢å±‚代ç (thunk)对使用了%<...%>的方法%q#D失效" @@ -16574,7 +16537,7 @@ msgstr "找ä¸åˆ°â€˜%s’" #: collect-utils.c:183 collect2.c:2350 collect2.c:2549 gcc.c:2860 gcc.c:6483 #, fuzzy, gcc-internal-format msgid "pex_init failed: %m" -msgstr "pex_init 失败" +msgstr "cap_init 失败" #: collect-utils.c:192 collect2.c:2359 collect2.c:2557 gcc.c:7986 #, gcc-internal-format @@ -16584,7 +16547,7 @@ msgstr "%s:%m" #: collect2.c:702 #, fuzzy, gcc-internal-format msgid "COLLECT_LTO_WRAPPER must be set" -msgstr "COLLECT_LTO_WRAPPER 必须被设定。" +msgstr "环境å˜é‡ COLLECT_GCC 必须被设置" #: collect2.c:966 gcc.c:6986 lto-wrapper.c:1356 #: config/i386/intelmic-mkoffload.c:504 @@ -16615,12 +16578,12 @@ msgstr "æœªçŸ¥çš„è§£ä¿®é¥°é£Žæ ¼â€˜%s’" #: collect2.c:1546 collect2.c:1729 collect2.c:1769 #, fuzzy, gcc-internal-format msgid "fopen %s: %m" -msgstr "fopen %s" +msgstr "æ— æ³•æŸ¥çœ‹ %s 的状æ€ï¼š%m\n" #: collect2.c:1549 collect2.c:1734 collect2.c:1772 #, fuzzy, gcc-internal-format msgid "fclose %s: %m" -msgstr "fclose %s" +msgstr "æ— æ³•æŸ¥çœ‹ %s 的状æ€ï¼š%m\n" #: collect2.c:2324 #, gcc-internal-format @@ -16630,7 +16593,7 @@ msgstr "找ä¸åˆ° ‘nm’" #: collect2.c:2372 #, fuzzy, gcc-internal-format msgid "can't open nm output: %m" -msgstr "æ— æ³•æ‰“å¼€ nm 的输出" +msgstr "æ— æ³•æ‰“å¼€ %s:%m" #: collect2.c:2456 #, gcc-internal-format, gfc-internal-format @@ -16650,7 +16613,7 @@ msgstr "找ä¸åˆ°â€˜ldd’" #: collect2.c:2570 #, fuzzy, gcc-internal-format msgid "can't open ldd output: %m" -msgstr "æ— æ³•æ‰“å¼€ ldd 输出" +msgstr "æ— æ³•ä¸ºè¾“å‡ºæ‰“å¼€â€œ%sâ€ï¼š%s" #: collect2.c:2588 #, gcc-internal-format, gfc-internal-format @@ -16740,12 +16703,12 @@ msgstr "%qs的版本是%q.*s,需è¦çš„版本%q.*s" #: coverage.c:333 coverage.c:343 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Profile data for function %u is corrupted" -msgstr "%s çš„å˜å‚¨ä¿¡æ¯å¾ˆè¯¡å¼‚" +msgstr "æŸåçš„æ ·æœ¬ä¿¡æ¯ï¼šæ ·æœ¬æ•°æ®ä¸æ˜¯æµä¸€è‡´çš„" #: coverage.c:334 #, fuzzy, gcc-internal-format msgid "checksum is (%x,%x) instead of (%x,%x)" -msgstr "检验和是 %x 而ä¸æ˜¯ %x" +msgstr "对 %%dã€%%x 或 %%X çš„ä½¿ç”¨æ— æ•ˆ" #: coverage.c:344 #, gcc-internal-format, gfc-internal-format @@ -16763,14 +16726,14 @@ msgid "%qs has overflowed" msgstr "%qs溢出" #: coverage.c:428 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "the control flow of function %qE does not match its profile data (counter %qs)" -msgstr "" +msgstr "控制æµç¨‹çš„函数 %qE ä¸åŒ¹é…å®ƒçš„ä¾§å†™æ¡£æ•°æ® (计数器 %qs)" #: coverage.c:444 #, fuzzy, gcc-internal-format msgid "execution counts estimated\n" -msgstr "预计执行次数" +msgstr "æ— æ³•è§£æžçš„“清å•è®¡æ•°â€åˆ—:“%sâ€" #: coverage.c:445 #, fuzzy, gcc-internal-format @@ -16778,9 +16741,9 @@ msgid "execution counts assumed to be zero\n" msgstr "预计执行次数" #: coverage.c:457 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "source locations for function %qE have changed, the profile data may be out of date" -msgstr "" +msgstr "æ¥æºä½ç½®ç”¨äºŽå‡½æ•° %qE å·²å˜æ›´ï¼Œä¾§å†™æ¡£æ•°æ®ä¹Ÿè®¸ä¼šæ˜¯è¿‡æœŸ" #: coverage.c:719 #, gcc-internal-format @@ -16910,7 +16873,7 @@ msgstr "内部一致性错误" #: emit-rtl.c:3868 #, gcc-internal-format msgid "ICE: emit_insn used where emit_jump_insn needed:\n" -msgstr "ICEï¼šéœ€è¦ emit_jump_insn 时使用了 emit_insn used where:\n" +msgstr "ICEï¼šéœ€è¦ emit_jump_insn 时使用了 emit_insn:\n" #: errors.c:133 #, gcc-internal-format, gfc-internal-format @@ -17143,9 +17106,9 @@ msgid "spec file has no spec for linking" msgstr "spec 文件没有对链接的设定" #: gcc.c:2649 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "system path %qs is not absolute" -msgstr "系统路径‘%s’ä¸æ˜¯ç»å¯¹è·¯å¾„" +msgstr "系统路径 %qs ä¸æ˜¯ç»å¯¹è·¯å¾„" #: gcc.c:2737 #, gcc-internal-format @@ -17155,7 +17118,7 @@ msgstr "ä¸æ”¯æŒ -pipe" #: gcc.c:2899 #, fuzzy, gcc-internal-format msgid "failed to get exit status: %m" -msgstr "æ— æ³•èŽ·å–退出状æ€" +msgstr "%s(%s) çŸè„šæœ¬è¿è¡Œå¤±è´¥ï¼Œç¦»å¼€çŠ¶æ€ %d\n" #: gcc.c:2905 #, fuzzy, gcc-internal-format @@ -17170,7 +17133,7 @@ msgstr "%s(ç¨‹åº %s)" #: gcc.c:3375 opts-common.c:1030 opts-common.c:1102 opts-global.c:161 #, fuzzy, gcc-internal-format msgid "unrecognized command line option %qs" -msgstr "命令行选项文件“%sâ€ä¸å˜åœ¨" +msgstr "æ¤é…ç½®ä¸æ”¯æŒå‘½ä»¤è¡Œé€‰é¡¹%qs" #: gcc.c:3440 #, gcc-internal-format, gfc-internal-format @@ -17184,9 +17147,8 @@ msgstr "‘%s’是一个未知的 -save-temps 选项" #: gcc.c:4195 toplev.c:992 #, fuzzy, gcc-internal-format -#| msgid "%qs is not a valid output file" msgid "input file %qs is the same as output file" -msgstr "%qsä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„输出文件" +msgstr "用法:%s [选项] [输入文件] [输出文件]\n" #: gcc.c:4222 #, fuzzy, gcc-internal-format @@ -17206,12 +17168,12 @@ msgstr "æ— æ³•åœ¨åº“æœç´¢è·¯å¾„ä¸å®šä½é»˜è®¤é“¾æŽ¥å™¨è„šæœ¬â€˜%s’" #: gcc.c:4677 #, fuzzy, gcc-internal-format msgid "switch %qs does not start with %<-%>" -msgstr "开关‘%s’未以‘-’开头" +msgstr "开关%qsä¸å†è¢«æ”¯æŒ" #: gcc.c:4681 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "spec-generated switch is just %<-%>" -msgstr "" +msgstr "spec-generated 切æ¢å°± %<-%>" #: gcc.c:4774 #, gcc-internal-format, gfc-internal-format @@ -17231,7 +17193,7 @@ msgstr "æ— æ³•å…³é—临时å“应文件 %s" #: gcc.c:4910 #, fuzzy, gcc-internal-format msgid "spec %qs invalid" -msgstr "æ— æ•ˆçš„å‚æ•°%qs" +msgstr "%Cå¤„ç±»åž‹æŒ‡å®šæ— æ•ˆ" #: gcc.c:5060 #, fuzzy, gcc-internal-format @@ -17264,7 +17226,7 @@ msgstr "spec é”™è¯¯ï¼šæ— æ³•è¯†åˆ«çš„ spec 选项‘%c’" #: gcc.c:5719 #, fuzzy, gcc-internal-format msgid "unknown spec function %qs" -msgstr "在æˆå‘˜å‡½æ•°%qsä¸" +msgstr "spec 函数åæ ¼å¼é”™è¯¯" #: gcc.c:5749 #, fuzzy, gcc-internal-format @@ -17330,7 +17292,7 @@ msgstr "spec 失败:SYSROOT_HEADERS_SUFFIX_SPEC å‚数多于一个" #: gcc.c:7387 #, fuzzy, gcc-internal-format msgid "unrecognized command line option %<-%s%>" -msgstr "命令行选项文件“%sâ€ä¸å˜åœ¨" +msgstr "%Pï¼šæ— æ³•è¯†åˆ«çš„é€‰é¡¹â€˜%s’\n" #: gcc.c:7511 #, gcc-internal-format @@ -17355,7 +17317,7 @@ msgstr "%s:æ¤ç³»ç»Ÿæœªå®‰è£… %s 编译器" #: gcc.c:7688 #, fuzzy, gcc-internal-format msgid "recompiling with -fcompare-debug" -msgstr "使用 -fcompare-debug é‡æ–°ç¼–译" +msgstr "在 -fcompare-debug é‡æ–°ç¼–译时" #: gcc.c:7704 #, gcc-internal-format @@ -17385,27 +17347,27 @@ msgstr "è¯è¨€ %s 未能被识别" #: gcc.c:8142 #, fuzzy, gcc-internal-format msgid "multilib spec %qs is invalid" -msgstr "花括å·ä¸çš„ spec‘%s’在‘%c’ä¸æ— 效" +msgstr "%Cå¤„ç±»åž‹æŒ‡å®šæ— æ•ˆ" #: gcc.c:8336 #, fuzzy, gcc-internal-format msgid "multilib exclusions %qs is invalid" -msgstr "C++ ä¸å…许在%qs表达å¼ä¸å®šä¹‰ç±»åž‹" +msgstr "属性%qsçš„å‚æ•°æ— æ•ˆ" #: gcc.c:8400 #, fuzzy, gcc-internal-format msgid "multilib select %qs %qs is invalid" -msgstr "C++ ä¸å…许在%qs表达å¼ä¸å®šä¹‰ç±»åž‹" +msgstr "属性%qsçš„å‚æ•°æ— æ•ˆ" #: gcc.c:8562 #, fuzzy, gcc-internal-format msgid "multilib select %qs is invalid" -msgstr "C++ ä¸å…许在%qs表达å¼ä¸å®šä¹‰ç±»åž‹" +msgstr "%<long long%>对%qsæ— æ•ˆ" #: gcc.c:8602 #, fuzzy, gcc-internal-format msgid "multilib exclusion %qs is invalid" -msgstr "C++ ä¸å…许在%qs表达å¼ä¸å®šä¹‰ç±»åž‹" +msgstr "属性%qsçš„å‚æ•°æ— æ•ˆ" #: gcc.c:8809 #, gcc-internal-format @@ -17460,40 +17422,37 @@ msgstr "%%:compare-debug-auxbase-opt çš„å‚数未以 .gk 结尾" #: gcc.c:9362 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "too few arguments to %%:replace-extension" -msgstr "给予函数的实å‚太少" +msgstr "%%:version-compare çš„å‚数太少" #: gcov-tool.c:72 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "error writing %qs" msgid "error in removing %s\n" -msgstr "写入%qs时错误" +msgstr "\tæ£åœ¨ç§»é™¤ %s:\n" #: gcov-tool.c:103 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Cannot make directory %s" -msgstr "æ— æ³•å–å¾—ä½æ®µ%qD的地å€" +msgstr "æ— æ³•è¯»å…¥å—æ¯æ˜ 射目录“%sâ€" #: gcov-tool.c:111 #, fuzzy, gcc-internal-format -#| msgid "%s: cannot get working directory: %s\n" msgid "Cannot get current directory name" -msgstr "%sï¼šæ— æ³•å¾—åˆ°å·¥ä½œç›®å½•ï¼š%s\n" +msgstr "æ— æ³•å˜æ›´ç›®å‰çš„工作目录到 “/†" #: gcov-tool.c:115 gcov-tool.c:121 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "%s: cannot get working directory: %s\n" msgid "Cannot change directory to %s" -msgstr "%sï¼šæ— æ³•å¾—åˆ°å·¥ä½œç›®å½•ï¼š%s\n" +msgstr "æ— æ³•å˜æ›´ç›®å‰çš„工作目录到 “/†" #: gcov-tool.c:215 #, fuzzy, gcc-internal-format msgid "weights need to be non-negative\n" -msgstr "%s (%L处)å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡" +msgstr "å—节编å·å¿…须是éžè´Ÿæ•°" #: gcov-tool.c:358 #, fuzzy, gcc-internal-format msgid "scale needs to be non-negative\n" -msgstr "%s (%L处)å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡" +msgstr "å—节编å·å¿…须是éžè´Ÿæ•°" #: ggc-common.c:398 ggc-common.c:406 ggc-common.c:475 ggc-common.c:493 #: ggc-page.c:2452 ggc-page.c:2483 ggc-page.c:2490 @@ -17662,9 +17621,8 @@ msgstr "%s å˜é‡%qE在外层上下文ä¸æ˜¯ç§æœ‰çš„" #: gimplify.c:8525 gimplify.c:8531 gimplify.c:8539 #, fuzzy, gcc-internal-format -#| msgid "Finalization at %L is not yet implemented" msgid "directive not yet implemented" -msgstr "%L处的终结化还未实现" +msgstr "尚未æè¿°" #: gimplify.c:8691 #, fuzzy, gcc-internal-format @@ -17714,14 +17672,13 @@ msgstr "æ— æ³•æ‰“å¼€ %s:%m" #: graphite.c:326 #, fuzzy, gcc-internal-format -#| msgid "Graphite loop optimizations cannot be used" msgid "Graphite loop optimizations cannot be used (ISL is not available)." msgstr "ä¸èƒ½ä½¿ç”¨ Graphite 循环优化" #: ipa-chkp.c:666 #, fuzzy, gcc-internal-format msgid "function cannot be instrumented" -msgstr "%qDä¸èƒ½æœ‰é»˜è®¤å‚æ•°" +msgstr "ä¸èƒ½å†…è”%<main%>函数" #: ipa-devirt.c:712 ipa-devirt.c:865 #, fuzzy, gcc-internal-format @@ -17744,9 +17701,9 @@ msgid "but is prevailed by one without from other translation unit" msgstr "" #: ipa-devirt.c:764 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "RTTI will not work on this type" -msgstr "" +msgstr "在指定 -fno-rtti 的情况下ä¸èƒ½ä½¿ç”¨ typeid" #: ipa-devirt.c:795 ipa-devirt.c:824 ipa-devirt.c:895 #, fuzzy, gcc-internal-format @@ -17770,7 +17727,6 @@ msgstr "" #: ipa-devirt.c:877 #, fuzzy, gcc-internal-format -#| msgid "initializer specified for non-virtual method %q+D" msgid "contains additional virtual method %qD" msgstr "为éžè™šæ–¹æ³•%q+D指定了åˆå§‹å€¼è®¾å®šé¡¹" @@ -17782,7 +17738,7 @@ msgstr "" #: ipa-devirt.c:908 #, fuzzy, gcc-internal-format msgid "virtual method %qD" -msgstr "虚函数%qsä¸æ˜¯ç±»æˆå‘˜" +msgstr "C++ é™æ€è™šæ‹Ÿæ–¹æ³•" #: ipa-devirt.c:910 #, gcc-internal-format @@ -17823,7 +17779,7 @@ msgstr "" #: ipa-devirt.c:1013 ipa-devirt.c:1145 #, fuzzy, gcc-internal-format msgid "the incompatible type is defined here" -msgstr "æŒ‡é’ˆç›®æ ‡ç±»åž‹åœ¨ C++ ä¸ä¸å…¼å®¹" +msgstr "枚举类型在æ¤å®šä¹‰" #: ipa-devirt.c:1033 #, gcc-internal-format @@ -17842,25 +17798,21 @@ msgstr "" #: ipa-devirt.c:1069 #, fuzzy, gcc-internal-format -#| msgid "Array reference out of bounds" msgid "array types have different bounds" -msgstr "对数组的引用超出范围" +msgstr "?: çš„æ“作数类型ä¸ä¸€è‡´ï¼Œåˆ†åˆ«ä¸º%qTå’Œ%qT" #: ipa-devirt.c:1087 #, fuzzy, gcc-internal-format -#| msgid "<return value> " msgid "return value type mismatch" msgstr "<返回值>" #: ipa-devirt.c:1100 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "type mismatch in nontype parameter pack" msgid "type mismatch in parameter %i" msgstr "éžç±»åž‹å‚数包ä¸ç±»åž‹ä¸åŒ¹é…" #: ipa-devirt.c:1109 #, fuzzy, gcc-internal-format -#| msgid "different parameter types" msgid "types have different parameter counts" msgstr "å½¢å‚类型ä¸åŒ" @@ -17876,9 +17828,8 @@ msgstr "å…ˆå‰çš„定义在这里" #: ipa-devirt.c:1141 #, fuzzy, gcc-internal-format -#| msgid "type %qT is not a base type for type %qT" msgid "type %qT should match type %qT" -msgstr "类型%qTä¸æ˜¯ç±»åž‹%qT的基类" +msgstr "é™å®šç±»åž‹%qTä¸åŒ¹é…æžæž„函数å ~%qT" #: ipa-devirt.c:1174 #, gcc-internal-format @@ -18018,7 +17969,7 @@ msgstr "" #: ipa-devirt.c:1674 #, fuzzy, gcc-internal-format msgid "the extra base is defined here" -msgstr "结构在æ¤å®šä¹‰" +msgstr "未定义 C++ 基类" #: ipa-devirt.c:3629 #, gcc-internal-format @@ -18057,14 +18008,14 @@ msgid_plural "Declaring method %qD final would enable devirtualization of %i cal msgstr[0] "" #: ipa-inline-analysis.c:4311 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "ipa inline summary is missing in input file" -msgstr "" +msgstr "ipa 内è”概è¦ç¼ºå°‘在ä¸è¾“入文件" #: ipa-reference.c:1176 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "ipa reference summary is missing in ltrans unit" -msgstr "" +msgstr "ipa å‚考概è¦ç¼ºå°‘åœ¨ä¸ ltrans å•ä½" #: ira.c:2339 ira.c:2352 ira.c:2366 #, gcc-internal-format, gfc-internal-format @@ -18072,14 +18023,14 @@ msgid "%s cannot be used in asm here" msgstr "%s ä¸èƒ½åœ¨è¿™é‡Œç”¨äºŽ asm" #: ira.c:5505 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "frame pointer required, but reserved" -msgstr "" +msgstr "为å¶å‡½æ•°(ä¸è°ƒç”¨å…¶ä»–函数的函数)忽略框架指针" #: ira.c:5506 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "for %qD" -msgstr "作为%qD" +msgstr "为 %qD" #: lra-assigns.c:1406 reload1.c:1288 #, gcc-internal-format @@ -18088,14 +18039,13 @@ msgstr "%<asm%>æ“作数ä¸æœ‰ä¸å¯èƒ½çš„约æŸ" #: lra-assigns.c:1427 #, fuzzy, gcc-internal-format -#| msgid "unable to find a register to spill in class %qs" msgid "unable to find a register to spill" msgstr "在类%qsä¸æ‰¾ä¸åˆ°å¯æº¢å‡ºçš„寄å˜å™¨" #: lra-assigns.c:1638 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Maximum number of LRA assignment passes is achieved (%d)\n" -msgstr "" +msgstr "最大值æ¡ä»¶ä¿å˜å¯¹æ•°é‡è¯¥å¯ä»¥æ˜¯ sunk" #: lra-constraints.c:3497 reload.c:3863 reload.c:4118 #, gcc-internal-format @@ -18128,32 +18078,29 @@ msgid "bytecode stream: found empty cgraph node" msgstr "å—节ç æµï¼šæ‰¾åˆ°ç©ºçš„ cgraph 节点" #: lto-cgraph.c:1764 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "At most %i profile runs is supported. Perhaps corrupted profile?" -msgstr "" +msgstr "最多 %i 侧写档è¿è¡Œè¢«æ”¯æŒã€‚也许已æŸå侧写档?" #: lto-cgraph.c:1851 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Profile information in %s corrupted" -msgstr "%s çš„å˜å‚¨ä¿¡æ¯å¾ˆè¯¡å¼‚" +msgstr "%s:已æŸå\n" #: lto-cgraph.c:1884 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "cannot find LTO cgraph in %s" -msgstr "找ä¸åˆ°ç±»%qE" +msgstr "æ— æ³•ä»Ž “%s†ä¸è¯»å– LTO decls" #: lto-cgraph.c:1894 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "cannot find LTO section refs in %s" -msgstr "" -"在æ’件 %2$s ä¸æ‰¾ä¸åˆ° %1$s\n" -"%3$s" +msgstr "%sï¼šæ— æ³•æ‰¾åˆ°åŒºæ®µï¼š%s" #: lto-cgraph.c:1962 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "invalid rotate insn" msgid "invalid offload table in %s" -msgstr "æ— æ•ˆçš„å¾ªçŽ¯ç§»ä½æŒ‡ä»¤" +msgstr "è¡¨æ ¼ç±»åž‹ :%s\n" #: lto-compress.c:215 lto-compress.c:223 lto-compress.c:244 lto-compress.c:305 #: lto-compress.c:313 lto-compress.c:334 @@ -18167,9 +18114,9 @@ msgid "bytecode stream: trying to read %d bytes after the end of the input buffe msgstr "å—节ç æµï¼šè¯•å›¾åœ¨è¾“入缓冲区结æŸå¤„è¯»å– %d å—节" #: lto-section-in.c:473 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "%s out of range: Range is %i to %i, value is %i" -msgstr "" +msgstr "%s 超出范围:范围是 %i 到 %i,值是 %i" #: lto-streamer-in.c:124 #, gcc-internal-format, gfc-internal-format @@ -18177,9 +18124,9 @@ msgid "bytecode stream: unexpected tag %s" msgstr "å—节ç æµï¼šéžé¢„æœŸçš„æ ‡è®° %s" #: lto-streamer-in.c:946 lto-streamer-in.c:956 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Cgraph edge statement index out of range" -msgstr "" +msgstr "机器独立内置编ç 超出范围" #: lto-streamer-in.c:950 lto-streamer-in.c:959 #, gcc-internal-format @@ -18189,22 +18136,22 @@ msgstr "" #: lto-streamer-in.c:966 #, fuzzy, gcc-internal-format msgid "Reference statement index out of range" -msgstr "æ“作数å·è¶…出范围" +msgstr "ç±»åž‹ç´¢å¼•ç¼–å· %d 超出范围\n" #: lto-streamer-in.c:969 #, fuzzy, gcc-internal-format msgid "Reference statement index not found" -msgstr "å‘现ä¸å»ºè®®ä½¿ç”¨çš„空è¯å¥æ—¶ç»™å‡ºè¦å‘Š" +msgstr "找ä¸åˆ° C++ 引用" #: lto-streamer-in.c:1547 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "cannot read LTO mode table from %s" -msgstr "ä¸èƒ½è¯»å– ELF 头:%s" +msgstr "æ— æ³•ä»Ž “%s†ä¸è¯»å– LTO decls" #: lto-streamer-in.c:1643 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "unsupported mode %s\n" -msgstr "ä¸æ”¯æŒçš„ ELF 文件类" +msgstr "ä¸æ”¯æŒçš„组åˆï¼š%s" #: lto-streamer-out.c:414 lto-streamer-out.c:670 #, fuzzy, gcc-internal-format @@ -18223,9 +18170,8 @@ msgstr "å—节ç æµæ˜¯ç”± LTO 版本 %d.%d 生æˆï¼Œè€Œéžé¢„期的 %d.%d" #: lto-wrapper.c:112 #, fuzzy, gcc-internal-format -#| msgid "deleting LTRANS file %s" msgid "deleting LTRANS file %s: %m" -msgstr "åˆ é™¤ LTRANS 文件 %s" +msgstr "打开 LTRANS 输出列表 %s:%m" #: lto-wrapper.c:149 #, gcc-internal-format @@ -18238,20 +18184,19 @@ msgid "Option %s not used consistently in all LTO input files" msgstr "" #: lto-wrapper.c:738 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "problem with building target image for %s\n" -msgstr "" +msgstr "ç»„å»ºç›®æ ‡å¹³å°ï¼š%s\n" #: lto-wrapper.c:757 #, fuzzy, gcc-internal-format -#| msgid "no input files" msgid "reading input file" -msgstr "没有输入文件" +msgstr "读å–输入历å²æ–‡ä»¶â€¦\n" #: lto-wrapper.c:762 #, fuzzy, gcc-internal-format msgid "writing output file" -msgstr "%s:写入输出文件‘%s’时出错\n" +msgstr "写入到输出文件 '%s' 时出错\n" #: lto-wrapper.c:788 #, gcc-internal-format @@ -18276,19 +18221,17 @@ msgstr "环境å˜é‡ COLLECT_GCC_OPTIONS 必须被设置" #: lto-wrapper.c:1174 #, fuzzy, gcc-internal-format msgid "fopen: %s: %m" -msgstr "fopen %s" +msgstr "æ— æ³•æŸ¥çœ‹ %s 的状æ€ï¼š%m\n" #: omp-low.c:1731 omp-low.c:1955 #, fuzzy, gcc-internal-format -#| msgid "-pipe not supported" msgid "clause not supported yet" -msgstr "ä¸æ”¯æŒ -pipe" +msgstr "尚未æè¿°" #: omp-low.c:1931 omp-low.c:2058 #, fuzzy, gcc-internal-format -#| msgid "-pipe not supported" msgid "Clause not supported yet" -msgstr "ä¸æ”¯æŒ -pipe" +msgstr "尚未æè¿°" #: omp-low.c:2589 #, gcc-internal-format @@ -18326,9 +18269,9 @@ msgid "distribute construct must be closely nested inside teams construct" msgstr "" #: omp-low.c:2804 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "orphaned %qs construct" -msgstr "" +msgstr "ä½ç½®é”™è¯¯çš„%<@%D%>Objective-C++ æž„é€ " #: omp-low.c:2836 #, gcc-internal-format @@ -18348,7 +18291,7 @@ msgstr "%<#pragma omp section%>åªèƒ½ç”¨åœ¨%<#pragma omp sections%>结构ä¸" #: omp-low.c:2888 #, fuzzy, gcc-internal-format msgid "invalid arguments" -msgstr "æ— æ•ˆçš„ PHI 实å‚" +msgstr "%<...%>作为实å‚。)" #: omp-low.c:2894 #, gcc-internal-format @@ -18398,12 +18341,12 @@ msgstr "" #: omp-low.c:3055 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "%s %s construct inside of %s %s region" -msgstr "主è¦åŒºåŸŸä¸å¯ä»¥ç´§å¯†åµŒå¥—在工作共享或显å¼çš„任务区域内" +msgstr "%P: 找ä¸åˆ° %s 于 %s 内部\n" #: omp-low.c:3068 omp-low.c:3076 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "%s construct inside of %s region" -msgstr "主è¦åŒºåŸŸä¸å¯ä»¥ç´§å¯†åµŒå¥—在工作共享或显å¼çš„任务区域内" +msgstr "%P: 找ä¸åˆ° %s 于 %s 内部\n" #: omp-low.c:3184 #, gcc-internal-format @@ -18412,21 +18355,19 @@ msgstr "" #: omp-low.c:12080 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "invalid exit from OpenMP structured block" msgid "invalid exit from %s structured block" msgstr "OpenMP 结构å—出å£æ— 效" #: omp-low.c:12082 omp-low.c:12087 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "invalid entry to OpenMP structured block" msgid "invalid entry to %s structured block" -msgstr "OpenMP 结构å—å…¥å£æ— 效" +msgstr "OpenMP 结构å—出å£æ— 效" #. Otherwise, be vague and lazy, but efficient. #: omp-low.c:12091 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "invalid branch to/from %s structured block" -msgstr "进出 OpenMP 结构å—çš„åˆ†æ”¯æ— æ•ˆ" +msgstr "OpenMP 结构å—出å£æ— 效" #: omp-low.c:12590 #, fuzzy, gcc-internal-format @@ -18434,15 +18375,14 @@ msgid "ignoring large linear step" msgstr "忽略é‡å¤çš„目录“%sâ€\n" #: omp-low.c:12597 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "ignoring zero linear step" -msgstr "" +msgstr "DO æ¥è¿›å€¼ä¸ºé›¶" #: optabs.c:4526 #, fuzzy, gcc-internal-format -#| msgid "BYTE type used at %C is not available on the target machine" msgid "indirect jumps are not available on this target" -msgstr "%C处使用到的 BYTE ç±»åž‹åœ¨ç›®æ ‡æœºä¸Šä¸å¯ç”¨" +msgstr "ç›®æ ‡ç›¸å…³çš„å†…å»ºå‡½æ•°ä¸å¯ç”¨" #: opts-common.c:1041 #, gcc-internal-format @@ -18462,12 +18402,12 @@ msgstr "“%sâ€çš„实å‚应该是一个éžè´Ÿæ•´æ•°" #: opts-common.c:1072 #, fuzzy, gcc-internal-format msgid "unrecognized argument in option %qs" -msgstr "对 -mcpu= 选项的ä¸å¯è¯†åˆ«å‚数“%sâ€" +msgstr "memusageï¼šæ— æ³•è¯†åˆ«çš„é€‰é¡¹â€œ$1â€" #: opts-common.c:1088 #, fuzzy, gcc-internal-format msgid "valid arguments to %qs are: %s" -msgstr "æžæž„函数ä¸èƒ½æœ‰å‚æ•°" +msgstr "%qs对%qsè€Œè¨€æ— æ•ˆ" #: opts-global.c:124 #, fuzzy, gcc-internal-format @@ -18507,9 +18447,8 @@ msgstr "" #: opts-global.c:458 #, fuzzy, gcc-internal-format -#| msgid "unrecognized address" msgid "unrecognized shadow offset %qs" -msgstr "æ— æ³•è¯†åˆ«çš„åœ°å€" +msgstr "ä¸å¯è¯†åˆ«çš„寄å˜å%qs" #: opts.c:92 #, gcc-internal-format @@ -18534,12 +18473,12 @@ msgstr "“%sâ€çš„实å‚应该是一个éžè´Ÿæ•´æ•°" #: opts.c:712 #, fuzzy, gcc-internal-format msgid "section anchors must be disabled when unit-at-a-time is disabled" -msgstr "当 unit-at-a-time 被ç¦æ¢æ—¶èŠ‚锚必须被ç¦æ¢ã€‚" +msgstr "当文件作用域é‡æŽ’åºè¢«ç¦ç”¨æ—¶ä¹Ÿå¿…é¡»ç¦ç”¨èŠ‚ä¸é”šç‚¹" #: opts.c:716 #, fuzzy, gcc-internal-format msgid "toplevel reorder must be disabled when unit-at-a-time is disabled" -msgstr "当unit-at-a-time 被ç¦æ¢æ—¶é¡¶å±‚é‡æ–°æŽ’åºå¿…é¡»ç¦æ¢ã€‚" +msgstr "当文件作用域é‡æŽ’åºè¢«ç¦ç”¨æ—¶ä¹Ÿå¿…é¡»ç¦ç”¨èŠ‚ä¸é”šç‚¹" #: opts.c:722 #, fuzzy, gcc-internal-format @@ -18567,29 +18506,29 @@ msgid "-freorder-blocks-and-partition does not work on this architecture" msgstr "-freorder-blocks-and-partition ä¸èƒ½åœ¨æ¤æž¶æž„下工作" #: opts.c:848 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "-fno-fat-lto-objects are supported only with linker plugin" -msgstr "" +msgstr "-fno-fat-lto-objects 被支æŒåªæœ‰ä¸Žé“¾ç»“器æ’件程åºã€‚" #: opts.c:861 #, fuzzy, gcc-internal-format msgid "%<-fsplit-stack%> is not supported by this compiler configuration" -msgstr "%s ä¸ä¸ºè¿™ä¸ªé…置所支æŒ" +msgstr "%<-fsplit-stack%>åªåœ¨ GNU/Linux 下被支æŒ" #: opts.c:894 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-fsanitize=address is incompatible with -fsanitize=kernel-address" -msgstr "-fdirectives-only 与 -traditional ä¸å…¼å®¹" +msgstr "-fsanitize=address 与 -fsanitize=kernel-address ä¸å…¼å®¹" #: opts.c:902 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-fsanitize=address and -fsanitize=kernel-address are incompatible with -fsanitize=thread" -msgstr "-fdirectives-only 与 -traditional ä¸å…¼å®¹" +msgstr "-fsanitize=address åŠ -fsanitize=kernel-address 与 -fsanitize=thread ä¸å…¼å®¹" #: opts.c:908 #, fuzzy, gcc-internal-format msgid "-fsanitize-recover=address is not supported" -msgstr "-fdata-sections 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" +msgstr "ä¸æ”¯æŒçš„主机å地å€æ—" #: opts.c:911 #, fuzzy, gcc-internal-format @@ -18598,7 +18537,6 @@ msgstr "ä¸æ”¯æŒ -fpic" #: opts.c:914 #, fuzzy, gcc-internal-format -#| msgid "-fpic is not supported" msgid "-fsanitize-recover=leak is not supported" msgstr "ä¸æ”¯æŒ -fpic" @@ -18613,9 +18551,9 @@ msgid "--help argument %q.*s is ambiguous, please be more specific" msgstr "--help çš„å‚æ•°%q.*s有æ§ä¹‰ï¼Œè¯·æ”¹ç”¨æ›´åŠ 明确的å‚æ•°" #: opts.c:1525 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "unrecognized argument to --help= option: %q.*s" -msgstr "è¦å‘Šï¼š--help= 选项的å‚æ•°ä¸å¯è¯†åˆ«ï¼š%.*s\n" +msgstr "--help= 选项的å‚数未知:%q.*s" #: opts.c:1623 #, gcc-internal-format @@ -18639,7 +18577,6 @@ msgstr "结构的对é½å¿…须是 2 的较å°æ¬¡æ–¹ï¼Œè€Œä¸æ˜¯ %d" #: opts.c:1955 #, fuzzy, gcc-internal-format -#| msgid "unknown stack check parameter \"%s\"" msgid "unknown stack check parameter %qs" msgstr "æœªçŸ¥çš„å †æ ˆæ£€æŸ¥å‚数“%sâ€" @@ -18670,19 +18607,16 @@ msgstr "ç›®æ ‡ç³»ç»Ÿä¸æ”¯æŒè°ƒè¯•è¾“出" #: opts.c:2231 #, fuzzy, gcc-internal-format -#| msgid "debug format \"%s\" conflicts with prior selection" msgid "debug format %qs conflicts with prior selection" msgstr "è°ƒè¯•æ ¼å¼â€œ%sâ€ä¸Žå…ˆå‰çš„选择冲çª" #: opts.c:2249 #, fuzzy, gcc-internal-format -#| msgid "unrecognised debug output level \"%s\"" msgid "unrecognised debug output level %qs" msgstr "æ— æ³•è¯†åˆ«çš„è°ƒè¯•è¾“å‡ºçº§åˆ«â€œ%sâ€" #: opts.c:2251 #, fuzzy, gcc-internal-format -#| msgid "debug output level %s is too high" msgid "debug output level %qs is too high" msgstr "调试输出级别 %s 太高" @@ -18725,17 +18659,17 @@ msgstr "æ— æ•ˆçš„å‚æ•°%qs" #: passes.c:130 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "pass %s does not support cloning" -msgstr "%s ä¸æ”¯æŒ split_edge" +msgstr "%s ä¸æ”¯æŒ split_block" #: passes.c:1036 #, fuzzy, gcc-internal-format msgid "unrecognized option -fenable" -msgstr "æ— æ³•è¯†åˆ«çš„é€‰é¡¹â€˜-%s’" +msgstr "æ— æ³•è¯†åˆ«çš„é€‰é¡¹" #: passes.c:1038 #, fuzzy, gcc-internal-format msgid "unrecognized option -fdisable" -msgstr "æ— æ³•è¯†åˆ«çš„é€‰é¡¹â€˜-%s’" +msgstr "æ— æ³•è¯†åˆ«çš„é€‰é¡¹" #: passes.c:1046 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -18748,34 +18682,34 @@ msgid "unknown pass %s specified in -fdisable" msgstr "åˆå§‹å€¼è®¾å®šé¡¹é‡Œæœ‰æœªçŸ¥çš„å—段%qE" #: passes.c:1073 passes.c:1162 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "enable pass %s for functions in the range of [%u, %u]" -msgstr "" +msgstr "å¯ç”¨å›žåˆ %s 用于函数在ä¸èŒƒå›´çš„ [%u,%u]" #: passes.c:1076 passes.c:1173 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "disable pass %s for functions in the range of [%u, %u]" -msgstr "" +msgstr "åœç”¨å›žåˆ %s 用于函数在ä¸èŒƒå›´çš„ [%u,%u]" #: passes.c:1112 passes.c:1140 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Invalid range %s in option %s" -msgstr "æ— æ•ˆçš„æµ®ç‚¹é€‰é¡¹ï¼š-mfpu=%s" +msgstr "%s: ä¸é€‚用的选项 -- %c\n" #: passes.c:1158 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "enable pass %s for function %s" -msgstr "函数%qEå˜å‚¨ç±»æ— 效" +msgstr "æ— æ³•å¯ç”¨å¥—接å—以接å—连接:%s" #: passes.c:1169 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "disable pass %s for function %s" -msgstr "函数%qEå˜å‚¨ç±»æ— 效" +msgstr "%2$L处 %1$s 函数的å‚数是负的" #: passes.c:1398 #, fuzzy, gcc-internal-format msgid "invalid pass positioning operation" -msgstr "æ— æ•ˆçš„è¶Ÿå®šä½æ“作" +msgstr "å•ç›®æ“作ä¸æ“ä½œæ•°æ— æ•ˆ" #: passes.c:1460 #, gcc-internal-format @@ -18798,9 +18732,9 @@ msgid "pass %qs not found but is referenced by new pass %qs" msgstr "找ä¸åˆ°è¶Ÿå¤„ç†%qs,但å´è¢«æ–°çš„趟处ç†%qs所引用" #: plugin.c:191 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "inaccessible plugin file %s expanded from short plugin name %s: %m" -msgstr "" +msgstr "ä¸å¯è®¿é—®æ’件程åºæ–‡ä»¶ %s 展开的从çŸæ’件程åºå称 %s:%m" #: plugin.c:212 #, gcc-internal-format, gfc-internal-format @@ -18814,9 +18748,9 @@ msgstr "" "%s" #: plugin.c:271 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "malformed option -fplugin-arg-%s (missing -<key>[=<value>])" -msgstr "-fplugin-arg-%s é€‰é¡¹æ ¼å¼ä¸å¯¹(缺少 -<é”®>[=<值>])" +msgstr "-fplugin-arg-%s é€‰é¡¹æ ¼å¼æ£ç¡® (缺少 -<é”®>[=<值>])" #: plugin.c:333 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -18980,12 +18914,12 @@ msgstr "全局寄å˜å™¨å˜é‡å‡ºçŽ°åœ¨å‡½æ•°å®šä¹‰åŽ" #: reginfo.c:814 #, fuzzy, gcc-internal-format msgid "register of %qD used for multiple global register variables" -msgstr "寄å˜å™¨ç”¨ä½œä¸¤ä¸ªå…¨å±€å¯„å˜å™¨å˜é‡" +msgstr "嵌套函数ä¸ä½¿ç”¨äº†å…¨å±€å¯„å˜å™¨å˜é‡%qD" #: reginfo.c:817 #, fuzzy, gcc-internal-format msgid "conflicts with %qD" -msgstr " 与%q+D冲çª" +msgstr "%qD与已用的函数冲çª" #: reginfo.c:822 #, gcc-internal-format @@ -19074,7 +19008,6 @@ msgstr "RTL 检查:在 %s ä¸è¯•å›¾å°†éžå—符å·å¤„ç†ä¸ºå—符å·ï¼ŒäºŽ %s: #: rtl.c:776 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d" msgid "RTL check: access of hwi elt %d of vector with last elt %d in %s, at %s:%d" msgstr "RTL 检查:在 %3$s ä¸è®¿é—®äº†å‘é‡ elt %1$d,最åŽçš„ elt %2$d,于 %4$s:%5$d" @@ -19221,12 +19154,12 @@ msgstr "函数返回了一个函数" #: symtab.c:926 #, fuzzy, gcc-internal-format msgid "variable symbol is not variable" -msgstr "数组ä¸èƒ½è¢«å–指" +msgstr "%L处的符å·ä¸æ˜¯ä¸€ä¸ª DUMMY å˜é‡" #: symtab.c:932 #, fuzzy, gcc-internal-format msgid "node has unknown type" -msgstr "节点的克隆列表ä¸æ£ç¡®" +msgstr "未知类型的输入行" #: symtab.c:941 #, gcc-internal-format @@ -19264,14 +19197,14 @@ msgid "node is analyzed byt it is not a definition" msgstr "节点在克隆列表ä¸ï¼Œä½†å¹¶ä¸æ˜¯å…‹éš†" #: symtab.c:993 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "node is alias but not implicit alias" -msgstr "" +msgstr "找ä¸åˆ°åŒºåŸŸåˆ«å文件“%sâ€" #: symtab.c:998 #, fuzzy, gcc-internal-format msgid "node is alias but not definition" -msgstr "节点在克隆列表ä¸ï¼Œä½†å¹¶ä¸æ˜¯å…‹éš†" +msgstr "-fmit-class-file 的别å" #: symtab.c:1003 #, gcc-internal-format @@ -19280,14 +19213,13 @@ msgstr "" #: symtab.c:1012 #, fuzzy, gcc-internal-format -#| msgid "node is in clone list but it is not clone" msgid "node is in same_comdat_group list but has no comdat_group" msgstr "节点在克隆列表ä¸ï¼Œä½†å¹¶ä¸æ˜¯å…‹éš†" #: symtab.c:1017 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "same_comdat_group list across different groups" -msgstr "" +msgstr "same_comdat_group 并éžçŽ¯çŠ¶æ¸…å•" #: symtab.c:1022 #, fuzzy, gcc-internal-format @@ -19295,14 +19227,14 @@ msgid "mixing different types of symbol in same comdat groups is not supported" msgstr "ä¸æ”¯æŒç»„åˆæœ‰ä¸åŒå–æ ·ä¿¡æ¯çš„å•å…ƒã€‚" #: symtab.c:1027 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "node is alone in a comdat group" -msgstr "" +msgstr "节点是å•ç‹¬åœ¨ä¸ comdat 群组" #: symtab.c:1034 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "same_comdat_group is not a circular list" -msgstr "" +msgstr "same_comdat_group 并éžçŽ¯çŠ¶æ¸…å•" #: symtab.c:1049 #, gcc-internal-format, gfc-internal-format @@ -19315,14 +19247,14 @@ msgid "implicit_section flag is set but section isn't" msgstr "" #: symtab.c:1066 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Both section and comdat group is set" -msgstr "" +msgstr "节点是å•ç‹¬åœ¨ä¸ comdat 群组" #: symtab.c:1078 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Alias and target's section differs" -msgstr "" +msgstr "--help=target 的别å" #: symtab.c:1085 #, gcc-internal-format @@ -19330,9 +19262,9 @@ msgid "Alias and target's comdat groups differs" msgstr "" #: symtab.c:1108 symtab.c:1145 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "symtab_node::verify failed" -msgstr "verify_cgraph_node 失败" +msgstr "symtab_node::verify 失败" #: symtab.c:1141 #, gcc-internal-format @@ -19382,12 +19314,12 @@ msgstr "#pragma GCC target 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" #: tlink.c:489 #, fuzzy, gcc-internal-format msgid "removing .rpo file: %m" -msgstr "åˆ é™¤ .rpo 文件" +msgstr "监视文件 `%s' 原为 %s,移除监视" #: tlink.c:491 #, fuzzy, gcc-internal-format msgid "renaming .rpo file: %m" -msgstr "é‡å‘½å .rpo 文件" +msgstr "%s:文件开å¯é”™è¯¯ï¼š%m\n" #: tlink.c:495 #, gcc-internal-format, gfc-internal-format @@ -19421,7 +19353,6 @@ msgstr "%q+D定义åŽæœªä½¿ç”¨" #: toplev.c:996 #, fuzzy, gcc-internal-format -#| msgid "can%'t open %s for writing: %m" msgid "can%'t open %qs for writing: %m" msgstr "æ— æ³•æ‰“å¼€ %s 并写入:%m" @@ -19433,22 +19364,22 @@ msgstr "-frecord-gcc-switches 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" #: toplev.c:1065 #, fuzzy, gcc-internal-format msgid "stack usage computation not supported for this target" -msgstr "-fstack-usage 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" +msgstr "å †æ ˆé™åˆ¶åœ¨æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" #: toplev.c:1134 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "stack usage might be unbounded" -msgstr "" +msgstr "å †å 用法也许被未绑定" #: toplev.c:1139 #, fuzzy, gcc-internal-format msgid "stack usage might be %wd bytes" -msgstr "æ ˆå¸§å¤ªå¤§ï¼š%d å—节" +msgstr "æ ˆå¸§å¤§å°ä¸æ˜¯ 8 å—节的å€æ•°ï¼š%wd" #: toplev.c:1142 #, fuzzy, gcc-internal-format msgid "stack usage is %wd bytes" -msgstr "æ ˆå¸§å¤ªå¤§ï¼š%d å—节" +msgstr "æ ˆå¸§å¤§å°ä¸æ˜¯ 8 å—节的å€æ•°ï¼š%wd" #: toplev.c:1158 #, gcc-internal-format @@ -19461,13 +19392,12 @@ msgid "this target does not support %qs" msgstr "æ¤ç›®æ ‡æœºä¸æ”¯æŒ %qs" #: toplev.c:1369 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Graphite loop optimizations cannot be used (ISL is not available)(-fgraphite, -fgraphite-identity, -floop-block, -floop-interchange, -floop-strip-mine, -floop-parallelize-all, -floop-unroll-and-jam, and -ftree-loop-linear)" -msgstr "" +msgstr "çŸ³å¢¨å¾ªçŽ¯æœ€ä½³åŒ–æ— æ³•ä½¿ç”¨ (-fgraphite,-fgraphite-identity,-floop-block,-floop-flatten,-floop-interchange,-floop-strip-mine,-floop-parallelize-all,而-ftree-loop-linear)" #: toplev.c:1379 #, fuzzy, gcc-internal-format -#| msgid "fixed-point types not supported for this target" msgid "-fcheck-pointer-bounds is not supported for this target" msgstr "定点类型在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" @@ -19479,7 +19409,6 @@ msgstr "弱引用在æ¤é…置下ä¸å—支æŒ" #. -fabi-version=1 support was removed after GCC 4.9. #: toplev.c:1399 #, fuzzy, gcc-internal-format -#| msgid "switch %qs is no longer supported" msgid "%<-fabi-version=1%> is no longer supported" msgstr "开关%qsä¸å†è¢«æ”¯æŒ" @@ -19505,9 +19434,8 @@ msgstr "æ— æ³•æ‰“å¼€ç”¨é›¶å¡«å……çš„æŒ‡ä»¤è½¬å‚¨æ–‡ä»¶%qs:%s" #: toplev.c:1521 #, fuzzy, gcc-internal-format -#| msgid "target system does not support the \"%s\" debug format" msgid "target system does not support the %qs debug format" -msgstr "ç›®æ ‡ç³»ç»Ÿä¸æ”¯æŒâ€œ%sâ€è°ƒè¯•æ ¼å¼" +msgstr "ç›®æ ‡ç³»ç»Ÿä¸æ”¯æŒè°ƒè¯•è¾“出" #: toplev.c:1533 #, gcc-internal-format @@ -19560,14 +19488,14 @@ msgid "-fstack-protector not supported for this target" msgstr "-fstack-protector 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" #: toplev.c:1663 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-fsanitize=address and -fsanitize=kernel-address are not supported for this target" -msgstr "-fdata-sections 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" +msgstr "-fsanitize=address åŠ -fsanitize=kernel-address 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" #: toplev.c:1671 #, fuzzy, gcc-internal-format msgid "-fsanitize=address not supported for this target" -msgstr "-fdata-sections 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" +msgstr "å…¨å±€æž„é€ å‡½æ•°åœ¨æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" #: toplev.c:1986 #, gcc-internal-format @@ -19585,19 +19513,19 @@ msgid "invalid volatile use of %qD inside transaction" msgstr "指定链接时使用%qDæ— æ•ˆ" #: trans-mem.c:680 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<transaction_may_cancel_outer%> function call not within outer transaction or %<transaction_may_cancel_outer%>" -msgstr "" +msgstr "%<transaction_may_cancel_outer%> å‡½æ•°è°ƒç”¨æ— æ³•åœ¨ä¹‹å†…å¤–å¼‚åŠ¨ä½œä¸šæˆ– %<transaction_may_cancel_outer%>" #: trans-mem.c:749 trans-mem.c:4793 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "unsafe function call %qD within atomic transaction" -msgstr "" +msgstr "unsafe 函数调用 %qD 在之内ä¸å¯åˆ†å‰²çš„作业事件" #: trans-mem.c:755 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "unsafe function call %qE within atomic transaction" -msgstr "" +msgstr "unsafe 函数调用 %qE 在之内ä¸å¯åˆ†å‰²çš„作业事件" #: trans-mem.c:759 #, fuzzy, gcc-internal-format @@ -19605,14 +19533,14 @@ msgid "unsafe indirect function call within atomic transaction" msgstr "é—´æŽ¥å‡½æ•°è°ƒç”¨ç›®æ ‡æœªå®šä¹‰" #: trans-mem.c:767 trans-mem.c:4725 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "unsafe function call %qD within %<transaction_safe%> function" -msgstr "" +msgstr "unsafe 函数调用 %qD 在之内 %<transaction_safe%> 函数" #: trans-mem.c:773 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "unsafe function call %qE within %<transaction_safe%> function" -msgstr "" +msgstr "unsafe 函数调用 %qE 在之内 %<transaction_safe%> 函数" #: trans-mem.c:777 #, fuzzy, gcc-internal-format @@ -19622,37 +19550,37 @@ msgstr "é—´æŽ¥å‡½æ•°è°ƒç”¨ç›®æ ‡æœªå®šä¹‰" #: trans-mem.c:792 trans-mem.c:4765 #, fuzzy, gcc-internal-format msgid "asm not allowed in atomic transaction" -msgstr "ä¸å…许在 using 声明ä¸ä½¿ç”¨å‘½å空间%qD" +msgstr "函数定义ä¸ä¸å…许出现 asm 指定" #: trans-mem.c:795 #, fuzzy, gcc-internal-format msgid "asm not allowed in %<transaction_safe%> function" -msgstr "函数定义ä¸ä¸å…许有属性" +msgstr "函数定义ä¸ä¸å…许出现 asm 指定" #: trans-mem.c:807 #, fuzzy, gcc-internal-format msgid "relaxed transaction in atomic transaction" -msgstr "å°†æ¯ä¸ªå‡½æ•°åˆ†åˆ«æ”¾åœ¨å®ƒä»¬å„自的节ä¸" +msgstr "æ— æ•ˆçš„å¼‚åŠ¨ä½œä¸šç»„ä»¶å·ç 。\n" #: trans-mem.c:810 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "relaxed transaction in %<transaction_safe%> function" -msgstr "" +msgstr "relaxed å¼‚åŠ¨ä½œä¸šåœ¨ä¸ %<transaction_safe%> 函数" #: trans-mem.c:817 #, fuzzy, gcc-internal-format msgid "outer transaction in transaction" -msgstr "函数指针ä¸èƒ½ç›¸å‡" +msgstr "对 rpmtxn æ•°æ®åº“异动作业进行除错" #: trans-mem.c:820 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "outer transaction in %<transaction_may_cancel_outer%> function" -msgstr "" +msgstr "å¤–å¼‚åŠ¨ä½œä¸šåœ¨ä¸ %<transaction_may_cancel_outer%> 函数" #: trans-mem.c:824 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "outer transaction in %<transaction_safe%> function" -msgstr "" +msgstr "å¤–å¼‚åŠ¨ä½œä¸šåœ¨ä¸ %<transaction_safe%> 函数" #: trans-mem.c:4391 #, fuzzy, gcc-internal-format @@ -19660,9 +19588,9 @@ msgid "%Kasm not allowed in %<transaction_safe%> function" msgstr "函数定义ä¸ä¸å…许有属性" #: tree-cfg.c:373 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "ignoring loop annotation" -msgstr "" +msgstr "循环å˜é‡" #: tree-cfg.c:2755 #, gcc-internal-format @@ -19692,12 +19620,12 @@ msgstr "间接 gimple 调用ä¸æœ‰é™æ€è°ƒç”¨é“¾" #: tree-cfg.c:2814 #, fuzzy, gcc-internal-format msgid "invalid first operand of MEM_REF" -msgstr "%%R çš„æ“ä½œæ•°æ— æ•ˆ" +msgstr "BIT_FIELD_REF ä½ç½®æˆ–大å°æ“ä½œæ•°æ— æ•ˆ" #: tree-cfg.c:2820 #, fuzzy, gcc-internal-format msgid "invalid offset operand of MEM_REF" -msgstr "%%R çš„æ“ä½œæ•°æ— æ•ˆ" +msgstr "BIT_FIELD_REF ä½ç½®æˆ–大å°æ“ä½œæ•°æ— æ•ˆ" #: tree-cfg.c:2833 #, gcc-internal-format @@ -19775,9 +19703,9 @@ msgid "invalid operand to pointer plus, second operand is not an integer type of msgstr "指数增的æ“ä½œæ•°æ— æ•ˆï¼Œç¬¬äºŒä¸ªæ“作数ä¸æ˜¯ä¸€ä¸ªå…·æœ‰ sizetype 类型的整数" #: tree-cfg.c:3063 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "invalid CASE_CHAIN" -msgstr "" +msgstr "gimple 调用ä¸é™æ€é“¾æ— 效" #: tree-cfg.c:3091 #, gcc-internal-format @@ -19827,12 +19755,12 @@ msgstr "将一个指针转æ¢ä¸ºå¤§å°ä¸åŒçš„æ•´æ•°" #: tree-cfg.c:3211 #, fuzzy, gcc-internal-format msgid "invalid address operand in MEM_REF" -msgstr "%%R çš„æ“ä½œæ•°æ— æ•ˆ" +msgstr "BIT_FIELD_REF ä½ç½®æˆ–大å°æ“ä½œæ•°æ— æ•ˆ" #: tree-cfg.c:3218 #, fuzzy, gcc-internal-format msgid "invalid offset operand in MEM_REF" -msgstr "æ— æ•ˆçš„ç§»ä½æ“作数" +msgstr "BIT_FIELD_REF ä½ç½®æˆ–大å°æ“ä½œæ•°æ— æ•ˆ" #: tree-cfg.c:3228 #, fuzzy, gcc-internal-format @@ -19845,14 +19773,14 @@ msgid "invalid offset operand in TARGET_MEM_REF" msgstr "BIT_FIELD_REF ä½ç½®æˆ–大å°æ“ä½œæ•°æ— æ•ˆ" #: tree-cfg.c:3289 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "gimple call has two targets" -msgstr "" +msgstr "gimple è°ƒç”¨æœ‰ä¸¤ç›®æ ‡" #: tree-cfg.c:3298 #, gcc-internal-format msgid "gimple call has no target" -msgstr "" +msgstr "gimple è°ƒç”¨æ— ç›®æ ‡" #: tree-cfg.c:3305 #, gcc-internal-format @@ -19907,7 +19835,7 @@ msgstr "gimple 比较ä¸æ“ä½œæ•°æ— æ•ˆ" #: tree-cfg.c:3432 #, fuzzy, gcc-internal-format msgid "mismatching comparison operand types" -msgstr "比较表达å¼ç±»åž‹ä¸åŒ¹é…" +msgstr "在类型%qTå’Œ%qT间比较" #: tree-cfg.c:3446 #, fuzzy, gcc-internal-format @@ -19917,12 +19845,12 @@ msgstr "函数返回了一个函数" #: tree-cfg.c:3460 #, fuzzy, gcc-internal-format msgid "non-vector operands in vector comparison" -msgstr "gimple 比较ä¸æ“ä½œæ•°æ— æ•ˆ" +msgstr "å‘é‡å€¼çš„åŠ æ³•ä¸æœ‰æ— 效的éžå‘é‡æ“作数" #: tree-cfg.c:3473 #, fuzzy, gcc-internal-format msgid "invalid vector comparison resulting type" -msgstr "æ— æ•ˆçš„å‘é‡ç½®æ¢å¸¸é‡" +msgstr "æ— æ•ˆç±»åž‹%qT被用作类型为%qTçš„å‘é‡çš„åˆå§‹å€¼è®¾å®š" #: tree-cfg.c:3480 #, fuzzy, gcc-internal-format @@ -19997,7 +19925,7 @@ msgstr "移ä½è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…" #: tree-cfg.c:3734 tree-cfg.c:3755 #, fuzzy, gcc-internal-format msgid "type mismatch in widening vector shift expression" -msgstr "å‘é‡ç§»ä½è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…" +msgstr "移ä½è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…" #: tree-cfg.c:3776 #, gcc-internal-format @@ -20047,7 +19975,7 @@ msgstr "æ¡ä»¶è¡¨è¾¾å¼ä¸ç±»åž‹ä¸åŒ¹é…" #: tree-cfg.c:3974 #, fuzzy, gcc-internal-format msgid "type mismatch in vector permute expression" -msgstr "å‘é‡ç§»ä½è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…" +msgstr "移ä½è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…" #: tree-cfg.c:3986 #, fuzzy, gcc-internal-format @@ -20055,9 +19983,9 @@ msgid "vector types expected in vector permute expression" msgstr "需è¦æ•´æ•°è¡¨è¾¾å¼" #: tree-cfg.c:4000 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "vectors with different element number found in vector permute expression" -msgstr "" +msgstr "矢é‡ä¸Žä¸åŒçš„组件å·ç 找到在ä¸çŸ¢é‡ permute è¿ç®—å¼" #: tree-cfg.c:4013 #, fuzzy, gcc-internal-format @@ -20066,9 +19994,8 @@ msgstr "æ— æ•ˆçš„è‡ªå¢žè¯å¥" #: tree-cfg.c:4031 #, fuzzy, gcc-internal-format -#| msgid "type mismatch in address expression" msgid "type mismatch in sad expression" -msgstr "地å€è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…" +msgstr "移ä½è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…" #: tree-cfg.c:4043 #, fuzzy, gcc-internal-format @@ -20117,14 +20044,13 @@ msgstr "" #: tree-cfg.c:4253 #, fuzzy, gcc-internal-format -#| msgid "PHI argument is not a GIMPLE value" msgid "vector CONSTRUCTOR element is not a GIMPLE value" msgstr "PHI å‚æ•°ä¸æ˜¯ GIMPLE å˜é‡" #: tree-cfg.c:4261 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "non-vector CONSTRUCTOR with elements" -msgstr "" +msgstr "å‘é‡åˆå§‹å€¼è®¾å®šé¡¹ä¸æœ‰å¤šä½™å…ƒç´ " #: tree-cfg.c:4320 #, gcc-internal-format @@ -20149,12 +20075,12 @@ msgstr "开关è¯å¥æ“ä½œæ•°æ— æ•ˆ" #: tree-cfg.c:4386 #, fuzzy, gcc-internal-format msgid "non-integral type switch statement" -msgstr "开关è¯å¥æ“ä½œæ•°æ— æ•ˆ" +msgstr "ä½æ®µ%qDéžæ•´åž‹" #: tree-cfg.c:4394 #, fuzzy, gcc-internal-format msgid "invalid default case label in switch statement" -msgstr "%<default%>æ ‡å·æœªå‡ºçŽ°åœ¨ switch è¯å¥å†…" +msgstr "case æ ‡å·å‡ºçŽ°åœ¨å¼€å…³è¯å¥å¤–" #: tree-cfg.c:4406 #, fuzzy, gcc-internal-format @@ -20164,7 +20090,7 @@ msgstr "case æ ‡å·å‡ºçŽ°åœ¨å¼€å…³è¯å¥å¤–" #: tree-cfg.c:4413 #, fuzzy, gcc-internal-format msgid "invalid case range in switch statement" -msgstr "开关è¯å¥æ“ä½œæ•°æ— æ•ˆ" +msgstr "case æ ‡å·å‡ºçŽ°åœ¨å¼€å…³è¯å¥å¤–" #: tree-cfg.c:4423 #, fuzzy, gcc-internal-format @@ -20179,12 +20105,12 @@ msgstr "case æ ‡å·å‡ºçŽ°åœ¨å¼€å…³è¯å¥å¤–" #: tree-cfg.c:4442 #, fuzzy, gcc-internal-format msgid "case labels not sorted in switch statement" -msgstr "case æ ‡å·å‡ºçŽ°åœ¨å¼€å…³è¯å¥å¤–" +msgstr "case æ ‡å·æœªæŽ’åºï¼š " #: tree-cfg.c:4485 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "label's context is not the current function decl" -msgstr "" +msgstr "make_local_variable: 当å‰ä½œç”¨åŸŸä¸æ²¡æœ‰å‡½æ•°ä¸Šä¸‹æ–‡" #: tree-cfg.c:4494 #, gcc-internal-format @@ -20249,7 +20175,7 @@ msgstr "gimple_bb (phi) 设置为一个错误的基本å—" #: tree-cfg.c:4947 #, fuzzy, gcc-internal-format msgid "PHI node with location" -msgstr "从这个地方" +msgstr " (ä½ç½®åˆ—表)" #: tree-cfg.c:4958 tree-cfg.c:5007 #, gcc-internal-format @@ -20257,9 +20183,9 @@ msgid "incorrect sharing of tree nodes" msgstr "å¯¹æ ‘ç»“èŠ‚çš„å…±äº«ä¸æ£ç¡®" #: tree-cfg.c:4966 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "virtual PHI with argument locations" -msgstr "" +msgstr "PHI å‚æ•°ä¸æ˜¯ SSA_NAME 或ä¸å˜é‡" #: tree-cfg.c:4995 #, gcc-internal-format @@ -20429,12 +20355,12 @@ msgstr "" #: tree-diagnostic.c:213 #, fuzzy, gcc-internal-format msgid "in definition of macro %qs" -msgstr "%q+Dé‡å®šä¹‰" +msgstr "%qsåŽç¼ºå°‘å®å" #: tree-diagnostic.c:230 #, fuzzy, gcc-internal-format msgid "in expansion of macro %qs" -msgstr "%s:%d:在%qs的广义常表达å¼æ‰©å±•ä¸" +msgstr "å°å‡º EXPR çš„å®å±•å¼€" #: tree-eh.c:4682 #, gcc-internal-format, gfc-internal-format @@ -20557,9 +20483,9 @@ msgid "statement uses released SSA name:" msgstr "" #: tree-into-ssa.c:3245 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "cannot update SSA form" -msgstr "" +msgstr "yp_updateï¼šæ— æ³•èŽ·å–æœåŠ¡å™¨åœ°å€\n" #: tree-into-ssa.c:3332 tree-outof-ssa.c:891 tree-outof-ssa.c:948 #: tree-ssa-coalesce.c:927 tree-ssa-live.c:1417 @@ -20578,14 +20504,14 @@ msgid "iteration %E invokes undefined behavior" msgstr "%qE上的è¿ç®—结果å¯èƒ½æ˜¯æœªå®šä¹‰çš„" #: tree-ssa-loop-niter.c:2668 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "containing loop" -msgstr "" +msgstr "循环å˜é‡" #: tree-ssa-operands.c:1002 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "virtual definition of statement not up-to-date" -msgstr "" +msgstr "虚拟定义的å™è¿°æ— 法 up-to-date" #: tree-ssa-operands.c:1009 #, fuzzy, gcc-internal-format @@ -20593,29 +20519,29 @@ msgid "virtual def operand missing for stmt" msgstr "返回è¯å¥æ“ä½œæ•°æ— æ•ˆ" #: tree-ssa-operands.c:1019 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "virtual use of statement not up-to-date" -msgstr "" +msgstr "虚拟使用的å™è¿°æ— 法 up-to-date" #: tree-ssa-operands.c:1026 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "virtual use operand missing for stmt" -msgstr "" +msgstr "虚拟使用算符缺少的用于 stmt" #: tree-ssa-operands.c:1042 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "excess use operand for stmt" -msgstr "" +msgstr "输出æ“作数 %d 必须使用%<&%>约æŸ" #: tree-ssa-operands.c:1050 #, fuzzy, gcc-internal-format msgid "use operand missing for stmt" -msgstr "%% å—æ¯åŽç¼ºå°‘æ“作数å·" +msgstr "调用è¯å¥ç¼ºå°‘ callgraph 边:" #: tree-ssa-operands.c:1057 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "stmt volatile flag not up-to-date" -msgstr "" +msgstr "stmt 易å˜çš„æ——æ ‡æ— æ³• up-to-date" #: tree-ssa-uninit.c:195 varasm.c:350 #, gcc-internal-format @@ -20678,9 +20604,9 @@ msgid "found a default name with a non-empty defining statement" msgstr "找到一个有éžç©ºå®šä¹‰è¯å¥çš„默认åå—" #: tree-ssa.c:713 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "RESULT_DECL should be read only when DECL_BY_REFERENCE is set" -msgstr "" +msgstr "RESULT_DECL 应该是åªè¯»æ—¶ DECL_BY_REFERENCE 是设置" #: tree-ssa.c:719 #, gcc-internal-format, gfc-internal-format @@ -20758,9 +20684,9 @@ msgid "verify_ssa failed" msgstr "verify_ssa 失败" #: tree-streamer-in.c:359 tree-streamer-in.c:1154 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "machine independent builtin code out of range" -msgstr "" +msgstr "机器独立内置编ç 超出范围" #: tree-streamer-in.c:365 tree-streamer-in.c:1170 #, gcc-internal-format @@ -20773,29 +20699,29 @@ msgid "tree bytecode streams do not support machine specific builtin functions o msgstr "GIMPLE å—节ç æµåœ¨æ¤ç›®æ ‡æœºä¸Šä¸æ”¯æŒæœºå™¨ç›¸å…³çš„内建函数" #: tree-vect-generic.c:282 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "vector operation will be expanded piecewise" -msgstr "" +msgstr "矢é‡ä½œä¸šå°†è¢«å±•å¼€ piecewise" #: tree-vect-generic.c:285 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "vector operation will be expanded in parallel" -msgstr "" +msgstr "矢é‡ä½œä¸šå°†è¢«å±•å¼€åœ¨ä¸å¹³è¡Œ" #: tree-vect-generic.c:336 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "vector operation will be expanded with a single scalar operation" -msgstr "" +msgstr "矢é‡ä½œä¸šå°†è¢«å±•å¼€ä¸Žå•ä¸€çº¯é‡ä½œä¸š" #: tree-vect-generic.c:902 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "vector condition will be expanded piecewise" -msgstr "" +msgstr "矢é‡ä½œä¸šå°†è¢«å±•å¼€ piecewise" #: tree-vect-generic.c:1295 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "vector shuffling operation will be expanded piecewise" -msgstr "" +msgstr "矢é‡éšæœºæ’放作业将被展开 piecewise" #: tree-vect-loop.c:3072 #, gcc-internal-format @@ -20961,7 +20887,6 @@ msgstr "æ ‘æ£€æŸ¥ï¼šéœ€è¦åŒ…å«%qsç»“æž„çš„æ ‘ï¼Œå¾—åˆ°%qs在 %s,于 %s:%d" #: tree.c:9481 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d" msgid "tree check: accessed elt %d of tree_int_cst with %d elts in %s, at %s:%d" msgstr "æ ‘æ£€æŸ¥ï¼šè®¿é—®äº† %3$s ä¸æœ‰ %2$d 个 elt çš„ tree_vec çš„ elt %1$d,于 %4$s:%5$d" @@ -20982,35 +20907,33 @@ msgstr "æ ‘æ£€æŸ¥ï¼šåœ¨ %4$s ä¸è®¿é—®æœ‰ %3$d 个æ“作数的 omp_clause %2$s ç #: tree.c:12131 #, fuzzy, gcc-internal-format -#| msgid "%qE is deprecated: %s" msgid "%qD is deprecated: %s" -msgstr "ä¸å»ºè®®ä½¿ç”¨%qE:%s" +msgstr "已弃用%qE:%s" #: tree.c:12134 #, fuzzy, gcc-internal-format -#| msgid "%qE is deprecated" msgid "%qD is deprecated" -msgstr "ä¸å»ºè®®ä½¿ç”¨%qE" +msgstr "已弃用%qE" #: tree.c:12158 tree.c:12180 #, gcc-internal-format msgid "%qE is deprecated: %s" -msgstr "ä¸å»ºè®®ä½¿ç”¨%qE:%s" +msgstr "已弃用%qE:%s" #: tree.c:12161 tree.c:12183 #, gcc-internal-format msgid "%qE is deprecated" -msgstr "ä¸å»ºè®®ä½¿ç”¨%qE" +msgstr "已弃用%qE" #: tree.c:12167 tree.c:12188 #, gcc-internal-format, gfc-internal-format msgid "type is deprecated: %s" -msgstr "ä¸å»ºè®®ä½¿ç”¨ç±»åž‹ï¼š%s" +msgstr "已弃用类型:%s" #: tree.c:12170 tree.c:12191 #, gcc-internal-format msgid "type is deprecated" -msgstr "ä¸å»ºè®®ä½¿ç”¨æ¤ç±»åž‹" +msgstr "已弃用æ¤ç±»åž‹" #: value-prof.c:575 #, gcc-internal-format @@ -21050,7 +20973,7 @@ msgstr "%+D 导致一个节类型冲çª" #: varasm.c:348 #, fuzzy, gcc-internal-format msgid "section type conflict with %D" -msgstr " 与%q+D冲çª" +msgstr "%+D 导致一个节类型冲çª" #: varasm.c:353 #, gcc-internal-format @@ -21144,7 +21067,6 @@ msgstr "æˆå‘˜%qEçš„åˆå§‹å€¼æ— 效" #: varasm.c:5327 c-family/c-common.c:7871 #, fuzzy, gcc-internal-format -#| msgid "%q+D declared as a friend" msgid "%+D declared weak after being used" msgstr "%q+D声明为å‹å…ƒ" @@ -21171,7 +21093,7 @@ msgstr "弱引用在æ¤é…置下ä¸å—支æŒ" #: varasm.c:5666 #, fuzzy, gcc-internal-format msgid "ifunc is not supported on this target" -msgstr "嵌套函数在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" +msgstr "å †æ ˆé™åˆ¶åœ¨æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" #: varasm.c:5724 #, gcc-internal-format @@ -21228,7 +21150,7 @@ msgstr "移ä½è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…" #: c/c-array-notation.c:744 cp/cp-array-notation.c:625 #, fuzzy, gcc-internal-format msgid "rank mismatch between %qE and %qE" -msgstr "在%qTå’Œ%qT间比较" +msgstr "%qE属性的å‚数应当在 0 å’Œ 255 之间" #. Here the original expression is printed as a "heads-up" #. to the programmer. This is because since there is no @@ -21239,7 +21161,7 @@ msgstr "在%qTå’Œ%qT间比较" #: c-family/array-notation-common.c:303 #, fuzzy, gcc-internal-format msgid "rank mismatch in expression %qE" -msgstr "移ä½è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…" +msgstr "å¤æ•°è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…" #: c-family/array-notation-common.c:677 #, gcc-internal-format @@ -21249,7 +21171,7 @@ msgstr "" #: c-family/c-cilkplus.c:49 #, fuzzy, gcc-internal-format msgid "iteration variable cannot be volatile" -msgstr "è¿ä»£å˜é‡%qE应当是ç§æœ‰çš„" +msgstr "è¿ä»£å˜é‡%qEç±»åž‹æ— æ•ˆ" #: c-family/c-cilkplus.c:92 #, fuzzy, gcc-internal-format @@ -21259,7 +21181,7 @@ msgstr "%qE在数æ®åå¥ä¸å¤šæ¬¡å‡ºçŽ°" #: c-family/c-cilkplus.c:94 #, fuzzy, gcc-internal-format msgid "other clause defined here" -msgstr "结构在æ¤å®šä¹‰" +msgstr "%B:è¦å‘Šï¼šåœ¨æ¤å®šä¹‰\n" #: c-family/c-common.c:1005 #, gcc-internal-format @@ -21449,7 +21371,7 @@ msgstr "" #: c-family/c-common.c:2291 c-family/c-common.c:2298 #, fuzzy, gcc-internal-format msgid "%<_Atomic%>-qualified parameter type %qT of %q+D" -msgstr "ISO C ä¸å…许使用 const 或 volatile é™å®šå‡½æ•°ç±»åž‹" +msgstr "ä¸èƒ½å°†å½¢å‚%q+D声明为具有抽象类型%qT" #: c-family/c-common.c:2308 #, gcc-internal-format @@ -21473,9 +21395,8 @@ msgstr "%q+Dåªå¸¦é›¶æˆ–两个å‚æ•°" #: c-family/c-common.c:2341 #, fuzzy, gcc-internal-format -#| msgid "field %qE declared as a function" msgid "%q+D declared as variadic function" -msgstr "å—段%qE声明为一个函数" +msgstr "嵌套函数%q+D声明过但从未定义" #: c-family/c-common.c:2409 #, gcc-internal-format @@ -21490,7 +21411,7 @@ msgstr "最åŽä¸€ä¸ªå®žå‚必须是一个 8 ä½ç«‹å³æ•°" #: c-family/c-common.c:2459 #, fuzzy, gcc-internal-format msgid "__builtin_shuffle arguments must be vectors" -msgstr "%<__builtin_longjmp%>的第二个实å‚必须是 1" +msgstr "%<__builtin___clear_cache%>的两个å‚数必须都是指针" #: c-family/c-common.c:2466 #, fuzzy, gcc-internal-format @@ -21498,14 +21419,14 @@ msgid "__builtin_shuffle argument vectors must be of the same type" msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实å‚类型必须相åŒ" #: c-family/c-common.c:2477 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "__builtin_shuffle number of elements of the argument vector(s) and the mask vector should be the same" -msgstr "" +msgstr "__builtin_shuffle 组件å·ç çš„çš„å‚数矢é‡å’Œé®ç½©çŸ¢é‡åº”该相åŒ" #: c-family/c-common.c:2487 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "__builtin_shuffle argument vector(s) inner type must have the same size as inner type of the mask" -msgstr "" +msgstr "__builtin_shuffle å‚数矢é‡å†…类型必须有相åŒå¤§å°ä½œä¸ºå†…类型的é®ç½©" #: c-family/c-common.c:2684 #, gcc-internal-format @@ -21655,7 +21576,7 @@ msgstr "%qsä¸èƒ½ç”¨äºŽ void 类型" #: c-family/c-common.c:5125 #, fuzzy, gcc-internal-format msgid "invalid application of %qs to incomplete type %qT" -msgstr "%qsä¸èƒ½ç”¨äºŽä¸å®Œå…¨çš„类型%qT" +msgstr "%qsä¸èƒ½ç”¨äºŽ void 类型" #: c-family/c-common.c:5133 #, fuzzy, gcc-internal-format @@ -21749,13 +21670,11 @@ msgstr "%qE属性为类型为%qTçš„å—段所忽略" #: c-family/c-common.c:6709 c-family/c-common.c:6737 c-family/c-common.c:6833 #, fuzzy, gcc-internal-format -#| msgid "%qE attribute conflicts with attribute %s" msgid "%qE attribute ignored due to conflict with attribute %qs" msgstr "%qE属性与 %s 属性冲çª" #: c-family/c-common.c:6897 #, fuzzy, gcc-internal-format -#| msgid "%qE attribute conflicts with attribute %s" msgid "%qE attribute ignored due to conflict with %qs attribute" msgstr "%qE属性与 %s 属性冲çª" @@ -21771,7 +21690,6 @@ msgstr "%qE属性åªèƒ½åº”用到公共对象上" #: c-family/c-common.c:7136 #, fuzzy, gcc-internal-format -#| msgid "%qE attribute only applies to variables" msgid "%qE attribute only affects top level objects" msgstr "属性%qEåªèƒ½ç”¨äºŽå˜é‡" @@ -21813,7 +21731,7 @@ msgstr "未知的机器模å¼%qE" #: c-family/c-common.c:7472 #, gcc-internal-format msgid "specifying vector types with __attribute__ ((mode)) is deprecated" -msgstr "ä¸å»ºè®®åœ¨æŒ‡å®šå‘é‡ç±»åž‹æ—¶ä½¿ç”¨ __attribute__ ((mode))" +msgstr "已弃用在指定å‘é‡ç±»åž‹æ—¶ä½¿ç”¨ __attribute__ ((mode))" #: c-family/c-common.c:7475 #, gcc-internal-format @@ -21879,7 +21797,7 @@ msgstr "æ¤ç›®æ ‡æœºä¸æ”¯æŒèŠ‚属性" #: c-family/c-common.c:7648 #, fuzzy, gcc-internal-format msgid "requested alignment is not an integer constant" -msgstr "è¦æ±‚的对é½è¾¹ç•Œä¸æ˜¯å¸¸é‡" +msgstr "è¦æ±‚çš„ä½ç½®ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡" #: c-family/c-common.c:7656 #, fuzzy, gcc-internal-format @@ -21894,7 +21812,7 @@ msgstr "è¦æ±‚的对é½è¾¹ç•Œå¤ªå¤§" #: c-family/c-common.c:7744 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "requested alignment %d is larger than %d" -msgstr "è¦æ±‚的对é½è¾¹ç•Œå¤ªå¤§" +msgstr "%q+D的大å°è¶…过 %wd å—节" #: c-family/c-common.c:7810 #, gcc-internal-format @@ -21914,7 +21832,7 @@ msgstr "%q+D的对é½è¾¹ç•Œå¿…须至少为 %d" #: c-family/c-common.c:7857 #, fuzzy, gcc-internal-format msgid "inline function %q+D declared weak" -msgstr "内è”函数%q+Dä¸èƒ½å£°æ˜Žä¸ºæœ‰å¼±é“¾æŽ¥" +msgstr "内è”函数%q+D声明过但从未定义" #: c-family/c-common.c:7862 #, fuzzy, gcc-internal-format @@ -21929,7 +21847,7 @@ msgstr "%q+D既有æ£å¸¸å®šä¹‰åˆæœ‰åˆ«å定义" #: c-family/c-common.c:7912 #, fuzzy, gcc-internal-format msgid "weak %q+D cannot be defined %qE" -msgstr "自动å˜é‡%qEä¸èƒ½æ˜¯%<threadprivate%>" +msgstr "èšåˆ%q#D类型ä¸å®Œå…¨ï¼Œæ— 法被定义" #: c-family/c-common.c:7929 #, fuzzy, gcc-internal-format @@ -21938,13 +21856,11 @@ msgstr "%qE属性需è¦ä¸€ä¸ªå—符串常é‡ä½œä¸ºå®žå‚" #: c-family/c-common.c:7959 #, fuzzy, gcc-internal-format -#| msgid "%q+D declared as a friend" msgid "%+D declared alias after being used" msgstr "%q+D声明为å‹å…ƒ" #: c-family/c-common.c:7961 #, fuzzy, gcc-internal-format -#| msgid "%q+D declared as a friend" msgid "%+D declared ifunc after being used" msgstr "%q+D声明为å‹å…ƒ" @@ -21960,7 +21876,6 @@ msgstr "weakref 属性必须出现在 alias 属性å‰" #: c-family/c-common.c:8046 #, fuzzy, gcc-internal-format -#| msgid "%q+D declared as a friend" msgid "%+D declared weakref after being used" msgstr "%q+D声明为å‹å…ƒ" @@ -22022,7 +21937,6 @@ msgstr "alloc_size å‚数越界" #: c-family/c-common.c:8325 #, fuzzy, gcc-internal-format -#| msgid "alloc_size parameter outside range" msgid "alloc_align parameter outside range" msgstr "alloc_size å‚数越界" @@ -22039,7 +21953,7 @@ msgstr "定义之åŽä¸èƒ½è®¾å®š%qE属性" #: c-family/c-common.c:8554 #, fuzzy, gcc-internal-format msgid "%qE attribute duplicated" -msgstr "%qE属性被忽略" +msgstr "%qE属性为%qE所忽略" #: c-family/c-common.c:8556 #, fuzzy, gcc-internal-format @@ -22059,13 +21973,12 @@ msgstr "cleanup 实å‚ä¸æ˜¯ä¸€ä¸ªæ ‡è¯†ç¬¦" #: c-family/c-common.c:8721 #, fuzzy, gcc-internal-format msgid "%qD is not compatible with %qD" -msgstr "%qD未在%qDä¸å£°æ˜Ž" +msgstr "选择%qD而ä¸æ˜¯%qD" #: c-family/c-common.c:8724 #, fuzzy, gcc-internal-format -#| msgid "cleanup argument not a function" msgid "%qE argument is not a function" -msgstr "cleanup 实å‚ä¸æ˜¯ä¸€ä¸ªå‡½æ•°" +msgstr "属性%qEçš„å‚æ•°æ— æ•ˆ" #: c-family/c-common.c:8772 #, gcc-internal-format @@ -22179,7 +22092,6 @@ msgstr "在有返回值的的函数ä¸ï¼Œ%<return%>ä¸å¸¦è¿”回值" #: c-family/c-common.c:9526 #, fuzzy, gcc-internal-format -#| msgid "%qE attribute only applies to function types" msgid "%qE attribute is only valid on %<struct%> type" msgstr "%qE属性åªèƒ½ç”¨äºŽå‡½æ•°ç±»åž‹" @@ -22249,29 +22161,29 @@ msgid "index %E denotes an offset greater than size of %qT" msgstr "索引 %E 指定了一个大于%qT大å°çš„å移é‡" #: c-family/c-common.c:10187 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "the omitted middle operand in ?: will always be %<true%>, suggest explicit middle operand" -msgstr "" +msgstr "çœç•¥çš„ä¸é—´ç®—ç¬¦åœ¨ä¸ ?:将一律是 %<true%>,建议明确的ä¸é—´ç®—符" #: c-family/c-common.c:10208 #, fuzzy, gcc-internal-format msgid "assignment of member %qD in read-only object" -msgstr "å‘åªè¯»ç»“æž„çš„æ•°æ®æˆå‘˜%qD赋值" +msgstr "å‘åªè¯»æˆå‘˜%qD赋值" #: c-family/c-common.c:10210 #, fuzzy, gcc-internal-format msgid "increment of member %qD in read-only object" -msgstr "令åªè¯»ç»“æž„çš„æ•°æ®æˆå‘˜%qD自增" +msgstr "令åªè¯»æˆå‘˜%qD自增" #: c-family/c-common.c:10212 #, fuzzy, gcc-internal-format msgid "decrement of member %qD in read-only object" -msgstr "令åªè¯»ç»“æž„çš„æ•°æ®æˆå‘˜%qD自å‡" +msgstr "令åªè¯»æˆå‘˜%qD自å‡" #: c-family/c-common.c:10214 #, fuzzy, gcc-internal-format msgid "member %qD in read-only object used as %<asm%> output" -msgstr "åªè¯»ä½ç½®%qE用作%<asm%>的输出" +msgstr "åªè¯»æˆå‘˜%qD用作%<asm%>的输出" #: c-family/c-common.c:10218 #, gcc-internal-format @@ -22331,7 +22243,7 @@ msgstr "令åªè¯»å½¢å‚%qD自å‡" #: c-family/c-common.c:10234 #, fuzzy, gcc-internal-format msgid "read-only parameter %qD use as %<asm%> output" -msgstr "åªè¯»æˆå‘˜%qD用作%<asm%>的输出" +msgstr "åªè¯»å˜é‡%qD被用作%<asm%>的输出" #: c-family/c-common.c:10239 #, gcc-internal-format @@ -22421,7 +22333,7 @@ msgstr "asm è¯å¥ä¸éœ€è¦å·¦å€¼" #: c-family/c-common.c:10302 #, fuzzy, gcc-internal-format msgid "invalid type argument (have %qT)" -msgstr "%<->%>(有 %qT) çš„éžæ³•ç±»åž‹å‚æ•°" +msgstr "%<->%>å‚æ•°ç±»åž‹æ— æ•ˆ(有%qT)" #: c-family/c-common.c:10306 #, gcc-internal-format @@ -22446,7 +22358,7 @@ msgstr "%<->%>å‚æ•°ç±»åž‹æ— æ•ˆ(有%qT)" #: c-family/c-common.c:10326 #, fuzzy, gcc-internal-format msgid "invalid type argument of implicit conversion (have %qT)" -msgstr "到类型%qT的转æ¢æ— 效,从类型%qT" +msgstr "数组索引å‚æ•°ç±»åž‹æ— æ•ˆ(有%qT)" #: c-family/c-common.c:10468 cp/init.c:2472 #, gcc-internal-format @@ -22466,7 +22378,7 @@ msgstr "%2$qE的第 %1$d 个实å‚类型ä¸å…¼å®¹" #: c-family/c-common.c:10673 #, fuzzy, gcc-internal-format msgid "incorrect number of arguments to function %qE" -msgstr "æ供给函数%qE的实å‚太少" +msgstr "æ供给函数%qE的实å‚太多" #: c-family/c-common.c:10688 #, fuzzy, gcc-internal-format @@ -22491,7 +22403,7 @@ msgstr "%2$qEçš„å®žå‚ %1$d 必须是地å€" #: c-family/c-common.c:10731 #, fuzzy, gcc-internal-format msgid "size mismatch in argument %d of %qE" -msgstr "%2$L处实å‚‘%1$s’类型/秩ä¸åŒ¹é…" +msgstr "%2$qE的第 %1$d 个å‚数必须是在 %3$d å’Œ %4$d 之间" #: c-family/c-common.c:10747 #, fuzzy, gcc-internal-format @@ -22636,17 +22548,15 @@ msgstr "æ¯”è¾ƒæ— ç¬¦å·æ•°å’Œå–ååŽåˆç»æå‡çš„æ— ç¬¦å·æ•°" #: c-family/c-common.c:11860 #, fuzzy, gcc-internal-format msgid "typedef %qD locally defined but not used" -msgstr "%q+D定义åŽæœªä½¿ç”¨" +msgstr "typedef å%qD用于æžæž„函数声明" #: c-family/c-common.c:11892 #, fuzzy, gcc-internal-format -#| msgid "comparison of unsigned expression < 0 is always false" msgid "comparison of constant %qE with boolean expression is always false" msgstr "æ— ç¬¦å·è¡¨è¾¾å¼æ°¸è¿œä¸å°äºŽ 0" #: c-family/c-common.c:11895 #, fuzzy, gcc-internal-format -#| msgid "comparison of unsigned expression >= 0 is always true" msgid "comparison of constant %qE with boolean expression is always true" msgstr "æ— ç¬¦å·è¡¨è¾¾å¼æ°¸è¿œå¤§äºŽæˆ–ç‰äºŽ 0" @@ -22674,27 +22584,27 @@ msgstr "函数ä¸è¿”回å—符串类型" #: c-family/c-format.c:164 #, fuzzy, gcc-internal-format msgid "format string argument is not a string type" -msgstr "%s 的实å‚在%Lå¤„ç±»åž‹æ— æ•ˆ" +msgstr "æ ¼å¼å—ç¬¦ä¸²å‡ºçŽ°åœ¨å¾…æ ¼å¼åŒ–的实å‚之åŽ" #: c-family/c-format.c:190 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "found a %<%s%> reference but the format argument should be a string" -msgstr "" +msgstr "找到 %<%s%>å‚è€ƒä½†æ˜¯æ ¼å¼å‚数应该是å—串" #: c-family/c-format.c:193 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "found a %qT but the format argument should be a string" -msgstr "" +msgstr "找到 %qT ä½†æ˜¯æ ¼å¼å‚数应该是å—串" #: c-family/c-format.c:203 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "format argument should be a %<%s%> reference but a string was found" -msgstr "" +msgstr "æ ¼å¼å‚数应该是 %<%s%>å‚考但是å—串是找到" #: c-family/c-format.c:225 #, fuzzy, gcc-internal-format msgid "format argument should be a %<%s%> reference" -msgstr "%q+D的第一个å‚数的类型应该是%<int%>" +msgstr "æ ¼å¼å‚数应为 %<%s%> 引用" #: c-family/c-format.c:269 #, gcc-internal-format @@ -22954,7 +22864,7 @@ msgstr "æ ¼å¼%q.*s需è¦ç±»åž‹%<%s%s%>ï¼Œä½†å®žå‚ %d 的类型为%qT" #: c-family/c-format.c:2583 #, fuzzy, gcc-internal-format msgid "%s %<%s%.*s%> expects a matching %<%s%s%> argument" -msgstr "%qs需è¦ä¸€ä¸ªå¸¸é‡å®žå‚" +msgstr "%s: “%s†而ä¸éœ€å»åˆä¸ “ifdef†或 “ifndef†" #: c-family/c-format.c:2592 #, fuzzy, gcc-internal-format @@ -22964,7 +22874,7 @@ msgstr "æ ¼å¼%q.*s需è¦ç±»åž‹%<%s%s%>ï¼Œä½†å®žå‚ %d 的类型为%qT" #: c-family/c-format.c:2600 #, fuzzy, gcc-internal-format msgid "%s %<%s%.*s%> expects a matching %<%T%s%> argument" -msgstr "%qs需è¦ä¸€ä¸ªå¸¸é‡å®žå‚" +msgstr "对%<%T::%s(%A)%#V%>的调用没有匹é…的函数" #: c-family/c-format.c:2660 c-family/c-format.c:2666 c-family/c-format.c:2817 #, gcc-internal-format @@ -23103,14 +23013,14 @@ msgid "invalid expression type for %<#pragma omp atomic%>" msgstr "%<#pragma omp atomic%>表达å¼ç±»åž‹æ— 效" #: c-family/c-omp.c:279 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<#pragma omp atomic update%> uses two different variables for memory" -msgstr "" +msgstr "%<# pragma omp 基元的 update%>使用两ä¸åŒçš„å˜é‡ç”¨äºŽå†…å˜" #: c-family/c-omp.c:281 c-family/c-omp.c:293 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<#pragma omp atomic capture%> uses two different variables for memory" -msgstr "" +msgstr "%<# pragma omp 基元的 capture%>使用两ä¸åŒçš„å˜é‡ç”¨äºŽå†…å˜" #: c-family/c-omp.c:474 cp/semantics.c:6635 #, gcc-internal-format @@ -23145,7 +23055,7 @@ msgstr "æ— æ•ˆçš„è‡ªå¢žè¯å¥" #: c-family/c-omp.c:1036 #, fuzzy, gcc-internal-format msgid "%qD is not an function argument" -msgstr "%qEä¸æ˜¯ä¸€ä¸ªå‡½æ•°å" +msgstr " åˆå§‹åŒ–%2$qDçš„å®žå‚ %1$P" #: c-family/c-opts.c:329 #, gcc-internal-format @@ -23158,9 +23068,9 @@ msgid "obsolete option -I- used, please use -iquote instead" msgstr "使用了过时的选项 -I-,请改用 -iquote" #: c-family/c-opts.c:410 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "%<-Wabi=1%> is not supported, using =2" -msgstr "-f%s ä¸å—支æŒï¼šå·²å¿½ç•¥" +msgstr "%<-Wabi=1%> ä¸å—支æŒï¼Œå°†ä½¿ç”¨ =2" #: c-family/c-opts.c:600 fortran/cpp.c:365 #, gcc-internal-format @@ -23209,7 +23119,6 @@ msgstr "-Wformat-security 未与 -Wformat 一起使用,已忽略" #: c-family/c-opts.c:875 #, fuzzy, gcc-internal-format -#| msgid "-falign-loops=%d is not supported" msgid "%<-fabi-compat-version=1%> is not supported, using =2" msgstr "ä¸æ”¯æŒ -falign-loops=%d" @@ -23390,7 +23299,6 @@ msgstr "%<#pragma weak%>末尾有垃圾å—符" #: c-family/c-pragma.c:396 #, fuzzy, gcc-internal-format -#| msgid "weak declaration of %q+D not supported" msgid "%<#pragma weak%> declaration of %q+D not allowed, ignored" msgstr "ä¸æ”¯æŒ%q+D的弱声明" @@ -23627,7 +23535,7 @@ msgstr "<返回值>" #: c-family/c-semantics.c:168 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "wrong type argument to %s" -msgstr "ä¸èƒ½å¯¹è¯¥ç±»åž‹çš„实å‚求ç»å¯¹å€¼" +msgstr "ä¸èƒ½å¯¹è¯¥ç±»åž‹çš„å‚数求ç»å¯¹å€¼" #: c-family/cilk.c:116 cp/parser.c:5997 #, fuzzy, gcc-internal-format @@ -23637,12 +23545,12 @@ msgstr "%<friend%>åªèƒ½åœ¨ç±»ä¸æŒ‡å®š" #: c-family/cilk.c:129 #, fuzzy, gcc-internal-format msgid "only function calls can be spawned" -msgstr "虚函数ä¸èƒ½æ˜¯å‹å…ƒ" +msgstr "åªèƒ½åœ¨å‡½æ•°ä¸ä½¿ç”¨" #: c-family/cilk.c:262 #, fuzzy, gcc-internal-format msgid "invalid use of %<_Cilk_spawn%>" -msgstr "指定链接时使用%qDæ— æ•ˆ" +msgstr "错误地使用了%<::%>" #: c-family/cilk.c:403 #, fuzzy, gcc-internal-format @@ -23667,7 +23575,7 @@ msgstr "" #: c-family/cppspec.c:93 #, fuzzy, gcc-internal-format msgid "%qs is not a valid option to the preprocessor" -msgstr "“%sâ€ä¸æ˜¯é¢„处ç†å™¨çš„有效选项" +msgstr "%qs对%qsè€Œè¨€æ— æ•ˆ" #: c-family/cppspec.c:112 #, gcc-internal-format @@ -23676,9 +23584,8 @@ msgstr "输入文件太多" #: common/config/aarch64/aarch64-common.c:116 #, fuzzy, gcc-internal-format -#| msgid "stack frame too large" msgid "-mcpu string too large" -msgstr "æ ˆå¸§å¤ªå¤§" +msgstr "%L处å—符串太长" #: common/config/alpha/alpha-common.c:76 #, gcc-internal-format @@ -23688,7 +23595,7 @@ msgstr "-mtls-size 开关的值%qsä¸æ£ç¡®" #: common/config/arc/arc-common.c:80 #, fuzzy, gcc-internal-format msgid "multiple -mcpu= options specified." -msgstr "指定了多个函数类型属性" +msgstr "给出了两个ä¸åŒçš„æ“作选项" #: common/config/bfin/bfin-common.c:304 common/config/m68k/m68k-common.c:60 #, gcc-internal-format, gfc-internal-format @@ -23711,9 +23618,9 @@ msgid "-malign-loops is obsolete, use -falign-loops" msgstr "%salign-loops%s å·²ç»è¿‡æ—¶ï¼Œè¯·ä½¿ç”¨ -falign-loops%s" #: common/config/i386/i386-common.c:956 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "-malign-loops=%d is not between 0 and %d" -msgstr "%salign-loops=%d%s ä¸åœ¨ 0 å’Œ %d 之间" +msgstr "-malign-loops=%d ä¸åœ¨ 0 å’Œ %d 之间" #: common/config/i386/i386-common.c:963 #, fuzzy, gcc-internal-format @@ -23721,9 +23628,9 @@ msgid "-malign-jumps is obsolete, use -falign-jumps" msgstr "%salign-jumps%s å·²ç»è¿‡æ—¶ï¼Œè¯·ä½¿ç”¨ -falign-jumps%s" #: common/config/i386/i386-common.c:965 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "-malign-jumps=%d is not between 0 and %d" -msgstr "%salign-loops=%d%s ä¸åœ¨ 0 å’Œ %d 之间" +msgstr "-malign-jumps=%d ä¸åœ¨ 0 å’Œ %d 之间" #: common/config/i386/i386-common.c:973 #, fuzzy, gcc-internal-format @@ -23731,9 +23638,9 @@ msgid "-malign-functions is obsolete, use -falign-functions" msgstr "%salign-functions%s 已过时,请使用 -falign-functions%s" #: common/config/i386/i386-common.c:975 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "-malign-functions=%d is not between 0 and %d" -msgstr "%salign-loops=%d%s ä¸åœ¨ 0 å’Œ %d 之间" +msgstr "-malign-functions=%d ä¸åœ¨ 0 å’Œ %d 之间" #: common/config/i386/i386-common.c:984 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -23758,7 +23665,7 @@ msgstr "-mtls-size= 开关的值%<%s%>æ— æ•ˆ" #: common/config/msp430/msp430-common.c:59 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "unrecognised argument of -mcpu: %s" -msgstr "è¦å‘Šï¼š--help= 选项的å‚æ•°ä¸å¯è¯†åˆ«ï¼š%.*s\n" +msgstr "%P: æ— æ³•è¾¨è®¤çš„ä»¿çœŸæ¨¡å¼: %s\n" #: common/config/nds32/nds32-common.c:49 #, gcc-internal-format @@ -23778,7 +23685,7 @@ msgstr "未知的 -mdebug-%s 开关" #: common/config/rs6000/rs6000-common.c:220 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "unknown switch -mlong-double-%s" -msgstr "未知的开关 -mlong-double-%s" +msgstr "未知的 -mdebug-%s 开关" #: common/config/rs6000/rs6000-common.c:230 #, gcc-internal-format @@ -23813,7 +23720,7 @@ msgstr "æ ˆå¤§å°å¿…须刚好是 2 çš„æŸæ¬¡æ–¹" #: common/config/v850/v850-common.c:47 #, fuzzy, gcc-internal-format msgid "value passed in %qs is too large" -msgstr "ä¼ é€’ç»™%<-m%s%>的值太大" +msgstr "数组%qs太大" #: config/darwin-c.c:116 #, gcc-internal-format @@ -23872,14 +23779,14 @@ msgid "subframework include %s conflicts with framework include" msgstr "åæ¡†æž¶åŒ…å« %s 与框架包å«å†²çª" #: config/darwin-c.c:636 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "unknown value %qs of -mmacosx-version-min" -msgstr "-mmacosx-version-min 的值%qs未知" +msgstr "-mmacox-version-min 的值 %qs 未知" #: config/darwin-driver.c:49 #, fuzzy, gcc-internal-format msgid "sysctl for kern.osversion failed: %m" -msgstr "é™æ€æ–言错误:%E" +msgstr "æ— æ³•å°† %s æ›´å为 %s:%m\n" #: config/darwin-driver.c:83 #, gcc-internal-format @@ -23887,14 +23794,14 @@ msgid "couldn%'t understand kern.osversion %q.*s" msgstr "ä¸èƒ½è¯†åˆ« kern.osversion%q.*s" #: config/darwin.c:1698 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "the use of _OBJC_-prefixed variable names to select meta-data sections is deprecated at 4.6 and will be removed in 4.7" -msgstr "" +msgstr "使用的 _OBJC_-prefixed å˜é‡å称以选å–元数æ®åŒºæ®µè¢«ä¸å®œç”¨äºŽ 4.6 而将被 ç§»é™¤çš„åœ¨ä¸ 4.7" #: config/darwin.c:1953 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "failed to open temporary file %s for LTO output" -msgstr "æ— æ³•æ‰“å¼€ä¸´æ—¶å“应文件 %s" +msgstr "打开临时头文件失败:%s" #: config/darwin.c:2042 #, gcc-internal-format @@ -23914,7 +23821,7 @@ msgstr "å¯è§æ€§å±žæ€§åœ¨æ¤é…置下ä¸å—支æŒï¼›å·²å¿½ç•¥" #: config/darwin.c:2947 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "failed to open temporary file %s with LTO output" -msgstr "æ— æ³•æ‰“å¼€ä¸´æ—¶å“应文件 %s" +msgstr "打开临时头文件失败:%s" #: config/darwin.c:3120 #, fuzzy, gcc-internal-format @@ -23927,9 +23834,9 @@ msgid "%<-fobjc-abi-version%> >= 2 is not supported on %<-m32%> targets with %<- msgstr "%<-fobjc-abi-version%> >= 2 åªåœ¨%<-m64%>ç›®æ ‡ä¸‹æ”¯æŒ%<-fnext-runtime%>" #: config/darwin.c:3209 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "%<-mdynamic-no-pic%> overrides %<-fpic%>, %<-fPIC%>, %<-fpie%> or %<-fPIE%>" -msgstr "-mdynamic-no-pic 覆盖了 -fpic 或 -fPIC" +msgstr "%<-mdynamic-no-pic%> 覆盖了 %<-fpic%>, %<-fPIC%>, %<-fpie%> åŠ %<-fPIE%>" #: config/darwin.c:3397 #, fuzzy, gcc-internal-format @@ -23944,7 +23851,7 @@ msgstr "内建函数%qDåªéœ€è¦ä¸€ä¸ªå®žå‚" #: config/darwin.c:3490 #, gcc-internal-format msgid "CFString literal is missing" -msgstr "缺少 CFString å—é¢å€¼" +msgstr "缺少 CFString å—é¢é‡" #: config/darwin.c:3501 #, gcc-internal-format @@ -23954,7 +23861,7 @@ msgstr "CFString å—é¢è¡¨è¾¾å¼ä¸æ˜¯ä¸€ä¸ªå—符串常é‡" #: config/darwin.c:3524 #, gcc-internal-format, gfc-internal-format msgid "%s in CFString literal" -msgstr "CFString å—é¢å€¼é‡Œæœ‰ %s" +msgstr "CFString å—é¢é‡é‡Œæœ‰ %s" #: config/host-darwin.c:61 #, fuzzy, gcc-internal-format @@ -24044,13 +23951,11 @@ msgstr "对 VxWorks çš„å–æ ·æ”¯æŒ" #: config/aarch64/aarch64-builtins.c:947 #, fuzzy, gcc-internal-format -#| msgid "argument must be a constant" msgid "%Kargument %d must be a constant immediate" msgstr "实å‚必须是常数" #: config/aarch64/aarch64-builtins.c:1018 #, fuzzy, gcc-internal-format -#| msgid "mask must be an immediate" msgid "%Klane index must be a constant immediate" msgstr "掩ç 必须是一个立å³æ•°" @@ -24062,18 +23967,18 @@ msgstr "" #: config/aarch64/aarch64.c:6643 #, fuzzy, gcc-internal-format msgid "missing feature modifier after %qs" -msgstr "%qsåŽç¼ºå°‘文件å" +msgstr "%qsåŽç¼ºå°‘å®å" #. Extension not found in list. #: config/aarch64/aarch64.c:6665 #, fuzzy, gcc-internal-format msgid "unknown feature modifier %qs" -msgstr "未知的 TLS 模型%qs" +msgstr "%X%P: æœªçŸ¥ç‰¹å¾ %s\n" #: config/aarch64/aarch64.c:6696 #, fuzzy, gcc-internal-format msgid "missing arch name in -march=%qs" -msgstr "%qsåŽç¼ºå°‘路径" +msgstr "%qsåŽç¼ºå°‘å®å" #: config/aarch64/aarch64.c:6719 config/arm/arm.c:2660 #, gcc-internal-format, gfc-internal-format @@ -24084,24 +23989,24 @@ msgstr "开关 -mcpu=%s 与 -march=%s 冲çª" #: config/aarch64/aarch64.c:6728 #, fuzzy, gcc-internal-format msgid "unknown value %qs for -march" -msgstr "-mfpu 的值 %s 未知" +msgstr "未知的 TLS 模型%qs" #: config/aarch64/aarch64.c:6753 #, fuzzy, gcc-internal-format msgid "missing cpu name in -mcpu=%qs" -msgstr "%qsåŽç¼ºå°‘路径" +msgstr "%qsåŽç¼ºå°‘å®å" #. CPU name not found in list. #: config/aarch64/aarch64.c:6776 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "unknown value %qs for -mcpu" -msgstr "-mfpu 的值 %s 未知" +msgstr "-mcpu 的值%qs未知" #. CPU name not found in list. #: config/aarch64/aarch64.c:6800 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "unknown value %qs for -mtune" -msgstr "-mfpu 的值 %s 未知" +msgstr "-mtune å‚数的值 %qs 未知" #: config/aarch64/aarch64.c:6836 #, fuzzy, gcc-internal-format @@ -24109,15 +24014,15 @@ msgid "Assembler does not support -mabi=ilp32" msgstr "ä¸æ”¯æŒ multilib" #: config/aarch64/aarch64.c:6930 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "code model %qs with -f%s" -msgstr "" +msgstr "代ç 模å¼%qs在 %s ä½æ¨¡å¼ä¸‹ä¸å—支æŒ" #: config/aarch64/aarch64.c:7239 config/aarch64/aarch64.c:7347 #: config/aarch64/aarch64.c:7586 #, fuzzy, gcc-internal-format msgid "%qs and floating point or vector arguments" -msgstr "使用硬件浮点指令" +msgstr "å¤æ•°å®žå‚必须具有浮点类型" #: config/aarch64/aarch64.c:8566 #, fuzzy, gcc-internal-format @@ -24194,7 +24099,7 @@ msgstr "错误的内建 fcode" #: config/arc/arc.c:778 #, fuzzy, gcc-internal-format msgid "-mmul64 not supported for ARC700" -msgstr "-mrelax åªåœ¨ RTP PIC 上å—支æŒ" +msgstr "ä¸æ”¯æŒ" #: config/arc/arc.c:782 #, gcc-internal-format @@ -24207,9 +24112,9 @@ msgid "-mmul32x16 supported only for ARC600 or ARC601" msgstr "" #: config/arc/arc.c:789 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "-mno-dpfp-lrsr supported only with -mdpfp" -msgstr "" +msgstr "-fno-fat-lto-objects 被支æŒåªæœ‰ä¸Žé“¾ç»“器æ’件程åºã€‚" #: config/arc/arc.c:794 #, fuzzy, gcc-internal-format @@ -24222,9 +24127,9 @@ msgid "-mspfp_fast not available on ARC600 or ARC601" msgstr "" #: config/arc/arc.c:803 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "FPX extensions not available on pre-ARC600 cores" -msgstr "" +msgstr "类别延伸ä¸æ˜¯å¯ç”¨åœ¨ä¸ Objective-C 1.0" #: config/arc/arc.c:808 #, gcc-internal-format, gfc-internal-format @@ -24282,7 +24187,7 @@ msgstr "" #: config/arc/arc.c:6252 #, fuzzy, gcc-internal-format msgid "insn addresses not freed" -msgstr "错误的地å€ï¼Œä¸æ˜¯å¯„å˜å™¨ï¼š" +msgstr "在 %2$s 缓å˜ä¸ %1$zu å—节å¯ç”¨" #: config/arc/arc.c:6930 #, gcc-internal-format, gfc-internal-format @@ -24352,19 +24257,19 @@ msgstr "选择å必须是立å³æ•°" #: config/arm/arm-builtins.c:2308 config/arm/arm-builtins.c:2353 #: config/arm/arm-builtins.c:2411 config/arm/arm-builtins.c:2420 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "the range of selector should be in 0 to 7" -msgstr "" +msgstr "选择å必须是 0 到 %wi 间的整常é‡" #: config/arm/arm-builtins.c:2313 config/arm/arm-builtins.c:2422 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "the range of selector should be in 0 to 3" -msgstr "" +msgstr "选择å必须是 0 到 %wi 间的整常é‡" #: config/arm/arm-builtins.c:2318 config/arm/arm-builtins.c:2424 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "the range of selector should be in 0 to 1" -msgstr "" +msgstr "选择å必须是 0 到 %wi 间的整常é‡" #: config/arm/arm-builtins.c:2490 #, gcc-internal-format @@ -24567,9 +24472,9 @@ msgid "AAPCS does not support -mcallee-super-interworking" msgstr "AAPCS ä¸æ”¯æŒ -mcallee-super-interworking" #: config/arm/arm.c:2952 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "iWMMXt and NEON are incompatible" -msgstr "-fPIC 与 -G 互ä¸å…¼å®¹" +msgstr "iWMMXt 与 NEON 互ä¸å…¼å®¹" #: config/arm/arm.c:2956 #, gcc-internal-format @@ -24624,7 +24529,7 @@ msgstr "‘%s’ä¸èƒ½è¢«ç”¨ä½œ PIC 寄å˜å™¨" #: config/arm/arm.c:3096 #, fuzzy, gcc-internal-format msgid "target CPU does not support unaligned accesses" -msgstr "ç›®æ ‡ CPU ä¸æ”¯æŒ ARM 模å¼" +msgstr "ç›®æ ‡ CPU ä¸æ”¯æŒäº¤äº’工作" #: config/arm/arm.c:3124 #, gcc-internal-format @@ -24705,7 +24610,7 @@ msgstr "%qs需è¦ä¸€ä¸ªå¸¸é‡å®žå‚" #: config/avr/avr-c.c:112 #, fuzzy, gcc-internal-format msgid "using %qs with unsigned type has no effect" -msgstr "ä¸å»ºè®®ä½¿ç”¨ã€‚æ¤å¼€å…³ä¸èµ·ä½œç”¨ã€‚" +msgstr "已弃用。æ¤å¼€å…³ä¸èµ·ä½œç”¨ã€‚" #: config/avr/avr-c.c:117 config/avr/avr-c.c:183 config/avr/avr-c.c:240 #, fuzzy, gcc-internal-format @@ -24729,14 +24634,13 @@ msgstr "%qs需è¦ä¸€ä¸ªå¸¸é‡å®žå‚" #: config/avr/avr-devices.c:203 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "-fpic is not supported" msgid "devices natively supported:%s" -msgstr "ä¸æ”¯æŒ -fpic" +msgstr "%s:支æŒçš„ç›®æ ‡ï¼š" #: config/avr/avr-devices.c:212 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "supported core architectures:%s" -msgstr "" +msgstr "%s:支æŒçš„体系结构:" #. Reached the end of `avr_mcu_types'. This should actually never #. happen as options are provided by device-specs. It could be a @@ -24760,12 +24664,12 @@ msgstr "ä¸æ”¯æŒ -fPIC" #: config/avr/avr.c:463 #, fuzzy, gcc-internal-format msgid "-fpie is not supported" -msgstr "ä¸æ”¯æŒ -fpic" +msgstr "ä¸æ”¯æŒ" #: config/avr/avr.c:465 #, fuzzy, gcc-internal-format msgid "-fPIE is not supported" -msgstr "ä¸æ”¯æŒ -fPIC" +msgstr "ä¸æ”¯æŒ" #: config/avr/avr.c:737 #, fuzzy, gcc-internal-format @@ -24785,7 +24689,7 @@ msgstr "%qDä¸èƒ½æœ‰é»˜è®¤å‚æ•°" #: config/avr/avr.c:774 #, fuzzy, gcc-internal-format msgid "%qs function cannot return a value" -msgstr "函数ä¸èƒ½è¿”回 __fp16 类型" +msgstr "ä¸æ£ç¡®çš„函数返回值" #: config/avr/avr.c:781 #, fuzzy, gcc-internal-format @@ -24810,7 +24714,7 @@ msgstr "用程åºå†…å˜åœ°å€è®¿é—®æ•°æ®å†…å˜" #: config/avr/avr.c:2432 #, fuzzy, gcc-internal-format msgid "accessing program memory with data memory address" -msgstr "用数æ®å†…å˜åœ°å€è®¿é—®ç¨‹åºå†…å˜" +msgstr "用程åºå†…å˜åœ°å€è®¿é—®æ•°æ®å†…å˜" #: config/avr/avr.c:2857 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -24820,7 +24724,7 @@ msgstr "ç”¨ä»¥ä¼ é€’æ•´æ•°å‚数的寄å˜å™¨ä¸ªæ•°" #: config/avr/avr.c:3128 #, fuzzy, gcc-internal-format msgid "writing to address space %qs not supported" -msgstr "冲çªçš„有å地å€ç©ºé—´(%så’Œ%s)" +msgstr "ä¸å…¼å®¹çš„地å€ç©ºé—´é™å®šç¬¦%qså’Œ%qs" #: config/avr/avr.c:9028 config/bfin/bfin.c:4821 config/i386/winnt.c:97 #: config/mep/mep.c:3833 config/mep/mep.c:3971 @@ -24836,7 +24740,7 @@ msgstr "%qE属性需è¦ä¸€ä¸ªæ•´å¸¸é‡ä½œä¸ºå®žå‚" #: config/avr/avr.c:9049 #, fuzzy, gcc-internal-format msgid "%qE attribute address out of range" -msgstr "ä¸å»ºè®®ä½¿ç”¨ã€‚æ¤å¼€å…³ä¸èµ·ä½œç”¨ã€‚" +msgstr "已弃用。æ¤å¼€å…³ä¸èµ·ä½œç”¨ã€‚" #: config/avr/avr.c:9062 #, gcc-internal-format @@ -24845,19 +24749,18 @@ msgstr "" #: config/avr/avr.c:9072 #, fuzzy, gcc-internal-format -#| msgid "%qE attribute only applies to variables" msgid "%qE attribute on non-volatile variable" -msgstr "属性%qEåªèƒ½ç”¨äºŽå˜é‡" +msgstr "%qE属性在ä¸æ˜¯ç±»çš„类型上被忽略" #: config/avr/avr.c:9274 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%qT uses address space %qs beyond flash of %d KiB" -msgstr "" +msgstr "%qT 使用地å€ç©ºé—´ %qs ä½äºŽä¹‹åŽ flash çš„ %qs" #: config/avr/avr.c:9277 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%s %q+D uses address space %qs beyond flash of %d KiB" -msgstr "" +msgstr "%s %q+D 使用地å€ç©ºé—´ %qs ä½äºŽä¹‹åŽ flash çš„ %qs" #: config/avr/avr.c:9283 #, fuzzy, gcc-internal-format @@ -24870,29 +24773,27 @@ msgid "pointer targeting address space %qs must be const in %s %q+D" msgstr "æ¡ä»¶è¡¨è¾¾å¼ä¸ä½¿ç”¨äº†æŒ‡å‘ä¸ç›¸äº¤åœ°å€ç©ºé—´çš„指针" #: config/avr/avr.c:9324 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "variable %q+D located in address space %qs beyond flash of %d KiB" -msgstr "" +msgstr "å˜é‡ %q+D 寻找ä½ç½®çš„在ä¸åœ°å€ç©ºé—´ %qs ä½äºŽä¹‹åŽ flash çš„ %qs" #: config/avr/avr.c:9329 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "variable %q+D located in address space %qs which is not supported for architecture %qs" -msgstr "" +msgstr "å˜é‡ %q+D 寻找ä½ç½®çš„在ä¸åœ°å€ç©ºé—´ %qs ä½äºŽä¹‹åŽ flash çš„ %qs" #: config/avr/avr.c:9345 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "variable %q+D must be const in order to be put into read-only section by means of %qs" -msgstr "" +msgstr "å˜é‡ %q+D 必须是常数以便是置放进入åªè¯»åŒºæ®µä¾é %qs" #: config/avr/avr.c:9385 #, fuzzy, gcc-internal-format -#| msgid "declaration of %q+D shadows a parameter" msgid "static IO declaration for %q+D needs an address" msgstr "%q+D的声明éšè—了一个形å‚" #: config/avr/avr.c:9417 #, fuzzy, gcc-internal-format -#| msgid "previous definition of %q+D was here" msgid "IO definition for %q+D needs an address" msgstr "%q+D的上一个定义在æ¤" @@ -24908,14 +24809,13 @@ msgstr "åªæœ‰åˆå§‹åŒ–çš„å˜é‡æ‰èƒ½æ”¾å…¥ç¨‹åºå†…å˜åŒº" #: config/avr/avr.c:9752 #, fuzzy, gcc-internal-format -#| msgid "MCU %qs supported for assembler only" msgid "architecture %qs supported for assembler only" msgstr "MCU%qsåªæ”¯æŒæ±‡ç¼–器" #: config/avr/avr.c:12265 #, fuzzy, gcc-internal-format msgid "conversion from address space %qs to address space %qs" -msgstr "从 %s 转æ¢åˆ° %s,ä½äºŽ %L" +msgstr "ä¸å…¼å®¹çš„地å€ç©ºé—´é™å®šç¬¦%qså’Œ%qs" #: config/avr/avr.c:13321 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -24933,9 +24833,9 @@ msgid "rounding to %d bits has no effect for fixed-point value with %d fractiona msgstr "" #: config/avr/avr.c:13372 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "rounding result will always be 0" -msgstr "" +msgstr "对两个互斥的相ç‰æ¯”较å–%<and%>的结果永远是 0" #: config/avr/driver-avr.c:39 #, gcc-internal-format @@ -24954,20 +24854,18 @@ msgstr "在æˆå‘˜å‡½æ•°%qsä¸" #: config/avr/driver-avr.c:107 #, fuzzy, gcc-internal-format -#| msgid "Array specification at %C has more than %d dimensions" msgid "specified option %qs more than once" -msgstr "%Cå¤„æ•°ç»„è§„æ ¼ä¸æœ‰å¤šäºŽ %d çš„ç»´æ•°" +msgstr "在基类é™å®šä¸æŒ‡å®šäº†å¤šäºŽä¸€æ¬¡çš„%<virtual%>" #: config/avr/driver-avr.c:129 #, fuzzy, gcc-internal-format -#| msgid "specs file malformed after %ld characters" msgid "strange device name %qs after %qs: bad character %qc" msgstr "specs 在 %ld å—符åŽæ–‡ä»¶æ ¼å¼é”™è¯¯" #: config/bfin/bfin.c:2387 #, gcc-internal-format msgid "-mfdpic is not supported, please use a bfin-linux-uclibc target" -msgstr "" +msgstr "-mfdpic ä¸å—支æŒï¼Œè¯·ä½¿ç”¨ bfin-linux-uclibc ç›®æ ‡" #: config/bfin/bfin.c:2392 #, gcc-internal-format @@ -24975,9 +24873,9 @@ msgid "-mshared-library-id= specified without -mid-shared-library" msgstr "指定了 -mshared-library-id= å´æ²¡æœ‰ä½¿ç”¨ -mid-shared-library" #: config/bfin/bfin.c:2396 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "-fstack-limit- options are ignored with -mfdpic; use -mstack-check-l1" -msgstr "" +msgstr "-fstack-limit- 选项被忽略与 -mfdpic;使用 -mstack-check-l1" #: config/bfin/bfin.c:2401 #, fuzzy, gcc-internal-format @@ -25030,19 +24928,19 @@ msgid "%qE attribute cannot be specified for local variables" msgstr "ä¸èƒ½ä¸ºå±€éƒ¨å˜é‡æŒ‡å®š%qE属性" #: config/c6x/c6x.c:274 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-fpic and -fPIC not supported without -mdsbt on this target" -msgstr "-fPIC å’Œ -fpic ä¸è¢«æ¤ç›®æ ‡æ‰€æ”¯æŒ" +msgstr "æ¤ç›®æ ‡ä¸æ”¯æŒä¸é™„带 -mdsbt 使用 -fPIC å’Œ -fpic" #: config/c6x/c6x.h:363 config/nvptx/nvptx.h:193 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "profiling is not yet implemented for this architecture" -msgstr "" +msgstr "侧写档ä¸æ˜¯æœªå®žçŽ°çš„用于这个架构" #: config/cr16/cr16.c:325 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "data-model=far not valid for cr16c architecture" -msgstr "" +msgstr "data-model=far æ— æ³•æœ‰æ•ˆç”¨äºŽ cr16c 架构" #: config/cr16/cr16.c:328 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -25052,7 +24950,7 @@ msgstr "æ— æ•ˆçš„çº¿ç¨‹æŒ‡é’Ÿé€‰é¡¹ï¼š-mtp=%s" #: config/cr16/cr16.h:431 #, fuzzy, gcc-internal-format msgid "profiler support for CR16" -msgstr "对 CRX çš„å–æ ·æ”¯æŒ" +msgstr "function_profiler 支æŒ" #. This function is for retrieving a part of an instruction name for #. an operator, for immediate output. If that ever happens for @@ -25189,14 +25087,13 @@ msgstr "CRIS 没有 FUNCTION_PROFILER" #: config/epiphany/epiphany.c:515 #, fuzzy, gcc-internal-format -#| msgid "interrupt handlers cannot be MIPS16 functions" msgid "interrupt handlers cannot have arguments" msgstr "ä¸æ–处ç†ç¨‹åºä¸èƒ½æ˜¯ MIPS16 函数" #: config/epiphany/epiphany.c:539 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "argument of %qE attribute is not \"reset\", \"software_exception\", \"page_miss\", \"timer0\", \"timer1\", \"message\", \"dma0\", \"dma1\", \"wand\" or \"swi\"" -msgstr "" +msgstr "å‚æ•°çš„ %qE 属性ä¸æ˜¯â€œé‡ç½®â€ï¼Œâ€œsoftware_exceptionâ€ï¼Œâ€œpage_missâ€ï¼Œâ€œtimer0â€ï¼Œâ€œtimer1â€ï¼Œâ€œæ¶ˆæ¯â€ï¼Œâ€œdma0â€ï¼Œâ€œdma1â€ï¼Œâ€œé”æ–â€æˆ–“swiâ€" #: config/epiphany/epiphany.c:1553 #, fuzzy, gcc-internal-format @@ -25271,7 +25168,7 @@ msgstr "æ¤å†…建函数åªåœ¨ fr450 上å¯ç”¨" #: config/h8300/h8300.c:353 #, fuzzy, gcc-internal-format msgid "-msx is not supported in coff" -msgstr "-f%s ä¸å—支æŒï¼šå·²å¿½ç•¥" +msgstr "ä¸æ”¯æŒ" #: config/h8300/h8300.c:375 #, gcc-internal-format @@ -25279,14 +25176,14 @@ msgid "-ms2600 is used without -ms" msgstr "-ms2600 未与 -ms 一起使用" #: config/h8300/h8300.c:381 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-mn is used without -mh or -ms or -msx" -msgstr "-mn 未与 -mh 或 -ms 一起使用" +msgstr "-mn 未与 -mh, -ms 或 -msx 一起使用" #: config/h8300/h8300.c:387 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-mexr is used without -ms" -msgstr "-ms2600 未与 -ms 一起使用" +msgstr "-mexr 未与 -ms 一起使用" #: config/h8300/h8300.c:393 #, fuzzy, gcc-internal-format @@ -25294,9 +25191,9 @@ msgid "-mint32 is not supported for H8300 and H8300L targets" msgstr "%<__int128%>在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" #: config/h8300/h8300.c:399 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-mexr is used without -ms or -msx" -msgstr "-mn 未与 -mh 或 -ms 一起使用" +msgstr "-mexr 未与 -ms 或 -msx 一起使用" #: config/h8300/h8300.c:405 #, gcc-internal-format @@ -25311,12 +25208,12 @@ msgstr "æ— æ³•æ‰©å±• PCH 文件:%m" #: config/i386/host-cygwin.c:73 #, fuzzy, gcc-internal-format msgid "can%'t set position in PCH file: %m" -msgstr "ä¸èƒ½åœ¨ PCH 文件ä¸è®¾å®šä½ç½®ï¼š%m" +msgstr "ä¸èƒ½åœ¨ PCH 文件ä¸æ‰¾åˆ°ä½ç½®ï¼š%m" #: config/i386/i386.c:2969 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "wrong arg %s to option %s" -msgstr "-Werror=%s:没有选项 -%s" +msgstr "错误的选项于环境å˜é‡ MINICOM=“%sâ€\n" #: config/i386/i386.c:2976 #, gcc-internal-format, gfc-internal-format @@ -25337,7 +25234,7 @@ msgstr "%q+D的寄å˜å™¨åæ— æ•ˆ" #: config/i386/i386.c:3012 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "unknown alignment %s specified for option %s" -msgstr "ä¸èƒ½ä¸º%q+D指定对é½" +msgstr "%s:未知选项 -%c\n" #: config/i386/i386.c:3023 #, gcc-internal-format, gfc-internal-format @@ -25357,13 +25254,13 @@ msgstr "%L处å‚数列表函数未知" #: config/i386/i386.c:3467 #, gcc-internal-format, gfc-internal-format msgid "%stune=x86-64%s is deprecated; use %stune=k8%s or %stune=generic%s instead as appropriate" -msgstr "ä¸å»ºè®®ä½¿ç”¨%stune=x86-64%s;请视情况改用%stune=k8%s或%stune=generic%s" +msgstr "已弃用%stune=x86-64%s;请视情况改用%stune=k8%s或%stune=generic%s" #. rep; movq isn't available in 32-bit code. #: config/i386/i386.c:3494 #, gcc-internal-format msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code" -msgstr "" +msgstr "-mstringop-strategy=rep_8byte ä¸æ”¯æŒç”¨äºŽ 32 ä½ä»£ç " #: config/i386/i386.c:3511 #, fuzzy, gcc-internal-format @@ -25387,9 +25284,9 @@ msgid "code model %s does not support PIC mode" msgstr "代ç æ¨¡å¼ %s 在 PIC 模å¼ä¸‹ä¸å—支æŒ" #: config/i386/i386.c:3604 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-masm=intel not supported in this configuration" -msgstr "-m%s 在æ¤é…置下ä¸å—支æŒ" +msgstr "-masm=intel 在æ¤é…置下ä¸å—支æŒ" #: config/i386/i386.c:3609 #, gcc-internal-format, gfc-internal-format @@ -25403,7 +25300,6 @@ msgstr "您选择的 CPU ä¸æ”¯æŒ x86-64 指令集" #: config/i386/i386.c:3801 config/i386/i386.c:3804 #, fuzzy, gcc-internal-format -#| msgid "%s does not support %s" msgid "Intel MPX does not support x32" msgstr "%s ä¸æ”¯æŒ %s" @@ -25430,12 +25326,12 @@ msgstr "%2$stune=%3$s%4$s所带å‚æ•°(%1$s)ä¸æ£ç¡®" #: config/i386/i386.c:3911 #, fuzzy, gcc-internal-format msgid "-mregparm is ignored in 64-bit mode" -msgstr "%sregparm%s 在 64 ä½æ¨¡å¼ä¸‹è¢«å¿½ç•¥" +msgstr "64-bit ABI 在 ESA/390 模å¼ä¸‹ä¸å—支æŒ" #: config/i386/i386.c:3914 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "-mregparm=%d is not between 0 and %d" -msgstr "%sregparm=%d%s ä¸åœ¨ 0 å’Œ %d 之间" +msgstr "-mregparm=%d ä¸åœ¨ 0 å’Œ %d 之间" #: config/i386/i386.c:3957 #, gcc-internal-format, gfc-internal-format @@ -25445,12 +25341,12 @@ msgstr "%srtd%s 在 64 ä½æ¨¡å¼ä¸‹è¢«å¿½ç•¥" #: config/i386/i386.c:4035 #, fuzzy, gcc-internal-format msgid "-mpreferred-stack-boundary is not supported for this target" -msgstr "%spreferred-stack-boundary%s 在æ¤ç›®æ ‡æœºä¸Šä¸è¢«æ”¯æŒ" +msgstr "å †æ ˆé™åˆ¶åœ¨æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" #: config/i386/i386.c:4038 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "-mpreferred-stack-boundary=%d is not between %d and %d" -msgstr "%spreferred-stack-boundary=%d%s ä¸åœ¨ %d å’Œ %d 之间" +msgstr "-mpreferred-stack-boundary=%d 的值ä¸åœ¨ %d å’Œ %d 之间" #: config/i386/i386.c:4060 #, gcc-internal-format, gfc-internal-format @@ -25458,14 +25354,12 @@ msgid "-mincoming-stack-boundary=%d is not between %d and 12" msgstr "-mincoming-stack-boundary=%d ä¸åœ¨ %d å’Œ 12 之间" #: config/i386/i386.c:4074 -#, fuzzy, gcc-internal-format -#| msgid "-mno-fentry isn%'t compatible with SEH" +#, gcc-internal-format msgid "-mnop-mcount is not compatible with this target" -msgstr "-mno-fentry 与 SEH ä¸å…¼å®¹" +msgstr "-mnop-mcount 与æ¤ç›®æ ‡ä¸å…¼å®¹" #: config/i386/i386.c:4077 #, fuzzy, gcc-internal-format -#| msgid "inter-module optimizations not implemented for C++" msgid "-mnop-mcount is not implemented for -fPIC" msgstr "模å—间优化未为 C++ 实现" @@ -25502,7 +25396,7 @@ msgstr "-mno-fentry 与 SEH ä¸å…¼å®¹" #: config/i386/i386.c:4315 config/rs6000/rs6000.c:4240 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "unknown option for -mrecip=%s" -msgstr "L%d 缓å˜å»¶è¿ŸæœªçŸ¥ï¼Œå¯¹ %s æ¥è¯´" +msgstr "未知的选项:%s %s %s" #: config/i386/i386.c:4821 #, fuzzy, gcc-internal-format @@ -25576,9 +25470,8 @@ msgstr "cdecl å’Œ thiscall 属性互ä¸å…¼å®¹" #: config/i386/i386.c:5672 #, fuzzy, gcc-internal-format -#| msgid "%qE attribute is used for none class-method" msgid "%qE attribute is used for non-class method" -msgstr "%qE属性用于éžç±»æ–¹æ³•" +msgstr "%qE属性在ä¸æ˜¯ç±»çš„类型上被忽略" #: config/i386/i386.c:5910 #, gcc-internal-format @@ -25592,7 +25485,6 @@ msgstr "带属性 sseregparm 调用%qTå´æ²¡æœ‰å¯ç”¨ SSE/SSE2" #: config/i386/i386.c:6235 #, fuzzy, gcc-internal-format -#| msgid "does not support multilib" msgid "X32 does not support ms_abi attribute" msgstr "ä¸æ”¯æŒ multilib" @@ -25603,14 +25495,13 @@ msgstr "ms_hook_prologue 与嵌套函数ä¸å…¼å®¹" #: config/i386/i386.c:6599 #, fuzzy, gcc-internal-format -#| msgid "AVX vector argument without AVX enabled changes the ABI" msgid "AVX512F vector argument without AVX512F enabled changes the ABI" -msgstr "没有å¯ç”¨ AVX,å´å‡ºçŽ°äº† AVX å‘é‡å®žå‚,这改å˜äº† ABI" +msgstr "没有å¯ç”¨ MMX,å´å‡ºçŽ°äº† MMX å‘é‡å®žå‚,这改å˜äº† ABI" #: config/i386/i386.c:6605 #, fuzzy, gcc-internal-format msgid "AVX512F vector return without AVX512F enabled changes the ABI" -msgstr "没有å¯ç”¨ AVX,å´å‡ºçŽ°äº† AVX å‘é‡å®žå‚,这改å˜äº† ABI" +msgstr "没有å¯ç”¨ SSE,å´æœ‰ SSE å‘é‡è¿”回值,这改å˜äº† ABI" #: config/i386/i386.c:6619 #, gcc-internal-format @@ -25674,7 +25565,6 @@ msgstr "å·²ç¦ç”¨ x87 å´åœ¨ x87 寄å˜å™¨ä¸è¿”回" #: config/i386/i386.c:7551 config/i386/i386.c:7801 #, fuzzy, gcc-internal-format -#| msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" msgstr "带属性 sseregparm 调用%qDå´æ²¡æœ‰å¯ç”¨ SSE/SSE2" @@ -25690,7 +25580,6 @@ msgstr "在 GCC 4.4 ä¸ä¼ 递有 long double çš„è”åˆçš„ ABI 有改å˜" #: config/i386/i386.c:8287 #, fuzzy, gcc-internal-format -#| msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" msgid "calling %qD with SSE caling convention without SSE/SSE2 enabled" msgstr "带属性 sseregparm 调用%qDå´æ²¡æœ‰å¯ç”¨ SSE/SSE2" @@ -25706,7 +25595,6 @@ msgstr "-fsplit-stack ä¸æ”¯æŒåœ¨åµŒå¥—函数ä¸ä½¿ç”¨ä¸¤ä¸ªå¯„å˜å™¨å‚æ•°" #: config/i386/i386.c:12436 #, fuzzy, gcc-internal-format -#| msgid "-fsplit-stack does not support 2 register parameters for a nested function" msgid "-fsplit-stack does not support 2 register parameters for a nested function" msgstr "-fsplit-stack ä¸æ”¯æŒåœ¨åµŒå¥—函数ä¸ä½¿ç”¨ä¸¤ä¸ªå¯„å˜å™¨å‚æ•°" @@ -25738,9 +25626,9 @@ msgid "No dispatcher found for the versioning attributes" msgstr "" #: config/i386/i386.c:34744 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "No dispatcher found for %s" -msgstr "" +msgstr "找ä¸åˆ°ä»»ä½•æŸ¥çœ‹å™¨ç”¨äºŽ %s/%s\n" #: config/i386/i386.c:34754 #, gcc-internal-format, gfc-internal-format @@ -25755,7 +25643,7 @@ msgstr "" #: config/i386/i386.c:35007 config/i386/i386.c:35455 #, fuzzy, gcc-internal-format msgid "Virtual function multiversioning not supported" -msgstr "ä¸æ”¯æŒé™æ€é“¾æŽ¥" +msgstr "è”åˆæˆå‘˜å‡½æ•°%qD被声明为虚函数" #: config/i386/i386.c:35072 #, gcc-internal-format @@ -25765,7 +25653,7 @@ msgstr "" #: config/i386/i386.c:35075 #, fuzzy, gcc-internal-format msgid "previous declaration of %D" -msgstr "%q+Dçš„å‰ä¸€ä¸ªå£°æ˜Ž" +msgstr "å…ˆå‰çš„声明%q+D" #: config/i386/i386.c:35294 #, fuzzy, gcc-internal-format @@ -25780,7 +25668,9 @@ msgstr "%qs的实å‚必须是一个 2 ä½æ— 符å·å—é¢å¸¸é‡" #: config/i386/i386.c:35697 config/i386/i386.c:35747 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Parameter to builtin not valid: %s" -msgstr "-ffpe-trap çš„å‚æ•°æ— æ•ˆï¼š%s" +msgstr "" +"\n" +"错误:“%sâ€å¹¶éžæœ‰æ•ˆæ–°é—»ç¾¤ç»„ï¼\n" #: config/i386/i386.c:36158 config/i386/i386.c:37566 #, gcc-internal-format @@ -25790,22 +25680,22 @@ msgstr "最åŽä¸€ä¸ªå®žå‚必须是一个 2 ä½ç«‹å³æ•°" #: config/i386/i386.c:36555 #, fuzzy, gcc-internal-format msgid "the fifth argument must be an 8-bit immediate" -msgstr "第五个实å‚必须是一个 8 ä½ç«‹å³æ•°" +msgstr "最åŽä¸€ä¸ªå®žå‚必须是一个 8 ä½ç«‹å³æ•°" #: config/i386/i386.c:36650 #, fuzzy, gcc-internal-format msgid "the third argument must be an 8-bit immediate" -msgstr "第三个实å‚必须是一个 8 ä½ç«‹å³æ•°" +msgstr "最åŽä¸€ä¸ªå®žå‚必须是一个 8 ä½ç«‹å³æ•°" #: config/i386/i386.c:37497 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "the last argument must be an 1-bit immediate" msgstr "最åŽä¸€ä¸ªå®žå‚必须是一个 1 ä½ç«‹å³æ•°" #: config/i386/i386.c:37512 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "the last argument must be a 3-bit immediate" -msgstr "最åŽä¸€ä¸ªå‚数必须是一个 32 ä½ç«‹å³æ•°" +msgstr "最åŽä¸€ä¸ªå®žå‚必须是一个 3 ä½ç«‹å³æ•°" #: config/i386/i386.c:37545 #, gcc-internal-format @@ -25835,17 +25725,17 @@ msgstr "最åŽä¸€ä¸ªå®žå‚必须是一个 8 ä½ç«‹å³æ•°" #: config/i386/i386.c:37779 #, fuzzy, gcc-internal-format msgid "the third argument must be comparison constant" -msgstr "实å‚必须是常数" +msgstr "%<__builtin_prefetch%>的第三个实å‚必须是一个常é‡" #: config/i386/i386.c:37784 #, fuzzy, gcc-internal-format msgid "incorrect comparison mode" -msgstr "å¯¹æ ‘ç»“èŠ‚çš„å…±äº«ä¸æ£ç¡®" +msgstr "ä¸æ£ç¡®çš„æ ¼å¼ï¼š%s\n" #: config/i386/i386.c:37790 config/i386/i386.c:37992 #, fuzzy, gcc-internal-format msgid "incorrect rounding operand" -msgstr "å¯¹æ ‘ç»“èŠ‚çš„å…±äº«ä¸æ£ç¡®" +msgstr "控制生æˆçš„浮点èˆå…¥æ¨¡å¼" #: config/i386/i386.c:37974 #, fuzzy, gcc-internal-format @@ -25900,7 +25790,7 @@ msgstr "左实å‚必须是一个切片" #: config/i386/i386.c:40226 #, fuzzy, gcc-internal-format msgid "incorrect hint operand" -msgstr "å¯¹æ ‘ç»“èŠ‚çš„å…±äº«ä¸æ£ç¡®" +msgstr "(æ示略过)" #: config/i386/i386.c:40245 #, fuzzy, gcc-internal-format @@ -25945,17 +25835,17 @@ msgstr "" #: config/i386/i386.c:51564 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "unsupported simdlen %d" -msgstr "ä¸æ”¯æŒçš„ ELF 文件类" +msgstr "ä¸æ”¯æŒçš„真ç†å“ˆå¸Œç±»åž‹ %d。\n" #: config/i386/i386.c:51583 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "unsupported return type %qT for simd\n" -msgstr "" +msgstr "%<operator new%>必须返回%qT" #: config/i386/i386.c:51605 #, fuzzy, gcc-internal-format msgid "unsupported argument type %qT for simd\n" -msgstr "%<__builtin_frame_address%>的实å‚ä¸å—支æŒ" +msgstr "需è¦ç±»åž‹%qT,但实å‚的类型为%qT" #: config/i386/i386.c:51889 #, gcc-internal-format @@ -25965,26 +25855,23 @@ msgstr "" #: config/i386/intelmic-mkoffload.c:241 config/i386/intelmic-mkoffload.c:301 #: config/i386/intelmic-mkoffload.c:338 config/nvptx/mkoffload.c:1008 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "cannot open %s" msgid "cannot open '%s'" -msgstr "ä¸èƒ½æ‰“å¼€ %s" +msgstr "æ— æ³•æ‰“å¼€â€œ%sâ€" #: config/i386/intelmic-mkoffload.c:428 #, fuzzy, gcc-internal-format -#| msgid "no input file specified" msgid "output file not specified" -msgstr "没有指定输入文件" +msgstr "输出文件" #: config/i386/intelmic-mkoffload.c:508 #, fuzzy, gcc-internal-format msgid "COLLECT_GCC must be set" -msgstr "COLLECT_LTO_WRAPPER 必须被设定。" +msgstr "环境å˜é‡ COLLECT_GCC 必须被设置" #: config/i386/intelmic-mkoffload.c:513 config/nvptx/mkoffload.c:959 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "field %qs not found" msgid "offload compiler %s not found" -msgstr "找ä¸åˆ°å—段%qs。" +msgstr " å´æ‰¾åˆ°â€œ%sâ€" #: config/i386/intelmic-mkoffload.c:528 #, fuzzy, gcc-internal-format @@ -25999,7 +25886,7 @@ msgstr "%qE属性åªèƒ½ä¸ºå…·æœ‰å¤–部链接的已åˆå§‹åŒ–çš„å˜é‡ä½¿ç”¨" #: config/i386/winnt.c:184 #, fuzzy, gcc-internal-format msgid "definition of static data member %q+D of dllimport%'d class" -msgstr "为 dllimport 类定义了é™æ€æ•°æ®æˆå‘˜%q+D" +msgstr "%q#D是一个é™æ€æ•°æ®æˆå‘˜ï¼›å®ƒåªèƒ½åœ¨å®šä¹‰æ—¶è¢«åˆå§‹åŒ–" #: config/i386/winnt.c:370 #, gcc-internal-format @@ -26007,9 +25894,9 @@ msgid "%q+D:'selectany' attribute applies only to initialized objects" msgstr "%q+D:‘selectany’属性åªå¯¹å·²åˆå§‹åŒ–的对象有效" #: config/i386/cygming.h:205 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-fPIC ignored for target (all code is position independent)" -msgstr "-f%s åœ¨ç›®æ ‡æœºä¸Šè¢«å¿½ç•¥(所有代ç 都是与ä½ç½®æ— 关的)" +msgstr "-fPIC åœ¨ç›®æ ‡æœºä¸Šè¢«å¿½ç•¥ (所有代ç 都是与ä½ç½®æ— 关的)" #: config/i386/cygming.h:211 #, gcc-internal-format, gfc-internal-format @@ -26111,12 +25998,12 @@ msgstr "#pragma GCC memregs éœ€è¦ [0..16] 范围内的数" #: config/m32c/m32c-pragma.c:114 #, fuzzy, gcc-internal-format msgid "junk at end of #pragma ADDRESS" -msgstr "%<#pragma pack%>末尾有垃圾å—符" +msgstr "#pragma longcall 末尾有垃圾å—符" #: config/m32c/m32c-pragma.c:119 #, fuzzy, gcc-internal-format msgid "malformed #pragma ADDRESS variable address" -msgstr "返回了局部å˜é‡çš„%q+D的地å€" +msgstr "è¦æ±‚寄å˜å™¨å˜é‡%qD的地å€ã€‚" #: config/m32c/m32c.c:454 #, gcc-internal-format, gfc-internal-format @@ -26456,22 +26343,22 @@ msgstr "éžé¢„期的 %d å—节 cop 指令" #: config/microblaze/microblaze.c:1723 #, fuzzy, gcc-internal-format msgid "-fPIC/-fpic not supported for this target" -msgstr "-fPIC å’Œ -fpic ä¸è¢«æ¤ç›®æ ‡æ‰€æ”¯æŒ" +msgstr "ä¸æ”¯æŒ -fpic" #: config/microblaze/microblaze.c:1735 #, fuzzy, gcc-internal-format msgid "%qs is an invalid argument to -mcpu=" -msgstr "-fdebug-prefix-map çš„å‚æ•°%qsæ— æ•ˆ" +msgstr "属性%qsçš„å‚æ•°æ— æ•ˆ" #: config/microblaze/microblaze.c:1784 #, gcc-internal-format msgid "-mxl-multiply-high can be used only with -mcpu=v6.00.a or greater" -msgstr "" +msgstr "-mxl-multiply-high åªèƒ½é…åˆ -mcpu=v6.00.a 或更大值使用" #: config/microblaze/microblaze.c:1800 #, gcc-internal-format msgid "-mxl-reorder can be used only with -mcpu=v8.30.a or greater" -msgstr "" +msgstr "-mxl-reorder åªèƒ½é…åˆ -mcpu=v8.30.a 或更大值使用" #: config/microblaze/microblaze.c:1806 #, gcc-internal-format @@ -26481,7 +26368,7 @@ msgstr "" #: config/microblaze/microblaze.c:1811 #, gcc-internal-format msgid "-mxl-multiply-high requires -mno-xl-soft-mul" -msgstr "" +msgstr "-mxl-multiply-high éœ€è¦ -mno-xl-soft-mul" #: config/mips/mips.c:1493 config/mips/mips.c:1497 #, gcc-internal-format @@ -26505,7 +26392,6 @@ msgstr "æ— æ³•å¤„ç†å¯¹%qsä¸ä¸€è‡´çš„调用" #: config/mips/mips.c:10332 #, fuzzy, gcc-internal-format -#| msgid "the %<interrupt%> attribute requires a MIPS32r2 processor" msgid "the %<interrupt%> attribute requires a MIPS32r2 processor or greater" msgstr "%<interrupt%>å±žæ€§éœ€è¦ MIPS32r2 处ç†å™¨" @@ -26590,7 +26476,6 @@ msgstr "%<-mgp64%>与 32 ä½ ABI 一起使用" #: config/mips/mips.c:17395 #, fuzzy, gcc-internal-format -#| msgid "the %qs architecture does not support the synci instruction" msgid "the %qs architecture does not support %<-mfp32%>" msgstr "%qs架构ä¸æ”¯æŒ synci 指令" @@ -26606,26 +26491,23 @@ msgstr "%<-mgp32%>å’Œ%<-mfp64%>åªæœ‰å½“使用 o32 ABI æ—¶æ‰èƒ½ä¸€èµ·ä½¿ç”¨" #: config/mips/mips.c:17426 #, fuzzy, gcc-internal-format -#| msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI" msgid "%<-mfpxx%> can only be used with the o32 ABI" msgstr "%<-mgp32%>å’Œ%<-mfp64%>åªæœ‰å½“使用 o32 ABI æ—¶æ‰èƒ½ä¸€èµ·ä½¿ç”¨" #: config/mips/mips.c:17430 #, fuzzy, gcc-internal-format -#| msgid "%<-mips3d%> requires %<-mpaired-single%>" msgid "%<-march=%s%> requires %<-mfp32%>" -msgstr "%<-mips3d%>需è¦%<-mpaired-single%>" +msgstr "%<-march=%s%>与所选 ABI ä¸å…¼å®¹" #: config/mips/mips.c:17432 -#, fuzzy, gcc-internal-format -#| msgid "%<-mips3d%> requires %<-mpaired-single%>" +#, gcc-internal-format msgid "%<-mfpxx%> requires %<-mlra%>" -msgstr "%<-mips3d%>需è¦%<-mpaired-single%>" +msgstr "%<-mfpxx%> éœ€è¦ %<-mlra%>" #: config/mips/mips.c:17448 config/mips/mips.c:17450 config/mips/mips.c:17463 #, fuzzy, gcc-internal-format msgid "%qs is incompatible with %qs" -msgstr "assert:%s 与 %s 赋值兼容" +msgstr "%qs必须与%qs一起使用" #. We have traditionally allowed non-abicalls code to use #. an LP64 form of o64. However, it would take a bit more @@ -26635,7 +26517,7 @@ msgstr "assert:%s 与 %s 赋值兼容" #: config/mips/mips.c:17457 #, fuzzy, gcc-internal-format msgid "the combination of %qs and %qs is incompatible with %qs" -msgstr "assert:%s 与 %s 赋值兼容" +msgstr "ä¸å…¼å®¹çš„地å€ç©ºé—´é™å®šç¬¦%qså’Œ%qs" #: config/mips/mips.c:17503 #, gcc-internal-format @@ -26645,11 +26527,10 @@ msgstr "%qs架构ä¸æ”¯æŒ Branch-Likely 指令" #: config/mips/mips.c:17518 #, fuzzy, gcc-internal-format msgid "the %qs architecture does not support madd or msub instructions" -msgstr "%qs架构ä¸æ”¯æŒ synci 指令" +msgstr "%qs架构ä¸æ”¯æŒé…对å•ç²¾åº¦æŒ‡ä»¤" #: config/mips/mips.c:17532 #, fuzzy, gcc-internal-format -#| msgid "the %qs architecture does not support paired-single instructions" msgid "the %qs architecture does not support odd single-precision registers" msgstr "%qs架构ä¸æ”¯æŒé…对å•ç²¾åº¦æŒ‡ä»¤" @@ -26675,13 +26556,11 @@ msgstr "ä¸èƒ½ä¸º%qs使用å°æ•°æ®è®¿é—®" #: config/mips/mips.c:17616 #, fuzzy, gcc-internal-format -#| msgid "the %qs architecture does not support paired-single instructions" msgid "the %qs architecture does not support %<-m%s=legacy%>" msgstr "%qs架构ä¸æ”¯æŒé…对å•ç²¾åº¦æŒ‡ä»¤" #: config/mips/mips.c:17623 #, fuzzy, gcc-internal-format -#| msgid "the %qs architecture does not support the synci instruction" msgid "the %qs architecture does not support %<-m%s=2008%>" msgstr "%qs架构ä¸æ”¯æŒ synci 指令" @@ -26707,9 +26586,8 @@ msgstr "%qs需è¦ä¸€ä¸ªèƒ½æä¾›%qsæŒ‡ä»¤çš„ç›®æ ‡æœº" #: config/mips/mips.c:17683 #, fuzzy, gcc-internal-format -#| msgid "the %qs architecture does not support the synci instruction" msgid "the %qs architecture does not support DSP instructions" -msgstr "%qs架构ä¸æ”¯æŒ synci 指令" +msgstr "%qs架构ä¸æ”¯æŒ Branch-Likely 指令" #: config/mips/mips.c:17785 #, gcc-internal-format @@ -26804,7 +26682,6 @@ msgstr "%qE属性的实å‚ä¸æ˜¯ä¸€ä¸ªå—符串常é‡" #: config/msp430/msp430.c:1469 #, fuzzy, gcc-internal-format -#| msgid "%qE attribute allows only an integer constant argument" msgid "__delay_cycles() only takes constant arguments" msgstr "%qE属性需è¦ä¸€ä¸ªæ•´å¸¸é‡ä½œä¸ºå®žå‚" @@ -26852,13 +26729,13 @@ msgstr "ä¸å…许多个ä¸æ–属性" #: config/nds32/nds32.c:2511 #, fuzzy, gcc-internal-format msgid "a nested function is not supported for reduced registers" -msgstr "嵌套函数在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" +msgstr "嵌套函数蹦床在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" #. The enum index value for array size is out of range. #: config/nds32/nds32.c:2314 #, fuzzy, gcc-internal-format msgid "intrinsic register index is out of range" -msgstr "æ¤æŒ‡ä»¤ä¸å¯„å˜å™¨æ— 效" +msgstr "ç±»åž‹ç´¢å¼•ç¼–å· %d 超出范围\n" #: config/nds32/nds32.c:2619 #, fuzzy, gcc-internal-format @@ -26868,7 +26745,7 @@ msgstr "è¿ä»£å˜é‡%qEç±»åž‹æ— æ•ˆ" #: config/nds32/nds32.c:2647 #, fuzzy, gcc-internal-format msgid "invalid id value for reset attribute" -msgstr "属性%qsçš„å‚æ•°æ— æ•ˆ" +msgstr "é‡ç½®å±žæ€§ä¸ºé»˜è®¤å€¼" #: config/nds32/nds32.c:2663 #, fuzzy, gcc-internal-format @@ -26883,7 +26760,7 @@ msgstr "属性%qsçš„å‚æ•°æ— æ•ˆ" #: config/nds32/nds32.c:2744 #, fuzzy, gcc-internal-format msgid "not support -fpic" -msgstr "%s ä¸æ”¯æŒ split_block" +msgstr "ä¸æ”¯æŒ -fpic" #: config/nios2/nios2.c:486 #, gcc-internal-format @@ -26976,9 +26853,9 @@ msgid "%<no-custom-%s%> does not accept arguments" msgstr "%s åªæŽ¥å— 2 个å‚æ•°" #: config/nios2/nios2.c:3152 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<custom-%s=%> requires argument" -msgstr "" +msgstr "%s:“--%sâ€é€‰é¡¹éœ€è¦ä¸€ä¸ªå‚æ•°\n" #: config/nios2/nios2.c:3162 #, gcc-internal-format, gfc-internal-format @@ -26993,29 +26870,27 @@ msgstr "" #: config/nios2/nios2.c:3181 #, fuzzy, gcc-internal-format msgid "%<%s%> is unknown" -msgstr "%qE的类型未知" +msgstr "%s%s:未知的主机。\n" #: config/nvptx/mkoffload.c:140 #, fuzzy, gcc-internal-format -#| msgid "deleting LTRANS input file %s: %m" msgid "deleting file %s: %m" -msgstr "åˆ é™¤ LTRANS 输出列表 %s:%m" +msgstr "åˆ é™¤ä¸´æ—¶ exp 文件 %s" #: config/nvptx/mkoffload.c:167 #, fuzzy, gcc-internal-format -#| msgid "malformed spec function name" msgid "malformed ptx file" -msgstr "spec 函数åæ ¼å¼é”™è¯¯" +msgstr "异常的 URL" #: config/nvptx/mkoffload.c:911 #, fuzzy, gcc-internal-format msgid "COLLECT_GCC must be set." -msgstr "COLLECT_LTO_WRAPPER 必须被设定。" +msgstr "环境å˜é‡ COLLECT_GCC 必须被设置" #: config/nvptx/mkoffload.c:1002 #, fuzzy, gcc-internal-format msgid "cannot open intermediate ptx file" -msgstr "%sï¼šæ— æ³•æ‰“å¼€è¾“å‡ºæ–‡ä»¶ï¼š%s\n" +msgstr "æ— æ³•æ‰“å¼€è¾“å…¥æ–‡ä»¶â€œ%sâ€" #: config/nvptx/nvptx.c:1287 #, gcc-internal-format @@ -27024,7 +26899,6 @@ msgstr "" #: config/nvptx/nvptx.c:2007 #, fuzzy, gcc-internal-format -#| msgid "%qE attribute ignored on types" msgid "%qE attribute requires a void return type" msgstr "%qE属性在类型上被忽略" @@ -27055,29 +26929,26 @@ msgstr "对é½è¾¹ç•Œ(%u) 对 %s æ¥è¯´è¶…过了全局共åŒæ•°æ®çš„æœ€å¤§å¯¹é½ #. Address spaces are currently only supported by C. #: config/rl78/rl78.c:379 -#, fuzzy, gcc-internal-format -#| msgid "-mmulticore can only be used with BF561" +#, gcc-internal-format msgid "-mes0 can only be used with C" -msgstr "-mmulticore åªèƒ½ç”¨äºŽ BF561" +msgstr "-mes0 仅适用于 C æºç " #: config/rl78/rl78.c:757 #, fuzzy, gcc-internal-format -#| msgid "%qE attribute only applies to functions" msgid "naked attribute only applies to functions" -msgstr "%qE属性åªèƒ½ç”¨äºŽå‡½æ•°" +msgstr "%qs属性åªèƒ½åº”用于函数" #: config/rl78/rl78.c:781 #, fuzzy, gcc-internal-format -#| msgid "%qE attribute only applies to functions" msgid "%qE attribute doesn't apply to functions" -msgstr "%qE属性åªèƒ½ç”¨äºŽå‡½æ•°" +msgstr "ä¸èƒ½å‘ç±»åž‹æ·»åŠ å±žæ€§%qE" #. This is unpredictable, as we're truncating off usable address #. bits. #: config/rl78/rl78.c:1120 #, fuzzy, gcc-internal-format msgid "converting far pointer to near pointer" -msgstr "å°†%<false%>转æ¢ä¸ºæŒ‡å‘%2$qDçš„å®žå‚ %1$P 的指针类型" +msgstr "å°† NULL 转æ¢ä¸ºéžæŒ‡é’ˆç±»åž‹" #: config/rs6000/host-darwin.c:59 #, gcc-internal-format @@ -27216,7 +27087,7 @@ msgstr "æ²¡æœ‰ä¸ºæ¤ ABI é…置:‘%s’" #: config/rs6000/rs6000.c:3412 #, fuzzy, gcc-internal-format msgid "not configured for SPE instruction set" -msgstr "ä¸ä½¿ç”¨ PowerPC 指令集" +msgstr "使用 PowerPC-64 指令集" #: config/rs6000/rs6000.c:3418 #, gcc-internal-format @@ -27244,40 +27115,39 @@ msgid "-mstring is not supported on little endian systems" msgstr "-mstring 在å°ç«¯åœ¨å‰çš„系统上ä¸å—支æŒ" #: config/rs6000/rs6000.c:3560 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "-mcrypto requires -maltivec" -msgstr "" +msgstr "åœç”¨è‡ªåŠ¨éœ€æ±‚:截å–" #: config/rs6000/rs6000.c:3567 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-mdirect-move requires -mvsx" -msgstr "--resource éœ€è¦ -o" +msgstr "-mdirect-move éœ€è¦ -mvsx" #: config/rs6000/rs6000.c:3574 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "-mpower8-vector requires -maltivec" -msgstr "" +msgstr "åœç”¨è‡ªåŠ¨éœ€æ±‚:截å–" #: config/rs6000/rs6000.c:3581 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-mpower8-vector requires -mvsx" -msgstr "--resource éœ€è¦ -o" +msgstr "-mpower8-vector éœ€è¦ -mvsx" #: config/rs6000/rs6000.c:3588 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-mvsx-timode requires -mvsx" -msgstr "--resource éœ€è¦ -o" +msgstr "-mvsx-timode éœ€è¦ -mvsx" #: config/rs6000/rs6000.c:3595 #, fuzzy, gcc-internal-format -#| msgid "-msingle-float option equivalent to -mhard-float" msgid "-mhard-dfp requires -mhard-float" -msgstr "-msingle-float 选项ç‰åŒäºŽ -mhard-float" +msgstr "ä¸æ”¯æŒ -mhard-float" #: config/rs6000/rs6000.c:3636 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-mupper-regs-df requires -mvsx" -msgstr "--resource éœ€è¦ -o" +msgstr "-mupper-regs-df éœ€è¦ -mvsx" #: config/rs6000/rs6000.c:3643 #, gcc-internal-format @@ -27341,7 +27211,6 @@ msgstr "ä¸èƒ½åœ¨å‘é‡å¯„å˜å™¨ä¸ä¼ 递å‚æ•°ï¼Œå› ä¸º altivec 指令集已被 #: config/rs6000/rs6000.c:10694 #, fuzzy, gcc-internal-format -#| msgid "the ABI of passing structure with complex float member has changed in GCC 4.4" msgid "the ABI of passing homogeneous float aggregates has changed in GCC 5" msgstr "在 GCC 4.4 ä¸ä¼ 递带有å¤æ•°æµ®ç‚¹æˆå‘˜ç»“æž„çš„ ABI 有了改å˜" @@ -27353,22 +27222,22 @@ msgstr "GCC ä¼ é€’å‘é‡å¼•ç”¨ï¼šéžæ ‡å‡†çš„ ABI 扩展,ä¸ä¿è¯å…¼å®¹æ€§" #: config/rs6000/rs6000.c:11657 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "internal error: builtin function %s already processed" -msgstr "内部错误:对 %s 的内建函数已ç»å¤„ç†è¿‡ã€‚" +msgstr "内部错误:内建函数 %s 没有类型" #: config/rs6000/rs6000.c:12099 #, fuzzy, gcc-internal-format msgid "argument 1 must be an 8-bit field value" -msgstr "å®žå‚ 1 必须是一个 5 ä½æœ‰ç¬¦å·å—é¢å€¼" +msgstr "å®žå‚ 1 必须是一个 5 ä½æœ‰ç¬¦å·å—é¢é‡" #: config/rs6000/rs6000.c:12146 #, gcc-internal-format msgid "argument 1 must be a 5-bit signed literal" -msgstr "å®žå‚ 1 必须是一个 5 ä½æœ‰ç¬¦å·å—é¢å€¼" +msgstr "å®žå‚ 1 必须是一个 5 ä½æœ‰ç¬¦å·å—é¢é‡" #: config/rs6000/rs6000.c:12249 config/rs6000/rs6000.c:13740 #, gcc-internal-format msgid "argument 2 must be a 5-bit unsigned literal" -msgstr "å®žå‚ 2 必须是一个 5 ä½æ— 符å·å—é¢å€¼" +msgstr "å®žå‚ 2 必须是一个 5 ä½æ— 符å·å—é¢é‡" #: config/rs6000/rs6000.c:12288 #, gcc-internal-format @@ -27382,14 +27251,13 @@ msgstr "__builtin_altivec_predicate 的第 1 个实å‚越界" #: config/rs6000/rs6000.c:12714 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "%srtd%s is ignored in 64bit mode" msgid "builtin %s is only valid in 64-bit mode" msgstr "%srtd%s 在 64 ä½æ¨¡å¼ä¸‹è¢«å¿½ç•¥" #: config/rs6000/rs6000.c:12763 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "argument %d must be an unsigned literal" -msgstr "å®žå‚ 2 必须是一个 5 ä½æ— 符å·å—é¢å€¼" +msgstr "å®žå‚ 2 必须是一个 5 ä½æ— 符å·å—é¢é‡" #: config/rs6000/rs6000.c:12765 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -27399,17 +27267,17 @@ msgstr "__builtin_spe_predicate 的第 1 个实å‚越界" #: config/rs6000/rs6000.c:12928 #, gcc-internal-format msgid "argument 3 must be a 4-bit unsigned literal" -msgstr "å®žå‚ 3 必须是一个 4 ä½æ— 符å·å—é¢å€¼" +msgstr "å®žå‚ 3 必须是一个 4 ä½æ— 符å·å—é¢é‡" #: config/rs6000/rs6000.c:12946 #, gcc-internal-format msgid "argument 3 must be a 2-bit unsigned literal" -msgstr "å®žå‚ 2 必须是一个 2 ä½æ— 符å·å—é¢å€¼" +msgstr "å®žå‚ 2 必须是一个 2 ä½æ— 符å·å—é¢é‡" #: config/rs6000/rs6000.c:12966 #, gcc-internal-format msgid "argument 3 must be a 1-bit unsigned literal" -msgstr "å®žå‚ 2 必须是一个 1 ä½æ— 符å·å—é¢å€¼" +msgstr "å®žå‚ 2 必须是一个 1 ä½æ— 符å·å—é¢é‡" #: config/rs6000/rs6000.c:12978 #, fuzzy, gcc-internal-format @@ -27418,15 +27286,13 @@ msgstr "æ•°å—必须是 0 或 1" #: config/rs6000/rs6000.c:12990 #, fuzzy, gcc-internal-format -#| msgid "argument 3 must be a 1-bit unsigned literal" msgid "argument 1 must be a 1-bit unsigned literal" -msgstr "å®žå‚ 2 必须是一个 1 ä½æ— 符å·å—é¢å€¼" +msgstr "å®žå‚ 2 必须是一个 1 ä½æ— 符å·å—é¢é‡" #: config/rs6000/rs6000.c:13004 #, fuzzy, gcc-internal-format -#| msgid "argument 2 must be a 5-bit unsigned literal" msgid "argument 2 must be a 6-bit unsigned literal" -msgstr "å®žå‚ 2 必须是一个 5 ä½æ— 符å·å—é¢å€¼" +msgstr "å®žå‚ 2 必须是一个 5 ä½æ— 符å·å—é¢é‡" #: config/rs6000/rs6000.c:13016 #, fuzzy, gcc-internal-format @@ -27559,9 +27425,9 @@ msgid "no profiling of 64-bit code for this ABI" msgstr "æ¤ ABI ä¸æ”¯æŒå–æ · 64 ä½ä»£ç " #: config/rs6000/rs6000.c:28801 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option." -msgstr "" +msgstr "æ‚¨æ— æ³•éœ€åœ°å€çš„嵌套的函数如果您使用 -mno-pointers-to-nested-functions 选项。" #: config/rs6000/rs6000.c:28883 #, gcc-internal-format @@ -27591,7 +27457,7 @@ msgstr "ä¸ä½¿ç”¨ -mvsx 时,在 AltiVec 类型ä¸ä½¿ç”¨%<long%>对 64 ä½ä»£ç #: config/rs6000/rs6000.c:28898 #, gcc-internal-format msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>" -msgstr "ä¸å»ºè®®åœ¨ AltiVec 类型ä¸ä½¿ç”¨%<long%>;请改用%<int%>" +msgstr "已弃用在 AltiVec 类型ä¸ä½¿ç”¨%<long%>;请改用%<int%>" #: config/rs6000/rs6000.c:28903 #, gcc-internal-format @@ -27616,17 +27482,17 @@ msgstr "生æˆæ¡ä»¶å¾®ä»£ç 指令 %s\t[%s] #%d" #: config/rs6000/rs6000.c:32533 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "invalid cpu \"%s\" for %s\"%s\"%s" -msgstr "代ç ‘%c’的æ“ä½œæ•°æ— æ•ˆ" +msgstr "%sï¼šæ— æ•ˆçš„ç›®çš„ï¼š%s\n" #: config/rs6000/rs6000.c:32536 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "%s\"%s\"%s is not allowed" -msgstr "在这里ä¸å…许使用%<#pragma%>" +msgstr "%s:ä¸å…许空æƒå—符串" #: config/rs6000/rs6000.c:32538 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "%s\"%s\"%s is invalid" -msgstr "spec‘%sâ€™æ˜¯æ— æ•ˆçš„" +msgstr "æ— æ•ˆçš„ %s å—组:%s\n" #. Definitions of target machine for GNU compiler, #. for IBM RS/6000 POWER running AIX version 4.3. @@ -27758,9 +27624,9 @@ msgstr "éœ€è¦ -maix64:目å‰å°šä¸æ”¯æŒ 64 ä½è®¡ç®—å’Œ 32 ä½å¯»å€æ··ç”¨" #: config/rs6000/aix61.h:47 config/rs6000/freebsd64.h:107 #: config/rs6000/linux64.h:139 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-mcmodel incompatible with other toc options" -msgstr "-fdirectives-only 与 -traditional ä¸å…¼å®¹" +msgstr "-mcmodel incompatible 与其他 toc 选项ä¸å…¼å®¹" #: config/rs6000/e500.h:37 #, fuzzy, gcc-internal-format @@ -27768,14 +27634,14 @@ msgid "AltiVec and SPE instructions cannot coexist" msgstr "AltiVec å’Œ E500 指令ä¸èƒ½å…±å˜" #: config/rs6000/e500.h:39 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "VSX and SPE instructions cannot coexist" -msgstr "VSX å’Œ E500 指令ä¸èƒ½å…±å˜" +msgstr "VSX å’Œ SPE 指令ä¸èƒ½å…±å˜" #: config/rs6000/e500.h:41 #, fuzzy, gcc-internal-format msgid "64-bit SPE not supported" -msgstr "ä¸æ”¯æŒ 64 ä½ E500" +msgstr "SPE 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" #: config/rs6000/e500.h:43 #, gcc-internal-format @@ -27788,9 +27654,9 @@ msgid "-m64 requires a PowerPC64 cpu" msgstr "-m64 éœ€è¦ PowerPC64 CPU" #: config/rs6000/linux64.h:112 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-mcall-aixdesc incompatible with -mabi=elfv2" -msgstr "-mas100-syntax 与 -gdwarf ä¸å…¼å®¹" +msgstr "-mcall-aixdesc 与 -mabi=elfv2 ä¸å…¼å®¹" #. The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to #. get control in TARGET_OPTION_OVERRIDE. @@ -27860,9 +27726,9 @@ msgid "__builtin_rx_%s takes 'C', 'Z', 'S', 'O', 'I', or 'U'" msgstr "%q+Dåªå¸¦é›¶æˆ–两个å‚æ•°" #: config/rx/rx.c:2580 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "use __builtin_rx_mvtc (0, ... ) to write arbitrary values to PSW" -msgstr "" +msgstr "使用 __builtin_rx_mvtc (0,…) 到写入任æ„值到 PSW" #: config/rx/rx.c:2769 #, gcc-internal-format @@ -27880,19 +27746,19 @@ msgid "total size of local variables exceeds architecture limit" msgstr "局部å˜é‡å¤§å°æ€»å’Œè¶…过架构æžé™ã€‚" #: config/s390/s390.c:8794 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." -msgstr "" +msgstr "å½±æ ¼å¤§å°çš„函数 %qs 是 %wd å—节超出用户æä¾›çš„å †å é™åˆ¶çš„ %d å—节。 unconditional é™·é˜±è¢«å·²åŠ å…¥ã€‚" #: config/s390/s390.c:8809 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." -msgstr "" +msgstr "å½±æ ¼å¤§å°çš„函数 %qs 是 %wd å—节该项是超过åŠå †å 大å°ã€‚动æ€æ£€æŸ¥ä¼šæ— 法是 reliable。没有检查å‘出用于这个函数。" #: config/s390/s390.c:8837 #, fuzzy, gcc-internal-format msgid "frame size of %qs is %wd bytes" -msgstr "%qs的框架大å°æ˜¯" +msgstr "æ ˆå¸§å¤§å°ä¸æ˜¯ 8 å—节的å€æ•°ï¼š%wd" #: config/s390/s390.c:8841 #, gcc-internal-format @@ -27936,9 +27802,9 @@ msgid "hardware decimal floating point instructions not available in ESA/390 mod msgstr "硬件å进制浮点指令在 ESA/390 模å¼ä¸‹ä¸å¯ç”¨" #: config/s390/s390.c:12027 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" -msgstr "-mhard-dfp ä¸èƒ½ä¸Ž -msoft-float åŒæ—¶ä½¿ç”¨" +msgstr "-mhard-dfp can%'t be used in conjunction with -msoft-float" #: config/s390/s390.c:12055 #, gcc-internal-format @@ -28019,7 +27885,7 @@ msgstr "需è¦å¦ä¸€ä¸ªè°ƒç”¨ç¯¡æ”¹çš„通用寄å˜å™¨" #: config/sh/sh.c:12625 #, fuzzy, gcc-internal-format msgid "need a call-clobbered target register" -msgstr "需è¦ä¸€ä¸ªè°ƒç”¨ç¯¡æ”¹çš„通用寄å˜å™¨" +msgstr "调用篡改寄å˜å™¨ç”¨ä½œå…¨å±€å¯„å˜å™¨å˜é‡" #. FIXME #: config/sh/netbsd-elf.h:73 @@ -28066,7 +27932,7 @@ msgstr "给予é‡è½½å‡½æ•°%qsçš„å‚数太少" #: config/spu/spu-c.c:176 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "too many arguments to overloaded function %s" -msgstr "给予é‡è½½å‡½æ•°%qsçš„å‚数太多" +msgstr "%s:过多的选项\n" #: config/spu/spu-c.c:188 #, gcc-internal-format, gfc-internal-format @@ -28074,14 +27940,14 @@ msgid "parameter list does not match a valid signature for %s()" msgstr "å½¢å‚表ä¸åŒ¹é… %s() 的有效ç¾å" #: config/spu/spu.c:291 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "bad value (%s) for -march= switch" -msgstr "-mtune= 所带å‚æ•°%<%s%>ä¸æ£ç¡®" +msgstr "-march= 的值(%s)ä¸æ£ç¡®" #: config/spu/spu.c:302 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "bad value (%s) for -mtune= switch" -msgstr "-mtune= 所带å‚æ•°%<%s%>ä¸æ£ç¡®" +msgstr "-mtune= 开关的值 (%s) 错误" #: config/spu/spu.c:5225 config/spu/spu.c:5228 #, gcc-internal-format @@ -28141,7 +28007,7 @@ msgstr "__BELOW100__ 属性ä¸å…许用于自动å˜å‚¨ç±»" #: config/tilegx/tilegx.c:3582 config/tilepro/tilepro.c:3150 #, fuzzy, gcc-internal-format msgid "bad builtin icode" -msgstr "错误的内建代ç " +msgstr "错误的内建 fcode" #: config/tilegx/tilegx.c:3623 config/tilepro/tilepro.c:3176 #, fuzzy, gcc-internal-format @@ -28241,7 +28107,7 @@ msgstr "å †æ ˆç©ºé—´ç§»é™¤é‡é”™è¯¯ï¼š%d" #: config/v850/v850.c:2401 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "bogus JARL construction: %d" -msgstr "误判的 JARL æž„é€ ï¼š%d\n" +msgstr "误判的 JR æž„é€ ï¼š%d" #: config/v850/v850.c:2698 #, gcc-internal-format, gfc-internal-format @@ -28265,34 +28131,33 @@ msgstr "è¦å‡†å¤‡å¤ªå¤šçš„å †æ ˆç©ºé—´ï¼š%d" #: config/visium/visium.c:659 #, fuzzy, gcc-internal-format -#| msgid "attribute interrupt_handler is not compatible with -m5-compact" msgid "an interrupt handler cannot be compiled with -muser-mode" msgstr "属性 interrupt_handler 与 -m5-compact ä¸å…¼å®¹" #: config/vms/vms-c.c:53 #, fuzzy, gcc-internal-format msgid "junk at end of #pragma __nostandard" -msgstr "#pragma ghs starttda 末尾有垃圾å—符" +msgstr "%<#pragma message%>末尾有垃圾å—符" #: config/vms/vms-c.c:64 #, fuzzy, gcc-internal-format msgid "junk at end of #pragma __standard" -msgstr "#pragma %s 末尾有垃圾å—符" +msgstr "%<#pragma message%>末尾有垃圾å—符" #: config/vms/vms-c.c:89 #, fuzzy, gcc-internal-format msgid "malformed '#pragma member_alignment', ignoring" -msgstr "%<#pragma align%>æ ¼å¼é”™è¯¯ - 已忽略" +msgstr "%<#pragma align%>指定的对é½è¾¹ç•Œæ— 效,忽略" #: config/vms/vms-c.c:104 #, gcc-internal-format, gfc-internal-format msgid "unknown '#pragma member_alignment' name %s" -msgstr "" +msgstr "未知“#pragma member_alignmentâ€å称 %s" #: config/vms/vms-c.c:109 #, fuzzy, gcc-internal-format msgid "malformed '#pragma member_alignment'" -msgstr "%<#pragma align%>æ ¼å¼é”™è¯¯" +msgstr "%<#pragma pack%>æ ¼å¼é”™è¯¯ - 已忽略" #: config/vms/vms-c.c:143 #, fuzzy, gcc-internal-format @@ -28310,19 +28175,19 @@ msgid "malformed '#pragma extern_model', ignoring" msgstr "‘#pragma optionsâ€™æ ¼å¼é”™è¯¯ - 已忽略" #: config/vms/vms-c.c:232 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "extern model globalvalue" -msgstr "" +msgstr "线程模型:%s\n" #: config/vms/vms-c.c:237 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "unknown '#pragma extern_model' model '%s'" -msgstr "" +msgstr "未知‘# pragma externmodel’å¼æ ·â€˜%s’(_M)" #: config/vms/vms-c.c:243 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "junk at end of '#pragma extern_model'" -msgstr "%<#pragma extern_prefix%>末尾有垃圾å—符" +msgstr "'#pragma extern_model' 末尾有垃圾å—符" #: config/vms/vms-c.c:257 #, fuzzy, gcc-internal-format @@ -28332,12 +28197,12 @@ msgstr "%<#pragma message%>æ ¼å¼é”™è¯¯ï¼Œå·²å¿½ç•¥" #: config/vms/vms-c.c:282 config/vms/vms-c.c:288 #, fuzzy, gcc-internal-format msgid "malformed '#pragma __extern_prefix', ignoring" -msgstr "#pragma extern_prefix æ ¼å¼é”™è¯¯ï¼Œå·²å¿½ç•¥" +msgstr "å¿½ç•¥æ ¼å¼é”™è¯¯çš„ #pragma longcall" #: config/vms/vms-c.c:321 config/vms/vms-c.c:341 #, fuzzy, gcc-internal-format msgid "malformed %<#pragma %s%>, ignoring" -msgstr "%<#pragma %s%>æ ¼å¼é”™è¯¯ï¼Œå·²å¿½ç•¥" +msgstr "å¿½ç•¥æ ¼å¼é”™è¯¯çš„ #pragma longcall" #: config/vms/vms-c.c:337 #, fuzzy, gcc-internal-format @@ -28386,9 +28251,8 @@ msgstr "" #: ada/gcc-interface/trans.c:1530 ada/gcc-interface/trans.c:1536 #, fuzzy, gcc-internal-format -#| msgid "template parameters cannot be friends" msgid "parent subprogram cannot be inlined" -msgstr "模æ¿å‚æ•°ä¸èƒ½æ˜¯å‹å…ƒ" +msgstr "当内è”å‡½æ•°æ— æ³•è¢«å†…è”时给出è¦å‘Š" #: ada/gcc-interface/trans.c:1534 #, gcc-internal-format @@ -28402,7 +28266,6 @@ msgstr "属性%qsçš„å…ƒç´ ç±»åž‹æ— æ•ˆ" #: ada/gcc-interface/utils.c:3658 #, fuzzy, gcc-internal-format -#| msgid "number of components of the vector not a power of two" msgid "number of components of vector not a power of two" msgstr "å‘é‡ä¸åˆ†é‡æ•°ä¸æ˜¯ 2 çš„æŸæ¬¡æ–¹" @@ -28425,7 +28288,7 @@ msgstr "%qs属性åªèƒ½ç”¨äºŽå¸¦å¯å˜å‚数函数" #: ada/gcc-interface/utils.c:5819 #, fuzzy, gcc-internal-format msgid "%qE attribute has no effect" -msgstr "ä¸å»ºè®®ä½¿ç”¨ã€‚æ¤å¼€å…³ä¸èµ·ä½œç”¨ã€‚" +msgstr "è¯å¥ä¸èµ·ä½œç”¨" #: ada/gcc-interface/utils.c:5943 #, gcc-internal-format @@ -28435,9 +28298,8 @@ msgstr "%qs属性åªèƒ½ä¸ºæ•°ç»„类型使用" #: c/c-array-notation.c:229 c/c-array-notation.c:258 cp/call.c:7581 #: cp/cp-array-notation.c:264 #, fuzzy, gcc-internal-format -#| msgid "invalid option argument %qs" msgid "Invalid builtin arguments" -msgstr "æ— æ•ˆçš„é€‰é¡¹å‚æ•°%qs" +msgstr "%<__builtin_frame_address%>的实å‚æ— æ•ˆ" #: c/c-array-notation.c:265 cp/cp-array-notation.c:271 #, gcc-internal-format @@ -28448,7 +28310,7 @@ msgstr "" #: cp/cp-array-notation.c:620 #, fuzzy, gcc-internal-format msgid "%qE cannot be scalar when %qE is not" -msgstr "%qDä¸èƒ½è¢«å£°æ˜Žä¸ºå¹¿ä¹‰å¸¸è¡¨è¾¾å¼" +msgstr "找ä¸åˆ°%2$qE超类%1$qE的接å£å£°æ˜Ž" #: c/c-array-notation.c:799 cp/cp-array-notation.c:673 #, fuzzy, gcc-internal-format @@ -28664,7 +28526,7 @@ msgstr "typedef%q+Dé‡å®šä¹‰æ—¶å…·æœ‰ä¸åŒç±»åž‹" #: c/c-decl.c:1995 #, fuzzy, gcc-internal-format msgid "redefinition of typedef %q+D with variably modified type" -msgstr "éžåµŒå¥—函数有动æ€å¯å˜ç±»åž‹" +msgstr "typedef%q+Dé‡å®šä¹‰æ—¶å…·æœ‰ä¸åŒç±»åž‹" #: c/c-decl.c:2000 #, gcc-internal-format @@ -28738,7 +28600,6 @@ msgstr "%q+D带有 noinline 属性的声明出现在其内è”声明之åŽ" #: c/c-decl.c:2263 c/c-decl.c:2269 c/c-decl.c:2275 c/c-decl.c:2281 #, fuzzy, gcc-internal-format -#| msgid "declaration of %q+D with attribute noinline follows inline declaration " msgid "declaration of %q+D with attribute %qs follows declaration with attribute %qs" msgstr "%q+D带有 noinline 属性的声明出现在其内è”声明之åŽ" @@ -28795,7 +28656,6 @@ msgstr "éšå¼å£°æ˜Žä¸Žå†…建函数%qDä¸å…¼å®¹" #: c/c-decl.c:3371 #, fuzzy, gcc-internal-format -#| msgid "invalid redeclaration of %q+D" msgid "include %qs or provide a declaration of %qD" msgstr "对%q+#Dæ— æ•ˆçš„é‡å£°æ˜Ž" @@ -28948,7 +28808,7 @@ msgstr "空声明ä¸ç±»åž‹é™å®šæ— 用" #: c/c-decl.c:4237 #, fuzzy, gcc-internal-format msgid "useless %<_Alignas%> in empty declaration" -msgstr "空声明ä¸%<__thread%>æ— ç”¨" +msgstr "空声明ä¸ç±»åž‹é™å®šæ— 用" #: c/c-decl.c:4244 c/c-parser.c:1594 #, gcc-internal-format @@ -29176,7 +29036,7 @@ msgstr "é‡å¤çš„%<volatile%>" #: c/c-decl.c:5522 #, fuzzy, gcc-internal-format msgid "duplicate %<_Atomic%>" -msgstr "é‡å¤çš„%<restrict%>" +msgstr "é‡å¤é”®å€¼" #: c/c-decl.c:5525 #, gcc-internal-format, gfc-internal-format @@ -29184,9 +29044,9 @@ msgid "conflicting named address spaces (%s vs %s)" msgstr "冲çªçš„有å地å€ç©ºé—´(%så’Œ%s)" #: c/c-decl.c:5543 c/c-parser.c:2460 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<_Atomic%>-qualified array type" -msgstr "" +msgstr "%<#pragma omp atomic%>表达å¼ç±»åž‹æ— 效" #: c/c-decl.c:5557 #, gcc-internal-format @@ -29261,7 +29121,7 @@ msgstr "嵌套函数%qE被声明为%<extern%>" #: c/c-decl.c:5632 #, fuzzy, gcc-internal-format msgid "function-scope %qE implicitly auto and declared %qs" -msgstr "函数作用域的%qEéšå¼ä¸º auto,å´è¢«å£°æ˜Žä¸º%<__thread%>" +msgstr "函数作用域的%qséšå¼ä¸º auto,å´è¢«å£°æ˜Žä¸º%<__thread%>" #. Only the innermost declarator (making a parameter be of #. array type which is converted to pointer type) @@ -29349,9 +29209,8 @@ msgstr "%<[*]%>ä¸åœ¨å£°æ˜Žä¸" #: c/c-decl.c:5960 #, fuzzy, gcc-internal-format -#| msgid "array type has incomplete element type" msgid "array type has incomplete element type %qT" -msgstr "æ•°ç»„å…ƒç´ çš„ç±»åž‹ä¸å®Œå…¨" +msgstr "%2$qD的第 %1$P 个形å‚的类型%3$qTä¸å®Œå…¨" #: c/c-decl.c:6055 #, gcc-internal-format @@ -29387,7 +29246,7 @@ msgstr "忽略函数返回类型的类型é™å®š" #: c/c-decl.c:6569 c/c-parser.c:2462 #, fuzzy, gcc-internal-format msgid "%<_Atomic%>-qualified function type" -msgstr "ISO C ä¸å…许使用 const 或 volatile é™å®šå‡½æ•°ç±»åž‹" +msgstr "调用了有é™å®š void 返回类型的函数" #: c/c-decl.c:6134 c/c-decl.c:6332 c/c-decl.c:6459 c/c-decl.c:6574 #, gcc-internal-format @@ -29432,7 +29291,7 @@ msgstr "为结构å—段指定了%qs" #: c/c-decl.c:6254 #, fuzzy, gcc-internal-format msgid "bit-field %qE has atomic type" -msgstr "ä½æ®µ%qsç±»åž‹æ— æ•ˆ" +msgstr "å—段%qE的类型ä¸å®Œå…¨" #: c/c-decl.c:6256 #, fuzzy, gcc-internal-format @@ -29462,7 +29321,7 @@ msgstr "ä¸ºæ— åå½¢å‚指定了%qs" #: c/c-decl.c:6279 #, fuzzy, gcc-internal-format msgid "alignment specified for bit-field %qE" -msgstr "ä¸èƒ½ä¸º%q+D指定对é½" +msgstr "为结构å—段%2$qE指定了%1$qs" #: c/c-decl.c:6281 #, fuzzy, gcc-internal-format @@ -29472,17 +29331,17 @@ msgstr "ä¸ºæ— åå½¢å‚指定了%qs" #: c/c-decl.c:6284 #, fuzzy, gcc-internal-format msgid "alignment specified for function %qE" -msgstr "å‘函数%qD赋值" +msgstr "ä¸èƒ½ä¸º%q+D指定对é½" #: c/c-decl.c:6291 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of %qE" -msgstr "" +msgstr "%<Alignas%(_A)>è¯´æ˜Žç¬¦æ— æ³•ç¼©å°å¯¹é½çš„ %qE" #: c/c-decl.c:6294 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<_Alignas%> specifiers cannot reduce alignment of unnamed field" -msgstr "" +msgstr "%<Alignas%(_A)>è¯´æ˜Žç¬¦æ— æ³•ç¼©å°å¯¹é½çš„未命åå—段" #: c/c-decl.c:6340 #, gcc-internal-format @@ -29750,7 +29609,7 @@ msgstr "å¯å˜æ•°ç»„是结构ä¸çš„唯一æˆå‘˜" #: c/c-decl.c:7731 cp/class.c:6493 #, fuzzy, gcc-internal-format msgid "type %qT is too large" -msgstr "数组%qE太大" +msgstr "对已定义的数æ®ç±»åž‹æ¥è¯´å€¼è¿‡å¤§" #: c/c-decl.c:7827 #, gcc-internal-format @@ -29841,7 +29700,7 @@ msgstr "%qD的返回类型ä¸æ˜¯%<int%>" #: c/c-decl.c:8410 #, fuzzy, gcc-internal-format msgid "%<_Atomic%>-qualified return type of %qD" -msgstr "ISO C ä¸å…许使用 const 或 volatile é™å®šå‡½æ•°ç±»åž‹" +msgstr "调用了有é™å®š void 返回类型的函数" #: c/c-decl.c:8417 #, gcc-internal-format @@ -30027,20 +29886,17 @@ msgid "ISO C does not support saturating types" msgstr "ISO C ä¸æ”¯æŒé¥±å’Œç±»åž‹" #: c/c-decl.c:9881 -#, fuzzy, gcc-internal-format -#| msgid "ISO C does not support %<__int128%> type" +#, gcc-internal-format msgid "ISO C does not support %<__int%d%> types" -msgstr "ISO C90 ä¸æ”¯æŒ%<__int128%>类型" +msgstr "ISO C ä¸æ”¯æŒ %<__int%d%> 类型" #: c/c-decl.c:9901 #, fuzzy, gcc-internal-format -#| msgid "%<__int128%> is not supported for this target" msgid "%<__int%d%> is not supported on this target" -msgstr "%<__int128%>在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" +msgstr "嵌套函数在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" #: c/c-decl.c:9943 #, fuzzy, gcc-internal-format -#| msgid "ISO C90 does not support complex types" msgid "ISO C90 does not support boolean types" msgstr "ISO C90 ä¸æ”¯æŒå¤æ•°ç±»åž‹" @@ -30077,27 +29933,27 @@ msgstr "%qE没有出现在声明的开头" #: c/c-decl.c:10259 #, fuzzy, gcc-internal-format msgid "%qE used with %<auto%>" -msgstr "%<__thread%>与%<auto%>一起使用" +msgstr "%qEä¸èƒ½ç”¨ä½œå‡½æ•°" #: c/c-decl.c:10261 #, fuzzy, gcc-internal-format msgid "%qE used with %<register%>" -msgstr "%<__thread%>与%<register%>一起使用" +msgstr "æ— æ•ˆçš„å寄å˜å™¨%qE" #: c/c-decl.c:10263 #, fuzzy, gcc-internal-format msgid "%qE used with %<typedef%>" -msgstr "%<__thread%>与%<typedef%>一起使用" +msgstr "%qEä¸æ˜¯ä¸€ä¸ª typedef 类型,也ä¸æ˜¯ä¸€ä¸ªå†…建类型" #: c/c-decl.c:10277 c/c-parser.c:6681 #, fuzzy, gcc-internal-format msgid "ISO C99 does not support %qE" -msgstr "%s ä¸æ”¯æŒ %s" +msgstr "ISO C90 ä¸æ”¯æŒ%<_Static_assert%>" #: c/c-decl.c:10280 c/c-parser.c:6684 #, fuzzy, gcc-internal-format msgid "ISO C90 does not support %qE" -msgstr "ISO C90 ä¸æ”¯æŒ%<long long%>" +msgstr "ISO C90 ä¸æ”¯æŒ%<[*]%>数组声明" #: c/c-decl.c:10292 #, gcc-internal-format @@ -30110,9 +29966,9 @@ msgid "%<__thread%> before %<static%>" msgstr "%<__thread%>出现在%<static%>之å‰" #: c/c-decl.c:10314 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "duplicate %<_Thread_local%> or %<__thread%>" -msgstr "" +msgstr "线程局部的 COMMON æ•°æ®æ²¡æœ‰å®žçŽ°" #: c/c-decl.c:10322 #, gcc-internal-format @@ -30122,7 +29978,7 @@ msgstr "声明指定了多个å˜å‚¨ç±»" #: c/c-decl.c:10330 #, fuzzy, gcc-internal-format msgid "%qs used with %qE" -msgstr "%qs必须与%qs一起使用" +msgstr "%qEå¯è¢«é¢„先确定为%qs,为%qs" #: c/c-decl.c:10403 #, gcc-internal-format @@ -30183,7 +30039,7 @@ msgstr "需è¦æŒ‡å®šå£°æ˜Ž" #: c/c-parser.c:1588 #, fuzzy, gcc-internal-format msgid "%<__auto_type%> in empty declaration" -msgstr "%<inline%>用于空声明ä¸" +msgstr "文件作用域ä¸å‡ºçŽ°%<auto%>空声明" #: c/c-parser.c:1607 c/c-parser.c:2944 #, fuzzy, gcc-internal-format @@ -30193,7 +30049,7 @@ msgstr "需è¦æ ‡è¯†ç¬¦æˆ–%<(%>" #: c/c-parser.c:1625 cp/parser.c:26518 cp/parser.c:26592 #, fuzzy, gcc-internal-format msgid "prefix attributes are ignored for methods" -msgstr "æ¤ç›®æ ‡æœºä¸æ”¯æŒèŠ‚属性" +msgstr "属性在未åˆå§‹åŒ–类型上被忽略" #: c/c-parser.c:1660 #, fuzzy, gcc-internal-format @@ -30220,7 +30076,6 @@ msgstr "æ•°æ®å®šä¹‰æ—¶æ²¡æœ‰ç±»åž‹æˆ–å˜å‚¨ç±»" #. some more information for the user. #: c/c-parser.c:1751 #, fuzzy, gcc-internal-format -#| msgid "attributes are not allowed on a function-definition" msgid "attributes should be specified before the declarator in a function definition" msgstr "函数定义ä¸ä¸å…许有属性" @@ -30235,9 +30090,9 @@ msgid "%<__auto_type%> requires an initialized data declaration" msgstr "文件作用域ä¸å‡ºçŽ°%<auto%>空声明" #: c/c-parser.c:1887 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<__auto_type%> may only be used with a single declarator" -msgstr "" +msgstr "%<auto%> åªèƒ½è¢«æŒ‡å®šçš„用于å˜é‡æˆ–函数声明" #: c/c-parser.c:1916 cp/parser.c:11654 #, gcc-internal-format @@ -30275,17 +30130,17 @@ msgstr "需è¦å—é¢å—符串" #: c/c-parser.c:2093 #, fuzzy, gcc-internal-format msgid "expression in static assertion is not an integer" -msgstr "åˆå§‹å€¼è®¾å®šä¸æ•°ç»„索引ä¸æ˜¯æ•´åž‹å¸¸é‡è¡¨è¾¾å¼" +msgstr "é™æ€æ–言ä¸å‡ºçŽ°éžå¸¸é‡æ¡ä»¶" #: c/c-parser.c:2102 #, fuzzy, gcc-internal-format msgid "expression in static assertion is not an integer constant expression" -msgstr "åˆå§‹å€¼è®¾å®šä¸æ•°ç»„索引ä¸æ˜¯æ•´åž‹å¸¸é‡è¡¨è¾¾å¼" +msgstr "ä½æ®µ%qs的宽度ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡è¡¨è¾¾å¼" #: c/c-parser.c:2107 #, fuzzy, gcc-internal-format msgid "expression in static assertion is not constant" -msgstr "åˆå§‹å€¼è®¾å®šä¸æ•°ç»„索引ä¸æ˜¯æ•´åž‹å¸¸é‡è¡¨è¾¾å¼" +msgstr "é™æ€æ–言ä¸å‡ºçŽ°éžå¸¸é‡æ¡ä»¶" #: c/c-parser.c:2112 #, gcc-internal-format @@ -30293,14 +30148,14 @@ msgid "static assertion failed: %E" msgstr "é™æ€æ–言错误:%E" #: c/c-parser.c:2427 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<_Atomic%> in Objective-C" -msgstr "" +msgstr "ä½ç½®é”™è¯¯çš„%<@%D%>Objective-C++ æž„é€ " #: c/c-parser.c:2431 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<_Atomic%> with OpenMP" -msgstr "" +msgstr "退出了 OpenMP 结构å—" #: c/c-parser.c:2434 #, fuzzy, gcc-internal-format @@ -30310,12 +30165,12 @@ msgstr "ISO C90 ä¸æ”¯æŒ%<_Static_assert%>" #: c/c-parser.c:2437 #, fuzzy, gcc-internal-format msgid "ISO C90 does not support the %<_Atomic%> qualifier" -msgstr "ISO C90 ä¸æ”¯æŒ%<_Static_assert%>" +msgstr "ISO C90 ä¸æ”¯æŒ%<[*]%>数组声明" #: c/c-parser.c:2464 #, fuzzy, gcc-internal-format msgid "%<_Atomic%> applied to a qualified type" -msgstr "为ä½æ®µä½¿ç”¨%<typeof%>" +msgstr "对é™å®šç±»åž‹%qTçš„å®šä¹‰æ— æ•ˆ" #: c/c-parser.c:2567 c/c-parser.c:3505 c/c-parser.c:4283 c/c-parser.c:4579 #: c/c-parser.c:5824 c/c-parser.c:5911 c/c-parser.c:6565 c/c-parser.c:7146 @@ -30389,12 +30244,12 @@ msgstr "为ä½æ®µä½¿ç”¨%<typeof%>" #: c/c-parser.c:3104 #, fuzzy, gcc-internal-format msgid "ISO C99 does not support %<_Alignas%>" -msgstr "ISO C90 ä¸æ”¯æŒ%<long long%>" +msgstr "ISO C90 ä¸æ”¯æŒ%<_Static_assert%>" #: c/c-parser.c:3107 #, fuzzy, gcc-internal-format msgid "ISO C90 does not support %<_Alignas%>" -msgstr "ISO C90 ä¸æ”¯æŒ%<long long%>" +msgstr "ISO C90 ä¸æ”¯æŒ%<[*]%>数组声明" #: c/c-parser.c:3342 #, gcc-internal-format @@ -30573,7 +30428,7 @@ msgstr "对ä½æ®µä½¿ç”¨%<sizeof%>" #: c/c-parser.c:6737 #, fuzzy, gcc-internal-format msgid "ISO C does not allow %<%E (expression)%>" -msgstr "ISO C++ ä¸å…许对éžç±»åž‹ä½¿ç”¨%<alignof%>" +msgstr "ISO C++ ä¸å…è®¸æŒ‡å®šå…ƒç´ åˆå§‹å€¼è®¾å®š" #: c/c-parser.c:6764 #, fuzzy, gcc-internal-format @@ -30588,17 +30443,17 @@ msgstr "ISO C90 ä¸æ”¯æŒ%<_Static_assert%>" #: c/c-parser.c:6849 #, fuzzy, gcc-internal-format msgid "ISO C90 does not support %<_Generic%>" -msgstr "ISO C90 ä¸æ”¯æŒ%<_Static_assert%>" +msgstr "ISO C90 ä¸æ”¯æŒ%<long long%>" #: c/c-parser.c:6915 #, fuzzy, gcc-internal-format msgid "%<_Generic%> association has function type" -msgstr "类型转æ¢æŒ‡å®šäº†å‡½æ•°ç±»åž‹" +msgstr "函数定义有é™å®šçš„ void 返回类型" #: c/c-parser.c:6918 #, fuzzy, gcc-internal-format msgid "%<_Generic%> association has incomplete type" -msgstr "表达å¼è¯å¥ç±»åž‹ä¸å®Œå…¨" +msgstr "å—段%qE的类型ä¸å®Œå…¨" #: c/c-parser.c:6922 #, gcc-internal-format @@ -30606,14 +30461,14 @@ msgid "%<_Generic%> association has variable length type" msgstr "" #: c/c-parser.c:6946 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "duplicate %<default%> case in %<_Generic%>" -msgstr "" +msgstr "é‡å¤ (或é‡å ) çš„ case 值" #: c/c-parser.c:6947 #, fuzzy, gcc-internal-format msgid "original %<default%> is here" -msgstr "原先在这里定义" +msgstr "原始定义在æ¤" #: c/c-parser.c:6955 #, gcc-internal-format @@ -30623,7 +30478,7 @@ msgstr "" #: c/c-parser.c:6956 #, fuzzy, gcc-internal-format msgid "compatible type is here" -msgstr "æŒ‡é’ˆç›®æ ‡ç±»åž‹åœ¨ C++ ä¸ä¸å…¼å®¹" +msgstr "枚举类型在æ¤å®šä¹‰" #: c/c-parser.c:6979 #, fuzzy, gcc-internal-format @@ -30631,9 +30486,9 @@ msgid "%<_Generic> selector matches multiple associations" msgstr "生æˆåŠ è½½/å˜å‚¨ä¹˜æ³•æŒ‡ä»¤" #: c/c-parser.c:6981 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "other match is here" -msgstr "" +msgstr "没有匹é…" #: c/c-parser.c:7002 #, gcc-internal-format @@ -30657,7 +30512,6 @@ msgstr "ISO C ä¸å…许在表达å¼ä¸ä½¿ç”¨èŠ±æ‹¬å·ç»„" #: c/c-parser.c:7232 #, fuzzy, gcc-internal-format -#| msgid "ISO C does not support %<__int128%> type" msgid "ISO C does not support %<__FUNCTION__%> predefined identifier" msgstr "ISO C90 ä¸æ”¯æŒ%<__int128%>类型" @@ -30688,13 +30542,11 @@ msgstr "给函数%<__builtin_next_arg%>çš„å‚æ•°æ•°ç›®ä¸å¯¹" #: c/c-parser.c:7494 #, fuzzy, gcc-internal-format -#| msgid "third argument to %<__builtin_prefetch%> must be a constant" msgid "first argument to %<__builtin_call_with_static_chain%> must be a call expression" msgstr "%<__builtin_prefetch%>的第三个实å‚必须是一个常é‡" #: c/c-parser.c:7498 #, fuzzy, gcc-internal-format -#| msgid "second argument to %<__builtin_prefetch%> must be a constant" msgid "second argument to %<__builtin_call_with_static_chain%> must be a pointer type" msgstr "%<__builtin_prefetch%>的第二个实å‚必须是一个常é‡" @@ -30704,14 +30556,14 @@ msgid "wrong number of arguments to %<__builtin_complex%>" msgstr "给函数%<__builtin_next_arg%>çš„å‚æ•°æ•°ç›®ä¸å¯¹" #: c/c-parser.c:7543 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<__builtin_complex%> operand not of real binary floating-point type" -msgstr "" +msgstr "%<__builtin_complex%>ç®—ç¬¦æ— æ³•çš„çœŸå®žäºŒè¿›åˆ¶æµ®ç‚¹ç±»åž‹" #: c/c-parser.c:7552 #, fuzzy, gcc-internal-format msgid "%<__builtin_complex%> operands of different types" -msgstr "%<__builtin_longjmp%>的第二个实å‚必须是 1" +msgstr "?: çš„æ“作数类型ä¸ä¸€è‡´ï¼Œåˆ†åˆ«ä¸º%qTå’Œ%qT" #: c/c-parser.c:7597 cp/parser.c:6060 #, fuzzy, gcc-internal-format @@ -30731,7 +30583,7 @@ msgstr "" #: c/c-parser.c:7746 #, gcc-internal-format msgid "compound literal has variable size" -msgstr "å¤åˆå—é¢å€¼æœ‰å¯å˜çš„大å°" +msgstr "å¤åˆå—é¢é‡å¤§å°å¯å˜" #: c/c-parser.c:7757 #, gcc-internal-format @@ -30741,7 +30593,7 @@ msgstr "组åˆå—é¢å¸¸é‡æœ‰åœ°å€ç©ºé—´é™å®š" #: c/c-parser.c:7761 #, gcc-internal-format msgid "ISO C90 forbids compound literals" -msgstr "ISO C90 ä¸å…许å¤åˆå—é¢å€¼" +msgstr "ISO C90 ä¸å…许å¤åˆå—é¢é‡" #: c/c-parser.c:7890 cp/parser.c:6306 #, gcc-internal-format @@ -30754,9 +30606,9 @@ msgid "expected identifier or %<)%>" msgstr "需è¦æ ‡è¯†ç¬¦æˆ–%<(%>" #: c/c-parser.c:8333 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "extra semicolon" -msgstr "" +msgstr "为è”åˆæˆ–结构指定了多余的分å·" #: c/c-parser.c:8581 #, gcc-internal-format @@ -30764,19 +30616,19 @@ msgid "extra semicolon in method definition specified" msgstr "为方法定义指定了多余的分å·" #: c/c-parser.c:8713 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "method attributes must be specified at the end only" -msgstr "" +msgstr "方法属性必须被指定的于结æŸåªæœ‰" #: c/c-parser.c:8733 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "expected %<;%> or %<{%> after method attribute definition" -msgstr "" +msgstr "结构定义åŽéœ€è¦%<;%>" #: c/c-parser.c:8854 #, fuzzy, gcc-internal-format msgid "objective-c method declaration is expected" -msgstr "需è¦æŒ‡å®šå£°æ˜Ž" +msgstr "%C处数组声明需è¦å¦å¤–一维" #: c/c-parser.c:9289 #, fuzzy, gcc-internal-format @@ -30786,7 +30638,7 @@ msgstr "为%qs指定了å˜å‚¨ç±»" #: c/c-parser.c:9379 c/c-parser.c:9436 cp/parser.c:27421 #, fuzzy, gcc-internal-format msgid "unknown property attribute" -msgstr "attribute(target(\"%s\"))未知" +msgstr "ä¸èƒ½è®¾ç½®åªè¯»å±žæ€§" #: c/c-parser.c:9400 cp/parser.c:27381 #, fuzzy, gcc-internal-format @@ -30796,7 +30648,7 @@ msgstr "%qsåŽæ–言" #: c/c-parser.c:9403 cp/parser.c:27384 #, fuzzy, gcc-internal-format msgid "missing %<=%> (after %<setter%> attribute)" -msgstr "%qsåŽæ–言" +msgstr "%<readonly%>属性与%<setter%>属性冲çª" #: c/c-parser.c:9417 cp/parser.c:27399 #, fuzzy, gcc-internal-format @@ -30816,7 +30668,7 @@ msgstr "ä¸èƒ½ä¸ºå‡½æ•°æŒ‡å®šåœ°å€åŒºåŸŸå±žæ€§" #: c/c-parser.c:9623 #, fuzzy, gcc-internal-format msgid "%<#pragma acc update%> may only be used in compound statements" -msgstr "%<#pragma omp taskwait%>åªèƒ½ç”¨åœ¨å¤åˆè¯å¥ä¸" +msgstr "%<#pragma omp barrier%>åªèƒ½ç”¨åœ¨å¤åˆè¯å¥ä¸" #: c/c-parser.c:9634 cp/parser.c:32980 #, gcc-internal-format @@ -30841,12 +30693,12 @@ msgstr "%<#pragma omp taskwait%>åªèƒ½ç”¨åœ¨å¤åˆè¯å¥ä¸" #: c/c-parser.c:9678 cp/parser.c:33043 #, fuzzy, gcc-internal-format msgid "%<#pragma omp cancel%> may only be used in compound statements" -msgstr "%<#pragma omp barrier%>åªèƒ½ç”¨åœ¨å¤åˆè¯å¥ä¸" +msgstr "%<#pragma omp flush%>åªèƒ½ç”¨åœ¨å¤åˆè¯å¥ä¸" #: c/c-parser.c:9689 cp/parser.c:33059 #, fuzzy, gcc-internal-format msgid "%<#pragma omp cancellation point%> may only be used in compound statements" -msgstr "%<#pragma omp taskwait%>åªèƒ½ç”¨åœ¨å¤åˆè¯å¥ä¸" +msgstr "%<#pragma omp flush%>åªèƒ½ç”¨åœ¨å¤åˆè¯å¥ä¸" #: c/c-parser.c:9709 cp/parser.c:33111 #, gcc-internal-format @@ -30856,7 +30708,7 @@ msgstr "%<#pragma omp section%>åªèƒ½ç”¨åœ¨%<#pragma omp sections%>结构ä¸" #: c/c-parser.c:9724 cp/parser.c:33130 #, fuzzy, gcc-internal-format msgid "for, while or do statement expected" -msgstr "éœ€è¦ for è¯å¥" +msgstr "需è¦è¯å¥" #: c/c-parser.c:9736 cp/parser.c:32970 #, gcc-internal-format @@ -30880,20 +30732,18 @@ msgstr "太多的%qsåå¥" #: c/c-parser.c:10056 cp/parser.c:28111 #, fuzzy, gcc-internal-format -#| msgid "expected integer expression" msgid "expected integer expression before ')'" msgstr "需è¦æ•´æ•°è¡¨è¾¾å¼" #: c/c-parser.c:10071 #, fuzzy, gcc-internal-format msgid "expression must be integral" -msgstr "num_threads 表达å¼å¿…须是整型的" +msgstr "调度å—大å°è¡¨è¾¾å¼å¿…须为整型" #: c/c-parser.c:10184 c/c-parser.c:10192 cp/parser.c:27869 cp/parser.c:27877 #, fuzzy, gcc-internal-format -#| msgid "%q#D is not const" msgid "%qD is not a constant" -msgstr "%q#Dä¸æ˜¯ const" +msgstr "实å‚%qdä¸æ˜¯ä¸€ä¸ªå¸¸æ•°" #: c/c-parser.c:10338 c/c-parser.c:14741 cp/parser.c:28040 #, gcc-internal-format @@ -30902,7 +30752,6 @@ msgstr "%qDä¸æ˜¯ä¸€ä¸ªå˜é‡" #: c/c-parser.c:10342 cp/parser.c:28044 #, fuzzy, gcc-internal-format -#| msgid "%qD is not a variable" msgid "%qD is not a pointer variable" msgstr "%qDä¸æ˜¯ä¸€ä¸ªå˜é‡" @@ -30935,14 +30784,13 @@ msgstr "%<num_threads%>值必须为æ£" #: c/c-parser.c:10685 #, fuzzy, gcc-internal-format -#| msgid "%<num_threads%> value must be positive" msgid "%<num_workers%> value must be positive" msgstr "%<num_threads%>值必须为æ£" #: c/c-parser.c:10846 #, fuzzy, gcc-internal-format msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or %<max%>" -msgstr "需è¦%<+%>ã€%<*%>ã€%<-%>ã€%<&%>ã€%<^%>ã€%<|%>ã€%<&&%>或%<||%>" +msgstr "å¯ç”¨æœ€å°/最大值指令" #: c/c-parser.c:10946 cp/parser.c:28642 #, gcc-internal-format @@ -30980,9 +30828,9 @@ msgid "%<aligned%> clause alignment expression must be positive constant integer msgstr "%H折å å˜é‡éœ€è¦æ£æ•´å¸¸æ•°è¡¨è¾¾å¼" #: c/c-parser.c:11229 cp/parser.c:28833 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "using parameters for %<linear%> step is not supported yet" -msgstr "" +msgstr "尚未支æŒä»£ç æ¨¡å¼ %<large%>" #: c/c-parser.c:11234 #, fuzzy, gcc-internal-format @@ -31007,7 +30855,7 @@ msgstr "æ— æ•ˆçš„è°ƒåº¦ç±»åž‹" #: c/c-parser.c:11406 cp/parser.c:28994 #, fuzzy, gcc-internal-format msgid "invalid map kind" -msgstr "æ— æ•ˆæŽ©ç " +msgstr "æ— æ•ˆçš„å®žåž‹ç§åˆ« %d,在%C处" #: c/c-parser.c:11471 cp/parser.c:29084 #, fuzzy, gcc-internal-format @@ -31021,7 +30869,6 @@ msgstr "æ— æ•ˆçš„è°ƒåº¦ç±»åž‹" #: c/c-parser.c:11703 cp/parser.c:29293 #, fuzzy, gcc-internal-format -#| msgid "expected %<#pragma omp%> clause" msgid "expected %<#pragma acc%> clause" msgstr "需è¦%<#pragma omp%>åå¥" @@ -31033,7 +30880,7 @@ msgstr "%qs对%qsè€Œè¨€æ— æ•ˆ" #: c/c-parser.c:11840 cp/parser.c:29445 #, fuzzy, gcc-internal-format msgid "%qs must be the first clause of %qs" -msgstr "%qs必须与%qs一起使用" +msgstr "%qE在åå¥%qsä¸ä¸æ˜¯ä¸€ä¸ªå˜é‡" #: c/c-parser.c:11932 cp/parser.c:29544 #, gcc-internal-format @@ -31042,13 +30889,11 @@ msgstr "需è¦%<#pragma omp%>åå¥" #: c/c-parser.c:12125 cp/parser.c:31627 #, fuzzy, gcc-internal-format -#| msgid "expected a string after %<#pragma message%>" msgid "expected %<data%> in %<#pragma acc enter data%>" msgstr "%<#pragma message%>åŽéœ€è¦ä¸€ä¸ªå—符串" #: c/c-parser.c:12134 cp/parser.c:31637 #, fuzzy, gcc-internal-format -#| msgid "invalid #pragma %s" msgid "invalid pragma" msgstr "æ— æ•ˆçš„ #pragma %s" @@ -31073,9 +30918,9 @@ msgid "invalid operator for %<#pragma omp atomic%>" msgstr "%<#pragma omp atomic%>è¿ç®—ç¬¦æ— æ•ˆ" #: c/c-parser.c:12714 cp/semantics.c:6897 cp/semantics.c:6907 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<#pragma omp atomic capture%> uses two different expressions for memory" -msgstr "" +msgstr "%<# pragma omp 基元的 capture%>使用两ä¸åŒçš„å˜é‡ç”¨äºŽå†…å˜" #: c/c-parser.c:12767 c/c-parser.c:12788 #, gcc-internal-format @@ -31089,7 +30934,6 @@ msgstr "éœ€è¦ for è¯å¥" #: c/c-parser.c:12831 cp/parser.c:30457 #, fuzzy, gcc-internal-format -#| msgid "for statement expected" msgid "_Cilk_for statement expected" msgstr "éœ€è¦ for è¯å¥" @@ -31116,12 +30960,12 @@ msgstr "è¿ä»£å˜é‡%qDä¸åº”当是 firstprivate" #: c/c-parser.c:13441 cp/parser.c:31010 #, fuzzy, gcc-internal-format msgid "expected %<for%> after %qs" -msgstr "需è¦%<operator%>" +msgstr "{ 预期于è¿ç®—å¼ä¸ ? 之åŽ" #: c/c-parser.c:13633 cp/parser.c:31197 #, fuzzy, gcc-internal-format msgid "expected %<point%>" -msgstr "需è¦%<using%>" +msgstr "需è¦%<;%>" #: c/c-parser.c:13838 cp/parser.c:31420 #, fuzzy, gcc-internal-format @@ -31161,12 +31005,12 @@ msgstr "" #: c/c-parser.c:14210 cp/parser.c:32032 #, fuzzy, gcc-internal-format msgid "expected %<target%>" -msgstr "需è¦%<try%>" +msgstr "需è¦%<;%>" #: c/c-parser.c:14217 cp/parser.c:32039 #, fuzzy, gcc-internal-format msgid "expected %<declare%>" -msgstr "需è¦%<decltype%>" +msgstr "需è¦%<;%>" #: c/c-parser.c:14223 cp/parser.c:32046 #, fuzzy, gcc-internal-format @@ -31181,7 +31025,7 @@ msgstr "Objective-C 声明åªèƒ½å‡ºçŽ°åœ¨å…¨å±€ä½œç”¨åŸŸä¸" #: c/c-parser.c:14301 #, fuzzy, gcc-internal-format msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%>, %<min%> or identifier" -msgstr "需è¦%<+%>ã€%<*%>ã€%<-%>ã€%<&%>ã€%<^%>ã€%<|%>ã€%<&&%>或%<||%>" +msgstr "应为常é‡æˆ–æ ‡è¯†ç¬¦" #: c/c-parser.c:14328 #, gcc-internal-format @@ -31256,7 +31100,7 @@ msgstr "#pragma GCC optimize ä¸å…许用在函数ä¸" #: c/c-parser.c:14830 cp/parser.c:33267 #, fuzzy, gcc-internal-format msgid "vectorlength must be an integer constant" -msgstr "选择å必须是 0 到 %wi 间的整常é‡" +msgstr "数组边界ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡" #: c/c-parser.c:14832 cp/parser.c:33270 #, fuzzy, gcc-internal-format @@ -31275,34 +31119,33 @@ msgstr "需è¦%<#pragma omp%>åå¥" #: c/c-parser.c:15058 cp/parser.c:32943 #, fuzzy, gcc-internal-format -#| msgid "%<#pragma%> is not allowed here" msgid "%<#pragma cilk grainsize%> is not followed by %<_Cilk_for%>" msgstr "在这里ä¸å…许使用%<#pragma%>" #: c/c-parser.c:15355 cp/parser.c:32835 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<__transaction_cancel%> without transactional memory support enabled" -msgstr "" +msgstr "%<__transaction_cancel%>è€Œæ— éœ€ transactional 内å˜æ”¯æŒå·²å¯ç”¨" #: c/c-parser.c:15361 cp/parser.c:32841 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>" -msgstr "" +msgstr "%<__transaction_cancel%>在之内 %<__transaction_relaxed%>" #: c/c-parser.c:15370 cp/parser.c:32850 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>" -msgstr "" +msgstr "外 %<__transaction_cancel%>æ— æ³•åœ¨ä¹‹å†…å¤– %<__transaction_atomic%>" #: c/c-parser.c:15372 cp/parser.c:32853 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid " or a %<transaction_may_cancel_outer%> function" -msgstr "" +msgstr " 或 %<transaction_may_cancel_outer%> 函数" #: c/c-parser.c:15378 cp/parser.c:32859 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>" -msgstr "" +msgstr "%<__transaction_cancel%>æ— æ³•åœ¨ä¹‹å†… %<__transaction_atomic%>" #: c/c-parser.c:15446 cp/cp-array-notation.c:1418 #, fuzzy, gcc-internal-format @@ -31312,7 +31155,7 @@ msgstr "数组 new 的大å°å¿…须有整数类型" #: c/c-parser.c:15455 cp/parser.c:6476 #, fuzzy, gcc-internal-format msgid "expected %<:%> or numeral" -msgstr "需è¦%<:%>或%<::%>" +msgstr "éœ€è¦ %<;%>ã€%<,%> 或 %<)%>" #: c/c-parser.c:15466 #, gcc-internal-format @@ -31337,7 +31180,7 @@ msgstr "" #: c/c-parser.c:15544 c/c-parser.c:15547 #, fuzzy, gcc-internal-format msgid "expected array notation expression" -msgstr "需è¦å¸ƒå°”表达å¼" +msgstr "%Cå¤„æ•°ç»„è§„æ ¼ä¸éœ€è¦è¡¨è¾¾å¼" #: c/c-typeck.c:240 #, gcc-internal-format @@ -31397,7 +31240,6 @@ msgstr "å进制浮点与其他浮点类型ä¸èƒ½åŒæ—¶ä½œæ“作数" #: c/c-typeck.c:1275 #, fuzzy, gcc-internal-format -#| msgid "pointer target types incompatible in C++" msgid "pointers to arrays with different qualifiers are incompatible in ISO C" msgstr "æŒ‡é’ˆç›®æ ‡ç±»åž‹åœ¨ C++ ä¸ä¸å…¼å®¹" @@ -31433,9 +31275,8 @@ msgstr "在éžç»“构或è”åˆä¸è¯·æ±‚æˆå‘˜%qE" #: c/c-typeck.c:2417 #, fuzzy, gcc-internal-format -#| msgid "dereferencing pointer to incomplete type" msgid "dereferencing pointer to incomplete type %qT" -msgstr "æ领指å‘ä¸å®Œå…¨ç±»åž‹çš„指针" +msgstr "指å‘ä¸å®Œå…¨ç±»åž‹%qT的指针ä¸èƒ½è‡ªå‡" #: c/c-typeck.c:2424 #, gcc-internal-format @@ -31647,13 +31488,11 @@ msgstr "该类型ä¸æ”¯æŒè‡ªå‡" #: c/c-typeck.c:4064 #, fuzzy, gcc-internal-format -#| msgid "cannot increment a pointer to incomplete type %qT" msgid "increment of pointer to an incomplete type %qT" msgstr "指å‘ä¸å®Œå…¨ç±»åž‹%qT的指针ä¸èƒ½è‡ªå¢ž" #: c/c-typeck.c:4068 #, fuzzy, gcc-internal-format -#| msgid "cannot decrement a pointer to incomplete type %qT" msgid "decrement of pointer to an incomplete type %qT" msgstr "指å‘ä¸å®Œå…¨ç±»åž‹%qT的指针ä¸èƒ½è‡ªå‡" @@ -31709,7 +31548,6 @@ msgstr "æ¡ä»¶è¡¨è¾¾å¼ä¸ä½¿ç”¨äº†æŒ‡å‘ä¸ç›¸äº¤åœ°å€ç©ºé—´çš„指针" #: c/c-typeck.c:4670 c/c-typeck.c:4687 #, fuzzy, gcc-internal-format -#| msgid "pointer type mismatch in conditional expression" msgid "pointer to array loses qualifier in conditional expression" msgstr "æ¡ä»¶è¡¨è¾¾å¼æŒ‡é’ˆç±»åž‹ä¸åŒ¹é…" @@ -31754,9 +31592,9 @@ msgid "cast discards %qv qualifier from pointer target type" msgstr "类型转æ¢ä¸¢å¼ƒäº†æŒ‡é’ˆç›®æ ‡ç±»åž‹çš„é™å®š" #: c/c-typeck.c:4978 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "to be safe all intermediate pointers in cast from %qT to %qT must be %<const%> qualified" -msgstr "" +msgstr "è¦æ˜¯å®‰å…¨æ‰€æœ‰ä¸ä»‹æŒ‡æ ‡åœ¨ä¸æ¼”员阵容从 %qT 到 %qT 必须是 %<const%> ç»èµ„æ ¼ä¿®é¥°" #: c/c-typeck.c:5015 #, gcc-internal-format @@ -31836,7 +31674,7 @@ msgstr "C++ ç¦æ¢åœ¨ç±»åž‹è½¬æ¢ä¸å®šä¹‰ç±»åž‹" #: c/c-typeck.c:5306 #, fuzzy, gcc-internal-format msgid "assignment to expression with array type" -msgstr "å–消赋值" +msgstr "æ— æ•ˆçš„æ•°ç»„èµ‹å€¼" #: c/c-typeck.c:5430 c/c-typeck.c:5860 #, gcc-internal-format @@ -32308,9 +32146,9 @@ msgid "function declared %<noreturn%> has a %<return%> statement" msgstr "被声明为%<noreturn%>的函数å´æœ‰%<return%>è¯å¥" #: c/c-typeck.c:9383 cp/cp-array-notation.c:1103 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "array notation expression cannot be used as a return value" -msgstr "" +msgstr "%qE ä¸èƒ½ä½œä¸ºå‡½æ•°" #: c/c-typeck.c:9390 cp/typeck.c:8437 #, fuzzy, gcc-internal-format @@ -32334,7 +32172,6 @@ msgstr "ISO C ä¸å…è®¸åœ¨æ— è¿”å›žå€¼çš„å‡½æ•°ä¸%<return%>带返回值" #: c/c-typeck.c:9503 #, fuzzy, gcc-internal-format -#| msgid "function returns address of local variable" msgid "function returns address of label" msgstr "函数返回局部å˜é‡çš„地å€" @@ -32434,14 +32271,14 @@ msgid "comparing floating point with == or != is unsafe" msgstr "使用 == 或 != 比较浮点数是ä¸å®‰å…¨çš„" #: c/c-typeck.c:10777 c/c-typeck.c:10797 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "the comparison will always evaluate as %<false%> for the address of %qD will never be NULL" -msgstr "" +msgstr "比较将一律评估作为 %<false%> 用于地å€çš„ %qD 将永ä¸æ˜¯ç©ºå€¼" #: c/c-typeck.c:10783 c/c-typeck.c:10803 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "the comparison will always evaluate as %<true%> for the address of %qD will never be NULL" -msgstr "" +msgstr "比较将一律评估作为 %<true%> 用于地å€çš„ %qD 将永ä¸æ˜¯ç©ºå€¼" #: c/c-typeck.c:10824 c/c-typeck.c:10929 #, gcc-internal-format @@ -32507,7 +32344,7 @@ msgstr "需è¦æ ‡é‡æ—¶ä½¿ç”¨äº†è”åˆç±»åž‹" #: c/c-typeck.c:11336 #, fuzzy, gcc-internal-format msgid "used vector type where scalar is required" -msgstr "需è¦æ ‡é‡æ—¶ä½¿ç”¨äº†ç»“构类型" +msgstr "需è¦æ ‡é‡æ—¶ä½¿ç”¨äº†è”åˆç±»åž‹" #: c/c-typeck.c:11527 cp/semantics.c:7003 #, gcc-internal-format @@ -32590,7 +32427,7 @@ msgstr "在过程入å£å¤„将数组段å¤åˆ¶åˆ°ä¸€ä¸ªè¿žç»çš„å—ä¸" #: c/c-typeck.c:11804 cp/semantics.c:4508 #, fuzzy, gcc-internal-format msgid "%qE does not have pointer or array type" -msgstr "new 声明ä¸çš„表达å¼å¿…须具有整数或枚举类型" +msgstr "%qEä¸æ˜¯ä¸€ä¸ªç±»" #: c/c-typeck.c:12124 #, gcc-internal-format @@ -32598,9 +32435,9 @@ msgid "%qE has invalid type for %<reduction(%s)%>" msgstr "%qE的类型对%<reduction(%s)%>æ— æ•ˆ" #: c/c-typeck.c:12133 cp/semantics.c:5292 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "user defined reduction not found for %qD" -msgstr "" +msgstr "用户定义的%qD总是计算所有两个å‚æ•°" #: c/c-typeck.c:12205 c/c-typeck.c:12443 cp/semantics.c:5939 #, gcc-internal-format @@ -32640,7 +32477,7 @@ msgstr "%qE在åå¥%<lastprivate%>ä¸ä¸æ˜¯ä¸€ä¸ªå˜é‡" #: c/c-typeck.c:12318 cp/semantics.c:5687 #, fuzzy, gcc-internal-format msgid "%qE is not a variable in %<aligned%> clause" -msgstr "%qE在åå¥%qsä¸ä¸æ˜¯ä¸€ä¸ªå˜é‡" +msgstr "%qE在åå¥%<firstprivate%>ä¸ä¸æ˜¯ä¸€ä¸ªå˜é‡" #: c/c-typeck.c:12325 #, fuzzy, gcc-internal-format @@ -32655,7 +32492,7 @@ msgstr "%qE在数æ®åå¥ä¸å¤šæ¬¡å‡ºçŽ°" #: c/c-typeck.c:12353 cp/semantics.c:5757 #, fuzzy, gcc-internal-format msgid "%qE is not a variable in %<depend%> clause" -msgstr "%qE在åå¥%qsä¸ä¸æ˜¯ä¸€ä¸ªå˜é‡" +msgstr "%qE在åå¥%<lastprivate%>ä¸ä¸æ˜¯ä¸€ä¸ªå˜é‡" #: c/c-typeck.c:12375 cp/semantics.c:5782 #, fuzzy, gcc-internal-format @@ -32680,12 +32517,12 @@ msgstr "%qD在数æ®åå¥ä¸å¤šæ¬¡å‡ºçŽ°" #: c/c-typeck.c:12430 cp/semantics.c:5849 #, fuzzy, gcc-internal-format msgid "%qD is not an argument in %<uniform%> clause" -msgstr "%qD在åå¥%qsä¸ä¸æ˜¯ä¸€ä¸ªå˜é‡" +msgstr "%qD在%<lastprivate%>åå¥ä¸ä¸æ˜¯ä¸€ä¸ªå˜é‡" #: c/c-typeck.c:12433 cp/semantics.c:5851 #, fuzzy, gcc-internal-format msgid "%qE is not an argument in %<uniform%> clause" -msgstr "%qE在åå¥%qsä¸ä¸æ˜¯ä¸€ä¸ªå˜é‡" +msgstr "%qE在åå¥%<lastprivate%>ä¸ä¸æ˜¯ä¸€ä¸ªå˜é‡" #: c/c-typeck.c:12491 cp/semantics.c:5875 #, gcc-internal-format @@ -32705,14 +32542,13 @@ msgstr "C++ 在%<va_arg%>ä¸éœ€è¦æå‡åŽçš„类型而ä¸æ˜¯æžšä¸¾" #. A bad conversion for 'this' must be discarding cv-quals. #: cp/call.c:3301 #, fuzzy, gcc-internal-format -#| msgid "passing %qT as %<this%> argument of %q#D discards qualifiers" msgid " passing %qT as %<this%> argument discards qualifiers" -msgstr "å°†%qT作为%q#Dçš„%<this%>实å‚时丢弃了类型é™å®š" +msgstr "从%qT到%qT的转æ¢ä¸¢å¤±äº†é™å®šä¿¡æ¯" #: cp/call.c:3305 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid " no known conversion for implicit %<this%> parameter from %qT to %qT" -msgstr "" +msgstr "C++ ä¸ä¸å…许从%qT到%qTçš„éšå¼è½¬æ¢" #: cp/call.c:3312 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -32722,7 +32558,6 @@ msgstr "以从%qT转æ¢ä¸º%qT" #. Conversion of conversion function return value failed. #: cp/call.c:3319 #, fuzzy, gcc-internal-format -#| msgid " for conversion from %qT to %qT" msgid " no known conversion from %qT to %qT" msgstr "以从%qT转æ¢ä¸º%qT" @@ -32773,19 +32608,19 @@ msgid "%s%#D" msgstr "%s%#D" #: cp/call.c:3396 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid " return type %qT of explicit conversion function cannot be converted to %qT with a qualification conversion" -msgstr "" +msgstr " ä¼ å›žç±»åž‹ %qT 的明确的转æ¢å‡½æ•°æ— 法转æ¢åˆ° %qT 与åˆæ ¼è½¬æ¢" #: cp/call.c:3402 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid " conversion from return type %qT of template conversion function specialization to %qT is not an exact match" -msgstr "" +msgstr " 转æ¢ä»Žä¼ 回类型 %qT 的模æ¿è½¬æ¢å‡½æ•°ç‰¹æ®ŠåŒ–到 %qT ä¸æ˜¯ç²¾ç¡®çš„匹é…" #: cp/call.c:3413 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid " substitution of deduced template arguments resulted in errors seen above" -msgstr "" +msgstr " 替代的 deduced 模æ¿å‚数结果的在ä¸é”™è¯¯çœ‹è§ä»¥ä¸Šçš„" #. Re-run template unification with diagnostics. #: cp/call.c:3418 @@ -32794,9 +32629,9 @@ msgid " template argument deduction/substitution failed:" msgstr "模æ¿ç¬¬ %d 个å‚æ•°æ— æ•ˆ" #: cp/call.c:3432 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid " a constructor taking a single argument of its own class type is invalid" -msgstr "" +msgstr " 建构å需å•ä¸€å‚æ•°çš„å®ƒçš„æœ¬èº«ç±»åˆ«ç±»åž‹æ— æ•ˆ" #: cp/call.c:3793 #, gcc-internal-format @@ -32838,22 +32673,22 @@ msgstr "对%<(%T) (%A)%>的调用有æ§ä¹‰" #: cp/call.c:4382 #, fuzzy, gcc-internal-format msgid "ambiguous overload for " -msgstr "%qs在%<%s %E%>ä¸çš„é‡è½½æœ‰æ§ä¹‰" +msgstr "调用é‡è½½çš„%<%D(%A)%>有æ§ä¹‰" #: cp/call.c:4383 #, fuzzy, gcc-internal-format msgid "no match for " -msgstr "%qs在%<%s %E%>ä¸æ²¡æœ‰åŒ¹é…" +msgstr "没有匹é…" #: cp/call.c:4386 #, fuzzy, gcc-internal-format msgid " (operand types are %qT, %qT, and %qT)" -msgstr "åŒç›®è¿ç®—符 %s æ“作数(%qTå’Œ%qT)æ— æ•ˆ" +msgstr "å°†%qT赋值给%qT时类型ä¸å…¼å®¹" #: cp/call.c:4388 #, fuzzy, gcc-internal-format msgid " (operand types are %qT and %qT)" -msgstr "åŒç›®è¿ç®—符 %s æ“作数(%qTå’Œ%qT)æ— æ•ˆ" +msgstr "在类型%qTå’Œ%qT间比较" #: cp/call.c:4390 #, gcc-internal-format @@ -32868,47 +32703,47 @@ msgstr "需è¦%<operator%>" #: cp/call.c:4414 #, fuzzy, gcc-internal-format msgid "ternary %<operator?:%> in %<%E ? %E : %E%>" -msgstr "三元%<operator?:%>在%<%E ? %E : %E%>ä¸æ²¡æœ‰åŒ¹é…" +msgstr "%<%E::%E%>æ—¢ä¸æ˜¯ç±»ä¹Ÿä¸æ˜¯å‘½å空间" #: cp/call.c:4423 cp/call.c:4454 cp/call.c:4463 #, fuzzy, gcc-internal-format msgid "%<operator%s%>" -msgstr "需è¦%<operator%>" +msgstr "å•ç›®æ•°å€¼è¿ç®—符‘%s’(ä½äºŽ %%L)çš„æ“作数为 %s" #: cp/call.c:4426 #, fuzzy, gcc-internal-format msgid "%<operator%s%> in %<%E%s%>" -msgstr "%<operator%s%>在%<%E%s%>ä¸æ²¡æœ‰åŒ¹é…" +msgstr "%Xbfd_openr %s: %E\n" #: cp/call.c:4433 #, fuzzy, gcc-internal-format msgid "%<operator[]%>" -msgstr "需è¦%<operator%>" +msgstr "错误的è¿ç®—符" #: cp/call.c:4436 #, fuzzy, gcc-internal-format msgid "%<operator[]%> in %<%E[%E]%>" -msgstr "%<operator[]%>在%<%E[%E]%>ä¸æ²¡æœ‰åŒ¹é…" +msgstr "%<%E::%E%>ä¸æ˜¯ä¸€ä¸ªç±»åž‹" #: cp/call.c:4444 #, fuzzy, gcc-internal-format msgid "%qs" -msgstr "%s" +msgstr "é‡å¤çš„%qs" #: cp/call.c:4447 #, fuzzy, gcc-internal-format msgid "%qs in %<%s %E%>" -msgstr "%qs在%<%s %E%>ä¸æ²¡æœ‰åŒ¹é…" +msgstr "%Xbfd_openr %s: %E\n" #: cp/call.c:4457 #, fuzzy, gcc-internal-format msgid "%<operator%s%> in %<%E %s %E%>" -msgstr "%<operator%s%>在%<%E %s %E%>ä¸æ²¡æœ‰åŒ¹é…" +msgstr "在åè®®ä¸æ‰¾åˆ°%<-%E%>而éž%<+%E%>" #: cp/call.c:4466 #, fuzzy, gcc-internal-format msgid "%<operator%s%> in %<%s%E%>" -msgstr "%<operator%s%>在%<%s%E%>ä¸æ²¡æœ‰åŒ¹é…" +msgstr "%Xbfd_openr %s: %E\n" #: cp/call.c:4575 #, gcc-internal-format @@ -32923,7 +32758,7 @@ msgstr "" #: cp/call.c:4702 #, fuzzy, gcc-internal-format msgid "incompatible vector types in conditional expression: %qT, %qT and %qT" -msgstr "æ¡ä»¶è¡¨è¾¾å¼ä¸æžšä¸¾ä¸åŒ¹é…:%qT对%qT" +msgstr "ä¸åŒçš„指针类型%qTå’Œ%qT组æˆçš„æ¡ä»¶è¡¨è¾¾å¼ä¸éœ€è¦ä¸€ä¸ªç±»åž‹è½¬æ¢" #: cp/call.c:4790 #, gcc-internal-format @@ -33037,14 +32872,13 @@ msgstr "%qTçš„åˆå§‹å€¼è®¾å®šå‘¨å›´èŠ±æ‹¬å·å¤ªå¤š" #: cp/call.c:6182 #, fuzzy, gcc-internal-format -#| msgid "cannot convert %qT to %qT in initialization" msgid "converting to %qT from %qT requires direct-initialization" msgstr "ä¸èƒ½åœ¨åˆå§‹åŒ–时将%qT转æ¢ä¸º%qT" #: cp/call.c:6190 #, fuzzy, gcc-internal-format msgid "invalid user-defined conversion from %qT to %qT" -msgstr "从类型%qT到类型%qT的转æ¢æ— 效" +msgstr "到类型%qT的转æ¢æ— 效,从类型%qT" #: cp/call.c:6207 cp/call.c:6231 cp/call.c:6459 #, gcc-internal-format @@ -33063,7 +32897,6 @@ msgstr "从åˆå§‹åŒ–列表转æ¢ä¸º%qT将使用显å¼æž„é€ å‡½æ•°%qD" #: cp/call.c:6335 cp/call.c:6487 #, fuzzy, gcc-internal-format -#| msgid " initializing argument %P of %qD" msgid " initializing argument %P of %q+D" msgstr " åˆå§‹åŒ–%2$qDçš„å®žå‚ %1$P" @@ -33079,7 +32912,6 @@ msgstr "用类型为%2$qTçš„å³å€¼åˆå§‹åŒ–类型为%1$qTçš„éžå¸¸é‡å¼•ç”¨æ— æ• #: cp/call.c:6480 #, fuzzy, gcc-internal-format -#| msgid "passing %qT as %<this%> argument of %q#D discards qualifiers" msgid "binding %qT to reference of type %qT discards qualifiers" msgstr "å°†%qT作为%q#Dçš„%<this%>实å‚时丢弃了类型é™å®š" @@ -33105,19 +32937,16 @@ msgstr "" #: cp/call.c:6685 #, fuzzy, gcc-internal-format -#| msgid "cannot pass objects of non-trivially-copyable type %q#T through %<...%>" msgid "passing objects of non-trivially-copyable type %q#T through %<...%> is conditionally supported" msgstr "ä¸èƒ½é€šè¿‡%<...%>ä¼ é€’æœ‰ä¸èƒ½å¹³å‡¡å¤åˆ¶çš„类型%q#T" #: cp/call.c:6716 #, fuzzy, gcc-internal-format -#| msgid "cannot receive objects of non-trivially-copyable type %q#T through %<...%>; " msgid "cannot receive reference type %qT through %<...%>" -msgstr "ä¸èƒ½é€šè¿‡%<...%>接å—ä¸èƒ½å¹³å‡¡å¤åˆ¶çš„类型%q#Tï¼›" +msgstr "ä¸èƒ½å£°æ˜ŽæŒ‡å‘é™å®šå‡½æ•°ç±»åž‹%qT的引用" #: cp/call.c:6726 #, fuzzy, gcc-internal-format -#| msgid "cannot receive objects of non-trivially-copyable type %q#T through %<...%>; " msgid "receiving objects of non-trivially-copyable type %q#T through %<...%> is conditionally-supported" msgstr "ä¸èƒ½é€šè¿‡%<...%>接å—ä¸èƒ½å¹³å‡¡å¤åˆ¶çš„类型%q#Tï¼›" @@ -33139,13 +32968,12 @@ msgstr "函数的实å‚å¯èƒ½æ˜¯ format 属性的备选" #: cp/call.c:6944 #, fuzzy, gcc-internal-format msgid "use of multiversioned function without a default" -msgstr "默认化函数%q+D有默认å‚æ•°" +msgstr "已弃用为éžå‡½æ•°æŒ‡å®šé»˜è®¤å‚æ•°" #: cp/call.c:7189 #, fuzzy, gcc-internal-format -#| msgid "passing %qT as %<this%> argument of %q#D discards qualifiers" msgid "passing %qT as %<this%> argument discards qualifiers" -msgstr "å°†%qT作为%q#Dçš„%<this%>实å‚时丢弃了类型é™å®š" +msgstr "从%qT到%qT的转æ¢ä¸¢å¤±äº†é™å®šä¿¡æ¯" #: cp/call.c:7192 cp/call.c:8973 cp/name-lookup.c:5713 #, gcc-internal-format @@ -33209,7 +33037,6 @@ msgstr "对%<%T::%s(%A)%#V%>的调用没有匹é…的函数" #: cp/call.c:8142 #, fuzzy, gcc-internal-format -#| msgid "no matching function for call to %<%D(%A)%>" msgid "no matching function for call to %<%s(%A)%>" msgstr "对%<%D(%A)%>的调用没有匹é…的函数" @@ -33271,12 +33098,12 @@ msgstr "ISO C++ 认为有æ§ä¹‰ï¼Œå°½ç®¡ç¬¬ä¸€ä¸ªå¤‡é€‰çš„最差类型转æ¢è¦å #: cp/call.c:9417 #, fuzzy, gcc-internal-format msgid "could not convert %qE from %qT to %qT" -msgstr "ä¸èƒ½å°†%qE转æ¢ä¸º%qT" +msgstr "ä¸èƒ½å°†æ¨¡æ¿å‚数从%qE转æ¢åˆ°%qT" #: cp/call.c:9610 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "a temporary bound to %qD only persists until the constructor exits" -msgstr "" +msgstr "暂时的约æŸåˆ° %qD åªæœ‰æŒç»ç›´åˆ°å»ºæž„å离开" #: cp/call.c:9737 #, gcc-internal-format @@ -33316,7 +33143,7 @@ msgstr "Java ç±»%qTä¸èƒ½æœ‰éšå¼çš„ä¸å¹³å‡¡çš„æžæž„函数" #: cp/class.c:1190 #, fuzzy, gcc-internal-format msgid "%q#D inherited from %qT" -msgstr " 内è”自%qs" +msgstr " 从%q+#D的定义" #: cp/class.c:1193 #, fuzzy, gcc-internal-format @@ -33366,7 +33193,7 @@ msgstr "" #: cp/class.c:1414 cp/class.c:1420 cp/class.c:1426 cp/class.c:1437 #, fuzzy, gcc-internal-format msgid "%qT declared here" -msgstr "%qD在æ¤å£°æ˜Ž" +msgstr "在æ¤å£°æ˜Ž" #: cp/class.c:1418 #, gcc-internal-format @@ -33410,14 +33237,13 @@ msgstr "%qD的最终é‡è½½åœ¨%qTä¸ä¸å”¯ä¸€" #: cp/class.c:2936 #, fuzzy, gcc-internal-format -#| msgid "%q+#D cannot be overloaded" msgid "%q+D can be marked override" -msgstr "%q+#Dæ— æ³•è¢«é‡è½½" +msgstr "函数%q+Dçš„å®šä¹‰è¢«æ ‡è®°ä¸º dllimport" #: cp/class.c:2948 #, fuzzy, gcc-internal-format msgid "%q+#D marked %<final%>, but is not virtual" -msgstr "%q+D定义åŽæœªä½¿ç”¨" +msgstr "%q#Dçš„å®šä¹‰è¢«æ ‡è®°ä¸º %<dllimport%>" #: cp/class.c:2950 #, fuzzy, gcc-internal-format @@ -33466,9 +33292,9 @@ msgid "protected member %q+#D in anonymous struct" msgstr "匿åè”åˆä¸å‡ºçŽ°ä¿æŠ¤æˆå‘˜%q+#D" #: cp/class.c:3259 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "the ellipsis in %qD is not inherited" -msgstr "" +msgstr "当继承æ¥çš„方法未被实现时给出è¦å‘Š" #: cp/class.c:3434 #, gcc-internal-format @@ -33527,13 +33353,11 @@ msgstr "åˆå§‹åŒ–了è”åˆ%qTä¸çš„多个å—段" #: cp/class.c:3666 #, fuzzy, gcc-internal-format -#| msgid "%q+D may not be static because it is a member of a union" msgid "in C++98 %q+D may not be static because it is a member of a union" msgstr "%q+Dä¸èƒ½æ˜¯é™æ€çš„ï¼Œå› ä¸ºå®ƒæ˜¯è”åˆçš„æˆå‘˜" #: cp/class.c:3672 #, fuzzy, gcc-internal-format -#| msgid "%q+D may not have reference type %qT because it is a member of a union" msgid "in C++98 %q+D may not have reference type %qT because it is a member of a union" msgstr "%q+Dä¸èƒ½æœ‰å¼•ç”¨ç±»åž‹%qTï¼Œå› ä¸ºå®ƒæ˜¯è”åˆçš„æˆå‘˜" @@ -33594,7 +33418,6 @@ msgstr "" #: cp/class.c:4303 #, fuzzy, gcc-internal-format -#| msgid "alignment of %qD is bigger than original declaration" msgid "alignment of %qD will increase in -fabi-version=9" msgstr "%qD的对é½" @@ -33604,14 +33427,14 @@ msgid "initializer specified for non-virtual method %q+D" msgstr "为éžè™šæ–¹æ³•%q+D指定了åˆå§‹å€¼è®¾å®šé¡¹" #: cp/class.c:4978 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "method overrides both %<transaction_pure%> and %qE methods" -msgstr "" +msgstr "方法强制å˜æ›´ä¸¤è€… %<transaction_pure%> å’Œ %qE 方法" #: cp/class.c:4999 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "method declared %qE overriding %qE method" -msgstr "" +msgstr "为ä¸å˜åœ¨çš„方法%qE创建选择å" #: cp/class.c:5551 cp/constexpr.c:228 #, fuzzy, gcc-internal-format @@ -33621,7 +33444,7 @@ msgstr "%3$L处 CLASS å˜é‡â€˜%2$s’的类型‘%1$s’ä¸èƒ½è¢«æ‰©å±•" #: cp/class.c:5576 #, fuzzy, gcc-internal-format msgid "%q+T is not literal because:" -msgstr "%q#Tä¸æ˜¯ä¸€ä¸ªç±»" +msgstr "在%q#Tå’Œ%q#T间比较" #: cp/class.c:5578 #, fuzzy, gcc-internal-format @@ -33629,9 +33452,9 @@ msgid " %q+T has a non-trivial destructor" msgstr "基类%q#T有一个éžè™šæžæž„函数" #: cp/class.c:5583 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid " %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor" -msgstr "" +msgstr " %q+T ä¸æ˜¯æ±‡æ€»ï¼Œæ²¡æœ‰ trivial 缺çœæž„é€ å‡½æ•°ï¼Œè€Œæ²¡æœ‰ä»»ä½• constexpr 建构å该并éžå¤åˆ¶æˆ–移动建构å" #: cp/class.c:5618 #, fuzzy, gcc-internal-format @@ -33650,9 +33473,8 @@ msgstr "éžé™æ€æ•°æ®æˆå‘˜%qD具有 Java 类类型" #: cp/class.c:5756 #, fuzzy, gcc-internal-format -#| msgid "base class %q#T has a non-virtual destructor" msgid "base class %q#T has accessible non-virtual destructor" -msgstr "基类%q#T有一个éžè™šæžæž„函数" +msgstr "%q#T有虚函数和å¯è®¿é—®çš„éžè™šæ‹Ÿæžæž„函数" #: cp/class.c:5784 #, gcc-internal-format @@ -33702,9 +33524,9 @@ msgid "type transparent %q#T does not have any fields" msgstr "类型%qT大å°æœªçŸ¥" #: cp/class.c:6746 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "type transparent class %qT has base classes" -msgstr "" +msgstr "类型é€æ˜Žç±»åˆ« %qT 有基础类别" #: cp/class.c:6750 #, fuzzy, gcc-internal-format @@ -33718,7 +33540,6 @@ msgstr "" #: cp/class.c:6920 #, fuzzy, gcc-internal-format -#| msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>" msgid "definition of std::initializer_list does not match #include <initializer_list>" msgstr "从花括å·ä¸çš„åˆå§‹åŒ–åˆ—è¡¨æ¼”ç»Žéœ€è¦ #include <initializer_list>" @@ -33790,12 +33611,12 @@ msgstr "广义常å˜é‡%2$qD的类型%1$qTä¸æ˜¯å—é¢å¸¸é‡" #: cp/constexpr.c:114 #, fuzzy, gcc-internal-format msgid "variable %qD of non-literal type %qT in %<constexpr%> function" -msgstr "枚举和éžæžšä¸¾ç±»åž‹ä¸€èµ·å‡ºçŽ°åœ¨æ¡ä»¶è¡¨è¾¾å¼ä¸" +msgstr "广义常å˜é‡%2$qD的类型%1$qTä¸æ˜¯å—é¢å¸¸é‡" #: cp/constexpr.c:189 #, fuzzy, gcc-internal-format msgid "inherited constructor %qD is not constexpr" -msgstr "æžæž„函数ä¸èƒ½æ˜¯%<constexpr%>" +msgstr "广义常表达å¼æž„é€ å‡½æ•°ä½“ä¸ä¸ºç©º" #: cp/constexpr.c:201 #, fuzzy, gcc-internal-format @@ -33805,7 +33626,7 @@ msgstr "函数%q+#Dçš„æŠ½è±¡è¿”å›žç±»åž‹æ— æ•ˆ" #: cp/constexpr.c:216 #, fuzzy, gcc-internal-format msgid "invalid return type %qT of constexpr function %q+D" -msgstr "函数%2$qD的返回值类型%1$qTä¸æ˜¯ä¸€ä¸ªå—é¢ç±»åž‹" +msgstr "函数%q+#Dçš„æŠ½è±¡è¿”å›žç±»åž‹æ— æ•ˆ" #: cp/constexpr.c:238 #, fuzzy, gcc-internal-format @@ -33818,9 +33639,9 @@ msgid "constexpr constructor does not have empty body" msgstr "广义常表达å¼æž„é€ å‡½æ•°ä½“ä¸ä¸ºç©º" #: cp/constexpr.c:584 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "body of %<constexpr%> constructor cannot be a function-try-block" -msgstr "" +msgstr "ä¸èƒ½ä»Žæž„é€ å‡½æ•°çš„å¼‚å¸¸å¤„ç†ä¸è¿”回" #: cp/constexpr.c:715 #, fuzzy, gcc-internal-format @@ -33829,7 +33650,6 @@ msgstr "ç±»ä¸å¯¹å…·æœ‰éžæ•´æ•°ç±»åž‹%qTçš„é™æ€æ•°æ®æˆå‘˜çš„åˆå§‹åŒ–æ— æ•ˆ #: cp/constexpr.c:755 #, fuzzy, gcc-internal-format -#| msgid "uninitialized member %qD in %<constexpr%> constructor" msgid "member %qD must be initialized by mem-initializer in %<constexpr%> constructor" msgstr "æˆå‘˜%qD在%<constexpr%>æž„é€ å‡½æ•°é‡Œæœªåˆå§‹åŒ–" @@ -33845,7 +33665,6 @@ msgstr "%qDä¸æ˜¯ä¸€ä¸ªå¹¿ä¹‰å¸¸å‡½æ•°" #: cp/constexpr.c:1199 cp/constexpr.c:3987 #, fuzzy, gcc-internal-format -#| msgid "internal function" msgid "call to internal function" msgstr "内部函数" @@ -33863,12 +33682,12 @@ msgstr "调用éžå‡½æ•°çš„%qD" #: cp/constexpr.c:1279 #, fuzzy, gcc-internal-format msgid "%qD called in a constant expression" -msgstr "%qEä¸æ˜¯ä¸€ä¸ªå¸¸é‡è¡¨è¾¾å¼" +msgstr "%qDä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/constexpr.c:1283 #, fuzzy, gcc-internal-format msgid "%qD used before its definition" -msgstr "%qD用在其自身的åˆå§‹å€¼è®¾å®šä¸" +msgstr "使用%qD时先å‰æ—¢æ²¡æœ‰åŽŸåž‹ä¹Ÿæ²¡æœ‰å®šä¹‰" #: cp/constexpr.c:1336 #, gcc-internal-format @@ -33882,7 +33701,6 @@ msgstr "在实例化%2$qD时模æ¿å®žä¾‹åŒ–深度超过最大值 %1$d(使用 use #: cp/constexpr.c:1434 #, fuzzy, gcc-internal-format -#| msgid "Warn on calls to these functions" msgid "constexpr call flows off the end of the function" msgstr "调用这些函数时给出è¦å‘Š" @@ -33903,15 +33721,13 @@ msgstr "" #: cp/constexpr.c:1585 #, fuzzy, gcc-internal-format -#| msgid "left-hand operand of comma expression has no effect" msgid "left operand of shift expression %q+E is negative" msgstr "逗å·è¡¨è¾¾å¼çš„å·¦æ“作数ä¸èµ·ä½œç”¨" #: cp/constexpr.c:1604 #, fuzzy, gcc-internal-format -#| msgid "integral expression %qE is not constant" msgid "shift expression %q+E overflows" -msgstr "整型表达å¼%qEä¸æ˜¯å¸¸é‡" +msgstr "%q+Eä¸æ˜¯ä¸€ä¸ªå¸¸é‡è¡¨è¾¾å¼" #: cp/constexpr.c:1766 #, gcc-internal-format @@ -33921,7 +33737,7 @@ msgstr "æ•°ç»„ä¸‹æ ‡è¶Šç•Œ" #: cp/constexpr.c:1773 #, fuzzy, gcc-internal-format msgid "negative array subscript" -msgstr "%C处需è¦æ•°ç»„ä¸‹æ ‡" +msgstr "æ•°ç»„ä¸‹æ ‡è¶Šè¿‡äº†æ•°ç»„è¾¹ç•Œ" #: cp/constexpr.c:1819 cp/constexpr.c:1898 cp/constexpr.c:3120 #, gcc-internal-format @@ -33931,7 +33747,7 @@ msgstr "%qEä¸æ˜¯ä¸€ä¸ªå¸¸é‡è¡¨è¾¾å¼" #: cp/constexpr.c:1825 #, fuzzy, gcc-internal-format msgid "mutable %qD is not usable in a constant expression" -msgstr "%qE的枚举值ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡" +msgstr "%qDä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/constexpr.c:1846 #, fuzzy, gcc-internal-format @@ -33940,9 +33756,8 @@ msgstr "åˆå§‹å€¼è®¾å®šä¸æ•°ç»„索引ä¸æ˜¯æ•´åž‹å¸¸é‡è¡¨è¾¾å¼" #: cp/constexpr.c:1858 #, fuzzy, gcc-internal-format -#| msgid "missing initializer for member %qD" msgid "accessing uninitialized member %qD" -msgstr "æˆå‘˜%qD缺少åˆå§‹å€¼è®¾å®š" +msgstr "æˆå‘˜%qD是未åˆå§‹åŒ–的引用" #: cp/constexpr.c:2513 #, fuzzy, gcc-internal-format @@ -33952,7 +33767,7 @@ msgstr "%qE的枚举值ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡" #: cp/constexpr.c:2550 #, fuzzy, gcc-internal-format msgid "the value of %qD is not usable in a constant expression" -msgstr "%qE的枚举值ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡" +msgstr "%qD的枚举值ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡" #: cp/constexpr.c:2557 #, gcc-internal-format @@ -33977,7 +33792,7 @@ msgstr "%qDä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/constexpr.c:2578 #, fuzzy, gcc-internal-format msgid "%qD was not declared %<constexpr%>" -msgstr "%qD在æ¤ä½œç”¨åŸŸä¸å°šæœªå£°æ˜Ž" +msgstr "%qD在其类外被声明为%<constexpr%>" #: cp/constexpr.c:2581 #, fuzzy, gcc-internal-format @@ -33987,7 +33802,7 @@ msgstr "new 声明ä¸çš„表达å¼å¿…须具有整数或枚举类型" #: cp/constexpr.c:2686 #, fuzzy, gcc-internal-format msgid "modification of %qE is not a constant-expression" -msgstr "åˆå§‹å€¼è®¾å®šä¸å…ƒç´ ä¸æ˜¯å¸¸é‡è¡¨è¾¾å¼" +msgstr "整型表达å¼%qEä¸æ˜¯å¸¸é‡" #: cp/constexpr.c:3164 cp/constexpr.c:4379 #, fuzzy, gcc-internal-format @@ -33997,28 +33812,27 @@ msgstr "枚举和éžæžšä¸¾ç±»åž‹ä¸€èµ·å‡ºçŽ°åœ¨æ¡ä»¶è¡¨è¾¾å¼ä¸" #: cp/constexpr.c:3486 cp/constexpr.c:4094 #, fuzzy, gcc-internal-format msgid "reinterpret_cast from integer to pointer" -msgstr "从类型%qT到类型%qTçš„ reinterpret_cast 丢失了é™å®šç¬¦" +msgstr "赋值时将整数赋给指针,未作类型转æ¢" #: cp/constexpr.c:3543 cp/constexpr.c:4251 cp/constexpr.c:4544 #, fuzzy, gcc-internal-format msgid "expression %qE is not a constant-expression" -msgstr "%qEä¸æ˜¯ä¸€ä¸ªå¸¸é‡è¡¨è¾¾å¼" +msgstr "整型表达å¼%qEä¸æ˜¯å¸¸é‡" #: cp/constexpr.c:3594 #, fuzzy, gcc-internal-format -#| msgid "initializer element is not a constant expression" msgid "statement is not a constant-expression" -msgstr "åˆå§‹å€¼è®¾å®šä¸å…ƒç´ ä¸æ˜¯å¸¸é‡è¡¨è¾¾å¼" +msgstr "跳转至è¯å¥è¡¨è¾¾å¼ä¸" #: cp/constexpr.c:3597 #, fuzzy, gcc-internal-format msgid "unexpected expression %qE of kind %s" -msgstr "表达å¼%qE有副作用" +msgstr "KIND å‚æ•° %s 在%L处必须是åˆå§‹åŒ–表达å¼" #: cp/constexpr.c:3664 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" -msgstr "" +msgstr "%qT æ— æ³•ç±»åž‹çš„å®Œæˆå¸¸æ•°è¿ç®—å¼å› 为它有å¯å˜çš„ sub-objects" #: cp/constexpr.c:3677 #, fuzzy, gcc-internal-format @@ -34031,19 +33845,19 @@ msgid "expression %qE has side-effects" msgstr "表达å¼%qE有副作用" #: cp/constexpr.c:4120 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" -msgstr "" +msgstr "address-of 对象 %qE 与线程本地或自动贮è—体并éžå¸¸æ•°è¿ç®—å¼" #: cp/constexpr.c:4150 #, fuzzy, gcc-internal-format msgid "use of %<this%> in a constant expression" -msgstr "%qEä¸æ˜¯ä¸€ä¸ªå¸¸é‡è¡¨è¾¾å¼" +msgstr "整型表达å¼%qEä¸æ˜¯å¸¸é‡" #: cp/constexpr.c:4263 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "typeid-expression is not a constant expression because %qE is of polymorphic type" -msgstr "" +msgstr "typeid-expression 并éžå¸¸æ•°è¿ç®—å¼å› 为 %qE 是的 polymorphic 类型" #: cp/constexpr.c:4276 #, fuzzy, gcc-internal-format @@ -34053,7 +33867,7 @@ msgstr "åˆå§‹å€¼è®¾å®šä¸å…ƒç´ ä¸æ˜¯å¸¸é‡è¡¨è¾¾å¼" #: cp/constexpr.c:4295 #, fuzzy, gcc-internal-format msgid "pointer comparison expression is not a constant expression" -msgstr "整型表达å¼%qEä¸æ˜¯å¸¸é‡" +msgstr "åˆå§‹å€¼è®¾å®šä¸å…ƒç´ ä¸æ˜¯å¸¸é‡è¡¨è¾¾å¼" #: cp/constexpr.c:4342 #, fuzzy, gcc-internal-format @@ -34063,17 +33877,17 @@ msgstr "常é‡è¡¨è¾¾å¼ä¸ç±»åž‹é”™è¯¯" #: cp/constexpr.c:4427 #, fuzzy, gcc-internal-format msgid "division by zero is not a constant-expression" -msgstr "åˆå§‹å€¼è®¾å®šä¸å…ƒç´ ä¸æ˜¯å¸¸é‡è¡¨è¾¾å¼" +msgstr "%L处被零除" #: cp/constexpr.c:4552 #, fuzzy, gcc-internal-format msgid "non-constant array initialization" -msgstr "%L处需è¦æ ‡é‡åˆå§‹åŒ–表达å¼" +msgstr "%L处éžå¸¸é‡åˆå§‹åŒ–表达å¼" #: cp/constexpr.c:4566 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "unexpected AST of kind %s" -msgstr "æ— æ•ˆçš„è°ƒåº¦ç±»åž‹" +msgstr "%2$L处 %1$s ç§åˆ«æ— 效" #: cp/cp-array-notation.c:833 cp/cp-array-notation.c:839 #: cp/cp-array-notation.c:864 cp/cp-array-notation.c:870 @@ -34369,7 +34183,7 @@ msgstr "for 循环增é‡è¡¨è¾¾å¼ä¸çš„对象%qE具有ä¸å®Œå…¨çš„类型%qTï¼Œä¸ #: cp/cvt.c:1276 #, fuzzy, gcc-internal-format msgid "conversion to void cannot resolve address of overloaded function" -msgstr "%s æ— æ³•è§£æžé‡è½½çš„函数地å€" +msgstr "æ— æ³•è§£æžé‡è½½å‡½æ•°%qD,基于å‘类型%qT的转æ¢" #: cp/cvt.c:1280 #, fuzzy, gcc-internal-format @@ -34424,7 +34238,7 @@ msgstr "%s 是对函数%qE的一个引用而ä¸æ˜¯è°ƒç”¨" #: cp/cvt.c:1336 #, fuzzy, gcc-internal-format msgid "statement is a reference, not call, to function %qE" -msgstr "%s 是对函数%qE的一个引用而ä¸æ˜¯è°ƒç”¨" +msgstr "给予函数%qEçš„å‚æ•°ä¸æ˜¯æµ®ç‚¹æ•°" #: cp/cvt.c:1341 #, fuzzy, gcc-internal-format @@ -34528,14 +34342,14 @@ msgid "redeclaration of %q#D may not have default arguments" msgstr "å‹å…ƒ%q#Dçš„é‡å£°æ˜Žä¸èƒ½æœ‰é»˜è®¤æ¨¡æ¿å‚æ•°" #: cp/decl.c:1326 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "literal operator template %q+D conflicts with raw literal operator %qD" -msgstr "" +msgstr "实å—è¿ç®—ç¬¦æ¨¡æ¿ %q+D 冲çªä¸ŽåŽŸå§‹å®žå—è¿ç®—符 %qD" #: cp/decl.c:1331 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "raw literal operator %q+D conflicts with literal operator template %qD" -msgstr "" +msgstr "原始实å—è¿ç®—符 %q+D 冲çªä¸Žå®žå—è¿ç®—ç¬¦æ¨¡æ¿ %qD" #: cp/decl.c:1352 #, gcc-internal-format @@ -34545,7 +34359,7 @@ msgstr "函数%q+Dé‡å£°æ˜Žä¸ºå†…è”çš„" #: cp/decl.c:1355 #, fuzzy, gcc-internal-format msgid "previous declaration of %qD with attribute noinline" -msgstr "å…ˆå‰%q+D的声明带有 noinline 属性" +msgstr "%q+D带有 noinline 属性的声明出现在其内è”声明之åŽ" #: cp/decl.c:1362 #, gcc-internal-format @@ -34555,7 +34369,7 @@ msgstr "函数%q+Dé‡å£°æ˜Žä¸ºå¸¦æœ‰ä¸å¯å†…è”属性" #: cp/decl.c:1365 #, fuzzy, gcc-internal-format msgid "previous declaration of %qD was inline" -msgstr "%q+Då…ˆå‰è¢«å£°æ˜Žä¸ºå†…è”çš„" +msgstr "%qD的声明éšè—了先å‰çš„一个局部å˜é‡" #: cp/decl.c:1389 cp/decl.c:1465 #, gcc-internal-format @@ -34575,7 +34389,7 @@ msgstr "库函数%q#Dé‡å£°æ˜Žä¸ºéžå‡½æ•°%q#D" #: cp/decl.c:1400 #, fuzzy, gcc-internal-format msgid "declaration of %q#D conflicts with built-in declaration %q#D" -msgstr "与内建声明%q#D冲çª" +msgstr "%q+D的节与早先的声明冲çª" #: cp/decl.c:1408 #, fuzzy, gcc-internal-format @@ -34605,17 +34419,17 @@ msgstr "å…ˆå‰çš„声明%q+D" #: cp/decl.c:1574 #, fuzzy, gcc-internal-format msgid "conflicting declaration of template %q#D" -msgstr "模æ¿å£°æ˜Ž%q#D" +msgstr "相互冲çªçš„声明%q#D" #: cp/decl.c:1590 #, fuzzy, gcc-internal-format msgid "ambiguating new declaration %q#D" -msgstr "使旧的声明%q+#D出现æ§ä¹‰" +msgstr "%q+Då…ˆå‰æ²¡æœ‰å£°æ˜Žè¿‡" #: cp/decl.c:1592 cp/decl.c:1615 #, fuzzy, gcc-internal-format msgid "old declaration %q#D" -msgstr "全局声明%q+#D" +msgstr "%q#D的声明" #: cp/decl.c:1600 #, fuzzy, gcc-internal-format @@ -34625,7 +34439,7 @@ msgstr "相互冲çªçš„声明%q#D" #: cp/decl.c:1613 #, fuzzy, gcc-internal-format msgid "ambiguating new declaration of %q#D" -msgstr "使旧的声明%q+#D出现æ§ä¹‰" +msgstr "%q+Då…ˆå‰æ²¡æœ‰å£°æ˜Žè¿‡" #: cp/decl.c:1623 #, gcc-internal-format @@ -34635,7 +34449,7 @@ msgstr "相互冲çªçš„声明%q#D" #: cp/decl.c:1625 #, fuzzy, gcc-internal-format msgid "previous declaration as %q#D" -msgstr "%q+#Dçš„å‰ä¸€ä¸ªå£°æ˜Ž" +msgstr "å…ˆå‰çš„声明%q+D" #. [namespace.alias] #. @@ -34647,12 +34461,12 @@ msgstr "%q+#Dçš„å‰ä¸€ä¸ªå£°æ˜Ž" #: cp/decl.c:1677 #, fuzzy, gcc-internal-format msgid "conflicting declaration of namespace %qD" -msgstr "相互冲çªçš„声明%q#D" +msgstr "ä¸å…许在 using 声明ä¸ä½¿ç”¨å‘½å空间%qD" #: cp/decl.c:1679 #, fuzzy, gcc-internal-format msgid "previous declaration of namespace %qD here" -msgstr "命å空间%q+D早先的声明在这里" +msgstr "这里ä¸å…许命å空间别å%qD,å‡å®šä¸º%qD" #: cp/decl.c:1691 #, gcc-internal-format @@ -34662,27 +34476,27 @@ msgstr "%q+#D已在æ¤å®šä¹‰è¿‡" #: cp/decl.c:1692 cp/name-lookup.c:1181 cp/name-lookup.c:1204 #, fuzzy, gcc-internal-format msgid "%q+#D previously declared here" -msgstr "以å‰åœ¨æ¤å£°æ˜Žè¿‡" +msgstr "%q+#D已在æ¤å®šä¹‰è¿‡" #: cp/decl.c:1702 #, fuzzy, gcc-internal-format msgid "prototype specified for %q#D" -msgstr "%q+#D的原型" +msgstr "%q+D的寄å˜å™¨åæ— æ•ˆ" #: cp/decl.c:1704 #, fuzzy, gcc-internal-format msgid "previous non-prototype definition here" -msgstr "出现在æ¤å¤„çš„éžåŽŸåž‹å®šä¹‰ä¹‹åŽ" +msgstr "%q+D的上一个定义在æ¤" #: cp/decl.c:1743 #, fuzzy, gcc-internal-format msgid "conflicting declaration of %q#D with %qL linkage" -msgstr "与带有%qL链接的新声明冲çª" +msgstr "%q+D声明为没有外部链接的,之å‰å´æœ‰å¤–部声明" #: cp/decl.c:1746 #, fuzzy, gcc-internal-format msgid "previous declaration with %qL linkage" -msgstr "%q+#D的早先声明有%qL链接" +msgstr "%qDå…ˆå‰æ²¡æœ‰å£°æ˜Ž" #: cp/decl.c:1780 cp/decl.c:1788 #, gcc-internal-format @@ -34692,7 +34506,7 @@ msgstr "为%2$q#D的第 %1$d 个形å‚指定了默认实å‚" #: cp/decl.c:1783 cp/decl.c:1791 #, fuzzy, gcc-internal-format msgid "previous specification in %q#D here" -msgstr "但先å‰åœ¨%q+#Dä¸å·²æœ‰æŒ‡å®š" +msgstr "%q+D的上一个定义在æ¤" #: cp/decl.c:1856 #, gcc-internal-format @@ -34702,7 +34516,7 @@ msgstr "åŒä¸€ä½œç”¨åŸŸä¸%qD冗余的é‡å£°æ˜Ž" #: cp/decl.c:1859 cp/decl.c:1869 cp/decl.c:2371 #, fuzzy, gcc-internal-format msgid "previous declaration of %qD" -msgstr "%q+Dçš„å‰ä¸€ä¸ªå£°æ˜Ž" +msgstr "%qDå…ˆå‰æ²¡æœ‰å£°æ˜Ž" #: cp/decl.c:1867 #, gcc-internal-format @@ -34884,9 +34698,8 @@ msgstr "%<typename %T::%D%>指定了%q#T,但åŽè€…ä¸æ˜¯ä¸€ä¸ªç±»åž‹" #: cp/decl.c:3629 #, fuzzy, gcc-internal-format -#| msgid "template parameters do not match template" msgid "template parameters do not match template %qD" -msgstr "模æ¿å‚数与模æ¿ä¸ç¬¦" +msgstr "ç»™%qD的模æ¿å®žå‚ä¸åŒ¹é…原先的模æ¿%qD" #: cp/decl.c:4358 #, gcc-internal-format @@ -34916,7 +34729,7 @@ msgstr "有拷è´èµ‹å€¼è¿ç®—符的æˆå‘˜%q+#Dä¸èƒ½ç”¨åœ¨è”åˆä¸" #: cp/decl.c:4403 #, fuzzy, gcc-internal-format msgid "attribute ignored in declaration of %q#T" -msgstr "属性于%q+#T的声明ä¸è¢«å¿½ç•¥" +msgstr "%q+Tå…ˆå‰åœ¨æ¤å¤„有过声明" #: cp/decl.c:4406 #, fuzzy, gcc-internal-format @@ -34986,7 +34799,7 @@ msgstr "%<constexpr%>ä¸èƒ½è¢«ç”¨ä½œç±»åž‹å£°æ˜Ž" #: cp/decl.c:4535 #, fuzzy, gcc-internal-format msgid "attribute ignored in explicit instantiation %q#T" -msgstr "属性在模æ¿å®žä¾‹åŒ–上被忽略" +msgstr "对%q#Té‡å¤çš„显å¼å®žä¾‹åŒ–" #: cp/decl.c:4538 #, fuzzy, gcc-internal-format @@ -35021,19 +34834,16 @@ msgstr "%q#Dçš„å®šä¹‰è¢«æ ‡è®°ä¸º %<dllimport%>" #: cp/decl.c:4743 #, fuzzy, gcc-internal-format -#| msgid "%q#D is not a non-static data member of %qT" msgid "%q+#D is not a static data member of %q#T" msgstr "%q#Dä¸æ˜¯%qTçš„éžé™æ€æ•°æ®æˆå‘˜" #: cp/decl.c:4752 #, fuzzy, gcc-internal-format -#| msgid "template declaration of %q#D" msgid "non-member-template declaration of %qD" -msgstr "%q#D声明为模æ¿" +msgstr "æ— æ•ˆçš„æˆå‘˜æ¨¡æ¿å£°æ˜Ž%qD" #: cp/decl.c:4753 #, fuzzy, gcc-internal-format -#| msgid "invalid member template declaration %qD" msgid "does not match member template declaration here" msgstr "æ— æ•ˆçš„æˆå‘˜æ¨¡æ¿å£°æ˜Ž%qD" @@ -35064,9 +34874,8 @@ msgstr "函数%qsçš„å˜å‚¨ç±»%<__thread%>æ— æ•ˆ" #: cp/decl.c:4862 #, fuzzy, gcc-internal-format -#| msgid "%q+F declared %<static%> but never defined" msgid "%qD declared %<static%> in %<constexpr%> function" -msgstr "%q+F声明为%<static%>å´ä»Žæœªå®šä¹‰è¿‡" +msgstr "éžé™æ€æ•°æ®æˆå‘˜%qE被声明为%<constexpr%>" #: cp/decl.c:4927 #, gcc-internal-format @@ -35110,9 +34919,8 @@ msgstr "ä¸å¹³å‡¡çš„代ç†åˆå§‹å€¼è®¾å®šä¸å—支æŒ" #: cp/decl.c:5058 #, fuzzy, gcc-internal-format -#| msgid "size of array %qD is not an integral constant-expression" msgid "C99 designator %qE is not an integral constant-expression" -msgstr "数组%qD的大å°ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸è¡¨è¾¾å¼" +msgstr "整型表达å¼%qEä¸æ˜¯å¸¸é‡" #: cp/decl.c:5106 #, gcc-internal-format @@ -35149,7 +34957,6 @@ msgstr "对ä¸èµ·ï¼šå†…è”函数ä¸é™æ€æ•°æ®%q+#Dçš„è¯ä¹‰æ˜¯é”™çš„(您会得 #: cp/decl.c:5238 #, fuzzy, gcc-internal-format -#| msgid " you can work around this by removing the initializer" msgid "you can work around this by removing the initializer" msgstr " å˜é€šçš„ä½œæ³•æ˜¯åˆ é™¤åˆå§‹å€¼è®¾å®š" @@ -35160,9 +34967,8 @@ msgstr "未åˆå§‹åŒ–的常é‡%qD" #: cp/decl.c:5269 #, fuzzy, gcc-internal-format -#| msgid "uninitialized member %qD in %<constexpr%> constructor" msgid "uninitialized variable %qD in %<constexpr%> function" -msgstr "æˆå‘˜%qD在%<constexpr%>æž„é€ å‡½æ•°é‡Œæœªåˆå§‹åŒ–" +msgstr "对广义常å˜é‡%qD的声明ä¸åŒæ—¶æ˜¯å®šä¹‰" #: cp/decl.c:5279 #, gcc-internal-format @@ -35170,14 +34976,14 @@ msgid "%q#T has no user-provided default constructor" msgstr "%q#T没有用户æä¾›çš„é»˜è®¤æž„é€ å‡½æ•°" #: cp/decl.c:5283 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "constructor is not user-provided because it is explicitly defaulted in the class body" -msgstr "" +msgstr "建构å未被 user-provided å› ä¸ºå®ƒæ˜¯æ˜Žç¡®çš„ç¼ºå¸åœ¨ä¸ç±»åˆ«æœ¬ä½“" #: cp/decl.c:5285 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "and the implicitly-defined constructor does not initialize %q+#D" -msgstr "" +msgstr "å’Œ implicitly-defined 建构åä¸åˆå§‹åŒ– %q+#D" #: cp/decl.c:5408 #, gcc-internal-format @@ -35202,12 +35008,12 @@ msgstr "%qT没有å为%qDçš„éžé™æ€æ•°æ®æˆå‘˜" #: cp/decl.c:5503 #, fuzzy, gcc-internal-format msgid "invalid initializer for %q#D" -msgstr "æˆå‘˜å‡½æ•°%qDçš„åˆå§‹å€¼è®¾å®šæ— 效" +msgstr "åˆå§‹å€¼è®¾å®šæ— 法决定%q+D的大å°" #: cp/decl.c:5533 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "C99 designator %qE outside aggregate initializer" -msgstr "" +msgstr "C99 指示项 %qE 外侧汇总åˆå§‹è®¾ç½®å¼" #: cp/decl.c:5570 cp/decl.c:5775 cp/typeck2.c:1260 cp/typeck2.c:1470 #: cp/typeck2.c:1499 cp/typeck2.c:1546 @@ -35233,12 +35039,12 @@ msgstr "数组%q#Tçš„å…ƒç´ ç±»åž‹ä¸å®Œå…¨" #: cp/decl.c:5806 #, gcc-internal-format msgid "variable-sized compound literal" -msgstr "å˜é•¿å¤åˆå—é¢å€¼" +msgstr "å˜é•¿å¤åˆå—é¢é‡" #: cp/decl.c:5860 #, fuzzy, gcc-internal-format msgid "%q#D has incomplete type" -msgstr "%qD类型ä¸å®Œå…¨" +msgstr "%q+D类型ä¸å®Œå…¨" #: cp/decl.c:5880 #, gcc-internal-format @@ -35263,7 +35069,7 @@ msgstr "æž„é€ å‡½æ•°ä¸å¯¹é™æ€æˆå‘˜çš„åˆå§‹åŒ–æ— æ•ˆ" #: cp/decl.c:6050 #, fuzzy, gcc-internal-format msgid "non-constant in-class initialization invalid for static member %qD" -msgstr "ISO C++ ä¸å…许在类内åˆå§‹åŒ–éžå¸¸é‡é™æ€æˆå‘˜%qD" +msgstr "ç±»ä¸å¯¹å…·æœ‰éžæ•´æ•°ç±»åž‹%qTçš„é™æ€æ•°æ®æˆå‘˜çš„åˆå§‹åŒ–æ— æ•ˆ" #: cp/decl.c:6055 #, gcc-internal-format @@ -35273,7 +35079,7 @@ msgstr "(需è¦ä¸€ä¸ªç±»å¤–çš„åˆå§‹åŒ–)" #: cp/decl.c:6229 #, fuzzy, gcc-internal-format msgid "reference %qD is initialized with itself" -msgstr "æ¤å‡½æ•°ä¸çš„%qD在使用å‰æœªåˆå§‹åŒ–" +msgstr "%qD声明为引用å´æœªè¢«åˆå§‹åŒ–" #: cp/decl.c:6375 #, gcc-internal-format @@ -35306,9 +35112,9 @@ msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization msgstr "" #: cp/decl.c:7185 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" -msgstr "" +msgstr " %q+T 有 non-trivial 解构å¼" #: cp/decl.c:7191 #, gcc-internal-format @@ -35459,7 +35265,7 @@ msgstr "ä¸èƒ½å°†%<::main%>声明为 inline" #: cp/decl.c:7800 #, fuzzy, gcc-internal-format msgid "cannot declare %<::main%> to be constexpr" -msgstr "ä¸èƒ½å°†%<::main%>声明为 inline" +msgstr "ä¸èƒ½å°†%<::main%>声明为一个模æ¿" #: cp/decl.c:7802 #, gcc-internal-format @@ -35489,22 +35295,22 @@ msgstr "éžæˆå‘˜å‡½æ•°%qDä¸èƒ½æ‹¥æœ‰ cv é™å®šç¬¦" #: cp/decl.c:7873 #, fuzzy, gcc-internal-format msgid "literal operator with C linkage" -msgstr "模æ¿æœ‰ C 链接" +msgstr "特例化模æ¿æœ‰ C 链接" #: cp/decl.c:7882 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "%qD has invalid argument list" -msgstr "-fdebug-prefix-map çš„å‚æ•°%qsæ— æ•ˆ" +msgstr "%qD å¸¦æœ‰æ— æ•ˆå‚数列表" #: cp/decl.c:7890 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "integer suffix %<%s%> shadowed by implementation" -msgstr "" +msgstr "æ•´æ•°å—å°¾ %<%s%>带阴影由实现" #: cp/decl.c:7896 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "floating point suffix %<%s%> shadowed by implementation" -msgstr "" +msgstr "浮点数å—å°¾ %<%s%>带阴影由实现" #: cp/decl.c:7902 #, fuzzy, gcc-internal-format @@ -35524,12 +35330,12 @@ msgstr "éšå¼å£°æ˜Žçš„%qD的定义" #: cp/decl.c:8027 #, fuzzy, gcc-internal-format msgid "definition of explicitly-defaulted %q+D" -msgstr "éšå¼å£°æ˜Žçš„%qD的定义" +msgstr "默认化声明%q+D" #: cp/decl.c:8028 #, fuzzy, gcc-internal-format msgid "%q+#D explicitly defaulted here" -msgstr "%q+#D已在æ¤å®šä¹‰è¿‡" +msgstr "默认化声明%q+D" #: cp/decl.c:8045 cp/decl2.c:787 #, gcc-internal-format @@ -35633,9 +35439,8 @@ msgstr "数组维数溢出" #: cp/decl.c:8693 #, fuzzy, gcc-internal-format -#| msgid "%q+D declared as a friend" msgid "%qD declared as array of %qT" -msgstr "%q+D声明为å‹å…ƒ" +msgstr "æˆå‘˜å‡½æ•°%qD未在%qTä¸å£°æ˜Ž" #: cp/decl.c:8703 #, gcc-internal-format @@ -35755,12 +35560,12 @@ msgstr "函数定义未声明形å‚" #: cp/decl.c:9174 #, fuzzy, gcc-internal-format msgid "declaration of %qD as %<typedef%>" -msgstr "%<typedef%>的模æ¿å£°æ˜Ž" +msgstr "å½¢å‚声明ä¸å‡ºçŽ°çš„ typedef å£°æ˜Žæ— æ•ˆ" #: cp/decl.c:9179 #, fuzzy, gcc-internal-format msgid "declaration of %qD as parameter" -msgstr "%q+D的声明éšè—了一个形å‚" +msgstr "声明的形å‚%qDä¸å˜åœ¨" #: cp/decl.c:9212 #, gcc-internal-format @@ -35778,10 +35583,9 @@ msgid "conflicting specifiers in declaration of %qs" msgstr "%qs的声明ä¸æœ‰ç›¸äº’冲çªçš„é™å®šç¬¦" #: cp/decl.c:9267 -#, fuzzy, gcc-internal-format -#| msgid "ISO C does not support plain %<complex%> meaning %<double complex%>" +#, gcc-internal-format msgid "ISO C++ does not support plain %<complex%> meaning %<double complex%>" -msgstr "ISO C ä¸æ”¯æŒå•ç‹¬ç”¨%<complex%>表示%<double complex%>" +msgstr "ISO C++ ä¸æ”¯æŒå•ç‹¬ä»¥ %<complex%> 表示 %<double complex%>" #: cp/decl.c:9310 cp/decl.c:9313 cp/decl.c:9316 #, gcc-internal-format @@ -35790,13 +35594,11 @@ msgstr "ISO C++ ä¸å…è®¸å£°æ˜Žæ— ç±»åž‹çš„%qs" #: cp/decl.c:9327 #, fuzzy, gcc-internal-format -#| msgid "%<__int128%> is not supported by this target" msgid "%<__int%d%> is not supported by this target" -msgstr "%<__int128%>ä¸ä¸ºæ¤ç›®æ ‡æ‰€æ”¯æŒ" +msgstr "嵌套函数在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" #: cp/decl.c:9333 #, fuzzy, gcc-internal-format -#| msgid "ISO C++ does not support %<__int128%> for %qs" msgid "ISO C++ does not support %<__int%d%> for %qs" msgstr "ISO C++ 对%qsä¸æ”¯æŒ%<__int128%>" @@ -36076,7 +35878,7 @@ msgstr "æ— æ³•å®šä¹‰æˆå‘˜å‡½æ•°%<%T::%s%>,在%<%T%>ä¸" #: cp/decl.c:10198 #, fuzzy, gcc-internal-format msgid "cannot declare member function %<%T::%s%> within %<%T%>" -msgstr "æ— æ³•å®šä¹‰æˆå‘˜å‡½æ•°%<%T::%s%>,在%<%T%>ä¸" +msgstr "æ— æ³•å£°æ˜Žæˆå‘˜%<%T::%s%>,在%qTä¸" #: cp/decl.c:10206 #, gcc-internal-format @@ -36105,19 +35907,16 @@ msgstr "å‚æ•°ä¸èƒ½å…·æœ‰å¯å˜ç±»åž‹%qT" #: cp/decl.c:10272 #, fuzzy, gcc-internal-format -#| msgid "%<virtual%> outside class declaration" msgid "%<explicit%> outside class declaration" msgstr "%<virtual%>用在类声明以外" #: cp/decl.c:10274 #, fuzzy, gcc-internal-format -#| msgid "%<inline%> in empty declaration" msgid "%<explicit%> in friend declaration" msgstr "%<inline%>用于空声明ä¸" #: cp/decl.c:10276 #, fuzzy, gcc-internal-format -#| msgid "only declarations of constructors can be %<explicit%>" msgid "only declarations of constructors and conversion operators can be %<explicit%>" msgstr "åªæœ‰æž„é€ å‡½æ•°æ‰èƒ½è¢«å£°æ˜Žä¸º%<explicit%>" @@ -36149,12 +35948,12 @@ msgstr "常é‡%qsä¸èƒ½è¢«å£°æ˜Žä¸º%<mutable%>" #: cp/decl.c:10311 #, fuzzy, gcc-internal-format msgid "reference %qs cannot be declared %<mutable%>" -msgstr "函数%qsä¸èƒ½è¢«å£°æ˜Žä¸º%<mutable%>" +msgstr "常é‡%qsä¸èƒ½è¢«å£°æ˜Žä¸º%<mutable%>" #: cp/decl.c:10347 #, fuzzy, gcc-internal-format msgid "typedef declared %<auto%>" -msgstr "å½¢å‚声明为%<auto%>" +msgstr "typedef%q+D声明为%<inline%>" #: cp/decl.c:10357 #, gcc-internal-format @@ -36214,7 +36013,7 @@ msgstr "ä¸èƒ½åœ¨å‚数声明ä¸ä½¿ç”¨%<::%>" #: cp/decl.c:10593 #, fuzzy, gcc-internal-format msgid "%<auto%> parameter not permitted in this context" -msgstr "%<this%>ä¸èƒ½ç”¨åœ¨æ¤ä¸Šä¸‹æ–‡ä¸" +msgstr "å½¢å‚声明为%<auto%>" #: cp/decl.c:10595 #, gcc-internal-format @@ -36235,7 +36034,7 @@ msgstr "错误地使用了%<::%>" #: cp/decl.c:10685 #, fuzzy, gcc-internal-format msgid "declaration of function %qD in invalid context" -msgstr "%qD的声明ä¸ç±»åæ— æ•ˆ" +msgstr "%qD模æ¿å£°æ˜Žæ— 效" #: cp/decl.c:10694 #, gcc-internal-format @@ -36275,12 +36074,12 @@ msgstr "模æ¿å£°æ˜Ž%q#D" #: cp/decl.c:10752 #, fuzzy, gcc-internal-format msgid "variable template declared here" -msgstr "%qD 在æ¤å£°æ˜Ž" +msgstr "%q+D已在æ¤å£°æ˜Žè¿‡" #: cp/decl.c:10804 #, fuzzy, gcc-internal-format msgid "field %qD has incomplete type %qT" -msgstr "å—段%qD类型ä¸å®Œå…¨" +msgstr "%qD类型ä¸å®Œå…¨" #: cp/decl.c:10809 #, gcc-internal-format @@ -36410,9 +36209,8 @@ msgstr "ISO C ä¸å…许å‰å‘å‚数声明" #: cp/decl.c:11325 #, fuzzy, gcc-internal-format -#| msgid "cannot use %<::%> in parameter declaration" msgid "invalid use of type %<void%> in parameter declaration" -msgstr "ä¸èƒ½åœ¨å‚数声明ä¸ä½¿ç”¨%<::%>" +msgstr "对模æ¿ç±»åž‹å‚æ•°%qTçš„ä½¿ç”¨æ— æ•ˆ" #: cp/decl.c:11338 #, gcc-internal-format @@ -36593,7 +36391,7 @@ msgstr "使用模æ¿ç±»åž‹å½¢å‚%qT,在%qsåŽ" #: cp/decl.c:12135 #, fuzzy, gcc-internal-format msgid "using alias template specialization %qT after %qs" -msgstr "有æ§ä¹‰çš„模æ¿ç‰¹ä¾‹åŒ–%qD(为%q+D)" +msgstr "使用模æ¿ç±»åž‹å½¢å‚%qT,在%qsåŽ" #: cp/decl.c:12138 #, gcc-internal-format @@ -36603,7 +36401,7 @@ msgstr "使用 typedef å%qD,在%qsåŽ" #: cp/decl.c:12140 #, fuzzy, gcc-internal-format msgid "%qD has a previous declaration here" -msgstr "%q+Då…ˆå‰åœ¨æ¤å¤„有过声明" +msgstr "%q+Tå…ˆå‰åœ¨æ¤å¤„有过声明" #: cp/decl.c:12148 #, gcc-internal-format @@ -36689,9 +36487,9 @@ msgid "duplicate base type %qT invalid" msgstr "é‡å¤çš„基类型%qTæ— æ•ˆ" #: cp/decl.c:12741 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "scoped/unscoped mismatch in enum %q#T" -msgstr "" +msgstr "范围/unscoped ä¸åŒ¹é…åœ¨ä¸ enum %q#T" #: cp/decl.c:12744 cp/decl.c:12752 cp/decl.c:12764 cp/parser.c:15987 #, gcc-internal-format @@ -36704,9 +36502,9 @@ msgid "underlying type mismatch in enum %q#T" msgstr "æ¡ä»¶è¡¨è¾¾å¼ä¸ç±»åž‹ä¸åŒ¹é…" #: cp/decl.c:12761 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "different underlying type in enum %q#T" -msgstr "" +msgstr "ä¸åŒçš„下层的输入 enum %q#T" #: cp/decl.c:12828 #, gcc-internal-format @@ -36775,7 +36573,7 @@ msgstr "å½¢å‚%qD被声明为 void" #: cp/decl.c:14215 #, fuzzy, gcc-internal-format msgid "no return statements in function returning %qT" -msgstr "在有返回值的函数ä¸æœªå‘现 return è¯å¥" +msgstr "在返回%qT的函数ä¸ï¼Œè¿”回è¯å¥ä¸å¸¦è¿”回值" #: cp/decl.c:14217 cp/typeck.c:8488 #, fuzzy, gcc-internal-format @@ -36820,7 +36618,7 @@ msgstr "%<%T[%T]%>ç”¨ä½œæ•°ç»„ä¸‹æ ‡ç±»åž‹æ— æ•ˆ" #: cp/decl2.c:471 #, fuzzy, gcc-internal-format msgid "deleting array %q#E" -msgstr "åˆ é™¤æ•°ç»„%q#D" +msgstr "在%q+Dä¸ç¼ºå°‘数组大å°" #: cp/decl2.c:477 #, gcc-internal-format @@ -36877,14 +36675,13 @@ msgstr "局部类%q#Tä¸åº”当拥有é™æ€æ•°æ®æˆå‘˜%q#D" #: cp/decl2.c:843 #, fuzzy, gcc-internal-format -#| msgid "non-static data member %qD has Java class type" msgid "static data member %qD in unnamed class" -msgstr "éžé™æ€æ•°æ®æˆå‘˜%qD具有 Java 类类型" +msgstr "%qDä¸æ˜¯ç±»æ¨¡æ¿çš„éžé™æ€æ•°æ®æˆå‘˜" #: cp/decl2.c:845 #, fuzzy, gcc-internal-format msgid "unnamed class defined here" -msgstr "结构在æ¤å®šä¹‰" +msgstr "%B:è¦å‘Šï¼šåœ¨æ¤å®šä¹‰\n" #: cp/decl2.c:904 #, gcc-internal-format @@ -36908,7 +36705,6 @@ msgstr "æˆå‘˜å‡½æ•°%qDçš„åˆå§‹å€¼è®¾å®šæ— 效" #: cp/decl2.c:994 #, fuzzy, gcc-internal-format -#| msgid "initializer specified for static member function %qD" msgid "initializer specified for friend function %qD" msgstr "为é™æ€æˆå‘˜å‡½æ•°%qD指定了åˆå§‹å€¼" @@ -37023,7 +36819,6 @@ msgstr "%qT被声明为比其基类%qT有更高的å¯è§æ€§" #: cp/decl2.c:4213 #, fuzzy, gcc-internal-format -#| msgid "%q+#D, declared using anonymous type, is used but never defined" msgid "%q#D, declared using anonymous type, is used but never defined" msgstr "%q+#D声明为具有匿å类型,在使用å‰æœªè¢«å®šä¹‰" @@ -37032,24 +36827,22 @@ msgstr "%q+#D声明为具有匿å类型,在使用å‰æœªè¢«å®šä¹‰" #. entities. Since it's not always an error in the #. ISO C++ 90 Standard, we only issue a warning. #: cp/decl2.c:4222 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "anonymous type with no linkage used to declare variable %q#D with linkage" -msgstr "" +msgstr "匿å类型ä¸å…·ä»»ä½•é“¾ç»“用æ¥å£°æ˜Žå˜é‡ %q#D 与链结" #: cp/decl2.c:4226 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "anonymous type with no linkage used to declare function %q#D with linkage" -msgstr "" +msgstr "匿å类型ä¸å…·ä»»ä½•é“¾ç»“用æ¥å£°æ˜Žå‡½æ•° %q#D 与链结" #: cp/decl2.c:4230 #, fuzzy, gcc-internal-format -#| msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage" msgid "%q#D does not refer to the unqualified type, so it is not used for linkage" msgstr "%q+#D未指明éžé™å®šç±»åž‹ï¼Œæ‰€ä»¥å®ƒä¸è¢«ç”¨ä½œå¤–部链接" #: cp/decl2.c:4235 #, fuzzy, gcc-internal-format -#| msgid "%q+#D, declared using local type %qT, is used but never defined" msgid "%q#D, declared using local type %qT, is used but never defined" msgstr "%q+#D声明为具有局部类型%qT,在使用å‰æœªè¢«å®šä¹‰" @@ -37268,14 +37061,14 @@ msgid "%<...%> handler must be the last handler for its try block" msgstr "%<...%>处ç†è€…必须是其 try å—ä¸çš„最åŽä¸€ä¸ªå¤„ç†è€…" #: cp/except.c:1205 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "noexcept-expression evaluates to %<false%> because of a call to %qD" -msgstr "" +msgstr "noexcept-expression 评估到 %<false%> å› ä¸ºè°ƒç”¨åˆ° %qD" #: cp/except.c:1207 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "but %q+D does not throw; perhaps it should be declared %<noexcept%>" -msgstr "" +msgstr "但是 %q+D ä¸ä¸¢æŽ·ï¼›ä¹Ÿè®¸å®ƒåº”该被声明 %<noexcept%>" #: cp/friend.c:161 #, gcc-internal-format @@ -37374,7 +37167,7 @@ msgstr "(如果这ä¸æ˜¯æ‚¨åŽŸæ¥çš„想法,请确定æ¤å‡½æ•°æ¨¡æ¿å·²ç»å£°æ˜ #: cp/init.c:396 #, fuzzy, gcc-internal-format msgid "value-initialization of incomplete type %qT" -msgstr "%qsä¸èƒ½ç”¨äºŽä¸å®Œå…¨çš„类型%qT" +msgstr "å‘ void 的类型转æ¢ä¸ä¼šè®¿é—®å…·æœ‰ä¸å®Œå…¨ç±»åž‹%qT的对象" #: cp/init.c:465 #, fuzzy, gcc-internal-format @@ -37384,12 +37177,12 @@ msgstr "å½¢å‚%qD包å«äº†æŒ‡å‘具有未知边界数组%qT的指针" #: cp/init.c:504 #, fuzzy, gcc-internal-format msgid "value-initialization of function type %qT" -msgstr "引用被值所åˆå§‹åŒ–" +msgstr "在返回%qT的函数ä¸ï¼Œè¿”回è¯å¥ä¸å¸¦è¿”回值" #: cp/init.c:510 #, fuzzy, gcc-internal-format msgid "value-initialization of reference type %qT" -msgstr "引用被值所åˆå§‹åŒ–" +msgstr "生æˆæŒ‡å‘引用类型%qT的引用" #: cp/init.c:574 #, gcc-internal-format @@ -37404,24 +37197,23 @@ msgstr "%qD应该在æˆå‘˜åˆå§‹åŒ–列表ä¸è¢«åˆå§‹åŒ–" #: cp/init.c:631 #, fuzzy, gcc-internal-format msgid "%qD is initialized with itself" -msgstr "æ¤å‡½æ•°ä¸çš„%qD在使用å‰æœªåˆå§‹åŒ–" +msgstr "å½¢å‚%qDå·²åˆå§‹åŒ–" #: cp/init.c:729 #, fuzzy, gcc-internal-format msgid "invalid initializer for array member %q#D" -msgstr "æˆå‘˜å‡½æ•°%qDçš„åˆå§‹å€¼è®¾å®šæ— 效" +msgstr "æˆå‘˜å‡½æ•°%q+#Dçš„æŠ½è±¡è¿”å›žç±»åž‹æ— æ•ˆ" #: cp/init.c:743 cp/init.c:767 cp/init.c:2208 cp/method.c:1234 #, fuzzy, gcc-internal-format msgid "uninitialized const member in %q#T" -msgstr "%q#Tä¸æœ‰æœªåˆå§‹åŒ–的引用æˆå‘˜" +msgstr "%<new%>%q#T时常é‡æœªåˆå§‹åŒ–" #: cp/init.c:745 cp/init.c:762 cp/init.c:769 cp/init.c:2193 cp/init.c:2221 #: cp/method.c:1237 cp/method.c:1248 #, fuzzy, gcc-internal-format -#| msgid "%qD should be initialized" msgid "%q#D should be initialized" -msgstr "%qD应当被赋值" +msgstr "%q+D将在" #: cp/init.c:760 cp/init.c:2180 cp/method.c:1245 #, gcc-internal-format @@ -37576,12 +37368,12 @@ msgstr "%q#Tä¸æœ‰æœªåˆå§‹åŒ–的引用æˆå‘˜" #: cp/init.c:2345 #, fuzzy, gcc-internal-format msgid "integer overflow in array size" -msgstr "整数溢出" +msgstr "表达å¼ä¸æ•´å¤æ•°æº¢å‡º" #: cp/init.c:2355 #, fuzzy, gcc-internal-format msgid "array size in new-expression must be constant" -msgstr "å˜é‡â€˜%s’在%L处上下文ä¸å¿…须是常é‡" +msgstr "数组 new 的大å°å¿…须有整数类型" #: cp/init.c:2369 #, fuzzy, gcc-internal-format @@ -37689,14 +37481,14 @@ msgid "neither the destructor nor the class-specific operator delete will be cal msgstr "æžæž„函数和类特定的 delete è¿ç®—符å‡ä¸ä¼šè¢«è°ƒç”¨ï¼Œå³ä½¿å®ƒä»¬åœ¨ç±»å®šä¹‰æ—¶å·²ç»å£°æ˜Žã€‚" #: cp/init.c:4019 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour" -msgstr "" +msgstr "åˆ é™¤å¯¹è±¡çš„æŠ½è±¡ç±»åˆ«ç±»åž‹ %qT 该项有 non-virtual 解构å¼å°†é€ æˆæœªå®šä¹‰çš„行为" #: cp/init.c:4024 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour" -msgstr "" +msgstr "åˆ é™¤å¯¹è±¡çš„ polymorphic 类别类型 %qT 该项有 non-virtual 解构å¼ä¹Ÿè®¸é€ æˆæœªå®šä¹‰çš„行为" #: cp/init.c:4321 #, gcc-internal-format @@ -37716,7 +37508,7 @@ msgstr "" #: cp/lambda.c:499 #, fuzzy, gcc-internal-format msgid "because the array element type %qT has variable size" -msgstr "å¤åˆå—é¢å€¼æœ‰å¯å˜çš„大å°" +msgstr "å¤åˆå—é¢é‡æœ‰å¯å˜çš„大å°" #: cp/lambda.c:510 #, gcc-internal-format @@ -37725,9 +37517,8 @@ msgstr "æ— æ³•é€šè¿‡å¼•ç”¨æ•èŽ·%qE" #: cp/lambda.c:518 #, fuzzy, gcc-internal-format -#| msgid "invalid use of incomplete type %q#T" msgid "capture by copy of incomplete type %qT" -msgstr "对ä¸å®Œå…¨çš„类型%q#Tçš„éžæ³•ä½¿ç”¨" +msgstr "å‘ void 的类型转æ¢ä¸ä¼šè®¿é—®å…·æœ‰ä¸å®Œå…¨ç±»åž‹%qT的对象" #: cp/lambda.c:542 #, fuzzy, gcc-internal-format @@ -37792,7 +37583,7 @@ msgstr "%qD的实å‚ä¸ä¾èµ–模æ¿å‚数,所以%qD的声明必须å¯ç”¨" #: cp/lex.c:519 #, gcc-internal-format msgid "(if you use %<-fpermissive%>, G++ will accept your code, but allowing the use of an undeclared name is deprecated)" -msgstr "(如果您使用%<-fpermissive%>,G++ 会接å—您的代ç ,但是å…许使用未定义的å称是ä¸å»ºè®®ä½¿ç”¨çš„é£Žæ ¼)" +msgstr "(如果您使用%<-fpermissive%>,G++ 会接å—您的代ç ,但是å…许使用未定义的åç§°æ˜¯å·²å¼ƒç”¨çš„é£Žæ ¼)" #: cp/mangle.c:2150 #, gcc-internal-format @@ -37836,13 +37627,11 @@ msgstr "-fabi-version=4 (or =0) å¯ä»¥æ”¹å˜å‘é‡ä¿®é¥°æ¥é¿å…这个错误" #: cp/mangle.c:3574 #, fuzzy, gcc-internal-format -#| msgid "the mangled name of %qD will change in a future version of GCC" msgid "the mangled name of %q+D changed between -fabi-version=%d (%D) and -fabi-version=%d (%D)" msgstr "%qD修饰åŽçš„åå—将在 GCC 的未æ¥ç‰ˆæœ¬ä¸æœ‰å˜åŒ–" #: cp/mangle.c:3579 #, fuzzy, gcc-internal-format -#| msgid "the mangled name of %qD will change in a future version of GCC" msgid "the mangled name of %q+D changes between -fabi-version=%d (%D) and -fabi-version=%d (%D)" msgstr "%qD修饰åŽçš„åå—将在 GCC 的未æ¥ç‰ˆæœ¬ä¸æœ‰å˜åŒ–" @@ -37874,12 +37663,12 @@ msgstr "æžæž„函数ä¸èƒ½æ˜¯%<constexpr%>" #: cp/method.c:1213 #, fuzzy, gcc-internal-format msgid "initializer for %q+#D is invalid" -msgstr "未åˆå§‹åŒ–的常é‡%qD在C++ä¸æ˜¯æ— 效的" +msgstr "%q#D声明有缺少åˆå§‹å€¼è®¾å®š" #: cp/method.c:1264 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "defaulted default constructor does not initialize %q+#D" -msgstr "" +msgstr "缺å¸ç¼ºçœæž„é€ å‡½æ•°ä¸åˆå§‹åŒ– %q+#D" #: cp/method.c:1275 #, fuzzy, gcc-internal-format @@ -37888,9 +37677,9 @@ msgstr "éžé™æ€æ•°æ®æˆå‘˜%qD具有 Java 类类型" #. A trivial constructor doesn't have any NSDMI. #: cp/method.c:1433 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "defaulted default constructor does not initialize any non-static data member" -msgstr "" +msgstr "缺å¸ç¼ºçœæž„é€ å‡½æ•°ä¸åˆå§‹åŒ–任何éžé™æ€æ•°æ®æˆå‘˜" #: cp/method.c:1510 #, gcc-internal-format @@ -37898,24 +37687,24 @@ msgid "defaulted move assignment for %qT calls a non-trivial move assignment ope msgstr "" #: cp/method.c:1616 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "a lambda closure type has a deleted default constructor" -msgstr "" +msgstr "lambda é—åˆç±»åž‹æœ‰åˆ 除的缺çœæž„é€ å‡½æ•°" #: cp/method.c:1619 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "a lambda closure type has a deleted copy assignment operator" -msgstr "" +msgstr "lambda é—åˆç±»åž‹æœ‰åˆ 除的å¤åˆ¶æŒ‡æ´¾è¿ç®—符" #: cp/method.c:1629 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%q+#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator" -msgstr "" +msgstr "%q+#D 是éšå«åœ°å£°æ˜Žçš„ä½œä¸ºåˆ é™¤çš„å› ä¸º %qT 声明移动建构å或移动指派è¿ç®—符" #: cp/method.c:1648 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%q+#D is implicitly deleted because the default definition would be ill-formed:" -msgstr "" +msgstr "%q+#D 是éšå«åœ°åˆ é™¤çš„å› ä¸ºç¼ºçœå®šä¹‰ä¼šè¢«ä¸å½“å½¢å¼çš„:" #: cp/method.c:1657 msgid "%q#F is implicitly deleted because its exception-specification does not match the implicit exception-specification %qX" @@ -37937,9 +37726,9 @@ msgid "function %q+D defaulted on its redeclaration with an exception-specificat msgstr "首次声明时被默认化的函数%q+Dä¸å¯ä»¥æŒ‡å®šå¼‚常" #: cp/method.c:2029 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:" -msgstr "" +msgstr "明确的缺å¸å‡½æ•° %q+D æ— æ³•å£°æ˜Žçš„ä½œä¸º constexpr å› ä¸ºè•´å«å£°æ˜Žä¸æ˜¯ constexpr:" #: cp/method.c:2075 #, fuzzy, gcc-internal-format @@ -37959,7 +37748,7 @@ msgstr "默认化函数%q+D有默认å‚æ•°" #: cp/name-lookup.c:599 #, fuzzy, gcc-internal-format msgid "%q#D conflicts with a previous declaration" -msgstr "%q#D与先å‰çš„ using 声明%q#D冲çª" +msgstr "%q+D的节与早先的声明冲çª" #: cp/name-lookup.c:601 #, fuzzy, gcc-internal-format @@ -38030,7 +37819,7 @@ msgstr "%q#D的声明éšè—了一个形å‚" #: cp/name-lookup.c:1218 #, fuzzy, gcc-internal-format msgid "declaration of %qD shadows a lambda capture" -msgstr "%q+D的声明éšè—了一个形å‚" +msgstr "%qD的声明éšè—了先å‰çš„一个局部å˜é‡" #: cp/name-lookup.c:1222 #, gcc-internal-format @@ -38039,7 +37828,6 @@ msgstr "%qD的声明éšè—了先å‰çš„一个局部å˜é‡" #: cp/name-lookup.c:1265 #, fuzzy, gcc-internal-format -#| msgid "declaration of %qD as member of %qT" msgid "declaration of %qD shadows a member of %qT" msgstr "%qD声明为%qT的一个æˆå‘˜" @@ -38105,9 +37893,8 @@ msgstr "与函数声明%q#D冲çª" #: cp/name-lookup.c:2517 #, fuzzy, gcc-internal-format -#| msgid "%qT is not a namespace" msgid "%qT is not a namespace or unscoped enum" -msgstr "%qTä¸æ˜¯ä¸€ä¸ªå‘½å空间" +msgstr "%qT作为枚举被引用" #. 7.3.3/5 #. A using-declaration shall not name a template-id. @@ -38216,9 +38003,9 @@ msgid "current namespace %qD does not enclose strongly used namespace %qD" msgstr "当å‰å‘½å空间%qD并ä¸åŒ…å«ç»å¸¸è¢«ä½œç”¨çš„命å空间%qD" #: cp/name-lookup.c:4431 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "maximum limit of %d namespaces searched for %qE" -msgstr "" +msgstr "最大值é™åˆ¶çš„ %d 命å空间æœç´¢çš„用于 %qE" #: cp/name-lookup.c:4441 #, gcc-internal-format @@ -38254,7 +38041,7 @@ msgstr "%qDåšäº†å¤šæ¬¡å¤æœ¬" #: cp/parser.c:812 #, fuzzy, gcc-internal-format msgid "identifier %qE is a keyword in C++11" -msgstr "æ ‡å¿—ç¬¦%qE将会æˆä¸º C++0x 的一个关键å—" +msgstr "æ ‡è¯†ç¬¦%qE与 C++ 关键å—冲çª" #: cp/parser.c:1313 cp/parser.c:31888 #, gcc-internal-format @@ -38354,7 +38141,7 @@ msgstr "%qTä¸æ˜¯ä¸€ä¸ªæ¨¡æ¿" #: cp/parser.c:2794 #, fuzzy, gcc-internal-format msgid "%qE is not a class template" -msgstr "%qEä¸æ˜¯ä¸€ä¸ªæ¨¡æ¿" +msgstr "需è¦ä¸€ä¸ªç±»æ¨¡æ¿ï¼Œå´ç»™å‡ºäº†%qE" #: cp/parser.c:2796 #, gcc-internal-format @@ -38369,7 +38156,7 @@ msgstr "æ— æ•ˆçš„æ¨¡æ¿ ID" #: cp/parser.c:2832 #, gcc-internal-format msgid "floating-point literal cannot appear in a constant-expression" -msgstr "浮点å—é¢å€¼ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" +msgstr "浮点å—é¢é‡ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/parser.c:2836 cp/pt.c:14791 #, gcc-internal-format @@ -38379,7 +38166,7 @@ msgstr "常é‡è¡¨è¾¾å¼ä¸ä¸èƒ½å‡ºçŽ°ç›®æ ‡ä¸æ˜¯æ•´åž‹æˆ–枚举型的类型转 #: cp/parser.c:2841 #, fuzzy, gcc-internal-format msgid "%<typeid%> operator cannot appear in a constant-expression" -msgstr "函数调用ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" +msgstr "自增ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/parser.c:2845 #, fuzzy, gcc-internal-format @@ -38404,12 +38191,12 @@ msgstr "自å‡ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/parser.c:2861 #, fuzzy, gcc-internal-format msgid "an array reference cannot appear in a constant-expression" -msgstr "函数调用ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" +msgstr "自增ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/parser.c:2865 #, fuzzy, gcc-internal-format msgid "the address of a label cannot appear in a constant-expression" -msgstr "函数调用ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" +msgstr "自增ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/parser.c:2869 #, fuzzy, gcc-internal-format @@ -38419,27 +38206,27 @@ msgstr "%qDä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/parser.c:2873 #, fuzzy, gcc-internal-format msgid "an assignment cannot appear in a constant-expression" -msgstr "%qDä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" +msgstr "自增ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/parser.c:2876 #, fuzzy, gcc-internal-format msgid "a comma operator cannot appear in a constant-expression" -msgstr "函数调用ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" +msgstr "自增ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/parser.c:2880 #, fuzzy, gcc-internal-format msgid "a call to a constructor cannot appear in a constant-expression" -msgstr "%qDä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" +msgstr "函数调用ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/parser.c:2884 #, fuzzy, gcc-internal-format msgid "a transaction expression cannot appear in a constant-expression" -msgstr "函数调用ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" +msgstr "自增ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/parser.c:2930 #, fuzzy, gcc-internal-format msgid "%qs cannot appear in a constant-expression" -msgstr "%qDä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" +msgstr "自å‡ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸" #: cp/parser.c:2962 #, gcc-internal-format @@ -38517,7 +38304,7 @@ msgstr "%qEä¸æ˜¯ç±»%qTä¸çš„一个类型å" #: cp/parser.c:3064 #, fuzzy, gcc-internal-format msgid "%qE in %q#T does not name a type" -msgstr "%qEä¸æ˜¯ç±»%qTä¸çš„一个类型å" +msgstr "%qEä¸æ˜¯ä¸€ä¸ªç±»åž‹å" #: cp/parser.c:3638 #, gcc-internal-format @@ -38525,9 +38312,9 @@ msgid "expected string-literal" msgstr "需è¦å—é¢å—符串" #: cp/parser.c:3700 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "inconsistent user-defined literal suffixes %qD and %qD in string literal" -msgstr "" +msgstr "ä¸ä¸€è‡´ç”¨æˆ·å®šä¹‰çš„实å—åŽç¼€ %qD å’Œ %qD 在ä¸å—串实å—" #: cp/parser.c:3743 #, gcc-internal-format @@ -38535,9 +38322,9 @@ msgid "a wide string is invalid in this context" msgstr "æ¤ä¸Šä¸‹æ–‡ä¸å®½å—ç¬¦ä¸²æ— æ•ˆ" #: cp/parser.c:3858 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "unable to find character literal operator %qD with %qT argument" -msgstr "" +msgstr "æ— æ³•æ‰¾åˆ°å—符实å—è¿ç®—符 %qD 与 %qT å‚æ•°" #: cp/parser.c:3959 #, fuzzy, gcc-internal-format @@ -38565,9 +38352,9 @@ msgid "use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffix msgstr "" #: cp/parser.c:4064 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "unable to find string literal operator %qD with %qT, %qT arguments" -msgstr "" +msgstr "æ— æ³•æ‰¾åˆ°å—串实å—è¿ç®—符 %qD 与 %qT,%qT å‚æ•°" #: cp/parser.c:4124 cp/parser.c:11544 #, gcc-internal-format @@ -38612,7 +38399,7 @@ msgstr "局部å˜é‡%qDä¸åº”出现在æ¤ä¸Šä¸‹æ–‡ä¸" #: cp/parser.c:4923 #, fuzzy, gcc-internal-format msgid "expected id-expression" -msgstr "需è¦è¡¨è¾¾å¼ç±»åž‹" +msgstr "? 预期于è¿ç®—å¼ä¸" #: cp/parser.c:5055 #, gcc-internal-format @@ -38635,9 +38422,9 @@ msgid "typedef-name %qD used as destructor declarator" msgstr "typedef å%qD用于æžæž„函数声明" #: cp/parser.c:5238 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" -msgstr "" +msgstr "实å—è¿ç®—符åŽç¼€æ— 法å‰ç»§çš„ç”± %<_%>被ä¿ç•™çš„用于未æ¥æ ‡å‡†åŒ–" #: cp/parser.c:5249 cp/parser.c:17809 #, fuzzy, gcc-internal-format @@ -38656,7 +38443,6 @@ msgstr "%qT被解æžåˆ°éžæžšä¸¾ç±»åž‹%qT" #: cp/parser.c:5451 #, fuzzy, gcc-internal-format -#| msgid "incomplete type %qT used in nested name specifier" msgid "function template-id %qD in nested-name-specifier" msgstr "嵌套å指定ä¸ä½¿ç”¨äº†ä¸å®Œå…¨çš„类型%qT" @@ -38673,7 +38459,7 @@ msgstr "%qDä¸æ˜¯ä¸€ä¸ªæ¨¡æ¿" #: cp/parser.c:5641 #, fuzzy, gcc-internal-format msgid "expected nested-name-specifier" -msgstr "%C 期待访问指定符" +msgstr "typedef åä¸èƒ½æ˜¯åµŒå¥—å指定" #: cp/parser.c:5866 cp/parser.c:7956 #, gcc-internal-format @@ -38693,7 +38479,7 @@ msgstr "" #: cp/parser.c:6128 #, gcc-internal-format msgid "ISO C++ forbids compound-literals" -msgstr "ISO C++ ä¸å…许å¤åˆå—é¢å€¼" +msgstr "ISO C++ ä¸å…许å¤åˆå—é¢é‡" #: cp/parser.c:6186 #, gcc-internal-format @@ -38738,7 +38524,7 @@ msgstr "类型ä¸èƒ½å®šä¹‰åœ¨%<decltype%>ä¸" #: cp/parser.c:7522 #, fuzzy, gcc-internal-format msgid "types may not be defined in a new-expression" -msgstr "类型ä¸èƒ½å®šä¹‰åœ¨ new-type-id ä¸" +msgstr "ä¸èƒ½åœ¨è¿”回类型ä¸å®šä¹‰æ–°ç±»åž‹" #: cp/parser.c:7535 #, gcc-internal-format @@ -38788,7 +38574,7 @@ msgstr "å·²ç»åœ¨ Lambda 表达å¼ä¸æ•èŽ·äº†%<this%>" #: cp/parser.c:9029 #, fuzzy, gcc-internal-format msgid "lambda-expression in template-argument" -msgstr "å·²ç»åœ¨ Lambda 表达å¼ä¸æ•èŽ·äº†%<this%>" +msgstr "为 lambda å½¢å‚指定了默认å‚æ•°" #: cp/parser.c:9180 #, gcc-internal-format @@ -38796,9 +38582,9 @@ msgid "expected end of capture-list" msgstr "æ•èŽ·åˆ—表应在æ¤ç»“æŸ" #: cp/parser.c:9194 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "explicit by-copy capture of %<this%> redundant with by-copy capture default" -msgstr "" +msgstr "明确的 by-copy 截å–çš„ %<this%> 冗余与 by-copy 截å–缺çœ" #: cp/parser.c:9238 #, fuzzy, gcc-internal-format @@ -38813,7 +38599,7 @@ msgstr "" #: cp/parser.c:9268 #, fuzzy, gcc-internal-format msgid "capture of non-variable %qD " -msgstr "令åªè¯»å˜é‡%qD自增" +msgstr "%qDä¸æ˜¯ä¸€ä¸ªå˜é‡" #: cp/parser.c:9270 cp/parser.c:9279 cp/semantics.c:3201 cp/semantics.c:3211 #, fuzzy, gcc-internal-format @@ -38821,19 +38607,19 @@ msgid "%q+#D declared here" msgstr "%q+D已在æ¤å£°æ˜Žè¿‡" #: cp/parser.c:9276 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "capture of variable %qD with non-automatic storage duration" -msgstr "" +msgstr "截å–çš„å˜é‡ %qD 与 non-automatic è´®è—体æŒç»æ—¶é—´" #: cp/parser.c:9313 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "explicit by-copy capture of %qD redundant with by-copy capture default" -msgstr "" +msgstr "明确的 by-copy 截å–çš„ %qD 冗余与 by-copy 截å–缺çœ" #: cp/parser.c:9318 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "explicit by-reference capture of %qD redundant with by-reference capture default" -msgstr "" +msgstr "明确的 by-reference 截å–çš„ %qD 冗余与 by-reference 截å–缺çœ" #: cp/parser.c:9364 #, fuzzy, gcc-internal-format @@ -38848,7 +38634,7 @@ msgstr "为 lambda å½¢å‚指定了默认å‚æ•°" #: cp/parser.c:9854 #, fuzzy, gcc-internal-format msgid "attributes at the beginning of statement are ignored" -msgstr "括起的åˆå§‹å€¼è®¾å®šåŽå‡ºçŽ°çš„属性被忽略" +msgstr "属性在模æ¿å®žä¾‹åŒ–上被忽略" #: cp/parser.c:9882 #, gcc-internal-format @@ -38873,7 +38659,7 @@ msgstr "%<%T::%D%>命åäº†ä¸€ä¸ªæž„é€ å‡½æ•°è€Œéžç±»åž‹" #: cp/parser.c:10061 #, fuzzy, gcc-internal-format msgid "compound-statement in constexpr function" -msgstr "%qDä¸æ˜¯ä¸€ä¸ªå¹¿ä¹‰å¸¸å‡½æ•°" +msgstr "æ ‡å·ä½äºŽå¤åˆè¯å¥æœ«å°¾" #: cp/parser.c:10273 cp/parser.c:24926 #, gcc-internal-format @@ -38891,14 +38677,14 @@ msgid "range-based %<for%> expression of type %qT has incomplete type" msgstr "表达å¼è¯å¥ç±»åž‹ä¸å®Œå…¨" #: cp/parser.c:10713 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "range-based %<for%> expression of type %qT has an %<end%> member but not a %<begin%>" -msgstr "" +msgstr "range-based %<for%> è¿ç®—å¼çš„类型 %qT 有 %<end%>æˆå‘˜å¹¶ä¸æ˜¯ %<begin%>" #: cp/parser.c:10719 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "range-based %<for%> expression of type %qT has a %<begin%> member but not an %<end%>" -msgstr "" +msgstr "range-based %<for%> è¿ç®—å¼çš„类型 %qT 有 %<begin%>æˆå‘˜å¹¶ä¸æ˜¯ %<end%>" #: cp/parser.c:10760 #, fuzzy, gcc-internal-format @@ -38928,7 +38714,7 @@ msgstr "OpenMP for 循环ä¸ä½¿ç”¨äº† break è¯å¥" #: cp/parser.c:11086 #, fuzzy, gcc-internal-format msgid "%<goto%> in %<constexpr%> function" -msgstr "%qDä¸æ˜¯ä¸€ä¸ªå¹¿ä¹‰å¸¸å‡½æ•°" +msgstr "å‰å¾€ç›®å½•:" #. Issue a warning about this use of a GNU extension. #: cp/parser.c:11094 @@ -38957,9 +38743,9 @@ msgid "mixing declarations and function-definitions is forbidden" msgstr "ä¸èƒ½æ··åˆå£°æ˜Žå’Œå‡½æ•°å®šä¹‰" #: cp/parser.c:11697 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "initializer in range-based %<for%> loop" -msgstr "" +msgstr "åˆå§‹å€¼è®¾å®šé¡¹ä¸ç´¢å¼•èŒƒå›´ä¸ºç©º" #: cp/parser.c:11700 #, gcc-internal-format @@ -38981,7 +38767,7 @@ msgstr "%<auto%>çš„è¯ä¹‰åœ¨ C++0x ä¸å°†è¢«æ”¹å˜ï¼›è¯·è€ƒè™‘åˆ é™¤å®ƒ" #: cp/parser.c:11931 #, fuzzy, gcc-internal-format msgid "decl-specifier invalid in condition" -msgstr "%C处 NAME= é™å®šç¬¦ä¸ C åå—æ— æ•ˆ" +msgstr "%sï¼šæ— æ•ˆçš„æ–°åˆ—æŒ‡å®šç¬¦å·â€œ%sâ€\n" #: cp/parser.c:12023 #, gcc-internal-format @@ -38996,7 +38782,7 @@ msgstr "模æ¿ä¸èƒ½æ˜¯%<virtual%>çš„" #: cp/parser.c:12131 #, fuzzy, gcc-internal-format msgid "invalid linkage-specification" -msgstr "æ— æ•ˆçš„åŸºç±»" +msgstr "指定链接时使用%qDæ— æ•ˆ" #: cp/parser.c:12390 #, gcc-internal-format @@ -39034,9 +38820,9 @@ msgid "mem-initializer for %qD follows constructor delegation" msgstr "对%qDçš„é™æ€å£°æ˜Žå‡ºçŽ°åœ¨éžé™æ€å£°æ˜Žä¹‹åŽ" #: cp/parser.c:12697 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "constructor delegation follows mem-initializer for %qD" -msgstr "" +msgstr "建构å delegation è¿½éš mem-initializer 用于 %qD" #: cp/parser.c:12749 #, gcc-internal-format @@ -39049,14 +38835,14 @@ msgid "keyword %<typename%> not allowed in this context (a qualified member init msgstr "关键å—%<typename%>ä¸å…许用在æ¤ä¸Šä¸‹æ–‡ä¸(é™å®šçš„åˆå§‹å€¼è®¾å®šéšå¼åœ°æ˜¯ä¸€ä¸ªç±»åž‹)" #: cp/parser.c:13167 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "unexpected keyword; remove space between quotes and suffix identifier" -msgstr "" +msgstr "ç¼ºå°‘ç©ºæ ¼ä»‹äºŽ %<“â€%>å’ŒåŽç¼€è¯†åˆ«ç " #: cp/parser.c:13173 #, fuzzy, gcc-internal-format msgid "expected suffix identifier" -msgstr "需è¦æ ‡è¯†ç¬¦" +msgstr "需è¦æ ‡è¯†ç¬¦æˆ–%<(%>" #: cp/parser.c:13182 #, fuzzy, gcc-internal-format @@ -39154,7 +38940,7 @@ msgstr "需è¦æ¨¡æ¿å®žå‚" #: cp/parser.c:14410 #, fuzzy, gcc-internal-format msgid "invalid non-type template argument" -msgstr "%qs(有%qT)的实å‚ç±»åž‹æ— æ•ˆ" +msgstr "模æ¿ç¬¬ %d 个å‚æ•°æ— æ•ˆ" #: cp/parser.c:14527 #, gcc-internal-format @@ -39187,14 +38973,14 @@ msgid "use of %<auto%> in parameter declaration only available with -std=c++14 o msgstr "é»˜è®¤åŒ–å’Œè¢«åˆ é™¤çš„å‡½æ•°åªåœ¨ -std=c++0x 或 -std=gnu++0x 下å¯ç”¨" #: cp/parser.c:14980 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "ISO C++ forbids use of %<auto%> in parameter declaration" -msgstr "ISO C ä¸å…许å‰å‘å‚数声明" +msgstr "ISO C ä¸å…许在å‚数声明ä¸ä½¿ç”¨ %<auto%>" #: cp/parser.c:15124 #, fuzzy, gcc-internal-format msgid "expected template-id for type" -msgstr " 需è¦æœ‰%qD类型的模æ¿ï¼Œå´å¾—到了%qT" +msgstr "需è¦æ¨¡æ¿ ID" #: cp/parser.c:15151 #, gcc-internal-format @@ -39202,9 +38988,9 @@ msgid "expected type-name" msgstr "需è¦ç±»åž‹å" #: cp/parser.c:15372 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "elaborated-type-specifier for a scoped enum must not use the %<%D%> keyword" -msgstr "" +msgstr "elaborated-type-specifier 用于范围的 enum å¿…é¡»ä¸ä½¿ç”¨ %<%D%>关键å—" #: cp/parser.c:15581 #, gcc-internal-format @@ -39244,7 +39030,7 @@ msgstr "" #: cp/parser.c:15888 #, fuzzy, gcc-internal-format msgid "expected %<;%> or %<{%>" -msgstr "需è¦%<,%>或%<;%>" +msgstr "éœ€è¦ %<;%>ã€%<,%> 或 %<)%>" #: cp/parser.c:15937 #, fuzzy, gcc-internal-format @@ -39269,17 +39055,17 @@ msgstr "%q#T多次定义" #: cp/parser.c:15998 #, fuzzy, gcc-internal-format msgid "ISO C++ forbids empty anonymous enum" -msgstr "ISO C++ ä¸å…许枚举自增" +msgstr "ISO C++ ä¸å…许枚举自å‡" #: cp/parser.c:16018 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "opaque-enum-specifier without name" -msgstr "" +msgstr "opaque-enum-specifier è€Œæ— éœ€å称" #: cp/parser.c:16021 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "opaque-enum-specifier must use a simple identifier" -msgstr "" +msgstr "opaque-enum-specifier 必须使用简å•çš„识别ç " #: cp/parser.c:16191 #, gcc-internal-format @@ -39302,9 +39088,9 @@ msgid "a template-id may not appear in a using-declaration" msgstr "模æ¿æ ‡è¯†ç¬¦ä¸å…许出现在 using 声明ä¸" #: cp/parser.c:16519 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the %<using%> keyword" -msgstr "" +msgstr "访问声明被ä¸å®œç”¨åœ¨ä¸ favour çš„ using-declarationsï¼›å»ºè®®ï¼šåŠ å…¥ %<using%> 关键å—" #: cp/parser.c:16584 #, fuzzy, gcc-internal-format @@ -39314,7 +39100,7 @@ msgstr "类型ä¸èƒ½å®šä¹‰åœ¨å¼‚常声明ä¸" #: cp/parser.c:16729 #, fuzzy, gcc-internal-format msgid "%<asm%> in %<constexpr%> function" -msgstr "%qDä¸æ˜¯ä¸€ä¸ªå¹¿ä¹‰å¸¸å‡½æ•°" +msgstr "函数%qD用作%<asm%>的输出" #: cp/parser.c:17067 #, fuzzy, gcc-internal-format @@ -39332,9 +39118,9 @@ msgid "attributes are not allowed on a function-definition" msgstr "函数定义ä¸ä¸å…许有属性" #: cp/parser.c:17133 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "expected constructor, destructor, or type conversion" -msgstr "" +msgstr "预期的建构åã€è§£æž„å¼ï¼Œæˆ–类型转æ¢" #. Anything else is an error. #: cp/parser.c:17172 cp/parser.c:19333 @@ -39354,7 +39140,6 @@ msgstr "括起的åˆå§‹å€¼è®¾å®šåŽå‡ºçŽ°çš„属性被忽略" #: cp/parser.c:17291 #, fuzzy, gcc-internal-format -#| msgid "function %q+D redeclared as inline" msgid "non-function %qD declared as implicit template" msgstr "函数%q+Dé‡å£°æ˜Žä¸ºå†…è”çš„" @@ -39397,7 +39182,7 @@ msgstr "æ— æ•ˆçš„å£°æ˜Ž" #: cp/parser.c:17976 #, fuzzy, gcc-internal-format msgid "qualified-id in declaration" -msgstr "声明ä¸æœ‰æ— 效类型" +msgstr "需è¦ä¸€ä¸ªé™å®šçš„æ ‡è¯†ç¬¦" #: cp/parser.c:18001 #, gcc-internal-format @@ -39417,7 +39202,7 @@ msgstr "生æˆéžç±»ç±»åž‹%qTçš„æˆå‘˜æŒ‡é’ˆ" #: cp/parser.c:18127 #, fuzzy, gcc-internal-format msgid "expected ptr-operator" -msgstr "未知的æ“作符‘%s’在 %%L处" +msgstr "需è¦%<operator%>" #: cp/parser.c:18186 #, gcc-internal-format @@ -39427,12 +39212,12 @@ msgstr "é‡å¤çš„ cv é™å®š" #: cp/parser.c:18240 #, fuzzy, gcc-internal-format msgid "multiple ref-qualifiers" -msgstr "é‡å¤çš„ cv é™å®š" +msgstr "%q+D的类型é™å®šå†²çª" #: cp/parser.c:18298 #, fuzzy, gcc-internal-format msgid "duplicate virt-specifier" -msgstr "é‡å¤çš„ cv é™å®š" +msgstr "%C处é‡å¤è®¿é—®é™å®šç¬¦" #: cp/parser.c:18505 cp/typeck2.c:541 cp/typeck2.c:1928 #, gcc-internal-format @@ -39447,7 +39232,7 @@ msgstr "ä¸èƒ½åœ¨æ¨¡æ¿å®žå‚ä¸å®šä¹‰ç±»åž‹" #: cp/parser.c:18529 #, fuzzy, gcc-internal-format msgid "invalid use of %<auto%> in template argument" -msgstr "%qs(有%qT)的实å‚ç±»åž‹æ— æ•ˆ" +msgstr "模æ¿ç¬¬ %d 个å‚æ•°æ— æ•ˆ" #: cp/parser.c:18616 #, gcc-internal-format @@ -39467,7 +39252,7 @@ msgstr "类型ä¸èƒ½å®šä¹‰åœ¨å‚数类型ä¸" #: cp/parser.c:19124 #, gcc-internal-format msgid "deprecated use of default argument for parameter of non-function" -msgstr "ä¸å»ºè®®ä¸ºéžå‡½æ•°æŒ‡å®šé»˜è®¤å‚æ•°" +msgstr "已弃用:éžå‡½æ•°æŒ‡å®šé»˜è®¤å‚æ•°" #: cp/parser.c:19128 #, gcc-internal-format @@ -39477,12 +39262,12 @@ msgstr "默认å‚æ•°åªå…许出现在函数å‚æ•°ä¸" #: cp/parser.c:19147 #, fuzzy, gcc-internal-format msgid "parameter pack %qD cannot have a default argument" -msgstr "%H%s模æ¿å‚数包%qDä¸èƒ½æœ‰é»˜è®¤å‚æ•°" +msgstr "模æ¿å‚数包%qDä¸èƒ½æœ‰é»˜è®¤å‚æ•°" #: cp/parser.c:19155 #, fuzzy, gcc-internal-format msgid "parameter pack cannot have a default argument" -msgstr "%H%s模æ¿å‚数包ä¸èƒ½æœ‰é»˜è®¤å‚æ•°" +msgstr "模æ¿å‚数包ä¸èƒ½æœ‰é»˜è®¤å‚æ•°" #: cp/parser.c:19526 #, gcc-internal-format @@ -39520,19 +39305,19 @@ msgid "expected %<{%> or %<:%>" msgstr "需è¦%<{%>或%<:%>" #: cp/parser.c:20319 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "cannot specify %<override%> for a class" -msgstr "æ— æ³•ä¸ºç±» %s 找到文件" +msgstr "ä¸èƒ½ä¸ºç±»æŒ‡å®š %<override%>" #: cp/parser.c:20327 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "global qualification of class name is invalid" -msgstr "" +msgstr "%qD的声明ä¸ç±»åæ— æ•ˆ" #: cp/parser.c:20334 #, fuzzy, gcc-internal-format msgid "qualified name does not name a class" -msgstr "%qEä¸æ˜¯ä¸€ä¸ªç±»" +msgstr "å‹å…ƒå£°æ˜Žæ²¡æœ‰æŒ‡å®šç±»æˆ–函数å" #: cp/parser.c:20346 #, gcc-internal-format @@ -39557,7 +39342,7 @@ msgstr "函数模æ¿%qDé‡å£°æ˜Žä¸ºç±»æ¨¡æ¿" #: cp/parser.c:20452 #, fuzzy, gcc-internal-format msgid "could not resolve typename type" -msgstr "%<typename %T::%D%>指定了%q#T,但åŽè€…ä¸æ˜¯ä¸€ä¸ªç±»åž‹" +msgstr "缺少用以解æž%qE类型的上下文" #: cp/parser.c:20508 #, gcc-internal-format @@ -39567,7 +39352,7 @@ msgstr "%q+#Tçš„å‰ä¸€ä¸ªå®šä¹‰" #: cp/parser.c:20599 cp/parser.c:24935 #, fuzzy, gcc-internal-format msgid "expected class-key" -msgstr "需è¦ç±»å" +msgstr "需è¦%<class%>" #: cp/parser.c:20623 #, gcc-internal-format @@ -39576,7 +39361,6 @@ msgstr "" #: cp/parser.c:20627 #, fuzzy, gcc-internal-format -#| msgid "expected %<class%>, %<typename%>, or %<template%>" msgid "expected %<class%> or %<typename%>" msgstr "需è¦%<class%>ã€%<typename%>或%<template%>" @@ -39603,12 +39387,12 @@ msgstr "函数定义上有 pure 指定" #: cp/parser.c:21160 #, fuzzy, gcc-internal-format msgid "stray %<,%> at end of member declaration" -msgstr "在%C处需è¦â€œ,â€æˆ–è¯å¥å°¾" +msgstr "å¯å˜æ•°ç»„æˆå‘˜æ²¡æœ‰å‡ºçŽ°åœ¨ç»“构的末尾" #: cp/parser.c:21172 #, fuzzy, gcc-internal-format msgid "expected %<;%> at end of member declaration" -msgstr "在%C处需è¦â€œ,â€æˆ–è¯å¥å°¾" +msgstr "需è¦å£°æ˜Ž" #: cp/parser.c:21246 #, fuzzy, gcc-internal-format @@ -39618,7 +39402,7 @@ msgstr "æŒ‡å®šäº†æ— æ•ˆçš„ AE 类型(%s)\n" #: cp/parser.c:21281 #, fuzzy, gcc-internal-format msgid "a brace-enclosed initializer is not allowed here" -msgstr "<花括å·å†…çš„åˆå§‹å€¼åˆ—表>" +msgstr "%qTçš„åˆå§‹å€¼è®¾å®šå¿…须在花括å·å†…" #: cp/parser.c:21410 #, gcc-internal-format @@ -39626,9 +39410,9 @@ msgid "%<virtual%> specified more than once in base-specified" msgstr "在基类é™å®šä¸æŒ‡å®šäº†å¤šäºŽä¸€æ¬¡çš„%<virtual%>" #: cp/parser.c:21430 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "more than one access specifier in base-specified" -msgstr "" +msgstr "è¶…è¿‡ä¸€ä¸ªè®¿é—®è¯´æ˜Žç¬¦åœ¨ä¸ base-specified" #: cp/parser.c:21454 #, gcc-internal-format @@ -39646,15 +39430,14 @@ msgid "types may not be defined in an exception-specification" msgstr "类型ä¸èƒ½å®šä¹‰åœ¨å¼‚常规范ä¸" #: cp/parser.c:21614 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "dynamic exception specifications are deprecated in C++0x; use %<noexcept%> instead" -msgstr "" +msgstr "动æ€å¼‚å¸¸è§„æ ¼è¢«ä¸å®œç”¨åœ¨ä¸ C++0x; 使用 %<noexcept%> 作为替代" #: cp/parser.c:21704 #, fuzzy, gcc-internal-format -#| msgid "%qD is not %<constexpr%>" msgid "%<try%> in %<constexpr%> function" -msgstr "%qDä¸æ˜¯%<constexpr%>" +msgstr "对%qDçš„é‡å£°æ˜Žåœ¨%<constexpr%>æ–¹é¢" #: cp/parser.c:21817 #, gcc-internal-format @@ -39664,7 +39447,7 @@ msgstr "类型ä¸èƒ½å®šä¹‰åœ¨å¼‚常声明ä¸" #: cp/parser.c:22441 #, fuzzy, gcc-internal-format msgid "expected an identifier for the attribute name" -msgstr "需è¦æ ‡è¯†ç¬¦æˆ–%<(%>" +msgstr "需è¦æ ‡è¯†ç¬¦" #: cp/parser.c:22460 #, gcc-internal-format @@ -39713,17 +39496,17 @@ msgstr "模æ¿æœ‰ C 链接" #: cp/parser.c:23606 #, fuzzy, gcc-internal-format msgid "invalid explicit specialization" -msgstr "显å¼ç‰¹ä¾‹åŒ–éžæ¨¡æ¿%qT" +msgstr "显å¼ç‰¹ä¾‹åŒ–å‰å¿…须有%<template <>%>" #: cp/parser.c:23704 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "literal operator template %qD has invalid parameter list. Expected non-type template argument pack <char...> or <typename CharT, CharT...>" -msgstr "" +msgstr "实å—è¿ç®—ç¬¦æ¨¡æ¿ %qD æœ‰æ— æ•ˆçš„å‚数清å•ã€‚ 预期 non-type 模æ¿å‚数包装 <char...>" #: cp/parser.c:23709 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "literal operator template %qD has invalid parameter list. Expected non-type template argument pack <char...>" -msgstr "" +msgstr "实å—è¿ç®—ç¬¦æ¨¡æ¿ %qD æœ‰æ— æ•ˆçš„å‚数清å•ã€‚ 预期 non-type 模æ¿å‚数包装 <char...>" #: cp/parser.c:23783 #, gcc-internal-format @@ -39768,12 +39551,12 @@ msgstr "ISO C++ 1998 ä¸æ”¯æŒ%<long long%>" #: cp/parser.c:24727 #, fuzzy, gcc-internal-format msgid "both %<__thread%> and %<thread_local%> specified" -msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<char%>" +msgstr "线程局部的 COMMON æ•°æ®æ²¡æœ‰å®žçŽ°" #: cp/parser.c:24729 #, fuzzy, gcc-internal-format msgid "duplicate %qD" -msgstr "é‡å¤çš„%qE" +msgstr "é‡å¤çš„æ ‡å·%qD" #: cp/parser.c:24751 #, gcc-internal-format @@ -39878,12 +39661,12 @@ msgstr "需è¦%<@throw%>" #: cp/parser.c:24853 #, fuzzy, gcc-internal-format msgid "expected %<__transaction_atomic%>" -msgstr "需è¦%<static_assert%>" +msgstr "对 rpmtxn æ•°æ®åº“异动作业进行除错" #: cp/parser.c:24856 #, fuzzy, gcc-internal-format msgid "expected %<__transaction_relaxed%>" -msgstr "需è¦%<static_assert%>" +msgstr "于 %s ç‰å¾…异动作业é”定\n" #: cp/parser.c:24887 #, gcc-internal-format @@ -39951,9 +39734,9 @@ msgid "objective-c++ message receiver expected" msgstr "需è¦æŒ‡å®šå£°æ˜Ž" #: cp/parser.c:25835 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "objective-c++ message argument(s) are expected" -msgstr "" +msgstr "objective-c++ 消æ¯å‚数被预期" #: cp/parser.c:25864 #, gcc-internal-format @@ -39968,7 +39751,7 @@ msgstr "æ— æ•ˆçš„ Objective-C++ 选择åå" #: cp/parser.c:26315 cp/parser.c:26333 #, fuzzy, gcc-internal-format msgid "objective-c++ method declaration is expected" -msgstr "需è¦æŒ‡å®šå£°æ˜Ž" +msgstr "%C处数组声明需è¦å¦å¤–一维" #: cp/parser.c:26327 cp/parser.c:26392 #, fuzzy, gcc-internal-format @@ -39976,14 +39759,14 @@ msgid "method attributes must be specified at the end" msgstr "ä¸èƒ½ä¸ºå±€éƒ¨å˜é‡æŒ‡å®šèŠ‚属性" #: cp/parser.c:26435 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "stray %qs between Objective-C++ methods" -msgstr "" +msgstr "零星的 %qs 介于 Objective-C++ 方法" #: cp/parser.c:26641 cp/parser.c:26648 cp/parser.c:26655 #, fuzzy, gcc-internal-format msgid "invalid type for instance variable" -msgstr "è¿ä»£å˜é‡%qEç±»åž‹æ— æ•ˆ" +msgstr "ä¸ä¸€è‡´çš„实例å˜é‡æŒ‡å®š" #: cp/parser.c:26768 #, gcc-internal-format @@ -39991,9 +39774,9 @@ msgid "identifier expected after %<@protocol%>" msgstr "%<@protocol%>需è¦æ ‡è¯†ç¬¦" #: cp/parser.c:26939 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "attributes may not be specified before the %<@%D%> Objective-C++ keyword" -msgstr "" +msgstr "属性å¯èƒ½æ— æ³•è¢«æŒ‡å®šçš„ä¹‹å‰ %<@%D%>Objective-C++ 关键å—" #: cp/parser.c:26946 #, fuzzy, gcc-internal-format @@ -40003,11 +39786,10 @@ msgstr "%qE属性为%qE所忽略" #: cp/parser.c:27219 cp/parser.c:27226 cp/parser.c:27233 #, fuzzy, gcc-internal-format msgid "invalid type for property" -msgstr "%q+Dçš„æŠ½è±¡ç±»åž‹æ— æ•ˆ" +msgstr "ä¸èƒ½è®¾ç½®åªè¯»å±žæ€§" #: cp/parser.c:28072 cp/parser.c:28370 cp/parser.c:28436 #, fuzzy, gcc-internal-format -#| msgid "expected integer expression" msgid "expected positive integer expression" msgstr "需è¦æ•´æ•°è¡¨è¾¾å¼" @@ -40017,9 +39799,9 @@ msgid "%<wait%> expression must be integral" msgstr "num_threads 表达å¼å¿…须是整型的" #: cp/parser.c:28554 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "invalid reduction-identifier" -msgstr "æ— æ•ˆçš„åˆå§‹å€¼è®¾å®š" +msgstr "æ— æ•ˆè¿˜åŽŸæ ‡è¯†ç¬¦" #: cp/parser.c:30306 #, gcc-internal-format @@ -40059,7 +39841,7 @@ msgstr "æ— æ•ˆçš„åˆå§‹å€¼è®¾å®š" #: cp/parser.c:32171 #, fuzzy, gcc-internal-format msgid "expected id-expression (arguments)" -msgstr "需è¦è¡¨è¾¾å¼ç±»åž‹" +msgstr "? 预期于è¿ç®—å¼ä¸" #: cp/parser.c:32183 #, gcc-internal-format @@ -40069,7 +39851,7 @@ msgstr "" #: cp/parser.c:32264 #, fuzzy, gcc-internal-format msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or identifier" -msgstr "需è¦%<+%>ã€%<*%>ã€%<-%>ã€%<&%>ã€%<^%>ã€%<|%>ã€%<&&%>或%<||%>" +msgstr "需è¦æ ‡è¯†ç¬¦æˆ–%<(%>" #: cp/parser.c:32283 #, fuzzy, gcc-internal-format @@ -40097,14 +39879,14 @@ msgid "const, volatile or __restrict qualified type %qT in %<#pragma omp declare msgstr "" #: cp/parser.c:32703 cp/semantics.c:7070 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<__transaction_relaxed%> without transactional memory support enabled" -msgstr "" +msgstr "%<__transaction_relaxed%>è€Œæ— éœ€ transactional 内å˜æ”¯æŒå·²å¯ç”¨" #: cp/parser.c:32705 cp/semantics.c:7072 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<__transaction_atomic%> without transactional memory support enabled" -msgstr "" +msgstr "%<__transaction_atomic%>è€Œæ— éœ€ transactional 内å˜æ”¯æŒå·²å¯ç”¨" #: cp/parser.c:32901 #, gcc-internal-format @@ -40113,14 +39895,13 @@ msgstr "%<#pragma GCC pch_preprocess%>末尾有垃圾å—符" #: cp/parser.c:32934 #, fuzzy, gcc-internal-format -#| msgid "invalid constraints for operand" msgid "invalid grainsize for _Cilk_for" -msgstr "æ“作数的约æŸæ— 效" +msgstr "错误地使用了%<::%>" #: cp/parser.c:33120 #, fuzzy, gcc-internal-format msgid "%<#pragma GCC ivdep%> must be inside a function" -msgstr "#pragma GCC optimize ä¸å…许用在函数ä¸" +msgstr "#pragma GCC memregs 必须出现在所有函数声明之å‰" #: cp/parser.c:33141 #, fuzzy, gcc-internal-format @@ -40150,7 +39931,7 @@ msgstr "在%C处需è¦å˜é‡å" #: cp/parser.c:33395 #, fuzzy, gcc-internal-format msgid "expected %<,%> or %<)%> after %qE" -msgstr "éœ€è¦ %<,%> 或 %<)%>" +msgstr "{ 预期于è¿ç®—å¼ä¸ ? 之åŽ" #: cp/parser.c:33736 #, fuzzy, gcc-internal-format @@ -40205,7 +39986,7 @@ msgstr "ç±»åéšè—了模æ¿çš„模æ¿å½¢å‚%qD" #: cp/pt.c:850 #, fuzzy, gcc-internal-format msgid "specialization of alias template %qD" -msgstr "模æ¿å£°æ˜Ž%q#D" +msgstr "有æ§ä¹‰çš„模æ¿ç‰¹ä¾‹åŒ–%qD(为%q+D)" #: cp/pt.c:853 cp/pt.c:988 #, gcc-internal-format @@ -40232,7 +40013,7 @@ msgstr "%qT的实例化在%qT的特例化之åŽ" #: cp/pt.c:984 #, fuzzy, gcc-internal-format msgid "template specialization of %qD not allowed by ISO C++" -msgstr "函数模æ¿éƒ¨åˆ†ç‰¹ä¾‹åŒ–%qD是ä¸å…许的" +msgstr "å‹å…ƒæ¨¡æ¿ç‰¹ä¾‹åŒ–%qDä¸ä¸å…许出现默认å‚æ•°" #: cp/pt.c:1416 #, gcc-internal-format @@ -40247,7 +40028,7 @@ msgstr "备选为:%+#D" #: cp/pt.c:1811 cp/semantics.c:4862 #, fuzzy, gcc-internal-format msgid "%s %#D" -msgstr "%s %+#D" +msgstr "%s%#D" #: cp/pt.c:1905 #, gcc-internal-format @@ -40256,9 +40037,8 @@ msgstr "%qDä¸æ˜¯ä¸€ä¸ªå‡½æ•°æ¨¡æ¿" #: cp/pt.c:1910 #, fuzzy, gcc-internal-format -#| msgid "%qD is not a variable" msgid "%qD is not a variable template" -msgstr "%qDä¸æ˜¯ä¸€ä¸ªå˜é‡" +msgstr "%qDä¸æ˜¯ä¸€ä¸ªæ¨¡æ¿" #: cp/pt.c:2132 #, gcc-internal-format @@ -40324,13 +40104,11 @@ msgstr "%qD的显å¼ç‰¹ä¾‹åŒ–必须由%<template <>%>引入" #: cp/pt.c:2518 #, fuzzy, gcc-internal-format -#| msgid "function template partial specialization %qD is not allowed" msgid "non-type partial specialization %qD is not allowed" msgstr "函数模æ¿éƒ¨åˆ†ç‰¹ä¾‹åŒ–%qD是ä¸å…许的" #: cp/pt.c:2521 #, fuzzy, gcc-internal-format -#| msgid "function template partial specialization %qD is not allowed" msgid "non-class, non-variable partial specialization %qD is not allowed" msgstr "函数模æ¿éƒ¨åˆ†ç‰¹ä¾‹åŒ–%qD是ä¸å…许的" @@ -40409,13 +40187,11 @@ msgstr "éšè—了模版形å‚%q+#D" #: cp/pt.c:4209 #, fuzzy, gcc-internal-format -#| msgid "template parameters not used in partial specialization:" msgid "template parameters not deducible in partial specialization:" msgstr "部分特例化ä¸æœªç”¨åˆ°æ¨¡æ¿å‚数:" #: cp/pt.c:4228 #, fuzzy, gcc-internal-format -#| msgid "partial specialization %qT does not specialize any template arguments" msgid "partial specialization %qD does not specialize any template arguments" msgstr "部分特例化%qT并未特例化任何模æ¿å‚æ•°" @@ -40453,7 +40229,7 @@ msgstr[0] "模æ¿å®žå‚%2$qE的类型%1$qTå–决于模æ¿å‚æ•°" #: cp/pt.c:4400 #, fuzzy, gcc-internal-format msgid "partial specialization of %qD after instantiation of %qD" -msgstr "部分特例化模æ¿%qT声明为%<friend%>" +msgstr "%qD的特例化在实例化之åŽ" #: cp/pt.c:4576 #, gcc-internal-format @@ -40465,9 +40241,8 @@ msgstr "%qD没有默认å‚æ•°" #. parameter list. #: cp/pt.c:4598 #, fuzzy, gcc-internal-format -#| msgid "parameter pack %qE must be at the end of the template parameter list" msgid "parameter pack %q+D must be at the end of the template parameter list" -msgstr "å‚数包%qE必须出现在模æ¿å½¢å‚表末尾" +msgstr "å‚数包实å‚%qE必须出现在模æ¿å®žå‚表末尾" #: cp/pt.c:4634 #, gcc-internal-format @@ -40501,7 +40276,6 @@ msgstr "模æ¿ç±»æ²¡æœ‰åå—" #: cp/pt.c:4806 #, fuzzy, gcc-internal-format -#| msgid "non-member function %qD cannot have cv-qualifier" msgid "member template %qD may not have virt-specifiers" msgstr "éžæˆå‘˜å‡½æ•°%qDä¸èƒ½æ‹¥æœ‰ cv é™å®šç¬¦" @@ -40629,12 +40403,12 @@ msgstr "å®ƒå¿…é¡»æ˜¯æ ¼å¼ä¸ºâ€˜&X::Y’的æˆå‘˜æŒ‡é’ˆ" #: cp/pt.c:5596 #, fuzzy, gcc-internal-format msgid " couldn't deduce template parameter %qD" -msgstr "得到 %d 个模æ¿å‚数,为%q#D" +msgstr "%qD声明时模æ¿å‚数表太多" #: cp/pt.c:5611 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid " types %qT and %qT have incompatible cv-qualifiers" -msgstr "" +msgstr " 类型 %qT å’Œ %qT 有ä¸å…¼å®¹çš„ cv-qualifiers" #: cp/pt.c:5620 #, fuzzy, gcc-internal-format @@ -40654,7 +40428,7 @@ msgstr "ç»™%qD的模æ¿å®žå‚ä¸åŒ¹é…原先的模æ¿%qD" #: cp/pt.c:5650 #, fuzzy, gcc-internal-format msgid " %qE is not equivalent to %qE" -msgstr "%qs对%qsè€Œè¨€æ— æ•ˆ" +msgstr "%qE属性为%qE所忽略" #: cp/pt.c:5659 #, fuzzy, gcc-internal-format @@ -40662,29 +40436,27 @@ msgid " inconsistent parameter pack deduction with %qT and %qT" msgstr "对%qTä¸ä¸€è‡´çš„演绎:先是%qT然åŽæ˜¯%qT" #: cp/pt.c:5671 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid " deduced conflicting types for parameter %qT (%qT and %qT)" -msgstr "" +msgstr "Lambda 返回类型演绎得到ä¸ä¸€è‡´çš„类型%qTå’Œ%qT" #: cp/pt.c:5675 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid " deduced conflicting values for non-type parameter %qE (%qE and %qE)" -msgstr "" +msgstr " deduced 冲çªå€¼ç”¨äºŽ non-type å‚æ•° %qE (%qE å’Œ %qE)" #: cp/pt.c:5686 #, fuzzy, gcc-internal-format msgid " variable-sized array type %qT is not a valid template argument" -msgstr "部分特例化%qT并未特例化任何模æ¿å‚æ•°" +msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚ï¼Œå› ä¸º%qEä¸æ˜¯ä¸€ä¸ªå˜é‡" #: cp/pt.c:5697 #, fuzzy, gcc-internal-format msgid " member function type %qT is not a valid template argument" -msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å‚æ•°" +msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚ï¼Œå› ä¸ºå®ƒçš„ç±»åž‹æ˜¯%qT" #: cp/pt.c:5709 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid " candidate expects %d argument, %d provided" -#| msgid_plural " candidate expects %d arguments, %d provided" msgid " candidate expects at least %d argument, %d provided" msgid_plural " candidate expects at least %d arguments, %d provided" msgstr[0] " å¤‡é€‰éœ€è¦ %d 实å‚,但æ供了 %d 个" @@ -40692,7 +40464,7 @@ msgstr[0] " å¤‡é€‰éœ€è¦ %d 实å‚,但æ供了 %d 个" #: cp/pt.c:5740 #, fuzzy, gcc-internal-format msgid " cannot convert %qE (type %qT) to type %qT" -msgstr "ä¸èƒ½å°†ç±»åž‹%qT转æ¢ä¸ºç±»åž‹%qT" +msgstr "æ— æ³•å°†%qE从类型%qT转æ¢åˆ°ç±»åž‹%qT" #: cp/pt.c:5753 #, fuzzy, gcc-internal-format @@ -40702,12 +40474,12 @@ msgstr "%qT是%qT的有æ§ä¹‰çš„基类" #: cp/pt.c:5757 #, fuzzy, gcc-internal-format msgid " %qT is not derived from %qT" -msgstr "类型%qTä¸æ˜¯ç”±ç±»åž‹%qT派生的" +msgstr "派生è”åˆ%qTæ— æ•ˆ" #: cp/pt.c:5768 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid " template parameters of a template template argument are inconsistent with other deduced template arguments" -msgstr "" +msgstr " 模æ¿å‚数的模æ¿æ¨¡æ¿å‚数是ä¸ä¸€è‡´ä¸Žå…¶ä»– deduced 模æ¿å‚æ•°" #: cp/pt.c:5778 #, fuzzy, gcc-internal-format @@ -40732,7 +40504,7 @@ msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚ï¼Œå› ä¸ºå—é¢å—符串ä¸èƒ½ç”¨ #: cp/pt.c:5990 #, fuzzy, gcc-internal-format msgid "in template argument for type %qT " -msgstr "%qD的模æ¿å®žå‚使用了局部类型%qT" +msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚ï¼Œå› ä¸º%qEä¸æ˜¯ä¸€ä¸ªå˜é‡" #: cp/pt.c:6037 #, gcc-internal-format @@ -40742,7 +40514,7 @@ msgstr "%qDä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆæ¨¡æ¿å®žå‚ï¼Œå› ä¸º%qD是一个å˜é‡ï¼Œè€Œéžå˜ #: cp/pt.c:6045 #, fuzzy, gcc-internal-format msgid "%qE is not a valid template argument for %qT because it is not the address of a variable" -msgstr "%qDä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆæ¨¡æ¿å®žå‚ï¼Œå› ä¸º%qD是一个å˜é‡ï¼Œè€Œéžå˜é‡çš„地å€" +msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚ï¼Œå› ä¸º%qEä¸æ˜¯ä¸€ä¸ªå˜é‡" #: cp/pt.c:6063 #, gcc-internal-format @@ -40757,7 +40529,7 @@ msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚ï¼Œå› ä¸ºå‡½æ•°%qD没有外部链 #: cp/pt.c:6078 #, fuzzy, gcc-internal-format msgid "%qE is not a valid template argument of type %qT because %qD has no linkage" -msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚ï¼Œå› ä¸º%qEä¸æ˜¯ä¸€ä¸ªå˜é‡" +msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚ï¼Œå› ä¸ºå¯¹è±¡%qD没有外部链接" #: cp/pt.c:6108 #, gcc-internal-format @@ -40807,7 +40579,7 @@ msgstr "æ¤ä¸Šä¸‹æ–‡ä¸ä¸å…è®¸æ ‡å‡†è½¬æ¢" #: cp/pt.c:6561 #, fuzzy, gcc-internal-format msgid "ignoring attributes on template argument %qT" -msgstr "%qs(有%qT)的实å‚ç±»åž‹æ— æ•ˆ" +msgstr "忽略在其定义之åŽä¸º%qT应用的属性" #: cp/pt.c:6622 #, gcc-internal-format @@ -40883,7 +40655,6 @@ msgstr "模æ¿å‚æ•°æ•°ç›®ä¸å¯¹(ä¸åº”是 %d 个而应是 %d 个)" #: cp/pt.c:7060 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "wrong number of template arguments (%d, should be %d)" msgid "wrong number of template arguments (%d, should be at least %d)" msgstr "模æ¿å‚æ•°æ•°ç›®ä¸å¯¹(ä¸åº”是 %d 个而应是 %d 个)" @@ -40905,7 +40676,7 @@ msgstr "" #: cp/pt.c:7499 #, fuzzy, gcc-internal-format msgid "%q#D is not a function template" -msgstr "%qDä¸æ˜¯ä¸€ä¸ªå‡½æ•°æ¨¡æ¿" +msgstr "%q#D声明为模æ¿" #: cp/pt.c:7666 #, gcc-internal-format @@ -41076,24 +40847,24 @@ msgid "use %<...%> to expand argument pack" msgstr "使用%<...%>æ¥å±•å¼€å®žå‚集" #: cp/pt.c:15265 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%qD was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation" -msgstr "" +msgstr "%qD 未被声明在ä¸è¿™ä¸ªèŒƒå›´ï¼Œè€Œæ‰¾ä¸åˆ°ä»»ä½•å£°æ˜Žæ˜¯ç”± argument-dependent 查找于点的实体化" #: cp/pt.c:15277 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "declarations in dependent base %qT are not found by unqualified lookup" -msgstr "" +msgstr "声明在ä¸é™„属基底 %qT 找ä¸åˆ°ç”±èµ„æ ¼ä¸ç¬¦çš„查找" #: cp/pt.c:15282 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "use %<this->%D%> instead" -msgstr "" +msgstr "使用%<%T::%D%>而ä¸æ˜¯%<%T::%D%>æ¥ä»¥é™å®šåæŒ‡å®šæž„é€ å‡½æ•°" #: cp/pt.c:15285 #, fuzzy, gcc-internal-format msgid "use %<%T::%D%> instead" -msgstr "%<%T::%E%>ä¸æ˜¯ä¸€ä¸ªç±»åž‹" +msgstr "使用%<%T::%D%>而ä¸æ˜¯%<%T::%D%>æ¥ä»¥é™å®šåæŒ‡å®šæž„é€ å‡½æ•°" #: cp/pt.c:15289 #, fuzzy, gcc-internal-format @@ -41137,20 +40908,18 @@ msgstr " 试图实例化%qD" #: cp/pt.c:19573 #, fuzzy, gcc-internal-format -#| msgid "ambiguous class template instantiation for %q#T" msgid "ambiguous template instantiation for %q#T" -msgstr "%q#T的类模æ¿å®žä¾‹åŒ–有æ§ä¹‰" +msgstr "%q#T的显å¼å®žä¾‹åŒ–出现在模æ¿å®šä¹‰ä¹‹å‰" #: cp/pt.c:19575 #, fuzzy, gcc-internal-format -#| msgid "ambiguous class template instantiation for %q#T" msgid "ambiguous template instantiation for %q#D" -msgstr "%q#T的类模æ¿å®žä¾‹åŒ–有æ§ä¹‰" +msgstr "有æ§ä¹‰çš„模æ¿ç‰¹ä¾‹åŒ–%qD(为%q+D)" #: cp/pt.c:19581 #, fuzzy msgid "%s %#S" -msgstr "%s %+#D" +msgstr "å¼ è´´è¢«æç½®çš„æ–‡ç« [%%s]?(%s/%s/%s/%s/%s):" #: cp/pt.c:19605 cp/pt.c:19692 #, gcc-internal-format @@ -41195,7 +40964,7 @@ msgstr "为模æ¿å®žä¾‹åŒ–化应用了å˜å‚¨ç±»åž‹%qD" #: cp/pt.c:19775 #, fuzzy, gcc-internal-format msgid "explicit instantiation of non-class template %qD" -msgstr "对éžæ¨¡æ¿%q#D的显å¼å®žä¾‹åŒ–" +msgstr "显å¼å®žä¾‹åŒ–éžæ¨¡æ¿ç±»åž‹%qT" #: cp/pt.c:19777 #, gcc-internal-format @@ -41402,7 +41171,7 @@ msgstr "éšè—äº†è¢«åˆ é™¤çš„å‡½æ•°%q+D" #: cp/search.c:1977 #, fuzzy, gcc-internal-format msgid "virtual function %q+D" -msgstr "虚函数%qsä¸æ˜¯ç±»æˆå‘˜" +msgstr "%q+D通常是一个函数" #: cp/search.c:1978 #, fuzzy, gcc-internal-format @@ -41443,9 +41212,8 @@ msgstr "__label__ 声明åªèƒ½å‡ºçŽ°åœ¨å‡½æ•°ä½œç”¨åŸŸä¸" #: cp/semantics.c:1739 #, fuzzy, gcc-internal-format -#| msgid "invalid use of member %q+D in static member function" msgid "invalid use of member %qD in static member function" -msgstr "在é™æ€æˆå‘˜å‡½æ•°ä¸ä½¿ç”¨æˆå‘˜%q+Dæ— æ•ˆ" +msgstr "对éžé™æ€æˆå‘˜å‡½æ•°%qDçš„ä½¿ç”¨æ— æ•ˆ" #: cp/semantics.c:2415 #, gcc-internal-format @@ -41528,9 +41296,9 @@ msgid "%qD is not captured" msgstr "%qD未被æ•èŽ·" #: cp/semantics.c:3196 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "the lambda has no capture-default" -msgstr "" +msgstr "为 lambda å½¢å‚指定了默认å‚æ•°" #: cp/semantics.c:3198 #, gcc-internal-format @@ -41545,7 +41313,7 @@ msgstr "在包å«å‡½æ•°ä¸ä½¿ç”¨%<auto%>å˜é‡" #: cp/semantics.c:3210 #, fuzzy, gcc-internal-format msgid "use of parameter from containing function" -msgstr "在包å«å‡½æ•°ä¸ä½¿ç”¨%<auto%>å˜é‡" +msgstr "已弃用为éžå‡½æ•°æŒ‡å®šé»˜è®¤å‚æ•°" #: cp/semantics.c:3372 #, gcc-internal-format @@ -41692,7 +41460,7 @@ msgstr "num_threads 表达å¼å¿…须是整型的" #: cp/semantics.c:5644 #, fuzzy, gcc-internal-format msgid "%<device%> id must be integral" -msgstr "切片结尾必须是整数" +msgstr "调度å—大å°è¡¨è¾¾å¼å¿…须为整型" #: cp/semantics.c:5665 #, fuzzy, gcc-internal-format @@ -41702,7 +41470,7 @@ msgstr "调度å—大å°è¡¨è¾¾å¼å¿…须为整型" #: cp/semantics.c:5685 #, fuzzy, gcc-internal-format msgid "%qD is not a variable in %<aligned%> clause" -msgstr "%qD在åå¥%qsä¸ä¸æ˜¯ä¸€ä¸ªå˜é‡" +msgstr "%qD在%<lastprivate%>åå¥ä¸ä¸æ˜¯ä¸€ä¸ªå˜é‡" #: cp/semantics.c:5699 #, gcc-internal-format @@ -41745,14 +41513,14 @@ msgid "difference between %qE and %qD does not have integer type" msgstr "%qEå’Œ%qD之间的差ä¸å…·æœ‰æ•´æ•°ç±»åž‹" #: cp/semantics.c:6619 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<#pragma omp simd%> used with class iteration variable %qE" -msgstr "" +msgstr "%<# pragma omp 基元的 update%>使用两ä¸åŒçš„å˜é‡ç”¨äºŽå†…å˜" #: cp/semantics.c:6894 cp/semantics.c:6904 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<#pragma omp atomic update%> uses two different expressions for memory" -msgstr "" +msgstr "%<# pragma omp 基元的 update%>使用两ä¸åŒçš„å˜é‡ç”¨äºŽå†…å˜" #. Report the error. #: cp/semantics.c:7193 @@ -41781,9 +41549,9 @@ msgid "%qV qualifiers cannot be applied to %qT" msgstr "%qVé™å®šç¬¦ä¸èƒ½åº”用到%qT上" #: cp/tree.c:1518 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "lambda-expression in a constant expression" -msgstr "%qEä¸æ˜¯ä¸€ä¸ªå¸¸é‡è¡¨è¾¾å¼" +msgstr "常é‡è¡¨è¾¾å¼ä¸çš„ Lambda 表达å¼" #: cp/tree.c:3375 #, gcc-internal-format @@ -41833,37 +41601,32 @@ msgstr "%qD声明为%qT的一个æˆå‘˜" #: cp/tree.c:3518 #, fuzzy, gcc-internal-format msgid "previous declaration here" -msgstr "与æ¤å¤„早先的声明%q+#D冲çª" +msgstr "%q+Tå…ˆå‰åœ¨æ¤å¤„有过声明" #: cp/tree.c:3532 #, fuzzy, gcc-internal-format -#| msgid "%qD attribute requires a single NTBS argument" msgid "the %qE attribute requires arguments" -msgstr "%qD属性需è¦ä¸€ä¸ª NTBS 作为实å‚" +msgstr "%qE属性需è¦å¸¦æœ‰å实å‚的原型" #: cp/tree.c:3543 #, fuzzy, gcc-internal-format -#| msgid "argument of %qE attribute is not a string constant" msgid "arguments to the %qE attribute must be narrow string literals" msgstr "%qE属性的实å‚ä¸æ˜¯ä¸€ä¸ªå—符串常é‡" #: cp/tree.c:3556 cp/tree.c:3569 #, fuzzy, gcc-internal-format -#| msgid "argument of %qE attribute is not a string constant" msgid "arguments to the %qE attribute must contain valid identifiers" msgstr "%qE属性的实å‚ä¸æ˜¯ä¸€ä¸ªå—符串常é‡" #: cp/tree.c:3558 #, fuzzy, gcc-internal-format -#| msgid "%<%T::%D%> is not a valid declarator" msgid "%<%c%> is not a valid first character for an identifier" msgstr "%<%T::%D%>ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„声明" #: cp/tree.c:3571 #, fuzzy, gcc-internal-format -#| msgid "%<%T::%D%> is not a valid declarator" msgid "%<%c%> is not a valid character in an identifier" -msgstr "%<%T::%D%>ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„声明" +msgstr "请输入有效å—符" #: cp/tree.c:3595 #, fuzzy, gcc-internal-format @@ -41877,13 +41640,11 @@ msgstr "忽略在其定义之åŽä¸º%qT应用的属性" #: cp/tree.c:3607 #, fuzzy, gcc-internal-format -#| msgid "ignoring attributes applied to %qT after definition" msgid "ignoring %qE attribute applied to template instantiation %qT" msgstr "忽略在其定义之åŽä¸º%qT应用的属性" #: cp/tree.c:3613 #, fuzzy, gcc-internal-format -#| msgid "ignoring attributes applied to %qT after definition" msgid "ignoring %qE attribute applied to template specialization %qT" msgstr "忽略在其定义之åŽä¸º%qT应用的属性" @@ -41900,7 +41661,7 @@ msgstr "%qE属性åªèƒ½ç”¨äºŽå‡½æ•°" #: cp/tree.c:4342 #, fuzzy, gcc-internal-format msgid "zero as null pointer constant" -msgstr "数组边界ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡" +msgstr "PRINT_OPERAND 空指针" #: cp/tree.c:4355 #, gcc-internal-format, gfc-internal-format @@ -41999,14 +41760,13 @@ msgstr "å–临时å˜é‡çš„地å€" #: cp/typeck.c:2147 #, fuzzy, gcc-internal-format -#| msgid "deprecated conversion from string constant to %qT" msgid "ISO C++ forbids converting a string constant to %qT" -msgstr "ä¸å»ºè®®ä½¿ç”¨ä»Žå—符串常é‡åˆ°%qT的转æ¢" +msgstr "已弃用从å—符串常é‡åˆ°%qT的转æ¢" #: cp/typeck.c:2151 #, gcc-internal-format msgid "deprecated conversion from string constant to %qT" -msgstr "ä¸å»ºè®®ä½¿ç”¨ä»Žå—符串常é‡åˆ°%qT的转æ¢" +msgstr "已弃用从å—符串常é‡åˆ°%qT的转æ¢" #: cp/typeck.c:2285 cp/typeck.c:2678 #, fuzzy, gcc-internal-format @@ -42025,7 +41785,6 @@ msgstr "对éžé™æ€æ•°æ®æˆå‘˜%qEçš„ä½¿ç”¨æ— æ•ˆ" #: cp/typeck.c:2375 #, fuzzy, gcc-internal-format -#| msgid "invalid access to non-static data member %qD of NULL object" msgid "invalid access to non-static data member %qD in virtual base of NULL object" msgstr "对 NULL 对象éžé™æ€æ•°æ®æˆå‘˜%qDçš„è®¿é—®æ— æ•ˆ" @@ -42051,7 +41810,6 @@ msgstr "%qTä¸æ˜¯%qT的基类" #: cp/typeck.c:2783 #, fuzzy, gcc-internal-format -#| msgid "%qT has no member named %qE" msgid "%q#T has no member named %qE" msgstr "%qT没有å为%qEçš„æˆå‘˜" @@ -42243,7 +42001,7 @@ msgstr "ISO C++ ä¸å…许比较指针和整数的值" #: cp/typeck.c:4657 cp/typeck.c:4669 #, fuzzy, gcc-internal-format msgid "operand types are %qT and %qT" -msgstr "在%qTå’Œ%qT间比较" +msgstr "在类型%qTå’Œ%qT间比较" #: cp/typeck.c:4681 #, fuzzy, gcc-internal-format @@ -42589,9 +42347,8 @@ msgstr "ä¸èƒ½åœ¨èµ‹å€¼æ—¶å°†%qT转æ¢ä¸º%qT" #: cp/typeck.c:8186 #, fuzzy, gcc-internal-format -#| msgid "return type %q#T is incomplete" msgid "class type %qT is incomplete" -msgstr "返回值类型%q#Tä¸å®Œå…¨" +msgstr "æºæœ‰ä¸å®Œå…¨çš„类类型" #: cp/typeck.c:8204 #, fuzzy, gcc-internal-format @@ -42601,12 +42358,12 @@ msgstr "%2$qE的第 %1$d 个实å‚å¯èƒ½æ˜¯ format 属性的备选" #: cp/typeck.c:8208 #, fuzzy, gcc-internal-format msgid "parameter might be a candidate for a format attribute" -msgstr "%2$qE的第 %1$d 个实å‚å¯èƒ½æ˜¯ format 属性的备选" +msgstr "返回类型å¯èƒ½æ˜¯ format 属性的备选" #: cp/typeck.c:8213 #, fuzzy, gcc-internal-format msgid "target of conversion might be a candidate for a format attribute" -msgstr "%2$qE的第 %1$d 个实å‚å¯èƒ½æ˜¯ format 属性的备选" +msgstr "函数的实å‚å¯èƒ½æ˜¯ format 属性的备选" #: cp/typeck.c:8218 #, fuzzy, gcc-internal-format @@ -42640,7 +42397,6 @@ msgstr "返回了对局部å˜é‡çš„%q+D的引用" #: cp/typeck.c:8403 #, fuzzy, gcc-internal-format -#| msgid "address of local variable %q+D returned" msgid "address of label %q+D returned" msgstr "返回了局部å˜é‡çš„%q+D的地å€" @@ -42712,7 +42468,7 @@ msgstr "å‘åªè¯»å—段%qD赋值" #: cp/typeck2.c:119 #, fuzzy, gcc-internal-format msgid "constant field %qD used as %<asm%> output" -msgstr "通过‘asm’输出å‘åªè¯»å—段%qD赋值" +msgstr "函数%qD用作%<asm%>的输出" #: cp/typeck2.c:121 #, gcc-internal-format @@ -42732,7 +42488,7 @@ msgstr "å‘åªè¯»å½¢å‚%qD赋值" #: cp/typeck2.c:132 #, fuzzy, gcc-internal-format msgid "read-only reference %qD used as %<asm%> output" -msgstr "åªè¯»æˆå‘˜%qD用作%<asm%>的输出" +msgstr "åªè¯»å˜é‡%qD被用作%<asm%>的输出" #: cp/typeck2.c:134 #, gcc-internal-format @@ -42793,7 +42549,7 @@ msgstr "生æˆæŠ½è±¡ç±»åž‹%qT的数组" #: cp/typeck2.c:365 #, fuzzy, gcc-internal-format msgid "invalid cast to abstract class type %qT" -msgstr "å‘函数类型%qT的转æ¢æ— 效" +msgstr "生æˆæŠ½è±¡ç±»åž‹%qT的数组" #: cp/typeck2.c:368 #, fuzzy, gcc-internal-format @@ -42803,12 +42559,12 @@ msgstr "从具有类型%qTçš„å³å€¼è¡¨è¾¾å¼åˆ°ç±»åž‹%qTä¸çš„转æ¢æ— 效" #: cp/typeck2.c:371 #, fuzzy, gcc-internal-format msgid "invalid abstract return type %qT" -msgstr "æ— æ•ˆçš„å‚数类型%qT" +msgstr "抽象类型%qTæ— æ•ˆï¼Œå¯¹äºŽ%qEæ— æ•ˆ" #: cp/typeck2.c:374 #, fuzzy, gcc-internal-format msgid "invalid abstract parameter type %qT" -msgstr "æ— æ•ˆçš„å‚数类型%qT" +msgstr "抽象类型%qTæ— æ•ˆï¼Œå¯¹äºŽ%qEæ— æ•ˆ" #: cp/typeck2.c:377 #, fuzzy, gcc-internal-format @@ -42837,21 +42593,18 @@ msgstr "\t%+#D" #: cp/typeck2.c:454 #, fuzzy, gcc-internal-format -#| msgid "definition of %qD is not in namespace enclosing %qT" msgid "definition of %q#T is not complete until the closing brace" msgstr "%qD的定义ä¸åœ¨åŒ…å«%qT的命å空间ä¸" #: cp/typeck2.c:457 #, fuzzy, gcc-internal-format -#| msgid "forward declaration of %q+#T" msgid "forward declaration of %q#T" -msgstr "%q+#Tçš„å‰å‘声明" +msgstr "%q+Tå…ˆå‰åœ¨æ¤å¤„有过声明" #: cp/typeck2.c:459 #, fuzzy, gcc-internal-format -#| msgid "declaration of %q+#T" msgid "declaration of %q#T" -msgstr "%q+#T的声明" +msgstr "在求%<%Q(%#T, %#T)%>值时" #: cp/typeck2.c:486 #, gcc-internal-format @@ -42965,7 +42718,6 @@ msgstr "æˆå‘˜%qD是未åˆå§‹åŒ–的引用" #: cp/typeck2.c:1435 #, fuzzy, gcc-internal-format -#| msgid "member %qD is uninitialized reference" msgid "member %qD with uninitialized reference fields" msgstr "æˆå‘˜%qD是未åˆå§‹åŒ–的引用" @@ -43017,17 +42769,17 @@ msgstr "æˆå‘˜æŒ‡é’ˆç±»åž‹%qT与对象类型%qTä¸å…¼å®¹" #: cp/typeck2.c:1873 #, fuzzy, gcc-internal-format msgid "pointer-to-member-function type %qT requires an rvalue" -msgstr "在算术表达å¼ä¸ä½¿ç”¨äº†æˆå‘˜æŒ‡é’ˆ" +msgstr "生æˆéžç±»ç±»åž‹%qTçš„æˆå‘˜å‡½æ•°æŒ‡é’ˆ" #: cp/typeck2.c:1880 #, fuzzy, gcc-internal-format msgid "pointer-to-member-function type %qT requires an lvalue" -msgstr "在算术表达å¼ä¸ä½¿ç”¨äº†æˆå‘˜æŒ‡é’ˆ" +msgstr "生æˆéžç±»ç±»åž‹%qTçš„æˆå‘˜å‡½æ•°æŒ‡é’ˆ" #: cp/typeck2.c:1921 #, fuzzy, gcc-internal-format msgid "functional cast to array type %qT" -msgstr "å‘函数类型%qT的转æ¢æ— 效" +msgstr "从类型%qT到类型%qT的转æ¢æ— 效" #: cp/typeck2.c:1942 #, fuzzy, gcc-internal-format @@ -43066,7 +42818,6 @@ msgstr "在%Lå¤„æŠŠä¸€ä¸ªæ— ç©·å¤§æˆ–éžæ•°è½¬æ¢ä¸º INTEGER" #: fortran/arith.c:117 fortran/arith.c:1945 #, fuzzy, gcc-internal-format -#| msgid "gfc_trans_code(): Bad statement code" msgid "gfc_arith_error(): Bad error code" msgstr "gfc_trans_code():错误的è¯å¥ä»£ç " @@ -43077,7 +42828,6 @@ msgstr "" #: fortran/arith.c:530 #, fuzzy, gcc-internal-format -#| msgid "gfc_trans_code(): Bad statement code" msgid "gfc_range_check(): Bad type" msgstr "gfc_trans_code():错误的è¯å¥ä»£ç " @@ -43114,7 +42864,7 @@ msgstr "" #: fortran/arith.c:904 fortran/arith.c:929 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Noninteger exponent in an initialization expression at %L" -msgstr "Fortran 2003:%L处åˆå§‹åŒ–表达å¼ä¸éžæ•´æ•°æŒ‡æ•°" +msgstr "必须为%L处的 ASYNCHRONOUS= 指定一个åˆå§‹åŒ–表达å¼" #: fortran/arith.c:915 #, gcc-internal-format, gfc-internal-format @@ -43123,13 +42873,11 @@ msgstr "%L处ä¸èƒ½ä¸ºè´Ÿçš„ REAL å– REAL 次幂" #: fortran/arith.c:943 #, fuzzy, gcc-internal-format -#| msgid "ia64_print_operand: unknown code" msgid "arith_power(): unknown type" -msgstr "ia64_print_operand:未知代ç " +msgstr "未知的文件类型" #: fortran/arith.c:1009 #, fuzzy, gcc-internal-format -#| msgid "Bad operator" msgid "compare_real(): Bad operator" msgstr "错误的è¿ç®—符" @@ -43139,9 +42887,9 @@ msgid "gfc_compare_expr(): Bad basic type" msgstr "" #: fortran/arith.c:1555 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "eval_intrinsic(): Bad operator" -msgstr "" +msgstr "%L处内建è¿ç®—符接å£å¿…须是一个 FUNCTION" #: fortran/arith.c:1604 #, gcc-internal-format @@ -43155,19 +42903,16 @@ msgstr "%3$L处从 %1$s 转æ¢åˆ° %2$s 算术æ£å¸¸" #: fortran/arith.c:1917 #, fuzzy, gcc-internal-format -#| msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check" msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "%3$L处将 %1$s 转æ¢åˆ° %2$s 时算术溢出。这一检查å¯ç”¨ -fno-range-check 选项关é—" #: fortran/arith.c:1922 #, fuzzy, gcc-internal-format -#| msgid "Arithmetic underflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check" msgid "Arithmetic underflow converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "%3$L处将 %1$s 转æ¢åˆ° %2$s 时算术下溢。这一检查å¯ç”¨ -fno-range-check 选项ç¦ç”¨" #: fortran/arith.c:1927 #, fuzzy, gcc-internal-format -#| msgid "Arithmetic NaN converting %s to %s at %L. This check can be disabled with the option -fno-range-check" msgid "Arithmetic NaN converting %s to %s at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "%3$L处将 %1$s 转æ¢åˆ° %2$s 时产生算术 NaN。这一检查å¯ç”¨ -fno-range-check 选项ç¦ç”¨" @@ -43188,7 +42933,6 @@ msgstr "%3$L处将%1$s转æ¢ä¸º%2$sæ—¶æ•´æ•°è¶…è¿‡äº†æ ‡å‡† Fortran 所规定的 #: fortran/arith.c:2284 #, fuzzy, gcc-internal-format -#| msgid "The Hollerith constant at %L is too long to convert to %s" msgid "The Hollerith constant at %L is too long to convert to %qs" msgstr "%L çš„è·å‹’ç‘žæ–¯å¸¸æ•°å¤ªé•¿ï¼Œæ— æ³•è¢«è½¬æ¢ä¸º %s" @@ -43200,7 +42944,7 @@ msgstr "%C处需è¦æ•°ç»„ä¸‹æ ‡" #: fortran/array.c:104 #, fuzzy, gcc-internal-format msgid "Unexpected %<*%> in coarray subscript at %C" -msgstr "éžé¢„期的 %s è¯å¥å‡ºçŽ°åœ¨%C处的 MODULE ä¸" +msgstr "%C处需è¦æ•°ç»„ä¸‹æ ‡é—´éš”" #: fortran/array.c:128 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -43227,29 +42971,28 @@ msgstr "%C处的任何引用都ä¸èƒ½å¤šäºŽ %d ç»´" #: fortran/check.c:5138 fortran/match.c:1680 fortran/match.c:2781 #: fortran/match.c:2977 fortran/simplify.c:4646 #, fuzzy, gcc-internal-format -#| msgid "Coarrays disabled at %C, use -fcoarray= to enable" msgid "Coarrays disabled at %C, use %<-fcoarray=%> to enable" msgstr "集åˆæ•°ç»„在%C处被ç¦ç”¨ï¼Œä½¿ç”¨ -fcoarray= æ¥å¯ç”¨" #: fortran/array.c:219 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Unexpected coarray designator at %C" -msgstr "%C处éžé¢„期的 END è¯å¥" +msgstr "%C处éžé¢„期的 TYPE IS è¯å¥" #: fortran/array.c:234 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Too few codimensions at %C, expected %d not %d" -msgstr "" +msgstr "太少 codimensions 于 %C, 预期 %d æ— æ³• %d" #: fortran/array.c:240 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Too many codimensions at %C, expected %d not %d" -msgstr "" +msgstr "太多 codimensions 于 %C, 预期 %d æ— æ³• %d" #: fortran/array.c:250 fortran/array.c:258 #, fuzzy, gcc-internal-format msgid "Unexpected %<*%> for codimension %d of %d at %C" -msgstr "%2$L处 %1$s ç§åˆ«æ— 效" +msgstr "éžé¢„期的 %d å—节 cop 指令" #: fortran/array.c:253 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -43257,20 +43000,19 @@ msgid "Invalid form of coarray reference at %C" msgstr "%C处数组引用形å¼æ— 效" #: fortran/array.c:265 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Invalid codimension %d at %C, only %d codimensions exist" -msgstr "" +msgstr "æ— æ•ˆçš„ codimension %d 于 %C, åªæœ‰ %d codimensions å˜åœ¨" #: fortran/array.c:317 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' at %L in this context must be constant" msgid "Variable %qs at %L in this context must be constant" -msgstr "å˜é‡â€˜%s’在%L处上下文ä¸å¿…须是常é‡" +msgstr "å˜é‡â€˜%s’在%L处上下文ä¸å—符长度必须为常é‡" #: fortran/array.c:320 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Expression at %L in this context must be constant" -msgstr "å˜é‡â€˜%s’在%L处上下文ä¸å¿…须是常é‡" +msgstr "%L处的表达å¼å¿…é¡»å…·æœ‰æ ‡é‡ç±»åž‹" #: fortran/array.c:413 #, gcc-internal-format, gfc-internal-format @@ -43278,14 +43020,14 @@ msgid "Expected expression in array specification at %C" msgstr "%Cå¤„æ•°ç»„è§„æ ¼ä¸éœ€è¦è¡¨è¾¾å¼" #: fortran/array.c:471 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Assumed-rank array at %C" -msgstr "" +msgstr "%C处å‡å®šå¤§å°æ•°ç»„çš„è§„æ ¼è¯´æ˜Žé”™è¯¯" #: fortran/array.c:505 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Bad array specification for implied-shape array at %C" -msgstr "%L 处å‡å®šå¤–形数组的åçš„æ•°ç»„è§„æ ¼è¯´æ˜Ž" +msgstr "%C处å‡å®šå¤–å½¢æ•°ç»„çš„æ•°ç»„è§„æ ¼è¯´æ˜Žé”™è¯¯" #: fortran/array.c:521 fortran/array.c:634 #, gcc-internal-format, gfc-internal-format @@ -43325,7 +43067,7 @@ msgstr "%Cå¤„æ•°ç»„è§„æ ¼ä¸æœ‰å¤šäºŽ %d çš„ç»´æ•°" #: fortran/array.c:591 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Coarray declaration at %C" -msgstr "Fortran 2008:%C处的 BLOCK 结构" +msgstr "%C处 CHARACTER 声明è¯æ³•é”™è¯¯" #: fortran/array.c:688 #, fuzzy, gcc-internal-format @@ -43344,7 +43086,6 @@ msgstr "" #: fortran/array.c:916 #, fuzzy, gcc-internal-format -#| msgid "DO-iterator '%s' at %L is inside iterator of the same name" msgid "DO-iterator %qs at %L is inside iterator of the same name" msgstr "DO æ¸¸æ ‡â€˜%s’在%L处出现在å¦ä¸€ä¸ªåŒåæ¸¸æ ‡ä½œç”¨åŸŸå†…" @@ -43356,7 +43097,7 @@ msgstr "%Cå¤„æ•°ç»„æž„é€ è¯æ³•é”™è¯¯" #: fortran/array.c:1061 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "[...] style array constructors at %C" -msgstr "Fortran 2003:%C处 [...] é£Žæ ¼çš„æ•°ç»„æž„é€ " +msgstr "程åºä½¿ç”¨ C é£Žæ ¼çš„ç±»åž‹è½¬æ¢æ—¶ç»™å‡ºè¦å‘Š" #: fortran/array.c:1083 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -43385,7 +43126,6 @@ msgstr "%Lå¤„æ¸¸æ ‡æ¥è¿›ä¸èƒ½ä¸ºé›¶" #: fortran/array.c:1667 #, fuzzy, gcc-internal-format -#| msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See -fmax-array-constructor option" msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" msgstr "%Lå¤„æ•°ç»„æž„é€ å‡½æ•°ä¸çš„å…ƒç´ æ•°è¶…è¿‡å®¹è®¸çš„ä¸Šé™ %d。请å‚è§ -fmax-array-constructor 选项" @@ -43395,14 +43135,14 @@ msgid "AC-IMPLIED-DO initial expression references control variable at %L" msgstr "" #: fortran/array.c:1844 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "AC-IMPLIED-DO final expression references control variable at %L" -msgstr "" +msgstr "%L 处è¿ç®—å¼å‚照类型错误" #: fortran/array.c:1851 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "AC-IMPLIED-DO step expression references control variable at %L" -msgstr "" +msgstr "%L 处è¿ç®—å¼å‚照类型错误" #: fortran/array.c:1863 #, gcc-internal-format, gfc-internal-format @@ -43452,45 +43192,38 @@ msgstr "" #: fortran/check.c:46 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be a scalar" msgid "%qs argument of %qs intrinsic at %L must be a scalar" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$sâ€™å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/check.c:62 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be %s" msgid "%qs argument of %qs intrinsic at %L must be %s" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是 %4$s" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/check.c:89 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type" msgid "%qs argument of %qs intrinsic at %L must be a numeric type" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须具有数å—类型" #: fortran/check.c:104 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL" msgid "%qs argument of %qs intrinsic at %L must be INTEGER or REAL" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须为整数型或实数型" #: fortran/check.c:121 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be REAL or COMPLEX" msgid "%qs argument of %qs intrinsic at %L must be REAL or COMPLEX" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须为实数型或å¤æ•°åž‹" #: fortran/check.c:138 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE" msgid "%qs argument of %qs intrinsic at %L must be INTEGER or PROCEDURE" msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须为 INTEGER 或 PROCEDURE" #: fortran/check.c:167 fortran/check.c:6252 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be a constant" msgid "%qs argument of %qs intrinsic at %L must be a constant" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个常é‡" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/check.c:176 #, gcc-internal-format, gfc-internal-format @@ -43499,7 +43232,6 @@ msgstr "%2$L处 %1$s ç§åˆ«æ— 效" #: fortran/check.c:195 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be double precision" msgid "%qs argument of %qs intrinsic at %L must be double precision" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须为åŒç²¾åº¦" @@ -43510,20 +43242,18 @@ msgstr "%2$L处 %1$s 内建函数缺少实å‚" #: fortran/check.c:235 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be a logical array" msgid "%qs argument of %qs intrinsic at %L must be a logical array" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个逻辑数组" #: fortran/check.c:261 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be an array" msgid "%qs argument of %qs intrinsic at %L must be an array" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个数组" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/check.c:282 #, fuzzy, gcc-internal-format msgid "%qs at %L must be nonnegative" -msgstr "%s (%L处)å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡" +msgstr "%qs必须与%qs一起使用" #: fortran/check.c:313 #, fuzzy, gcc-internal-format @@ -43552,45 +43282,38 @@ msgstr "%L处 LOG 的实å‚ä¸å¯ä»¥å°äºŽæˆ–ç‰äºŽé›¶" #: fortran/check.c:405 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be the same type and kind as '%s'" msgid "%qs argument of %qs intrinsic at %L must be the same type and kind as %qs" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须具有与‘%4$sâ€™ä¸€æ ·çš„ç±»åž‹å’Œç§åˆ«" #: fortran/check.c:422 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be of rank %d" msgid "%qs argument of %qs intrinsic at %L must be of rank %d" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’的秩必须为 %4$d" #: fortran/check.c:437 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must not be OPTIONAL" msgid "%qs argument of %qs intrinsic at %L must not be OPTIONAL" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’ä¸èƒ½ä¸ºå¯é€‰çš„" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/check.c:458 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE" msgid "%qs argument of %qs intrinsic at %L must be ALLOCATABLE" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须为 ALLOCATABLE" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/check.c:476 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be of kind %d" msgid "%qs argument of %qs intrinsic at %L must be of kind %d" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须具有ç§åˆ« %4$d" #: fortran/check.c:514 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L cannot be INTENT(IN)" msgid "%qs argument of %qs intrinsic at %L cannot be INTENT(IN)" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’ä¸èƒ½æ˜¯ INTENT(IN)" #: fortran/check.c:535 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be a variable" msgid "%qs argument of %qs intrinsic at %L must be a variable" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个å˜é‡" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/check.c:584 #, fuzzy, gcc-internal-format @@ -43599,7 +43322,6 @@ msgstr "%2$L处‘%1$s’内建函数的‘dim’实å‚ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„ç»´æ #: fortran/check.c:634 #, fuzzy, gcc-internal-format -#| msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index" msgid "%<dim%> argument of %qs intrinsic at %L is not a valid dimension index" msgstr "%2$L处‘%1$s’内建函数的‘dim’实å‚ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„维数索引" @@ -43610,7 +43332,6 @@ msgstr "%4$L处 %3$s ä¸å—符长度ä¸ç›¸ç‰ (%1$ld/%2$ld)" #: fortran/check.c:859 fortran/check.c:6196 #, fuzzy, gcc-internal-format -#| msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type" msgid "%qs and %qs arguments of %qs intrinsic at %L must have the same type" msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实å‚类型必须相åŒ" @@ -43618,13 +43339,12 @@ msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实å‚ç±»åž‹å¿…é¡ #: fortran/check.c:2418 fortran/check.c:2845 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Different type kinds at %L" -msgstr "扩展:%L处类型ç§åˆ«ä¸åŒ" +msgstr "%L处指针赋值时秩ä¸åŒ" #: fortran/check.c:904 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER" msgid "%qs argument of %qs intrinsic at %L must be a POINTER" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个 POINTER" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/check.c:913 fortran/check.c:949 fortran/check.c:3363 #, fuzzy, gcc-internal-format @@ -43633,13 +43353,11 @@ msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须具有ç§åˆ« %4$d" #: fortran/check.c:931 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION" msgid "%qs argument of %qs intrinsic at %L must be a pointer or target VARIABLE or FUNCTION" msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实å‚ç±»åž‹å¿…é¡»ä¸ºæŒ‡é’ˆæˆ–ç›®æ ‡ VARIABLE 或 FUNCTION" #: fortran/check.c:940 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET" msgid "%qs argument of %qs intrinsic at %L must be a POINTER or a TARGET" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个 POINTER 或 TARGET" @@ -43650,14 +43368,13 @@ msgstr "%L处由å‘é‡ä¸‹æ ‡é€‰æ‹©çš„数组段ä¸åº”æ˜¯æŒ‡é’ˆçš„ç›®æ ‡" #: fortran/check.c:976 #, fuzzy, gcc-internal-format -#| msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function" msgid "NULL pointer at %L is not permitted as actual argument of %qs intrinsic function" msgstr "%L çš„ NULL 指针ä¸èƒ½ç”¨ä½œå†…建函数‘%s’的实å‚" #: fortran/check.c:1019 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "ATOM argument at %L to intrinsic function %s shall be an integer of ATOMIC_INT_KIND or a logical of ATOMIC_LOGICAL_KIND" -msgstr "" +msgstr "原åå‚数于 %L 到内置函数 %s 应该是整数的 ATOMIC_INT_KIND 或逻辑的的 ATOMIC_LOGICAL_KIND" #: fortran/check.c:1027 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -43666,15 +43383,13 @@ msgstr "‘%s’的实å‚在%L处必须是一个指针" #: fortran/check.c:1034 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be the same type and kind as '%s'" msgid "'%s' argument of '%s' intrinsic at %L shall have the same type as '%s' at %L" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须具有与‘%4$sâ€™ä¸€æ ·çš„ç±»åž‹å’Œç§åˆ«" #: fortran/check.c:1052 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Too many arguments to %s at %L" msgid "STAT= argument to %s at %L" -msgstr "给予函数 %s çš„å‚数太多,于 %L" +msgstr "æ— æ³•æ£€éªŒçŠ¶æ€ï¼š%s:%s\n" #: fortran/check.c:1071 fortran/check.c:1137 fortran/check.c:1181 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -43699,17 +43414,15 @@ msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实å‚类型必须为默认实 #: fortran/check.c:1208 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Negative argument N at %L" -msgstr "%2$L 处的 %1$s 函数的å‚数是负的" +msgstr "%L处内建 REPEAT çš„ NCOPIES 实å‚是负的" #: fortran/check.c:1380 fortran/check.c:1837 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX" msgid "%qs argument of %qs intrinsic at %L must not be present if %<x%> is COMPLEX" msgstr "当‘x’是 COMPLEX æ—¶%3$L处内建函数‘%2$s’的实å‚‘%1$s’ä¸èƒ½å˜åœ¨" #: fortran/check.c:1389 fortran/check.c:1846 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must have a type of either REAL or INTEGER" msgid "%qs argument of %qs intrinsic at %L must have a type of either REAL or INTEGER" msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实å‚类型必须为 REAL 或 INTEGER" @@ -43740,7 +43453,6 @@ msgstr "%L处 stat å˜é‡å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡ INTEGER å˜é‡" #: fortran/check.c:1486 #, fuzzy, gcc-internal-format -#| msgid "Coarrays disabled at %C, use -fcoarray= to enable" msgid "Coarrays disabled at %L, use %<-fcoarray=%> to enable" msgstr "集åˆæ•°ç»„在%C处被ç¦ç”¨ï¼Œä½¿ç”¨ -fcoarray= æ¥å¯ç”¨" @@ -43761,16 +43473,14 @@ msgstr "" #: fortran/check.c:1541 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Argument of %s at %L must be of length one" msgid "OPERATOR argument at %L must be a PURE function" -msgstr "%s çš„å‚æ•°(ä½äºŽ %L)长度必须为 1" +msgstr "%L处内建è¿ç®—符接å£å¿…须是一个 FUNCTION" #. None of the intrinsics fulfills the criteria of taking two arguments, #. returning the same type and kind as the arguments and being permitted #. as actual argument. #: fortran/check.c:1551 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression" msgid "Intrinsic function %s at %L is not permitted for CO_REDUCE" msgstr "%2$L处内建函数‘%1$s’ä¸å…许出现在在åˆå§‹åŒ–表达å¼ä¸" @@ -43835,42 +43545,37 @@ msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$sâ€™å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡" #: fortran/check.c:5253 #, fuzzy, gcc-internal-format msgid "%qs intrinsic with KIND argument at %L" -msgstr "Fortran 2003:%2$L处的‘%1$s’内建函数有 KIND 实å‚" +msgstr "%L处内建 REPEAT çš„ NCOPIES 实å‚是负的" #: fortran/check.c:1778 fortran/check.c:2029 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L has invalid shape in dimension %d (%ld/%ld)" msgid "%qs argument of %qs intrinsic at %L has invalid shape in dimension %d (%ld/%ld)" msgstr "%3$L处‘%2$s’内建函数的实å‚‘%1$s’在维数 %4$d (%5$ld/%6$ld)ä¸Šå¤–å½¢æ— æ•ˆ" #: fortran/check.c:1793 fortran/check.c:2044 fortran/check.c:2072 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of intrinsic '%s' at %L of must have rank %d or be a scalar" msgid "%qs argument of intrinsic %qs at %L of must have rank %d or be a scalar" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须有 %4$d çš„ç§©æˆ–è€…æ˜¯ä¸€ä¸ªæ ‡é‡" #: fortran/check.c:1896 fortran/check.c:2939 fortran/check.c:2947 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL" msgid "%qs argument of %qs intrinsic at %L must be numeric or LOGICAL" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须为数å—或 LOGICAL åž‹" #: fortran/check.c:1910 #, fuzzy, gcc-internal-format -#| msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'" msgid "Different shape for arguments %qs and %qs at %L for intrinsic %<dot_product%>" msgstr "%3$L处点乘内建函数的å‚数‘%1$s’和‘%2$s’外形ä¸ç›¸åŒ" #: fortran/check.c:1930 fortran/check.c:1938 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be default real" msgid "%qs argument of %qs intrinsic at %L must be default real" msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实å‚类型必须为默认实型" #: fortran/check.c:1959 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "'I' at %L and 'J' at %L cannot both be BOZ literal constants" -msgstr "" +msgstr "‘我’于 %L 和‘J’于 %L æ— æ³•ä¸¤è€…æ˜¯ BOZ 实å—常数" #: fortran/check.c:2090 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -43880,7 +43585,7 @@ msgstr "%2$L处 %1$s 内建函数缺少实å‚" #: fortran/check.c:2150 #, fuzzy, gcc-internal-format msgid "COMPLEX argument %qs of %qs intrinsic at %L" -msgstr "Fortran 2008:%3$L处的‘%2$s’内建函数有 COMPLEX å‚数‘%1$s’" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/check.c:2314 #, gcc-internal-format, gfc-internal-format @@ -43889,14 +43594,13 @@ msgstr "%s çš„å‚æ•°(ä½äºŽ %L)长度必须为 1" #: fortran/check.c:2373 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'" msgid "%qs argument of %qs intrinsic at %L must be the same kind as %qs" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须具有与‘%4$sâ€™ä¸€æ ·çš„ç§åˆ«" #: fortran/check.c:2463 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "SIZE at %L must be positive" -msgstr "%s (%L处)å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡" +msgstr "é—´æ–值必须是æ£æ•°ã€‚" #: fortran/check.c:2475 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -43905,19 +43609,16 @@ msgstr "%L处 LOG 的实å‚ä¸å¯ä»¥å°äºŽæˆ–ç‰äºŽé›¶" #: fortran/check.c:2536 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type" msgid "%qs argument of %qs intrinsic at %L must be of intrinsic type" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须具有数å—类型" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/check.c:2543 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be a constant" msgid "%qs argument of %qs intrinsic at %L must be a data entity" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个常é‡" #: fortran/check.c:2754 #, fuzzy, gcc-internal-format -#| msgid "Intrinsic '%s' at %L must have at least two arguments" msgid "Intrinsic %qs at %L must have at least two arguments" msgstr "%2$L处的内建函数‘%1$s’必须至少有两个实å‚" @@ -43938,49 +43639,43 @@ msgstr "‘%s’和‘%s’用作内建函数‘%s’的å‚æ•°" #: fortran/check.c:2851 #, fuzzy, gcc-internal-format -#| msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)" msgid "%<a%d%> argument of %qs intrinsic at %L must be %s(%d)" msgstr "%3$L处内建函数‘%2$s’的实å‚‘a%1$d’必须是 %4$s(%5$d)" #: fortran/check.c:2882 #, fuzzy, gcc-internal-format msgid "%qs intrinsic with CHARACTER argument at %L" -msgstr "Fortran 2003:%2$L处的‘%1$s’内建函数有 CHARACTER 实å‚" +msgstr "%L处内建 REPEAT çš„ NCOPIES 实å‚是负的" #: fortran/check.c:2889 #, fuzzy, gcc-internal-format -#| msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER" msgid "%<a1%> argument of %qs intrinsic at %L must be INTEGER, REAL or CHARACTER" msgstr "%2$L处‘%1$s’内建函数的‘a1’实å‚必须是 INTEGERã€REAL 或 CHARACTER" #: fortran/check.c:2956 #, fuzzy, gcc-internal-format -#| msgid "Argument types of '%s' intrinsic at %L must match (%s/%s)" msgid "Argument types of %qs intrinsic at %L must match (%s/%s)" msgstr "%2$L处内建‘%1$s’的å‚数必须匹é…(%3$s/%4$s)" #: fortran/check.c:2970 #, fuzzy, gcc-internal-format -#| msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul" msgid "Different shape on dimension 1 for arguments %qs and %qs at %L for intrinsic matmul" msgstr "%3$L处矩阵乘法的两个å‚数‘%1$s’和‘%2$s’第一维的外形ä¸ç›¸åŒ" #: fortran/check.c:2989 #, fuzzy, gcc-internal-format -#| msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul" msgid "Different shape on dimension 2 for argument %qs and dimension 1 for argument %qs at %L for intrinsic matmul" msgstr "用作%3$L处矩阵乘法å‚数的‘%1$s’的第二维和‘%2$s’的第一维的外形ä¸ç›¸åŒ" #: fortran/check.c:2998 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2" msgid "%qs argument of %qs intrinsic at %L must be of rank 1 or 2" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’的秩必须为 1 或 2" #: fortran/check.c:3173 #, fuzzy, gcc-internal-format msgid "%qs argument of %qs intrinsic at %L must be INTEGER" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须为整数型或实数型" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/check.c:3233 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -43993,9 +43688,9 @@ msgid "The TO argument to MOVE_ALLOC at %L shall not be coindexed" msgstr "%L处 NEAREST 的第二个å‚æ•°ä¸èƒ½ä¸º 0" #: fortran/check.c:3251 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "The TO arguments in MOVE_ALLOC at %L must be polymorphic if FROM is polymorphic" -msgstr "" +msgstr "到å‚æ•°åœ¨ä¸ MOVE_ALLOC 于 %L 必须是 polymorphic 如果从是 polymorphic" #: fortran/check.c:3262 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -44018,33 +43713,29 @@ msgid "%qs argument of %qs intrinsic at %L must be a POINTER, ALLOCATABLE or pro msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须为 ALLOCATABLE" #: fortran/check.c:3356 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "NULL intrinsic with allocatable MOLD at %L" -msgstr "" +msgstr "Fortran 2003:空值 intrinsic 与 allocatable 铸型于 %L" #: fortran/check.c:3435 fortran/check.c:5200 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must provide at least as many elements as there are .TRUE. values in '%s' (%ld/%d)" msgid "%qs argument of %qs intrinsic at %L must provide at least as many elements as there are .TRUE. values in %qs (%ld/%d)" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须至少具有与‘%4$s’(%5$ld/%6$d)ä¸ .TRUE. å€¼ä¸€æ ·å¤šçš„å…ƒç´ " #: fortran/check.c:3493 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable" msgid "%qs argument of %qs intrinsic at %L must be of a dummy variable" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个哑元" #: fortran/check.c:3501 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable" msgid "%qs argument of %qs intrinsic at %L must be of an OPTIONAL dummy variable" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个 OPTIONAL å“‘å…ƒ" #: fortran/check.c:3520 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'" msgid "%qs argument of %qs intrinsic at %L must not be a subobject of %qs" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是‘%4$s’的å对象" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/check.c:3568 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -44053,43 +43744,36 @@ msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个å˜é‡" #: fortran/check.c:3672 #, fuzzy, gcc-internal-format -#| msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size" msgid "%<shape%> argument of %<reshape%> intrinsic at %L must be an array of constant size" msgstr "‘reshape’内建函数的‘shape’实å‚在%L处必须是大å°ä¸ºå¸¸é‡çš„数组" #: fortran/check.c:3682 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L is empty" msgid "%qs argument of %qs intrinsic at %L is empty" -msgstr "%3$L处内建‘%2$s’内建函数的‘%1$s’实å‚为空" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/check.c:3689 #, fuzzy, gcc-internal-format -#| msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements" msgid "%<shape%> argument of %<reshape%> intrinsic at %L has more than %d elements" msgstr "‘reshape’内建函数的‘shape’实å‚在%L处有多于 %d ä¸ªçš„å…ƒç´ " #: fortran/check.c:3706 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L has negative element (%d)" msgid "%qs argument of %qs intrinsic at %L has negative element (%d)" msgstr "%3$L处内建‘%2$s’内建函数的‘%1$s’实å‚æœ‰è´Ÿçš„å…ƒç´ (%4$d)" #: fortran/check.c:3746 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L has wrong number of elements (%d/%d)" msgid "%qs argument of %qs intrinsic at %L has wrong number of elements (%d/%d)" msgstr "%3$L处‘%2$s’内建函数的‘%1$s’实å‚çš„å…ƒç´ æ•°é”™è¯¯(%4$d/%5$d)" #: fortran/check.c:3764 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L has out-of-range dimension (%d)" msgid "%qs argument of %qs intrinsic at %L has out-of-range dimension (%d)" msgstr "%3$L处内建‘%2$s’内建函数的‘%1$s’实å‚维数越界(%4$d)" #: fortran/check.c:3773 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L has invalid permutation of dimensions (dimension '%d' duplicated)" msgid "%qs argument of %qs intrinsic at %L has invalid permutation of dimensions (dimension %<%d%> duplicated)" msgstr "%3$L处‘%2$s’内建函数的‘%1$s’实å‚ç»´æ•°ç½®æ¢æ— 效(ç»´æ•°%4$dé‡å¤)" @@ -44105,23 +43789,21 @@ msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是 %4$s" #: fortran/check.c:3836 fortran/check.c:3855 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be of an extensible type" msgid "%qs argument of %qs intrinsic at %L must be of an extensible type" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须具有å¯æ‰©å±•ç±»åž‹" #: fortran/check.c:3954 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "SELECTED_REAL_KIND with neither %<P%> nor %<R%> argument at %L" -msgstr "" +msgstr "Fortran 2008:SELECTED_REAL_KIND 与 neither‘P’nor‘R’å‚数于 %L" #: fortran/check.c:3985 #, fuzzy, gcc-internal-format msgid "%qs intrinsic with RADIX argument at %L" -msgstr "Fortran 2003:%2$L处的‘%1$s’内建函数有 KIND 实å‚" +msgstr "%L处内建 REPEAT çš„ NCOPIES 实å‚是负的" #: fortran/check.c:4020 #, fuzzy, gcc-internal-format -#| msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array" msgid "%<source%> argument of %<shape%> intrinsic at %L must not be an assumed size array" msgstr "‘shape’内建函数的‘source’实å‚在%L处ä¸èƒ½æ˜¯å‡å®šå¤§å°çš„数组" @@ -44211,14 +43893,14 @@ msgid "Argument CPTR at %L to C_F_PROCPOINTER shall have the type TYPE(C_FUNPTR) msgstr "" #: fortran/check.c:4418 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Argument FPTR at %L to C_F_PROCPOINTER shall be a procedure pointer" -msgstr "" +msgstr "实际å‚数到‘%s’于 %L 必须是 polymorphic" #: fortran/check.c:4425 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Argument FPTR at %L to C_F_PROCPOINTER shall not be coindexed" -msgstr "" +msgstr "实际å‚数到‘%s’于 %L 必须是 polymorphic" #: fortran/check.c:4431 #, gcc-internal-format, gfc-internal-format @@ -44243,7 +43925,7 @@ msgstr "" #: fortran/check.c:4474 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Noninteroperable procedure at %L to C_FUNLOC" -msgstr "%2$L处的用户è¿ç®—符‘%1$s’必须是一个 FUNCTION" +msgstr "%2$C处的过程‘%1$s’已ç»åœ¨%3$L处被定义" #: fortran/check.c:4488 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -44261,9 +43943,9 @@ msgid "Argument X at %L to C_LOC shall have either the POINTER or the TARGET att msgstr "%C处的组件必须有 POINTER 属性" #: fortran/check.c:4513 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Argument X at %L to C_LOC shall be not be a zero-sized string" -msgstr "" +msgstr "å‚数‘S’的最近的于 %L ä¸åº”该是零" #: fortran/check.c:4522 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -44271,9 +43953,9 @@ msgid "Argument at %L to C_LOC shall not be polymorphic" msgstr "‘%s’的实å‚在%L处必须是一个指针" #: fortran/check.c:4529 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Noninteroperable array at %L as argument to C_LOC: %s" -msgstr "" +msgstr "缺少å‚数“%sâ€ï¼Œåœ¨è°ƒç”¨â€œ%sâ€æ—¶ï¼Œä½äºŽ %L" #: fortran/check.c:4540 #, gcc-internal-format, gfc-internal-format @@ -44283,7 +43965,7 @@ msgstr "" #: fortran/check.c:4545 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Array section at %L to C_LOC" -msgstr "%L 处 DATA è¯å¥ä¸æœ‰éžå¸¸é‡æ•°ç»„部分" +msgstr "%C处 EQUIVALENCE ä¸çš„数组引用ä¸èƒ½æ˜¯ä¸ªæ•°ç»„段" #: fortran/check.c:4573 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -44292,13 +43974,11 @@ msgstr "%2$L处 %1$s 内建函数缺少实å‚" #: fortran/check.c:4586 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d" msgid "%qs argument of %qs intrinsic at %L must be less than rank %d" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’秩必须å°äºŽ %4$d" #: fortran/check.c:4605 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L is not a valid dimension index" msgid "%qs argument of %qs intrinsic at %L is not a valid dimension index" msgstr "%3$L处‘%2$s’内建函数的‘%1$s’实å‚ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„维数索引" @@ -44308,9 +43988,9 @@ msgid "%s argument to IMAGE_INDEX must be a rank one array at %L" msgstr "‘%s’的实å‚在%L处必须是一个指针" #: fortran/check.c:4879 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "The number of array elements of the SUB argument to IMAGE_INDEX at %L shall be %d (corank) not %d" -msgstr "" +msgstr "æ•°ç»„å…ƒç´ æ•°é‡çš„åå‚数到 IMAGE_INDEX 于 %L 应该是 %d (corank) æ— æ³• %d" #: fortran/check.c:4912 #, gcc-internal-format, gfc-internal-format @@ -44318,14 +43998,14 @@ msgid "DISTANCE= argument to NUM_IMAGES at %L" msgstr "" #: fortran/check.c:4925 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "FAILED= argument to NUM_IMAGES at %L" -msgstr "" +msgstr "铸型å‚数到空值必è¦é¡¹äºŽ %L" #: fortran/check.c:4948 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "DIM argument without COARRAY argument not allowed for THIS_IMAGE intrinsic at %L" -msgstr "" +msgstr "DIM å‚æ•°è€Œæ— éœ€æ•°ç»„å‚æ•°ä¸å…许用于 THIS_IMAGE intrinsic 于 %L" #: fortran/check.c:4955 #, gcc-internal-format, gfc-internal-format @@ -44334,18 +44014,16 @@ msgstr "" #: fortran/check.c:4966 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Unexpected junk in formal argument list at %C" msgid "Unexpected DIM argument with noncoarray argument at %L" -msgstr "%C处形å‚列表ä¸æœ‰éžé¢„期的垃圾å—符" +msgstr "%L处实å‚维数必须具有 INTEGER 类型" #: fortran/check.c:4984 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "DISTANCE= argument to THIS_IMAGE at %L" -msgstr "" +msgstr "%Lå¤„æŒ‰å€¼ä¼ é€’çš„å®žå‚ä¸å…·æœ‰æ•°å—类型" #: fortran/check.c:5064 #, fuzzy, gcc-internal-format -#| msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s" msgid "%<MOLD%> argument of %<TRANSFER%> intrinsic at %L must not be %s" msgstr "%L处‘TRANSER’内建函数的‘MOLD’å‚æ•°ä¸èƒ½æ˜¯ %s" @@ -44356,19 +44034,16 @@ msgstr "%L处内建 TRANSFER 有部分未定义的结果:æºå°ºå¯¸ %ld < ç»“æž #: fortran/check.c:5214 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar" msgid "%qs argument of %qs intrinsic at %L must have the same rank as %qs or be a scalar" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$sâ€™å¿…é¡»æ˜¯æ ‡é‡æˆ–者具有与‘%4$sâ€™ä¸€æ ·çš„ç§©" #: fortran/check.c:5227 #, fuzzy, gcc-internal-format -#| msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape." msgid "%qs and %qs arguments of %qs intrinsic at %L must have identical shape." msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实å‚必须有相åŒçš„外形。" #: fortran/check.c:5485 fortran/check.c:5517 #, fuzzy, gcc-internal-format -#| msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)" msgid "Size of %qs argument of %qs intrinsic at %L too small (%i/%i)" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’的大å°å¤ªå°(%4$i/%5$i)" @@ -44399,13 +44074,11 @@ msgstr "%L处 NEAREST 的第二个å‚æ•°ä¸èƒ½ä¸º 0" #: fortran/check.c:5828 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)" msgid "%qs argument of %qs intrinsic at %L must be of a kind not wider than the default kind (%d)" msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’的ç§åˆ«å¿…é¡»ä¸èƒ½æ¯”默认ç§åˆ«(%4$d)宽" #: fortran/check.c:6180 fortran/check.c:6188 #, fuzzy, gcc-internal-format -#| msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL" msgid "%qs argument of %qs intrinsic at %L must be INTEGER or LOGICAL" msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须为 INTEGER 或 LOGICAL" @@ -44415,35 +44088,31 @@ msgid "Intrinsic function NULL at %L cannot be an actual argument to STORAGE_SIZ msgstr "" #: fortran/class.c:614 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Assumed size polymorphic objects or components, such as that at %C, have not yet been implemented" -msgstr "" +msgstr "å‡è®¾çš„å¤§å° polymorphic 对象或æˆåˆ†ï¼Œåƒæ˜¯è¯¥äºŽ %C, 尚未被实现" #. Since the extension field is 8 bit wide, we can only have #. up to 255 extension levels. #: fortran/class.c:725 fortran/decl.c:7810 #, fuzzy, gcc-internal-format -#| msgid "Maximum extension level reached with type '%s' at %L" msgid "Maximum extension level reached with type %qs at %L" msgstr "%2$L处类型‘%1$s’达到了最大的扩展级别" #: fortran/class.c:2761 fortran/class.c:2835 #, fuzzy, gcc-internal-format -#| msgid "'%s' of '%s' is PRIVATE at %L" msgid "%qs of %qs is PRIVATE at %L" -msgstr "‘%2$s’的‘%1$s’在%3$L处是 PRIVATE" +msgstr "%qs必须与%qs一起使用" #: fortran/cpp.c:465 #, fuzzy, gcc-internal-format -#| msgid "To enable preprocessing, use -cpp" msgid "To enable preprocessing, use %<-cpp%>" -msgstr "欲å¯ç”¨é¢„处ç†ï¼Œè¯·ä½¿ç”¨ -cpp" +msgstr "å¯ç”¨ä¼ 统预处ç†" #: fortran/cpp.c:563 fortran/cpp.c:574 fortran/cpp.c:681 #, fuzzy, gcc-internal-format -#| msgid "opening output file %s: %s" msgid "opening output file %qs: %s" -msgstr "æ£æ‰“开输出文件 %s:%s" +msgstr "打开输出文件 %s:%m" #: fortran/data.c:65 #, gcc-internal-format, gfc-internal-format @@ -44478,7 +44147,7 @@ msgstr "%L处数æ®å…ƒç´ 高于数组上é™" #: fortran/data.c:327 fortran/data.c:493 #, fuzzy, gcc-internal-format msgid "re-initialization of %qs at %L" -msgstr "扩展:‘%s’é‡åˆå§‹åŒ–于 %L" +msgstr "(在%qsçš„åˆå§‹åŒ–附近)" #: fortran/data.c:693 #, gcc-internal-format @@ -44487,7 +44156,6 @@ msgstr "" #: fortran/decl.c:287 #, fuzzy, gcc-internal-format -#| msgid "Host associated variable '%s' may not be in the DATA statement at %C" msgid "Host associated variable %qs may not be in the DATA statement at %C" msgstr "%2$C处主机相关的å˜é‡â€˜%1$s’ä¸èƒ½å‡ºçŽ°åœ¨ DATA è¯å¥ä¸" @@ -44498,7 +44166,6 @@ msgstr "扩展:DATA è¯å¥ä¸å¯¹å…¬å…±å—å˜é‡â€˜%s’在%C处åˆå§‹åŒ–" #: fortran/decl.c:405 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C" msgid "Symbol %qs must be a PARAMETER in DATA statement at %C" msgstr "%2$C处 DATA è¯å¥ä¸ç¬¦å·â€˜%1$s’必须是一个 PARAMETER" @@ -44530,7 +44197,7 @@ msgstr "%C处错误的 INTENT è§„æ ¼" #: fortran/decl.c:708 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "deferred type parameter at %C" -msgstr "Fortran 2003:%C 处的类型é™å®šè¿‡ç¨‹" +msgstr "%C处é‡å¤çš„ DEFERRED è¯å¥" #: fortran/decl.c:745 #, gcc-internal-format, gfc-internal-format @@ -44540,7 +44207,7 @@ msgstr "%C处函数å‚数属性ä¸æœ‰å†²çª" #: fortran/decl.c:771 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Old-style character length at %C" -msgstr "已过时:%C处的旧å¼å—符长度" +msgstr "%C处å—ç¬¦é•¿åº¦è§„æ ¼è¯æ³•é”™è¯¯" #: fortran/decl.c:802 #, gcc-internal-format, gfc-internal-format @@ -44564,7 +44231,6 @@ msgstr "过程‘%s’在%C处具有显å¼æŽ¥å£ï¼Œå› æ¤ä¸èƒ½æœ‰åœ¨%L处声明 #: fortran/decl.c:1016 #, fuzzy, gcc-internal-format -#| msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable" msgid "Procedure %qs at %L must have the BIND(C) attribute to be C interoperable" msgstr "%2$L处的过程‘%1$s’必须有属性æ‰èƒ½ä¸Ž C 互æ“作" @@ -44585,7 +44251,6 @@ msgstr "%2$L处å˜é‡â€˜%1$s’是 BIND(C) 过程‘%3$s’的å‚æ•°ï¼Œä½†å®ƒä¸ #: fortran/decl.c:1072 #, fuzzy, gcc-internal-format -#| msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)" msgid "Character argument %qs at %L must be length 1 because procedure %qs is BIND(C)" msgstr "%2$L处å—符å‚数‘%1$s’长度必须为 1ï¼Œå› ä¸ºè¿‡ç¨‹â€˜%3$s’是 BIND(C)" @@ -44621,7 +44286,6 @@ msgstr "%2$L处å‡å®šå¤–形数组‘%1$s’ä¸èƒ½æ˜¯%4$L处过程‘%3$s’的å #: fortran/decl.c:1209 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)" msgid "Variable %qs in common block %qs at %C must be declared with a C interoperable kind since common block %qs is BIND(C)" msgstr "%3$C处公共å—‘%2$s’ä¸çš„å˜é‡â€˜%1$s’必须被声明为与 C å¯äº’æ“作的ç§åˆ«ï¼Œå› 为公共å—‘%4$s’是 BIND(C)" @@ -44637,7 +44301,6 @@ msgstr "%Lå¤„çš„æ•°ç»„æž„é€ å‡½æ•°çš„ CHARACTER å…ƒç´ å¿…é¡»æœ‰ç›¸åŒçš„长度(% #: fortran/decl.c:1349 #, fuzzy, gcc-internal-format -#| msgid "Initializer not allowed for PARAMETER '%s' at %C" msgid "Initializer not allowed for PARAMETER %qs at %C" msgstr "PARAMETER‘%s’在%C处ä¸å…许有åˆå§‹å€¼è®¾å®š" @@ -44648,7 +44311,6 @@ msgstr "%L处 PARAMETER 缺少åˆå§‹å€¼è®¾å®š" #: fortran/decl.c:1369 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' at %C with an initializer already appears in a DATA statement" msgid "Variable %qs at %C with an initializer already appears in a DATA statement" msgstr "%2$C处有åˆå§‹å€¼è®¾å®šçš„å˜é‡â€˜%1$s’已ç»å‡ºçŽ°åœ¨ä¸€ä¸ª DATA è¯å¥ä¸" @@ -44705,18 +44367,17 @@ msgstr "%C处对指针的åˆå§‹åŒ–ä¸å…许出现在 PURE 过程ä¸" #: fortran/decl.c:1777 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Error in pointer initialization at %C" -msgstr "%C处过程指针组件è¯æ³•é”™è¯¯" +msgstr "%C处对指针的åˆå§‹åŒ–ä¸å…许出现在 PURE 过程ä¸" #: fortran/decl.c:1784 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "non-NULL pointer initialization at %C" -msgstr "Fortran 2003:%C处的的 FINAL 过程声明" +msgstr "%C处的 NULL() åˆå§‹åŒ–有æ§ä¹‰" #: fortran/decl.c:1807 #, fuzzy, gcc-internal-format -#| msgid "Function name '%s' not allowed at %C" msgid "Function name %qs not allowed at %C" -msgstr "函数å‘%s’ä¸å…许出现在%C处" +msgstr "%C 处的 ABSTRACT INTERFACE çš„ BIND(C)上ä¸å…许有 NAME" #: fortran/decl.c:1874 #, fuzzy, gcc-internal-format @@ -44734,14 +44395,14 @@ msgid "Duplicate array spec for Cray pointee at %C" msgstr "%C处 Cray 指针é‡å¤æŒ‡å®šäº†æ•°ç»„" #: fortran/decl.c:1957 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Couldn't set pointee array spec." -msgstr "" +msgstr "%C处 Cray 指针é‡å¤æŒ‡å®šäº†æ•°ç»„" #: fortran/decl.c:2020 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Old-style initialization at %C" -msgstr "扩展:%C处旧å¼çš„åˆå§‹åŒ–" +msgstr "åˆ›å»ºæ—§é£Žæ ¼è¡¨æ ¼" #: fortran/decl.c:2025 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -44755,9 +44416,8 @@ msgstr "%C处的åˆå§‹åŒ–ä¸æ˜¯ä¸ºæŒ‡é’ˆå˜é‡å‡†å¤‡çš„" #: fortran/decl.c:2055 #, fuzzy, gcc-internal-format -#| msgid "Pointer initialization at %C requires '=>', not '='" msgid "Pointer initialization at %C requires %<=>%>, not %<=%>" -msgstr "在%C处的指针åˆå§‹åŒ–需è¦â€˜=>’,而ä¸æ˜¯â€˜=’" +msgstr "%C处的åˆå§‹åŒ–ä¸æ˜¯ä¸ºæŒ‡é’ˆå˜é‡å‡†å¤‡çš„" #: fortran/decl.c:2064 fortran/decl.c:7959 #, gcc-internal-format, gfc-internal-format @@ -44837,18 +44497,18 @@ msgstr "%C处使用到的 BYTE ç±»åž‹åœ¨ç›®æ ‡æœºä¸Šä¸å¯ç”¨" #: fortran/decl.c:2652 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Assumed type at %C is not allowed for components" -msgstr "%L处上下文ä¸ä¸å…è®¸ä½¿ç”¨æŒ‰å€¼ä¼ é€’çš„å®žå‚" +msgstr "%C处 TYPE ä¸çš„组件必须先于 CONTAINS" #: fortran/decl.c:2655 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Assumed type at %C" -msgstr "" +msgstr "%C处éžé¢„期的 TYPE IS è¯å¥" #: fortran/decl.c:2678 fortran/decl.c:2709 fortran/decl.c:2738 #: fortran/decl.c:2917 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "TYPE with intrinsic-type-spec at %C" -msgstr "Fortran 2003:%C处的 VOLATILE 属性" +msgstr "%Cå¤„ç±»åž‹æŒ‡å®šæ— æ•ˆ" #: fortran/decl.c:2734 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -44858,19 +44518,18 @@ msgstr "扩展:‘%s’é‡åˆå§‹åŒ–于 %L" #: fortran/decl.c:2808 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "CLASS statement at %C" -msgstr "Fortran 2003:%C处的 CLASS è¯å¥" +msgstr "未定义 C++ 基类" #: fortran/decl.c:2843 fortran/decl.c:2856 fortran/decl.c:3301 #: fortran/decl.c:3309 #, fuzzy, gcc-internal-format -#| msgid "Type name '%s' at %C is ambiguous" msgid "Type name %qs at %C is ambiguous" -msgstr "%2$C处的类型å‘%1$s’有æ§ä¹‰" +msgstr "%C处 TYPE 定义ä¸çš„æ§ä¹‰ç¬¦å·" #: fortran/decl.c:2871 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Type name '%s' at %C conflicts with previously declared entity at %L, which has the same name" -msgstr "" +msgstr "类型å称‘%s’于 %C 冲çªä¸Žåœ¨ä¹‹å‰å£°æ˜Žçš„实体于 %L, 该项有åŒå" #: fortran/decl.c:2984 #, gcc-internal-format, gfc-internal-format @@ -44894,7 +44553,6 @@ msgstr "%C处 IMPLICIT è¯å¥ä¸çš„å—æ¯å¿…须按åºæŽ’列" #: fortran/decl.c:3151 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "SAVE statement at %C follows blanket SAVE statement" msgid "IMPLICIT statement at %C following an IMPLICIT NONE (type) statement" msgstr "%C处 SAVE è¯å¥è·Ÿéšç©ºç™½ SAVE è¯å¥" @@ -44911,7 +44569,7 @@ msgstr "%C处 IMPORT è¯å¥åªå…许出现在接å£ä½“ä¸" #: fortran/decl.c:3272 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "IMPORT statement at %C" -msgstr "%C处 IMPLICIT è¯å¥ä¸ºç©º" +msgstr "%C处 IMPORT è¯å¥åªå…许出现在接å£ä½“ä¸" #: fortran/decl.c:3286 #, gcc-internal-format, gfc-internal-format @@ -44920,13 +44578,11 @@ msgstr "%C处需è¦æœ‰å实体列表" #: fortran/decl.c:3315 #, fuzzy, gcc-internal-format -#| msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist." msgid "Cannot IMPORT %qs from host scoping unit at %C - does not exist." msgstr "ä¸èƒ½ä»Ž%2$C处主机作用域å•å…ƒ IMPORT‘%1$s’- ä¸å˜åœ¨ã€‚" #: fortran/decl.c:3322 #, fuzzy, gcc-internal-format -#| msgid "'%s' is already IMPORTed from host scoping unit at %C." msgid "%qs is already IMPORTed from host scoping unit at %C" msgstr "‘%s’已ç»ä»Ž%C处主机作用域å•å…ƒå¯¼å…¥ã€‚" @@ -44938,7 +44594,7 @@ msgstr "%C处的 IMPORT è¯å¥è¯æ³•é”™è¯¯" #: fortran/decl.c:3664 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Missing codimension specification at %C" -msgstr "%C处没有指定维数" +msgstr "%Cå¤„æ²¡æœ‰ç»´æ•°è§„æ ¼" #: fortran/decl.c:3666 #, gcc-internal-format, gfc-internal-format @@ -44953,7 +44609,7 @@ msgstr "é‡å¤çš„ %s 属性,ä½äºŽ %L" #: fortran/decl.c:3768 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ALLOCATABLE attribute at %C in a TYPE definition" -msgstr "Fortran 2003:%C处的 ALLOCATABLE 属性出现在 TYPE 定义ä¸" +msgstr "%L处的属性ä¸å…许出现在 TYPE 定义ä¸" #: fortran/decl.c:3777 #, gcc-internal-format, gfc-internal-format @@ -44963,7 +44619,7 @@ msgstr "%L处的属性ä¸å…许出现在 TYPE 定义ä¸" #: fortran/decl.c:3795 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Attribute %s at %L in a TYPE definition" -msgstr "Fortran 2003:属性 %s 在%L处出现在 TYPE 定义ä¸" +msgstr "%L处的属性ä¸å…许出现在 TYPE 定义ä¸" #: fortran/decl.c:3805 #, gcc-internal-format, gfc-internal-format @@ -44973,12 +44629,12 @@ msgstr "%2$L处的 %1$s 属性ä¸å…许出现在模å—è§„æ ¼è¯´æ˜Žä»¥å¤–" #: fortran/decl.c:3819 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ASYNCHRONOUS attribute at %C" -msgstr "Fortran 2003:%C处的 ASYNCHRONOUS 属性" +msgstr "%C处 ASYNCHRONOUS è¯å¥è¯æ³•é”™è¯¯" #: fortran/decl.c:3830 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "CONTIGUOUS attribute at %C" -msgstr "Fortran 2003:%C处的 PROTECT 属性" +msgstr "%C处需è¦ç»‘定属性" #: fortran/decl.c:3875 fortran/decl.c:6974 #, gcc-internal-format, gfc-internal-format @@ -44988,17 +44644,17 @@ msgstr "%C处的 PROTECTED ä»…å…许出现在模å—è§„æ ¼è¯´æ˜Žéƒ¨åˆ†å†…" #: fortran/decl.c:3881 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "PROTECTED attribute at %C" -msgstr "Fortran 2003:%C处的 PROTECT 属性" +msgstr "%C处 PROTECTED è¯å¥è¯æ³•é”™è¯¯" #: fortran/decl.c:3910 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "VALUE attribute at %C" -msgstr "Fortran 2003:%C处的 VALUE 属性" +msgstr "%L处指定了é‡å¤çš„ VALUE 属性" #: fortran/decl.c:3917 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "VOLATILE attribute at %C" -msgstr "Fortran 2003:%C处的 VOLATILE 属性" +msgstr "%C处的 VOLATILE è¯å¥è¯æ³•é”™è¯¯" #: fortran/decl.c:3924 #, gcc-internal-format @@ -45012,55 +44668,46 @@ msgstr "%C处为å•ä¸ª NAME= æŒ‡å®šäº†å¤šä¸ªæ ‡è¯†ç¬¦" #: fortran/decl.c:4060 #, fuzzy, gcc-internal-format -#| msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable" msgid "Implicitly declared BIND(C) function %qs at %L may not be C interoperable" msgstr "%2$L处éšå¼å£°æ˜Žçš„ BIND(C) 函数‘%1$s’ä¸èƒ½ä¸Ž C 互æ“作" #: fortran/decl.c:4082 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)" msgid "Variable %qs in common block %qs at %L may not be a C interoperable kind though common block %qs is BIND(C)" msgstr "%3$L处的公共å—‘%2$s’ä¸çš„å˜é‡â€˜%1$s’å¯èƒ½ä¸æ˜¯ C 互æ“作ç§åˆ«ï¼Œå³ä½¿å…¬å…±å—‘%4$s’是 BIND(C)" #: fortran/decl.c:4091 #, fuzzy, gcc-internal-format -#| msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)" msgid "Type declaration %qs at %L is not C interoperable but it is BIND(C)" msgstr "%2$L处的类型声明‘%1$s’ä¸æ˜¯ä¸Ž C å¯äº’æ“作的,但它是个 BIND(C)" #: fortran/decl.c:4095 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)" msgid "Variable %qs at %L may not be a C interoperable kind but it is BIND(C)" msgstr "%2$L处的å˜é‡â€˜%1$sâ€™æ— æ³•ä¸Ž C 互æ“作但被声明为 BIND(C)" #: fortran/decl.c:4107 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global" msgid "Variable %qs in common block %qs at %L cannot be declared with BIND(C) since it is not a global" msgstr "%3$L处的公共å—‘%2$s’ä¸çš„å˜é‡â€˜%1$s’ä¸èƒ½è¢«å£°æ˜Žä¸º BIND(C)ï¼Œå› ä¸ºå®ƒä¸æ˜¯å…¨å±€çš„" #: fortran/decl.c:4121 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes" msgid "Variable %qs at %L cannot have both the POINTER and BIND(C) attributes" msgstr "%2$L处å˜é‡â€˜%1$s’ä¸èƒ½æ—¢æœ‰ POINTER åˆæœ‰ BIND(C) 属性" #: fortran/decl.c:4129 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes" msgid "Variable %qs at %L cannot have both the ALLOCATABLE and BIND(C) attributes" msgstr "%2$L处å˜é‡â€˜%1$s’ä¸èƒ½æ—¢æœ‰ ALLOCATABLE åˆæœ‰ BIND(C) 属性" #: fortran/decl.c:4141 #, fuzzy, gcc-internal-format -#| msgid "Return type of BIND(C) function '%s' at %L cannot be an array" msgid "Return type of BIND(C) function %qs at %L cannot be an array" msgstr "%2$L处的BIND(C) 函数‘%1$s’ä¸èƒ½è¿”回一个数组" #: fortran/decl.c:4149 #, fuzzy, gcc-internal-format -#| msgid "Return type of BIND(C) function '%s' at %L cannot be a character string" msgid "Return type of BIND(C) function %qs at %L cannot be a character string" msgstr "%2$L处的BIND(C) 函数‘%1$s’ä¸èƒ½è¿”回一个å—符串" @@ -45068,7 +44715,6 @@ msgstr "%2$L处的BIND(C) 函数‘%1$s’ä¸èƒ½è¿”回一个å—符串" #. just because of this. #: fortran/decl.c:4160 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'" msgid "Symbol %qs at %L is marked PRIVATE but has been given the binding label %qs" msgstr "%2$L处符å·â€˜%1$sâ€™è¢«æ ‡è®°ä¸º PRIVATE 但是已ç»ç»™å®šç»‘å®šæ ‡å·â€˜%3$s’" @@ -45084,14 +44730,13 @@ msgstr "%Cå¤„çš„å±žæ€§è§„æ ¼è¯´æ˜Žè¯å¥ç¼ºå°‘实体或公共å—å" #: fortran/decl.c:4286 #, fuzzy, gcc-internal-format -#| msgid "missing number" msgid "Missing symbol" -msgstr "缺少数å—" +msgstr "%s:%d: 缺少新的符å·å称" #: fortran/decl.c:4315 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "BIND(C) statement at %C" -msgstr "%C处 IMPLICIT è¯å¥ä¸ºç©º" +msgstr "%C处的 BIND(C) ä¸ä¸å…许有绑定å" #: fortran/decl.c:4393 #, gcc-internal-format, gfc-internal-format @@ -45106,23 +44751,22 @@ msgstr "%C处数æ®å£°æ˜Žè¯æ³•é”™è¯¯" #: fortran/decl.c:4498 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "IMPURE procedure at %C" -msgstr "Fortran 2003:%C处的 PROCEDURE è¯å¥" +msgstr "åˆå§‹åŒ–ä¸å…许出现在%C处的 PURE 过程ä¸" #: fortran/decl.c:4510 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "PURE and IMPURE must not appear both at %C" -msgstr "" +msgstr "PURE å’Œ IMPURE å¿…é¡»ä¸å‡ºçŽ°ä¸¤è€…于 %C" #: fortran/decl.c:4578 fortran/primary.c:1719 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Alternate-return argument at %C" -msgstr "%C处需è¦æ›¿ä»£çš„è¿”å›žæ ‡å·" +msgstr "%L ä¸å¸¦ * 虚å‚的替代返回" #: fortran/decl.c:4624 #, fuzzy, gcc-internal-format -#| msgid "Name '%s' at %C is the name of the procedure" msgid "Name %qs at %C is the name of the procedure" -msgstr "%2$C处的åå—‘%1$s’是一个过程的åå—" +msgstr "%C处期待模å—过程å" #: fortran/decl.c:4636 #, gcc-internal-format, gfc-internal-format @@ -45131,7 +44775,6 @@ msgstr "%C处形å‚列表ä¸æœ‰éžé¢„期的垃圾å—符" #: fortran/decl.c:4653 #, fuzzy, gcc-internal-format -#| msgid "Duplicate symbol '%s' in formal argument list at %C" msgid "Duplicate symbol %qs in formal argument list at %C" msgstr "符å·â€˜%s’在%C处的形å‚列表ä¸é‡å¤å‡ºçŽ°" @@ -45167,7 +44810,6 @@ msgstr "%C处的哑过程ä¸èƒ½æœ‰å¸¦æœ‰ NAME çš„ BIND(C) 属性" #: fortran/decl.c:5028 #, fuzzy, gcc-internal-format -#| msgid "Procedure '%s' at %L already has basic type of %s" msgid "Procedure %qs at %L already has basic type of %s" msgstr "符å·â€˜%s’在%L处已ç»æœ‰äº†åŸºæœ¬ç±»åž‹ %s" @@ -45178,9 +44820,8 @@ msgstr "%C处 PROCEDURE è¯å¥è¯æ³•é”™è¯¯" #: fortran/decl.c:5123 fortran/decl.c:8342 #, fuzzy, gcc-internal-format -#| msgid "Expected '::' after binding-attributes at %C" msgid "Expected %<::%> after binding-attributes at %C" -msgstr "%C处绑定属性åŽéœ€è¦â€˜::’" +msgstr "%C 处的泛型绑定åŽæœ‰åžƒåœ¾å—符" #: fortran/decl.c:5130 #, gcc-internal-format, gfc-internal-format @@ -45190,7 +44831,7 @@ msgstr "%Cå¤„éœ€è¦ NOPASS 或显å¼æŽ¥å£" #: fortran/decl.c:5134 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Procedure pointer component at %C" -msgstr "Fortran 2003:%C处的过程指针组件" +msgstr "%C处需è¦ä¸€ä¸ªç±»åž‹é™å®šçš„过程或过程指针组件" #: fortran/decl.c:5206 #, gcc-internal-format, gfc-internal-format @@ -45210,7 +44851,7 @@ msgstr "%C处 PROCEDURE è¯å¥è¯æ³•é”™è¯¯" #: fortran/decl.c:5302 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "PROCEDURE statement at %C" -msgstr "Fortran 2003:%C处的 PROCEDURE è¯å¥" +msgstr "%C处 PROCEDURE è¯å¥è¯æ³•é”™è¯¯" #: fortran/decl.c:5369 #, gcc-internal-format, gfc-internal-format @@ -45227,7 +44868,7 @@ msgstr "%L处的 BIND(C) 属性åªèƒ½ç”¨äºŽå˜é‡æˆ–公共å—" #: fortran/decl.c:5543 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ENTRY statement at %C" -msgstr "%C处 IMPLICIT è¯å¥ä¸ºç©º" +msgstr "%C处的 ENTRY è¯å¥ä¸èƒ½å‡ºçŽ°åœ¨ BLOCK DATA ä¸" #: fortran/decl.c:5552 #, gcc-internal-format, gfc-internal-format @@ -45286,9 +44927,8 @@ msgstr "%C处的 ENTRY è¯å¥ä¸èƒ½å‡ºçŽ°åœ¨åµŒå¥—çš„å程åºä¸" #: fortran/decl.c:5595 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Unexpected END statement at %C" msgid "Unexpected ENTRY statement at %C" -msgstr "%C处éžé¢„期的 END è¯å¥" +msgstr "%C处éžé¢„期的 CASE è¯å¥" #: fortran/decl.c:5609 #, gcc-internal-format, gfc-internal-format @@ -45302,9 +44942,8 @@ msgstr "%C 处 BIND(C) å‰ç¼ºå°‘è¦æ±‚的括å·" #: fortran/decl.c:5920 fortran/decl.c:5927 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Invalid C name in NAME= specifier at %C" msgid "Invalid C identifier in NAME= specifier at %C" -msgstr "%C处 NAME= é™å®šç¬¦ä¸ C åå—æ— æ•ˆ" +msgstr "%C处的åå—ä¸æœ‰éžæ³•å—符" #: fortran/decl.c:5967 #, gcc-internal-format, gfc-internal-format @@ -45313,7 +44952,6 @@ msgstr "%Cç»‘å®šæ ‡å·çš„ NAME= é™å®šç¬¦è¯æ³•é”™è¯¯" #: fortran/decl.c:5983 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "ASYNCHRONOUS= specifier at %L must be an initialization expression" msgid "NAME= specifier at %C should be a constant expression" msgstr "必须为%L处的 ASYNCHRONOUS= 指定一个åˆå§‹åŒ–表达å¼" @@ -45350,7 +44988,7 @@ msgstr "%C处éžé¢„期的 END è¯å¥" #: fortran/decl.c:6267 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "END statement instead of %s statement at %L" -msgstr "Fortran 2008:%C处 CONTAINS è¯å¥æ²¡æœ‰ FUNCTION 或 SUBROUTINE è¯å¥" +msgstr "%s è¯å¥åœ¨%C处ä¸èƒ½è·Ÿéš %s è¯å¥åœ¨%L处" #. We would have required END [something]. #: fortran/decl.c:6275 @@ -45361,7 +44999,7 @@ msgstr "éœ€è¦ %s è¯å¥åœ¨%L处" #: fortran/decl.c:6286 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Expecting %s statement at %L" -msgstr "éœ€è¦ %s è¯å¥ï¼ŒäºŽ %C" +msgstr "éœ€è¦ %s è¯å¥åœ¨%L处" #: fortran/decl.c:6304 #, fuzzy, gcc-internal-format @@ -45375,9 +45013,8 @@ msgstr "%C处需è¦ç»“æŸå" #: fortran/decl.c:6330 fortran/decl.c:6338 #, fuzzy, gcc-internal-format -#| msgid "Expected label '%s' for %s statement at %C" msgid "Expected label %qs for %s statement at %C" -msgstr "需è¦æ ‡å·â€˜%s’,为 %s è¯å¥ï¼ŒäºŽ %C" +msgstr "%2$Cå¤„éœ€è¦ %1$s è¯å¥" #: fortran/decl.c:6435 #, gcc-internal-format, gfc-internal-format @@ -45392,7 +45029,7 @@ msgstr "%2$L处在åˆå§‹åŒ–åŽä¸º %1$s 指定了维数" #: fortran/decl.c:6451 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Missing array specification at %L in CODIMENSION statement" -msgstr "%L处的 DIMENSION è¯å¥ç¼ºå°‘数组指定" +msgstr "%L处的 DIMENSION è¯å¥ç¼ºå°‘æ•°ç»„è§„æ ¼" #: fortran/decl.c:6460 #, gcc-internal-format, gfc-internal-format @@ -45406,9 +45043,8 @@ msgstr "%C处å˜é‡åˆ—表ä¸æœ‰éžé¢„期的垃圾å—符" #: fortran/decl.c:6595 #, fuzzy, gcc-internal-format -#| msgid "Expected '(' at %C" msgid "Expected %<(%> at %C" -msgstr "在%C处需è¦â€˜(’" +msgstr "在%C处需è¦â€œ,â€" #: fortran/decl.c:6609 fortran/decl.c:6649 #, gcc-internal-format, gfc-internal-format @@ -45431,9 +45067,9 @@ msgid "Expected \",\" at %C" msgstr "在%C处需è¦â€œ,â€" #: fortran/decl.c:6674 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Couldn't set Cray pointee array spec." -msgstr "" +msgstr "%C处 Cray 指针é‡å¤æŒ‡å®šäº†æ•°ç»„" #: fortran/decl.c:6698 #, gcc-internal-format, gfc-internal-format @@ -45442,9 +45078,8 @@ msgstr "在%C处需è¦â€œ)â€" #: fortran/decl.c:6710 #, fuzzy, gcc-internal-format -#| msgid "Expected \",\" or end of statement at %C" msgid "Expected %<,%> or end of statement at %C" -msgstr "在%C处需è¦â€œ,â€æˆ–è¯å¥å°¾" +msgstr "%C处éžé¢„期的 END è¯å¥" #: fortran/decl.c:6736 #, gcc-internal-format, gfc-internal-format @@ -45464,7 +45099,7 @@ msgstr "%C处的 Cray æŒ‡é’ˆå£°æ˜Žéœ€è¦ -fcray-pointer æ ‡è®°" #: fortran/decl.c:6826 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "CONTIGUOUS statement at %C" -msgstr "Fortran 2003:%C处的 IMPORT è¯å¥" +msgstr "%C处的è¯å¥æ ‡å·ä¸ºé›¶" #: fortran/decl.c:6924 #, gcc-internal-format, gfc-internal-format @@ -45479,7 +45114,7 @@ msgstr "%2$C处的 .%1$s. è¿ç®—ç¬¦çš„è®¿é—®è§„æ ¼è¯´æ˜Žå·²ç»è¢«æŒ‡å®š" #: fortran/decl.c:6980 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "PROTECTED statement at %C" -msgstr "Fortran 2003:%C处的 PROTECTED è¯å¥" +msgstr "%C处 PROTECTED è¯å¥è¯æ³•é”™è¯¯" #: fortran/decl.c:7018 #, gcc-internal-format, gfc-internal-format @@ -45544,7 +45179,7 @@ msgstr "VALUE ä¸èƒ½ç”¨åœ¨%C处 BLOCK 内" #: fortran/decl.c:7274 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "VALUE statement at %C" -msgstr "Fortran 2003:%C处的 VALUE è¯å¥" +msgstr "%C处 VALUE è¯å¥è¯æ³•é”™è¯¯" #: fortran/decl.c:7312 #, gcc-internal-format, gfc-internal-format @@ -45554,12 +45189,12 @@ msgstr "%C处 VALUE è¯å¥è¯æ³•é”™è¯¯" #: fortran/decl.c:7323 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "VOLATILE statement at %C" -msgstr "Fortran 2003:%C处的 VOLATILE è¯å¥" +msgstr "%C处的 VOLATILE è¯å¥è¯æ³•é”™è¯¯" #: fortran/decl.c:7346 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Specifying VOLATILE for coarray variable %qs at %C, which is use-/host-associated" -msgstr "" +msgstr "指定易å˜çš„用于 coarray å˜é‡â€˜%s’于 %C, 该项是 use-/ host-associated" #: fortran/decl.c:7371 #, gcc-internal-format, gfc-internal-format @@ -45569,7 +45204,7 @@ msgstr "%C处的 VOLATILE è¯å¥è¯æ³•é”™è¯¯" #: fortran/decl.c:7382 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ASYNCHRONOUS statement at %C" -msgstr "Fortran 2003:%C处的 ASYNCHRONOUS è¯å¥" +msgstr "%C处 ASYNCHRONOUS è¯å¥è¯æ³•é”™è¯¯" #: fortran/decl.c:7422 #, gcc-internal-format, gfc-internal-format @@ -45598,19 +45233,16 @@ msgstr "%2$C处符å·â€˜%1$s’已ç»ä¸Žä¸»æœºç›¸å…³è”" #: fortran/decl.c:7568 #, fuzzy, gcc-internal-format -#| msgid "'%s' in EXTENDS expression at %C is not a derived type" msgid "%qs in EXTENDS expression at %C is not a derived type" -msgstr "%2$C处 EXTENDS 表达å¼ä¸çš„‘%1$s’ä¸æ˜¯ä¸€ä¸ªæ´¾ç”Ÿç±»åž‹" +msgstr "C++ ä¸å…许在%qs表达å¼ä¸å®šä¹‰ç±»åž‹" #: fortran/decl.c:7575 #, fuzzy, gcc-internal-format -#| msgid "'%s' cannot be extended at %C because it is BIND(C)" msgid "%qs cannot be extended at %C because it is BIND(C)" msgstr "%2$C 处‘%1$s’ä¸èƒ½è¢«æ‰©å±•ï¼Œå› 为它是 BIND(C)" #: fortran/decl.c:7582 #, fuzzy, gcc-internal-format -#| msgid "'%s' cannot be extended at %C because it is a SEQUENCE type" msgid "%qs cannot be extended at %C because it is a SEQUENCE type" msgstr "%2$C 处‘%1$s’ä¸èƒ½è¢«æ‰©å±•ï¼Œå› 为它是 SEQUENCE 类型" @@ -45627,7 +45259,7 @@ msgstr "%C处的派生类型在模å—è§„æ ¼è¯´æ˜Žéƒ¨åˆ†å†…åªèƒ½æ˜¯ PUBLIC" #: fortran/decl.c:7638 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ABSTRACT type at %C" -msgstr "%2$L处使用了 ABSTRACT 类型‘%1$s’" +msgstr "%q+Dçš„æŠ½è±¡ç±»åž‹æ— æ•ˆ" #: fortran/decl.c:7702 #, gcc-internal-format, gfc-internal-format @@ -45636,19 +45268,16 @@ msgstr "%C 在 TYPE 定义ä¸éœ€è¦ ::" #: fortran/decl.c:7713 #, fuzzy, gcc-internal-format -#| msgid "Type name '%s' at %C cannot be the same as an intrinsic type" msgid "Type name %qs at %C cannot be the same as an intrinsic type" msgstr "类型‘%s’(ä½äºŽ %C)ä¸èƒ½ä¸Žå†…建类型é‡å" #: fortran/decl.c:7723 #, fuzzy, gcc-internal-format -#| msgid "Derived type name '%s' at %C already has a basic type of %s" msgid "Derived type name %qs at %C already has a basic type of %s" msgstr "%2$C处的派生类型å“%1$sâ€å·²ç»æœ‰ä¸€ä¸ªåŸºæœ¬ç±»åž‹ %3$s" #: fortran/decl.c:7740 #, fuzzy, gcc-internal-format -#| msgid "Derived type definition of '%s' at %C has already been defined" msgid "Derived type definition of %qs at %C has already been defined" msgstr "%2$C处的派生类型‘%1$s’定义已ç»è¢«å®šä¹‰" @@ -45660,7 +45289,7 @@ msgstr "%C处 Cray 指针ä¸èƒ½æŒ‡å‘å‡å®šå¤–形数组" #: fortran/decl.c:7865 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ENUM and ENUMERATOR at %C" -msgstr "Fortran 2003:%C处的 ENUM å’Œ ENUMERATOR" +msgstr "C++ ç¦æ¢åœ¨èµ‹å€¼æ—¶è¿›è¡Œæžšä¸¾è½¬æ¢" #: fortran/decl.c:7897 #, gcc-internal-format, gfc-internal-format @@ -45734,15 +45363,13 @@ msgstr "%Cå¤„çš„è¿‡ç¨‹æŒ‡é’ˆç»„ä»¶éœ€è¦ POINTER 属性" #: fortran/decl.c:8300 #, fuzzy, gcc-internal-format -#| msgid "Interface-name expected after '(' at %C" msgid "Interface-name expected after %<(%> at %C" -msgstr "%C处‘(’åŽéœ€è¦æŽ¥å£å" +msgstr "%C 需è¦ä¸€ä¸ªæ— å接å£" #: fortran/decl.c:8306 #, fuzzy, gcc-internal-format -#| msgid "')' expected at %C" msgid "%<)%> expected at %C" -msgstr "在 %C 处需è¦â€˜)’" +msgstr "在%C处需è¦â€œ,â€" #: fortran/decl.c:8326 #, gcc-internal-format, gfc-internal-format @@ -45762,29 +45389,25 @@ msgstr "%C处需è¦ç»‘定å" #: fortran/decl.c:8358 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "PROCEDURE list at %C" -msgstr "Fortran 2003:%C处的 PROCEDURE è¯å¥" +msgstr "%C处需è¦å®žå‚列表" #: fortran/decl.c:8370 #, fuzzy, gcc-internal-format -#| msgid "'=> target' is invalid for DEFERRED binding at %C" msgid "%<=> target%> is invalid for DEFERRED binding at %C" -msgstr "‘=> target’对%C处的 DEFERRED ç»‘å®šè€Œè¨€æ— æ•ˆ" +msgstr "%C处必须为 DEFERRED 绑定指定接å£" #: fortran/decl.c:8376 #, fuzzy, gcc-internal-format -#| msgid "'::' needed in PROCEDURE binding with explicit target at %C" msgid "%<::%> needed in PROCEDURE binding with explicit target at %C" msgstr "%C处与显å¼ç›®æ ‡æ†ç»‘çš„ PROCEDURE ä¸éœ€è¦â€˜::’" #: fortran/decl.c:8386 #, fuzzy, gcc-internal-format -#| msgid "Expected binding target after '=>' at %C" msgid "Expected binding target after %<=>%> at %C" -msgstr "%C处‘=>’之åŽéœ€è¦ç»‘å®šç›®æ ‡" +msgstr "%C 处的泛型绑定åŽæœ‰åžƒåœ¾å—符" #: fortran/decl.c:8403 #, fuzzy, gcc-internal-format -#| msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT" msgid "Type %qs containing DEFERRED binding at %C is not ABSTRACT" msgstr "%2$Cå¤„åŒ…å« DEFERRED 绑定的类型‘%1$s’ä¸èƒ½æ˜¯ ABSTRACT" @@ -45800,9 +45423,8 @@ msgstr "%C处的 GENERIC 必须是在派生类型 CONTAINS 内" #: fortran/decl.c:8483 #, fuzzy, gcc-internal-format -#| msgid "Expected '::' at %C" msgid "Expected %<::%> at %C" -msgstr "在%C处需è¦â€˜::’" +msgstr "在%C处需è¦â€œ,â€" #: fortran/decl.c:8495 #, gcc-internal-format, gfc-internal-format @@ -45812,23 +45434,20 @@ msgstr "%C处需è¦æ³›åž‹å或è¿ç®—符æè¿°å" #: fortran/decl.c:8515 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Malformed GENERIC statement at %C" -msgstr "%C处 IMPLICIT è¯å¥ä¸ºç©º" +msgstr "%C处的 USE è¯å¥ç¼ºå°‘æ³›åž‹è§„æ ¼" #: fortran/decl.c:8526 #, fuzzy, gcc-internal-format -#| msgid "Expected '=>' at %C" msgid "Expected %<=>%> at %C" -msgstr "%C 处需è¦â€œ=>â€" +msgstr "在%C处需è¦â€œ,â€" #: fortran/decl.c:8568 #, fuzzy, gcc-internal-format -#| msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C" msgid "There's already a non-generic procedure with binding name %qs for the derived type %qs at %C" msgstr "%3$C处派生类型‘%2$s’已ç»æœ‰ä¸€ä¸ªç»‘定å为‘%1$s’的éžæ³›åž‹è¿‡ç¨‹" #: fortran/decl.c:8576 #, fuzzy, gcc-internal-format -#| msgid "Binding at %C must have the same access as already defined binding '%s'" msgid "Binding at %C must have the same access as already defined binding %qs" msgstr "%C处的绑定必须有与已ç»å®šä¹‰çš„绑定‘%s’相åŒçš„访问æƒé™" @@ -45839,7 +45458,6 @@ msgstr "%C处需è¦ç‰¹å®šçš„绑定å" #: fortran/decl.c:8635 #, fuzzy, gcc-internal-format -#| msgid "'%s' already defined as specific binding for the generic '%s' at %C" msgid "%qs already defined as specific binding for the generic %qs at %C" msgstr "%3$C处‘%1$s’已ç»å®šä¹‰ä¸ºæ³›åž‹çš„‘%2$s’特定的é™å®š" @@ -45870,21 +45488,18 @@ msgstr "%C处期待模å—过程å" #: fortran/decl.c:8738 #, fuzzy, gcc-internal-format -#| msgid "Expected \",\" at %C" msgid "Expected %<,%> at %C" msgstr "在%C处需è¦â€œ,â€" #: fortran/decl.c:8744 #, fuzzy, gcc-internal-format -#| msgid "Unknown procedure name \"%s\" at %C" msgid "Unknown procedure name %qs at %C" -msgstr "%2$C的过程å“%1$sâ€æœªçŸ¥" +msgstr "未知的 C++ ç¼–ç å称" #: fortran/decl.c:8757 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %C is already defined as FINAL procedure!" msgid "%qs at %C is already defined as FINAL procedure!" -msgstr "%2$C 处的‘%1$s’已ç»è¢«å®šä¹‰ä¸º FINALï¼" +msgstr "%2$C处的过程‘%1$s’已ç»åœ¨%3$L处被定义" #: fortran/decl.c:8827 #, gcc-internal-format, gfc-internal-format @@ -45897,9 +45512,9 @@ msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C" msgstr "%C处 !GCC$ ATTRIBUTES è¯å¥ä¸çš„è¯æ³•é”™è¯¯" #: fortran/dependency.c:192 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "are_identical_variables: Bad type" -msgstr "" +msgstr "试图åˆå¹¶ç›¸åŒçš„常é‡å’Œå¸¸å˜é‡" #. We are told not to check dependencies. #. We do it, however, and issue a warning in case we find one. @@ -45917,13 +45532,12 @@ msgid "show_array_spec(): Unhandled array shape type." msgstr "" #: fortran/dump-parse-tree.c:258 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "show_array_ref(): Unknown array reference" -msgstr "" +msgstr "å½¢å‚%qD包å«äº†æŒ‡å‘具有未知边界数组%qT的引用" #: fortran/dump-parse-tree.c:290 #, fuzzy, gcc-internal-format -#| msgid "gfc_trans_code(): Bad statement code" msgid "show_ref(): Bad component code" msgstr "gfc_trans_code():错误的è¯å¥ä»£ç " @@ -45939,7 +45553,6 @@ msgstr "" #: fortran/dump-parse-tree.c:2479 #, fuzzy, gcc-internal-format -#| msgid "gfc_trans_code(): Bad statement code" msgid "show_code_node(): Bad statement code" msgstr "gfc_trans_code():错误的è¯å¥ä»£ç " @@ -45965,14 +45578,13 @@ msgstr "" #: fortran/expr.c:347 #, fuzzy, gcc-internal-format -#| msgid "gfc_trans_code(): Bad statement code" msgid "gfc_copy_expr(): Bad expr node" msgstr "gfc_trans_code():错误的è¯å¥ä»£ç " #: fortran/expr.c:494 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "free_expr0(): Bad expr type" -msgstr "" +msgstr "常é‡è¡¨è¾¾å¼ä¸ç±»åž‹é”™è¯¯" #: fortran/expr.c:973 #, gcc-internal-format @@ -46041,7 +45653,6 @@ msgstr "%L处的表达å¼éœ€è¦æ•°å—æ“作数" #: fortran/expr.c:2218 #, fuzzy, gcc-internal-format -#| msgid "Invalid initialization expression for ALLOCATABLE component '%s' in structure constructor at %L" msgid "Invalid initialization expression for ALLOCATABLE component %qs in structure constructor at %L" msgstr "%2$Lå¤„ç»“æž„æž„é€ å‡½æ•°ä¸ ALLOCATABLE 组件‘%1$s’的åˆå§‹åŒ–表达å¼æ— 效" @@ -46052,120 +45663,101 @@ msgstr "%2$L处常é‡è¡¨è¾¾å¼ä¸æœ‰å‡å®šå—符长度å˜é‡â€˜%1$s’" #: fortran/expr.c:2395 #, fuzzy, gcc-internal-format -#| msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression" msgid "transformational intrinsic %qs at %L is not permitted in an initialization expression" -msgstr "%2$L处的转æ¢å†…建函数‘%1$s’ä¸å…许用在åˆå§‹åŒ–表达å¼ä¸" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/expr.c:2426 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Evaluation of nonstandard initialization expression at %L" -msgstr "扩展:%L处求éžæ ‡é‡åˆå§‹åŒ–表达å¼çš„值" +msgstr "必须为%L处的 ASYNCHRONOUS= 指定一个åˆå§‹åŒ–表达å¼" #: fortran/expr.c:2495 -#, fuzzy, gcc-internal-format -#| msgid "Function '%s' in initialization expression at %L must be an intrinsic function" +#, gcc-internal-format msgid "Function %qs in initialization expression at %L must be an intrinsic function" -msgstr "%2$L处åˆå§‹åŒ–表达å¼ä¸çš„函数‘%1$s’必须是一个内建函数" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/expr.c:2507 #, fuzzy, gcc-internal-format -#| msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression" msgid "Intrinsic function %qs at %L is not permitted in an initialization expression" -msgstr "%2$L处内建函数‘%1$s’ä¸å…许出现在在åˆå§‹åŒ–表达å¼ä¸" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/expr.c:2542 #, fuzzy, gcc-internal-format -#| msgid "PARAMETER '%s' is used at %L before its definition is complete" msgid "PARAMETER %qs is used at %L before its definition is complete" msgstr "%2$L处 PARAMETER‘%1$s’在其定义完全之å‰è¢«ä½¿ç”¨" #: fortran/expr.c:2562 #, fuzzy, gcc-internal-format -#| msgid "Assumed size array '%s' at %L is not permitted in an initialization expression" msgid "Assumed size array %qs at %L is not permitted in an initialization expression" msgstr "%2$L处的å‡å®šå¤§å°æ•°ç»„‘%1$s’ä¸èƒ½ç”¨åœ¨åˆå§‹åŒ–表达å¼ä¸" #: fortran/expr.c:2568 #, fuzzy, gcc-internal-format -#| msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression" msgid "Assumed shape array %qs at %L is not permitted in an initialization expression" msgstr "%2$L处å‡å®šå¤–形数组‘%1$s’ä¸èƒ½ç”¨åœ¨åˆå§‹åŒ–表达å¼ä¸" #: fortran/expr.c:2574 #, fuzzy, gcc-internal-format -#| msgid "Deferred array '%s' at %L is not permitted in an initialization expression" msgid "Deferred array %qs at %L is not permitted in an initialization expression" msgstr "%2$L处的延迟数组‘%1$s’ä¸å…许出现在åˆå§‹åŒ–表达å¼ä¸" #: fortran/expr.c:2580 #, fuzzy, gcc-internal-format -#| msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression" msgid "Array %qs at %L is a variable, which does not reduce to a constant expression" msgstr "%2$L处数组‘%1$s’是个å˜é‡ï¼Œä¸èƒ½è¢«å½’约为常é‡è¡¨è¾¾å¼" #: fortran/expr.c:2590 #, fuzzy, gcc-internal-format -#| msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression" msgid "Parameter %qs at %L has not been declared or is a variable, which does not reduce to a constant expression" msgstr "å‚数’%s在%L处尚未声明或者是一个ä¸èƒ½è¢«å½’约为常é‡è¡¨è¾¾å¼çš„å˜é‡" #: fortran/expr.c:2640 #, fuzzy, gcc-internal-format -#| msgid "Expected expression type" msgid "check_init_expr(): Unknown expression type" msgstr "需è¦è¡¨è¾¾å¼ç±»åž‹" #: fortran/expr.c:2743 #, fuzzy, gcc-internal-format -#| msgid "Specification function '%s' at %L cannot be a statement function" msgid "Specification function %qs at %L cannot be a statement function" msgstr "%2$Lå¤„è§„æ ¼å‡½æ•°â€˜%1$s’ä¸èƒ½æ˜¯ä¸€ä¸ªè¯å¥å‡½æ•°" #: fortran/expr.c:2750 #, fuzzy, gcc-internal-format -#| msgid "Specification function '%s' at %L cannot be an internal function" msgid "Specification function %qs at %L cannot be an internal function" msgstr "%2$Lå¤„è§„æ ¼å‡½æ•°â€˜%1$s’ä¸èƒ½æ˜¯ä¸€ä¸ªå†…部函数" #: fortran/expr.c:2757 #, fuzzy, gcc-internal-format -#| msgid "Specification function '%s' at %L must be PURE" msgid "Specification function %qs at %L must be PURE" -msgstr "%2$Lå¤„è§„æ ¼å‡½æ•°â€˜%1$s’必须为 PURE" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/expr.c:2764 #, fuzzy, gcc-internal-format -#| msgid "Specification function '%s' at %L cannot be RECURSIVE" msgid "Specification function %qs at %L cannot be RECURSIVE" msgstr "%2$Lå¤„è§„æ ¼å‡½æ•°â€˜%1$s’ä¸èƒ½æ˜¯ RECURSIVE" #: fortran/expr.c:2898 #, fuzzy, gcc-internal-format -#| msgid "Dummy argument '%s' not allowed in expression at %L" msgid "Dummy argument %qs not allowed in expression at %L" msgstr "虚å‚‘%s’ä¸èƒ½å‡ºçŽ°åœ¨%L处的表达å¼ä¸" #: fortran/expr.c:2905 #, fuzzy, gcc-internal-format -#| msgid "Dummy argument '%s' at %L cannot be OPTIONAL" msgid "Dummy argument %qs at %L cannot be OPTIONAL" -msgstr "%2$L处的虚å‚‘%1$s’ä¸èƒ½æ˜¯ OPTIONAL" +msgstr "%L处è¿ç®—符接å£çš„第一个å‚æ•°ä¸èƒ½æ˜¯å¯é€‰çš„" #: fortran/expr.c:2912 #, fuzzy, gcc-internal-format -#| msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)" msgid "Dummy argument %qs at %L cannot be INTENT(OUT)" msgstr "%2$L处的‘%1$s’虚å‚ä¸èƒ½æ˜¯ INTENT(OUT)" #: fortran/expr.c:2943 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' cannot appear in the expression at %L" msgid "Variable %qs cannot appear in the expression at %L" msgstr "å˜é‡â€˜%s’ä¸èƒ½å‡ºçŽ°åœ¨%L处的表达å¼ä¸" #: fortran/expr.c:2974 #, fuzzy, gcc-internal-format -#| msgid "Expected expression type" msgid "check_restricted(): Unknown expression type" msgstr "需è¦è¡¨è¾¾å¼ç±»åž‹" @@ -46176,9 +45768,8 @@ msgstr "%L处的表达å¼å¿…须具有 INTEGER 类型而ä¸æ˜¯ %s" #: fortran/expr.c:3006 #, fuzzy, gcc-internal-format -#| msgid "Function '%s' at %L must be PURE" msgid "Function %qs at %L must be PURE" -msgstr "函数‘%s’在%L处必须为 PURE" +msgstr "%L处内建è¿ç®—符接å£å¿…须是一个 FUNCTION" #: fortran/expr.c:3015 #, gcc-internal-format, gfc-internal-format @@ -46196,10 +45787,9 @@ msgid "Different shape for %s at %L on dimension %d (%d and %d)" msgstr "%2$L处 %1$s 在第 %3$d 维上外形ä¸åŒ(%4$d å’Œ %5$d)" #: fortran/expr.c:3155 -#, fuzzy, gcc-internal-format -#| msgid "'%s' at %L is not a VALUE" +#, gcc-internal-format msgid "%qs at %L is not a VALUE" -msgstr "‘%s’在%L处ä¸æ˜¯ä¸€ä¸ª VALUE" +msgstr "%2$L 处的 %1$qs ä¸æ˜¯ä¸€ä¸ª VALUE" #: fortran/expr.c:3162 #, gcc-internal-format, gfc-internal-format @@ -46224,34 +45814,30 @@ msgstr "%L处赋值å³æ‰‹è¾¹å‡ºçŽ°å€¼ä¸º POINTER 的函数" #: fortran/expr.c:3201 #, fuzzy, gcc-internal-format msgid "BOZ literal at %L used to initialize non-integer variable %qs" -msgstr "扩展:%L处 BOZ å—é¢å€¼è¢«ç”¨æ¥åˆå§‹åŒ–éžæ•´æ•°å˜é‡â€˜%s’" +msgstr "扩展:%L处 BOZ å—é¢é‡è¢«ç”¨æ¥åˆå§‹åŒ–éžæ•´æ•°å˜é‡â€˜%s’" #: fortran/expr.c:3206 fortran/resolve.c:9308 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX" -msgstr "扩展:在 %L处的 BOZ å—é¢å€¼åœ¨ä¸€ä¸ª DATA è¯å¥ä¹‹å¤–并且也在 INT/REAL/DBLE/CMPLX 之外" +msgstr "扩展:在 %L处的 BOZ å—é¢é‡åœ¨ä¸€ä¸ª DATA è¯å¥ä¹‹å¤–并且也在 INT/REAL/DBLE/CMPLX 之外" #: fortran/expr.c:3217 fortran/resolve.c:9319 #, fuzzy, gcc-internal-format -#| msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'" msgid "BOZ literal at %L is bitwise transferred non-integer symbol %qs" -msgstr "%L处 BOZ å—é¢å€¼æŒ‰ä½è½¬æ¢åŽæ˜¯éžæ•´æ•°ç¬¦å·â€˜%s’" +msgstr "%L处 BOZ å—é¢é‡æŒ‰ä½è½¬æ¢åŽæ˜¯éžæ•´æ•°ç¬¦å·â€˜%s’" #: fortran/expr.c:3225 fortran/resolve.c:9328 #, fuzzy, gcc-internal-format -#| msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check" msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "%L处按ä½è½¬æ¢ BOZ 时算术下溢。这一检查å¯ç”¨ -fno-range-check 选项ç¦ç”¨" #: fortran/expr.c:3229 fortran/resolve.c:9332 #, fuzzy, gcc-internal-format -#| msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check" msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "%L处按ä½è½¬æ¢ BOZ 时算术上溢。这一检查å¯ç”¨ -fno-range-check 选项ç¦ç”¨" #: fortran/expr.c:3233 fortran/resolve.c:9336 #, fuzzy, gcc-internal-format -#| msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check" msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option %<-fno-range-check%>" msgstr "%L处按ä½è½¬æ¢ BOZ 时产生算术 NaN。这一检查å¯ç”¨ -fno-range-check 选项ç¦ç”¨" @@ -46267,7 +45853,6 @@ msgstr "扩展:从 %s 到 %s,ä½äºŽ %L" #: fortran/expr.c:3283 #, fuzzy, gcc-internal-format -#| msgid "Conversion from %s to %s at %L" msgid "Conversion from %qs to %qs at %L" msgstr "从 %s 转æ¢åˆ° %s,ä½äºŽ %L" @@ -46283,13 +45868,11 @@ msgstr "%Lå¤„æŒ‡é’ˆèµ‹å€¼çš„ç›®æ ‡ä¸æ˜¯ä¸€ä¸ª POINTER" #: fortran/expr.c:3348 #, fuzzy, gcc-internal-format -#| msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure" msgid "%qs in the pointer assignment at %L cannot be an l-value since it is a procedure" msgstr "%2$L处指针赋值ä¸çš„‘%1$s’ä¸èƒ½æ˜¯ä¸€ä¸ªå·¦å€¼ï¼Œå› 为它是一个过程" #: fortran/expr.c:3371 #, fuzzy, gcc-internal-format -#| msgid "Expected bounds specification for '%s' at %L" msgid "Expected bounds specification for %qs at %L" msgstr "%2$L处‘%1$s’需è¦è¾¹ç•Œè§„æ ¼" @@ -46299,19 +45882,19 @@ msgid "Bounds specification for %qs in pointer assignment at %L" msgstr "Fortran 2003:%2$L处指针赋值è¯å¥ä¸â€˜%1$sâ€™çš„è¾¹ç•Œè§„æ ¼" #: fortran/expr.c:3389 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Lower bound has to be present at %L" -msgstr "" +msgstr "%L处数æ®å…ƒç´ 低于数组下é™" #: fortran/expr.c:3395 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Stride must not be present at %L" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’ä¸èƒ½ä¸ºå¯é€‰çš„" +msgstr "%L 零间隔éžæ³•" #: fortran/expr.c:3407 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Either all or none of the upper bounds must be specified at %L" -msgstr "" +msgstr "还是所有或没有任何上é™å¿…须被指定的于 %L" #: fortran/expr.c:3433 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -46330,26 +45913,23 @@ msgstr "è¯å¥å‡½æ•°â€˜%s’在%L处的过程指针赋值ä¸æ˜¯éžæ³•çš„" #: fortran/expr.c:3487 #, fuzzy, gcc-internal-format -#| msgid "Abstract interface '%s' is invalid in procedure pointer assignment at %L" msgid "Abstract interface %qs is invalid in procedure pointer assignment at %L" msgstr "抽象接å£â€˜%s’在%L处的过程指针赋值ä¸æ˜¯éžæ³•çš„" #: fortran/expr.c:3497 #, fuzzy, gcc-internal-format -#| msgid "Statement function '%s' is invalid in procedure pointer assignment at %L" msgid "Statement function %qs is invalid in procedure pointer assignment at %L" msgstr "è¯å¥å‡½æ•°â€˜%s’在%L处的过程指针赋值ä¸æ˜¯éžæ³•çš„" #: fortran/expr.c:3503 #, fuzzy, gcc-internal-format -#| msgid "Internal procedure '%s' is invalid in procedure pointer assignment at %L" msgid "Internal procedure %qs is invalid in procedure pointer assignment at %L" msgstr "内部过程‘%s’在%L处的过程指针赋值ä¸æ˜¯éžæ³•çš„" #: fortran/expr.c:3510 #, fuzzy, gcc-internal-format msgid "Intrinsic %qs at %L is invalid in procedure pointer assignment" -msgstr "内部过程‘%s’在%L处的过程指针赋值ä¸æ˜¯éžæ³•çš„" +msgstr "%L处过程指针赋值éžæ³•" #: fortran/expr.c:3518 #, fuzzy, gcc-internal-format @@ -46397,14 +45977,14 @@ msgid "Different ranks in pointer assignment at %L" msgstr "%L处指针赋值时秩ä¸åŒ" #: fortran/expr.c:3679 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Rank remapping target is smaller than size of the pointer (%ld < %ld) at %L" -msgstr "" +msgstr "分级é‡æ–°æ˜ å°„ç›®æ ‡æ˜¯å°äºŽå¤§å°çš„æŒ‡æ ‡ (%ld<%ld) 于 %L" #: fortran/expr.c:3692 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Rank remapping target must be rank 1 or simply contiguous at %L" -msgstr "" +msgstr "分级é‡æ–°æ˜ å°„ç›®æ ‡å¿…é¡»æ˜¯åˆ†çº§ 1 或仅需 contiguous 于 %L" #: fortran/expr.c:3696 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -46444,12 +46024,12 @@ msgstr "%L处数æ®ä¼ è¾“å…ƒç´ ä¸èƒ½æœ‰ POINTER 组件" #: fortran/expr.c:3806 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Pointer at %L in pointer assignment might outlive the pointer target" -msgstr "%L处计算转移 GOTO è¯å¥çš„选择表达å¼å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡æ•´æ•°è¡¨è¾¾å¼" +msgstr "%Lå¤„æŒ‡é’ˆèµ‹å€¼çš„ç›®æ ‡æ—¢ä¸æ˜¯ TARGET 也ä¸æ˜¯ POINTER" #: fortran/expr.c:3872 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Pointer initialization target at %L must not be ALLOCATABLE" -msgstr "%2$L处‘%1$sâ€™çš„ä¼ é€’å¯¹è±¡è™šå‚ä¸èƒ½æ˜¯ ALLOCATABLE" +msgstr "%L处的分é…对象必须是 ALLOCATABLE 或 POINTER" #: fortran/expr.c:3878 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -46462,9 +46042,9 @@ msgid "Pointer initialization target at %L must have the SAVE attribute" msgstr "%2$L 处的对象“%1$sâ€å¯¹äºŽæˆåˆ†çš„默认åˆå§‹åŒ–必须有 SAVE 属性," #: fortran/expr.c:3905 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Procedure pointer initialization target at %L may not be a procedure pointer" -msgstr "" +msgstr "%L处 PURE 过程ä¸æŒ‡é’ˆèµ‹å€¼ç›®æ ‡é”™è¯¯" #: fortran/expr.c:4793 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -46472,9 +46052,9 @@ msgid "Fortran 2008: Pointer functions in variable definition context (%s) at %L msgstr "Fortran 2003:%L处åˆå§‹åŒ–表达å¼ä¸éžæ•´æ•°æŒ‡æ•°" #: fortran/expr.c:4801 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Non-variable expression in variable definition context (%s) at %L" -msgstr "" +msgstr "Non-variable è¿ç®—å¼åœ¨ä¸å˜é‡å®šä¹‰è¯å¢ƒ (%s) 于 %L" #: fortran/expr.c:4809 #, fuzzy, gcc-internal-format @@ -46487,9 +46067,9 @@ msgid "%qs in variable definition context (%s) at %L is not a variable" msgstr "%L处的属性ä¸å…许出现在 TYPE 定义ä¸" #: fortran/expr.c:4829 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Non-POINTER in pointer association context (%s) at %L" -msgstr "" +msgstr "Non-POINTER 在ä¸æŒ‡æ ‡å…³è”è¯å¢ƒ (%s) 于 %L" #: fortran/expr.c:4842 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -46532,14 +46112,14 @@ msgid "%qs at %L associated to expression can not be used in a variable definiti msgstr "å˜é‡â€˜%s’ä¸èƒ½å‡ºçŽ°åœ¨%L处的表达å¼ä¸" #: fortran/expr.c:4986 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Associate-name '%s' can not appear in a variable definition context (%s) at %L because its target at %L can not, either" -msgstr "" +msgstr "Associate-name‘%sâ€™æ— æ³•å‡ºçŽ°åœ¨ä¸å˜é‡å®šä¹‰è¯å¢ƒ (%s) 于 %L å› ä¸ºå®ƒçš„ç›®æ ‡äºŽ %L æ— æ³•ï¼Œè¿˜æ˜¯" #: fortran/expr.c:5028 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Elements with the same value at %L and %L in vector subscript in a variable definition context (%s)" -msgstr "" +msgstr "‘%s’于 %L å…³è”的到è¿ç®—å¼æ— 法已用于å˜é‡å®šä¹‰è¯å¢ƒ (%s)" #: fortran/f95-lang.c:269 #, gcc-internal-format, gfc-internal-format @@ -46565,7 +46145,6 @@ msgstr "%2$L处函数‘%1$s’的返回值没有设置" #: fortran/frontend-passes.c:1656 #, fuzzy, gcc-internal-format -#| msgid "invalid operands in gimple comparison" msgid "illegal OP in optimize_comparison" msgstr "gimple 比较ä¸æ“ä½œæ•°æ— æ•ˆ" @@ -46611,14 +46190,13 @@ msgstr "è¯æ³•é”™è¯¯ï¼šåœ¨ %C处 INTERFACE è¯å¥åŽæœ‰åžƒåœ¾å—符" #: fortran/interface.c:222 #, fuzzy, gcc-internal-format -#| msgid "Dummy procedure '%s' at %C cannot have a generic interface" msgid "Dummy procedure %qs at %C cannot have a generic interface" msgstr "哑过程‘%s’在%C处ä¸èƒ½æœ‰æ³›åž‹æŽ¥å£" #: fortran/interface.c:255 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ABSTRACT INTERFACE at %C" -msgstr "Fortran 2003:%C处的 ABSTRACT INTERFACE" +msgstr "%C 处的 ABSTRACT INTERFACE çš„ BIND(C)上ä¸å…许有 NAME" #: fortran/interface.c:262 #, gcc-internal-format, gfc-internal-format @@ -46637,13 +46215,11 @@ msgstr "%C 需è¦ä¸€ä¸ªæ— å接å£" #: fortran/interface.c:319 #, fuzzy, gcc-internal-format -#| msgid "Expected 'END INTERFACE ASSIGNMENT (=)' at %C" msgid "Expected %<END INTERFACE ASSIGNMENT (=)%> at %C" -msgstr "%C处需è¦â€˜END INTERFACE ASSIGNMENT (=)’或è¯å¥å°¾" +msgstr "%C 需è¦ä¸€ä¸ªæ— å接å£" #: fortran/interface.c:350 #, fuzzy, gcc-internal-format -#| msgid "Expecting 'END INTERFACE OPERATOR (.%s.)' at %C" msgid "Expecting %<END INTERFACE OPERATOR (%s)%> at %C, " msgstr "需è¦â€˜END INTERFACE ASSIGNMENT (.%s.)’在%C处" @@ -46654,15 +46230,13 @@ msgstr "需è¦â€˜END INTERFACE ASSIGNMENT (%s)’在%C处" #: fortran/interface.c:367 #, fuzzy, gcc-internal-format -#| msgid "Expecting 'END INTERFACE OPERATOR (.%s.)' at %C" msgid "Expecting %<END INTERFACE OPERATOR (.%s.)%> at %C" msgstr "需è¦â€˜END INTERFACE ASSIGNMENT (.%s.)’在%C处" #: fortran/interface.c:378 #, fuzzy, gcc-internal-format -#| msgid "Expecting 'END INTERFACE %s' at %C" msgid "Expecting %<END INTERFACE %s%> at %C" -msgstr "%2$C处需è¦â€˜END INTERFACE %1$s’" +msgstr "éžé¢„期的 %s è¯å¥å‡ºçŽ°åœ¨%C处的 INTERFACE å—ä¸" #: fortran/interface.c:651 #, gcc-internal-format, gfc-internal-format @@ -46736,48 +46310,43 @@ msgstr "" #: fortran/interface.c:1579 #, fuzzy, gcc-internal-format -#| msgid "Procedure '%s' in %s at %L has no explicit interface" msgid "Procedure %qs in %s at %L has no explicit interface" msgstr "%3$L处 %2$s ä¸çš„过程‘%1$s’没有显å¼æŽ¥å£" #: fortran/interface.c:1582 #, fuzzy, gcc-internal-format -#| msgid "Procedure '%s' in %s at %L is neither function nor subroutine" msgid "Procedure %qs in %s at %L is neither function nor subroutine" msgstr "过程‘%s’(在 %s ä¸ï¼Œä½äºŽ %L) æ—¢ä¸æ˜¯å‡½æ•°ä¹Ÿä¸æ˜¯å进程" #: fortran/interface.c:1594 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "In %s at %L procedures must be either all SUBROUTINEs or all FUNCTIONs" -msgstr "" +msgstr "åœ¨ä¸ %s 于 %L 进程必须是还是所有副常å¼æˆ–所有函数" #: fortran/interface.c:1598 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "In %s at %L procedures must be all FUNCTIONs as the generic name is also the name of a derived type" -msgstr "" +msgstr "åœ¨ä¸ %s 于 %L 进程必须是所有函数作为通用å称也是å称的è¡ç”Ÿç±»åž‹" #: fortran/interface.c:1606 #, fuzzy, gcc-internal-format msgid "Internal procedure %qs in %s at %L" -msgstr "%3$L处 %2$s 分å¥ä¸ çš„Cray æŒ‡é’ˆç›®æ ‡â€˜%1$s’" +msgstr "%2$L处的 %1$s 过程已ç»è¢«å£°æ˜Žä¸º %3$s 过程" #: fortran/interface.c:1663 fortran/interface.c:1667 #, fuzzy, gcc-internal-format -#| msgid "Ambiguous interfaces '%s' and '%s' in %s at %L" msgid "Ambiguous interfaces %qs and %qs in %s at %L" msgstr "有æ§ä¹‰çš„接å£â€˜%s’和‘%s’在 %s ä¸ï¼Œä½äºŽ %L" #: fortran/interface.c:1671 #, fuzzy, gcc-internal-format -#| msgid "Although not referenced, '%s' has ambiguous interfaces at %L" msgid "Although not referenced, %qs has ambiguous interfaces at %L" msgstr "尽管没有被引用,%2$L处的‘%1$s’的接å£æœ‰æ§ä¹‰" #: fortran/interface.c:1705 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L is not a module procedure" msgid "%qs at %L is not a module procedure" -msgstr "%2$L处的‘%1$s’并éžä¸€ä¸ªæ¨¡å—过程" +msgstr "%L处内建过程ä¸èƒ½æ˜¯ MODULE PROCEDURE" #: fortran/interface.c:1909 #, fuzzy, gcc-internal-format @@ -46797,7 +46366,7 @@ msgstr "%2$L处实å‚‘%1$s’秩ä¸åŒ¹é…(%3$d å’Œ %4$d)" #: fortran/interface.c:1924 #, fuzzy, gcc-internal-format msgid "Rank mismatch in argument %qs at %L (rank-%d and rank-%d)" -msgstr "%2$L处实å‚‘%1$s’秩ä¸åŒ¹é…(%3$d å’Œ %4$d)" +msgstr "%L处数组引用ä¸ç§©ä¸åŒ¹é…(%d/%d)" #: fortran/interface.c:1967 #, gcc-internal-format, gfc-internal-format @@ -46806,9 +46375,8 @@ msgstr "%L过程å‚æ•°æ— æ•ˆ" #: fortran/interface.c:1975 fortran/interface.c:2002 #, fuzzy, gcc-internal-format -#| msgid "Interface mismatch in dummy procedure '%s' at %L: %s" msgid "Interface mismatch in dummy procedure %qs at %L: %s" -msgstr "哑过程‘%s’接å£åœ¨%L处ä¸åŒ¹é…:%s" +msgstr "%L处过程指针赋值ä¸æŽ¥å£ä¸åŒ¹é…:%s" #: fortran/interface.c:2013 #, fuzzy, gcc-internal-format @@ -46817,7 +46385,6 @@ msgstr "‘%s’的实å‚在%L处必须是一个指针" #: fortran/interface.c:2028 #, fuzzy, gcc-internal-format -#| msgid "Type mismatch in argument '%s' at %L; passed %s to %s" msgid "Type mismatch in argument %qs at %L; passed %s to %s" msgstr "%2$L处实å‚‘%1$s’类型ä¸åŒ¹é…;将 %3$s ä¼ é€’ç»™ %4$s" @@ -46857,24 +46424,24 @@ msgid "Actual argument to %qs at %L must be simply contiguous" msgstr "‘%s’的实å‚在%L处必须是一个指针" #: fortran/interface.c:2142 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Actual argument to non-INTENT(INOUT) dummy %qs at %L, which is LOCK_TYPE or has a LOCK_TYPE component" -msgstr "" +msgstr "实际å‚数到 non-INTENT (INOUT) 虚设‘%s’于 %L, 该项是 LOCK_TYPE 或有 LOCK_TYPE æˆåˆ†" #: fortran/interface.c:2160 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array without CONTIGUOUS attribute - as actual argument at %L is not simply contiguous and both are ASYNCHRONOUS or VOLATILE" -msgstr "" +msgstr "虚å‚数‘%sâ€™å¿…é¡»æ˜¯æŒ‡æ ‡æˆ– assumed-shape æ•°ç»„è€Œæ— éœ€ CONTIGUOUS 属性 - 作为实际å‚数于 %L ä¸æ˜¯ä»…需 contiguous 和两者是异æ¥æˆ–易å˜çš„" #: fortran/interface.c:2173 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument %qs" -msgstr "" +msgstr "ä¼ é€’ coarray 于 %L 到 allocatableã€noncoarray,å«ä¹‰ (出) 虚å‚数‘%s’" #: fortran/interface.c:2180 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Passing coarray at %L to allocatable, noncoarray dummy argument %qs, which is invalid if the allocation status is modified" -msgstr "" +msgstr "ä¼ é€’ coarray 于 %L 到 allocatable,noncoarray 虚å‚数‘%sâ€™ï¼Œè¯¥é¡¹æ— æ•ˆå¦‚æžœé…é¢çŠ¶æ€è¢«å·²ä¿®æ”¹" #: fortran/interface.c:2243 #, fuzzy, gcc-internal-format @@ -46893,19 +46460,16 @@ msgstr "Fortran 2003:%2$Lå¤„æ ‡é‡ CHARACTER 实å‚带有数组虚å‚‘%1$s†#: fortran/interface.c:2272 #, fuzzy, gcc-internal-format -#| msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L" msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs at %L" msgstr "Fortran 2003:%2$Lå¤„æ ‡é‡ CHARACTER 实å‚带有数组虚å‚‘%1$s’" #: fortran/interface.c:2599 #, fuzzy, gcc-internal-format -#| msgid "Keyword argument '%s' at %L is not in the procedure" msgid "Keyword argument %qs at %L is not in the procedure" -msgstr "%2$L处关键å—实å‚‘%1$s’ä¸åœ¨è¿‡ç¨‹é‡Œ" +msgstr "%L过程å‚æ•°æ— æ•ˆ" #: fortran/interface.c:2607 #, fuzzy, gcc-internal-format -#| msgid "Keyword argument '%s' at %L is already associated with another actual argument" msgid "Keyword argument %qs at %L is already associated with another actual argument" msgstr "%2$L处关键å—å‚数‘%1$s’已ç»ä¸Žå¦ä¸€ä¸ªå®žå‚相关è”" @@ -46930,9 +46494,9 @@ msgid "Unexpected NULL() intrinsic at %L to dummy %qs" msgstr "对å进程å‘%s’éžé¢„期的使用,在%C处" #: fortran/interface.c:2667 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs" -msgstr "" +msgstr "Fortran 2008:ç©ºæŒ‡æ ‡äºŽ %L 到 non-pointer 虚设‘%s’" #: fortran/interface.c:2691 #, gcc-internal-format, gfc-internal-format @@ -46941,61 +46505,53 @@ msgstr "" #: fortran/interface.c:2713 #, fuzzy, gcc-internal-format -#| msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L" msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument %qs at %L" msgstr "%4$L处实å‚和指针或å¯åˆ†é…虚å‚‘%3$s’之间å—符长度失é…(%1$ld/%2$ld)" #: fortran/interface.c:2721 #, fuzzy, gcc-internal-format -#| msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L" msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument %qs at %L" msgstr "%4$L处实å‚å’Œå‡å®šå¤–形虚å‚‘%3$s’之间å—符长度失é…(%1$ld/%2$ld)" #: fortran/interface.c:2735 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Actual argument at %L to allocatable or pointer dummy argument %qs must have a deferred length type parameter if and only if the dummy has one" -msgstr "" +msgstr "实际å‚数于 %L 到 allocatable æˆ–æŒ‡æ ‡è™šå‚数‘%s’必须有已推迟长度类型å‚数如果和åªæœ‰å¦‚果虚设有一个" #: fortran/interface.c:2752 #, fuzzy, gcc-internal-format -#| msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L" msgid "Character length of actual argument shorter than of dummy argument %qs (%lu/%lu) at %L" msgstr "%4$L处实å‚çš„å—符长度çŸäºŽè™šå‚‘%1$s’(%2$lu/%3$lu)" #: fortran/interface.c:2757 #, fuzzy, gcc-internal-format -#| msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L" msgid "Actual argument contains too few elements for dummy argument %qs (%lu/%lu) at %L" msgstr "%4$L处实å‚包å«çš„å…ƒç´ å¯¹äºŽè™šå‚‘%1$s’(%2$lu/%3$lu)而言太少" #: fortran/interface.c:2776 #, fuzzy, gcc-internal-format -#| msgid "Expected a procedure pointer for argument '%s' at %L" msgid "Expected a procedure pointer for argument %qs at %L" -msgstr "å‚数‘%s’在 %L 处需è¦ä¸€ä¸ªè¿‡ç¨‹æŒ‡é’ˆ" +msgstr "%L处 FINAL 过程的å‚æ•°å¿…é¡»ä¸æ˜¯ POINTER" #: fortran/interface.c:2792 #, fuzzy, gcc-internal-format -#| msgid "Expected a procedure for argument '%s' at %L" msgid "Expected a procedure for argument %qs at %L" -msgstr "å‚数‘%s’在%L处需è¦ä¸€ä¸ªè¿‡ç¨‹" +msgstr "%L过程å‚æ•°æ— æ•ˆ" #: fortran/interface.c:2806 #, fuzzy, gcc-internal-format -#| msgid "Actual argument for '%s' cannot be an assumed-size array at %L" msgid "Actual argument for %qs cannot be an assumed-size array at %L" msgstr "‘%s’的实å‚在%L处必须ä¸æ˜¯ä¸€ä¸ªå‡å®šå¤§å°çš„数组" #: fortran/interface.c:2815 #, fuzzy, gcc-internal-format -#| msgid "Actual argument for '%s' must be a pointer at %L" msgid "Actual argument for %qs must be a pointer at %L" -msgstr "‘%s’的实å‚在%L处必须是一个指针" +msgstr "%L处 FINAL 过程的å‚æ•°å¿…é¡»ä¸æ˜¯ POINTER" #: fortran/interface.c:2825 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs" -msgstr "" +msgstr "Fortran 2008:Non-pointer 实际å‚数于 %L åˆ°æŒ‡æ ‡è™šè®¾â€˜%s’" #: fortran/interface.c:2835 #, fuzzy, gcc-internal-format @@ -47008,9 +46564,9 @@ msgid "Coindexed actual argument at %L to allocatable dummy %qs requires INTENT( msgstr "%L处的实å‚必须是å¯å®šä¹‰çš„ï¼Œå› ä¸ºè™šå‚‘%s’是 INTENT = OUT/INOUT" #: fortran/interface.c:2862 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy %qs has neither ASYNCHRONOUS nor VOLATILE" -msgstr "" +msgstr "Coindexed 异æ¥æˆ–易å˜çš„实际å‚数于 %L 需求该虚设‘%s’有 neither å¼‚æ¥ nor 易å˜çš„" #: fortran/interface.c:2876 #, fuzzy, gcc-internal-format @@ -47024,9 +46580,8 @@ msgstr "‘%s’的实å‚在%L处必须是一个指针" #: fortran/interface.c:2898 #, fuzzy, gcc-internal-format -#| msgid "Actual argument for '%s' must be ALLOCATABLE at %L" msgid "Actual argument for %qs must be ALLOCATABLE at %L" -msgstr "‘%s’的实å‚在%L处必须是 ALLOCATABLE çš„" +msgstr "%L处 FINAL 过程的å‚æ•°å¿…é¡»ä¸æ˜¯ ALLOCATABLE" #: fortran/interface.c:2927 #, fuzzy, gcc-internal-format @@ -47035,27 +46590,23 @@ msgstr "%L处带有å‘é‡ä¸‹æ ‡çš„数组节实际å‚数与虚å‚‘%s’的 INTE #: fortran/interface.c:2945 #, fuzzy, gcc-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-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" msgstr "%L处å‡å®šå¤–形的实å‚由于 VOLATILE 属性而与éžå‡å®šå¤–形虚å‚‘%s’ä¸å…¼å®¹" #: fortran/interface.c:2957 #, fuzzy, gcc-internal-format -#| msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute" msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument %qs due to VOLATILE attribute" msgstr "%L处数组节实å‚由于 VOLATILE 属性而与éžå‡å®šå¤–形虚å‚‘%s’ä¸å…¼å®¹" #: fortran/interface.c:2976 #, fuzzy, gcc-internal-format -#| msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute" msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument %qs due to VOLATILE attribute" msgstr "%L处指针数组的实å‚由于 VOLATILE 属性è¦æ±‚一个å‡å®šå¤–形或指针数组虚å‚‘%s’" #: fortran/interface.c:3006 #, fuzzy, gcc-internal-format -#| msgid "Missing actual argument for argument '%s' at %L" msgid "Missing actual argument for argument %qs at %L" -msgstr "å‚数‘%s’在%L处缺少实å‚" +msgstr "%C处的实å‚数列ä¸ç¼ºå°‘关键å—å" #: fortran/interface.c:3128 #, gcc-internal-format @@ -47074,7 +46625,6 @@ msgstr "" #: fortran/interface.c:3193 #, fuzzy, gcc-internal-format -#| msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L" msgid "Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) argument %qs at %L" msgstr "%5$L处åŒæ ·çš„实际å‚数与 INTENT(%1$s) 实å‚‘%2$s’和 INTENT(%3$s)实å‚‘%4$s’相关è”" @@ -47105,13 +46655,11 @@ msgstr "%L处的过程å‚数对于 PURE è¿‡ç¨‹æ˜¯å±€éƒ¨çš„è€Œè¢«ä¼ é€’ç»™ä¸€ä¸ª #: fortran/interface.c:3304 fortran/interface.c:3314 #, fuzzy, gcc-internal-format -#| msgid "Procedure '%s' called at %L is not explicitly declared" msgid "Procedure %qs called at %L is not explicitly declared" msgstr "%2$L处调用的过程‘%1$s’ä¸æ˜¯æ˜¾å¼å£°æ˜Žçš„" #: fortran/interface.c:3310 #, fuzzy, gcc-internal-format -#| msgid "Procedure '%s' called with an implicit interface at %L" msgid "Procedure %qs called with an implicit interface at %L" msgstr "调用过程‘%s’带éšå¼æŽ¥å£ï¼Œä½äºŽ %L" @@ -47132,7 +46680,6 @@ msgstr "%2$L处的自动å—符长度函数‘%1$s’必须有一个显å¼çš„接å #: fortran/interface.c:3350 #, fuzzy, gcc-internal-format -#| msgid "Keyword argument requires explicit interface for procedure '%s' at %L" msgid "Keyword argument requires explicit interface for procedure %qs at %L" msgstr "%2$L处过程‘%1$s’的关键å—å‚æ•°è¦æ±‚显å¼çš„接å£" @@ -47147,9 +46694,9 @@ msgid "Actual argument of LOCK_TYPE or with LOCK_TYPE component at %L requires a msgstr "%3$L处‘%2$s’的虚å‚‘%1$s’应该命å为‘%4$s’以匹é…被覆盖过程的相应å‚æ•°" #: fortran/interface.c:3381 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "MOLD argument to NULL required at %L" -msgstr "" +msgstr "铸型å‚数到空值必è¦é¡¹äºŽ %L" #: fortran/interface.c:3389 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -47158,26 +46705,23 @@ msgstr "%2$L处过程‘%1$s’的关键å—å‚æ•°è¦æ±‚显å¼çš„接å£" #: fortran/interface.c:3427 #, fuzzy, gcc-internal-format -#| msgid "Procedure pointer component '%s' called with an implicit interface at %L" msgid "Procedure pointer component %qs called with an implicit interface at %L" msgstr "%2$L调用过程指针组件‘%1$s’时有éšå¼æŽ¥å£" #: fortran/interface.c:3438 #, fuzzy, gcc-internal-format -#| msgid "Keyword argument requires explicit interface for procedure pointer component '%s' at %L" msgid "Keyword argument requires explicit interface for procedure pointer component %qs at %L" msgstr "%2$L处过程指针组件‘%1$s’的关键å—实å‚需è¦æ˜¾å¼æŽ¥å£" #: fortran/interface.c:3522 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "MOLD= required in NULL() argument at %L: Ambiguity between specific functions %s and %s" -msgstr "" +msgstr "铸型=å¿…è¦é¡¹åœ¨ä¸ç©ºå€¼() å‚数于 %L:模棱两å¯ä»‹äºŽç‰¹å®šçš„函数 %s å’Œ %s" #: fortran/interface.c:3592 #, fuzzy, gcc-internal-format -#| msgid "%q+D aliased to undefined symbol %qE" msgid "Unable to find symbol %qs" -msgstr "%q+D是未定义符å·%qE的别å" +msgstr "在类%qsä¸æ‰¾ä¸åˆ°å¯æº¢å‡ºçš„寄å˜å™¨" #: fortran/interface.c:3959 #, fuzzy, gcc-internal-format @@ -47191,51 +46735,43 @@ msgstr "" #: fortran/interface.c:4170 #, fuzzy, gcc-internal-format -#| msgid "Can't overwrite GENERIC '%s' at %L" msgid "Can't overwrite GENERIC %qs at %L" msgstr "ä¸èƒ½è¦†ç›–%2$L处的 GENERIC‘%1$s’" #: fortran/interface.c:4182 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L overrides a procedure binding declared NON_OVERRIDABLE" msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE" msgstr "%2$L处的‘%1$s’覆盖了一个绑定声明为 NON_OVERRIDABLE 的过程" #: fortran/interface.c:4190 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L must not be DEFERRED as it overrides a non-DEFERRED binding" msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding" msgstr "%2$L处的‘%1$s’ä¸èƒ½è¢« DEFERREDï¼Œå› ä¸ºå®ƒè¦†ç›–äº†ä¸€ä¸ªéž DEFERRED 绑定" #: fortran/interface.c:4198 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L overrides a PURE procedure and must also be PURE" msgid "%qs at %L overrides a PURE procedure and must also be PURE" msgstr "%2$L处的‘%1$s’覆盖了一个 PURE è¿‡ç¨‹å› æ¤å¿…须也是 PURE" #: fortran/interface.c:4207 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL" msgstr "%2$L处的‘%1$s’覆盖了一个 ELEMENTAL è¿‡ç¨‹å› æ¤ä¹Ÿå¿…须是 ELEMENTAL" #: fortran/interface.c:4213 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" msgid "%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either" msgstr "%2$L处的‘%1$sâ€™è¦†ç›–äº†ä¸€ä¸ªéž ELEMENTAL è¿‡ç¨‹å› æ¤å¿…须也ä¸æ˜¯ ELEMENTAL" #: fortran/interface.c:4222 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L overrides a SUBROUTINE and must also be a SUBROUTINE" msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE" msgstr "%2$L处的‘%1$s’覆盖了一个 SUBROUTINE å› æ¤ä¹Ÿå¿…须是 SUBROUTINE" #: fortran/interface.c:4233 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L overrides a FUNCTION and must also be a FUNCTION" msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION" -msgstr "%2$L处的‘%1$s’覆盖了一个 FUNCTION å› æ¤ä¹Ÿå¿…须是 FUNCTION" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/interface.c:4241 #, fuzzy, gcc-internal-format @@ -47244,13 +46780,11 @@ msgstr "哑过程‘%s’接å£åœ¨%L处ä¸åŒ¹é…:%s" #: fortran/interface.c:4252 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L overrides a PUBLIC procedure and must not be PRIVATE" msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE" msgstr "%2$L处的‘%1$s’覆盖了一个 PUBLIC è¿‡ç¨‹å› æ¤å¿…é¡»ä¸æ˜¯ PRIVATE" #: fortran/interface.c:4282 #, fuzzy, gcc-internal-format -#| msgid "Dummy argument '%s' of '%s' at %L should be named '%s' as to match the corresponding argument of the overridden procedure" msgid "Dummy argument %qs of %qs at %L should be named %qs as to match the corresponding argument of the overridden procedure" msgstr "%3$L处‘%2$s’的虚å‚‘%1$s’应该命å为‘%4$s’以匹é…被覆盖过程的相应å‚æ•°" @@ -47261,25 +46795,21 @@ msgstr "哑过程‘%s’接å£åœ¨%L处ä¸åŒ¹é…:%s" #: fortran/interface.c:4302 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L must have the same number of formal arguments as the overridden procedure" msgid "%qs at %L must have the same number of formal arguments as the overridden procedure" msgstr "%2$L处的‘%1$s’必须有与被覆盖的过程相åŒæ•°é‡çš„å½¢å¼å‚æ•°" #: fortran/interface.c:4311 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L overrides a NOPASS binding and must also be NOPASS" msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS" msgstr "%2$L处的‘%1$s’覆盖了一个 NOPASS ç»‘å®šå› æ¤å¿…须也是 NOPASS" #: fortran/interface.c:4322 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L overrides a binding with PASS and must also be PASS" msgid "%qs at %L overrides a binding with PASS and must also be PASS" msgstr "%2$L处的‘%1$s’覆盖了一个具有 PASS çš„ç»‘å®šå› æ¤ä¹Ÿå¿…须是 PASS" #: fortran/interface.c:4329 #, fuzzy, gcc-internal-format -#| msgid "Passed-object dummy argument of '%s' at %L must be at the same position as the passed-object dummy argument of the overridden procedure" msgid "Passed-object dummy argument of %qs at %L must be at the same position as the passed-object dummy argument of the overridden procedure" msgstr "%2$L处的‘%1$sâ€™çš„ä¼ é€’å¯¹è±¡è™šå‚å¿…é¡»ä¸Žè¢«è¦†ç›–çš„è¿‡ç¨‹ä¼ é€’å¯¹è±¡çš„è™šå‚ä½ç½®ç›¸åŒ" @@ -47310,7 +46840,6 @@ msgstr "%L çš„ NULL 指针ä¸èƒ½ç”¨ä½œå†…建函数‘%s’的实å‚" #: fortran/intrinsic.c:280 #, fuzzy, gcc-internal-format -#| msgid "too many arguments" msgid "do_check(): too many args" msgstr "实å‚太多" @@ -47321,7 +46850,6 @@ msgstr "" #: fortran/intrinsic.c:1054 #, fuzzy, gcc-internal-format -#| msgid "The intrinsic '%s' at %L is not included in the selected standard but %s and '%s' will be treated as if declared EXTERNAL. Use an appropriate -std=* option or define -fall-intrinsics to allow this intrinsic." msgid "The intrinsic %qs at %L is not included in the selected standard but %s and %qs will be treated as if declared EXTERNAL. Use an appropriate -std=* option or define -fall-intrinsics to allow this intrinsic." msgstr "%2$L处内建的‘%1$s’ä¸åŒ…å«åœ¨é€‰ä¸çš„æ ‡å‡†ä¸ï¼Œä½†æ˜¯ %3$s 和‘%4$s’将按声明为 EXTERNAL æ¥å¤„ç†ã€‚使用一个适当的 -std=* 选项或定义 -fall-intrinsics 以å…许这个建函数。" @@ -47332,9 +46860,8 @@ msgstr "" #: fortran/intrinsic.c:3818 #, fuzzy, gcc-internal-format -#| msgid "Too many arguments in call to '%s' at %L" msgid "Too many arguments in call to %qs at %L" -msgstr "%2$L处对‘%1$s’的调用给出的å‚数太多" +msgstr "给予函数 %s çš„å‚数太多,于 %L" #: fortran/intrinsic.c:3833 #, gcc-internal-format, gfc-internal-format @@ -47343,7 +46870,6 @@ msgstr "å‚数列表函数 %%VALã€%%LOC 或 %%REF 在%L处该上下文ä¸ä¸è¢« #: fortran/intrinsic.c:3836 #, fuzzy, gcc-internal-format -#| msgid "Can't find keyword named '%s' in call to '%s' at %L" msgid "Can't find keyword named %qs in call to %qs at %L" msgstr "%3$L处对‘%2$s’的调用ä¸æ‰¾ä¸åˆ°å为‘%1$s’的关键å—" @@ -47354,7 +46880,6 @@ msgstr "å‚数“%1$sâ€ï¼Œåœ¨ %3$L 处调用“%2$sâ€æ—¶å‡ºçŽ°ä¸¤æ¬¡" #: fortran/intrinsic.c:3857 #, fuzzy, gcc-internal-format -#| msgid "Missing actual argument '%s' in call to '%s' at %L" msgid "Missing actual argument %qs in call to %qs at %L" msgstr "缺少实å‚‘%s’,在调用‘%s’时,ä½äºŽ %L" @@ -47365,7 +46890,6 @@ msgstr "%L ä¸å…许有 ALTERNATIVE RETURN" #: fortran/intrinsic.c:3929 #, fuzzy, gcc-internal-format -#| msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s" msgid "Type of argument %qs in call to %qs at %L should be %s, not %s" msgstr "%3$L处对‘%2$s’的调用ä¸å‚数‘%1$s’的类型应该是‘%4$s’,而éžâ€˜%5$s’" @@ -47381,9 +46905,8 @@ msgstr "" #: fortran/intrinsic.c:4160 #, fuzzy, gcc-internal-format -#| msgid "too many arguments" msgid "init_arglist(): too many arguments" -msgstr "实å‚太多" +msgstr "给予函数的实å‚太多" #: fortran/intrinsic.c:4310 #, fuzzy, gcc-internal-format @@ -47392,14 +46915,13 @@ msgstr "%%L处 NULL() æŒ‡é’ˆä¸Šä¸‹æ–‡æ— æ•ˆ" #: fortran/intrinsic.c:4319 #, fuzzy, gcc-internal-format -#| msgid "Intrinsic '%s' (is %s) is used at %L" msgid "Intrinsic %qs (is %s) is used at %L" -msgstr "%3$L处使用了内建的‘%1$s’(是 %2$s)" +msgstr "%L处åªæœ‰å†…建è¿ç®—符æ‰èƒ½ç”¨äºŽè¡¨è¾¾å¼ä¸" #: fortran/intrinsic.c:4390 #, fuzzy, gcc-internal-format msgid "Function %qs as initialization expression at %L" -msgstr "Fortran 2003:函数‘%s’在%L处用作åˆå§‹åŒ–表达å¼" +msgstr "%L处éžå¸¸é‡åˆå§‹åŒ–表达å¼" #: fortran/intrinsic.c:4466 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -47413,7 +46935,6 @@ msgstr "在%2$L处调用内建‘%1$s’的å例程ä¸æ˜¯ PURE" #: fortran/intrinsic.c:4544 #, fuzzy, gcc-internal-format -#| msgid "Subroutine call to intrinsic '%s' at %L is not PURE" msgid "Subroutine call to intrinsic %qs at %L is not PURE" msgstr "在%2$L处调用内建‘%1$s’的å例程ä¸æ˜¯ PURE" @@ -47439,19 +46960,16 @@ msgstr "ä¸èƒ½å°† %s 转æ¢ä¸º %s,于 %L" #: fortran/intrinsic.c:4737 #, fuzzy, gcc-internal-format -#| msgid "Can't convert %s to %s at %L" msgid "Can't convert %qs to %qs at %L" msgstr "ä¸èƒ½å°† %s 转æ¢ä¸º %s,于 %L" #: fortran/intrinsic.c:4827 #, fuzzy, gcc-internal-format -#| msgid "'%s' declared at %L may shadow the intrinsic of the same name. In order to call the intrinsic, explicit INTRINSIC declarations may be required." msgid "%qs declared at %L may shadow the intrinsic of the same name. In order to call the intrinsic, explicit INTRINSIC declarations may be required." msgstr "%2$L处声明的‘%1$s’å¯èƒ½é®ç›–åŒå内建函数。为了调用内建函数,å¯èƒ½éœ€è¦æ˜¾å¼çš„ INTRINSIC 声明。" #: fortran/intrinsic.c:4833 #, fuzzy, gcc-internal-format -#| msgid "'%s' declared at %L is also the name of an intrinsic. It can only be called via an explicit interface or if declared EXTERNAL." msgid "%qs declared at %L is also the name of an intrinsic. It can only be called via an explicit interface or if declared EXTERNAL." msgstr "%2$L处声明的‘%1$s’也是一个内建函数的åå—。它åªèƒ½é€šè¿‡ä¸€ä¸ªæ˜¾å¼æŽ¥å£æˆ–声明 EXTERNAL æ¥è°ƒç”¨ã€‚" @@ -47468,12 +46986,12 @@ msgstr "扩展:%Cå¤„æ ¼å¼ä¸çš„制表符" #: fortran/io.c:455 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "DP format specifier not allowed at %C" -msgstr "Fortran 2003:ä¸å…许在%C处使用 DP æ ¼å¼é™å®šç¬¦" +msgstr "ä¸èƒ½ä¸º%C处的 NEWUNIT 指定 UNIT" #: fortran/io.c:462 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "DC format specifier not allowed at %C" -msgstr "Fortran 2003:ä¸å…许在%C处使用 DC æ ¼å¼é™å®šç¬¦" +msgstr "ä¸èƒ½ä¸º%C处的 NEWUNIT 指定 UNIT" #: fortran/io.c:651 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -47483,7 +47001,7 @@ msgstr "扩展:X æ述符在%L需è¦å‰å¯¼ç©ºæ ¼æ•°é‡" #: fortran/io.c:680 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "$ descriptor at %L" -msgstr "扩展:%L处的 $ æ述符" +msgstr "扩展:%L处的 L æ述符åŽç¼ºå°‘æ£çš„宽度" #: fortran/io.c:684 #, gcc-internal-format, gfc-internal-format @@ -47498,7 +47016,7 @@ msgstr "扩展:%L处的 L æ述符åŽç¼ºå°‘æ£çš„宽度" #: fortran/io.c:826 #, fuzzy, gcc-internal-format msgid "%<G0%> in format at %L" -msgstr "Fortran 2008:%Lå¤„æ ¼å¼ä¸çš„‘G0’" +msgstr "g0 æ述符ä¸å…许有 E é™å®šç¬¦" #: fortran/io.c:854 #, gcc-internal-format, gfc-internal-format @@ -47523,7 +47041,7 @@ msgstr "%L处的 H æ ¼å¼é™å®šç¬¦å·²åœ¨ Fortran 95 ä¸è¢«åˆ 除" #: fortran/io.c:1059 fortran/io.c:1121 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Missing comma at %L" -msgstr "扩展:%L处缺少逗å·" +msgstr "%C处缺少å³æ‹¬å·æˆ–逗å·" #: fortran/io.c:1139 #, gcc-internal-format, gfc-internal-format @@ -47533,7 +47051,7 @@ msgstr "%s 出现在%Lå¤„çš„æ ¼å¼å—符串ä¸" #: fortran/io.c:1177 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Extraneous characters in format at %L" -msgstr "扩展:%Cå¤„æ ¼å¼ä¸çš„制表符" +msgstr "%s 出现在%Lå¤„çš„æ ¼å¼å—符串ä¸" #: fortran/io.c:1199 #, gcc-internal-format, gfc-internal-format @@ -47578,22 +47096,20 @@ msgstr "%L处 FORMAT æ ‡è®°ä¸çš„常é‡è¡¨è¾¾å¼é»˜è®¤ç±»åž‹å¿…须为 CHARACTER" #: fortran/io.c:1401 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "FORMAT tag at %L must be of type default-kind CHARACTER or of INTEGER" -msgstr "%L处 FORMAT æ ‡è®°å¿…é¡»å…·æœ‰ç±»åž‹ CHARACTER 或 INTEGER" +msgstr "%L处 FORMAT æ ‡è®°ä¸çš„常é‡è¡¨è¾¾å¼é»˜è®¤ç±»åž‹å¿…须为 CHARACTER" #: fortran/io.c:1407 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ASSIGNED variable in FORMAT tag at %L" -msgstr "å·²åˆ é™¤çš„ç‰¹æ€§ï¼š%L处 FORMAT æ ‡è®°ä¸æœ‰ ASSIGNED å˜é‡" +msgstr "ASSIGNED GOTO è¯å¥åœ¨%L处需è¦ä¸€ä¸ª INTEGER å˜é‡" #: fortran/io.c:1412 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' at %L has not been assigned a format label" msgid "Variable %qs at %L has not been assigned a format label" msgstr "å˜é‡â€˜%s’在 %L 尚未分é…åˆ°æ ¼å¼æ ‡å·" #: fortran/io.c:1419 #, fuzzy, gcc-internal-format -#| msgid "Scalar '%s' in FORMAT tag at %L is not an ASSIGNED variable" msgid "Scalar %qs in FORMAT tag at %L is not an ASSIGNED variable" msgstr "%2$L处的 FORMAT æ ‡è®°ä¸çš„æ ‡é‡â€˜%1$s’ä¸æ˜¯ä¸€ä¸ª ASSIGNED å˜é‡" @@ -47635,7 +47151,7 @@ msgstr "%s æ ‡è®°åœ¨%Lå¤„å¿…é¡»æ˜¯æ ‡é‡" #: fortran/io.c:1497 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "IOMSG tag at %L" -msgstr "Fortran 2003:%L处的 IOMSG æ ‡è®°" +msgstr "%s æ ‡è®°åœ¨%Lå¤„å¿…é¡»æ˜¯æ ‡é‡" #: fortran/io.c:1505 #, gcc-internal-format, gfc-internal-format @@ -47650,16 +47166,15 @@ msgstr "Fortran 95 在%2$L处的 %1$s æ ‡è®°ä¸éœ€è¦é»˜è®¤çš„ INTEGER" #: fortran/io.c:1521 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "NEWUNIT specifier at %L" -msgstr "%L没有指定 UNIT" +msgstr "ä¸èƒ½ä¸º%C处的 NEWUNIT 指定 UNIT" #: fortran/io.c:1539 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "CONVERT tag at %L" -msgstr "扩展:%L处的 CONVERT æ ‡è®°" +msgstr "%s æ ‡è®°åœ¨%Lå¤„å¿…é¡»æ˜¯æ ‡é‡" #: fortran/io.c:1724 #, fuzzy, gcc-internal-format -#| msgid "Fortran 2003: %s specifier in %s statement at %C has value '%s'" msgid "Fortran 2003: %s specifier in %s statement at %C has value %qs" msgstr "Fortran 2003:%3$C 处 %2$s è¯å¥ä¸çš„ %1$s é™å®šç¬¦å€¼ä¸ºâ€˜%4$s’" @@ -47670,13 +47185,11 @@ msgstr "为%3$C处 %2$s è¯å¥ä¸ %1$s 指定了éžæ³•çš„值‘%4$s’" #: fortran/io.c:1751 #, fuzzy, gcc-internal-format -#| msgid "Extension: %s specifier in %s statement at %C has value '%s'" msgid "Extension: %s specifier in %s statement at %C has value %qs" msgstr "扩展:为%3$C处 %2$s è¯å¥ä¸çš„ %1$s 指定了值‘%4$s’" #: fortran/io.c:1773 fortran/io.c:1781 #, fuzzy, gcc-internal-format -#| msgid "%s specifier in %s statement at %C has invalid value '%s'" msgid "%s specifier in %s statement at %C has invalid value %qs" msgstr "为%3$C处 %2$s è¯å¥ä¸ %1$s 指定了éžæ³•çš„值‘%4$s’" @@ -47696,39 +47209,39 @@ msgid "NEWUNIT specifier must have FILE= or STATUS='scratch' at %C" msgstr "%C处的 NEWUNIT é™å®šç¬¦å¿…须有 FILE= 或 STATUS='scratch'" #: fortran/io.c:1862 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "OPEN statement at %C must have UNIT or NEWUNIT specified" -msgstr "%L处的 INQUIRE è¯å¥éœ€è¦ FILE 或 UNIT é™å®šç¬¦" +msgstr "%C处的 OPEN è¯å¥éœ€è¦æŒ‡å®š UNIT 或 NEWUNIT" #: fortran/io.c:1894 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "ASYNCHRONOUS= at %C not allowed in Fortran 95" -msgstr "Fortran 2003:%C处的 ASYNCHRONOUS= ä¸å…许用在 Fortran 95 ä¸" +msgstr "%C处的 ASYNCHRONOUS= ä¸å…许用在 Fortran 95 ä¸" #: fortran/io.c:1912 fortran/io.c:3350 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "BLANK= at %C not allowed in Fortran 95" -msgstr "Fortran 2003:%C处的 BLANK= ä¸å…许用在 Fortran 95 ä¸" +msgstr "%C处的 BLANK= ä¸å…许用在 Fortran 95 ä¸" #: fortran/io.c:1930 fortran/io.c:3329 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "DECIMAL= at %C not allowed in Fortran 95" -msgstr "Fortran 2003:%C处的 DECIMAL= ä¸å…许用在 Fortran 95 ä¸" +msgstr "%C处的 DECIMAL= ä¸å…许用在 Fortran 95 ä¸" #: fortran/io.c:1962 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "ENCODING= at %C not allowed in Fortran 95" -msgstr "Fortran 2003:%C处的 ENCODING= ä¸å…许用在 Fortran 95 ä¸" +msgstr "%C处的 ENCODING= ä¸å…许用在 Fortran 95 ä¸" #: fortran/io.c:2013 fortran/io.c:3392 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "ROUND= at %C not allowed in Fortran 95" -msgstr "Fortran 2003:%C处的 ROUND= ä¸å…许用在 Fortran 95 ä¸" +msgstr "%C处的 ROUND= ä¸å…许用在 Fortran 95 ä¸" #: fortran/io.c:2033 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "SIGN= at %C not allowed in Fortran 95" -msgstr "Fortran 2003:%C处的 SIGN= ä¸å…许用在 Fortran 95 ä¸" +msgstr "%C处的 SIGN= ä¸å…许用在 Fortran 95 ä¸" #: fortran/io.c:2246 #, gcc-internal-format, gfc-internal-format @@ -47736,9 +47249,9 @@ msgid "CLOSE statement not allowed in PURE procedure at %C" msgstr "CLOSE è¯å¥ä¸å…许出现在%C处的 PURE 过程ä¸" #: fortran/io.c:2305 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "CLOSE statement at %L requires a UNIT number" -msgstr "ASSIGNED GOTO è¯å¥åœ¨%L处需è¦ä¸€ä¸ª INTEGER å˜é‡" +msgstr "%L处的 CLOSE è¯å¥éœ€è¦ä¸€ä¸ª UNIT æ•°" #: fortran/io.c:2313 #, gcc-internal-format, gfc-internal-format @@ -47756,9 +47269,9 @@ msgid "UNIT number in statement at %L must be non-negative" msgstr "%L处的è¯å¥ä¸ UNIT 数必须为éžè´Ÿçš„æ•°" #: fortran/io.c:2475 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "FLUSH statement at %C" -msgstr "Fortran 2003:%C处的 FLUSH è¯å¥" +msgstr "%C处 FLUSH è¯å¥" #: fortran/io.c:2530 #, gcc-internal-format, gfc-internal-format @@ -47772,7 +47285,6 @@ msgstr "%C处é‡å¤çš„æ ¼å¼è§„æ ¼" #: fortran/io.c:2621 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C" msgid "Symbol %qs in namelist %qs is INTENT(IN) at %C" msgstr "符å·â€˜%s’在åå—列表‘%s’是 INTENT(IN),ä½äºŽ %C" @@ -47783,7 +47295,6 @@ msgstr "%C处é‡å¤çš„ NML è§„æ ¼" #: fortran/io.c:2666 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' at %C must be a NAMELIST group name" msgid "Symbol %qs at %C must be a NAMELIST group name" msgstr "%2$C处的符å·â€˜%1$s’必须是个 NAMELIST 组å" @@ -47818,9 +47329,9 @@ msgid "External IO UNIT cannot be an array at %L" msgstr "%L处的外部 IO UNIT ä¸èƒ½æ˜¯æ•°ç»„" #: fortran/io.c:2895 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "NAMELIST %qs in READ statement at %L contains the symbol %qs which may not appear in a variable definition context" -msgstr "" +msgstr "å称表列‘%s’在ä¸è¯»å–å™è¿°äºŽ %L å«æœ‰ç¬¦å·â€˜%s’该项å¯èƒ½æ— 法出现在ä¸å˜é‡å®šä¹‰è¯å¢ƒ" #: fortran/io.c:2905 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -47876,7 +47387,7 @@ msgstr "%s è¯å¥åœ¨%C处è¯æ³•é”™è¯¯" #: fortran/io.c:3247 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Internal file at %L with namelist" -msgstr "Fortran 2003:%L处内部文件有åå—列表" +msgstr "ä¸å…许按ä½ç½®ä¼ 递%L处的内部过程" #: fortran/io.c:3303 #, gcc-internal-format, gfc-internal-format @@ -47930,7 +47441,6 @@ msgstr "%L处的 INQUIRE è¯å¥éœ€è¦ FILE 或 UNIT é™å®šç¬¦" #: fortran/io.c:4005 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "UNIT number in statement at %L must be non-negative" msgid "UNIT number in INQUIRE statement at %L can not be -1" msgstr "%L处的è¯å¥ä¸ UNIT 数必须为éžè´Ÿçš„æ•°" @@ -47942,7 +47452,7 @@ msgstr "%L处的 INQUIRE è¯å¥éœ€è¦å¸¦æœ‰ ID= 指定的 PENDING=" #: fortran/io.c:4193 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "WAIT at %C not allowed in Fortran 95" -msgstr "Fortran 2003:%C处的 WAIT ä¸å…许用在 Fortran 95 ä¸" +msgstr "%C处的 PURE 过程ä¸ä¸å…许 WAIT è¯å¥" #: fortran/io.c:4199 #, gcc-internal-format, gfc-internal-format @@ -47951,21 +47461,18 @@ msgstr "%C处的 PURE 过程ä¸ä¸å…许 WAIT è¯å¥" #: fortran/match.c:120 #, fuzzy, gcc-internal-format -#| msgid "gfc_trans_code(): Bad statement code" msgid "gfc_op2string(): Bad code" -msgstr "gfc_trans_code():错误的è¯å¥ä»£ç " +msgstr "错误的æ¡ä»¶ç " #: fortran/match.c:177 #, fuzzy, gcc-internal-format -#| msgid "Missing ')' in statement at or before %L" msgid "Missing %<)%> in statement at or before %L" -msgstr "è¯å¥åœ¨%Lå‰ç¼ºå°‘‘)’" +msgstr "%L处的 DIMENSION è¯å¥ç¼ºå°‘æ•°ç»„è§„æ ¼" #: fortran/match.c:182 #, fuzzy, gcc-internal-format -#| msgid "Missing '(' in statement at or before %L" msgid "Missing %<(%> in statement at or before %L" -msgstr "è¯å¥åœ¨%Lå‰ç¼ºå°‘‘(’" +msgstr "%L处的 DIMENSION è¯å¥ç¼ºå°‘æ•°ç»„è§„æ ¼" #: fortran/match.c:379 #, gcc-internal-format, gfc-internal-format @@ -47984,15 +47491,13 @@ msgstr "%C处的è¯å¥æ ‡å·ä¸ºé›¶" #: fortran/match.c:511 #, fuzzy, gcc-internal-format -#| msgid "Label name '%s' at %C is ambiguous" msgid "Label name %qs at %C is ambiguous" -msgstr "æ ‡å·å‘%s’在%C处有æ§ä¹‰" +msgstr "%Cç»‘å®šæ ‡å·çš„ NAME= é™å®šç¬¦è¯æ³•é”™è¯¯" #: fortran/match.c:517 #, fuzzy, gcc-internal-format -#| msgid "Duplicate construct label '%s' at %C" msgid "Duplicate construct label %qs at %C" -msgstr "é‡å¤çš„æž„é€ æ ‡å·â€˜%s’出现在%C处" +msgstr "%2$C处é‡å¤çš„ %1$s æ ‡å·è§„æ ¼" #: fortran/match.c:548 #, gcc-internal-format, gfc-internal-format @@ -48031,7 +47536,6 @@ msgstr "%Cå¤„æ¸¸æ ‡è¯æ³•é”™è¯¯" #: fortran/match.c:1111 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "gfc_trans_code(): Bad statement code" msgid "gfc_match(): Bad match code %c" msgstr "gfc_trans_code():错误的è¯å¥ä»£ç " @@ -48041,9 +47545,9 @@ msgid "Invalid form of PROGRAM statement at %C" msgstr "%C处 PROGRAM è¯å¥æ ¼å¼æ— 效" #: fortran/match.c:1314 fortran/match.c:1394 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "Arithmetic IF statement at %C" -msgstr "已过时的特性:%C处的算术 IF è¯å¥" +msgstr "%C 处的算术 IF è¯å¥" #: fortran/match.c:1369 #, gcc-internal-format, gfc-internal-format @@ -48082,9 +47586,8 @@ msgstr "%C处 ELSE è¯å¥åŽæœ‰éžé¢„期的垃圾å—符" #: fortran/match.c:1569 fortran/match.c:1604 #, fuzzy, gcc-internal-format -#| msgid "Label '%s' at %C doesn't match IF label '%s'" msgid "Label %qs at %C doesn't match IF label %qs" -msgstr "%2$Cå¤„æ ‡å·â€˜%1$s’与 IF æ ‡å·â€˜%3$s’ä¸åŒ¹é…" +msgstr "%C处 ENDDO ä¸çš„è¯å¥æ ‡å·ä¸Ž DO æ ‡å·ä¸åŒ¹é…" #: fortran/match.c:1598 #, gcc-internal-format, gfc-internal-format @@ -48104,12 +47607,12 @@ msgstr "PRINT è¯å¥ä¸å…许出现在%C处的 PURE 过程ä¸" #: fortran/match.c:1675 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "CRITICAL statement at %C" -msgstr "Fortran 2003:%C处的 IMPORT è¯å¥" +msgstr "%C处 IMPLICIT è¯å¥ä¸ºç©º" #: fortran/match.c:1687 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Nested CRITICAL block at %C" -msgstr "没有在%C处å‘现 COMMON å— /%s/" +msgstr "ISO C ä¸å…许嵌套函数" #: fortran/match.c:1739 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -48119,22 +47622,22 @@ msgstr "%C处需è¦å®žå‚列表" #: fortran/match.c:1752 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Expected association at %C" -msgstr "éœ€è¦ %s è¯å¥åœ¨%L处" +msgstr "在%C处需è¦â€œ,â€" #: fortran/match.c:1761 #, fuzzy, gcc-internal-format msgid "Duplicate name %qs in association at %C" -msgstr "%C处的åå—ä¸æœ‰éžæ³•å—符" +msgstr "é‡å¤çš„汇编æ“作数å%qs" #: fortran/match.c:1769 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Association target at %C must not be coindexed" -msgstr "" +msgstr "å…³è”ç›®æ ‡äºŽ %C å¿…é¡»ä¸è¢« coindexed" #: fortran/match.c:1787 #, fuzzy, gcc-internal-format msgid "Expected %<)%> or %<,%> at %C" -msgstr "éœ€è¦ %<,%> 或 %<)%>" +msgstr "在%C处需è¦â€œ,â€" #: fortran/match.c:1805 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -48143,7 +47646,6 @@ msgstr "%C处 ELSE è¯å¥åŽæœ‰éžé¢„期的垃圾å—符" #: fortran/match.c:1874 #, fuzzy, gcc-internal-format -#| msgid "Derived type '%s' at %L may not be ABSTRACT" msgid "Derived type %qs at %L may not be ABSTRACT" msgstr "%2$L处派生类型‘%1$s’ä¸èƒ½æ˜¯ ABSTRACT" @@ -48158,9 +47660,9 @@ msgid "Syntax error in FORALL iterator at %C" msgstr "%C处 FORALL æ¸¸æ ‡è¯æ³•é”™è¯¯" #: fortran/match.c:2296 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "DO CONCURRENT construct at %C" -msgstr "" +msgstr "ä½ç½®é”™è¯¯çš„%<@%D%>Objective-C++ æž„é€ " #: fortran/match.c:2421 #, fuzzy, gcc-internal-format @@ -48186,7 +47688,7 @@ msgstr "%s è¯å¥åœ¨%C处离开 OpenMP 结构å—" #: fortran/match.c:2461 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "%s statement at %C is not within a construct" -msgstr "%s è¯å¥åœ¨%C处ä¸åœ¨å¾ªçŽ¯å†…" +msgstr "%C处的 ENTRY è¯å¥ä¸èƒ½å‡ºçŽ°åœ¨ MODULE ä¸" #: fortran/match.c:2464 #, fuzzy, gcc-internal-format @@ -48201,7 +47703,7 @@ msgstr "%s è¯å¥åœ¨%C处ä¸åœ¨å¾ªçŽ¯â€˜%s’内" #: fortran/match.c:2494 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "EXIT statement with no do-construct-name at %C" -msgstr "Fortran 2003:%C处的 IMPORT è¯å¥" +msgstr "%C处的 EXIT è¯å¥ç»ˆç»“了 !$OMP DO 循环" #: fortran/match.c:2500 #, fuzzy, gcc-internal-format @@ -48210,13 +47712,11 @@ msgstr "%s è¯å¥åœ¨%C处ä¸åœ¨å¾ªçŽ¯â€˜%s’内" #: fortran/match.c:2508 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "%s statement at %C leaving OpenMP structured block" msgid "%s statement at %C leaving OpenACC structured block" msgstr "%s è¯å¥åœ¨%C处离开 OpenMP 结构å—" #: fortran/match.c:2533 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "EXIT statement at %C terminating !$OMP DO loop" msgid "EXIT statement at %C terminating !$ACC LOOP loop" msgstr "%C处的 EXIT è¯å¥ç»ˆç»“了 !$OMP DO 循环" @@ -48238,12 +47738,12 @@ msgstr "%C处的 EXIT è¯å¥ç»ˆç»“了 !$OMP DO 循环" #: fortran/match.c:2628 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "%s statement at %C in PURE procedure" -msgstr "PRINT è¯å¥ä¸å…许出现在%C处的 PURE 过程ä¸" +msgstr "%s è¯å¥ä¸å…许出现在%C处的 PURE 程åºä¸" #: fortran/match.c:2644 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Image control statement STOP at %C in CRITICAL block" -msgstr "" +msgstr "å½±åƒæŽ§åˆ¶å™è¿°åœæ¢äºŽ %C 在ä¸é‡è¦åŒºå—" #: fortran/match.c:2649 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -48258,12 +47758,12 @@ msgstr "%L处的 UNIT è§„æ ¼å¿…é¡»æ˜¯ INTEGER 表达å¼æˆ–一个 CHARACTER å˜é‡ #: fortran/match.c:2664 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "STOP code at %L must be scalar" -msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$sâ€™å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡" +msgstr "%L处的表达å¼å¿…é¡»å…·æœ‰æ ‡é‡ç±»åž‹" #: fortran/match.c:2672 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "STOP code at %L must be default character KIND=%d" -msgstr "" +msgstr "åœæ¢ç¼–ç 于 %L 必须是缺çœå—符 KIND=%d" #: fortran/match.c:2680 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -48273,17 +47773,17 @@ msgstr "%C处 Cray 指针必须是一个整数" #: fortran/match.c:2726 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "PAUSE statement at %C" -msgstr "%C处éžé¢„期的 CASE è¯å¥" +msgstr " æš‚åœ " #: fortran/match.c:2747 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ERROR STOP statement at %C" -msgstr "Fortran 2003:%C处的 IMPORT è¯å¥" +msgstr "%C处的 VOLATILE è¯å¥è¯æ³•é”™è¯¯" #: fortran/match.c:2772 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Image control statement %s at %C in PURE procedure" -msgstr "PRINT è¯å¥ä¸å…许出现在%C处的 PURE 过程ä¸" +msgstr "%s è¯å¥ä¸å…许出现在%C处的 PURE 程åºä¸" #: fortran/match.c:2787 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -48310,17 +47810,17 @@ msgstr "%L有多余的 ERRMSG æ ‡è®°" #: fortran/match.c:2866 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Redundant ACQUIRED_LOCK tag found at %L " -msgstr "%L有多余的 SOURCE æ ‡è®°" +msgstr "%L有多余的 ERRMSG æ ‡è®°" #: fortran/match.c:2931 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "LOCK statement at %C" -msgstr "%C处 IMPLICIT è¯å¥ä¸ºç©º" +msgstr "%C处的è¯å¥æ ‡å·ä¸ºé›¶" #: fortran/match.c:2941 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "UNLOCK statement at %C" -msgstr "%C处 IMPLICIT è¯å¥ä¸ºç©º" +msgstr "æ— æ³•è§£é”内å˜ã€‚\n" #: fortran/match.c:2966 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -48330,12 +47830,12 @@ msgstr "PRINT è¯å¥ä¸å…许出现在%C处的 PURE 过程ä¸" #: fortran/match.c:2972 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "SYNC statement at %C" -msgstr "Fortran 2003:%C处的 IMPORT è¯å¥" +msgstr "%C处的è¯å¥æ ‡å·ä¸ºé›¶" #: fortran/match.c:2984 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Image control statement SYNC at %C in CRITICAL block" -msgstr "" +msgstr "å½±åƒæŽ§åˆ¶å™è¿°åŒæ¥äºŽ %C 在ä¸é‡è¦åŒºå—" #: fortran/match.c:2990 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -48345,12 +47845,12 @@ msgstr "PRINT è¯å¥ä¸å…许出现在%C处的 PURE 过程ä¸" #: fortran/match.c:3170 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ASSIGN statement at %C" -msgstr "å·²åˆ é™¤çš„ç‰¹æ€§ï¼š%C处的 ASSIGN è¯å¥" +msgstr "æ— æ³•èµ‹å€¼ç»™%C处的有å常é‡" #: fortran/match.c:3214 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "Assigned GOTO statement at %C" -msgstr "å·²åˆ é™¤çš„ç‰¹æ€§ï¼š%C处赋值 GOTO è¯å¥" +msgstr "%C 处赋值 GOTO è¯å¥" #: fortran/match.c:3258 fortran/match.c:3309 #, gcc-internal-format, gfc-internal-format @@ -48360,12 +47860,12 @@ msgstr "%C处 GOTO ä¸çš„è¯å¥æ ‡å·åˆ—表ä¸èƒ½ä¸ºç©º" #: fortran/match.c:3319 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Computed GOTO at %C" -msgstr "已过时的特性:%C处的计算转移 GOTO è¯å¥" +msgstr "ISO C++ ä¸å…许计算转移" #: fortran/match.c:3391 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Error in type-spec at %L" -msgstr "%C处指定 TYPE IS è¯æ³•é”™è¯¯" +msgstr "%Cå¤„ç±»åž‹æŒ‡å®šæ— æ•ˆ" #: fortran/match.c:3401 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -48378,14 +47878,14 @@ msgid "Bad allocate-object at %C for a PURE procedure" msgstr "%C处 PURE 过程ä¸åˆ†é…对象错误" #: fortran/match.c:3468 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "ALLOCATE of coarray at %C in DO CONCURRENT block" -msgstr "" +msgstr "é…置的 coarray 于 %C 在ä¸åšå…±æ—¶åŒºå—" #: fortran/match.c:3473 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "ALLOCATE of coarray at %C in CRITICAL block" -msgstr "" +msgstr "é…置的 coarray 于 %C 在ä¸é‡è¦åŒºå—" #: fortran/match.c:3495 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -48410,12 +47910,12 @@ msgstr "%C处å¯åˆ†é…æ ‡é‡çš„å¤–å½¢è§„æ ¼è¯´æ˜Ž" #: fortran/match.c:3566 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ERRMSG tag at %L" -msgstr "Fortran 2003:%L处的 ERRMSG æ ‡è®°" +msgstr "%L有多余的 ERRMSG æ ‡è®°" #: fortran/match.c:3589 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "SOURCE tag at %L" -msgstr "Fortran 2003:%L处的 SOURCE æ ‡è®°" +msgstr "%L处的 SOURCE æ ‡è®°ä¸Ž%L处的类型指定冲çª" #: fortran/match.c:3595 #, gcc-internal-format, gfc-internal-format @@ -48435,12 +47935,12 @@ msgstr "%L处的 SOURCE æ ‡è®°åœ¨åˆ†é…列表ä¸åªéœ€è¦ä¸€ä¸ªå•ç‹¬çš„实体" #: fortran/match.c:3626 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "MOLD tag at %L" -msgstr "Fortran 2003:%L处的 IOMSG æ ‡è®°" +msgstr "%s æ ‡è®°åœ¨%Lå¤„å¿…é¡»æ˜¯æ ‡é‡" #: fortran/match.c:3632 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Redundant MOLD tag found at %L " -msgstr "%L有多余的 ERRMSG æ ‡è®°" +msgstr "%L处有多余的 STAT æ ‡è®°" #: fortran/match.c:3639 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -48453,14 +47953,14 @@ msgid "MOLD tag at %L conflicts with SOURCE tag at %L" msgstr "%L处的 SOURCE æ ‡è®°ä¸Ž%L处的类型指定冲çª" #: fortran/match.c:3673 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L with a deferred type parameter requires either a type-spec or SOURCE tag or a MOLD tag" -msgstr "" +msgstr "Allocate-object 于 %L 与已推迟类型å‚数需求还是 type-spec 或æ¥æºæ ‡ç¾æˆ–é“¸åž‹æ ‡ç¾" #: fortran/match.c:3685 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Unlimited polymorphic allocate-object at %L requires either a type-spec or SOURCE tag or a MOLD tag" -msgstr "" +msgstr "Allocate-object 于 %L 与已推迟类型å‚数需求还是 type-spec 或æ¥æºæ ‡ç¾æˆ–é“¸åž‹æ ‡ç¾" #: fortran/match.c:3747 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -48473,14 +47973,14 @@ msgid "Illegal allocate-object at %C for a PURE procedure" msgstr "%C处 PURE 过程ä¸çš„分é…对象éžæ³•" #: fortran/match.c:3843 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "DEALLOCATE of coarray at %C in DO CONCURRENT block" -msgstr "" +msgstr "å–消é…置的 coarray 于 %C 在ä¸åšå…±æ—¶åŒºå—" #: fortran/match.c:3850 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "DEALLOCATE of coarray at %C in CRITICAL block" -msgstr "" +msgstr "å–消é…置的 coarray 于 %C 在ä¸é‡è¦åŒºå—" #: fortran/match.c:3866 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -48490,12 +47990,12 @@ msgstr "%C处的分é…对象ä¸æ˜¯ä¸€ä¸ªéžè¿‡ç¨‹æŒ‡é’ˆæˆ–å¯åˆ†é…çš„å˜é‡" #: fortran/match.c:3903 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ERRMSG at %L" -msgstr "Fortran 2003:%L处的 ERRMSG" +msgstr "%L处的 ERRMSG 没有 STAT æ ‡è®°æ‰€ä»¥ä¸èµ·ä½œç”¨" #: fortran/match.c:3960 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Image control statement RETURN at %C in CRITICAL block" -msgstr "" +msgstr "å½±åƒæŽ§åˆ¶å™è¿°è¿”回于 %C 在ä¸é‡è¦åŒºå—" #: fortran/match.c:3966 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -48510,7 +48010,7 @@ msgstr "%C处的替代 RETURN è¯å¥åªå…许出现在 SUBROUTINE ä¸" #: fortran/match.c:4006 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "RETURN statement in main program at %C" -msgstr "扩展:%C处 RETURN è¯å¥å‡ºçŽ°åœ¨ä¸»ç¨‹åºä¸" +msgstr "%C处 PROGRAM è¯å¥æ ¼å¼æ— 效" #: fortran/match.c:4034 #, gcc-internal-format, gfc-internal-format @@ -48542,55 +48042,46 @@ msgstr "%4$C处公共å—‘%3$s’ä¸çš„%2$L处的å˜é‡â€˜%1$sâ€™å¿…é¡»å£°æ˜Žä¸ #: fortran/match.c:4362 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global" msgid "Variable %qs in common block %qs at %C can not be bind(c) since it is not global" msgstr "%3$C处的公共å—‘%2$s’ä¸çš„å˜é‡â€˜%1$s’ä¸èƒ½æ˜¯ bind(c)ï¼Œå› ä¸ºå®ƒä¸æ˜¯å…¨å±€çš„" #: fortran/match.c:4369 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' at %C is already in a COMMON block" msgid "Symbol %qs at %C is already in a COMMON block" msgstr "符å·â€˜%s’在%C处已ç»åœ¨ä¸€ä¸ª COMMON å—ä¸" #: fortran/match.c:4377 #, fuzzy, gcc-internal-format -#| msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA" msgid "Initialized symbol %qs at %C can only be COMMON in BLOCK DATA" msgstr "%2$C处已åˆå§‹åŒ–的符å·â€˜%1$s’仅å¯ä»¥æ˜¯åœ¨ BLOCK DATA ä¸çš„ COMMON" #: fortran/match.c:4403 #, fuzzy, gcc-internal-format -#| msgid "Array specification for symbol '%s' in COMMON at %C must be explicit" msgid "Array specification for symbol %qs in COMMON at %C must be explicit" msgstr "%2$C处 COMMON ä¸ç¬¦å·â€˜%1$sâ€™çš„æ•°ç»„è§„æ ¼å¿…é¡»æ˜¯æ˜¾å¼çš„" #: fortran/match.c:4413 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array" msgid "Symbol %qs in COMMON at %C cannot be a POINTER array" msgstr "%2$C处 COMMON ä¸çš„符å·â€˜%1$s’ä¸èƒ½æ˜¯ä¸ª POINTER 数组" #: fortran/match.c:4445 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'" msgid "Symbol %qs, in COMMON block %qs at %C is being indirectly equivalenced to another COMMON block %qs" msgstr "%3$C处 COMMON å—‘%2$s’的ä¸ç¬¦å·â€˜%1$s’间接地ç‰ä»·äºŽå¦ä¸€ä¸ª COMMON å—‘%4$s’" #: fortran/match.c:4573 #, fuzzy, gcc-internal-format -#| msgid "Namelist group name '%s' at %C already has a basic type of %s" msgid "Namelist group name %qs at %C already has a basic type of %s" msgstr "%2$C处的组å列表‘%1$s’已ç»æœ‰ä¸€ä¸ªåŸºæœ¬ç±»åž‹ %3$s" #: fortran/match.c:4581 #, fuzzy, gcc-internal-format -#| msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified." msgid "Namelist group name %qs at %C already is USE associated and cannot be respecified." msgstr "%2$C处组å列表‘%1$s’已ç»ä¸º USE ç›¸å…³å› æ¤ä¸èƒ½è¢«é‡æ–°æŒ‡å®šã€‚" #: fortran/match.c:4607 #, fuzzy, gcc-internal-format -#| msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed" msgid "Assumed size array %qs in namelist %qs at %C is not allowed" msgstr "%3$C处åå—列表‘%2$s’ä¸çš„å‡å®šå¤§å°æ•°ç»„‘%1$s’ä¸è¢«å…许" @@ -48627,7 +48118,7 @@ msgstr "%L处的è¯å¥å‡½æ•°æ˜¯é€’å½’çš„" #: fortran/match.c:4928 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Statement function at %C" -msgstr "%L处的è¯å¥å‡½æ•°æ˜¯é€’å½’çš„" +msgstr "%C处 IMPLICIT è¯å¥ä¸ºç©º" #: fortran/match.c:5013 #, gcc-internal-format, gfc-internal-format @@ -48636,7 +48127,6 @@ msgstr "%C处 CASE ä¸éœ€è¦åˆå§‹åŒ–表达å¼" #: fortran/match.c:5045 #, fuzzy, gcc-internal-format -#| msgid "Expected block name '%s' of SELECT construct at %C" msgid "Expected block name %qs of SELECT construct at %C" msgstr "%2$Cå¤„éœ€è¦ SELECT æž„é€ çš„å—å‘%1$s’" @@ -48687,19 +48177,16 @@ msgstr "%C处的 ELSEWHERE è¯å¥ä¸åœ¨ WHERE å—ä¸" #: fortran/match.c:5729 #, fuzzy, gcc-internal-format -#| msgid "Label '%s' at %C doesn't match WHERE label '%s'" msgid "Label %qs at %C doesn't match WHERE label %qs" msgstr "%2$Cå¤„çš„æ ‡å·â€˜%1$s’ä¸åŒ¹é… WHERE æ ‡å·â€˜%3$s’" #: fortran/matchexp.c:72 #, fuzzy, gcc-internal-format -#| msgid "Bad character '%c' in OPERATOR name at %C" msgid "Bad character %<%c%> in OPERATOR name at %C" -msgstr "%2$C 处 OPERATOR åå—ä¸æœ‰é”™è¯¯çš„å—符‘%1$c’" +msgstr "%C处的åå—ä¸æœ‰éžæ³•å—符" #: fortran/matchexp.c:80 #, fuzzy, gcc-internal-format -#| msgid "The name '%s' cannot be used as a defined operator at %C" msgid "The name %qs cannot be used as a defined operator at %C" msgstr "åå—‘%s’在%C处ä¸èƒ½ç”¨ä½œå·²å®šä¹‰çš„è¿ç®—符" @@ -48720,9 +48207,9 @@ msgid "Extension: Unary operator following arithmetic operator (use parentheses) msgstr "扩展:%C处å•ç›®è¿ç®—符出现在算术è¿ç®—符之åŽ" #: fortran/matchexp.c:665 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "match_level_4(): Bad operator" -msgstr "" +msgstr "错误的è¿ç®—符" #: fortran/misc.c:105 #, gcc-internal-format @@ -48730,15 +48217,14 @@ msgid "gfc_basic_typename(): Undefined type" msgstr "" #: fortran/misc.c:167 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "gfc_typename(): Undefined type" -msgstr "" +msgstr "如果您想指定类型,请使用%<typename %E%>" #: fortran/misc.c:187 #, fuzzy, gcc-internal-format -#| msgid "gfc_trans_code(): Bad statement code" msgid "gfc_code2string(): Bad code" -msgstr "gfc_trans_code():错误的è¯å¥ä»£ç " +msgstr "错误的æ¡ä»¶ç " #: fortran/module.c:241 #, gcc-internal-format @@ -48768,7 +48254,7 @@ msgstr "%C处在模å—本性åŽéœ€è¦â€œ::â€" #: fortran/module.c:575 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "\"USE :: module\" at %C" -msgstr "Fortran 2003:%C处的“USE :: moduleâ€" +msgstr "模å—间优化未为 C++ 实现" #: fortran/module.c:634 #, gcc-internal-format, gfc-internal-format @@ -48782,25 +48268,21 @@ msgstr "Fortran 2003:%C处的 USE è¯å¥ä¸æ›´åè¿ç®—符" #: fortran/module.c:683 #, fuzzy, gcc-internal-format -#| msgid "The name '%s' at %C has already been used as an external module name." msgid "The name %qs at %C has already been used as an external module name." msgstr "%2$C处的åå—‘%1$s’已ç»è¢«ç”¨ä½œå¤–部模å—å。" #: fortran/module.c:1067 #, fuzzy, gcc-internal-format -#| msgid "Reading module %s at line %d column %d: %s" msgid "Reading module %qs at line %d column %d: %s" msgstr "è¯»å‡ºæ¨¡å— %s,于行 %d 列 %d:%s" #: fortran/module.c:1071 #, fuzzy, gcc-internal-format -#| msgid "Writing module %s at line %d column %d: %s" msgid "Writing module %qs at line %d column %d: %s" msgstr "è¯»å…¥æ¨¡å— %s,于行 %d 列 %d:%s" #: fortran/module.c:1075 #, fuzzy, gcc-internal-format -#| msgid "Module %s at line %d column %d: %s" msgid "Module %qs at line %d column %d: %s" msgstr "æ¨¡å— %s ä½äºŽè¡Œ %d 列 %d:%s" @@ -48825,9 +48307,9 @@ msgid "write_atom(): Trying to write dab atom" msgstr "" #: fortran/module.c:1776 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "unquote_string(): got bad string" -msgstr "" +msgstr "错误的å—符串常é‡" #: fortran/module.c:2523 #, gcc-internal-format @@ -48856,19 +48338,16 @@ msgstr "%2$C处的åå—‘%1$s’是从当å‰ç¨‹åºå•å…ƒå¯¹â€˜%3$s’有æ§ä¹‰ #: fortran/module.c:5161 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' referenced at %L not found in module '%s'" msgid "Symbol %qs referenced at %L not found in module %qs" msgstr "%2$L处引用的符å·â€˜%1$s’在模å—‘%3$s’ä¸æ‰¾ä¸åˆ°" #: fortran/module.c:5168 #, fuzzy, gcc-internal-format -#| msgid "User operator '%s' referenced at %L not found in module '%s'" msgid "User operator %qs referenced at %L not found in module %qs" msgstr "%2$L处引用的用户è¿ç®—符‘%1$s’在模å—‘%3$s’ä¸æ‰¾ä¸åˆ°" #: fortran/module.c:5173 #, fuzzy, gcc-internal-format -#| msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'" msgid "Intrinsic operator %qs referenced at %L not found in module %qs" msgstr "%2$L处引用的内建è¿ç®—符‘%1$s’在模å—‘%3$s’ä¸æ‰¾ä¸åˆ°" @@ -48884,40 +48363,34 @@ msgstr "" #: fortran/module.c:5910 #, fuzzy, gcc-internal-format -#| msgid "Can't open module file '%s' for writing at %C: %s" msgid "Can't open module file %qs for writing at %C: %s" msgstr "ä¸èƒ½æ‰“开模å—文件‘%s’写入,在%C处:%s" #: fortran/module.c:5930 #, fuzzy, gcc-internal-format -#| msgid "Error writing module file '%s' for writing: %s" msgid "Error writing module file %qs for writing: %s" -msgstr "写入模å—文件‘%s’时出错:%s" +msgstr "写入到输出文件 '%s' 时出错\n" #: fortran/module.c:5941 #, fuzzy, gcc-internal-format -#| msgid "Can't delete module file '%s': %s" msgid "Can't delete module file %qs: %s" -msgstr "æ— æ³•åˆ é™¤æ¨¡å—文件‘%s’:%s" +msgstr "%sï¼šæ— æ³•æ‰¾åˆ°æ¨¡å—文件 %s\n" #: fortran/module.c:5944 #, fuzzy, gcc-internal-format -#| msgid "Can't rename module file '%s' to '%s': %s" msgid "Can't rename module file %qs to %qs: %s" msgstr "æ— æ³•å°†æ¨¡å—文件‘%s’é‡å‘½å为‘%s’:%s" #: fortran/module.c:5950 #, fuzzy, gcc-internal-format -#| msgid "Can't delete temporary module file '%s': %s" msgid "Can't delete temporary module file %qs: %s" msgstr "æ— æ³•åˆ é™¤ä¸´æ—¶æ¨¡å—文件‘%s’:%s" #: fortran/module.c:5970 fortran/module.c:6297 fortran/module.c:6330 #: fortran/module.c:6372 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' already declared" msgid "Symbol %qs already declared" -msgstr "符å·â€˜%s’已ç»è¢«å£°æ˜Žè¿‡" +msgstr "`%.*s' 已被定义为对照符å·" #: fortran/module.c:6040 #, gcc-internal-format, gfc-internal-format @@ -48931,21 +48404,18 @@ msgstr "%2$L处引用的符å·â€˜%1$s’在模å—‘%3$s’ä¸æ‰¾ä¸åˆ°" #: fortran/module.c:6276 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING" msgid "Symbol %qs referenced at %L not found in intrinsic module ISO_C_BINDING" msgstr "%2$L处引用的符å·â€˜%1$sâ€™åœ¨å†…å»ºæ¨¡å— ISO_C_BINDING ä¸æ‰¾ä¸åˆ°" #: fortran/module.c:6477 #, fuzzy, gcc-internal-format -#| msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously" msgid "Use of intrinsic module %qs at %C conflicts with non-intrinsic module name used previously" msgstr "%2$C处对内建模å—‘%1$s’的使用与以å‰ä½¿ç”¨çš„éžå†…建模å—åå—冲çª" #: fortran/module.c:6499 #, fuzzy, gcc-internal-format -#| msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s" msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %qs" -msgstr "%Lå¤„åœ¨å†…å»ºæ¨¡å— ISO_FORTRAN_ENV ä¸å¯¹ NUMERIC_STORAGE_SIZE 命å常数的使用与选项 %s ä¸å…¼å®¹" +msgstr "%Cå¤„åœ¨å†…å»ºæ¨¡å— ISO_FORTRAN_ENV ä¸å¯¹ NUMERIC_STORAGE_SIZE 命å常数的使用与选项 %s ä¸å…¼å®¹" #: fortran/module.c:6567 #, gcc-internal-format, gfc-internal-format @@ -48954,7 +48424,6 @@ msgstr "%Cå¤„åœ¨å†…å»ºæ¨¡å— ISO_FORTRAN_ENV ä¸å¯¹ NUMERIC_STORAGE_SIZE 命åå #: fortran/module.c:6621 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV" msgid "Symbol %qs referenced at %L not found in intrinsic module ISO_FORTRAN_ENV" msgstr "%2$L处引用的符å·â€˜%1$sâ€™åœ¨å†…å»ºæ¨¡å— ISO_FORTRAN_ENV ä¸æ‰¾ä¸åˆ°" @@ -48971,38 +48440,35 @@ msgstr "Fortran 2003:%C 处的 ISO_FORTRAN_ENV 内建模å—" #: fortran/module.c:6677 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ISO_C_BINDING module at %C" -msgstr "Fortran 2003:%C处的 ISO_C_BINDING 模å—" +msgstr "%C处需è¦ç»‘定å" #: fortran/module.c:6690 #, fuzzy, gcc-internal-format -#| msgid "Can't find an intrinsic module named '%s' at %C" msgid "Can't find an intrinsic module named %qs at %C" msgstr "%2$Cå¤„æ— æ³•æ‰¾åˆ°å为‘%1$s’的内建模å—" #: fortran/module.c:6696 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "IEEE_FEATURES module at %C" -msgstr "Fortran 2003:%C处的“USE :: moduleâ€" +msgstr "ä½¿ç”¨äº†ä¼ ç»Ÿ C ä¸æ”¯æŒçš„特性时给出è¦å‘Š" #: fortran/module.c:6702 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "IEEE_EXCEPTIONS module at %C" -msgstr "Fortran 2003:%C处的 ISO_C_BINDING 模å—" +msgstr "模å—间优化未为 C++ 实现" #: fortran/module.c:6708 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "IEEE_ARITHMETIC module at %C" -msgstr "Fortran 2003:%C处的 ISO_C_BINDING 模å—" +msgstr "模å—间优化未为 C++ 实现" #: fortran/module.c:6715 #, fuzzy, gcc-internal-format -#| msgid "Can't open module file '%s' for reading at %C: %s" msgid "Can't open module file %qs for reading at %C: %s" msgstr "æ— æ³•æ‰“å¼€æ¨¡å—文件‘%s’读å–,在%C处:%s" #: fortran/module.c:6723 #, fuzzy, gcc-internal-format -#| msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously" msgid "Use of non-intrinsic module %qs at %C conflicts with intrinsic module name used previously" msgstr "%2$C处对éžå†…建模å—‘%1$s’的使用与之å‰å¯¹å†…建模å—åå—的使用相冲çª" @@ -49033,9 +48499,8 @@ msgstr "%C处的 OpenMP å˜é‡åˆ—表è¯æ³•é”™è¯¯" #: fortran/openmp.c:368 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Syntax error in expression at %C" msgid "Syntax error in OpenACC expression list at %C" -msgstr "%C 表达å¼è¯æ³•é”™è¯¯" +msgstr "%C处的å‚数列表è¯æ³•é”™è¯¯" #: fortran/openmp.c:837 #, gcc-internal-format, gfc-internal-format @@ -49050,17 +48515,15 @@ msgstr "%C处的 COLLAPSE 分å¥å‚æ•°ä¸æ˜¯æ£æ•´æ•°å¸¸é‡" #: fortran/openmp.c:1356 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Unexpected junk in !$ACC WAIT at %C" -msgstr "%C处的函数声明åŽæœ‰éžé¢„期的垃圾å—符" +msgstr "%C处 ELSE è¯å¥åŽæœ‰éžé¢„期的垃圾å—符" #: fortran/openmp.c:1365 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Invalid third argument of IBITS at %L" msgid "Invalid argument to $!ACC WAIT at %L" -msgstr "%L处 IBITS 的第三个å‚æ•°æ— æ•ˆ" +msgstr "%L过程å‚æ•°æ— æ•ˆ" #: fortran/openmp.c:1374 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "NUM_THREADS clause at %L requires a scalar INTEGER expression" msgid "WAIT clause at %L requires a scalar INTEGER expression" msgstr "%L处的 NUM_THREADS 分å¥éœ€è¦ä¸€ä¸ªæ ‡é‡ INTEGER 表达å¼" @@ -49076,9 +48539,8 @@ msgstr "" #: fortran/openmp.c:1452 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C" msgid "Syntax error in !$ACC ROUTINE ( NAME ) at %C" -msgstr "%C处 !GCC$ ATTRIBUTES è¯å¥ä¸çš„è¯æ³•é”™è¯¯" +msgstr "%C处公共å—åè¯æ³•é”™è¯¯" #: fortran/openmp.c:1459 #, gcc-internal-format @@ -49093,7 +48555,7 @@ msgstr "" #: fortran/openmp.c:1475 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Unexpected junk after !$ACC ROUTINE at %C" -msgstr "%C处的函数声明åŽæœ‰éžé¢„期的垃圾å—符" +msgstr "%C处 ELSE è¯å¥åŽæœ‰éžé¢„期的垃圾å—符" #: fortran/openmp.c:1544 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -49137,7 +48599,6 @@ msgstr "" #: fortran/openmp.c:2078 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Threadprivate variable at %C is an element of a COMMON block" msgid "OMP DECLARE TARGET on a variable at %C is an element of a COMMON block" msgstr " %C 处线程局部å˜é‡æ˜¯ä¸ª COMMON å—çš„å…ƒç´ " @@ -49148,7 +48609,6 @@ msgstr "%C处 ELSE IF è¯å¥åŽæœ‰éžé¢„期的垃圾å—符" #: fortran/openmp.c:2123 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Syntax error in !$OMP THREADPRIVATE list at %C" msgid "Syntax error in !$OMP DECLARE TARGET list at %C" msgstr "%C处 !$OMP THREADPRIVATE 列表è¯æ³•é”™è¯¯" @@ -49170,12 +48630,12 @@ msgstr "%C处 !$OMP THREADPRIVATE 列表è¯æ³•é”™è¯¯" #: fortran/openmp.c:2278 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Unexpected junk after TASKWAIT clause at %C" -msgstr "%C处的函数声明åŽæœ‰éžé¢„期的垃圾å—符" +msgstr "%C处 ELSE è¯å¥åŽæœ‰éžé¢„期的垃圾å—符" #: fortran/openmp.c:2292 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Unexpected junk after TASKYIELD clause at %C" -msgstr "%C处的函数声明åŽæœ‰éžé¢„期的垃圾å—符" +msgstr "%C处 ELSE IF è¯å¥åŽæœ‰éžé¢„期的垃圾å—符" #: fortran/openmp.c:2417 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -49205,7 +48665,7 @@ msgstr "%C处 ELSE IF è¯å¥åŽæœ‰éžé¢„期的垃圾å—符" #: fortran/openmp.c:2520 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Unexpected junk after $OMP TASKGROUP statement at %C" -msgstr "%C处 ELSE IF è¯å¥åŽæœ‰éžé¢„期的垃圾å—符" +msgstr "%C处 ELSE è¯å¥åŽæœ‰éžé¢„期的垃圾å—符" #: fortran/openmp.c:2570 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -49215,112 +48675,95 @@ msgstr "%C处 ELSE IF è¯å¥åŽæœ‰éžé¢„期的垃圾å—符" #: fortran/openmp.c:2590 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Unexpected junk after NOWAIT clause at %C" -msgstr "%C处的函数声明åŽæœ‰éžé¢„期的垃圾å—符" +msgstr "%C处 ELSE è¯å¥åŽæœ‰éžé¢„期的垃圾å—符" #: fortran/openmp.c:2630 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "NUM_THREADS clause at %L requires a scalar INTEGER expression" msgid "%s clause at %L requires a scalar INTEGER expression" msgstr "%L处的 NUM_THREADS 分å¥éœ€è¦ä¸€ä¸ªæ ‡é‡ INTEGER 表达å¼" #: fortran/openmp.c:2641 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "INTEGER expression of %s clause at %L must be positive" -msgstr "%s (%L处)å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡" +msgstr "%L处的表达å¼å¿…须具有 INTEGER 类型而ä¸æ˜¯ %s" #: fortran/openmp.c:2652 #, fuzzy, gcc-internal-format -#| msgid "POINTER object '%s' in %s clause at %L" msgid "POINTER object %qs of derived type in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ POINTER 对象‘%1$s’" #: fortran/openmp.c:2655 #, fuzzy, gcc-internal-format -#| msgid "Cray pointer '%s' in %s clause at %L" msgid "Cray pointer object of derived type %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ Cray 指针‘%1$s’" #: fortran/openmp.c:2658 #, fuzzy, gcc-internal-format -#| msgid "Cray pointee '%s' in %s clause at %L" msgid "Cray pointee object of derived type %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸ çš„Cray æŒ‡é’ˆç›®æ ‡â€˜%1$s’" #: fortran/openmp.c:2664 #, fuzzy, gcc-internal-format -#| msgid "POINTER object '%s' in %s clause at %L" msgid "POINTER object %qs of polymorphic type in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ POINTER 对象‘%1$s’" #: fortran/openmp.c:2669 #, fuzzy, gcc-internal-format -#| msgid "Cray pointer '%s' in %s clause at %L" msgid "Cray pointer object of polymorphic type %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ Cray 指针‘%1$s’" #: fortran/openmp.c:2674 #, fuzzy, gcc-internal-format -#| msgid "Cray pointee '%s' in %s clause at %L" msgid "Cray pointee object of polymorphic type %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸ çš„Cray æŒ‡é’ˆç›®æ ‡â€˜%1$s’" #: fortran/openmp.c:2684 fortran/openmp.c:3212 #, fuzzy, gcc-internal-format -#| msgid "Assumed size array '%s' in %s clause at %L" msgid "Assumed size array %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸å‡å®šå¤§å°çš„数组‘%1$s’" #: fortran/openmp.c:2687 #, fuzzy, gcc-internal-format -#| msgid "Assumed size array '%s' in %s clause at %L" msgid "Assumed rank array %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸å‡å®šå¤§å°çš„数组‘%1$s’" #: fortran/openmp.c:2691 #, fuzzy, gcc-internal-format -#| msgid "Assumed size array '%s' in %s clause at %L" msgid "Noncontiguous deferred shape array %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸å‡å®šå¤§å°çš„数组‘%1$s’" #: fortran/openmp.c:2699 #, fuzzy, gcc-internal-format -#| msgid "POINTER object '%s' in %s clause at %L" msgid "ALLOCATABLE object %qs of derived type in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ POINTER 对象‘%1$s’" #: fortran/openmp.c:2704 #, fuzzy, gcc-internal-format -#| msgid "POINTER object '%s' in %s clause at %L" msgid "ALLOCATABLE object %qs of polymorphic type in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ POINTER 对象‘%1$s’" #: fortran/openmp.c:2716 fortran/openmp.c:3202 fortran/openmp.c:3375 #, fuzzy, gcc-internal-format -#| msgid "POINTER object '%s' in %s clause at %L" msgid "POINTER object %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ POINTER 对象‘%1$s’" #: fortran/openmp.c:2721 fortran/openmp.c:3378 #, fuzzy, gcc-internal-format -#| msgid "Cray pointer '%s' in %s clause at %L" msgid "Cray pointer object %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ Cray 指针‘%1$s’" #: fortran/openmp.c:2726 fortran/openmp.c:3381 #, fuzzy, gcc-internal-format -#| msgid "Cray pointee '%s' in %s clause at %L" msgid "Cray pointee object %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸ çš„Cray æŒ‡é’ˆç›®æ ‡â€˜%1$s’" #: fortran/openmp.c:2731 fortran/openmp.c:3370 #, fuzzy, gcc-internal-format -#| msgid "POINTER object '%s' in %s clause at %L" msgid "ALLOCATABLE object %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ POINTER 对象‘%1$s’" #: fortran/openmp.c:2734 #, fuzzy, gcc-internal-format -#| msgid "POINTER object '%s' in %s clause at %L" msgid "VALUE object %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ POINTER 对象‘%1$s’" @@ -49356,62 +48799,52 @@ msgstr "%L处的 SCHEDULE 分å¥çš„ chunk_size 需è¦ä¸€ä¸ªæ ‡é‡ INTEGER 表达 #: fortran/openmp.c:2924 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' has not been assigned a target label at %L" msgid "Variable %qs is not a dummy argument at %L" -msgstr "å˜é‡â€˜%s’在 %L å°šæœªæŒ‡æ´¾ç›®æ ‡æ ‡å·" +msgstr "%L处的符å·ä¸æ˜¯ä¸€ä¸ª DUMMY å˜é‡" #: fortran/openmp.c:2956 #, fuzzy, gcc-internal-format -#| msgid "Object '%s' is not a variable at %L" msgid "Object %qs is not a variable at %L" -msgstr "%2$L处对象‘%1$s’ä¸æ˜¯ä¸€ä¸ªå˜é‡" +msgstr "å¯å˜å¤§å°çš„对象ä¸èƒ½è¢«åˆå§‹åŒ–" #: fortran/openmp.c:2972 fortran/openmp.c:2983 fortran/openmp.c:2991 #: fortran/openmp.c:3002 fortran/openmp.c:3014 fortran/openmp.c:4635 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' present on multiple clauses at %L" msgid "Symbol %qs present on multiple clauses at %L" msgstr "%2$L处符å·â€˜%1$s’出现在多个分å¥ä¸Š" #: fortran/openmp.c:3028 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' present on multiple clauses at %L" msgid "Symbol %qs present on both FROM and TO clauses at %L" msgstr "%2$L处符å·â€˜%1$s’出现在多个分å¥ä¸Š" #: fortran/openmp.c:3050 #, fuzzy, gcc-internal-format -#| msgid "Non-THREADPRIVATE object '%s' in COPYIN clause at %L" msgid "Non-THREADPRIVATE object %qs in COPYIN clause at %L" msgstr "%2$L处 COPYIN 分å¥ä¸çš„éž THREADPRIVATE 对象‘%1$s’" #: fortran/openmp.c:3058 #, fuzzy, gcc-internal-format -#| msgid "Assumed size array '%s' in COPYPRIVATE clause at %L" msgid "Assumed size array %qs in COPYPRIVATE clause at %L" msgstr "%2$L处 COPYPRIVATE 分å¥ä¸æœ‰å‡å®šå¤§å°çš„数组‘%1$s’" #: fortran/openmp.c:3061 #, fuzzy, gcc-internal-format -#| msgid "Assumed size array '%s' in COPYPRIVATE clause at %L" msgid "INTENT(IN) POINTER %qs in COPYPRIVATE clause at %L" msgstr "%2$L处 COPYPRIVATE 分å¥ä¸æœ‰å‡å®šå¤§å°çš„数组‘%1$s’" #: fortran/openmp.c:3069 #, fuzzy, gcc-internal-format -#| msgid "THREADPRIVATE object '%s' in SHARED clause at %L" msgid "THREADPRIVATE object %qs in SHARED clause at %L" msgstr "%2$L处 SHARED 分å¥ä¸çš„ THREADPRIVATE 对象‘%1$s’" #: fortran/openmp.c:3072 #, fuzzy, gcc-internal-format -#| msgid "Cray pointee '%s' in SHARED clause at %L" msgid "Cray pointee %qs in SHARED clause at %L" msgstr "%2$L处 SHARED 分å¥ä¸ä¸º Cray 指针引用的‘%1$s’" #: fortran/openmp.c:3075 #, fuzzy, gcc-internal-format -#| msgid "THREADPRIVATE object '%s' in SHARED clause at %L" msgid "ASSOCIATE name %qs in SHARED clause at %L" msgstr "%2$L处 SHARED 分å¥ä¸çš„ THREADPRIVATE 对象‘%1$s’" @@ -49432,7 +48865,6 @@ msgstr "" #: fortran/openmp.c:3124 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Cray pointee '%s' in %s clause at %L" msgid "Coarrays not supported in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸ çš„Cray æŒ‡é’ˆç›®æ ‡â€˜%1$s’" @@ -49448,44 +48880,37 @@ msgstr "" #: fortran/openmp.c:3176 fortran/openmp.c:3188 #, fuzzy, gcc-internal-format -#| msgid "THREADPRIVATE object '%s' in %s clause at %L" msgid "THREADPRIVATE object %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ THREADPRIVATE 对象‘%1$s’" #: fortran/openmp.c:3179 fortran/openmp.c:3191 #, fuzzy, gcc-internal-format -#| msgid "Cray pointee '%s' in %s clause at %L" msgid "Cray pointee %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸ çš„Cray æŒ‡é’ˆç›®æ ‡â€˜%1$s’" #: fortran/openmp.c:3194 #, fuzzy, gcc-internal-format -#| msgid "POINTER object '%s' in %s clause at %L" msgid "ASSOCIATE name %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ POINTER 对象‘%1$s’" #: fortran/openmp.c:3199 #, fuzzy, gcc-internal-format -#| msgid "Cray pointer '%s' in %s clause at %L" msgid "Procedure pointer %qs in %s clause at %L" -msgstr "%3$L处 %2$s 分å¥ä¸çš„ Cray 指针‘%1$s’" +msgstr "%L处过程指针赋值ä¸æŽ¥å£ä¸åŒ¹é…:%s" #: fortran/openmp.c:3205 #, fuzzy, gcc-internal-format -#| msgid "Cray pointer '%s' in %s clause at %L" msgid "Cray pointer %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ Cray 指针‘%1$s’" #: fortran/openmp.c:3215 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' in %s clause is used in NAMELIST statement at %L" msgid "Variable %qs in %s clause is used in NAMELIST statement at %L" msgstr "%2$s 分å¥ä¸çš„å˜é‡â€˜%1$s’被用在%3$L处的 NAMELIST è¯å¥ä¸" #. case OMP_LIST_REDUCTION: #: fortran/openmp.c:3225 #, fuzzy, gcc-internal-format -#| msgid "POINTER object '%s' in %s clause at %L" msgid "INTENT(IN) POINTER %qs in %s clause at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ POINTER 对象‘%1$s’" @@ -49496,13 +48921,11 @@ msgstr "" #: fortran/openmp.c:3341 #, fuzzy, gcc-internal-format -#| msgid "%s REDUCTION variable '%s' must be INTEGER at %L" msgid "LINEAR variable %qs must be INTEGER at %L" -msgstr "%s REDUCTION å˜é‡â€˜%s’在%L处类型必须为 INTEGER" +msgstr "%L处 stat å˜é‡å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡ INTEGER å˜é‡" #: fortran/openmp.c:3344 #, fuzzy, gcc-internal-format -#| msgid "Actual argument for '%s' must be a pointer at %L" msgid "LINEAR dummy argument %qs must have VALUE attribute at %L" msgstr "‘%s’的实å‚在%L处必须是一个指针" @@ -49518,37 +48941,31 @@ msgstr "%L处的 IF 分å¥éœ€è¦ä¸€ä¸ªæ ‡é‡ LOGICAL 表达å¼" #: fortran/openmp.c:3401 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "NUM_THREADS clause at %L requires a scalar INTEGER expression" msgid "SAFELEN clause at %L requires a scalar INTEGER expression" msgstr "%L处的 NUM_THREADS 分å¥éœ€è¦ä¸€ä¸ªæ ‡é‡ INTEGER 表达å¼" #: fortran/openmp.c:3409 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "NUM_THREADS clause at %L requires a scalar INTEGER expression" msgid "SIMDLEN clause at %L requires a scalar INTEGER expression" msgstr "%L处的 NUM_THREADS 分å¥éœ€è¦ä¸€ä¸ªæ ‡é‡ INTEGER 表达å¼" #: fortran/openmp.c:3417 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "NUM_THREADS clause at %L requires a scalar INTEGER expression" msgid "NUM_TEAMS clause at %L requires a scalar INTEGER expression" msgstr "%L处的 NUM_THREADS 分å¥éœ€è¦ä¸€ä¸ªæ ‡é‡ INTEGER 表达å¼" #: fortran/openmp.c:3425 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "NUM_THREADS clause at %L requires a scalar INTEGER expression" msgid "DEVICE clause at %L requires a scalar INTEGER expression" msgstr "%L处的 NUM_THREADS 分å¥éœ€è¦ä¸€ä¸ªæ ‡é‡ INTEGER 表达å¼" #: fortran/openmp.c:3433 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression" msgid "DIST_SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression" msgstr "%L处的 SCHEDULE 分å¥çš„ chunk_size 需è¦ä¸€ä¸ªæ ‡é‡ INTEGER 表达å¼" #: fortran/openmp.c:3441 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "NUM_THREADS clause at %L requires a scalar INTEGER expression" msgid "THREAD_LIMIT clause at %L requires a scalar INTEGER expression" msgstr "%L处的 NUM_THREADS 分å¥éœ€è¦ä¸€ä¸ªæ ‡é‡ INTEGER 表达å¼" @@ -49578,14 +48995,14 @@ msgid "!$OMP ATOMIC CAPTURE update statement must set a scalar variable of intri msgstr "%L处 !$OMP ATOMIC è¯å¥å¿…é¡»è®¾å®šä¸€ä¸ªå†…å»ºç±»åž‹çš„æ ‡é‡å€¼" #: fortran/openmp.c:3639 fortran/openmp.c:3915 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC CAPTURE capture statement reads from different variable than update statement writes into at %L" -msgstr "" +msgstr "!$OMP 基元的截å–截å–å™è¿°è¯»å–从ä¸åŒçš„å˜é‡æ¯”æ›´æ–°å™è¿°å†™å…¥è¿›å…¥äºŽ %L" #: fortran/openmp.c:3655 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "!$OMP ATOMIC with ALLOCATABLE variable at %L" -msgstr "" +msgstr "%L处 !$OMP ATOMIC 内建函数的实å‚å¿…é¡»æ˜¯æ ‡é‡" #: fortran/openmp.c:3697 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -49619,7 +49036,6 @@ msgstr "%L处!$OMP ATOMIC 赋值内建函数必须是 MINã€MAXã€IANDã€IOR 或 #: fortran/openmp.c:3839 #, fuzzy, gcc-internal-format -#| msgid "!$OMP ATOMIC intrinsic arguments except one must not reference '%s' at %L" msgid "!$OMP ATOMIC intrinsic arguments except one must not reference %qs at %L" msgstr "!$OMP ATOMIC 内建函数的实å‚除一个以外ä¸èƒ½åœ¨%2$L处引用‘%1$s’" @@ -49630,7 +49046,6 @@ msgstr "%L处 !$OMP ATOMIC 内建函数的实å‚å¿…é¡»æ˜¯æ ‡é‡" #: fortran/openmp.c:3854 #, fuzzy, gcc-internal-format -#| msgid "First or last !$OMP ATOMIC intrinsic argument must be '%s' at %L" msgid "First or last !$OMP ATOMIC intrinsic argument must be %qs at %L" msgstr "第一个或最åŽä¸€ä¸ª !$OMP ATOMIC 内建函数实å‚在%2$L处必须是‘%1$s’" @@ -49646,60 +49061,51 @@ msgstr "%L处 !$OMP ATOMIC è¯å¥å¿…é¡»è®¾å®šä¸€ä¸ªå†…å»ºç±»åž‹çš„æ ‡é‡å€¼" #: fortran/openmp.c:4163 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "!$OMP DO cannot be a DO WHILE or DO without loop control at %L" msgid "%s cannot be a DO WHILE or DO without loop control at %L" msgstr "%L处 !$OMP DO ä¸èƒ½æ˜¯ä¸€ä¸ª DO WHILE 或ä¸å¸¦å¾ªçŽ¯æŽ§åˆ¶çš„ DO" #: fortran/openmp.c:4169 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "%s cannot be a DO CONCURRENT loop at %L" -msgstr "" +msgstr "%L处的 DO 循环ä¸çš„æ¥è¿›è¡¨è¾¾å¼ä¸èƒ½ä¸ºé›¶" #: fortran/openmp.c:4175 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "!$OMP DO iteration variable must be of type integer at %L" msgid "%s iteration variable must be of type integer at %L" -msgstr "%L处 !$OMP DO è¿ä»£å˜é‡å¿…须具有整数类型" +msgstr "%L处的表达å¼å¿…须具有 INTEGER 类型而ä¸æ˜¯ %s" #: fortran/openmp.c:4179 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "!$OMP DO iteration variable must not be THREADPRIVATE at %L" msgid "%s iteration variable must not be THREADPRIVATE at %L" msgstr "%L处 !$OMP DO è¿ä»£å˜é‡ä¸èƒ½æ˜¯ THREADPRIVATE" #: fortran/openmp.c:4192 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "!$OMP DO iteration variable present on clause other than PRIVATE or LASTPRIVATE at %L" msgid "%s iteration variable present on clause other than PRIVATE or LASTPRIVATE at %L" msgstr "%L处 !$OMP DO è¿ä»£å˜é‡å‡ºçŽ°åœ¨éž PRIVATE 或 LASTPRIVATE 分å¥ä¸" #: fortran/openmp.c:4196 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "!$OMP DO iteration variable present on clause other than PRIVATE or LASTPRIVATE at %L" msgid "%s iteration variable present on clause other than LASTPRIVATE at %L" msgstr "%L处 !$OMP DO è¿ä»£å˜é‡å‡ºçŽ°åœ¨éž PRIVATE 或 LASTPRIVATE 分å¥ä¸" #: fortran/openmp.c:4200 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "!$OMP DO iteration variable present on clause other than PRIVATE or LASTPRIVATE at %L" msgid "%s iteration variable present on clause other than LINEAR at %L" msgstr "%L处 !$OMP DO è¿ä»£å˜é‡å‡ºçŽ°åœ¨éž PRIVATE 或 LASTPRIVATE 分å¥ä¸" #: fortran/openmp.c:4218 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "!$OMP DO collapsed loops don't form rectangular iteration space at %L" msgid "%s collapsed loops don't form rectangular iteration space at %L" msgstr "%L处 !$OMP DO 折å 的循环ä¸å½¢æˆçŸ©å½¢è¿ä»£ç©ºé—´" #: fortran/openmp.c:4232 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "collapsed !$OMP DO loops not perfectly nested at %L" msgid "collapsed %s loops not perfectly nested at %L" -msgstr "折å çš„ !$OMP DO 循环没有完美的嵌套于%L处" +msgstr "折å 的循环没有完美的嵌套" #: fortran/openmp.c:4241 fortran/openmp.c:4249 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "not enough DO loops for collapsed !$OMP DO at %L" msgid "not enough DO loops for collapsed %s at %L" msgstr "%L处折å çš„ !$OMP DO 没有足够的 DO 循环" @@ -49710,31 +49116,26 @@ msgstr "" #: fortran/openmp.c:4363 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "!$OMP DO cannot be a DO WHILE or DO without loop control at %L" msgid "!$ACC LOOP cannot be a DO WHILE or DO without loop control at %L" msgstr "%L处 !$OMP DO ä¸èƒ½æ˜¯ä¸€ä¸ª DO WHILE 或ä¸å¸¦å¾ªçŽ¯æŽ§åˆ¶çš„ DO" #: fortran/openmp.c:4369 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "!$OMP DO iteration variable must be of type integer at %L" msgid "!$ACC LOOP iteration variable must be of type integer at %L" msgstr "%L处 !$OMP DO è¿ä»£å˜é‡å¿…须具有整数类型" #: fortran/openmp.c:4385 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "!$OMP DO collapsed loops don't form rectangular iteration space at %L" msgid "!$ACC LOOP %s loops don't form rectangular iteration space at %L" msgstr "%L处 !$OMP DO 折å 的循环ä¸å½¢æˆçŸ©å½¢è¿ä»£ç©ºé—´" #: fortran/openmp.c:4399 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "collapsed !$OMP DO loops not perfectly nested at %L" msgid "%s !$ACC LOOP loops not perfectly nested at %L" msgstr "折å çš„ !$OMP DO 循环没有完美的嵌套于%L处" #: fortran/openmp.c:4409 fortran/openmp.c:4418 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "not enough DO loops for collapsed !$OMP DO at %L" msgid "not enough DO loops for %s !$ACC LOOP at %L" msgstr "%L处折å çš„ !$OMP DO 没有足够的 DO 循环" @@ -49770,13 +49171,11 @@ msgstr "" #: fortran/openmp.c:4498 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "INTENT (%s) conflicts with INTENT(%s) at %L" msgid "Clause SEQ conflicts with INDEPENDENT at %L" msgstr "INTENT (%s) 与 INTENT(%s) 在 %L 冲çª" #: fortran/openmp.c:4500 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "%s attribute conflicts with %s attribute at %L" msgid "Clause SEQ conflicts with GANG at %L" msgstr "%s 属性与 %s 属性在%L处冲çª" @@ -49797,7 +49196,6 @@ msgstr "%L处的 SOURCE æ ‡è®°ä¸Ž%L处的类型指定冲çª" #: fortran/openmp.c:4511 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "%s attribute conflicts with %s attribute at %L" msgid "Clause AUTO conflicts with GANG at %L" msgstr "%s 属性与 %s 属性在%L处冲çª" @@ -49833,19 +49231,16 @@ msgstr "" #: fortran/openmp.c:4556 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "%qE is not a constant expression" msgid "TILE requires constant expression at %L" -msgstr "%qEä¸æ˜¯ä¸€ä¸ªå¸¸é‡è¡¨è¾¾å¼" +msgstr "%L处的 IF 分å¥éœ€è¦ä¸€ä¸ªæ ‡é‡ LOGICAL 表达å¼" #: fortran/openmp.c:4605 #, fuzzy, gcc-internal-format -#| msgid "sorry, unimplemented: " msgid "Sorry, !$ACC cache unimplemented yet" msgstr "对ä¸èµ·ï¼Œå°šæœªå®žçŽ°ï¼š" #: fortran/openmp.c:4627 #, fuzzy, gcc-internal-format -#| msgid "POINTER object '%s' in %s clause at %L" msgid "PARAMETER object %qs is not allowed at %L" msgstr "%3$L处 %2$s 分å¥ä¸çš„ POINTER 对象‘%1$s’" @@ -49906,61 +49301,51 @@ msgstr "对 Fortran 而言 -fexcess-precision=standard" #: fortran/options.c:304 #, fuzzy, gcc-internal-format -#| msgid "Reading file '%s' as free form" msgid "Reading file %qs as free form" -msgstr "将文件‘%sâ€™æŒ‰è‡ªç”±æ ¼å¼è¯»å…¥" +msgstr "å‡å®šæºæ–‡ä»¶æ˜¯è‡ªç”±æ ¼å¼" #: fortran/options.c:314 #, fuzzy, gcc-internal-format -#| msgid "'-fd-lines-as-comments' has no effect in free form" msgid "%<-fd-lines-as-comments%> has no effect in free form" msgstr "‘-fd-lines-as-commentsâ€™åœ¨è‡ªç”±æ ¼å¼ä¸Šä¸èµ·ä½œç”¨" #: fortran/options.c:317 #, fuzzy, gcc-internal-format -#| msgid "'-fd-lines-as-code' has no effect in free form" msgid "%<-fd-lines-as-code%> has no effect in free form" msgstr "‘-fd-lines-as-codeâ€™åœ¨è‡ªç”±æ ¼å¼ä¸Šä¸èµ·ä½œç”¨" #: fortran/options.c:348 #, fuzzy, gcc-internal-format -#| msgid "Flag -fno-automatic overwrites -fmax-stack-var-size=%d" msgid "Flag %<-fno-automatic%> overwrites %<-fmax-stack-var-size=%d%>" msgstr "选项 -fno-automatic 覆盖了 -fmax-stack-var-size=%d" #: fortran/options.c:351 #, fuzzy, gcc-internal-format -#| msgid "Flag -fno-automatic overwrites -frecursive" msgid "Flag %<-fno-automatic%> overwrites %<-frecursive%>" msgstr "选项 -fno-automatic 覆盖了 -frecursive" #: fortran/options.c:353 #, fuzzy, gcc-internal-format -#| msgid "Flag -fno-automatic overwrites -frecursive implied by -fopenmp" msgid "Flag %<-fno-automatic%> overwrites %<-frecursive%> implied by %<-fopenmp%>" msgstr "选项 -fno-automatic 覆盖了为 -fopenmp 所éšå¼æ‰“开的 -frecursive " #: fortran/options.c:356 #, fuzzy, gcc-internal-format -#| msgid "Flag -frecursive overwrites -fmax-stack-var-size=%d" msgid "Flag %<-frecursive%> overwrites %<-fmax-stack-var-size=%d%>" msgstr "选项 -frecursive 覆盖了 -fmax-stack-var-size=%d" #: fortran/options.c:359 #, fuzzy, gcc-internal-format -#| msgid "Flag -fmax-stack-var-size=%d overwrites -frecursive implied by -fopenmp" msgid "Flag %<-fmax-stack-var-size=%d%> overwrites %<-frecursive%> implied by %<-fopenmp%>" msgstr "选项 -fmax-stack-var-size=%d 覆盖了为-fopenmp 所éšå¼æ‰“开的 -frecursive" #: fortran/options.c:391 #, fuzzy, gcc-internal-format -#| msgid "Fixed line length must be at least seven." msgid "Fixed line length must be at least seven" msgstr "å›ºå®šæ ¼å¼çš„行长至少为七。" #: fortran/options.c:394 #, fuzzy, gcc-internal-format -#| msgid "Free line length must be at least three." msgid "Free line length must be at least three" msgstr "è‡ªç”±æ ¼å¼çš„行长至少为三。" @@ -49971,13 +49356,11 @@ msgstr "å记录长度ä¸èƒ½è¶…过 %d" #: fortran/options.c:416 #, fuzzy, gcc-internal-format -#| msgid "gfortran: Only one -J option allowed" msgid "gfortran: Only one %<-J%> option allowed" msgstr "gfortran:åªå…许使用一个 -J 选项" #: fortran/options.c:488 #, fuzzy, gcc-internal-format -#| msgid "Argument to -ffpe-trap is not valid: %s" msgid "Argument to %<-ffpe-trap%> is not valid: %s" msgstr "-ffpe-trap çš„å‚æ•°æ— æ•ˆï¼š%s" @@ -49988,15 +49371,13 @@ msgstr "-ffpe-trap çš„å‚æ•°æ— æ•ˆï¼š%s" #: fortran/options.c:530 #, fuzzy, gcc-internal-format -#| msgid "Argument to -fcheck is not valid: %s" msgid "Argument to %<-fcheck%> is not valid: %s" -msgstr "-fcheck çš„å‚æ•°æ— æ•ˆï¼š%s" +msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å‚æ•°" #: fortran/options.c:579 -#, fuzzy, gcc-internal-format -#| msgid "-static-libgfortran is not supported in this configuration" +#, gcc-internal-format msgid "%<-static-libgfortran%> is not supported in this configuration" -msgstr "-static-libgfortran 在æ¤é…置下ä¸å—支æŒ" +msgstr "%<-static-libgfortran%> 在æ¤é…置下ä¸å—支æŒ" #: fortran/options.c:602 #, gcc-internal-format, gfc-internal-format @@ -50005,15 +49386,13 @@ msgstr "支æŒçš„æ ‡è¯†ç¬¦çš„æœ€å¤§é•¿åº¦ä¸º %d" #: fortran/options.c:622 #, fuzzy, gcc-internal-format -#| msgid "Unrecognized option to -finit-logical: %s" msgid "Unrecognized option to %<-finit-logical%>: %s" -msgstr "-finit-logical é€‰é¡¹æ— æ³•è¯†åˆ«ï¼š-%s" +msgstr "%Pï¼šæ— æ³•è¯†åˆ«çš„é€‰é¡¹â€˜%s’\n" #: fortran/options.c:638 -#, fuzzy, gcc-internal-format -#| msgid "The value of n in -finit-character=n must be between 0 and 127" +#, gcc-internal-format msgid "The value of n in %<-finit-character=n%> must be between 0 and 127" -msgstr "-finit-character=n ä¸ n 的值必须在 0 å’Œ 127 之间" +msgstr "%<-finit-character=n%> ä¸ n 的值必须在 0 å’Œ 127 之间" #: fortran/parse.c:556 #, gcc-internal-format, gfc-internal-format @@ -50022,13 +49401,11 @@ msgstr "%Cè¯å¥æ— 法归类" #: fortran/parse.c:600 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures" msgid "OpenACC directives at %C may not appear in PURE procedures" msgstr "%C处的 OpenMP 指示ä¸èƒ½å‡ºçŽ°åœ¨ PURE 或 ELEMENTAL 过程ä¸" #: fortran/parse.c:665 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Unclassifiable OpenMP directive at %C" msgid "Unclassifiable OpenACC directive at %C" msgstr "%C处的 OpenMP æŒ‡ç¤ºæ— æ³•åˆ†ç±»" @@ -50084,9 +49461,8 @@ msgstr "%L处 FORMAT è¯å¥æ²¡æœ‰è¯å¥æ ‡å·" #: fortran/parse.c:2147 #, fuzzy, gcc-internal-format -#| msgid "gfc_trans_code(): Bad statement code" msgid "gfc_ascii_statement(): Bad statement code" -msgstr "gfc_trans_code():错误的è¯å¥ä»£ç " +msgstr "gfc_trans_omp_workshare():错误的è¯å¥ä»£ç " #: fortran/parse.c:2291 #, gcc-internal-format, gfc-internal-format @@ -50100,19 +49476,16 @@ msgstr "%s è¯å¥åœ¨%C处ä¸èƒ½è·Ÿéš %s è¯å¥åœ¨%L处" #: fortran/parse.c:2455 #, fuzzy, gcc-internal-format -#| msgid "Unexpected end of file in '%s'" msgid "Unexpected end of file in %qs" -msgstr "‘%s’ä¸éžé¢„期的文件结尾" +msgstr "脚本“%sâ€: 未预期结æŸçš„文件%s\n" #: fortran/parse.c:2487 #, fuzzy, gcc-internal-format -#| msgid "Derived-type '%s' with SEQUENCE must not have a CONTAINS section at %C" msgid "Derived-type %qs with SEQUENCE must not have a CONTAINS section at %C" msgstr "%2$C处带有 SEQUENCE 派生类型‘%1$s’ä¸èƒ½æœ‰ CONTAINS 节" #: fortran/parse.c:2490 #, fuzzy, gcc-internal-format -#| msgid "Derived-type '%s' with BIND(C) must not have a CONTAINS section at %C" msgid "Derived-type %qs with BIND(C) must not have a CONTAINS section at %C" msgstr "带 BIND(C) 的派生类‘%s’在%C处ä¸èƒ½æœ‰ CONTAINS 节" @@ -50134,12 +49507,12 @@ msgstr "%C 处的泛型绑定åŽæœ‰åžƒåœ¾å—符" #: fortran/parse.c:2530 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "FINAL procedure declaration at %C" -msgstr "Fortran 2003:%C处的的 FINAL 过程声明" +msgstr "%C处的 FINAL 声明必须在 CONTAINS 内" #: fortran/parse.c:2542 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Derived type definition at %C with empty CONTAINS section" -msgstr "Fortran 2008:%C的派生类型定义有空的 CONTAINS 节" +msgstr "%C处的 FINAL 声明必须在一个派生类型的 CONTAINS 节内" #: fortran/parse.c:2552 fortran/parse.c:2655 #, gcc-internal-format, gfc-internal-format @@ -50199,17 +49572,17 @@ msgstr "%C处é‡å¤çš„ SEQUENCE è¯å¥" #: fortran/parse.c:2700 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "CONTAINS block in derived type definition at %C" -msgstr "Fortran 2003:%C处的派生类型定义ä¸çš„ CONTAINS å—" +msgstr "%C处的 GENERIC 必须是在派生类型 CONTAINS 内" #: fortran/parse.c:2788 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Component %s at %L of type LOCK_TYPE must have a codimension or be a subcomponent of a coarray, which is not possible as the component has the pointer attribute" -msgstr "" +msgstr "æˆåˆ† %s 于 %L 的类型 LOCK_TYPE 必须有 codimension 或是 subcomponent çš„ coarray,该项ä¸æ˜¯å¯èƒ½çš„作为æˆåˆ†æœ‰æŒ‡æ ‡å±žæ€§" #: fortran/parse.c:2794 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Pointer component %s at %L has a noncoarray subcomponent of type LOCK_TYPE, which must have a codimension or be a subcomponent of a coarray" -msgstr "" +msgstr "æŒ‡æ ‡æˆåˆ† %s 于 %L 有 noncoarray subcomponent 的类型 LOCK_TYPE,该项必须有 codimension 或是 subcomponent çš„ coarray" #: fortran/parse.c:2799 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -50217,19 +49590,19 @@ msgid "Allocatable component %s at %L of type LOCK_TYPE must have a codimension" msgstr "%C处å¯åˆ†é…的组件必须有延迟的外形" #: fortran/parse.c:2803 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Allocatable component %s at %L must have a codimension as it has a noncoarray subcomponent of type LOCK_TYPE" -msgstr "" +msgstr "Allocatable æˆåˆ† %s 于 %L 必须有 codimension 作为它有 noncoarray subcomponent 的类型 LOCK_TYPE" #: fortran/parse.c:2808 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Noncoarray component %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must have a codimension or be a subcomponent of a coarray. (Variables of type %s may not have a codimension as already a coarray subcomponent exists)" -msgstr "" +msgstr "Noncoarray æˆåˆ† %s 于 %L 的类型 LOCK_TYPE 或与 subcomponent 的类型 LOCK_TYPE 必须有 codimension 或是 subcomponent çš„ coarray。(å˜é‡çš„类型 %s å¯èƒ½æ— 法有 codimension ä½œä¸ºå·²ç» coarray subcomponent å˜åœ¨)" #: fortran/parse.c:2815 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Noncoarray component %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must have a codimension or be a subcomponent of a coarray. (Variables of type %s may not have a codimension as %s at %L has a codimension or a coarray subcomponent)" -msgstr "" +msgstr "Noncoarray æˆåˆ† %s 于 %L 的类型 LOCK_TYPE 或与 subcomponent 的类型 LOCK_TYPE 必须有 codimension 或是 subcomponent çš„ coarray。(å˜é‡çš„类型 %s å¯èƒ½æ— 法有 codimension 作为 %s 于 %L 有 codimension 或 coarray subcomponent)" #: fortran/parse.c:2867 #, gcc-internal-format, gfc-internal-format @@ -50243,7 +49616,6 @@ msgstr "éžé¢„期的 %s è¯å¥å‡ºçŽ°åœ¨%C处的 INTERFACE å—ä¸" #: fortran/parse.c:2974 #, fuzzy, gcc-internal-format -#| msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type" msgid "Name %qs of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type" msgstr "%2$C处的 ABSTRACT INTERFACE çš„åå—‘%1$s’ä¸èƒ½ä¸Žå†…å»ºç±»åž‹ä¸€æ ·" @@ -50254,7 +49626,6 @@ msgstr "éžé¢„期的 %s è¯å¥å‡ºçŽ°åœ¨%C处的 INTERFACE 体ä¸" #: fortran/parse.c:3025 #, fuzzy, gcc-internal-format -#| msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure" msgid "INTERFACE procedure %qs at %L has the same name as the enclosing procedure" msgstr "%2$L处 INTERFACE 过程‘%1$s’有与外围过程相åŒçš„åå—" @@ -50280,13 +49651,11 @@ msgstr "%2$C处 %1$s è¯å¥å‡ºçŽ°åœ¨å…¶ä»–è®¿é—®è§„æ ¼ä¹‹åŽ" #: fortran/parse.c:3336 #, fuzzy, gcc-internal-format -#| msgid "Bad kind expression for function '%s' at %L" msgid "Bad kind expression for function %qs at %L" -msgstr "%2$L处的函数‘%1$s’ç§ç±»è¡¨è¾¾å¼é”™è¯¯" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/parse.c:3340 #, fuzzy, gcc-internal-format -#| msgid "The type for function '%s' at %L is not accessible" msgid "The type for function %qs at %L is not accessible" msgstr "%2$L处函数‘%1$s’的类型是ä¸å¯è®¿é—®çš„" @@ -50353,12 +49722,12 @@ msgstr "%C处 ENDDO ä¸çš„è¯å¥æ ‡å·ä¸Ž DO æ ‡å·ä¸åŒ¹é…" #: fortran/parse.c:3918 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "BLOCK construct at %C" -msgstr "Fortran 2008:%C处的 BLOCK 结构" +msgstr "ä½ç½®é”™è¯¯çš„%<@%D%>Objective-C++ æž„é€ " #: fortran/parse.c:3948 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "ASSOCIATE construct at %C" -msgstr "Fortran 2008:%C处的 BLOCK 结构" +msgstr "ä½ç½®é”™è¯¯çš„%<@%D%>Objective-C++ æž„é€ " #: fortran/parse.c:4048 #, gcc-internal-format, gfc-internal-format @@ -50371,9 +49740,9 @@ msgid "Named block DO at %L requires matching ENDDO name" msgstr "%L处有åçš„å— DO 需è¦åŒ¹é…çš„ ENDDO å" #: fortran/parse.c:4235 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Missing !$OMP END ATOMIC after !$OMP ATOMIC CAPTURE at %C" -msgstr "" +msgstr "缺少!$OMP 结æŸåŸºå…ƒçš„ä¹‹åŽ !$OMP 基元的截å–于 %C" #: fortran/parse.c:4251 fortran/parse.c:4308 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -50383,13 +49752,12 @@ msgstr "没有在%C处å‘现 COMMON å— /%s/" #: fortran/parse.c:4284 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Expecting %s at %C" -msgstr "éœ€è¦ %s è¯å¥ï¼ŒäºŽ %C" +msgstr "%C处需è¦æœ‰å实体列表" #: fortran/parse.c:4327 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Expected '(' at %C" msgid "Expected DO loop at %C" -msgstr "在%C处需è¦â€˜(’" +msgstr "DO 循环ä¸çš„开始表达å¼" #: fortran/parse.c:4347 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -50413,7 +49781,6 @@ msgstr "%L处 FORMAT è¯å¥æ²¡æœ‰è¯å¥æ ‡å·" #: fortran/parse.c:4858 #, fuzzy, gcc-internal-format -#| msgid "Contained procedure '%s' at %C is already ambiguous" msgid "Contained procedure %qs at %C is already ambiguous" msgstr "%2$C处包å«çš„过程‘%1$s’已ç»æœ‰æ§ä¹‰" @@ -50541,9 +49908,9 @@ msgid "BOZ used outside a DATA statement at %C" msgstr "Fortran 2003:%C处的 BOZ 用在了 DATA è¯å¥ä¹‹å¤–" #: fortran/primary.c:557 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "exponent-letter 'q' in real-literal-constant at %C" -msgstr "" +msgstr "æ— æ•ˆçš„ exponent-letter‘qâ€™åœ¨ä¸ real-literal-constant 于 %C" #: fortran/primary.c:562 #, fuzzy, gcc-internal-format @@ -50557,7 +49924,6 @@ msgstr "%C处实数缺少指数部分" #: fortran/primary.c:634 #, fuzzy, gcc-internal-format -#| msgid "Real number at %C has a 'd' exponent and an explicit kind" msgid "Real number at %C has a %<d%> exponent and an explicit kind" msgstr "%C处的实数有一个‘d’指数和一个显å¼çš„ç§åˆ«" @@ -50608,7 +49974,6 @@ msgstr "开始于 %C 的未终结的å—符常é‡" #: fortran/primary.c:1086 #, fuzzy, gcc-internal-format -#| msgid "Character '%s' in string at %C is not representable in character kind %d" msgid "Character %qs in string at %C is not representable in character kind %d" msgstr "%2$C处å—符串ä¸çš„å—符‘%1$s’在å—符ç§åˆ« %3$d ä¸ä¸å¯è¡¨ç¤º" @@ -50659,14 +50024,13 @@ msgstr "%C处的å¤å¸¸é‡è¯æ³•é”™è¯¯" #: fortran/primary.c:1583 #, fuzzy, gcc-internal-format -#| msgid "Keyword '%s' at %C has already appeared in the current argument list" msgid "Keyword %qs at %C has already appeared in the current argument list" msgstr "关键å—‘%s’在%C处已ç»å‡ºçŽ°åœ¨å½“å‰å®žå‚列表ä¸" #: fortran/primary.c:1647 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "argument list function at %C" -msgstr "%L处å‚数列表函数未知" +msgstr "%C处需è¦å®žå‚列表" #: fortran/primary.c:1715 #, gcc-internal-format, gfc-internal-format @@ -50689,9 +50053,9 @@ msgid "extend_ref(): Bad tail" msgstr "" #: fortran/primary.c:1842 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Array section designator, e.g. '(:)', is required besides the coarray designator '[...]' at %C" -msgstr "" +msgstr "数组区段指示项,例如:‘(:)’,被必è¦é¡¹åœ¨æ—è¾¹ coarray 指示项‘[...]’于 %C" #: fortran/primary.c:1850 #, fuzzy, gcc-internal-format @@ -50701,7 +50065,7 @@ msgstr "在 %2$L 处的函数“%1$sâ€æ˜¯ INTRINSIC,但ä¸æ˜¯ä¸Žä¸€ä¸ªå†…建å #: fortran/primary.c:1920 #, fuzzy, gcc-internal-format msgid "Symbol %qs at %C has no IMPLICIT type" -msgstr "%2$L处的符å·â€˜%1$s’没有éšå¼ç±»åž‹" +msgstr "å—æ¯ %c 在%C处已ç»æœ‰äº†ä¸€ä¸ªéšå¼ç±»åž‹" #: fortran/primary.c:1926 #, fuzzy, gcc-internal-format @@ -50726,7 +50090,7 @@ msgstr "%3$L处带有 PASS(%2$s)的过程指针组件‘%1$s’没有å‚数‘%4 #: fortran/primary.c:2113 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Coindexed procedure-pointer component at %C" -msgstr "Fortran 2003:%C处的过程指针组件" +msgstr "%C处过程指针组件è¯æ³•é”™è¯¯" #: fortran/primary.c:2148 #, fuzzy, gcc-internal-format @@ -50735,7 +50099,6 @@ msgstr "数组ä¸èƒ½è¢«å–指" #: fortran/primary.c:2216 #, fuzzy, gcc-internal-format -#| msgid "creating array of references" msgid "gfc_variable_attr(): Bad array reference" msgstr "创建引用的数组" @@ -50746,13 +50109,11 @@ msgstr "Fortran 2003:%Cå¤„çš„ç»“æž„æž„é€ å‡½æ•°ä¸¢å¤±å¯é€‰çš„å‚æ•°" #: fortran/primary.c:2395 #, fuzzy, gcc-internal-format -#| msgid "No initializer for component '%s' given in the structure constructor at %C!" msgid "No initializer for allocatable component '%qs' given in the structure constructor at %C" msgstr "%2$Cå¤„ç»“æž„æž„é€ å‡½æ•°ä¸æ²¡æœ‰ç»„件‘%1$s’的åˆå§‹å€¼è®¾å®šï¼" #: fortran/primary.c:2402 #, fuzzy, gcc-internal-format -#| msgid "No initializer for component '%s' given in the structure constructor at %C!" msgid "No initializer for component %qs given in the structure constructor at %C!" msgstr "%2$Cå¤„ç»“æž„æž„é€ å‡½æ•°ä¸æ²¡æœ‰ç»„件‘%1$s’的åˆå§‹å€¼è®¾å®šï¼" @@ -50788,45 +50149,38 @@ msgstr "%Cå¤„ç»“æž„æž„é€ å‡½æ•°ä¸ç»„件太多ï¼" #: fortran/primary.c:2593 #, fuzzy, gcc-internal-format -#| msgid "component '%s' at %L has already been set by a parent derived type constructor" msgid "component %qs at %L has already been set by a parent derived type constructor" msgstr "%2$L处的组件‘%1$sâ€™å·²è¢«åŸºç±»æ´¾ç”Ÿç±»åž‹æž„é€ å‡½æ•°æ‰€è®¾ç½®" #: fortran/primary.c:2776 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %C is the name of a recursive function and so refers to the result variable. Use an explicit RESULT variable for direct recursion (12.5.2.1)" msgid "%qs at %C is the name of a recursive function and so refers to the result variable. Use an explicit RESULT variable for direct recursion (12.5.2.1)" msgstr "%2$C处的‘%1$s’是一个递归函数的åå—åŒæ—¶ä¹Ÿæ˜¯è¿”回值å˜é‡ã€‚请为直接递归使用一个显å¼çš„ RESULT å˜é‡(12.5.2.1)" #: fortran/primary.c:2899 #, fuzzy, gcc-internal-format -#| msgid "Unexpected use of subroutine name '%s' at %C" msgid "Unexpected use of subroutine name %qs at %C" msgstr "对å进程å‘%s’éžé¢„期的使用,在%C处" #: fortran/primary.c:2930 #, fuzzy, gcc-internal-format -#| msgid "Statement function '%s' requires argument list at %C" msgid "Statement function %qs requires argument list at %C" msgstr "è¯å¥å‡½æ•°â€˜%s’在%C处缺少å‚数列表" #: fortran/primary.c:2933 #, fuzzy, gcc-internal-format -#| msgid "Function '%s' requires an argument list at %C" msgid "Function %qs requires an argument list at %C" -msgstr "函数‘%s’在 %C 需è¦å‚数列表" +msgstr "函数定义在%C处需è¦å½¢å‚列表" #: fortran/primary.c:2983 #, fuzzy, gcc-internal-format -#| msgid "Missing argument to '%s' at %C" msgid "Missing argument to %qs at %C" -msgstr "‘%s’在%C处缺少实å‚" +msgstr "%qs缺少å‚æ•°" #: fortran/primary.c:3139 #, fuzzy, gcc-internal-format -#| msgid "Missing argument list in function '%s' at %C" msgid "Missing argument list in function %qs at %C" -msgstr "函数‘%s’在%C处缺少å‚数列表" +msgstr "%C处的实å‚数列ä¸ç¼ºå°‘关键å—å" #: fortran/primary.c:3173 #, gcc-internal-format, gfc-internal-format @@ -50840,19 +50194,16 @@ msgstr "%C处有å常é‡å‡ºçŽ°åœ¨ EQUIVALENCE ä¸" #: fortran/primary.c:3306 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %C is not a variable" msgid "%qs at %C is not a variable" -msgstr "%2$C处的‘%1$s’ä¸æ˜¯ä¸€ä¸ªå˜é‡" +msgstr "为 auto å˜é‡%2$qE指定了%1$qs" #: fortran/resolve.c:125 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L is of the ABSTRACT type '%s'" msgid "%qs at %L is of the ABSTRACT type %qs" -msgstr "%2$L处的‘%1$s’具有 ABSTRACT 类型‘%3$s’" +msgstr "属性%qsçš„å…ƒç´ ç±»åž‹æ— æ•ˆ" #: fortran/resolve.c:128 #, fuzzy, gcc-internal-format -#| msgid "ABSTRACT type '%s' used at %L" msgid "ABSTRACT type %qs used at %L" msgstr "%2$L处使用了 ABSTRACT 类型‘%1$s’" @@ -50879,23 +50230,20 @@ msgstr "内建过程‘%s’ä¸å…许在 %C çš„ PROCEDURE è¯å¥ä¸" #: fortran/resolve.c:180 #, fuzzy, gcc-internal-format msgid "Interface %qs at %L must be explicit" -msgstr "%3$L处过程‘%2$s’的接å£â€˜%1$s’必须是显å¼çš„" +msgstr "%L处的è¿ç®—符接å£å¿…须是一个 SUBROUTINE" #: fortran/resolve.c:202 #, fuzzy, gcc-internal-format -#| msgid "PROCEDURE '%s' at %L may not be used as its own interface" msgid "PROCEDURE %qs at %L may not be used as its own interface" msgstr "%2$L处的 PROCEDURE‘%1$s’ä¸èƒ½è¢«ç”¨ä½œå…¶è‡ªèº«çš„接å£" #: fortran/resolve.c:296 #, fuzzy, gcc-internal-format -#| msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed" msgid "Alternate return specifier in elemental subroutine %qs at %L is not allowed" msgstr "å…ƒç´ å进程‘%s’ä¸çš„替代返回é™å®šç¬¦åœ¨%L处ä¸è¢«å…许" #: fortran/resolve.c:300 #, fuzzy, gcc-internal-format -#| msgid "Alternate return specifier in function '%s' at %L is not allowed" msgid "Alternate return specifier in function %qs at %L is not allowed" msgstr "函数‘%s’ä¸çš„替代返回é™å®šç¬¦åœ¨%L处ä¸è¢«å…许" @@ -50906,7 +50254,6 @@ msgstr "%2$L处关键å—实å‚‘%1$s’ä¸åœ¨è¿‡ç¨‹é‡Œ" #: fortran/resolve.c:383 #, fuzzy, gcc-internal-format -#| msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE" msgid "Dummy procedure %qs of PURE procedure at %L must also be PURE" msgstr "%2$L处 PURE 过程的哑过程‘%1$s’必须也是 PURE" @@ -50942,7 +50289,6 @@ msgstr "%2$L处关键å—实å‚‘%1$s’ä¸åœ¨è¿‡ç¨‹é‡Œ" #: fortran/resolve.c:462 #, fuzzy, gcc-internal-format -#| msgid "Argument '%s' of elemental procedure at %L must be scalar" msgid "Argument %qs of elemental procedure at %L must be scalar" msgstr "å…ƒç´ è¿‡ç¨‹çš„å®žå‚‘%s’在%Lå¤„å¿…é¡»æ˜¯æ ‡é‡" @@ -50953,13 +50299,11 @@ msgstr "在 %2$L 处基本过程的å‚数“%1$sâ€ä¸èƒ½æœ‰ POINTER 属性" #: fortran/resolve.c:481 #, fuzzy, gcc-internal-format -#| msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute" msgid "Argument %qs of elemental procedure at %L cannot have the POINTER attribute" msgstr "%2$L处基本过程的å‚数‘%1$s’ä¸èƒ½æœ‰ POINTER 属性" #: fortran/resolve.c:489 #, fuzzy, gcc-internal-format -#| msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L" msgid "Dummy procedure %qs not allowed in elemental procedure %qs at %L" msgstr "%3$L处哑过程‘%1$s’ä¸èƒ½å‡ºçŽ°åœ¨åŸºæœ¬è¿‡ç¨‹â€˜%2$s’ä¸" @@ -50970,31 +50314,26 @@ msgstr "%3$L处纯å进程‘%2$s’的å‚数‘%1$s’必须指定其 INTENT" #: fortran/resolve.c:511 #, fuzzy, gcc-internal-format -#| msgid "Argument '%s' of statement function at %L must be scalar" msgid "Argument %qs of statement function at %L must be scalar" -msgstr "è¯å¥å‡½æ•°çš„实å‚‘%s’在%Lå¤„å¿…é¡»æ˜¯æ ‡é‡" +msgstr "%L处 SELECT è¯å¥ä¸çš„实å‚å¿…é¡»ä¸ºæ ‡é‡" #: fortran/resolve.c:521 #, fuzzy, gcc-internal-format -#| msgid "Character-valued argument '%s' of statement function at %L must have constant length" msgid "Character-valued argument %qs of statement function at %L must have constant length" msgstr "%2$L处è¯å¥å‡½æ•°æœ‰å—符值的å‚数‘%1$s’必须有常é‡é•¿åº¦" #: fortran/resolve.c:579 #, fuzzy, gcc-internal-format -#| msgid "Contained function '%s' at %L has no IMPLICIT type" msgid "Contained function %qs at %L has no IMPLICIT type" msgstr "%2$L处的包å«å‡½æ•°â€˜%1$s’没有éšå¼ç±»åž‹" #: fortran/resolve.c:582 #, fuzzy, gcc-internal-format -#| msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type" msgid "Result %qs of contained function %qs at %L has no IMPLICIT type" msgstr "%3$L处包å«å‡½æ•°â€˜%2$s’的结果‘%1$s’没有 IMPLICIT 类型" #: fortran/resolve.c:606 #, fuzzy, gcc-internal-format -#| msgid "Character-valued %s '%s' at %L must not be assumed length" msgid "Character-valued %s %qs at %L must not be assumed length" msgstr "%3$L处有å—符值的 %1$s‘%2$s’ä¸èƒ½æ˜¯å‡å®šé•¿åº¦çš„" @@ -51040,13 +50379,11 @@ msgstr "%4$L处函数 %2$s ä¸å…¥å£è¿”回值 %1$s ä¸èƒ½å…·æœ‰ %3$s å…·åž‹" #: fortran/resolve.c:925 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed" msgid "Variable %qs at %L is in COMMON but only in BLOCK DATA initialization is allowed" msgstr "%2$L处å˜é‡â€˜%1$s’是在 COMMON ä¸, 但åˆå§‹åŒ–ä»…å…许出现在 BLOCK DATA ä¸" #: fortran/resolve.c:929 #, fuzzy, gcc-internal-format -#| msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks" msgid "Initialized variable %qs at %L is in a blank COMMON but initialization is only allowed in named common blocks" msgstr "%2$L处被åˆå§‹åŒ–çš„å˜é‡â€˜%1$s’是在一个空白 COMMON ä¸ï¼Œä½†æ˜¯åˆå§‹åŒ–仅容许出现在有å公用å—ä¸" @@ -51057,19 +50394,16 @@ msgstr "" #: fortran/resolve.c:944 #, fuzzy, gcc-internal-format -#| msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" msgid "Derived type variable %qs in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute" msgstr "%2$L处 COMMON ä¸çš„派生类型å˜é‡â€˜%1$s’既没有 SEQUENCE 也没有 BIND(C) 属性" #: fortran/resolve.c:948 #, fuzzy, gcc-internal-format -#| msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable" msgid "Derived type variable %qs in COMMON at %L has an ultimate component that is allocatable" msgstr "%2$L处 COMMON ä¸çš„派生类型å˜é‡â€˜%1$s’有一个å¯åˆ†é…的最终组件" #: fortran/resolve.c:952 #, fuzzy, gcc-internal-format -#| msgid "Derived type variable '%s' in COMMON at %L may not have default initializer" msgid "Derived type variable %qs in COMMON at %L may not have default initializer" msgstr "%2$L处 COMMON ä¸çš„派生类型å˜é‡â€˜%1$s’ä¸èƒ½æœ‰é»˜è®¤çš„åˆå§‹å€¼è®¾å®š" @@ -51105,7 +50439,6 @@ msgstr "%2$L处å˜é‡â€˜%1$s’ä¸èƒ½æ—¢æœ‰ POINTER åˆæœ‰ BIND(C) 属性" #: fortran/resolve.c:1069 #, fuzzy, gcc-internal-format -#| msgid "COMMON block '%s' at %L is also an intrinsic procedure" msgid "COMMON block %qs at %L is also an intrinsic procedure" msgstr "%2$L处的 COMMON å—‘%1$s’也是一个内建过程" @@ -51147,7 +50480,7 @@ msgstr "%L处指针组件‘%sâ€™çš„æ´¾ç”Ÿç±»åž‹æž„é€ å‡½æ•°ä¸çš„å…ƒç´ åº”è¯¥æ˜ #: fortran/resolve.c:1331 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Pointer initialization target at %L must not be ALLOCATABLE " -msgstr "%2$L处‘%1$sâ€™çš„ä¼ é€’å¯¹è±¡è™šå‚ä¸èƒ½æ˜¯ ALLOCATABLE" +msgstr "%L处的分é…对象必须是 ALLOCATABLE 或 POINTER" #: fortran/resolve.c:1349 #, fuzzy, gcc-internal-format @@ -51156,49 +50489,41 @@ msgstr "%2$L处指针组件‘%1$sâ€™çš„æ´¾ç”Ÿç±»åž‹æž„é€ å‡½æ•°ä¸è¡¨è¾¾å¼æ— æ #: fortran/resolve.c:1474 #, fuzzy, gcc-internal-format -#| msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L" msgid "The upper bound in the last dimension must appear in the reference to the assumed size array %qs at %L" msgstr "最åŽä¸€ç»´çš„上é™å¿…须出现在对在%2$L处å‡å®šå¤§å°æ•°ç»„‘%1$s’的引用ä¸" #: fortran/resolve.c:1536 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L is ambiguous" msgid "%qs at %L is ambiguous" msgstr "‘%s’(ä½äºŽ %L)有æ§ä¹‰" #: fortran/resolve.c:1540 #, fuzzy, gcc-internal-format -#| msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L" msgid "GENERIC procedure %qs is not allowed as an actual argument at %L" msgstr "GENERIC 过程‘%s’在%L处ä¸å…许用作实å‚" #: fortran/resolve.c:1661 #, fuzzy, gcc-internal-format -#| msgid "Type specified for intrinsic function '%s' at %L is ignored" msgid "Type specified for intrinsic function %qs at %L is ignored" msgstr "%2$L处为内建函数‘%1$s’指定的类型被忽略" #: fortran/resolve.c:1674 #, fuzzy, gcc-internal-format -#| msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier" msgid "Intrinsic subroutine %qs at %L shall not have a type specifier" msgstr "%2$L处的内建å例程‘%1$s’ä¸åº”该有类型é™å®šç¬¦" #: fortran/resolve.c:1685 #, fuzzy, gcc-internal-format -#| msgid "'%s' declared INTRINSIC at %L does not exist" msgid "%qs declared INTRINSIC at %L does not exist" msgstr "%2$L 处‘%1$s’声明的 INTRINSIC ä¸å˜åœ¨" #: fortran/resolve.c:1698 #, fuzzy, gcc-internal-format -#| msgid "The intrinsic '%s' declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate -std=* option or enable -fall-intrinsics in order to use it." msgid "The intrinsic %qs declared INTRINSIC at %L is not available in the current standard settings but %s. Use an appropriate %<-std=*%> option or enable %<-fall-intrinsics%> in order to use it." msgstr "在%2$L处由内建函数‘%1$s’声明的 INTRINSIC 在当å‰çš„æ ‡å‡†è®¾ç½®ä¸æ˜¯ä¸å¯ç”¨çš„,但在 %3$s 下å¯ç”¨ã€‚使用一个适当的 -std=* 选项或å¯ç”¨ -fall-intrinsics 以便使用它。" #: fortran/resolve.c:1734 #, fuzzy, gcc-internal-format -#| msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively. Declare it RECURSIVE or use -frecursive" msgid "Non-RECURSIVE procedure %qs at %L is possibly calling itself recursively. Declare it RECURSIVE or use %<-frecursive%>" msgstr "%2$Lå¤„éž RECURSIVE 过程‘%1$s’å¯èƒ½é€’归地调用它自己。请将它声明为 RECURSIVE 或使用 -frecursive" @@ -51209,13 +50534,11 @@ msgstr "æ ‡å· %d(引用自 %L)从未被定义" #: fortran/resolve.c:1816 #, fuzzy, gcc-internal-format -#| msgid "Statement function '%s' at %L is not allowed as an actual argument" msgid "Statement function %qs at %L is not allowed as an actual argument" msgstr "è¯å¥å‡½æ•°â€˜%s’在%L处ä¸å…许用作实å‚" #: fortran/resolve.c:1824 #, fuzzy, gcc-internal-format -#| msgid "Intrinsic '%s' at %L is not allowed as an actual argument" msgid "Intrinsic %qs at %L is not allowed as an actual argument" msgstr "内建函数‘%s’在%L处ä¸å…许用作实å‚" @@ -51226,21 +50549,18 @@ msgstr "内部过程‘%s’在%L处ä¸å…许用作实å‚" #: fortran/resolve.c:1839 #, fuzzy, gcc-internal-format -#| msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L" msgid "ELEMENTAL non-INTRINSIC procedure %qs is not allowed as an actual argument at %L" msgstr "ELEMENTAL éž INTRINSIC 过程‘%s’ä¸å…许在%L处作为实际å‚æ•°" #: fortran/resolve.c:1866 #, fuzzy, gcc-internal-format -#| msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L" msgid "Unable to find a specific INTRINSIC procedure for the reference %qs at %L" msgstr "%2$L处对‘%1$s’的引用找ä¸åˆ°ç‰¹å®šçš„ INTRINSIC 过程" #: fortran/resolve.c:1888 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' at %L is ambiguous" msgid "Symbol %qs at %L is ambiguous" -msgstr "符å·â€˜%s’(ä½äºŽ %L)有æ§ä¹‰" +msgstr "%C处 TYPE 定义ä¸çš„æ§ä¹‰ç¬¦å·" #: fortran/resolve.c:1943 #, gcc-internal-format, gfc-internal-format @@ -51264,24 +50584,21 @@ msgstr "ä¸å…许按ä½ç½®ä¼ 递%L处的内部过程" #: fortran/resolve.c:1987 #, fuzzy, gcc-internal-format -#| msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L" msgid "ELEMENTAL procedure pointer component %qs is not allowed as an actual argument at %L" msgstr "ELEMENTAL éž INTRINSIC 过程‘%s’ä¸å…许在%L处作为实际å‚æ•°" #: fortran/resolve.c:1996 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Coindexed actual argument at %L with ultimate pointer component" -msgstr "" +msgstr "Coindexed 实际å‚数于 %L 与 ultimate æŒ‡æ ‡æˆåˆ†" #: fortran/resolve.c:2127 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)" msgid "%qs at %L is an array and OPTIONAL; IF IT IS MISSING, it cannot be the actual argument of an ELEMENTAL procedure unless there is a non-optional argument with the same rank (12.4.1.5)" msgstr "%2$L处的‘%1$s’是个数组且是å¯é€‰çš„;如果它缺失, 它ä¸èƒ½æ˜¯ä¸€ä¸ª ELEMENTAL 过程的实际å‚数,除éžæœ‰ä¸€ä¸ªå…·æœ‰ç›¸åŒç§©çš„éžå¯é€‰çš„å‚æ•°(12.4.1.5)" #: fortran/resolve.c:2164 #, fuzzy, gcc-internal-format -#| msgid "Actual argument at %L for INTENT(%s) dummy '%s' of ELEMENTAL subroutine '%s' is a scalar, but another actual argument is an array" msgid "Actual argument at %L for INTENT(%s) dummy %qs of ELEMENTAL subroutine %qs is a scalar, but another actual argument is an array" msgstr "%1$L处 ELEMENTAL å程åºâ€˜%4$s’的 INTENT(%2$s) 哑‘%3$s’的实际å‚æ•°æ˜¯ä¸€ä¸ªæ ‡é‡ï¼Œä½†æ˜¯å¦ä¸€ä¸ªå®žé™…å‚数是一个数组" @@ -51293,35 +50610,30 @@ msgstr "函数ä¸èƒ½è¿”回函数" #: fortran/resolve.c:2457 #, fuzzy, gcc-internal-format msgid "Interface mismatch in global procedure %qs at %L: %s " -msgstr "哑过程‘%s’接å£åœ¨%L处ä¸åŒ¹é…:%s" +msgstr "%L处过程指针赋值ä¸æŽ¥å£ä¸åŒ¹é…:%s" #: fortran/resolve.c:2565 #, fuzzy, gcc-internal-format -#| msgid "There is no specific function for the generic '%s' at %L" msgid "There is no specific function for the generic %qs at %L" msgstr "%2$L处的泛型‘%1$s’没有指定的函数" #: fortran/resolve.c:2583 #, fuzzy, gcc-internal-format -#| msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface" msgid "Generic function %qs at %L is not consistent with a specific intrinsic interface" msgstr "%2$L处泛型函数‘%1$s’与特定的内建接å£ä¸ä¸€è‡´" #: fortran/resolve.c:2621 #, fuzzy, gcc-internal-format -#| msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic" msgid "Function %qs at %L is INTRINSIC but is not compatible with an intrinsic" -msgstr "%2$L处的函数‘%1$s’是 INTRINSIC,但与内建函数ä¸å…¼å®¹" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/resolve.c:2676 #, fuzzy, gcc-internal-format -#| msgid "Unable to resolve the specific function '%s' at %L" msgid "Unable to resolve the specific function %qs at %L" msgstr "ä¸èƒ½è§£æž %2$L处的函数‘%1$s’" #: fortran/resolve.c:2732 fortran/resolve.c:14805 #, fuzzy, gcc-internal-format -#| msgid "Function '%s' at %L has no IMPLICIT type" msgid "Function %qs at %L has no IMPLICIT type" msgstr "%2$L处的函数‘%1$s’没有éšå¼ç±»åž‹" @@ -51342,50 +50654,42 @@ msgstr "%2$Lå¤„å¯¹éž PURE 函数‘%1$s’的引用出现在 FORALL %3$s ä¸" #: fortran/resolve.c:2918 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L is not a function" msgid "%qs at %L is not a function" -msgstr "%2$L处的‘%1$s’ä¸æ˜¯ä¸€ä¸ªå‡½æ•°" +msgstr "在函数%qsä¸" #: fortran/resolve.c:2926 fortran/resolve.c:3396 #, fuzzy, gcc-internal-format -#| msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L" msgid "ABSTRACT INTERFACE %qs must not be referenced at %L" msgstr "%2$L处的 ABSTRACT INTERFACE‘%1$s’ä¸èƒ½è¢«å¼•ç”¨" #. Internal procedures are taken care of in resolve_contained_fntype. #: fortran/resolve.c:2969 #, fuzzy, gcc-internal-format -#| msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" msgid "Function %qs is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument" msgstr "函数‘%s’被声明为 CHARACTER(*)从而ä¸èƒ½è¢«ä½¿ç”¨åœ¨%Lå¤„ï¼Œå› ä¸ºå®ƒä¸æ˜¯ä¸€ä¸ªè™šå‚" #: fortran/resolve.c:3003 #, fuzzy, gcc-internal-format -#| msgid "<unresolved overloaded function type>" msgid "resolve_function(): bad function type" -msgstr "<未解决的é‡è½½å‡½æ•°ç±»åž‹>" +msgstr "ä¸è‰¯çš„ C++ 方法函数类型" #: fortran/resolve.c:3023 #, fuzzy, gcc-internal-format -#| msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct" msgid "User defined non-ELEMENTAL function %qs at %L not allowed in WORKSHARE construct" -msgstr "%2$Lå¤„ç”¨æˆ·å®šä¹‰çš„éž ELEMENTAL 函数‘%1$s’ä¸å®¹è®¸å‡ºçŽ°åœ¨ WORKSHARE æž„é€ ä¸" +msgstr "%2$Lå¤„ç”¨æˆ·å®šä¹‰çš„éž ELEMENTAL 函数‘%1$s’ä¸å…许出现在 WORKSHARE æž„é€ ä¸" #: fortran/resolve.c:3085 #, fuzzy, gcc-internal-format -#| msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE" msgid "ENTRY %qs at %L cannot be called recursively, as function %qs is not RECURSIVE" msgstr "%2$L处 ENTRY‘%1$s’ä¸èƒ½é€’å½’è°ƒç”¨ï¼Œå› ä¸ºå‡½æ•°â€˜%3$sâ€™å¹¶éž RECURSIVE" #: fortran/resolve.c:3089 #, fuzzy, gcc-internal-format -#| msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE" msgid "Function %qs at %L cannot be called recursively, as it is not RECURSIVE" msgstr "%2$L处的函数‘%1$s’ä¸èƒ½è¢«é€’å½’è°ƒç”¨ï¼Œå› ä¸ºå®ƒå¹¶éž RECURSIVE" #: fortran/resolve.c:3140 #, fuzzy, gcc-internal-format -#| msgid "Subroutine call to '%s' in FORALL block at %L is not PURE" msgid "Subroutine call to %qs in FORALL block at %L is not PURE" msgstr "%2$L处 FORALL å—内对‘%1$s’å例程的调用ä¸æ˜¯ PURE" @@ -51396,31 +50700,26 @@ msgstr "%2$L处 FORALL å—内对‘%1$s’å例程的调用ä¸æ˜¯ PURE" #: fortran/resolve.c:3152 #, fuzzy, gcc-internal-format -#| msgid "Subroutine call to '%s' at %L is not PURE" msgid "Subroutine call to %qs at %L is not PURE" -msgstr "%2$L处调用‘%1$s’的å例程ä¸æ˜¯ PURE" +msgstr "%L处å进程调用缺少替代返回é™å®š" #: fortran/resolve.c:3220 #, fuzzy, gcc-internal-format -#| msgid "There is no specific subroutine for the generic '%s' at %L" msgid "There is no specific subroutine for the generic %qs at %L" msgstr "泛型‘%s’在%L处没有特定的å进程" #: fortran/resolve.c:3229 #, fuzzy, gcc-internal-format -#| msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface" msgid "Generic subroutine %qs at %L is not consistent with an intrinsic subroutine interface" msgstr "%2$L处泛型å进程‘%1$s’与一个内建å进程接å£ä¸ä¸€è‡´" #: fortran/resolve.c:3264 #, fuzzy, gcc-internal-format -#| msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic" msgid "Subroutine %qs at %L is INTRINSIC but is not compatible with an intrinsic" -msgstr "%2$L处的å进程‘%1$s’是 INTRINSIC,但与内建函数ä¸å…¼å®¹" +msgstr "%2$L 处åˆå§‹åŒ–表达å¼ä¸çš„函数 ‘%1$qs’ 必须是一个内建函数" #: fortran/resolve.c:3309 #, fuzzy, gcc-internal-format -#| msgid "Unable to resolve the specific subroutine '%s' at %L" msgid "Unable to resolve the specific subroutine %qs at %L" msgstr "ä¸èƒ½è§£å†³%2$L处的指定å例程‘%1$s’" @@ -51431,21 +50730,18 @@ msgstr "%2$L处的‘%1$s’的类型与%3$L处 CALL 的类型ä¸ä¸€è‡´" #: fortran/resolve.c:3406 #, fuzzy, gcc-internal-format -#| msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE" msgid "ENTRY %qs at %L cannot be called recursively, as subroutine %qs is not RECURSIVE" msgstr "%2$L处 ENTRY‘%1$s’ä¸èƒ½è¢«é€’å½’è°ƒç”¨ï¼Œå› ä¸ºå进程‘%3$sâ€™å¹¶éž RECURSIVE" #: fortran/resolve.c:3410 #, fuzzy, gcc-internal-format -#| msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE" msgid "SUBROUTINE %qs at %L cannot be called recursively, as it is not RECURSIVE" msgstr "%2$L处 SUBROUTINE‘%1$s’ä¸èƒ½é€’å½’è°ƒç”¨ï¼Œå› ä¸ºå®ƒå¹¶éž RECURSIVE" #: fortran/resolve.c:3455 #, fuzzy, gcc-internal-format -#| msgid "<unresolved overloaded function type>" msgid "resolve_subroutine(): bad function type" -msgstr "<未解决的é‡è½½å‡½æ•°ç±»åž‹>" +msgstr "ä¸è‰¯çš„ C++ 方法函数类型" #: fortran/resolve.c:3493 #, gcc-internal-format, gfc-internal-format @@ -51453,9 +50749,9 @@ msgid "Shapes for operands at %L and %L are not conformable" msgstr "%Lå’Œ%L处的æ“作数外形ä¸ç›¸å®¹" #: fortran/resolve.c:3724 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "resolve_operator(): Bad intrinsic" -msgstr "" +msgstr "%L处内建è¿ç®—符接å£å¿…须是一个 FUNCTION" #: fortran/resolve.c:3895 fortran/resolve.c:3918 #, gcc-internal-format @@ -51509,9 +50805,8 @@ msgstr "%1$L处数组上é™å¼•ç”¨åœ¨ç¬¬ %4$d ç»´ä¸è¶Šç•Œ(%2$ld > %3$ld)" #: fortran/resolve.c:4119 #, fuzzy, gcc-internal-format -#| msgid "subscript missing in array reference" msgid "check_dimension(): Bad array reference" -msgstr "æ•°ç»„å¼•ç”¨ç¼ºå°‘ä¸‹æ ‡" +msgstr "%L处数组引用错误" #: fortran/resolve.c:4142 #, gcc-internal-format, gfc-internal-format @@ -51546,7 +50841,7 @@ msgstr "%L处数组索引必须具有 INTEGER 类型而ä¸æ˜¯ %s" #: fortran/resolve.c:4216 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "REAL array index at %L" -msgstr "扩展:%L处的 REAL 数组索引" +msgstr "%L处数组索引是一个秩为 %d 的数组" #: fortran/resolve.c:4255 #, gcc-internal-format, gfc-internal-format @@ -51559,9 +50854,9 @@ msgid "Argument dim at %L must be of INTEGER type" msgstr "%L处实å‚维数必须具有 INTEGER 类型" #: fortran/resolve.c:4307 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "find_array_spec(): Missing spec" -msgstr "" +msgstr "%C处 Cray 指针é‡å¤æŒ‡å®šäº†æ•°ç»„" #: fortran/resolve.c:4318 #, gcc-internal-format @@ -51615,7 +50910,6 @@ msgstr "%L处å串结æŸç´¢å¼•å¤ªå¤§" #: fortran/resolve.c:4664 #, fuzzy, gcc-internal-format -#| msgid "Bad array reference at %L" msgid "resolve_ref(): Bad array reference" msgstr "%L处数组引用错误" @@ -51640,9 +50934,9 @@ msgid "expression_rank(): Two array specs" msgstr "" #: fortran/resolve.c:4887 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L with NO_ARG_CHECK attribute may only be used as actual argument" -msgstr "" +msgstr "å‡å®šå¤–形的数组在 %L 处必须是哑å‚æ•°" #: fortran/resolve.c:4897 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -51689,13 +50983,11 @@ msgstr "数组‘%s’在%L处ä¸èƒ½æœ‰å»¶è¿Ÿçš„外形" #: fortran/resolve.c:5057 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" msgid "Variable %qs, used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter" msgstr "ç”¨åœ¨ä¸€ä¸ªè§„æ ¼è¯´æ˜Žè¡¨è¾¾å¼ä¸çš„å˜é‡â€˜%s’在%L处的引用出现在该å˜é‡æ˜¯å…¶å‚æ•°çš„ ENTRY è¯å¥ä¹‹å‰" #: fortran/resolve.c:5062 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter" msgid "Variable %qs is used at %L before the ENTRY statement in which it is a parameter" msgstr "å˜é‡â€˜%s’在%L处的使用出现在该å˜é‡æ˜¯å…¶å‚æ•°çš„ ENTRY è¯å¥ä¹‹å‰" @@ -51705,9 +50997,9 @@ msgid "Polymorphic subobject of coindexed object at %L" msgstr "%2$L处éžå¤šæ€çš„ä¼ é€’å¯¹è±¡å“‘å…ƒå®žå‚‘%1$s’" #: fortran/resolve.c:5145 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Coindexed object with polymorphic allocatable subcomponent at %L" -msgstr "" +msgstr "Coindexed 对象与 polymorphic allocatable subcomponent 于 %L" #: fortran/resolve.c:5483 #, gcc-internal-format, gfc-internal-format @@ -51721,9 +51013,8 @@ msgstr "%L处类型é™å®šè¿‡ç¨‹è°ƒç”¨çš„基类型是 ABSTRACT 类型‘%s’" #: fortran/resolve.c:5525 #, fuzzy, gcc-internal-format -#| msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'" msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs" -msgstr "%L处类型é™å®šè¿‡ç¨‹è°ƒç”¨çš„基类型是 ABSTRACT 类型‘%s’" +msgstr "%L处 NOPASS 类型é™å®šè¿‡ç¨‹è°ƒç”¨çš„åŸºå¯¹è±¡å¿…é¡»æ˜¯æ ‡é‡" #: fortran/resolve.c:5534 #, gcc-internal-format, gfc-internal-format @@ -51733,25 +51024,21 @@ msgstr "%L处 NOPASS 类型é™å®šè¿‡ç¨‹è°ƒç”¨çš„åŸºå¯¹è±¡å¿…é¡»æ˜¯æ ‡é‡" #. Nothing matching found! #: fortran/resolve.c:5722 #, fuzzy, gcc-internal-format -#| msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L" msgid "Found no matching specific binding for the call to the GENERIC %qs at %L" msgstr "%2$L处对 GENERIC‘%1$s’的调用没有找到匹é…特别的é™å®š" #: fortran/resolve.c:5749 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L should be a SUBROUTINE" msgid "%qs at %L should be a SUBROUTINE" -msgstr "%2$L处的‘%1$s’应该是一个 SUBROUTINE" +msgstr "%L处的è¿ç®—符接å£å¿…须是一个 SUBROUTINE" #: fortran/resolve.c:5800 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L should be a FUNCTION" msgid "%qs at %L should be a FUNCTION" -msgstr "%2$L处的‘%1$s’应该是一个 FUNCTION" +msgstr "在函数%qsä¸" #: fortran/resolve.c:6317 #, fuzzy, gcc-internal-format -#| msgid "Expected expression type" msgid "gfc_resolve_expr(): Bad expression type" msgstr "需è¦è¡¨è¾¾å¼ç±»åž‹" @@ -51763,7 +51050,7 @@ msgstr "%s (%L处)å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡" #: fortran/resolve.c:6353 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "%s at %L must be integer" -msgstr "%s (%L处)å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡" +msgstr "%s (%L处)必须是 INTEGER" #: fortran/resolve.c:6357 fortran/resolve.c:6364 #, gcc-internal-format, gfc-internal-format @@ -51778,7 +51065,7 @@ msgstr "%L处的 DO 循环ä¸çš„æ¥è¿›è¡¨è¾¾å¼ä¸èƒ½ä¸ºé›¶" #: fortran/resolve.c:6442 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "DO loop at %L will be executed zero times" -msgstr "%L处的 DO 循环会被执行零次" +msgstr "%L处的 DO 循环ä¸çš„æ¥è¿›è¡¨è¾¾å¼ä¸èƒ½ä¸ºé›¶" #: fortran/resolve.c:6503 #, gcc-internal-format, gfc-internal-format @@ -51807,7 +51094,6 @@ msgstr "%L处 FORALL 间隔表达å¼ä¸èƒ½æ˜¯é›¶" #: fortran/resolve.c:6541 #, fuzzy, gcc-internal-format -#| msgid "FORALL index '%s' may not appear in triplet specification at %L" msgid "FORALL index %qs may not appear in triplet specification at %L" msgstr "FORALL 索引‘%s’ä¸èƒ½å‡ºçŽ°åœ¨%Lå¤„çš„ä¸‰å…ƒç»„è§„æ ¼è¯´æ˜Žä¸" @@ -51819,7 +51105,7 @@ msgstr "%L处的分é…对象必须是 ALLOCATABLE 或 POINTER" #: fortran/resolve.c:6647 fortran/resolve.c:6896 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Coindexed allocatable object at %L" -msgstr "%3$L 处“%1$sâ€åˆ†å¥å¯¹è±¡â€œ%2$sâ€æœ‰ ALLOCATABLE 组件" +msgstr "%L处的分é…对象必须是 ALLOCATABLE 或 POINTER" #: fortran/resolve.c:6753 #, gcc-internal-format, gfc-internal-format @@ -51842,9 +51128,9 @@ msgid "The allocate-object at %L and the source-expr at %L shall have the same k msgstr "%L处的分é…对象和%L处的æºè¡¨è¾¾å¼åº”该有相åŒçš„ç§åˆ«ç±»åž‹å‚æ•°" #: fortran/resolve.c:6968 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "The source-expr at %L shall neither be of type LOCK_TYPE nor have a LOCK_TYPE component if allocate-object at %L is a coarray" -msgstr "" +msgstr "source-expr 于 %L 应该 neither 是的类型 LOCK_TYPE nor 有 LOCK_TYPE æˆåˆ†å¦‚æžœ allocate-object 于 %L 是 coarray" #: fortran/resolve.c:6981 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -51852,9 +51138,9 @@ msgid "Allocating %s of ABSTRACT base type at %L requires a type-spec or source- msgstr "%2$L处分é…具有 ABSTRACT 基类型的 %1$s 需è¦ä¸€ä¸ªç±»åž‹æŒ‡å®šæˆ– SOURCE=" #: fortran/resolve.c:6994 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Allocating %s at %L with type-spec requires the same character-length parameter as in the declaration" -msgstr "" +msgstr "é…ç½® %s 于 %L 与 type-spec éœ€æ±‚ç›¸åŒ character-length å‚数作为在ä¸å£°æ˜Ž" #: fortran/resolve.c:7102 #, gcc-internal-format, gfc-internal-format @@ -51864,7 +51150,7 @@ msgstr "%L处的 ALLOCATE è¯å¥ä¸éœ€è¦æ•°ç»„è§„æ ¼è¯´æ˜Ž" #: fortran/resolve.c:7116 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Coarray specification required in ALLOCATE statement at %L" -msgstr "%L 处的 ALLOCATE è¯å¥ä¸è¦æ±‚çš„æ•°ç»„è§„æ ¼è¯´æ˜Ž" +msgstr "%L处的 ALLOCATE è¯å¥ä¸éœ€è¦æ•°ç»„è§„æ ¼è¯´æ˜Ž" #: fortran/resolve.c:7143 #, gcc-internal-format, gfc-internal-format @@ -51873,19 +51159,18 @@ msgstr "%L处的 ALLOCATE è¯å¥ä¸æœ‰é”™è¯¯çš„æ•°ç»„è§„æ ¼" #: fortran/resolve.c:7162 #, fuzzy, gcc-internal-format -#| msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" msgid "%qs must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated" msgstr "‘%s’ä¸èƒ½å‡ºçŽ°åœ¨%L处其自身被分é…çš„ ALLOCATE è¯å¥çš„æ•°ç»„è§„æ ¼è¯´æ˜Žä¸" #: fortran/resolve.c:7177 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Expected '*' in coindex specification in ALLOCATE statement at %L" -msgstr "%L 处的 ALLOCATE è¯å¥ä¸è¦æ±‚çš„æ•°ç»„è§„æ ¼è¯´æ˜Ž" +msgstr "%L处的 ALLOCATE è¯å¥ä¸éœ€è¦æ•°ç»„è§„æ ¼è¯´æ˜Ž" #: fortran/resolve.c:7188 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Bad coarray specification in ALLOCATE statement at %L" -msgstr "%L 处的 ALLOCATE è¯å¥ä¸åçš„æ•°ç»„è§„æ ¼è¯´æ˜Ž" +msgstr "%L处的 ALLOCATE è¯å¥ä¸æœ‰é”™è¯¯çš„æ•°ç»„è§„æ ¼" #: fortran/resolve.c:7219 #, gcc-internal-format, gfc-internal-format @@ -51920,7 +51205,7 @@ msgstr "%L处分é…的对象也出现在%L处" #: fortran/resolve.c:7323 fortran/resolve.c:7329 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Allocate-object at %L is subobject of object at %L" -msgstr "%2$L 处对象“%1$sâ€ä¸æ˜¯ä¸€ä¸ªå˜é‡" +msgstr "%L处的分é…对象必须是 ALLOCATABLE 或 POINTER" #. The cases overlap, or they are the same #. element in the list. Either way, we must @@ -51964,7 +51249,7 @@ msgstr "%L处 SELECT è¯å¥ä¸çš„实å‚å¿…é¡»ä¸ºæ ‡é‡" #: fortran/resolve.c:7701 fortran/resolve.c:7709 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Expression in CASE statement at %L is not in the range of %s" -msgstr "%L 处 CASE è¯å¥ä¸çš„逻辑范围是ä¸è¢«å…许的" +msgstr "%L处 CASE è¯å¥ä¸çš„表达å¼å¿…须具有 %s 类型" #: fortran/resolve.c:7771 fortran/resolve.c:8144 #, gcc-internal-format, gfc-internal-format @@ -52009,17 +51294,15 @@ msgstr "%C处 SELECT TYPE è¯å¥ä¸çš„选择å应该是多æ€çš„" #: fortran/resolve.c:8080 fortran/resolve.c:8092 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Selector at %L must not be coindexed" -msgstr "外部对象‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š" +msgstr "选择å必须是立å³æ•°" #: fortran/resolve.c:8108 #, fuzzy, gcc-internal-format -#| msgid "Derived type '%s' at %L must be extensible" msgid "Derived type %qs at %L must be extensible" msgstr "%2$L处派生类型‘%1$s’必须是å¯æ‰©å±•çš„" #: fortran/resolve.c:8120 #, fuzzy, gcc-internal-format -#| msgid "Derived type '%s' at %L must be an extension of '%s'" msgid "Derived type %qs at %L must be an extension of %qs" msgstr "%2$L处派生类型‘%1$s’必须是‘%3$s’的一个扩展" @@ -52045,9 +51328,9 @@ msgstr "%%L处 NULL() æŒ‡é’ˆä¸Šä¸‹æ–‡æ— æ•ˆ" #. FIXME: Test for defined input/output. #: fortran/resolve.c:8441 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot be polymorphic unless it is processed by a defined input/output procedure" -msgstr "" +msgstr "æ•°æ®è½¬ç§»ç»„件于 %L æ— æ³• polymorphic 除éžå®ƒè¢«å¤„ç†ç”±å®šä¹‰çš„输入/输出进程" #: fortran/resolve.c:8453 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -52057,7 +51340,7 @@ msgstr "%L处数æ®ä¼ è¾“å…ƒç´ ä¸èƒ½æœ‰ POINTER 组件" #: fortran/resolve.c:8462 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Data transfer element at %L cannot have procedure pointer components" -msgstr "%L处数æ®ä¼ è¾“å…ƒç´ ä¸èƒ½æœ‰ POINTER 组件" +msgstr "%L处数æ®ä¼ è¾“å…ƒç´ ä¸èƒ½æœ‰ PRIVATE 组件" #: fortran/resolve.c:8469 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -52077,7 +51360,7 @@ msgstr "%L处数æ®ä¼ è¾“å…ƒç´ ä¸èƒ½æ˜¯å¯¹ä¸€ä¸ªå‡å®šå¤§å°æ•°ç»„的全引用" #: fortran/resolve.c:8555 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Lock variable at %L must be a scalar of type LOCK_TYPE" -msgstr "%L处 stat å˜é‡å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡ INTEGER å˜é‡" +msgstr "%L处 !$OMP ATOMIC è¯å¥å¿…é¡»è®¾å®šä¸€ä¸ªå†…å»ºç±»åž‹çš„æ ‡é‡å€¼" #: fortran/resolve.c:8562 fortran/resolve.c:8673 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -52117,9 +51400,9 @@ msgstr "%L处的分支å¯èƒ½å¯¼è‡´æ— 穷循环" #. Note: A label at END CRITICAL does not leave the CRITICAL #. construct as END CRITICAL is still part of it. #: fortran/resolve.c:8734 fortran/resolve.c:8757 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "GOTO statement at %L leaves CRITICAL construct for label at %L" -msgstr "" +msgstr "å‰å¾€å™è¿°äºŽ %L æ ‘å¶é‡è¦å»ºæž„ç”¨äºŽæ ‡è´´äºŽ %L" #: fortran/resolve.c:8738 fortran/resolve.c:8763 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -52161,7 +51444,6 @@ msgstr "%Lå¤„å‘ FORALL 索引å˜é‡èµ‹å€¼" #: fortran/resolve.c:8924 #, fuzzy, gcc-internal-format -#| msgid "The FORALL with index '%s' is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" msgid "The FORALL with index %qs is not used on the left side of the assignment at %L and so might cause multiple assignment to this object" msgstr "%2$L处带索引‘%1$s’的 FORALL 没有被用在赋值的左侧,所以å¯èƒ½å¯¼è‡´å¯¹è¿™ä¸ªå¯¹è±¡çš„多个赋值" @@ -52188,7 +51470,7 @@ msgstr "CHARACTER 表达å¼åœ¨%3$L处赋值时将被截æ–(%1$d/%2$d)" #: fortran/resolve.c:9393 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Coindexed expression at %L is assigned to a derived type variable with a POINTER component in a PURE procedure" -msgstr "在 %L 处 impure å˜é‡è¢«èµ‹å€¼åˆ°ä¸€ä¸ª PURE 过程(12.6)ä¸çš„ POINTER 组件的派生类型å˜é‡" +msgstr "%L处一个éžçº¯å˜é‡åœ¨ PURE 过程ä¸è¢«èµ‹å€¼ç»™å¸¦æœ‰ POINTER 组件派生类型å˜é‡(12.6)" #: fortran/resolve.c:9398 #, gcc-internal-format, gfc-internal-format @@ -52198,7 +51480,7 @@ msgstr "%L处一个éžçº¯å˜é‡åœ¨ PURE 过程ä¸è¢«èµ‹å€¼ç»™å¸¦æœ‰ POINTER 组ä #: fortran/resolve.c:9408 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Assignment to coindexed variable at %L in a PURE procedure" -msgstr "ä¸èƒ½åœ¨%2$C处的 PURE 过程ä¸è¯»å–å˜é‡â€˜%1$s’" +msgstr "%L处 PURE 过程ä¸æŒ‡é’ˆèµ‹å€¼ç›®æ ‡é”™è¯¯" #: fortran/resolve.c:9440 #, gcc-internal-format, gfc-internal-format @@ -52208,7 +51490,7 @@ msgstr "" #: fortran/resolve.c:9444 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Assignment to an allocatable polymorphic variable at %L" -msgstr "%Lå¤„å‘ FORALL 索引å˜é‡èµ‹å€¼" +msgstr "%L处赋值ä¸çš„å˜é‡ç±»åž‹æ˜¯ UNKNOWN" #: fortran/resolve.c:9449 #, fuzzy, gcc-internal-format @@ -52222,9 +51504,9 @@ msgid "Assignment to an allocatable polymorphic variable at %L is not yet suppor msgstr "ä¸èƒ½åœ¨%2$C处的 PURE 过程ä¸è¯»å–å˜é‡â€˜%1$s’" #: fortran/resolve.c:9460 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Nonallocatable variable must not be polymorphic in intrinsic assignment at %L - check that there is a matching specific subroutine for '=' operator" -msgstr "" +msgstr "å˜é‡å¿…é¡»ä¸æ˜¯ polymorphic åœ¨ä¸ intrinsic 指派于 %L - 检查该有匹é…特定的副常å¼ç”¨äºŽâ€˜=’è¿ç®—符" #: fortran/resolve.c:9471 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -52243,7 +51525,6 @@ msgstr "ASSIGNED GOTO è¯å¥åœ¨%L处需è¦ä¸€ä¸ª INTEGER å˜é‡" #: fortran/resolve.c:10144 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' has not been assigned a target label at %L" msgid "Variable %qs has not been assigned a target label at %L" msgstr "å˜é‡â€˜%s’在 %L å°šæœªæŒ‡æ´¾ç›®æ ‡æ ‡å·" @@ -52275,11 +51556,10 @@ msgstr "%L处 DO WHILE 循环的退出æ¡ä»¶å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡ LOGICAL 表达 #: fortran/resolve.c:10380 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "FORALL mask clause at %L requires a scalar LOGICAL expression" -msgstr "%L处的 FORMALL 掩ç åå¥éœ€è¦ä¸€ä¸ª LOGICAL 表达å¼" +msgstr "%L处的 IF 分å¥éœ€è¦ä¸€ä¸ªæ ‡é‡ LOGICAL 表达å¼" #: fortran/resolve.c:10449 #, fuzzy, gcc-internal-format -#| msgid "gfc_trans_code(): Bad statement code" msgid "gfc_resolve_code(): Bad statement code" msgstr "gfc_trans_code():错误的è¯å¥ä»£ç " @@ -52320,7 +51600,6 @@ msgstr "å¯åˆ†é…的数组‘%s’在%L处必须有延迟的外形" #: fortran/resolve.c:10998 #, fuzzy, gcc-internal-format -#| msgid "Scalar object '%s' at %L may not be ALLOCATABLE" msgid "Scalar object %qs at %L may not be ALLOCATABLE" msgstr "%2$Lå¤„æ ‡é‡å¯¹è±¡â€˜%1$s’ä¸èƒ½ä¸º ALLOCATABLE" @@ -52331,19 +51610,16 @@ msgstr "数组指针‘%s’在%L处必须有延迟的外形" #: fortran/resolve.c:11016 #, fuzzy, gcc-internal-format -#| msgid "Array '%s' at %L cannot have a deferred shape" msgid "Array %qs at %L cannot have a deferred shape" msgstr "数组‘%s’在%L处ä¸èƒ½æœ‰å»¶è¿Ÿçš„外形" #: fortran/resolve.c:11031 #, fuzzy, gcc-internal-format -#| msgid "Type '%s' of CLASS variable '%s' at %L is not extensible" msgid "Type %qs of CLASS variable %qs at %L is not extensible" msgstr "%3$L处 CLASS å˜é‡â€˜%2$s’的类型‘%1$s’ä¸èƒ½è¢«æ‰©å±•" #: fortran/resolve.c:11043 #, fuzzy, gcc-internal-format -#| msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer" msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer" msgstr "%2$L处的 CLASS å˜é‡â€˜%1$s’必须是哑元ã€å¯åˆ†é…的或者指针" @@ -52386,43 +51662,36 @@ msgstr "å˜é‡â€˜%s’在%L处上下文ä¸å—符长度必须为常é‡" #: fortran/resolve.c:11247 #, fuzzy, gcc-internal-format -#| msgid "Allocatable '%s' at %L cannot have an initializer" msgid "Allocatable %qs at %L cannot have an initializer" msgstr "å¯åˆ†é…的‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š" #: fortran/resolve.c:11250 #, fuzzy, gcc-internal-format -#| msgid "External '%s' at %L cannot have an initializer" msgid "External %qs at %L cannot have an initializer" msgstr "外部‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š" #: fortran/resolve.c:11254 #, fuzzy, gcc-internal-format -#| msgid "Dummy '%s' at %L cannot have an initializer" msgid "Dummy %qs at %L cannot have an initializer" msgstr "哑元‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š" #: fortran/resolve.c:11257 #, fuzzy, gcc-internal-format -#| msgid "Intrinsic '%s' at %L cannot have an initializer" msgid "Intrinsic %qs at %L cannot have an initializer" msgstr "内建函数‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š" #: fortran/resolve.c:11260 #, fuzzy, gcc-internal-format -#| msgid "Function result '%s' at %L cannot have an initializer" msgid "Function result %qs at %L cannot have an initializer" msgstr "函数结果‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š" #: fortran/resolve.c:11263 #, fuzzy, gcc-internal-format -#| msgid "Automatic array '%s' at %L cannot have an initializer" msgid "Automatic array %qs at %L cannot have an initializer" msgstr "自动数组‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š" #: fortran/resolve.c:11306 #, fuzzy, gcc-internal-format -#| msgid "Character-valued statement function '%s' at %L must have constant length" msgid "Character-valued statement function %qs at %L must have constant length" msgstr "%2$L处有å—符值的è¯å¥å‡½æ•°â€˜%1$s’必须有常é‡é•¿åº¦" @@ -52438,19 +51707,16 @@ msgstr "Fortran 2003: %3$L处 PUBLIC 接å£â€˜%2$s’ä¸çš„过程‘%1$s’有 P #: fortran/resolve.c:11368 #, fuzzy, gcc-internal-format -#| msgid "Function '%s' at %L cannot have an initializer" msgid "Function %qs at %L cannot have an initializer" msgstr "函数‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š" #: fortran/resolve.c:11377 #, fuzzy, gcc-internal-format -#| msgid "External object '%s' at %L may not have an initializer" msgid "External object %qs at %L may not have an initializer" msgstr "外部对象‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š" #: fortran/resolve.c:11385 #, fuzzy, gcc-internal-format -#| msgid "ELEMENTAL function '%s' at %L must have a scalar result" msgid "ELEMENTAL function %qs at %L must have a scalar result" msgstr "%2$L处 ELEMENTAL 函数‘%1$sâ€™å¿…é¡»æœ‰ä¸€ä¸ªæ ‡é‡è¿”回值" @@ -52461,32 +51727,28 @@ msgstr "è¯å¥å‡½æ•°â€˜%s’在%L处ä¸å…许用作实å‚" #: fortran/resolve.c:11414 #, fuzzy, gcc-internal-format -#| msgid "CHARACTER(*) function '%s' at %L cannot be array-valued" msgid "CHARACTER(*) function %qs at %L cannot be array-valued" msgstr "CHARACTER(*) 函数‘%s’在%L处ä¸èƒ½ä¸ºæ•°ç»„值" #: fortran/resolve.c:11418 #, fuzzy, gcc-internal-format -#| msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued" msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued" msgstr "指定CHARACTER(*) 函数‘%s’在%L处ä¸èƒ½ä¸ºæŒ‡é’ˆå€¼" #: fortran/resolve.c:11422 #, fuzzy, gcc-internal-format -#| msgid "CHARACTER(*) function '%s' at %L cannot be pure" msgid "CHARACTER(*) function %qs at %L cannot be pure" msgstr "CHARACTER(*) 函数‘%s’在%L处ä¸èƒ½ä¸ºçº¯å‡½æ•°" #: fortran/resolve.c:11426 #, fuzzy, gcc-internal-format -#| msgid "CHARACTER(*) function '%s' at %L cannot be recursive" msgid "CHARACTER(*) function %qs at %L cannot be recursive" msgstr "CHARACTER(*) 函数‘%s’在%L处ä¸èƒ½æ˜¯é€’å½’çš„" #: fortran/resolve.c:11439 #, fuzzy, gcc-internal-format msgid "CHARACTER(*) function %qs at %L" -msgstr "CHARACTER(*) 函数‘%s’在%L处ä¸èƒ½ä¸ºçº¯å‡½æ•°" +msgstr "在函数%qsä¸" #: fortran/resolve.c:11448 #, fuzzy, gcc-internal-format @@ -52500,39 +51762,33 @@ msgstr "哑过程‘%s’在%C处ä¸èƒ½æœ‰æ³›åž‹æŽ¥å£" #: fortran/resolve.c:11510 #, fuzzy, gcc-internal-format -#| msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L" msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L" -msgstr "PROCEDURE 属性与%2$L处‘%1$s’ä¸çš„ SAVE 属性冲çª" +msgstr "%L处 PURE 过程ä¸èƒ½æŒ‡å®š SAVE 属性" #: fortran/resolve.c:11516 #, fuzzy, gcc-internal-format -#| msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L" msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L" msgstr "PROCEDURE 属性与%2$L处‘%1$s’ä¸çš„ INTENT 属性冲çª" #: fortran/resolve.c:11522 #, fuzzy, gcc-internal-format -#| msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L" msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L" msgstr "PROCEDURE 属性与在%2$L处‘%1$s’ä¸çš„ RESULT 属性冲çª" #: fortran/resolve.c:11530 #, fuzzy, gcc-internal-format -#| msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L" msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L" msgstr "EXTERNAL 属性与在%2$L处‘%1$s’ä¸çš„ FUNCTION 属性冲çª" #: fortran/resolve.c:11536 #, fuzzy, gcc-internal-format -#| msgid "Procedure pointer result '%s' at %L is missing the pointer attribute" msgid "Procedure pointer result %qs at %L is missing the pointer attribute" msgstr "%2$L处过程指针结果‘%1$s’缺少指针属性" #: fortran/resolve.c:11613 #, fuzzy, gcc-internal-format -#| msgid "FINAL procedure '%s' at %L is not a SUBROUTINE" msgid "FINAL procedure %qs at %L is not a SUBROUTINE" -msgstr "%2$L处 FINAL 过程‘%1$s’ä¸æ˜¯ä¸€ä¸ª SUBROUTINE" +msgstr "%L处 FINAL 过程的å‚æ•°å¿…é¡»ä¸æ˜¯ OPTIONAL" #: fortran/resolve.c:11622 #, gcc-internal-format, gfc-internal-format @@ -52541,9 +51797,8 @@ msgstr "%L处的 FINAL 过程有且åªæœ‰ä¸€ä¸ªå‚æ•°" #: fortran/resolve.c:11631 #, fuzzy, gcc-internal-format -#| msgid "Argument of FINAL procedure at %L must be of type '%s'" msgid "Argument of FINAL procedure at %L must be of type %qs" -msgstr "%L处 FINAL 过程的å‚数必须是‘%s’类型" +msgstr "%L处 FINAL 过程的å‚æ•°å¿…é¡»ä¸æ˜¯ OPTIONAL" #: fortran/resolve.c:11639 #, gcc-internal-format, gfc-internal-format @@ -52572,43 +51827,36 @@ msgstr "%L处的éžæ ‡é‡ FINAL 过程应当有å‡å®šå¤–形的å‚æ•°" #: fortran/resolve.c:11690 #, fuzzy, gcc-internal-format -#| msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'" msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs" msgstr "%2$L处声明的 FINAL 过程‘%1$s’有与‘%4$s’相åŒçš„秩(%3$d)" #: fortran/resolve.c:11727 #, fuzzy, gcc-internal-format -#| msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one" msgid "Only array FINAL procedures declared for derived type %qs defined at %L, suggest also scalar one" msgstr "仅为定义在%2$L处的派生类型‘%1$s’声明了数组 FINAL è¿‡ç¨‹ï¼Œå»ºè®®ä¹Ÿå®šä¹‰ä¸€ä¸ªæ ‡é‡è¿‡ç¨‹" #: fortran/resolve.c:11767 #, fuzzy, gcc-internal-format -#| msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L" msgid "%qs and %qs can't be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L" msgstr "%4$L处‘%1$s’和‘%2$s’对 GENERIC‘%3$s’ä¸èƒ½æ˜¯æ··åˆçš„ FUNCTION/SUBROUTINE" #: fortran/resolve.c:11803 #, fuzzy, gcc-internal-format -#| msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous" msgid "%qs and %qs for GENERIC %qs at %L are ambiguous" -msgstr "%4$L处 GENERIC‘%3$s’的‘%1$s’和‘%2$s’有æ§ä¹‰" +msgstr "引用%qs有æ§ä¹‰ï¼šå‡ºçŽ°åœ¨æŽ¥å£%qs和接å£%qsä¸" #: fortran/resolve.c:11862 #, fuzzy, gcc-internal-format -#| msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L" msgid "Undefined specific binding %qs as target of GENERIC %qs at %L" msgstr "未定义的指定绑定‘%1$s’用作%3$L处的 GENERIC‘%2$sâ€™çš„ç›®æ ‡" #: fortran/resolve.c:11874 #, fuzzy, gcc-internal-format -#| msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too" msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too" msgstr "%2$L处 GENERIC‘%1$s’必须定ä½ä¸€ä¸ªç‰¹å®šçš„绑定,‘%3$s’也是 GENERIC" #: fortran/resolve.c:11902 #, fuzzy, gcc-internal-format -#| msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name" msgid "GENERIC %qs at %L can't overwrite specific binding with the same name" msgstr "%2$L处 GENERIC‘%1$sâ€™æ— æ³•è¦†ç›–åŒå的特定绑定" @@ -52619,78 +51867,66 @@ msgstr "%L处类型é™å®šçš„æ“作数ä¸èƒ½æ˜¯ NOPASS" #: fortran/resolve.c:12140 #, fuzzy, gcc-internal-format -#| msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L" msgid "%qs must be a module procedure or an external procedure with an explicit interface at %L" msgstr "%2$L处的‘%1$s’必须是一个模å—过程或带有显å¼æŽ¥å£çš„外部过程" #: fortran/resolve.c:12182 #, fuzzy, gcc-internal-format -#| msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'" msgid "Procedure %qs with PASS(%s) at %L has no argument %qs" msgstr "%3$L处有 PASS(%2$s)的过程‘%1$s’没有å‚数‘%4$s’" #: fortran/resolve.c:12196 #, fuzzy, gcc-internal-format -#| msgid "Procedure '%s' with PASS at %L must have at least one argument" msgid "Procedure %qs with PASS at %L must have at least one argument" msgstr "%2$L处有 PASS 的过程‘%1$s’必须至少带一个å‚æ•°" #: fortran/resolve.c:12210 fortran/resolve.c:12705 #, fuzzy, gcc-internal-format -#| msgid "Non-polymorphic passed-object dummy argument of '%s' at %L" msgid "Non-polymorphic passed-object dummy argument of %qs at %L" msgstr "%2$L处éžå¤šæ€çš„ä¼ é€’å¯¹è±¡è™šå‚‘%1$s’" #: fortran/resolve.c:12218 #, fuzzy, gcc-internal-format -#| msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'" msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs" msgstr " %4$L处的具有 PASS(%3$s) 的‘%2$s’的å‚数‘%1$s’必须具有派生类型‘%5$s’" #: fortran/resolve.c:12227 #, fuzzy, gcc-internal-format -#| msgid "Passed-object dummy argument of '%s' at %L must be scalar" msgid "Passed-object dummy argument of %qs at %L must be scalar" msgstr "%2$L处‘%1$sâ€™çš„ä¼ é€’å¯¹è±¡è™šå‚å¿…é¡»æ˜¯æ ‡é‡" #: fortran/resolve.c:12233 #, fuzzy, gcc-internal-format -#| msgid "Passed-object dummy argument of '%s' at %L must not be ALLOCATABLE" msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE" msgstr "%2$L处‘%1$sâ€™çš„ä¼ é€’å¯¹è±¡è™šå‚ä¸èƒ½æ˜¯ ALLOCATABLE" #: fortran/resolve.c:12239 #, fuzzy, gcc-internal-format -#| msgid "Passed-object dummy argument of '%s' at %L must not be POINTER" msgid "Passed-object dummy argument of %qs at %L must not be POINTER" msgstr "%2$L处‘%1$sâ€™çš„ä¼ é€’å¯¹è±¡è™šå‚ä¸èƒ½æ˜¯ POINTER" #: fortran/resolve.c:12268 #, fuzzy, gcc-internal-format -#| msgid "Procedure '%s' at %L has the same name as a component of '%s'" msgid "Procedure %qs at %L has the same name as a component of %qs" msgstr "%2$L处过程‘%1$s’和‘%3$s’的组件é‡å" #: fortran/resolve.c:12277 #, fuzzy, gcc-internal-format -#| msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'" msgid "Procedure %qs at %L has the same name as an inherited component of %qs" msgstr "%2$L处过程‘%1$s’和‘%3$s’的继承组件é‡å" #: fortran/resolve.c:12369 #, fuzzy, gcc-internal-format -#| msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden" msgid "Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and not overridden" msgstr "%2$L处声明的派生类型‘%1$s’必须是 ABSTRACTï¼Œå› ä¸ºâ€˜%3$s’是 DEFERRED 且没有被覆盖" #: fortran/resolve.c:12467 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "As extending type %qs at %L has a coarray component, parent type %qs shall also have one" -msgstr "" +msgstr "作为延伸类型‘%s’于 %L 有 coarray æˆåˆ†ï¼Œäº²ä»£ç±»åž‹â€˜%s’应该也有一个" #: fortran/resolve.c:12480 #, fuzzy, gcc-internal-format -#| msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT" msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT" msgstr "%2$L处ä¸èƒ½æ‰©å±•çš„派生类型‘%1$s’ä¸èƒ½æ˜¯ ABSTRACT" @@ -52700,14 +51936,14 @@ msgid "Coarray component %qs at %L must be allocatable with deferred shape" msgstr "数组指针‘%s’在%L处必须有延迟的外形" #: fortran/resolve.c:12510 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" -msgstr "" +msgstr "æˆåˆ†â€˜%s’于 %L 的类型 (C_PTR) 或类型 (C_FUNPTR) ä¸åº”该是 coarray" #: fortran/resolve.c:12521 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Component %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar" -msgstr "" +msgstr "æˆåˆ†â€˜%s’于 %L 与 coarray æˆåˆ†åº”该是 nonpointer,nonallocatable 纯é‡" #: fortran/resolve.c:12531 #, fuzzy, gcc-internal-format @@ -52716,56 +51952,48 @@ msgstr "%2$L 处的“%1$sâ€ä¸èƒ½æœ‰ VALUE å±žæ€§ï¼Œå› ä¸ºå®ƒä¸æ˜¯ä¸ªè™šå‚" #: fortran/resolve.c:12632 #, fuzzy, gcc-internal-format -#| msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'" msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs" msgstr "%3$L处带有 PASS(%2$s)的过程指针组件‘%1$s’没有å‚数‘%4$s’" #: fortran/resolve.c:12647 #, fuzzy, gcc-internal-format -#| msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument" msgid "Procedure pointer component %qs with PASS at %L must have at least one argument" msgstr "%2$L处的具有 PASS 的过程指针组件‘%1$s’必须至少有一个实å‚" #: fortran/resolve.c:12664 #, fuzzy, gcc-internal-format -#| msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'" msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs" msgstr "%4$L处具有 PASS(%3$s) 的‘%2$s’的å‚数‘%1$s’必须有派生类型‘%5$s’" #: fortran/resolve.c:12675 #, fuzzy, gcc-internal-format -#| msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar" msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar" msgstr "%4$L 处的具有 PASS(%3$s) 的‘%2$s’的å‚数‘%1$sâ€™å¿…é¡»æ˜¯æ ‡é‡" #: fortran/resolve.c:12685 #, fuzzy, gcc-internal-format -#| msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute" msgid "Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute" msgstr "%4$L处带 PASS(%3$s) 的‘%2$s’的å‚数‘%1$s’ä¸èƒ½æœ‰ POINTER 属性" #: fortran/resolve.c:12695 #, fuzzy, gcc-internal-format -#| msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE" msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE" msgstr "%4$L处带 PASS(%3$s) 的‘%2$s’的å‚数‘%1$s’ä¸èƒ½æ˜¯ ALLOCATABLE" #: fortran/resolve.c:12737 #, fuzzy, gcc-internal-format -#| msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure" msgid "Component %qs of %qs at %L has the same name as an inherited type-bound procedure" msgstr "%3$L处‘%2$s’的组件‘%1$s’与一个继承的类型é™å®šè¿‡ç¨‹åŒå" #: fortran/resolve.c:12750 #, fuzzy, gcc-internal-format -#| msgid "Character length of component '%s' needs to be a constant specification expression at %L" msgid "Character length of component %qs needs to be a constant specification expression at %L" msgstr "%2$L处组件‘%1$s’的å—符长度必须是一个常é‡è§„æ ¼è¡¨è¾¾å¼" #: fortran/resolve.c:12761 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Character component %qs of %qs at %L with deferred length must be a POINTER or ALLOCATABLE" -msgstr "" +msgstr "å—符æˆåˆ†â€˜%s’的‘%s’于 %L ä¸Žå·²æŽ¨è¿Ÿé•¿åº¦å¿…é¡»æ˜¯æŒ‡æ ‡æˆ– ALLOCATABLE" #: fortran/resolve.c:12792 #, fuzzy, gcc-internal-format @@ -52773,9 +52001,9 @@ msgid "the component %qs is a PRIVATE type and cannot be a component of %qs, whi msgstr "Fortran 2003:%3$L处组åˆâ€˜%1$s’是一个 PRIVATE ç±»åž‹ï¼Œå› æ¤ä¸èƒ½æ˜¯ PUBLIC‘%2$s’的组åˆ" #: fortran/resolve.c:12800 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s" -msgstr "" +msgstr "Polymorphic æˆåˆ† %s 于 %L 在ä¸ä¸²è¡Œæˆ–绑定©类型 %s" #: fortran/resolve.c:12809 #, gcc-internal-format, gfc-internal-format @@ -52784,13 +52012,11 @@ msgstr "%2$L处声明的有 SEQUENCE 类型的组件 %1$s 没有 SEQUENCE 属性 #: fortran/resolve.c:12827 fortran/resolve.c:12839 #, fuzzy, gcc-internal-format -#| msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared" msgid "The pointer component %qs of %qs at %L is a type that has not been declared" msgstr "%3$L处‘%2$s’的指针组件‘%1$s’类型尚未声明" #: fortran/resolve.c:12851 #, fuzzy, gcc-internal-format -#| msgid "Component '%s' with CLASS at %L must be allocatable or pointer" msgid "Component %qs with CLASS at %L must be allocatable or pointer" msgstr "%2$L处具有 CLASS 的组件‘%1$s’必须是å¯åˆ†é…的或指针" @@ -52838,37 +52064,31 @@ msgstr "%3$L处 NAMELIST 数组对象‘%1$s’在åå—列表‘%2$sâ€™å¿…é¡»æœ #: fortran/resolve.c:13040 #, fuzzy, gcc-internal-format -#| msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L" msgid "NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC namelist %qs at %L" msgstr "%3$L处 NAMELIST 对象‘%1$s’声明为 PRIVATE å› æ¤ä¸èƒ½æ˜¯ PUBLIC åå—列表‘%2$s’的æˆå‘˜" #: fortran/resolve.c:13050 #, fuzzy, gcc-internal-format -#| msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L" msgid "NAMELIST object %qs has use-associated PRIVATE components and cannot be member of namelist %qs at %L" msgstr "%3$L处 NAMELIST 对象‘%1$s’有使用相关的 PRIVATE ç»„ä»¶å› æ¤ä¸èƒ½æ˜¯ NAMELIST‘%2$s’的æˆå‘˜" #: fortran/resolve.c:13061 #, fuzzy, gcc-internal-format -#| msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L" msgid "NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC namelist %qs at %L" msgstr "%3$L处 NAMELIST 对象‘%1$s’有 PRIVATE ç»„ä»¶å› æ¤ä¸èƒ½æ˜¯ PUBLIC åå—列表‘%2$s’的æˆå‘˜" #: fortran/resolve.c:13088 #, fuzzy, gcc-internal-format -#| msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L" msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L" msgstr "PROCEDURE 属性与%2$L处‘%1$s’ä¸çš„ NAMELIST 属性冲çª" #: fortran/resolve.c:13107 #, fuzzy, gcc-internal-format -#| msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape" msgid "Parameter array %qs at %L cannot be automatic or of deferred shape" msgstr "%2$L处的å‚数数组‘%1$s’ä¸èƒ½æ˜¯è‡ªåŠ¨çš„或有延迟的外形" #: fortran/resolve.c:13119 #, fuzzy, gcc-internal-format -#| msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type" msgid "Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type" msgstr "%2$L处éšå¼ç±»åž‹çš„ PARAMETER‘%1$s’与éšåŽçš„ IMPLICIT 类型ä¸åŒ¹é…" @@ -52880,12 +52100,12 @@ msgstr "%L处 PARAMETER ä¸æ´¾ç”Ÿç±»åž‹ä¸å…¼å®¹" #: fortran/resolve.c:13217 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L" -msgstr "EXTERNAL 属性与在%2$L处‘%1$s’ä¸çš„ FUNCTION 属性冲çª" +msgstr "%s 属性与 %s 属性在%L处冲çª" #: fortran/resolve.c:13220 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L" -msgstr "PROCEDURE 属性与在 %2$L 处“%1$sâ€ä¸çš„ SAVE 属性冲çª" +msgstr "%s 属性与 %s 属性在%L处冲çª" #: fortran/resolve.c:13309 #, fuzzy, gcc-internal-format @@ -52905,7 +52125,7 @@ msgstr "%L处å‡å®šå¤–形的数组必须是一个虚å‚" #: fortran/resolve.c:13338 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Assumed-rank array at %L must be a dummy argument" -msgstr "%L处å‡å®šå¤–形的数组必须是一个虚å‚" +msgstr "%L处å‡å®šå¤§å°çš„数组必须是一个虚å‚" #: fortran/resolve.c:13345 #, gcc-internal-format, gfc-internal-format @@ -52919,25 +52139,21 @@ msgstr "%L处的符å·ä¸æ˜¯ä¸€ä¸ª DUMMY å˜é‡" #: fortran/resolve.c:13364 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument" msgid "%qs at %L cannot have the VALUE attribute because it is not a dummy argument" msgstr "%2$L 处的“%1$sâ€ä¸èƒ½æœ‰ VALUE å±žæ€§ï¼Œå› ä¸ºå®ƒä¸æ˜¯ä¸ªè™šå‚" #: fortran/resolve.c:13374 #, fuzzy, gcc-internal-format -#| msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length" msgid "Character dummy variable %qs at %L with VALUE attribute must have constant length" msgstr "%2$L处带 VALUE 属性的å—符哑元‘%1$s’必须具有常数长度" #: fortran/resolve.c:13383 #, fuzzy, gcc-internal-format -#| msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one" msgid "C interoperable character dummy variable %qs at %L with VALUE attribute must have length one" msgstr "%2$L处带 VALUE 属性与 C å¯äº’æ“作的å—符哑元‘%1$s’长度必须为 1" #: fortran/resolve.c:13396 fortran/resolve.c:13563 #, fuzzy, gcc-internal-format -#| msgid "The derived type '%s' at %L is of type '%s', which has not been defined" msgid "The derived type %qs at %L is of type %qs, which has not been defined" msgstr "%2$L处派生类型‘%1$s’的类型‘%3$s’尚未定义" @@ -52988,7 +52204,6 @@ msgstr "%C处的循环å˜é‡ä¸èƒ½æ˜¯ä¸€ä¸ªå组件" #: fortran/resolve.c:13509 #, fuzzy, gcc-internal-format -#| msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" msgid "Variable %qs at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope" msgstr "%2$L处å˜é‡â€˜%1$s’ä¸èƒ½æ˜¯ BIND(C) å› ä¸ºå®ƒæ—¢ä¸æ˜¯ä¸€ä¸ª COMMON å—也ä¸æ˜¯äºŽæ¨¡å—级作用域声明的" @@ -52998,13 +52213,12 @@ msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs" msgstr "Fortran 2003:%3$L处 PUBLIC %1$s‘%2$s’具有 PRIVATE 派生类型‘%4$s’" #: fortran/resolve.c:13604 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Variable %s at %L of type LOCK_TYPE or with subcomponent of type LOCK_TYPE must be a coarray" -msgstr "" +msgstr "å˜é‡ %s 于 %L 的类型 LOCK_TYPE 或与 subcomponent 的类型 LOCK_TYPE 必须是 coarray" #: fortran/resolve.c:13622 #, fuzzy, gcc-internal-format -#| msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer" msgid "The INTENT(OUT) dummy argument %qs at %L is ASSUMED SIZE and so cannot have a default initializer" msgstr "%2$L处INTENT(OUT) 虚å‚‘%1$s’是 ASSUMED SIZE,所以ä¸èƒ½æœ‰ä¸€ä¸ªé»˜è®¤åˆå§‹å€¼è®¾å®š" @@ -53019,19 +52233,19 @@ msgid "Function result %qs at %L shall not be a coarray or have a coarray compon msgstr "函数结果‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š" #: fortran/resolve.c:13655 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray" -msgstr "" +msgstr "å˜é‡â€˜%s’于 %L 的类型 (C_PTR) 或类型 (C_FUNPTR) ä¸åº”该是 coarray" #: fortran/resolve.c:13667 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Variable %qs at %L with coarray component shall be a nonpointer, nonallocatable scalar, which is not a coarray" -msgstr "" +msgstr "å˜é‡â€˜%s’于 %L 与 coarray æˆåˆ†åº”该是 nonpointer,nonallocatable 纯é‡" #: fortran/resolve.c:13682 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy argument" -msgstr "" +msgstr "å˜é‡â€˜%s’于 %L 是 coarray å’Œä¸æ˜¯ ALLOCATABLE,ä¿å˜ nor 虚å‚æ•°" #: fortran/resolve.c:13690 #, fuzzy, gcc-internal-format @@ -53080,24 +52294,21 @@ msgstr "" #: fortran/resolve.c:13923 #, fuzzy, gcc-internal-format -#| msgid "BLOCK DATA element '%s' at %L must be in COMMON" msgid "BLOCK DATA element %qs at %L must be in COMMON" msgstr "%2$L处 BLOCK DATA å…ƒç´ â€˜%1$s’必须在 COMMON ä¸" #: fortran/resolve.c:13929 #, fuzzy, gcc-internal-format -#| msgid "DATA array '%s' at %L must be specified in a previous declaration" msgid "DATA array %qs at %L must be specified in a previous declaration" msgstr "%2$L处 BLOCK DATA å…ƒç´ â€˜%1$s’必在å‰ä¸€ä¸ªå£°æ˜Žä¸æŒ‡å®š" #: fortran/resolve.c:13938 #, fuzzy, gcc-internal-format msgid "DATA element %qs at %L cannot have a coindex" -msgstr "%2$L 处数æ®ä¼ è¾“å…ƒç´ ä¸èƒ½æœ‰ PRIVATE 组件" +msgstr "%L处数æ®ä¼ è¾“å…ƒç´ ä¸èƒ½æœ‰ PRIVATE 组件" #: fortran/resolve.c:13952 #, fuzzy, gcc-internal-format -#| msgid "DATA element '%s' at %L is a pointer and so must be a full array" msgid "DATA element %qs at %L is a pointer and so must be a full array" msgstr "%2$L处的 DATA å…ƒç´ â€˜%1$s’是一个指针所以必须是一个完全的数组" @@ -53112,19 +52323,19 @@ msgid "DATA statement at %L has more variables than values" msgstr "%L处的 DATA è¯åä¸å˜é‡æ¯”值多" #: fortran/resolve.c:14110 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "start of implied-do loop at %L could not be simplified to a constant value" -msgstr "" +msgstr "开始的 implied-do 循环于 %L æ— æ³•è¢«ç®€åŒ–åˆ°å¸¸æ•°" #: fortran/resolve.c:14118 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "end of implied-do loop at %L could not be simplified to a constant value" -msgstr "" +msgstr "结æŸçš„ implied-do 循环于 %L æ— æ³•è¢«ç®€åŒ–åˆ°å¸¸æ•°" #: fortran/resolve.c:14126 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "step of implied-do loop at %L could not be simplified to a constant value" -msgstr "" +msgstr "æ¥éª¤çš„ implied-do 循环于 %L æ— æ³•è¢«ç®€åŒ–åˆ°å¸¸æ•°" #: fortran/resolve.c:14251 #, gcc-internal-format, gfc-internal-format @@ -53143,25 +52354,21 @@ msgstr "æ ‡å· %d 于 %L ç»å®šä¹‰ä½†æ— 法被使用" #: fortran/resolve.c:14505 #, fuzzy, gcc-internal-format -#| msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object" msgid "Derived type variable %qs at %L must have SEQUENCE attribute to be an EQUIVALENCE object" msgstr "%2$L处的派生类型å˜é‡â€˜%1$s’必须有 SEQUENCE 属性方能æˆä¸º EQUIVALENCE 对象" #: fortran/resolve.c:14514 #, fuzzy, gcc-internal-format -#| msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" msgid "Derived type variable %qs at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object" msgstr "%2$L处的派生类型å˜é‡â€˜%1$s’必须没有 ALLOCATABLE 组件方能æˆä¸ºä¸€ä¸ª EQUIVALENCE 对象" #: fortran/resolve.c:14522 #, fuzzy, gcc-internal-format -#| msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" msgid "Derived type variable %qs at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON" msgstr "%2$L处的默认åˆå§‹åŒ–的派生类型å˜é‡â€˜%1$s’ä¸èƒ½æˆä¸º EQUIVALENCE å¯¹è±¡ï¼Œå› ä¸ºå®ƒåœ¨ COMMON ä¸æœ‰å˜é‡" #: fortran/resolve.c:14538 #, fuzzy, gcc-internal-format -#| msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object" msgid "Derived type variable %qs at %L with pointer component(s) cannot be an EQUIVALENCE object" msgstr "%2$L处的带指针组件的派生类型å˜é‡â€˜%1$s’ä¸èƒ½æˆä¸ºä¸€ä¸ª EQUIVALENCE 对象" @@ -53177,25 +52384,21 @@ msgstr "%L处 EQUIVALENCE 集ä¸çš„对象必须都带有或者都ä¸å¸¦æœ‰ PROTE #: fortran/resolve.c:14668 #, fuzzy, gcc-internal-format -#| msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'" msgid "Common block member %qs at %L cannot be an EQUIVALENCE object in the pure procedure %qs" msgstr "%2$L处的公共å—æˆå‘˜â€˜%1$s’ä¸èƒ½åœ¨çº¯è¿‡ç¨‹â€˜%3$s’ä¸æˆä¸ºä¸€ä¸ª EQUIVALENCE 对象" #: fortran/resolve.c:14677 #, fuzzy, gcc-internal-format -#| msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object" msgid "Named constant %qs at %L cannot be an EQUIVALENCE object" msgstr "%2$L处的有å常é‡â€˜%1$s’ä¸èƒ½æ˜¯ä¸€ä¸ª EQUIVALENCE 对象" #: fortran/resolve.c:14750 #, fuzzy, gcc-internal-format -#| msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object" msgid "Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object" msgstr "%2$L处有éžå¸¸é‡ç•Œé™çš„数组‘%1$s’ä¸èƒ½æ˜¯ä¸€ä¸ª EQUIVALENCE 对象" #: fortran/resolve.c:14761 #, fuzzy, gcc-internal-format -#| msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object" msgid "Structure component %qs at %L cannot be an EQUIVALENCE object" msgstr "%2$L处结构组件‘%1$s’ä¸èƒ½æ˜¯ä¸€ä¸ª EQUIVALENCE 对象" @@ -53211,25 +52414,21 @@ msgstr "Fortran 2003:%2$L处 PRIVATE 类型‘%3$s’的 PUBLIC 函数‘%1$sâ #: fortran/resolve.c:14828 #, fuzzy, gcc-internal-format -#| msgid "ENTRY '%s' at %L has no IMPLICIT type" msgid "ENTRY %qs at %L has no IMPLICIT type" msgstr "%2$L处的 ENTRY‘%1$s’没有éšå¼ç±»åž‹" #: fortran/resolve.c:14845 #, fuzzy, gcc-internal-format -#| msgid "User operator procedure '%s' at %L must be a FUNCTION" msgid "User operator procedure %qs at %L must be a FUNCTION" msgstr "%2$L处的用户è¿ç®—符‘%1$s’必须是一个 FUNCTION" #: fortran/resolve.c:14855 #, fuzzy, gcc-internal-format -#| msgid "User operator procedure '%s' at %L cannot be assumed character length" msgid "User operator procedure %qs at %L cannot be assumed character length" msgstr "%2$L处用户è¿ç®—符过程‘%1$s’ä¸èƒ½æœ‰å‡å®šå—符长度" #: fortran/resolve.c:14863 #, fuzzy, gcc-internal-format -#| msgid "User operator procedure '%s' at %L must have at least one argument" msgid "User operator procedure %qs at %L must have at least one argument" msgstr "%2$L处的用户è¿ç®—符‘%1$s’必须至少有一个实å‚" @@ -53250,14 +52449,13 @@ msgstr "%L处的è¿ç®—符接å£å¿…须有至多两个实å‚" #: fortran/resolve.c:14980 #, fuzzy, gcc-internal-format -#| msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE" msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE" msgstr "%2$L处 PURE 过程ä¸åŒ…å«çš„过程‘%1$s’必须也是 PURE" #: fortran/scanner.c:330 #, fuzzy, gcc-internal-format msgid "Include directory %qs: %s" -msgstr "忽略é‡å¤çš„目录“%sâ€\n" +msgstr "ä¸åŒ…å«å目录注释" #: fortran/scanner.c:334 #, fuzzy, gcc-internal-format @@ -53267,11 +52465,10 @@ msgstr "忽略ä¸å˜åœ¨çš„目录“%sâ€\n" #: fortran/scanner.c:339 #, fuzzy, gcc-internal-format msgid "%qs is not a directory" -msgstr "%qDä¸æ˜¯ä¸€ä¸ªç±»åž‹" +msgstr "ä¸æ˜¯ç›®å½•" #: fortran/scanner.c:742 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line" msgid "!$ACC at %C starts a commented line as it neither is followed by a space nor is a continuation line" msgstr "%C处的 !$OMP å¼€å§‹äº†ä¸€ä¸ªæ³¨é‡Šè¡Œï¼Œå› ä¸ºå®ƒæ—¢ä¸æ˜¯ç”±ä¸€ä¸ªç©ºç™½ç¬¦è·Ÿéšä¹Ÿä¸æ˜¯ä¸€ä¸ªç»è¡Œ" @@ -53292,9 +52489,8 @@ msgstr "%2$C处è¯å¥è¶…出 %1$d 个ç»è¡Œçš„é™åˆ¶" #: fortran/scanner.c:1382 #, fuzzy, gcc-internal-format -#| msgid "Missing '&' in continued character constant at %C" msgid "Missing %<&%> in continued character constant at %C" -msgstr "%C处的延ç»å—符常é‡ç¼ºå°‘‘&’" +msgstr "若延ç»å—符常é‡ä¸ç¼ºå°‘ & 则给出è¦å‘Š" #: fortran/scanner.c:1634 #, gcc-internal-format, gfc-internal-format @@ -53303,9 +52499,8 @@ msgstr "%C处的制表符ä¸ç›¸å®¹" #: fortran/scanner.c:1722 fortran/scanner.c:1725 #, fuzzy, gcc-internal-format -#| msgid "'&' not allowed by itself in line %d" msgid "%<&%> not allowed by itself in line %d" -msgstr "è¡Œ %d ä¸ä¸å…许出现游离的‘&’" +msgstr "weakref%q+D最终指å‘其自身" #: fortran/scanner.c:1784 #, gcc-internal-format, gfc-internal-format @@ -53324,9 +52519,8 @@ msgstr "%s:%dï¼šæ— æ•ˆçš„é¢„å¤„ç†æŒ‡ä»¤" #: fortran/scanner.c:2168 #, fuzzy, gcc-internal-format -#| msgid "Can't open file '%s'" msgid "Can't open file %qs" -msgstr "æ— æ³•æ‰“å¼€æ–‡ä»¶â€˜%s’" +msgstr "æ— æ³•æ‰“å¼€æ–‡ä»¶ %s\n" #: fortran/simplify.c:89 #, gcc-internal-format, gfc-internal-format @@ -53497,12 +52691,12 @@ msgstr "%L处 ICHAR çš„å‚数长度必须为 1" #: fortran/simplify.c:3065 fortran/simplify.c:3073 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Second argument of %s is negative at %L" -msgstr "%2$L 处的 %1$s 函数的å‚数是负的" +msgstr "%2$L处 %1$s 函数的å‚数是负的" #: fortran/simplify.c:3085 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Magnitude of second argument of %s exceeds bit size at %L" -msgstr "%L 处 ISHFTC 的第二个å‚数大å°è¶…过比特的大å°" +msgstr "%L处 ISHFTC 的第二个å‚数大å°è¶…过第一个实å‚çš„ BIT_SIZE" #: fortran/simplify.c:3211 #, gcc-internal-format, gfc-internal-format @@ -53553,7 +52747,6 @@ msgstr "%L处 MOD 的第二个å‚数为 0" #: fortran/simplify.c:4370 #, fuzzy, gcc-internal-format -#| msgid "gfc_trans_code(): Bad statement code" msgid "gfc_simplify_mod(): Bad arguments" msgstr "gfc_trans_code():错误的è¯å¥ä»£ç " @@ -53587,7 +52780,6 @@ msgstr "%L处内建 REPEAT çš„ NCOPIES 实å‚太大" #: fortran/simplify.c:5169 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Integer too large at %C" msgid "Reshaped array too large at %C" msgstr "%C处整数太大" @@ -53598,7 +52790,6 @@ msgstr "%L处 SCALE 的结果上溢其ç§åˆ«" #: fortran/simplify.c:5943 #, fuzzy, gcc-internal-format -#| msgid "Bad type in constant expression" msgid "Bad type in gfc_simplify_sign" msgstr "常é‡è¡¨è¾¾å¼ä¸ç±»åž‹é”™è¯¯" @@ -53619,49 +52810,43 @@ msgstr "%L处 SQRT çš„å‚数为负" #: fortran/simplify.c:6203 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "Invalid second argument of IBSET at %L" msgid "invalid argument of SQRT at %L" -msgstr "%L处 IBSET 的第二个å‚æ•°æ— æ•ˆ" +msgstr "%L处 SQRT çš„å‚数为负" #: fortran/simplify.c:6498 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY lower bound is %ld)" -msgstr "" +msgstr "å‘ä¿¡åŒ£çš„è¾¹ç•Œåœ¨ä¸ IMAGE_INDEX 于 %L 用于尺寸 %d,å有 %ld å’Œ COARRAY 下é™æ˜¯ %ld)" #: fortran/simplify.c:6521 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Out of bounds in IMAGE_INDEX at %L for dimension %d, SUB has %ld and COARRAY upper bound is %ld)" -msgstr "" +msgstr "å‘ä¿¡åŒ£çš„è¾¹ç•Œåœ¨ä¸ IMAGE_INDEX 于 %L 用于尺寸 %d,å有 %ld å’Œ COARRAY 上é™æ˜¯ %ld)" #: fortran/simplify.c:6856 #, fuzzy, gcc-internal-format -#| msgid "gfc_conv_constant_to_tree(): invalid type: %s" msgid "gfc_convert_constant(): Unexpected type" msgstr "gfc_conv_constant_to_tree()ï¼šæ— æ•ˆç±»åž‹ï¼›%s" #: fortran/simplify.c:6942 #, fuzzy, gcc-internal-format -#| msgid "Character '%s' in string at %L cannot be converted into character kind %d" msgid "Character %qs in string at %L cannot be converted into character kind %d" msgstr "%2$L处å—符串ä¸çš„å—符‘%1$s’ä¸èƒ½è¢«è½¬æ¢åˆ°å—符ç§åˆ« %3$d" #: fortran/st.c:254 #, fuzzy, gcc-internal-format -#| msgid "gfc_trans_code(): Bad statement code" msgid "gfc_free_statement(): Bad statement" msgstr "gfc_trans_code():错误的è¯å¥ä»£ç " #: fortran/symbol.c:131 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "SAVE statement at %C follows blanket SAVE statement" msgid "IMPLICIT NONE (type) statement at %L following an IMPLICIT statement" msgstr "%C处 SAVE è¯å¥è·Ÿéšç©ºç™½ SAVE è¯å¥" #: fortran/symbol.c:168 #, fuzzy, gcc-internal-format -#| msgid "Letter '%c' already set in IMPLICIT statement at %C" msgid "Letter %<%c%> already set in IMPLICIT statement at %C" -msgstr "å—æ¯â€˜%c’已在%C处的éšå¼è¯å¥ä¸è¢«è®¾å®š" +msgstr "å—æ¯ %c 在%C处已ç»æœ‰äº†ä¸€ä¸ªéšå¼ç±»åž‹" #: fortran/symbol.c:190 #, gcc-internal-format, gfc-internal-format @@ -53690,14 +52875,12 @@ msgstr "" #: fortran/symbol.c:256 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' at %L has no IMPLICIT type" msgid "Symbol %qs at %L has no IMPLICIT type" msgstr "%2$L处的符å·â€˜%1$s’没有éšå¼ç±»åž‹" #. BIND(C) variables should not be implicitly declared. #: fortran/symbol.c:276 #, fuzzy, gcc-internal-format -#| msgid "Implicitly declared BIND(C) variable '%s' at %L may not be C interoperable" msgid "Implicitly declared BIND(C) variable %qs at %L may not be C interoperable" msgstr "%2$L处éšå¼å£°æ˜Žçš„ BIND(C) å˜é‡â€˜%1$s’ä¸èƒ½ä¸Ž C 互æ“作" @@ -53705,13 +52888,11 @@ msgstr "%2$L处éšå¼å£°æ˜Žçš„ BIND(C) å˜é‡â€˜%1$s’ä¸èƒ½ä¸Ž C 互æ“作" #. they are implicitly typed. #: fortran/symbol.c:292 #, fuzzy, gcc-internal-format -#| msgid "Implicitly declared variable '%s' at %L may not be C interoperable but it is a dummy argument to the BIND(C) procedure '%s' at %L" msgid "Implicitly declared variable %qs at %L may not be C interoperable but it is a dummy argument to the BIND(C) procedure %qs at %L" msgstr "%2$L处éšå¼å£°æ˜Žçš„å˜é‡â€˜%1$s’ä¸èƒ½ä¸Ž C 互æ“作,但它是%4$L处的 BIND(C) 过程‘%3$s’的虚å‚" #: fortran/symbol.c:333 #, fuzzy, gcc-internal-format -#| msgid "Function result '%s' at %L has no IMPLICIT type" msgid "Function result %qs at %L has no IMPLICIT type" msgstr "%2$L处的函数返回值‘%1$s’处没有éšå¼ç±»åž‹" @@ -53752,9 +52933,8 @@ msgstr "%s 属性与 %s 属性在%L处冲çª" #: fortran/symbol.c:780 #, fuzzy, gcc-internal-format -#| msgid "%s attribute conflicts with %s attribute in '%s' at %L" msgid "%s attribute conflicts with %s attribute in %qs at %L" -msgstr "%s 属性与 %s 属性冲çªï¼Œåœ¨â€˜%s’ä¸ï¼Œä½äºŽ %L" +msgstr "%s 属性与 %s 属性在%L处冲çª" #: fortran/symbol.c:788 #, fuzzy, gcc-internal-format, gfc-internal-format @@ -53764,7 +52944,7 @@ msgstr "%s 属性与 %s 属性在%L处冲çª" #: fortran/symbol.c:794 #, fuzzy, gcc-internal-format msgid "%s attribute with %s attribute in %qs at %L" -msgstr "%s 属性与 %s 属性冲çªï¼Œåœ¨â€˜%s’ä¸ï¼Œä½äºŽ %L" +msgstr "%s 属性与 %s 属性在%L处冲çª" #: fortran/symbol.c:838 #, gcc-internal-format, gfc-internal-format @@ -53793,7 +52973,6 @@ msgstr "为“%sâ€è§„定的 DIMENSION 在 %L 处它的 INTERFACE 主体外é¢" #: fortran/symbol.c:951 #, fuzzy, gcc-internal-format -#| msgid "DIMENSION specified for '%s' outside its INTERFACE body at %L" msgid "DIMENSION specified for %qs outside its INTERFACE body at %L" msgstr "%2$L处为‘%1$s’的 DIMENSION 指定在其 INTERFACE 体之外" @@ -53834,9 +53013,8 @@ msgstr "%L处指定了é‡å¤çš„ ASYNCHRONOUS 属性" #: fortran/symbol.c:1510 #, fuzzy, gcc-internal-format -#| msgid "%s attribute of '%s' conflicts with %s attribute at %L" msgid "%s attribute of %qs conflicts with %s attribute at %L" -msgstr "‘%2$s’的 %1$s 属性与%4$L处的 %3$s 属性冲çª" +msgstr "%s 属性与 %s 属性在%L处冲çª" #: fortran/symbol.c:1544 #, gcc-internal-format, gfc-internal-format @@ -53861,7 +53039,7 @@ msgstr "%L处指定了é‡å¤çš„ BIND 属性" #: fortran/symbol.c:1627 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "BIND(C) at %L" -msgstr "Fortran 2003:%L处的 BIND(C)" +msgstr "%L处指定了é‡å¤çš„ BIND 属性" #: fortran/symbol.c:1643 #, gcc-internal-format, gfc-internal-format @@ -53875,36 +53053,31 @@ msgstr "Fortran 2003:%L处的 EXTENDS" #: fortran/symbol.c:1668 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' at %L already has an explicit interface" msgid "Symbol %qs at %L already has an explicit interface" msgstr "符å·â€˜%s’在%L处已ç»æœ‰äº†æ˜¾å¼æŽ¥å£" #: fortran/symbol.c:1675 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %L has attributes specified outside its INTERFACE body" msgid "%qs at %L has attributes specified outside its INTERFACE body" msgstr "%2$L处的‘%1$s’有在其 INTERFACE 体外指定的属性" #: fortran/symbol.c:1709 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Symbol '%s' at %L conflicts with symbol from module '%s', use-associated at %L" -msgstr "" +msgstr "符å·â€˜%s’于 %L 冲çªä¸Žç¬¦å·ä»Žæ¨¡å—‘%s’,use-associated 于 %L" #: fortran/symbol.c:1713 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' at %L already has basic type of %s" msgid "Symbol %qs at %L already has basic type of %s" msgstr "符å·â€˜%s’在%L处已ç»æœ‰äº†åŸºæœ¬ç±»åž‹ %s" #: fortran/symbol.c:1720 #, fuzzy, gcc-internal-format -#| msgid "Procedure '%s' at %L may not have basic type of %s" msgid "Procedure %qs at %L may not have basic type of %s" msgstr "%2$L处过程‘%1$s’ä¸èƒ½æœ‰åŸºæœ¬ç±»åž‹ %3$s" #: fortran/symbol.c:1732 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' at %L cannot have a type" msgid "Symbol %qs at %L cannot have a type" msgstr "%2$L处的符å·â€˜%1$s’ä¸èƒ½æœ‰ç±»åž‹" @@ -53920,27 +53093,23 @@ msgstr "%2$C处的组件‘%1$s’已在%3$L处的父类ä¸" #: fortran/symbol.c:1999 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' at %C is ambiguous" msgid "Symbol %qs at %C is ambiguous" -msgstr "符å·â€˜%s’在%C处有æ§ä¹‰" +msgstr "%C处 TYPE 定义ä¸çš„æ§ä¹‰ç¬¦å·" #: fortran/symbol.c:2031 #, fuzzy, gcc-internal-format -#| msgid "Derived type '%s' at %C is being used before it is defined" msgid "Derived type %qs at %C is being used before it is defined" msgstr "%2$C处的派生类型‘%1$s’在定义å‰ä½¿ç”¨" #: fortran/symbol.c:2069 #, fuzzy, gcc-internal-format -#| msgid "Component '%s' at %C is a PRIVATE component of '%s'" msgid "Component %qs at %C is a PRIVATE component of %qs" msgstr "组件‘%s’在%C处是‘%s’的 PRIVATE 组件" #: fortran/symbol.c:2087 #, fuzzy, gcc-internal-format -#| msgid "'%s' at %C is not a member of the '%s' structure" msgid "%qs at %C is not a member of the %qs structure" -msgstr "‘%s’在%C处ä¸æ˜¯â€˜%s’结构的æˆå‘˜" +msgstr "为结构å—段%2$qE指定了%1$qs" #: fortran/symbol.c:2226 #, gcc-internal-format, gfc-internal-format @@ -53978,26 +53147,23 @@ msgid "Shared DO termination label %d at %C" msgstr "%C处需è¦ç»“æŸå" #: fortran/symbol.c:2612 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "new_symbol(): Symbol name too long" -msgstr "" +msgstr "%s:%d: 缺少新的符å·å称" #: fortran/symbol.c:2636 #, fuzzy, gcc-internal-format -#| msgid "Name '%s' at %C is an ambiguous reference to '%s' from module '%s'" msgid "Name %qs at %C is an ambiguous reference to %qs from module %qs" msgstr "%2$C处的åå—‘%1$s’是从模å—‘%4$s’对‘%3$s’有æ§ä¹‰çš„引用" #: fortran/symbol.c:2639 #, fuzzy, gcc-internal-format -#| msgid "Name '%s' at %C is an ambiguous reference to '%s' from current program unit" msgid "Name %qs at %C is an ambiguous reference to %qs from current program unit" msgstr "%2$C处的åå—‘%1$s’是从当å‰ç¨‹åºå•å…ƒå¯¹â€˜%3$s’有æ§ä¹‰çš„引用" #. Symbol is from another namespace. #: fortran/symbol.c:2860 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' at %C has already been host associated" msgid "Symbol %qs at %C has already been host associated" msgstr "%2$C处符å·â€˜%1$s’已ç»ä¸Žä¸»æœºç›¸å…³è”" @@ -54008,14 +53174,13 @@ msgstr "" #: fortran/symbol.c:3864 #, fuzzy, gcc-internal-format -#| msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable" msgid "Derived type %qs declared at %L must have the BIND attribute to be C interoperable" msgstr "%2$L处声明的派生类型‘%1$s’必须使用 BIND 属性方å¯ä¸Ž C 互æ“作" #: fortran/symbol.c:3882 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "Derived type %qs with BIND(C) attribute at %L is empty, and may be inaccessible by the C companion processor" -msgstr "" +msgstr "è¡ç”Ÿç±»åž‹â€˜%s’与绑定©属性于 %L 是空的,而也许会是ä¸å¯è®¿é—®ç”± C companion 处ç†å™¨" #: fortran/symbol.c:3903 #, gcc-internal-format, gfc-internal-format @@ -54034,37 +53199,31 @@ msgstr "%2$L处的组件‘%1$s’ä¸èƒ½æœ‰ ALLOCATABLE å±žæ€§ï¼Œå› ä¸ºå®ƒæ˜¯%4$ #: fortran/symbol.c:3963 #, fuzzy, gcc-internal-format -#| msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)" msgid "Component %qs in derived type %qs at %L may not be C interoperable, even though derived type %qs is BIND(C)" msgstr "%3$L处的派生类型‘%2$s’的组件‘%1$s’ä¸èƒ½ä¸Ž C 互æ“作,å³ä½¿æ´¾ç”Ÿç±»åž‹â€˜%4$s’是 BIND(C)" #: fortran/symbol.c:3973 #, fuzzy, gcc-internal-format -#| msgid "Component '%s' in derived type '%s' at %L may not be C interoperable" msgid "Component %qs in derived type %qs at %L may not be C interoperable" msgstr "%3$L处派生类型‘%2$s’ä¸çš„组件‘%1$s’ä¸èƒ½ä¸Ž C 互æ“作" #: fortran/symbol.c:3987 #, fuzzy, gcc-internal-format -#| msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes" msgid "Derived type %qs at %L cannot be declared with both PRIVATE and BIND(C) attributes" msgstr "%2$L处派生类型‘%1$s’ä¸èƒ½åŒæ—¶è¢«å£°æ˜Žä¸ºå…·æœ‰ PRIVATE å’Œ BIND(C)属性" #: fortran/symbol.c:3995 #, fuzzy, gcc-internal-format -#| msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)" msgid "Derived type %qs at %L cannot have the SEQUENCE attribute because it is BIND(C)" msgstr "%2$L处派生类型‘%1$s’ä¸èƒ½æœ‰ SEQUENCE å±žæ€§ï¼Œå› ä¸ºå®ƒæ˜¯ BIND(C)" #: fortran/symbol.c:4475 fortran/symbol.c:4480 #, fuzzy, gcc-internal-format -#| msgid "Symbol '%s' is used before it is typed at %L" msgid "Symbol %qs is used before it is typed at %L" msgstr "%2$L处符å·â€˜%1$s’在指定类型之å‰è¢«ä½¿ç”¨" #: fortran/target-memory.c:136 #, fuzzy, gcc-internal-format -#| msgid "invalid expression for min lvalue" msgid "Invalid expression in gfc_element_size." msgstr "æ— æ•ˆçš„æœ€å°å·¦å€¼è¡¨è¾¾å¼" @@ -54092,15 +53251,13 @@ msgstr "%L处的 BOZ 常数太大(%ld 对 %ld ä½)" #. integer :: a(lots) = (/(i, i=1, lots)/) #: fortran/trans-array.c:5482 #, fuzzy, gcc-internal-format -#| msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See -fmax-array-constructor option" msgid "The number of elements in the array constructor at %L requires an increase of the allowed %d upper limit. See %<-fmax-array-constructor%> option" msgstr "%Lå¤„æ•°ç»„æž„é€ å‡½æ•°ä¸çš„å…ƒç´ æ•°è¶…è¿‡å®¹è®¸çš„ä¸Šé™ %d。请å‚è§ -fmax-array-constructor 选项" #: fortran/trans-array.c:7263 #, fuzzy, gcc-internal-format -#| msgid "Creating array temporary at %L for argument '%s'" msgid "Creating array temporary at %L for argument %qs" -msgstr "%L处为å˜é‡â€˜%s’建立临时数组" +msgstr "在%L处建立临时数组" #: fortran/trans-array.c:9170 #, gcc-internal-format, gfc-internal-format @@ -54114,9 +53271,8 @@ msgstr "%2$L处的 COMMON å—‘%1$s’应该有åŒæ ·çš„大å°" #: fortran/trans-common.c:783 #, fuzzy, gcc-internal-format -#| msgid "requested position is not an integer constant" msgid "get_mpz(): Not an integer constant" -msgstr "è¦æ±‚çš„ä½ç½®ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡" +msgstr "ç´¯åŠ æ•°ä¸æ˜¯ä¸€ä¸ªæ•´å¸¸é‡" #: fortran/trans-common.c:811 #, gcc-internal-format @@ -54141,31 +53297,26 @@ msgstr "涉åŠ%2$L处的‘%1$s’和%4$L处的‘%3$s’的ç‰ä»·è§„则ä¸ä¸€è‡ #. Aligning this field would misalign a previous field. #: fortran/trans-common.c:1054 #, fuzzy, gcc-internal-format -#| msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements" msgid "The equivalence set for variable %qs declared at %L violates alignment requirements" msgstr "%2$L处声明的å˜é‡â€˜%1$s’的ç‰ä»·è®¾ç½®è¿å了对é½éœ€æ±‚" #: fortran/trans-common.c:1119 #, fuzzy, gcc-internal-format -#| msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L" msgid "Equivalence for %qs does not match ordering of COMMON %qs at %L" msgstr "%3$L处‘%1$s’的ç‰ä»·è®¾ç½®ä¸åŒ¹é… COMMON ‘%2$s’的次åº" #: fortran/trans-common.c:1134 #, fuzzy, gcc-internal-format -#| msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L" msgid "The equivalence set for %qs cause an invalid extension to COMMON %qs at %L" msgstr "%3$L处‘%1$s’的ç‰ä»·è®¾ç½®é€ æˆäº† COMMON‘%2$sâ€™çš„ä¸€ä¸ªæ— æ•ˆçš„æ‰©å±•" #: fortran/trans-common.c:1150 #, fuzzy, gcc-internal-format -#| msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L; reorder elements or use -fno-align-commons" msgid "Padding of %d bytes required before %qs in COMMON %qs at %L; reorder elements or use -fno-align-commons" msgstr "%4$L处 COMMON‘%3$s’ä¸â€˜%2$s’之å‰éœ€è¦å¡«å…… %1$d å—节; é‡æŽ’åºå…ƒç´ 或使用 -fno-align-commons" #: fortran/trans-common.c:1156 #, fuzzy, gcc-internal-format -#| msgid "Padding of %d bytes required before '%s' in COMMON at %L; reorder elements or use -fno-align-commons" msgid "Padding of %d bytes required before %qs in COMMON at %L; reorder elements or use -fno-align-commons" msgstr "%3$L处 COMMON ä¸â€˜%2$s’之å‰éœ€è¦å¡«å…… %1$d å—节; é‡æŽ’åºå…ƒç´ 或使用 -fno-align-commons" @@ -54206,7 +53357,6 @@ msgstr "内建函数å˜é‡ä¸æ˜¯ä¸€ä¸ªè¿‡ç¨‹" #: fortran/trans-decl.c:3869 fortran/trans-decl.c:5880 #, fuzzy, gcc-internal-format -#| msgid "Return value of function '%s' at %L not set" msgid "Return value of function %qs at %L not set" msgstr "%2$L处函数‘%1$s’的返回值没有设置" @@ -54217,7 +53367,6 @@ msgstr "%L处指针赋值时å‚æ•°ç§åˆ«ç±»åž‹ä¸åŒ" #: fortran/trans-decl.c:4489 #, fuzzy, gcc-internal-format -#| msgid "backend decl for module variable %s already exists" msgid "backend decl for module variable %qs already exists" msgstr "模å—å˜é‡ %s çš„åŽç«¯å£°æ˜Žå·²å˜åœ¨" @@ -54228,7 +53377,6 @@ msgstr "%2$L处声明了未使用的å˜é‡â€˜%1$s’" #: fortran/trans-decl.c:5065 #, fuzzy, gcc-internal-format -#| msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set" msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set" msgstr "%2$L处的虚å‚‘%1$s’被声明为 INTENT(OUT),但没有设置" @@ -54239,9 +53387,8 @@ msgstr "%2$L处的虚å‚‘%1$s’被声明为 INTENT(OUT),但没有设置" #: fortran/trans-decl.c:5081 fortran/trans-decl.c:5202 #, fuzzy, gcc-internal-format -#| msgid "Unused dummy argument '%s' at %L" msgid "Unused dummy argument %qs at %L" -msgstr "%2$L处声明了未使用的虚å‚‘%1$s’" +msgstr "%L处å‡å®šå¤–形的数组必须是一个虚å‚" #: fortran/trans-decl.c:5096 #, fuzzy, gcc-internal-format @@ -54250,13 +53397,11 @@ msgstr "%2$L处声明了未使用的å˜é‡â€˜%1$s’" #: fortran/trans-decl.c:5105 #, fuzzy, gcc-internal-format -#| msgid "Unused variable '%s' declared at %L" msgid "Unused variable %qs declared at %L" msgstr "%2$L处声明了未使用的å˜é‡â€˜%1$s’" #: fortran/trans-decl.c:5154 #, fuzzy, gcc-internal-format -#| msgid "Unused parameter '%s' declared at %L" msgid "Unused parameter %qs declared at %L" msgstr "%2$L处声明了未使用的å‚数‘%1$s’" @@ -54267,7 +53412,6 @@ msgstr "%2$L处声明了未使用的å‚数‘%1$s’" #: fortran/trans-decl.c:5174 #, fuzzy, gcc-internal-format -#| msgid "Return value '%s' of function '%s' declared at %L not set" msgid "Return value %qs of function %qs declared at %L not set" msgstr "%3$L处声明的的函数‘%2$s’的返回值‘%1$s’没有设置" @@ -54313,14 +53457,12 @@ msgstr "%L处å‚数列表函数未知" #: fortran/trans-intrinsic.c:869 #, fuzzy, gcc-internal-format -#| msgid "Intrinsic function %s(%d) not recognized" msgid "Intrinsic function %qs (%d) not recognized" msgstr "内部函数 %s(%d) æ— æ³•è¯†åˆ«" #: fortran/trans-intrinsic.c:1487 fortran/trans-intrinsic.c:1873 #: fortran/trans-intrinsic.c:2069 #, fuzzy, gcc-internal-format -#| msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index" msgid "%<dim%> argument of %s intrinsic at %L is not a valid dimension index" msgstr "%2$L处‘%1$s’内建函数的‘dim’实å‚ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„维数索引" @@ -54350,13 +53492,12 @@ msgid "Sorry, the lock component of derived type at %L is not yet supported" msgstr "%L处指针赋值时å‚æ•°ç§åˆ«ç±»åž‹ä¸åŒ" #: fortran/trans-stmt.c:994 -#, gcc-internal-format, gfc-internal-format +#, fuzzy, gcc-internal-format, gfc-internal-format msgid "Sorry, only support for integer kind %d implemented for image-set at %L" -msgstr "" +msgstr "抱æ‰ï¼Œåªæœ‰æ”¯æŒç”¨äºŽæ•´æ•° kind %d 实现的用于 image-set 于 %L" #: fortran/trans-stmt.c:2723 #, fuzzy, gcc-internal-format -#| msgid "gfc_trans_code(): Bad statement code" msgid "gfc_trans_select(): Bad type for case expr." msgstr "gfc_trans_code():错误的è¯å¥ä»£ç " @@ -54392,7 +53533,6 @@ msgstr "real kind=8 在指定了 -fdefault-real-8 选项时ä¸å¯ç”¨" #: fortran/trans-types.c:577 #, fuzzy, gcc-internal-format -#| msgid "Use of -fdefault-double-8 requires -fdefault-real-8" msgid "Use of %<-fdefault-double-8%> requires %<-fdefault-real-8%>" msgstr "使用 -fdefault-double-8 æ—¶éœ€è¦ -fdefault-real-8" @@ -54665,7 +53805,7 @@ msgstr "ä¸ä½¿ç”¨â€˜--mainâ€™åˆ™æ— æ³•æŒ‡å®šâ€˜-D’\n" #: java/jvspec.c:399 #, fuzzy, gcc-internal-format msgid "%qs is not a valid class name" -msgstr "%qsä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„输出文件" +msgstr "%qs没有指定类å" #: java/jvspec.c:405 #, gcc-internal-format @@ -54749,21 +53889,18 @@ msgstr "å¼‚å¸¸è¡¨ä¸ PC 错误" #: jit/docs/examples/tut05-bf.c:242 #, fuzzy, gcc-internal-format -#| msgid "too many arguments" msgid "too many open parens" -msgstr "实å‚太多" +msgstr "打开的文件过多" #: jit/docs/examples/tut05-bf.c:275 #, fuzzy, gcc-internal-format -#| msgid "mismatched arguments" msgid "mismatching parens" msgstr "å‚æ•°ä¸åŒ¹é…" #: jit/docs/examples/tut05-bf.c:310 #, fuzzy, gcc-internal-format -#| msgid "could not open file %s" msgid "unable to open file" -msgstr "æ— æ³•æ‰“å¼€æ–‡ä»¶ %s" +msgstr "æ— æ³•å¼€å¯åŸºæœ¬æ–‡ä»¶ï¼š%s" #: lto/lto-lang.c:812 #, gcc-internal-format @@ -54794,7 +53931,7 @@ msgstr "close:%s" #: lto/lto-object.c:278 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "two or more sections for %s" -msgstr "%s 的两个以上的节" +msgstr "两个文件在åŒä¸€åˆ—ä¸ï¼š%s\n" #: lto/lto-symtab.c:196 #, fuzzy, gcc-internal-format @@ -54803,14 +53940,13 @@ msgstr "æ¤å‡½æ•°ä¸çš„%qD在使用å‰æœªåˆå§‹åŒ–" #: lto/lto-symtab.c:198 #, fuzzy, gcc-internal-format, gfc-internal-format -#| msgid "previously defined here" msgid "previously defined here as %s" -msgstr "以å‰åœ¨æ¤å®šä¹‰è¿‡" +msgstr "%q+#D已在æ¤å®šä¹‰è¿‡" #: lto/lto-symtab.c:387 #, fuzzy, gcc-internal-format msgid "multiple prevailing defs for %qE" -msgstr "为%qD给定了多个åˆå§‹å€¼è®¾å®š" +msgstr "%2$qE的第 %1$d 个å‚数必须是 %3$d çš„å€æ•°" #: lto/lto-symtab.c:405 #, gcc-internal-format @@ -54875,37 +54011,37 @@ msgstr "éžé¢„期的å移" #: lto/lto.c:2116 #, fuzzy, gcc-internal-format msgid "invalid line in the resolution file" -msgstr "符å·è§£æžæ–‡ä»¶ä¸æœ‰æ— 效行。" +msgstr "符å·è§£æžæ–‡ä»¶" #: lto/lto.c:2127 #, fuzzy, gcc-internal-format msgid "invalid resolution in the resolution file" -msgstr "符å·è§£æžæ–‡ä»¶ä¸æœ‰éžé¢„期的符å·è§£æž" +msgstr "符å·è§£æžæ–‡ä»¶" #: lto/lto.c:2133 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "resolution sub id %wx not in object file" -msgstr "" +msgstr "分辨率åè¯†åˆ«å· " #: lto/lto.c:2245 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "cannot read LTO decls from %s" -msgstr "ä¸èƒ½è¯»å– ELF 头:%s" +msgstr "æ— æ³•ä»Ž “%s†ä¸è¯»å– LTO decls" #: lto/lto.c:2351 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "Cannot open %s" -msgstr "ä¸èƒ½æ‰“å¼€ %s" +msgstr "æ— æ³•æ‰“å¼€ %s" #: lto/lto.c:2372 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "Cannot map %s" -msgstr "ä¸èƒ½æ‰“å¼€ %s" +msgstr "æ— æ³•æ˜ å°„ %s" #: lto/lto.c:2383 -#, fuzzy, gcc-internal-format, gfc-internal-format +#, gcc-internal-format, gfc-internal-format msgid "Cannot read %s" -msgstr "ä¸èƒ½æ‰“å¼€ %s" +msgstr "æ— æ³•è¯»å– %s" #: lto/lto.c:2497 #, gcc-internal-format @@ -54913,25 +54049,24 @@ msgid "lto_obj_file_open() failed" msgstr "lto_obj_file_open() 失败" #: lto/lto.c:2520 -#, fuzzy, gcc-internal-format -#| msgid "atexit failed" +#, gcc-internal-format msgid "waitpid failed" -msgstr "atexit 失败" +msgstr "waitpid 失败" #: lto/lto.c:2523 #, fuzzy, gcc-internal-format msgid "streaming subprocess failed" -msgstr "é‡å‘½å .rpo 文件" +msgstr "%s å进程失败" #: lto/lto.c:2526 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "streaming subprocess was killed by signal" -msgstr "" +msgstr "åè¿›ç¨‹æ”¶åˆ°è‡´å‘½ä¿¡å· %d" #: lto/lto.c:2602 #, fuzzy, gcc-internal-format msgid "no LTRANS output list filename provided" -msgstr "写入 LTRANS 输出列表 %s:%m" +msgstr "打开 LTRANS 输出列表 %s:%m" #: lto/lto.c:2690 #, gcc-internal-format @@ -54954,9 +54089,9 @@ msgid "could not open symbol resolution file: %m" msgstr "æ— æ³•æ‰“å¼€ç¬¦å·è§£æžæ–‡ä»¶ï¼š%s" #: lto/lto.c:3095 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "errors during merging of translation units" -msgstr "" +msgstr "错误在的期间åˆå¹¶çš„转译å•ä½" #: objc/objc-act.c:452 objc/objc-act.c:6808 #, gcc-internal-format @@ -54964,34 +54099,34 @@ msgid "%<@end%> missing in implementation context" msgstr "实现上下文ä¸ç¼ºå°‘%<@end%>" #: objc/objc-act.c:605 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "class attributes are not available in Objective-C 1.0" -msgstr "" +msgstr "%<@synthesize%> 在 Objective-C 1.0 里ä¸å¯ç”¨" #: objc/objc-act.c:620 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "category attributes are not available in Objective-C 1.0" -msgstr "" +msgstr "%<@synthesize%> 在 Objective-C 1.0 里ä¸å¯ç”¨" #: objc/objc-act.c:623 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "category attributes are not available in this version of the compiler, (ignored)" -msgstr "" +msgstr "分类属性ä¸æ˜¯å¯ç”¨åœ¨ä¸è¿™ä¸ªç‰ˆæœ¬çš„编译器,(忽略)" #: objc/objc-act.c:629 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "class extensions are not available in Objective-C 1.0" -msgstr "" +msgstr "%<@synthesize%> 在 Objective-C 1.0 里ä¸å¯ç”¨" #: objc/objc-act.c:643 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "class extension for class %qE declared after its %<@implementation%>" -msgstr "" +msgstr "类别延伸用于类别 %qE 声明的之åŽå®ƒçš„ %<@implementation%>" #: objc/objc-act.c:658 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "protocol attributes are not available in Objective-C 1.0" -msgstr "" +msgstr "%<@synthesize%> 在 Objective-C 1.0 里ä¸å¯ç”¨" #: objc/objc-act.c:723 #, gcc-internal-format @@ -55001,37 +54136,37 @@ msgstr "%<@end%>必须出现在 @implementation 上下文ä¸" #: objc/objc-act.c:732 #, fuzzy, gcc-internal-format msgid "%<@package%> is not available in Objective-C 1.0" -msgstr "快速枚举在 Objective-C 1.0 里ä¸å¯ç”¨" +msgstr "%<@dynamic%> 在 Objective-C 1.0 里ä¸å¯ç”¨" #: objc/objc-act.c:734 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<@package%> presently has the same effect as %<@public%>" -msgstr "" +msgstr "%<@package%>呈现有相åŒæ•ˆæžœä½œä¸º %<@public%>" #: objc/objc-act.c:745 #, fuzzy, gcc-internal-format msgid "%<@optional%> is not available in Objective-C 1.0" -msgstr "快速枚举在 Objective-C 1.0 里ä¸å¯ç”¨" +msgstr "%<@dynamic%> 在 Objective-C 1.0 里ä¸å¯ç”¨" #: objc/objc-act.c:747 #, fuzzy, gcc-internal-format msgid "%<@required%> is not available in Objective-C 1.0" -msgstr "快速枚举在 Objective-C 1.0 里ä¸å¯ç”¨" +msgstr "%<@dynamic%> 在 Objective-C 1.0 里ä¸å¯ç”¨" #: objc/objc-act.c:755 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<@optional%> is allowed in @protocol context only" -msgstr "" +msgstr "%<@optional%>被å…许在ä¸@å定è¯å¢ƒåªæœ‰" #: objc/objc-act.c:757 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<@required%> is allowed in @protocol context only" -msgstr "" +msgstr "%<@required%>被å…许在ä¸@å定è¯å¢ƒåªæœ‰" #: objc/objc-act.c:864 #, fuzzy, gcc-internal-format msgid "%<@property%> is not available in Objective-C 1.0" -msgstr "快速枚举在 Objective-C 1.0 里ä¸å¯ç”¨" +msgstr "%<@dynamic%> 在 Objective-C 1.0 里ä¸å¯ç”¨" #: objc/objc-act.c:868 #, gcc-internal-format @@ -55066,7 +54201,7 @@ msgstr "方法声明ä¸åœ¨@interface 上下文ä¸" #: objc/objc-act.c:929 #, fuzzy, gcc-internal-format msgid "invalid property declaration" -msgstr "æ— æ•ˆçš„å‡½æ•°å£°æ˜Ž" +msgstr "å½¢å‚声明ä¸å‡ºçŽ°çš„ typedef å£°æ˜Žæ— æ•ˆ" #: objc/objc-act.c:937 #, fuzzy, gcc-internal-format @@ -55086,14 +54221,14 @@ msgid "property can not be a bit-field" msgstr "ä¸èƒ½è®¾ç½®åªè¯»å±žæ€§" #: objc/objc-act.c:987 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "object property %qD has no %<assign%>, %<retain%> or %<copy%> attribute; assuming %<assign%>" -msgstr "" +msgstr "对象内容 %qD 没有任何 %<assign%>,%<retain%>或 %<copy%>属性;å‡è®¾ %<assign%>" #: objc/objc-act.c:990 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<assign%> can be unsafe for Objective-C objects; please state explicitly if you need it" -msgstr "" +msgstr "%<assign%> å¯ä»¥æ˜¯ unsafe 用于 Objective-C 对象;请状æ€æ˜Žç¡®çš„如果您需è¦å®ƒ" #: objc/objc-act.c:997 #, fuzzy, gcc-internal-format @@ -55103,12 +54238,12 @@ msgstr "%q+D:‘selectany’属性åªå¯¹å·²åˆå§‹åŒ–的对象有效" #: objc/objc-act.c:1001 #, gcc-internal-format msgid "%<copy%> attribute is only valid for Objective-C objects" -msgstr "" +msgstr "%<copy%> 属性åªå¯¹ Objective-C 对象有效" #: objc/objc-act.c:1055 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "redeclaration of property %qD" -msgstr "对%qDçš„é‡å£°æ˜Žåœ¨%<constexpr%>ä¸" +msgstr "属性 %qD é‡å£°æ˜Ž" #: objc/objc-act.c:1058 objc/objc-act.c:1123 objc/objc-act.c:1133 #: objc/objc-act.c:1146 objc/objc-act.c:1157 objc/objc-act.c:1168 @@ -55152,7 +54287,7 @@ msgstr "%q+Dçš„æ•°æ®åŒºåŸŸä¸Žå…ˆå‰çš„声明冲çª" #: objc/objc-act.c:1676 #, fuzzy, gcc-internal-format msgid "the dot syntax is not available in Objective-C 1.0" -msgstr "快速枚举在 Objective-C 1.0 里ä¸å¯ç”¨" +msgstr "%<@synthesize%> 在 Objective-C 1.0 里ä¸å¯ç”¨" #. We know that 'class_name' is an Objective-C class name as the #. parser won't call this function if it is not. This is only a @@ -55171,12 +54306,12 @@ msgstr "找ä¸åˆ°ç±»%qE的接å£" #: objc/objc-act.c:1706 objc/objc-act.c:6845 objc/objc-act.c:6976 #, gcc-internal-format msgid "class %qE is deprecated" -msgstr "ä¸å»ºè®®ä½¿ç”¨ç±»%qE" +msgstr "已弃用类%qE" #: objc/objc-act.c:1735 #, fuzzy, gcc-internal-format msgid "could not find setter/getter for %qE in class %qE" -msgstr "找ä¸åˆ°ç±»%qEçš„å¼•ç”¨æ ‡è®°" +msgstr "找ä¸åˆ°ç±»%qE的接å£" #: objc/objc-act.c:1771 #, gcc-internal-format @@ -55189,9 +54324,9 @@ msgid "method declaration not in @interface context" msgstr "方法声明ä¸åœ¨@interface 上下文ä¸" #: objc/objc-act.c:2046 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "method attributes are not available in Objective-C 1.0" -msgstr "" +msgstr "%<@synthesize%> 在 Objective-C 1.0 里ä¸å¯ç”¨" #: objc/objc-act.c:2066 #, gcc-internal-format @@ -55246,7 +54381,7 @@ msgstr "é™æ€åˆ†é…çš„ Objective-C ç±»%qE的实例" #: objc/objc-act.c:2761 #, fuzzy, gcc-internal-format msgid "redeclaration of Objective-C class %qs" -msgstr "为%qs指定了å˜å‚¨ç±»" +msgstr "%qEä¸æ˜¯ä¸€ä¸ª Objective-C ç±»å或别å" #. This case happens when we are given an 'interface' which #. is not a valid class name. For example if a typedef was @@ -55256,9 +54391,9 @@ msgstr "为%qs指定了å˜å‚¨ç±»" #. This is an error; protocols make no sense unless you use #. them with Objective-C objects. #: objc/objc-act.c:2803 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "only Objective-C object types can be qualified with a protocol" -msgstr "" +msgstr "åªæœ‰ Objective-C 对象型å¼å¯ä»¥è¢«ç»èµ„æ ¼ä¿®é¥°ä¸Žå定" #: objc/objc-act.c:2867 #, gcc-internal-format @@ -55340,7 +54475,7 @@ msgstr "全局/é™æ€å˜é‡èµ‹å€¼å·²è¢«æ‰“æ–" #: objc/objc-act.c:4006 objc/objc-act.c:4034 objc/objc-act.c:4089 #, fuzzy, gcc-internal-format msgid "duplicate instance variable %q+D" -msgstr "未使用的å˜é‡%q+D" +msgstr "对%q#Dé‡å¤çš„显å¼å®žä¾‹åŒ–" #: objc/objc-act.c:4149 #, fuzzy, gcc-internal-format @@ -55380,12 +54515,12 @@ msgstr "在 @catch å—外使用%<@throw%>(rethrow)" #: objc/objc-act.c:4374 #, fuzzy, gcc-internal-format msgid "%<@throw%> argument is not an object" -msgstr "%2$L 处对象“%1$sâ€ä¸æ˜¯ä¸€ä¸ªå˜é‡" +msgstr "对常é‡å¯¹è±¡çš„写æ“作(å®žå‚ %d)" #: objc/objc-act.c:4395 #, fuzzy, gcc-internal-format msgid "%<@synchronized%> argument is not an object" -msgstr "%2$L 处对象“%1$sâ€ä¸æ˜¯ä¸€ä¸ªå˜é‡" +msgstr "级别 2 尚未åŒæ¥" #: objc/objc-act.c:4603 #, gcc-internal-format @@ -55403,9 +54538,9 @@ msgid "can not use an object as parameter to a method" msgstr "ä¸èƒ½å°†å¯¹è±¡ç”¨ä½œæ–¹æ³•çš„å‚æ•°" #: objc/objc-act.c:4744 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "method argument attributes are not available in Objective-C 1.0" -msgstr "" +msgstr "方法å‚数属性ä¸æ˜¯å¯ç”¨åœ¨ä¸ Objective-C 1.0" #: objc/objc-act.c:5118 #, gcc-internal-format @@ -55458,7 +54593,7 @@ msgstr "也找到了%<%c%s%>" #: objc/objc-act.c:5428 objc/objc-act.c:5562 #, fuzzy, gcc-internal-format msgid "@interface of class %qE not found" -msgstr "找ä¸åˆ°åè®®%qE的方法定义" +msgstr "找ä¸åˆ°ç±»%qE的接å£" #: objc/objc-act.c:5436 #, gcc-internal-format @@ -55526,19 +54661,19 @@ msgid "instance variable %qE accessed in class method" msgstr "实例å˜é‡%qE在类方法ä¸è¢«è®¿é—®" #: objc/objc-act.c:6012 objc/objc-act.c:6032 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "method %<%c%E%> declared %<@optional%> and %<@required%> at the same time" -msgstr "" +msgstr "方法 %<%c%E%>声明 %<@optional%>å’Œ %<@required%>åŒæ—¶" #: objc/objc-act.c:6016 #, fuzzy, gcc-internal-format msgid "previous declaration of %<%c%E%> as %<@required%>" -msgstr "%q+D早先被声明为%q#D" +msgstr "%<%c%s%>的上一个声明" #: objc/objc-act.c:6036 #, fuzzy, gcc-internal-format msgid "previous declaration of %<%c%E%> as %<@optional%>" -msgstr "%q+D早先被声明为%q#D" +msgstr "%<%c%s%>的上一个声明" #: objc/objc-act.c:6096 #, fuzzy, gcc-internal-format @@ -55548,7 +54683,7 @@ msgstr "方法%<%c%E%>的声明é‡å¤" #: objc/objc-act.c:6100 #, fuzzy, gcc-internal-format msgid "previous declaration of %<%c%E%>" -msgstr "%q+Dçš„å‰ä¸€ä¸ªå£°æ˜Ž" +msgstr "%<%c%s%>的上一个声明" #: objc/objc-act.c:6137 #, gcc-internal-format @@ -55681,32 +54816,32 @@ msgstr "ä¸ä¸€è‡´çš„实例å˜é‡æŒ‡å®š" #: objc/objc-act.c:7410 #, fuzzy, gcc-internal-format msgid "invalid setter, it must have one argument" -msgstr "ä¸æ–函数ä¸èƒ½æœ‰å‚æ•°" +msgstr "%L处的 FINAL 过程有且åªæœ‰ä¸€ä¸ªå‚æ•°" #: objc/objc-act.c:7574 objc/objc-act.c:7789 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "property %qs already specified in %<@dynamic%>" -msgstr "" +msgstr "内容 %qs å·²ç»æŒ‡å®šçš„åœ¨ä¸ %<@dynamic%>" #: objc/objc-act.c:7577 objc/objc-act.c:7792 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "property %qs already specified in %<@synthesize%>" -msgstr "" +msgstr "内容 %qs å·²ç»æŒ‡å®šçš„åœ¨ä¸ %<@synthesize%>" #: objc/objc-act.c:7591 objc/objc-act.c:7806 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "no declaration of property %qs found in the interface" -msgstr "" +msgstr "找ä¸åˆ°ä»»ä½•å£°æ˜Žçš„内容 %qs 在ä¸æŽ¥å£" #: objc/objc-act.c:7618 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "ivar %qs used by %<@synthesize%> declaration must be an existing ivar" -msgstr "" +msgstr "ivar %qs 使用的由 %<@synthesize%>声明必须是现有 ivar" #: objc/objc-act.c:7639 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "property %qs is using instance variable %qs of incompatible type" -msgstr "" +msgstr "内容 %qs æ£åœ¨ä½¿ç”¨å®žä¾‹å˜é‡ %qs çš„ä¸å…¼å®¹çš„类型" #: objc/objc-act.c:7661 #, fuzzy, gcc-internal-format @@ -55719,38 +54854,38 @@ msgid "'atomic' property %qs is using bit-field instance variable %qs" msgstr "éžæ³•çš„èšåˆç±»åž‹%qE指定给实例å˜é‡%qs" #: objc/objc-act.c:7692 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "property %qs is using the same instance variable as property %qs" -msgstr "" +msgstr "内容 %qs æ£åœ¨ä½¿ç”¨ç›¸åŒå®žä¾‹å˜é‡ä½œä¸ºå†…容 %qs" #: objc/objc-act.c:7733 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "%<@synthesize%> is not available in Objective-C 1.0" -msgstr "快速枚举在 Objective-C 1.0 里ä¸å¯ç”¨" +msgstr "%<@synthesize%> 在 Objective-C 1.0 里ä¸å¯ç”¨" #. We can get here only in Objective-C; the Objective-C++ parser #. detects the problem while parsing, outputs the error #. "misplaced '@synthesize' Objective-C++ construct" and skips #. the declaration. #: objc/objc-act.c:7744 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "%<@synthesize%> not in @implementation context" -msgstr "方法定义ä¸åœ¨ @implementation 上下文ä¸" +msgstr "%<@synthesize%> ä¸åœ¨ @implementation 上下文ä¸" #: objc/objc-act.c:7750 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "%<@synthesize%> can not be used in categories" -msgstr "%s ä¸èƒ½åœ¨è¿™é‡Œç”¨äºŽ asm" +msgstr "%<@synthesize%> ä¸èƒ½ç”¨äºŽåˆ†ç±»" #: objc/objc-act.c:7759 #, gcc-internal-format msgid "%<@synthesize%> requires the @interface of the class to be available" -msgstr "" +msgstr "%<@synthesize%> 需è¦ç±»çš„ @interface çš„å¯ç”¨" #: objc/objc-act.c:7842 -#, fuzzy, gcc-internal-format +#, gcc-internal-format msgid "%<@dynamic%> is not available in Objective-C 1.0" -msgstr "快速枚举在 Objective-C 1.0 里ä¸å¯ç”¨" +msgstr "%<@dynamic%> 在 Objective-C 1.0 里ä¸å¯ç”¨" #. We can get here only in Objective-C; the Objective-C++ parser #. detects the problem while parsing, outputs the error @@ -55759,12 +54894,12 @@ msgstr "快速枚举在 Objective-C 1.0 里ä¸å¯ç”¨" #: objc/objc-act.c:7853 #, fuzzy, gcc-internal-format msgid "%<@dynamic%> not in @implementation context" -msgstr "方法定义ä¸åœ¨ @implementation 上下文ä¸" +msgstr "实现上下文ä¸ç¼ºå°‘%<@end%>" #: objc/objc-act.c:7875 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<@dynamic%> requires the @interface of the class to be available" -msgstr "" +msgstr "%<@synthesize%> 需è¦ç±»çš„ @interface çš„å¯ç”¨" #: objc/objc-act.c:8073 #, gcc-internal-format @@ -55777,7 +54912,7 @@ msgstr "找ä¸åˆ°åè®®%qE的方法定义" #: objc/objc-act.c:8104 #, gcc-internal-format msgid "protocol %qE is deprecated" -msgstr "ä¸å»ºè®®ä½¿ç”¨åè®®%qE" +msgstr "已弃用åè®®%qE" #: objc/objc-act.c:8223 #, gcc-internal-format @@ -55833,9 +54968,9 @@ msgid "fast enumeration is not available in Objective-C 1.0" msgstr "快速枚举在 Objective-C 1.0 里ä¸å¯ç”¨" #: objc/objc-act.c:9718 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "iterating variable in fast enumeration is not an object" -msgstr "" +msgstr "è¿ä»£å˜é‡åœ¨ä¸å¿«é€Ÿæžšä¸¾ç±»åž‹ä¸æ˜¯å¯¹è±¡" #: objc/objc-act.c:9724 #, fuzzy, gcc-internal-format @@ -55848,15 +54983,15 @@ msgid "type %qT does not have a known size" msgstr "类型%qT大å°æœªçŸ¥" #: objc/objc-encoding.c:730 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "unknown type %<%T%> found during Objective-C encoding" -msgstr "" +msgstr "未知类型 %<%T%>找到在的期间 Objective-C ç¼–ç " #. Do not do any encoding, produce an error and keep going. #: objc/objc-encoding.c:813 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "trying to encode non-integer type as a bitfield" -msgstr "" +msgstr "å°è¯•ç¼–ç non-integer 类型作为 bitfield" #: objc/objc-gnu-runtime-abi-01.c:143 #, gcc-internal-format @@ -55875,3087 +55010,16 @@ msgid "non-objective-c type '%T' cannot be caught" msgstr "éž Objective-C 类型‘%T’ä¸èƒ½è¢«æ•èŽ·" #: objc/objc-next-runtime-abi-01.c:163 -#, gcc-internal-format +#, fuzzy, gcc-internal-format msgid "%<-fobjc-sjlj-exceptions%> is the only supported exceptions system for %<-fnext-runtime%> with %<-fobjc-abi-version%> < 2" -msgstr "" +msgstr "%<-fobjc-sjlj-exceptions%> 是åªæœ‰æ”¯æŒçš„异常系统用于 %<-fnext-runtime%> 与 %<-fobjc-abi-version%><2" #: objc/objc-next-runtime-abi-02.c:256 #, gcc-internal-format msgid "%<-fobjc-sjlj-exceptions%> is ignored for %<-fnext-runtime%> when %<-fobjc-abi-version%> >= 2" -msgstr "" +msgstr "%<-fobjc-sjlj-exceptions%> 被忽略用于 %<-fnext-runtime%> æ—¶ %<-fobjc-abi-version%> >=2" #: objc/objc-runtime-shared-support.c:437 #, gcc-internal-format msgid "creating selector for nonexistent method %qE" msgstr "为ä¸å˜åœ¨çš„方法%qE创建选择å" - -#~ msgid "%s:%d:%d: Invalid state file; %s" -#~ msgstr "%s:%d:%d:状æ€æ–‡ä»¶æ— 效;%s" - -#~ msgid "%s:%d: Invalid state file; %s" -#~ msgstr "%s:%d:状æ€æ–‡ä»¶æ— 效;%s" - -#~ msgid "%s:%d:%d: Invalid state file; " -#~ msgstr "%s:%d:%d:状æ€æ–‡ä»¶æ— 效;" - -#~ msgid "%s:%d: Invalid state file; " -#~ msgstr "%s:%d:状æ€æ–‡ä»¶æ— 效;" - -#~ msgid "Option tag unknown" -#~ msgstr "æœªçŸ¥çš„é€‰é¡¹æ ‡è®°" - -#, fuzzy -#~ msgid "Unexpected type in write_state_scalar_type" -#~ msgstr "truthvalue_conversion ä¸ç±»åž‹éžé¢„期" - -#, fuzzy -#~ msgid "Unexpected type in write_state_string_type" -#~ msgstr "cris_print_base ä¸æœ‰éžé¢„期的基类型" - -#, fuzzy -#~ msgid "failed to write state trailer [%s]" -#~ msgstr "æ— æ³•å†™å…¥ä¸´æ—¶æ–‡ä»¶ %s" - -#, fuzzy -#~ msgid "Failed to open file %s for writing state: %s" -#~ msgstr "ä¸èƒ½æ‰“开模å—文件‘%s’写入,在%C处:%s" - -#, fuzzy -#~ msgid "output error when writing state file %s [%s]" -#~ msgstr "%s:写入文件‘%s’时出错:%s\n" - -#, fuzzy -#~ msgid "failed to close state file %s [%s]" -#~ msgstr "%sï¼šæ— æ³•å…³é—输出文件 %s\n" - -#, fuzzy -#~ msgid "failed to rename %s to state file %s [%s]" -#~ msgstr "æ— æ³•æ›´å模å—文件“%sâ€åˆ°â€œ%sâ€ï¼š%s" - -#, fuzzy -#~ msgid "Failed to open state file %s for reading [%s]" -#~ msgstr "%sï¼šæ— æ³•æ‰“å¼€æ–‡ä»¶â€˜%s’读入:%s\n" - -#, fuzzy -#~ msgid "failed to close read state file %s [%s]" -#~ msgstr "%sï¼šæ— æ³•å…³é—输出文件 %s\n" - -#~ msgid "pex_init failed" -#~ msgstr "pex_init 失败" - -#~ msgid "can't get program status" -#~ msgstr "æ— æ³•èŽ·å–程åºçŠ¶æ€" - -#~ msgid "%s terminated with signal %d [%s], core dumped" -#~ msgstr "%s ä»¥ä¿¡å· %d [%s] é€€å‡ºï¼Œæ ¸å¿ƒè½¬å‚¨" - -#~ msgid "%s terminated with signal %d [%s]" -#~ msgstr "%s ä»¥ä¿¡å· %d [%s] 退出。" - -#~ msgid "failed to open %s" -#~ msgstr "打开 %s 失败" - -#~ msgid "could not write to temporary file %s" -#~ msgstr "æ— æ³•å†™å…¥ä¸´æ—¶æ–‡ä»¶ %s" - -#~ msgid "fopen: %s" -#~ msgstr "fopen %s" - -#~ msgid "enabled by default" -#~ msgstr "默认å¯ç”¨" - -#~ msgid "out of memory" -#~ msgstr "内å˜ä¸è¶³" - -#~ msgid "optimizing for size and code size would grow" -#~ msgstr "为代ç 大å°ä¼˜åŒ–而会导致代ç 膨胀" - -#, fuzzy -#~ msgid "Allow new data races on packed data loads to be introduced" -#~ msgstr "å…许跳转与其他指令打包在一起" - -#, fuzzy -#~ msgid "Allow new data races on packed data stores to be introduced" -#~ msgstr "å…许跳转与其他指令打包在一起" - -#~ msgid "environment variable DJGPP not defined" -#~ msgstr "没有定义 DJGPP 环境å˜é‡" - -#~ msgid "environment variable DJGPP points to missing file '%s'" -#~ msgstr "环境å˜é‡ DJGPP 指å‘的文件‘%s’ä¸å˜åœ¨" - -#~ msgid "environment variable DJGPP points to corrupt file '%s'" -#~ msgstr "环境å˜é‡ DJGPP 指å‘的文件‘%s’已æŸå" - -#~ msgid "picochip_print_memory_address - Operand isn't memory based" -#~ msgstr "picochip_print_memory_address - æ“作数ä¸æ˜¯å†…å˜åœ°å€" - -#~ msgid "Unknown mode in print_operand (CONST_DOUBLE) :" -#~ msgstr "print_operand (CONST_DOUBLE) ä¸æ¨¡å¼æœªçŸ¥ï¼š" - -#~ msgid "Bad address, not (reg+disp):" -#~ msgstr "错误的地å€ï¼Œä¸æ˜¯(reg+disp):" - -#~ msgid "Bad address, not register:" -#~ msgstr "错误的地å€ï¼Œä¸æ˜¯å¯„å˜å™¨ï¼š" - -#~ msgid "invalid operand for code: '%c'" -#~ msgstr "代ç ‘%c’的æ“ä½œæ•°æ— æ•ˆ" - -#~ msgid "Use big-endian format for unformatted files" -#~ msgstr "ä¸ºæœªæ ¼å¼åŒ–的文件使用大端在å‰çš„æ ¼å¼" - -#~ msgid "Use little-endian format for unformatted files" -#~ msgstr "ä¸ºæœªæ ¼å¼åŒ–的文件使用å°ç«¯åœ¨å‰çš„æ ¼å¼" - -#~ msgid "Use native format for unformatted files" -#~ msgstr "å¯¹æœªæ ¼å¼åŒ–çš„æ–‡ä»¶ï¼Œä½¿ç”¨æœ¬åœ°æ ¼å¼" - -#~ msgid "Swap endianness for unformatted files" -#~ msgstr "å¯¹æœªæ ¼å¼åŒ–的文件,交æ¢å—节次åº" - -#~ msgid "Specify which type of AE to target. This option sets the mul-type and byte-access." -#~ msgstr "æŒ‡å®šåŽ»åˆ°ç›®æ ‡çš„ AE 类型。这个选项设置 mul-type å’Œå—节访问。" - -#~ msgid "Specify which type of multiplication to use. Can be mem, mac or none." -#~ msgstr "指定使用的乘法类型。å¯ä»¥æ˜¯ memã€mac 或 none。" - -#~ msgid "Specify whether the byte access instructions should be used. Enabled by default." -#~ msgstr "指定是å¦åº”该使用å—节访问指令。默认被å¯ç”¨ã€‚" - -#~ msgid "Enable debug output to be generated." -#~ msgstr "å¯ç”¨è°ƒè¯•è¾“出" - -#~ msgid "Allow a symbol value to be used as an immediate value in an instruction." -#~ msgstr "å…许符å·å€¼åœ¨æŒ‡ä»¤ä¸è¢«ç”¨ä½œç«‹å³æ•°ã€‚" - -#~ msgid "Generate warnings when inefficient code is known to be generated." -#~ msgstr "产生低效代ç 时给出è¦å‘Šã€‚" - -#~ msgid "If set, data speculative instructions will be chosen for schedule only if there are no other choices at the moment " -#~ msgstr "设定åŽï¼Œä»…å½“åˆ«æ— é€‰æ‹©æ—¶æ‰åœ¨è°ƒåº¦ä¸ä½¿ç”¨æ•°æ®æŠ•æœºæŒ‡ä»¤" - -#~ msgid "If set, control speculative instructions will be chosen for schedule only if there are no other choices at the moment " -#~ msgstr "设定åŽï¼Œä»…å½“åˆ«æ— é€‰æ‹©æ—¶æ‰åœ¨è°ƒåº¦ä¸ä½¿ç”¨æŽ§åˆ¶æŠ•æœºæŒ‡ä»¤" - -#~ msgid "Disable bcnz instruction" -#~ msgstr "ç¦ç”¨ bcnz 指令" - -#~ msgid "Enable unaligned load/store instruction" -#~ msgstr "å¯ç”¨ä¸å¯¹é½çš„载入/å˜å‚¨æŒ‡ä»¤" - -#~ msgid "Support SCORE 7 ISA" -#~ msgstr "æ”¯æŒ SCORE 7 ISA" - -#~ msgid "Support SCORE 7D ISA" -#~ msgstr "æ”¯æŒ SCORE 7D ISA" - -#~ msgid "Put jumps in call delay slots" -#~ msgstr "将跳转放置在延迟调用槽内" - -#, fuzzy -#~ msgid "Assume big endian bytes, little endian words. This option is deprecated." -#~ msgstr "å‡å®šé«˜ä½å—节在å‰ï¼Œä½Žä½å—在å‰" - -#, fuzzy -#~ msgid "Use ISA 2.07 crypto instructions" -#~ msgstr "使用 SmartMIPS 指令" - -#, fuzzy -#~ msgid "Generate GP base instructions directly." -#~ msgstr "ç”Ÿæˆ isel 指令" - -#, fuzzy -#~ msgid "Use special directives to guide linker doing ex9 optimization." -#~ msgstr "å¯ç”¨é¢„æµ‹å…¬å› å优化。" - -#, fuzzy -#~ msgid "Perform Semantic function equality" -#~ msgstr "未实现的功能" - -#, fuzzy -#~ msgid "Disable partioning and streaming" -#~ msgstr "ç¦ç”¨å˜å€å¯»å€" - -#, fuzzy -#~ msgid "invalid operand for unary %<&%>" -#~ msgstr "代ç ‘%c’的æ“ä½œæ•°æ— æ•ˆ" - -#~ msgid "implicit assignment of %s%s%s hidden field %s%s%s" -#~ msgstr "对%s%s%sçš„éšå¼èµ‹å€¼éšè—了å—段%s%s%s" - -#, fuzzy -#~ msgid "invalid entry to Cilk Plus structured block" -#~ msgstr "OpenMP 结构å—å…¥å£æ— 效" - -#~ msgid "invalid branch to/from an OpenMP structured block" -#~ msgstr "进出 OpenMP 结构å—çš„åˆ†æ”¯æ— æ•ˆ" - -#~ msgid "unrecognized command line option \"%s\"" -#~ msgstr "æ— æ³•è¯†åˆ«çš„å‘½ä»¤è¡Œé€‰é¡¹â€œ%sâ€" - -#, fuzzy -#~ msgid "node not found in symtab decl hashtable" -#~ msgstr "cgraph_hash ä¸æ‰¾ä¸åˆ°èŠ‚点" - -#~ msgid "static chain in indirect gimple call" -#~ msgstr "间接 gimple 调用ä¸æœ‰é™æ€è°ƒç”¨é“¾" - -#~ msgid "type mismatch in vector shift expression" -#~ msgstr "å‘é‡ç§»ä½è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…" - -#~ msgid "non-element sized vector shift of floating point vector" -#~ msgstr "对浮点å‘é‡çš„éžå…ƒç´ 大å°çš„å‘é‡ç§»ä½" - -#, fuzzy -#~ msgid "%qD is deprecated (declared at %r%s:%d%R): %s" -#~ msgstr "ä¸å»ºè®®ä½¿ç”¨%qD(声明于 %s:%d):%s" - -#, fuzzy -#~ msgid "%qD is deprecated (declared at %r%s:%d%R)" -#~ msgstr "ä¸å»ºè®®ä½¿ç”¨%qD(声明于 %s:%d)" - -#, fuzzy -#~ msgid "%qE is deprecated (declared at %r%s:%d%R): %s" -#~ msgstr "ä¸å»ºè®®ä½¿ç”¨%qE(声明于 %s:%d):%s" - -#, fuzzy -#~ msgid "%qE is deprecated (declared at %r%s:%d%R)" -#~ msgstr "ä¸å»ºè®®ä½¿ç”¨%qE(声明于 %s:%d)" - -#, fuzzy -#~ msgid "type is deprecated (declared at %r%s:%d%R): %s" -#~ msgstr "ä¸å»ºè®®ä½¿ç”¨ç±»åž‹(声明于 %s:%d):%s" - -#, fuzzy -#~ msgid "type is deprecated (declared at %r%s:%d%R)" -#~ msgstr "ä¸å»ºè®®ä½¿ç”¨ç±»åž‹(声明于 %s:%d)" - -#, fuzzy -#~ msgid "transaction_wrap argument is not a function" -#~ msgstr "cleanup 实å‚ä¸æ˜¯ä¸€ä¸ªå‡½æ•°" - -#~ msgid "-Werror=normalized=: set -Wnormalized=nfc" -#~ msgstr "-Werror=normalized=:设置 -Wnormalized=nfc" - -#, fuzzy -#~ msgid "constant out of range" -#~ msgstr "常é‡å®žå‚超过%qs的范围" - -#~ msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it" -#~ msgstr "ms_abi å±žæ€§éœ€è¦ -maccumulate-outgoing-args 或éšå«å®ƒçš„åç›®æ ‡ä¼˜åŒ–" - -#, fuzzy -#~ msgid "the last argument must be hint 0 or 1" -#~ msgstr "最åŽä¸€ä¸ªå®žå‚必须是一个 4 ä½ç«‹å³æ•°" - -#~ msgid "%q+D causes a section type conflict" -#~ msgstr "%q+D导致一个节类型冲çª" - -#~ msgid "-munix=98 option required for C89 Amendment 1 features.\n" -#~ msgstr "使用 C89 修订版 1 的特性必须指定 -munix=98 选项。\n" - -#, fuzzy -#~ msgid "invalid AE type specified (%s)" -#~ msgstr "æŒ‡å®šäº†æ— æ•ˆçš„ AE 类型(%s)\n" - -#, fuzzy -#~ msgid "invalid mul type specified (%s) - expected mac, mul or none" -#~ msgstr "æŒ‡å®šäº†æ— æ•ˆçš„ mul 类型(%s) - 期待的是 macã€mul 或 none" - -#, fuzzy -#~ msgid "unexpected mode %s encountered in picochip_emit_save_register" -#~ msgstr "在 picochip_emit_save_register ä¸é‡åˆ°æ„å¤–çš„æ–¹å¼ %s\n" - -#, fuzzy -#~ msgid "defaulting to stack for %s register creation" -#~ msgstr "对于 %s 寄å˜å™¨åˆ›å»ºé»˜è®¤ä¸ºå †æ ˆ\n" - -#, fuzzy -#~ msgid "LCFI labels have already been deferred" -#~ msgstr "LCFI æ ‡è®°å·²ç»è¢«æŽ¨è¿Ÿã€‚" - -#, fuzzy -#~ msgid "LM label has already been deferred" -#~ msgstr "LM æ ‡è®°å·²ç»è¢«æŽ¨è¿Ÿã€‚" - -#~ msgid "LCFI labels have already been deferred." -#~ msgstr "LCFI æ ‡å·å·²ç»è¢«æŽ¨è¿Ÿã€‚" - -#, fuzzy -#~ msgid "picochip_asm_output_opcode - Found multiple lines in VLIW packet %s" -#~ msgstr "picochip_asm_output_opcode - 在 VLIW 包 %s ä¸æ‰¾åˆ°å¤šè¡Œ\n" - -#, fuzzy -#~ msgid "picochip_asm_output_opcode - can%'t output unknown operator %c" -#~ msgstr "picochip_asm_output_opcode - æ— æ³•è¾“å‡ºæœªçŸ¥çš„æ“作符 %c\n" - -#~ msgid "%s: at least one operand can%'t be handled" -#~ msgstr "%s: 至少一个æ“作数ä¸èƒ½è¢«å¤„ç†" - -#~ msgid "unknown short branch in %s (type %d)" -#~ msgstr "%s ä¸çš„çŸè·³è½¬æœªçŸ¥(类型 %d)" - -#~ msgid "unknown long branch in %s (type %d)" -#~ msgstr "%s ä¸çš„长跳转未知(类型 %d)" - -#~ msgid "PUT uses port array index %d, which is out of range [%d..%d)" -#~ msgstr "PUT 使用端å£æ•°ç»„索引 %d,而该索引在范围[%d..%d)之外" - -#~ msgid "GET uses port array index %d, which is out of range [%d..%d)" -#~ msgstr "GET 使用端å£æ•°ç»„索引 %d,而该索引在范围 [%d..%d)之外" - -#~ msgid "too many ALU instructions emitted (%d)" -#~ msgstr "生æˆäº†å¤ªå¤šçš„ ALU 指令(%d æ¡)" - -#~ msgid "%s: Second source operand is not a constant" -#~ msgstr "%s:第二个æºæ“作数ä¸æ˜¯ä¸€ä¸ªå¸¸é‡" - -#~ msgid "%s: Third source operand is not a constant" -#~ msgstr "%s:第三个æºæ“作数ä¸æ˜¯ä¸€ä¸ªå¸¸é‡" - -#~ msgid "%s: Fourth source operand is not a constant" -#~ msgstr "%s:第四个æºæ“作数ä¸æ˜¯ä¸€ä¸ªå¸¸é‡" - -#~ msgid "%s (disable warning using -mno-inefficient-warnings)" -#~ msgstr "%s (使用 -mno-inefficient-warnings ç¦ç”¨è¦å‘Š)" - -#, fuzzy -#~ msgid "hotpatch_prologue is not compatible with nested function" -#~ msgstr "ms_hook_prologue 与嵌套函数ä¸å…¼å®¹" - -#~ msgid "invalid vector type for attribute %qs" -#~ msgstr "属性%qsçš„å‘é‡ç±»åž‹æ— 效" - -#~ msgid "the size of array %qE can%'t be evaluated" -#~ msgstr "æ— æ³•ä¼°ç®—æ•°ç»„%qE的大å°" - -#~ msgid "the size of array can %'t be evaluated" -#~ msgstr "数组大å°ä¸èƒ½ç¡®å®š" - -#~ msgid "variable length array %qE is used" -#~ msgstr "使用了å˜é•¿æ•°ç»„%qE" - -#~ msgid "increment of pointer to unknown structure" -#~ msgstr "自增指å‘未知结构的指针" - -#~ msgid "decrement of pointer to unknown structure" -#~ msgstr "自å‡æŒ‡å‘未知结构的指针" - -#, fuzzy -#~ msgid "initializing argument %P of %qD" -#~ msgstr " åˆå§‹åŒ–%2$qDçš„å®žå‚ %1$P" - -#, fuzzy -#~ msgid "initializing argument %P of %q+D" -#~ msgstr "以åˆå§‹åŒ–%2$q+Dçš„å®žå‚ %1$P" - -#, fuzzy -#~ msgid "scoped enum %qT will not promote to an integral type in a future version of GCC" -#~ msgstr "在 GCC 的未æ¥ç‰ˆæœ¬ä¸ç±»%qTå°†è¢«çœ‹ä½œå‡ ä¹Žä¸ºç©º" - -#~ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC" -#~ msgstr "空基类%qTçš„å移é‡å¯èƒ½ä¸Ž ABI ä¸å…¼å®¹ï¼Œå¹¶ä¸”å¯èƒ½åœ¨ GCC 的未æ¥ç‰ˆæœ¬ä¸æ”¹å˜" - -#~ msgid "class %qT will be considered nearly empty in a future version of GCC" -#~ msgstr "在 GCC 的未æ¥ç‰ˆæœ¬ä¸ç±»%qTå°†è¢«çœ‹ä½œå‡ ä¹Žä¸ºç©º" - -#~ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC" -#~ msgstr "虚基类%qTçš„å移é‡ä¸Ž ABI ä¸å…¼å®¹ï¼Œå¹¶ä¸”å¯èƒ½åœ¨ GCC 的未æ¥ç‰ˆæœ¬ä¸æ”¹å˜" - -#~ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC" -#~ msgstr "赋于%qT的大å°å¯èƒ½ä¸Ž ABI ä¸å…¼å®¹ï¼Œå¹¶ä¸”å¯èƒ½åœ¨ GCC 的未æ¥ç‰ˆæœ¬ä¸æ”¹å˜" - -#~ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC" -#~ msgstr "%qDçš„å移é‡å¯èƒ½ä¸Ž ABI ä¸å…¼å®¹ï¼Œå¹¶ä¸”å¯èƒ½åœ¨ GCC 的未æ¥ç‰ˆæœ¬ä¸æ”¹å˜" - -#~ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC" -#~ msgstr "%q+D包å«ä¸€ä¸ªç©ºç±»ï¼ŒåŸºç±»çš„ä½ç½®åœ¨ GCC 的未æ¥ç‰ˆæœ¬å¯èƒ½ä¼šæœ‰å˜åŒ–" - -#~ msgid "layout of classes derived from empty class %qT may change in a future version of GCC" -#~ msgstr "空类%qT的派生类的布局在 GCC 的未æ¥ç‰ˆæœ¬ä¸å¯èƒ½ä¼šèµ·å˜åŒ–" - -#, fuzzy -#~ msgid "%qD cannot be scalar when %qD is not" -#~ msgstr "%qDä¸èƒ½è¢«å£°æ˜Žä¸ºå¹¿ä¹‰å¸¸è¡¨è¾¾å¼" - -#~ msgid "%q+D: visibility attribute ignored because it" -#~ msgstr "%q+D:å¯è§æ€§å±žæ€§è¢«å¿½ç•¥ï¼Œå› 为它" - -#~ msgid "conflicts with previous declaration here" -#~ msgstr "与先å‰æ¤å¤„的声明冲çª" - -#~ msgid "%q#D is not a static member of %q#T" -#~ msgstr "%q#Dä¸æ˜¯%q#Tçš„é™æ€æˆå‘˜" - -#, fuzzy -#~ msgid "declaration of %qD as array of %<auto%>" -#~ msgstr "%qD声明为 void 的数组" - -#, fuzzy -#~ msgid "array of array of runtime bound" -#~ msgstr "创建函数的数组" - -#~ msgid "can%'t initialize friend function %qs" -#~ msgstr "æ— æ³•åˆå§‹åŒ–å‹å…ƒå‡½æ•°%qs" - -#, fuzzy -#~ msgid "reference to array of runtime bound" -#~ msgstr "对数组的引用超出范围" - -#, fuzzy -#~ msgid "pointer to array of runtime bound" -#~ msgstr "函数指针ä¸èƒ½ç›¸å‡" - -#~ msgid "both %<volatile%> and %<constexpr%> cannot be used here" -#~ msgstr "ä¸èƒ½åœ¨è¿™é‡ŒåŒæ—¶ä½¿ç”¨%<volatile%>å’Œ%<constexpr%>" - -#, fuzzy -#~ msgid "typedef naming array of runtime bound" -#~ msgstr "创建函数的数组" - -#~ msgid "uninitialized member %qD with %<const%> type %qT" -#~ msgstr "未åˆå§‹åŒ–çš„æˆå‘˜%qD具有%<const%>类型%qT" - -#~ msgid "uninitialized reference member %qD" -#~ msgstr "未åˆå§‹åŒ–的引用æˆå‘˜%qD" - -#, fuzzy -#~ msgid "ISO C++ does not support variable-length array types" -#~ msgstr "ISO C ä¸æ”¯æŒé¥±å’Œç±»åž‹" - -#, fuzzy -#~ msgid "uninitialized non-static const member %q#D" -#~ msgstr "对å¯å˜æ•°ç»„æˆå‘˜éžé™æ€åœ°åˆå§‹åŒ–" - -#, fuzzy -#~ msgid "uninitialized non-static reference member %q#D" -#~ msgstr "æˆå‘˜%qD是未åˆå§‹åŒ–的引用" - -#~ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor" -#~ msgstr "由于éšå¼çš„虚æžæž„函数,类%qTçš„ vtable 布局å¯èƒ½ä¸Ž ABI ä¸ç›¸å®¹ï¼Œå¹¶ä¸”å¯èƒ½åœ¨ GCC 的未æ¥ç‰ˆæœ¬ä¸æ”¹å˜" - -#~ msgid "declaration of %qD shadows a member of 'this'" -#~ msgstr "%qD的声明éšè—了‘this’的一个æˆå‘˜" - -#, fuzzy -#~ msgid "unable to find string literal operator %qD" -#~ msgstr "在类%qsä¸æ‰¾ä¸åˆ°å¯æº¢å‡ºçš„寄å˜å™¨" - -#, fuzzy -#~ msgid "range-based %<for%> loops are not allowed in C++98 mode" -#~ msgstr "C++98 模å¼ä¸‹ä¸å…许使用基于范围的 for 循环" - -#~ msgid "invalid type in declaration" -#~ msgstr "声明ä¸æœ‰æ— 效类型" - -#~ msgid "parameter pack %qT must be at the end of the template parameter list" -#~ msgstr "å‚数包%qT必须出现在模æ¿å½¢å‚表末尾" - -#, fuzzy -#~ msgid "wrong number of template arguments (%d, should be %d or more)" -#~ msgstr "模æ¿å‚æ•°æ•°ç›®ä¸å¯¹(ä¸åº”是 %d 个而应是 %d 个)" - -#~ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth= to increase the maximum) instantiating %qD" -#~ msgstr "在实例化%2$qD时模æ¿å®žä¾‹åŒ–深度超过最大值 %1$d(使用 use -ftemplate-depth= æ¥å¢žå¤§æœ€å¤§å€¼)" - -#, fuzzy -#~ msgid "cannot declare reference to array of runtime bound" -#~ msgstr "ä¸èƒ½å£°æ˜ŽæŒ‡å‘é™å®šå‡½æ•°ç±»åž‹%qT的引用" - -#, fuzzy -#~ msgid "cannot declare pointer to array of runtime bound" -#~ msgstr "æ— æ³•å£°æ˜ŽæŒ‡å‘%q#Tæˆå‘˜çš„指针" - -#~ msgid "%s %+#T" -#~ msgstr "%s %+#T" - -#, fuzzy -#~ msgid "typeid of array of runtime bound" -#~ msgstr "创建函数的数组" - -#~ msgid "invalid use of non-static data member %q+D" -#~ msgstr "对éžé™æ€æ•°æ®æˆå‘˜%q+Dçš„æ— æ•ˆä½¿ç”¨" - -#~ msgid "from this location" -#~ msgstr "从这个地方" - -#~ msgid "use of parameter %qD outside function body" -#~ msgstr "在函数体外使用形å‚%qD" - -#~ msgid "__is_convertible_to" -#~ msgstr "__is_convertible_to" - -#, fuzzy -#~ msgid "use of the value of the object being constructed in a constant expression" -#~ msgstr "%qE的枚举值ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡" - -#, fuzzy -#~ msgid "calling a member function of the object being constructed in a constant expression" -#~ msgstr "åˆå§‹å€¼è®¾å®šä¸æ•°ç»„索引ä¸æ˜¯æ•´åž‹å¸¸é‡è¡¨è¾¾å¼" - -#, fuzzy -#~ msgid "taking sizeof array of runtime bound" -#~ msgstr "创建函数的数组" - -#~ msgid "invalid access to non-static data member %qD of NULL object" -#~ msgstr "对 NULL 对象éžé™æ€æ•°æ®æˆå‘˜%qDçš„è®¿é—®æ— æ•ˆ" - -#~ msgid "(perhaps the %<offsetof%> macro was used incorrectly)" -#~ msgstr "(å¯èƒ½é”™è¯¯ä½¿ç”¨äº†%<offsetof%>å®)" - -#~ msgid "%qD has no member named %qE" -#~ msgstr "%qD没有å为%qEçš„æˆå‘˜" - -#~ msgid "ISO C++ forbids subscripting non-lvalue array" -#~ msgstr "ISO C++ ä¸å…è®¸æŒ‰ä¸‹æ ‡è®¿é—®éžå·¦å€¼çš„数组" - -#, fuzzy -#~ msgid "taking address of array of runtime bound" -#~ msgstr "å–一个类型为%<void%>的表达å¼çš„地å€" - -#~ msgid "cannot initialize arrays using this syntax" -#~ msgstr "ä¸èƒ½ç”¨ä»¥è¯æ³•åˆå§‹åŒ–数组" - -#~ msgid "uninitialized const member %qD" -#~ msgstr "未åˆå§‹åŒ–的常é‡æˆå‘˜%qD" - -#~ msgid "member %qD with uninitialized const fields" -#~ msgstr "æˆå‘˜%qD有未åˆå§‹åŒ–的常é‡å—段" - -#~ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index" -#~ msgstr "%2$L处‘%1$s’内建函数的‘dim’实å‚ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„维数索引" - -#, fuzzy -#~ 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’实å‚类型必须相åŒ" - -#~ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type" -#~ msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’ä¸èƒ½æ˜¯æ´¾ç”Ÿç±»åž‹" - -#~ msgid "Missing closing quote '\"' for binding label at %C" -#~ msgstr "%Cå¤„ç»‘å®šæ ‡å·ç¼ºå°‘å³å¼•å·â€˜\"’" - -#~ msgid "Missing closing quote ''' for binding label at %C" -#~ msgstr "%Cå¤„ç»‘å®šæ ‡å·ç¼ºå°‘å³å¼•å·â€˜'’" - -#~ msgid "Expected ',' at %C" -#~ msgstr "在%C处需è¦â€˜,’" - -#~ msgid "Internal Error at (1):" -#~ msgstr "(1)ä¸çš„内部错误:" - -#~ msgid "Embedded space in NAME= specifier at %C" -#~ msgstr "%C处 NAME= é™å®šç¬¦ä¸åµŒå…¥äº†ç©ºç™½" - -#, fuzzy -#~ msgid "Expected ')' or ',' at %C" -#~ msgstr "在%C处需è¦â€œ,â€æˆ–è¯å¥å°¾" - -#~ msgid "%s is not INTRINSIC procedure name at %C" -#~ msgstr "%2$C处 %1$s ä¸æ˜¯ INTRINSIC 过程å" - -#~ msgid "COPYIN clause object '%s' at %L has ALLOCATABLE components" -#~ msgstr "%2$L处 COPYIN 分å¥å¯¹è±¡â€˜%1$s’有 ALLOCATABLE 组件" - -#~ msgid "COPYPRIVATE clause object '%s' at %L has ALLOCATABLE components" -#~ msgstr "%2$L处 COPYPRIVATE 分å¥å¯¹è±¡â€˜%1$s’有 ALLOCATABLE 组件" - -#~ msgid "%s clause object '%s' has ALLOCATABLE components at %L" -#~ msgstr "%3$L处 %1$s 分å¥å¯¹è±¡â€˜%2$s’有 ALLOCATABLE 组件" - -#~ msgid "%c REDUCTION variable '%s' at %L must be of numeric type, got %s" -#~ msgstr "%c REDUCTION å˜é‡â€˜%s’在%L处必须具有数å—ç±»åž‹è€Œéž %s" - -#~ msgid "%s REDUCTION variable '%s' must be LOGICAL at %L" -#~ msgstr "%s REDUCTION å˜é‡â€˜%s’在%L处类型必须为 LOGICAL" - -#~ msgid "%s REDUCTION variable '%s' must be INTEGER or REAL at %L" -#~ msgstr "%s REDUCTION å˜é‡â€˜%s’在%L处类型必须为 INTEGER 或者 REAL" - -#, fuzzy -#~ msgid "Argument to -fcoarray is not valid: %s" -#~ msgstr "-fcheck çš„å‚æ•°æ— æ•ˆï¼š%s" - -#~ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure" -#~ msgstr "%2$L处对‘%1$s’的函数引用是在一个 PURE è¿‡ç¨‹å†…çš„å¯¹éž PURE 过程的引用" - -#~ msgid "internal gcc abort in %s, at %s:%d" -#~ msgstr "gcc 内部放弃 %s,于 %s:%d" - -#~ msgid "%s:cannot open graph file\n" -#~ msgstr "%sï¼šæ— æ³•æ‰“å¼€å›¾æ–‡ä»¶\n" - -#~ msgid "%s:not a gcov graph file\n" -#~ msgstr "%s:ä¸æ˜¯ä¸€ä¸ª gcov 图文件\n" - -#~ msgid "Unexpected type..." -#~ msgstr "éžé¢„期的类型……" - -#~ msgid "assuming signed overflow does not occur when simplifying && or || to & or |" -#~ msgstr "å°† && 或 || 简化为 & 或 | æ—¶å‡å®šæœ‰ç¬¦å·æ•°ä»Žä¸æº¢å‡º" - -#~ msgid "assuming signed overflow does not occur when simplifying ==, != or ! to identity or ^" -#~ msgstr "å°† ==ã€!= 或 ! 简化为或åŒä¸€æ“作或 ^ æ—¶å‡å®šæœ‰ç¬¦å·æ•°ä»Žä¸æº¢å‡º" - -#~ msgid "The threshold ratio between current and hottest structure counts" -#~ msgstr "当å‰å’Œæœ€é¢‘ç¹çš„结构计数比例阈值" - -#~ msgid "Select fraction of the maximal count of repetitions of basic block in program given basic block needs to have to be considered hot" -#~ msgstr "当æŸåŸºæœ¬å—执行次数超过程åºä¸åŸºæœ¬å—é‡å¤æ‰§è¡Œçš„最大计数的指定百分比时,该基本å—å¯è¢«è€ƒè™‘为çƒç‚¹ä»£ç " - -#~ msgid "Minimum number of virtual mappings to consider switching to full virtual renames" -#~ msgstr "考虑切æ¢åˆ°å®Œæ•´è™šæ‹Ÿé‡å‘½å的最å°è™šæ‹Ÿæ˜ å°„æ•°" - -#~ msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames" -#~ msgstr "å½“è™šæ‹Ÿæ˜ å°„å’Œè™šæ‹Ÿç¬¦å·ä¹‹é—´çš„比率大于æ¤è®¾å®šæ—¶è¿›è¡Œå…¨è™šæ‹Ÿé‡å‘½å" - -#~ msgid "<unnamed-signed:" -#~ msgstr "<æ— å有符å·ï¼š" - -#~ msgid " (frv)" -#~ msgstr " (frv)" - -#~ msgid "operand is neither a constant nor a condition code, invalid operand code 'C'" -#~ msgstr "æ“作数既ä¸æ˜¯ä¸€ä¸ªå¸¸é‡ä¹Ÿä¸æ˜¯ä¸€ä¸ªæ¡ä»¶ç ï¼Œæ— æ•ˆçš„æ“作数代ç ‘C’" - -#~ msgid "operand is neither a constant nor a condition code, invalid operand code 'F'" -#~ msgstr "æ“作数既ä¸æ˜¯ä¸€ä¸ªå¸¸é‡ä¹Ÿä¸æ˜¯ä¸€ä¸ªæ¡ä»¶ç ï¼Œæ— æ•ˆçš„æ“作数代ç ‘F’" - -#~ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'" -#~ msgstr "æ“作数既ä¸æ˜¯ä¸€ä¸ªå¸¸é‡ä¹Ÿä¸æ˜¯ä¸€ä¸ªæ¡ä»¶ç ï¼Œæ— æ•ˆçš„æ“作数代ç ‘c’" - -#~ msgid "operand is neither a constant nor a condition code, invalid operand code 'f'" -#~ msgstr "æ“作数既ä¸æ˜¯ä¸€ä¸ªå¸¸é‡ä¹Ÿä¸æ˜¯ä¸€ä¸ªæ¡ä»¶ç ï¼Œæ— æ•ˆçš„æ“作数代ç ‘f’" - -#~ msgid "move insn not handled" -#~ msgstr "æœªå¤„ç† move 指令" - -#~ msgid "invalid register in the move instruction" -#~ msgstr "move 指令ä¸å‡ºçŽ°æ— 效寄å˜å™¨" - -#~ msgid "invalid operand in the instruction" -#~ msgstr "æ¤æŒ‡ä»¤ä¸æ“ä½œæ•°æ— æ•ˆ" - -#~ msgid "operand 1 must be a hard register" -#~ msgstr "æ“作数 1 必须是一个硬件寄å˜å™¨" - -#~ msgid "registers IX, IY and Z used in the same INSN" -#~ msgstr "在相åŒæŒ‡ä»¤ä¸ä½¿ç”¨å¯„å˜å™¨ IXã€IY å’Œ Z" - -#~ msgid "cannot do z-register replacement" -#~ msgstr "æ— æ³•å®Œæˆ z 寄å˜å™¨æ›¿æ¢" - -#~ msgid "invalid Z register replacement for insn" -#~ msgstr "æ— æ•ˆçš„ Z 寄å˜å™¨æ›¿æ¢" - -#~ msgid "mips_debugger_offset called with non stack/frame/arg pointer" -#~ msgstr "mips_debugger_offset 为éžå †æ ˆ/框架/å‚数指针调用" - -#~ msgid "-mvsx used with little endian code" -#~ msgstr "-mvsx å’Œå°ç«¯åœ¨å‰çš„代ç 一起使用" - -#~ msgid "invalid %%c value" -#~ msgstr "æ— æ•ˆ %%c 值" - -#, fuzzy -#~ msgid "%s:%d:%d: recursively instantiated from %qs\n" -#~ msgstr " 内è”自%qs于 %s:%d:%d" - -#~ msgid "%s:%d:%d: instantiated from %qs\n" -#~ msgstr "%s:%d:%d:自%qs实例化\n" - -#, fuzzy -#~ msgid "%s:%d:%d: recursively instantiated from here" -#~ msgstr "%s:%d:%d:从æ¤å¤„实例化" - -#~ msgid "%s:%d:%d: instantiated from here" -#~ msgstr "%s:%d:%d:从æ¤å¤„实例化" - -#~ msgid "%s:%d: instantiated from here" -#~ msgstr "%s:%d:从æ¤å¤„实例化" - -#~ msgid "%s:%d: [ skipping %d instantiation contexts ]\n" -#~ msgstr "%s:%d:[ 跳过 %d 个实例化上下文 ]\n" - -#~ msgid "ax ; {int $0x80 | syscall" -#~ msgstr "ax ; {int $0x80 | syscall" - -#~ msgid "Dump a core file when a runtime error occurs" -#~ msgstr "é‡åˆ°è¿è¡Œæ—¶é”™è¯¯æ—¶è½¬å‚¨æ ¸å¿ƒæ–‡ä»¶" - -#~ msgid "Compile all program units at once and check all interfaces" -#~ msgstr "ç«‹å³ç¼–译所有程åºå•å…ƒå¹¶æ£€æŸ¥æŽ¥å£" - -#~ msgid "Assume GAS" -#~ msgstr "å‡å®š GAS" - -#~ msgid "Do not assume GAS" -#~ msgstr "ä¸å‡å®š GAS" - -#~ msgid "! It would be better to auto-generate this file." -#~ msgstr "! 最好自动生æˆæ¤æ–‡ä»¶ã€‚" - -#~ msgid "SYMBOL_VECTOR=(__divdi3=PROCEDURE)" -#~ msgstr "SYMBOL_VECTOR=(__divdi3=PROCEDURE)" - -#~ msgid "Generate code for little-endian" -#~ msgstr "生æˆå°ç«¯åœ¨å‰çš„代ç " - -#~ msgid "Generate code for big-endian" -#~ msgstr "生æˆå¤§ç«¯åœ¨å‰çš„代ç " - -#~ msgid "Use POWER instruction set" -#~ msgstr "使用 POWER 指令集" - -#~ msgid "Do not use POWER instruction set" -#~ msgstr "ä¸ä½¿ç”¨ POWER 指令集" - -#~ msgid "Use POWER2 instruction set" -#~ msgstr "使用 POWER2 指令集" - -#~ msgid "Use PowerPC instruction set" -#~ msgstr "使用 PowerPC 指令集" - -#~ msgid "Use new mnemonics for PowerPC architecture" -#~ msgstr "为 PowerPC 架构使用新的助记符" - -#~ msgid "Use old mnemonics for PowerPC architecture" -#~ msgstr "为 PowerPC 架构使用旧的助记符" - -#~ msgid "-mabi=\tSpecify ABI to use" -#~ msgstr "-mabi=\t指定è¦ä½¿ç”¨çš„ ABI" - -#~ msgid "Prepend the name of the cpu to all public symbol names" -#~ msgstr "å°† CPU çš„åç§°æ·»åŠ åˆ°æ‰€æœ‰å…¬å…±ç¬¦å·å之å‰" - -#~ msgid "-mtext=SECTION\tPut functions in SECTION" -#~ msgstr "-mtext=SECTION\t在 SECTION 节ä¸å˜æ”¾å‡½æ•°" - -#~ msgid "-mdata=SECTION\tPut data in SECTION" -#~ msgstr "-mdata=SECTION\t在 SECTION 节ä¸å˜æ”¾æ•°æ®" - -#~ msgid "-mrodata=SECTION\tPut read-only data in SECTION" -#~ msgstr "-mrodata=SECTION\t在 SECTION 节ä¸å˜æ”¾åªè¯»æ•°æ®" - -#~ msgid "Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs this" -#~ msgstr "é¿å…过度展开循环以å…æ’‡å‡ºç›®æ ‡å¯„å˜å™¨ï¼Œé™¤éžå±•å¼€çš„收益å¯ä»¥æŠµæ¶ˆè¿™ä¸€ç‚¹" - -#~ msgid "Enable the use of the fused floating point multiply-accumulate operation" -#~ msgstr "å¯ç”¨å¯¹èžåˆæµ®ç‚¹ä¹˜åŠ 指令的使用" - -#~ msgid "Cirrus: Place NOPs to avoid invalid instruction combinations" -#~ msgstr "Cirrus:æ’å…¥ NOP 以é¿å…æ— æ•ˆçš„æŒ‡ä»¤ç»„åˆ" - -#~ msgid "Alias for -mfloat-abi=hard" -#~ msgstr "-mfloat-abi=hard 的别å" - -#~ msgid "Alias for -mfloat-abi=soft" -#~ msgstr "-mfloat-abi=soft 的别å" - -#~ msgid "Compile for the Thumb not the ARM" -#~ msgstr "为 Thumb 而ä¸æ˜¯ ARM 编译" - -#~ msgid "Ignore dllimport attribute for functions" -#~ msgstr "忽略函数的 dllimport 属性" - -#~ msgid "Use rjmp/rcall (limited range) on >8K devices" -#~ msgstr "在 >8K 设备上使用 rjmp/rcall(范围å—é™)" - -#~ msgid "Do not use push to store function arguments" -#~ msgstr "ä¸ä½¿ç”¨ push 指令ä¿å˜å‡½æ•°å‚æ•°" - -#~ msgid "Restrict doloop to the given nesting level" -#~ msgstr "é™åˆ¶ doloop 的嵌套层次" - -#~ msgid "Generate code for huge switch statements" -#~ msgstr "为巨型的 switch è¯å¥ç”Ÿæˆä»£ç " - -#~ msgid "Use the mips-tfile postpass" -#~ msgstr "使用 mips-tfile åŽå¤„ç†" - -#~ msgid "Compile for a 68HC11" -#~ msgstr "为 68HC11 汇编" - -#~ msgid "Compile for a 68HC12" -#~ msgstr "为 68HC12 汇编" - -#~ msgid "Compile for a 68HCS12" -#~ msgstr "为 68HCS12 汇编" - -#~ msgid "Auto pre/post decrement increment allowed" -#~ msgstr "å…许自动å‰/åŽè‡ªå‡å¢ž" - -#~ msgid "Min/max instructions allowed" -#~ msgstr "å…许 min/max 指令" - -#~ msgid "Use call and rtc for function calls and returns" -#~ msgstr "为函数调用和返回使用 call å’Œ rtc" - -#~ msgid "Auto pre/post decrement increment not allowed" -#~ msgstr "ä¸å…许自动å‰/åŽè‡ªå‡å¢ž" - -#~ msgid "Use jsr and rts for function calls and returns" -#~ msgstr "为函数调用和返回使用 jsr å’Œ rtc" - -#~ msgid "Min/max instructions not allowed" -#~ msgstr "ä¸å…许 min/max 指令" - -#~ msgid "Use direct addressing mode for soft registers" -#~ msgstr "为软寄å˜å™¨ä½¿ç”¨ç›´æŽ¥å¯»å€" - -#~ msgid "Compile with 32-bit integer mode" -#~ msgstr "以 32 ä½æ•´æ•°æ¨¡å¼ç¼–译" - -#~ msgid "Specify the register allocation order" -#~ msgstr "指定分é…寄å˜å™¨çš„顺åº" - -#~ msgid "Do not use direct addressing mode for soft registers" -#~ msgstr "ä¸ä¸ºè½¯å¯„å˜å™¨ä½¿ç”¨ç›´æŽ¥å¯»å€" - -#~ msgid "Compile with 16-bit integer mode" -#~ msgstr "以 16 ä½æ•´æ•°æ¨¡å¼ç¼–译" - -#~ msgid "Indicate the number of soft registers available" -#~ msgstr "指示å¯ç”¨çš„软寄å˜å™¨çš„æ•°é‡" - -#~ msgid "Support Green Hills ABI" -#~ msgstr "æ”¯æŒ Green Hills ABI" - -#~ msgid "Reduce the size of object files" -#~ msgstr "å‡å°ç›®æ ‡æ–‡ä»¶" - -#~ msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to" -#~ msgstr "éµå¾ª ISO 1998 C++ æ ‡å‡†ï¼Œä¹Ÿæ”¯æŒå¯èƒ½é›†æˆåœ¨ä¸‹ä¸€ä¸ª ISO C++ æ ‡å‡†ä¸çš„扩展" - -#~ msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and" -#~ msgstr "éµå¾ª ISO 1998 C++ æ ‡å‡†ï¼Œä¹Ÿæ”¯æŒ GNU 扩展和å¯èƒ½é›†æˆåœ¨ä¸‹ä¸€ä»£ ISO C++ æ ‡å‡†ä¸çš„扩展" - -#~ msgid "Warn about constructs not instrumented by -fmudflap" -#~ msgstr "å½“æž„é€ æœªè¢« -fmudflap 处ç†æ—¶ç»™å‡ºè¦å‘Š" - -#~ msgid "Generate debug information to support Identical Code Folding (ICF)" -#~ msgstr "生æˆå¿…è¦çš„调试信æ¯ä»¥æ”¯æŒç›¸åŒä»£ç 折å (ICF)" - -#~ msgid "Enable Loop Flattening transformation" -#~ msgstr "å¯ç”¨å¾ªçŽ¯æ‰å¹³åŒ–转æ¢" - -#~ msgid "Pay attention to the \"inline\" keyword" -#~ msgstr "ä¸å¿½ç•¥â€œinlineâ€å…³é”®å—" - -#~ msgid "Integrate simple functions into their callers" -#~ msgstr "将简å•å‡½æ•°é›†æˆåˆ°å®ƒä»¬çš„调用者ä¸" - -#~ msgid "Perform matrix layout flattening and transposing based" -#~ msgstr "进行基于å–æ ·çš„çŸ©é˜µå¸ƒå±€å¹³é¢åŒ–和转秩" - -#~ msgid "Perform structure layout optimizations based" -#~ msgstr "进行基于å–æ ·çš„ç»“æž„å¸ƒå±€ä¼˜åŒ–" - -#~ msgid "Add mudflap bounds-checking instrumentation for single-threaded program" -#~ msgstr "为å•çº¿ç¨‹ç¨‹åºæ·»åŠ mudflap 边界检查" - -#~ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program" -#~ msgstr "为多线程程åºæ·»åŠ mudflap 边界检查" - -#~ msgid "Ignore read operations when inserting mudflap instrumentation" -#~ msgstr "æ’å…¥ mudflag 时忽略读æ“作" - -#~ msgid "Enables a register move optimization" -#~ msgstr "å¯ç”¨å¯„å˜å™¨ä¼ é€ä¼˜åŒ–" - -#~ msgid "Enable loop versioning when doing loop vectorization on trees" -#~ msgstr "åœ¨æ ‘ä¸Šè¿›è¡Œå¾ªçŽ¯å‘é‡åŒ–æ—¶å¯ç”¨å¤šç‰ˆæœ¬å¾ªçŽ¯" - -#~ msgid "-ftree-vectorizer-verbose=<number>\tSet the verbosity level of the vectorizer" -#~ msgstr "-ftree-vectorizer-verbose=<N>\t指定矢é‡åŒ–器的冗余级别" - -#~ msgid "arguments 1 and 2 have different types" -#~ msgstr "å®žå‚ 1 å’Œ 2 具有ä¸åŒçš„类型" - -#~ msgid "method call without object" -#~ msgstr "方法调用缺少对象" - -#, fuzzy -#~ msgid "invalid new of function type" -#~ msgstr "对 new 而言类型%<void%>æ— æ•ˆ" - -#, fuzzy -#~ msgid "invalid unsafe.Pointer conversion" -#~ msgstr "从%<__fpreg%>的转æ¢æ— 效" - -#~ msgid "no object for method call" -#~ msgstr "方法调用没有对象" - -#~ msgid "not enough values in return statement" -#~ msgstr "返回è¯å¥ä¸å€¼ä¸å¤Ÿ" - -#~ msgid "bad capacity when making slice" -#~ msgstr "生æˆåˆ‡ç‰‡æ—¶å®¹é‡é”™è¯¯" - -#~ msgid "bad size when making map" -#~ msgstr "生æˆæ˜ 射时大å°é”™è¯¯" - -#~ msgid "declaration of %q+D shadows a global declaration" -#~ msgstr "%q+D的声明éšè—了一个全局声明" - -#~ msgid "function definition declared %<__thread%>" -#~ msgstr "函数声明定义为%<__thread%>" - -#~ msgid "%<__thread%> used with %qE" -#~ msgstr "%<__thread%>与%qE一起使用" - -#~ msgid "missing initializer" -#~ msgstr "缺少åˆå§‹å€¼è®¾å®š" - -#~ msgid "too many eh edges %i" -#~ msgstr "eh 边缘 %i 太多" - -#~ msgid "insn %d inside basic block %d but block_for_insn is NULL" -#~ msgstr "指令 %d åœ¨åŸºæœ¬å— %d 内,但 block_for_insn 为 NULL" - -#~ msgid "insn %d inside basic block %d but block_for_insn is %i" -#~ msgstr "指令 %d åœ¨åŸºæœ¬å— %d 内,但 block_for_insn å´ä¸º %i" - -#~ msgid "edge points to same body alias:" -#~ msgstr "边指å‘åŒä¸€å‡½æ•°ä½“的别å:" - -#~ msgid "coverage mismatch for function %u while reading execution counters" -#~ msgstr "读å–执行计数器时函数 %u 覆盖ä¸åŒ¹é…" - -#~ msgid "no coverage for function %qE found" -#~ msgstr "找ä¸åˆ°å‡½æ•° %qE 的覆盖信æ¯" - -#~ msgid "coverage mismatch for function %qE while reading counter %qs" -#~ msgstr "读å–计数%2$qs时函数%1$qE的代ç 覆盖ä¸åŒ¹é…" - -#, fuzzy -#~ msgid "coverage mismatch ignored" -#~ msgstr "%qE属性被忽略" - -#~ msgid "this can result in poorly optimized code" -#~ msgstr "è¿™å°†å¯¼è‡´æ¬ ä¼˜åŒ–çš„ä»£ç " - -#~ msgid "DW_LOC_OP %s not implemented" -#~ msgstr "DW_LOC_OP %s 尚未实现" - -#, fuzzy -#~ msgid "mis-aligned access used for structure member" -#~ msgstr "为结构å—段指定了å˜å‚¨ç±»" - -#, fuzzy -#~ msgid "mis-aligned access used for structure bitfield" -#~ msgstr "为结构å—段指定了å˜å‚¨ç±»" - -#, fuzzy -#~ msgid "use of obsolete %%[ operator in specs" -#~ msgstr "è¦å‘Šï¼šåœ¨ specs ä¸ä½¿ç”¨è¿‡æ—¶çš„ %%[ è¿ç®—符" - -#~ msgid "can%'t seek PCH file: %m" -#~ msgstr "æ— æ³•åœ¨ PCH 文件ä¸å®šä½ï¼š%m" - -#, fuzzy -#~ msgid "the file is not in OpenScop format" -#~ msgstr "printf æ ¼å¼çš„å—段宽度" - -#~ msgid "the language is not recognized" -#~ msgstr "è¯è¨€ä¸å¯è¯†åˆ«" - -#, fuzzy -#~ msgid "can%'t open %s for reading: %m" -#~ msgstr "æ— æ³•æ‰“å¼€ %s 并写入:%m" - -#, fuzzy -#~ msgid "cannot find LTO varpool in %s" -#~ msgstr "æ— æ³•å°†å·¦å€¼%qT绑定到%qT" - -#, fuzzy -#~ msgid "type of field declared here" -#~ msgstr "å—段%q+Dæ— æ•ˆåœ°å£°æ˜Žä¸ºå‡½æ•°ç±»åž‹" - -#, fuzzy -#~ msgid "type of mismatching field declared here" -#~ msgstr "å—段%q+Dæ— æ•ˆåœ°å£°æ˜Žä¸ºå‡½æ•°ç±»åž‹" - -#~ msgid "optimization options not supported yet" -#~ msgstr "尚未支æŒä¼˜åŒ–选项" - -#~ msgid "bytecode stream: tried to jump backwards in the stream" -#~ msgstr "å—节ç æµï¼šè¯•å›¾åœ¨æµä¸åå‘跳转" - -#~ msgid "gimple bytecode streams do not support the optimization attribute" -#~ msgstr "gimple å—节ç æµä¸æ”¯æŒä¼˜åŒ–属性" - -#~ msgid "-fira-algorithm=CB does not work on this architecture" -#~ msgstr "-fira-algorithm=CB ä¸èƒ½åœ¨æ¤æž¶æž„下工作" - -#, fuzzy -#~ msgid "malformed option -fplugin-arg-%s (multiple '=' signs)" -#~ msgstr "-fplugin-arg-%s é€‰é¡¹æ ¼å¼ä¸å¯¹(多个‘=’)" - -#, fuzzy -#~ msgid "corrupted profile info: edge count exceeds maximal count" -#~ msgstr "æŸåçš„æ ·æœ¬ä¿¡æ¯ï¼šä»Ž %i 到 %i 的边超过最大计数" - -#~ msgid "corrupted profile info: run_max * runs < sum_max" -#~ msgstr "æŸåçš„æ ·æœ¬ä¿¡æ¯ï¼šrun_max * runs < sum_max" - -#~ msgid "correcting inconsistent profile data" -#~ msgstr "改æ£ä¸ä¸€è‡´çš„å–æ ·æ•°æ®" - -#~ msgid "use of memory input without lvalue in asm operand %d is deprecated" -#~ msgstr "ä¸å»ºè®®åœ¨ asm æ“作数 %d ä¸ä¸å¸¦å·¦å€¼åœ°ä½¿ç”¨å†…å˜è¾“å…¥" - -#~ msgid "type size can%'t be explicitly evaluated" -#~ msgstr "类型大å°ä¸èƒ½è¢«æ˜¾å¼åœ°è®¡ç®—出" - -#~ msgid "variable-size type declared outside of any function" -#~ msgstr "å˜é•¿ç±»åž‹çš„声明出现在所有函数之外" - -#~ msgid "-ffunction-sections disabled; it makes profiling impossible" -#~ msgstr "-ffunction-sections 被ç¦ç”¨ï¼›å› æ¤ä¸å¯èƒ½è¿›è¡Œå–æ ·" - -#~ msgid "unwind tables currently require a frame pointer for correctness" -#~ msgstr "解绕表目å‰éœ€è¦æ ˆå¸§æŒ‡é’ˆæ¥ä¿è¯æ£ç¡®æ€§" - -#~ msgid "type mismatch in binary truth expression" -#~ msgstr "二元真值表达å¼ç±»åž‹ä¸åŒ¹é…" - -#, fuzzy -#~ msgid "invalid COND_EXPR in gimple assignment" -#~ msgstr "在 gimple æ¡ä»¶éžæ³•æ¯”较代ç " - -#~ msgid "invalid function in call statement" -#~ msgstr "调用è¯å¥ä¸éžæ³•å‡½æ•°" - -#~ msgid "invalid GIMPLE statement" -#~ msgstr "æ— æ•ˆçš„ GIMPLE è¯å¥" - -#~ msgid "verify_stmts failed" -#~ msgstr "verify_stmts 失败" - -#~ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF" -#~ msgstr "mudflap 尚未为 ARRAY_RANGE_REF 实现" - -#~ msgid "mudflap cannot track %qE in stub function" -#~ msgstr "mudflap ä¸èƒ½è¿½è¸ªå ä½å‡½æ•°ä¸çš„%qE" - -#~ msgid "mudflap cannot track unknown size extern %qE" -#~ msgstr "mudflap ä¸èƒ½è¿½è¸ªå¤§å°æœªçŸ¥çš„外部å˜é‡%qE" - -#~ msgid "mudflap: this language is not supported" -#~ msgstr "mudflap:这个è¯è¨€ä¸å—支æŒ" - -#~ msgid "statement makes a memory store, but has no VDEFS" -#~ msgstr "è¯å¥åšäº†ä¸€ä¸ªå†…å˜å˜å‚¨ï¼Œä½†å¹¶æ— VDEFS" - -#~ msgid "statement has VDEF operand not in defs list" -#~ msgstr "è¯å¥æœ‰ä¸åœ¨å®šä¹‰åˆ—表ä¸çš„ VDEF æ“作数" - -#~ msgid "statement has VDEF but no VUSE operand" -#~ msgstr "è¯å¥æœ‰ VDEF 而没有 VUSE æ“作数" - -#~ msgid "VDEF and VUSE do not use the same symbol" -#~ msgstr "VDEF å’Œ VUSE 没有使用相åŒçš„符å·" - -#~ msgid "statement has VUSE operand not in uses list" -#~ msgstr "è¯å¥æœ‰ä¸åœ¨ä½¿ç”¨åˆ—表ä¸çš„ VUSE æ“作数" - -#, fuzzy -#~ msgid "correcting inconsistent value profile: %s profiler overall count (%d) does not match BB count (%d)" -#~ msgstr "æ›´æ£ä¸ä¸€è‡´çš„值å–æ ·ï¼š%s å–æ ·æ€»æ•°(%d)与基本å—æ•°(%d)ä¸åŒ¹é…" - -#~ msgid "vector %s %s domain error, in %s at %s:%u" -#~ msgstr "å‘é‡ %s %s 域错误,在 %s 于 %s:%u" - -#~ msgid "can%'t seek in %s: %m" -#~ msgstr "æ— æ³•åœ¨ %s ä¸å®šä½ï¼š%m" - -#~ msgid "#pragma extern_prefix not supported on this target" -#~ msgstr "#pragma extern_prefix 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" - -#~ msgid "internal and protected visibility attributes not supported in this configuration; ignored" -#~ msgstr "内部和ä¿æŠ¤çš„å¯è§æ€§å±žæ€§åœ¨æ¤é…置下ä¸å—支æŒï¼›å·²å¿½ç•¥" - -#~ msgid "-f%s ignored for Unicos/Mk (not supported)" -#~ msgstr "-f%s 在 Unicos/Mk 上被忽略(ä¸å—支æŒ)" - -#~ msgid "-mieee not supported on Unicos/Mk" -#~ msgstr "-mieee 在 Unicos/Mk 上ä¸è¢«æ”¯æŒ" - -#~ msgid "-mieee-with-inexact not supported on Unicos/Mk" -#~ msgstr "-mieee-with-inexact 在 Unicos/Mk 上ä¸è¢«æ”¯æŒ" - -#~ msgid "trap mode not supported on Unicos/Mk" -#~ msgstr "陷阱模å¼åœ¨ Unicos/Mk 上ä¸è¢«æ”¯æŒ" - -#~ msgid "bad value (%s) for %s switch" -#~ msgstr "开关%2$sçš„å‚æ•°%1$sä¸æ£ç¡®" - -#~ msgid "invalid ABI option: -mabi=%s" -#~ msgstr "æ— æ•ˆçš„ ABI 选项:-mabi=%s" - -#~ msgid "invalid floating point emulation option: -mfpe=%s" -#~ msgstr "æ— æ•ˆçš„æµ®ç‚¹ä»¿çœŸé€‰é¡¹ï¼š-mfpe=%s" - -#~ msgid "invalid floating point abi: -mfloat-abi=%s" -#~ msgstr "æ— æ•ˆçš„æµ®ç‚¹ ABI:-mfloat-abi=%s" - -#~ msgid "FPA is unsupported in the AAPCS" -#~ msgstr "AAPCS ä¸æ”¯æŒ FPA" - -#~ msgid "iWMMXt and hardware floating point" -#~ msgstr "iWMMXt 和硬件浮点" - -#~ msgid "Thumb-2 iWMMXt" -#~ msgstr "Thumb-2 iWMMXt" - -#~ msgid "the mangling of %<va_list%> has changed in GCC 4.4" -#~ msgstr "在 GCC 4.4ä¸å¯¹%<va_list%>的修饰有å˜åŒ–" - -#~ msgid "static variable %q+D is marked dllimport" -#~ msgstr "ç»åˆå§‹åŒ–çš„å˜é‡%q+Dè¢«æ ‡è®°ä¸º dllimport" - -#~ msgid "See --target-help for supported MCUs" -#~ msgstr "请使用 --target-help 查看支æŒçš„ MCU" - -#~ msgid "%qs appears to be a misspelled interrupt handler" -#~ msgstr "%qs似乎是一个拼写错的ä¸æ–处ç†è€…" - -#~ msgid "that particular -g option is invalid with -maout and -melinux" -#~ msgstr "æ¤ -g 选项与 -maout å’Œ -melinux å¹¶ç”¨æ—¶æ— æ•ˆ" - -#~ msgid "unknown ABI (%s) for %sabi=%s %s" -#~ msgstr "ABI (%s)未知,%sabi=%s %s" - -#~ msgid "bad value (%s) for %scmodel=%s %s" -#~ msgstr "%2$scmodel=%3$s %4$s所带å‚æ•°(%1$s)ä¸æ£ç¡®" - -#~ msgid "bad value (%s) for %sasm=%s %s" -#~ msgstr "%2$sasm=%3$s %4$s所带å‚æ•°(%1$s)ä¸æ£ç¡®" - -#~ msgid "%slarge-data-threshold=%d%s is negative" -#~ msgstr "%slarge-data-threshold=%d%s 为负" - -#~ msgid "bad value (%s) for %stls-dialect=%s %s" -#~ msgstr "为 %2$stls-dialect=%3$s %4$s指定了错误的值(%1$s)" - -#~ msgid "pc%d is not valid precision setting (32, 64 or 80)" -#~ msgstr "pc%d ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„精度设定(32ã€64 或 80)" - -#~ msgid "bad value (%s) for %sfpmath=%s %s" -#~ msgstr "%2$sfpmath=%3$s %4$s的值(%1$s)错误" - -#~ msgid "unknown vectorization library ABI type (%s) for %sveclibabi=%s %s" -#~ msgstr "%2$sveclibabi=%3$s %4$så‘é‡åº“ ABI 类型(%1$s)未知" - -#~ msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness" -#~ msgstr "解å·è¡¨ç›®å‰éœ€è¦æ¡†æž¶æŒ‡é’ˆæˆ– %saccumulate-outgoing-args%s æ¥ä¿è¯æ£ç¡®æ€§" - -#~ msgid "%qE attribute only available for 64-bit" -#~ msgstr "%qE属性åªèƒ½åœ¨ 64 ä½ä¸‹ä½¿ç”¨" - -#~ msgid "vector permutation requires vector constant" -#~ msgstr "å‘é‡ç½®æ¢éœ€è¦å‘é‡å¸¸é‡" - -#~ msgid "vector permutation (%d %d)" -#~ msgstr "å‘é‡ç½®æ¢(%d %d)" - -#~ msgid "vector permutation (%d %d %d %d)" -#~ msgstr "å‘é‡ç½®æ¢(%d %d %d %d)" - -#~ msgid "vector permutation (%d %d %d %d %d %d %d %d)" -#~ msgstr "å‘é‡ç½®æ¢(%d %d %d %d %d %d %d %d)" - -#~ msgid "vector permutation (%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d)" -#~ msgstr "å‘é‡ç½®æ¢(%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d)" - -#~ msgid "ms-bitfields not supported for objc" -#~ msgstr "objc ä¸æ”¯æŒ ms-bitfields" - -#~ msgid "bad value %<%s%> for -mtune= switch" -#~ msgstr "-mtune= 所带å‚æ•°%<%s%>ä¸æ£ç¡®" - -#~ msgid "-f%s ignored for 68HC11/68HC12 (not supported)" -#~ msgstr "-f%s 为 68HC11/68HC12 忽略(ä¸å—支æŒ)" - -#~ msgid "%<trap%> and %<far%> attributes are not compatible, ignoring %<far%>" -#~ msgstr "%<trap%>å’Œ%<far%>属性互ä¸å…¼å®¹ï¼Œå¿½ç•¥%<far%>" - -#~ msgid "%<trap%> attribute is already used" -#~ msgstr "å·²ç»ä½¿ç”¨äº†%<trap%>属性" - -#~ msgid " typedef int (__vliw *vfuncptr) ();" -#~ msgstr " typedef int (__vliw *vfuncptr) ();" - -#~ msgid " typedef int (__vliw *vfuncptr[]) ();" -#~ msgstr " typedef int (__vliw *vfuncptr[]) ();" - -#~ msgid "MIPS16 TLS" -#~ msgstr "MIPS16 TLS" - -#~ msgid "CPU names must be lower case" -#~ msgstr "CPU å必须是å°å†™" - -#~ msgid "unknown -m%s= option specified: '%s'" -#~ msgstr "指定了未知的 -m%s= 选项:‘%s’" - -#, fuzzy -#~ msgid "invalid option for -mcmodel: '%s'" -#~ msgstr "-mfloat-gprs çš„é€‰é¡¹æ— æ•ˆï¼šâ€˜%s’" - -#~ msgid "unknown ABI specified: '%s'" -#~ msgstr "指定了未知的 ABI:‘%s’" - -#~ msgid "bad value (%s) for -mcpu" -#~ msgstr "-mcpu 开关的值 %s 错误" - -#~ msgid "bad value (%s) for -mtune" -#~ msgstr "-mtune 开关的值 %s 错误" - -#~ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>" -#~ msgstr "未知的 -mtraceback å‚æ•°%qs;需è¦%<full%>ã€%<partial%>或%<none%>" - -#~ msgid "invalid option for -mfloat-gprs: '%s'" -#~ msgstr "-mfloat-gprs çš„é€‰é¡¹æ— æ•ˆï¼šâ€˜%s’" - -#~ msgid "unknown -malign-XXXXX option specified: '%s'" -#~ msgstr "指定了未知的 -malign-XXXXX 选项:‘%s’" - -#, fuzzy -#~ msgid "out-of-line save/restore routines not supported on Darwin" -#~ msgstr "Darwin ä¸æ”¯æŒä¸æ°å½“çš„å˜å‚¨/æ¢å¤è¿›ç¨‹" - -#~ msgid "-maix64 and POWER architecture are incompatible" -#~ msgstr "-maix64 å’Œ POWER 架构互ä¸å…¼å®¹" - -#~ msgid "-m64 not supported in this configuration" -#~ msgstr "在当å‰é…置下 -m64 ä¸è¢«æ”¯æŒ" - -#~ msgid "RETURN_ADDRESS_OFFSET not supported" -#~ msgstr "RETURN_ADDRESS_OFFSET ä¸å—支æŒ" - -#~ msgid "-mcall-aixdesc must be big endian" -#~ msgstr "-mcall-aixdesc 必须是大端在å‰" - -#~ msgid "unrecognized argument '%s' to -mcpu= option" -#~ msgstr "-mcpu= 选项å‚数‘%s’ä¸å¯è¯†åˆ«" - -#~ msgid "frame size of function %qs is " -#~ msgstr "函数%qs的框架大å°æ˜¯" - -#~ msgid "%qE declared as both exported to and imported from a DLL" -#~ msgstr "%qE既被声明从 DLL ä¸å¯¼å‡ºçš„åˆè¢«å£°æ˜Žä¸ºè‡ª DLL ä¸å¯¼å…¥çš„" - -#, fuzzy -#~ msgid "failure in redeclaration of %q+D: dllimport%'d symbol lacks external linkage" -#~ msgstr "æ— æ³•é‡å£°æ˜Ž%q+D:dllimport 符å·æ²¡æœ‰å¤–部链接。" - -#~ msgid "%s %q+D %s after being referenced with dllimport linkage" -#~ msgstr "%s%q+D%s 已被作为 dllimport 链接引用过。" - -#~ msgid "function %q+D is defined after prior declaration as dllimport: attribute ignored" -#~ msgstr "函数%q+D在定义å‰è¢«å£°æ˜Žä¸º dllimport:忽略æ¤å±žæ€§" - -#~ msgid "inline function %q+D is declared as dllimport: attribute ignored" -#~ msgstr "内è”函数%q+D声明为 dllimport:忽略æ¤å±žæ€§ã€‚" - -#~ msgid "ambiguous overload for ternary %<operator?:%> in %<%E ? %E : %E%>" -#~ msgstr "三元%<operator?:%>在%<%E ? %E : %E%>ä¸çš„é‡è½½æœ‰æ§ä¹‰" - -#~ msgid "ambiguous overload for %<operator%s%> in %<%E%s%>" -#~ msgstr "%<operator%s%>在%<%E%s%>ä¸çš„é‡è½½æœ‰æ§ä¹‰" - -#~ msgid "ambiguous overload for %<operator[]%> in %<%E[%E]%>" -#~ msgstr "%<operator[]%>在%<%E[%E]%>ä¸çš„é‡è½½æœ‰æ§ä¹‰" - -#~ msgid "ambiguous overload for %<operator%s%> in %<%E %s %E%>" -#~ msgstr "%<operator%s%>在%<%E %s %E%>ä¸çš„é‡è½½æœ‰æ§ä¹‰" - -#~ msgid "ambiguous overload for %<operator%s%> in %<%s%E%>" -#~ msgstr "%<operator%s%>在 %<%s%E%>ä¸çš„é‡è½½æœ‰æ§ä¹‰" - -#~ msgid "repeated using declaration %q+D" -#~ msgstr "é‡å¤çš„ using 声明%q+D" - -#~ msgid "using declaration %q+D conflicts with a previous using declaration" -#~ msgstr "using 声明%q+D与先å‰çš„一个 using 声明冲çª" - -#~ msgid "%q+D declared to take non-const reference cannot be defaulted in the class body" -#~ msgstr "%q+D被声明为å–éžå¸¸é‡å¼•ç”¨ï¼Œä¸èƒ½åœ¨ç±»ä½“内默认化" - -#~ msgid "argument of type %qT does not match %qT" -#~ msgstr "实å‚类型为%qT,与%qTä¸åŒ¹é…" - -#~ msgid "continue statement not within loop or switch" -#~ msgstr "continue è¯å¥ä¸åœ¨å¾ªçŽ¯æˆ–开关è¯å¥å†…" - -#~ msgid "new declaration %q#D" -#~ msgstr "对%q#D的新声明" - -#~ msgid "declaration of C function %q#D conflicts with" -#~ msgstr "C 函数%q#D的声明" - -#~ msgid "%q+D has a previous declaration as %q#D" -#~ msgstr "%q+D早先被声明为%q#D" - -#~ msgid "declaration of namespace %qD conflicts with" -#~ msgstr "命å空间%qD的声明å˜åœ¨å†²çªï¼Œä¸Ž" - -#~ msgid "after previous declaration %q+D" -#~ msgstr "在先å‰çš„声明%q+D之åŽ" - -#~ msgid "template header not allowed in member definition of explicitly specialized class" -#~ msgstr "模æ¿å¤´ä¸å…许出现在显å¼ç‰¹ä¾‹åŒ–类的æˆå‘˜å®šä¹‰ä¸" - -#~ msgid "cannot initialize %qT from %qT" -#~ msgstr "ä¸èƒ½åˆå§‹åŒ–%qT,从%qT" - -#~ msgid "variable-sized object %qD may not be initialized" -#~ msgstr "å¯å˜å¤§å°çš„对象%qDä¸èƒ½è¢«åˆå§‹åŒ–" - -#~ msgid "%qD cannot be thread-local because it has non-trivial type %qT" -#~ msgstr "%qDä¸èƒ½æ˜¯çº¿ç¨‹å±€éƒ¨çš„ï¼Œå› ä¸ºå®ƒæœ‰ä¸å¹³å‡¡çš„类型%qT" - -#~ msgid "%qD is thread-local and so cannot be dynamically initialized" -#~ msgstr "%qD是线程局部的,所以ä¸èƒ½è¢«åŠ¨æ€åœ°åˆå§‹åŒ–" - -#~ msgid "%qD cannot be initialized by a non-constant expression when being declared" -#~ msgstr "%qDä¸èƒ½ç”±ä¸€ä¸ªå£°æ˜Žæ—¶éžå¸¸é‡çš„表达å¼åˆå§‹åŒ–" - -#~ msgid "%<__int128%> invalid for %qs" -#~ msgstr "%<__int128%>对%qsæ— æ•ˆ" - -#~ msgid "both %<const%> and %<constexpr%> cannot be used here" -#~ msgstr "ä¸èƒ½åœ¨è¿™é‡ŒåŒæ—¶ä½¿ç”¨%<const%>å’Œ%<constexpr%>" - -#~ msgid "qualified function types cannot be used to declare static member functions" -#~ msgstr "é™å®šçš„函数类型ä¸èƒ½ç”¨æ¥å£°æ˜Žé™æ€æˆå‘˜å‡½æ•°" - -#~ msgid "qualified function types cannot be used to declare free functions" -#~ msgstr "é™å®šçš„函数类型ä¸èƒ½ç”¨æ¥å£°æ˜Žéžæˆå‘˜å‡½æ•°" - -#~ msgid " in instantiation of template %qT" -#~ msgstr "在模æ¿%qT的实例化ä¸" - -#~ msgid "ISO C++ forbids initialization of member %qD" -#~ msgstr "ISO C++ ä¸å…许æˆå‘˜%qDçš„åˆå§‹åŒ–" - -#~ msgid "making %qD static" -#~ msgstr "使%qDæˆä¸ºé™æ€çš„" - -#~ msgid "default argument for %q#D has type %qT" -#~ msgstr "%q#D的默认实å‚类型为%qT" - -#~ msgid "default argument for parameter of type %qT has type %qT" -#~ msgstr "类型为%qTçš„å½¢å‚的默认实å‚å´æœ‰ç±»åž‹%qT" - -#~ msgid "parameter packs must be at the end of the parameter list" -#~ msgstr "å‚数包必须出现在形å‚列表末尾" - -#~ msgid "field initializer is not constant" -#~ msgstr "å—段åˆå§‹å€¼è®¾å®šä¸æ˜¯ä¸€ä¸ªå¸¸é‡" - -#~ msgid "value-initialization of %q#D, which has reference type" -#~ msgstr "用值åˆå§‹åŒ–具有引用类型的%q#D" - -#~ msgid "uninitialized base %qT in %<constexpr%> constructor" -#~ msgstr "基类%qT在%<constexpr%>æž„é€ å‡½æ•°é‡Œæœªåˆå§‹åŒ–" - -#~ msgid "non-constant array size in new, unable to verify length of initializer-list" -#~ msgstr "new ä¸æ•°ç»„大å°ä¸æ˜¯å¸¸é‡ï¼Œæ— 法检查åˆå§‹å€¼åˆ—表的长度" - -#~ msgid "ISO C++ forbids initialization in array new" -#~ msgstr "ISO C++ ä¸å…许在数组 new ä¸åˆå§‹åŒ–" - -#~ msgid "mangling new-expression" -#~ msgstr "修饰 new 表达å¼" - -#~ msgid "%qD declared virtual cannot be defaulted in the class body" -#~ msgstr "声明为 virtual çš„%qDä¸èƒ½åœ¨ç±»ä½“内指定默认值" - -#~ msgid "%<%T::%D%> names constructor" -#~ msgstr "%<%T::%D%>æŒ‡å®šäº†æž„é€ å‡½æ•°" - -#~ msgid "ISO C++ does not allow initializers in lambda expression capture lists" -#~ msgstr "ISO C++ ä¸å…许在 lambda 表达å¼æ•èŽ·åˆ—表ä¸æœ‰åˆå§‹å€¼è®¾å®š" - -#~ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage" -#~ msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚ï¼Œå› ä¸ºå‡½æ•°%qD没有外部链接" - -#~ msgid "cannot expand %<%E%> into a fixed-length argument list" -#~ msgstr "æ— æ³•å°†%<%E%>展开æˆå®šé•¿å®žå‚列表" - -#~ msgid "cannot expand %<%T%> into a fixed-length argument list" -#~ msgstr "æ— æ³•å°†%<%T%>展开æˆå®šé•¿å®žå‚列表" - -#~ msgid "instantiation of %q+D as type %qT" -#~ msgstr "%q+D按类型%qT实例化" - -#~ msgid "variable %q#D with %<auto%> type used in its own initializer" -#~ msgstr "å˜é‡%q#D在其自身的åˆå§‹å€¼è®¾å®šä¸ä½¿ç”¨äº†%<auto%>类型" - -#~ msgid "deprecated covariant return type for %q+#D" -#~ msgstr "ä¸å»ºè®®ä¸º%q+#D使用的åå˜è¿”回类型" - -#~ msgid "base class %qT has cv qualifiers" -#~ msgstr "基类%qT有 cv é™å®š" - -#~ msgid " %q+#D declared here" -#~ msgstr "%q+#D已在æ¤å£°æ˜Žè¿‡" - -#~ msgid "%qE refers to a set of overloaded functions" -#~ msgstr "%qE指å‘多个é‡è½½å‡½æ•°çš„集åˆ" - -#~ msgid "unable to determine the declared type of expression %<%E%>" -#~ msgstr "æ— æ³•ç¡®å®šè¡¨è¾¾å¼%<%E%>的声明类型" - -#~ msgid "incomplete type %qT not allowed" -#~ msgstr "ä¸å…许ä¸å®Œå…¨ç±»åž‹%qT" - -#, fuzzy -#~ msgid "enclosing class of %q#D is not a literal type" -#~ msgstr "%3$L处 CLASS å˜é‡â€˜%2$s’的类型‘%1$s’ä¸èƒ½è¢«æ‰©å±•" - -#~ msgid "%qE is not a potential constant expression" -#~ msgstr "%qEä¸æ˜¯ä¸€ä¸ªæ½œåœ¨å¸¸é‡è¡¨è¾¾å¼" - -#, fuzzy -#~ msgid "object argument is not a potential constant expression" -#~ msgstr "åˆå§‹å€¼è®¾å®šä¸å…ƒç´ ä¸æ˜¯å¸¸é‡è¡¨è¾¾å¼" - -#, fuzzy -#~ msgid "argument in position %qP is not a potential constant expression" -#~ msgstr "%qE的枚举值ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡" - -#~ msgid "lambda return type can only be deduced when the return statement is the only statement in the function body" -#~ msgstr "åªæœ‰å½“返回è¯å是函数体ä¸å”¯ä¸€ä¸€æ¡è¯å¥æ—¶æ‰èƒ½æ¼”绎 Lambda 返回类型" - -#~ msgid " since type %qT has pure virtual functions" -#~ msgstr " å› ä¸ºç±»åž‹%qT有纯虚函数" - -#~ msgid "Fortran 2008: Array specification at %C with more than 7 dimensions" -#~ msgstr "Fortran 2008:%C处多于 7 ç»´çš„æ•°ç»„è§„æ ¼" - -#~ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d" -#~ msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实å‚必须有相åŒçš„ç§åˆ« %5$d/%6$d" - -#~ msgid "'%s' argument of '%s' intrinsic at %L must be of a derived type" -#~ msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是派生类型" - -#~ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)" -#~ msgstr "%2$L处延迟外形数组‘%1$s’ä¸èƒ½æ˜¯%4$L处过程‘%3$s’的å‚æ•°ï¼Œå› ä¸ºè¯¥è¿‡ç¨‹æ˜¯ BIND(C)" - -#~ msgid "the type of '%s' at %C has not been declared within the interface" -#~ msgstr "%2$C 处的‘%1$s’类型在接å£ä¸å°šæœªè¢«å£°æ˜Ž" - -#~ msgid "Fortran 2003: IMPORT statement at %C" -#~ msgstr "Fortran 2003:%C处的 IMPORT è¯å¥" - -#~ msgid "No such symbol in TYPE definition at %C" -#~ msgstr "%C在 TYPE 定义ä¸æ²¡æœ‰æ¤ç¬¦å·" - -#~ msgid "Fortran 2003: ABSTRACT type at %C" -#~ msgstr "Fortran 2003:%C处的 ABSTRACT 类型" - -#, fuzzy -#~ msgid "Pointer initialization target at %C must not be ALLOCATABLE " -#~ msgstr "在%C处的指针åˆå§‹åŒ–需è¦â€˜=>’,而ä¸æ˜¯â€˜=’" - -#, fuzzy -#~ msgid "Pointer initialization target at %C must have the SAVE attribute" -#~ msgstr "%2$L 处的对象“%1$sâ€å¯¹äºŽæˆåˆ†çš„默认åˆå§‹åŒ–必须有 SAVE 属性," - -#~ msgid "Unexpected type in truthvalue_conversion" -#~ msgstr "truthvalue_conversion ä¸ç±»åž‹éžé¢„期" - -#~ msgid "Expected a PURE procedure for argument '%s' at %L" -#~ msgstr "å‚数‘%s’在%L处需è¦ä¸€ä¸ª PURE 过程" - -#~ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)" -#~ msgstr "%L处过程实å‚是 INTENT(IN) 而接å£æŒ‡å®šäº† INTENT(%s)" - -#~ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument" -#~ msgstr "%L处的过程å‚数对于 PURE è¿‡ç¨‹æ˜¯å±€éƒ¨çš„è€Œè¢«ä¼ é€’ç»™ä¸€ä¸ª INTENT(%s) å‚æ•°" - -#, fuzzy -#~ msgid "Fortran 2008: NEWUNIT specifier at %L" -#~ msgstr "Fortran 2008:%C处的 BLOCK 结构" - -#~ msgid "Fortran F2003: ROUND= at %C not allowed in Fortran 95" -#~ msgstr "Fortran 2003:%C处的 ROUND= ä¸å…许用在 Fortran 95 ä¸" - -#~ msgid "Deleted feature: PAUSE statement at %C" -#~ msgstr "å·²åˆ é™¤çš„ç‰¹æ€§ï¼š%C处的 PAUSE è¯å¥" - -#~ msgid "Obsolescent feature: Alternate RETURN at %C" -#~ msgstr "已过时的特性:%C处交替的 RETURN" - -#~ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON" -#~ msgstr "符å·â€˜%s’在%C处已ç»æ˜¯ä¸€ä¸ªéž COMMON 的外部符å·" - -#~ msgid "Obsolescent feature: Statement function at %C" -#~ msgstr "已过时的特性:%C处的è¯å¥å‡½æ•°" - -#, fuzzy -#~ msgid "Allocation would exceed memory limit -- malloc() failed" -#~ msgstr "内å˜ä¸è¶³ -- malloc() 失败" - -#~ msgid "Parse error when checking module version for file '%s' opened at %C" -#~ msgstr "当为在%2$C处打开的文件‘%1$s’检查模å—版本时è¯æ³•åˆ†æžé”™è¯¯" - -#~ msgid "Wrong module version '%s' (expected '%s') for file '%s' opened at %C" -#~ msgstr "%4$C处打开的文件‘%3$s’模å—版本‘%1$s’错误(需è¦â€˜%2$s’)" - -#~ msgid "Fortran 2003: GENERIC binding at %C" -#~ msgstr "Fortran 2003:%C处的 GENERIC 绑定" - -#~ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C" -#~ msgstr "Fortran 2003:%C处å¤æ•°å¸¸é‡ä¸çš„ PARAMETER 符å·" - -#~ msgid "Extension: argument list function at %C" -#~ msgstr "扩展:%C处的å‚数列表函数" - -#~ msgid "Syntax error in structure constructor at %C" -#~ msgstr "%C ç»“æž„æž„é€ è¯æ³•é”™è¯¯" - -#~ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure" -#~ msgstr "%L处的哑过程ä¸å…许出现在 ELEMENTAL 过程ä¸" - -#, fuzzy -#~ msgid "Argument '%s' of elemental procedure '%s' at %L must have its INTENT specified" -#~ msgstr "在 %3$L 处的纯的å例程“%2$sâ€çš„å‚数“%1$sâ€å¿…须有它的 INTENT 指定符" - -#~ msgid "Components of structure constructor '%s' at %L are PRIVATE" -#~ msgstr "%2$Lå¤„ç»“æž„æž„é€ å‡½æ•°â€˜%1$s’的组件为 PRIVATE" - -#, fuzzy -#~ msgid "Character length mismatch in return type of function '%s' at %L (%ld/%ld)" -#~ msgstr "%2$L处实å‚‘%1$s’秩ä¸åŒ¹é…(%3$d å’Œ %4$d)" - -#, fuzzy -#~ msgid "Procedure '%s' at %L with assumed-shape dummy argument '%s' must have an explicit interface" -#~ msgstr "%3$L处 %2$s ä¸çš„过程‘%1$s’没有显å¼æŽ¥å£" - -#, fuzzy -#~ msgid "Procedure '%s' at %L with coarray dummy argument '%s' must have an explicit interface" -#~ msgstr "%3$L处 %2$s ä¸çš„过程‘%1$s’没有显å¼æŽ¥å£" - -#, fuzzy -#~ msgid "Procedure '%s' at %L with parametrized derived type argument '%s' must have an explicit interface" -#~ msgstr "%2$L处的ä¸å®šé•¿å—符长度函数‘%1$s’必须有一个显å¼çš„接å£" - -#, fuzzy -#~ msgid "Procedure '%s' at %L with polymorphic dummy argument '%s' must have an explicit interface" -#~ msgstr "%3$L处 %2$s ä¸çš„过程‘%1$s’没有显å¼æŽ¥å£" - -#~ msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect" -#~ msgstr "%2$L处对函数‘%1$s’的引用或者需è¦ä¸€ä¸ªæ˜¾å¼çš„ INTERFACE 或者秩ä¸æ£ç¡®" - -#~ msgid "Nonconstant character-length function '%s' at %L must have an explicit interface" -#~ msgstr "%2$L处的ä¸å®šé•¿å—符长度函数‘%1$s’必须有一个显å¼çš„接å£" - -#, fuzzy -#~ msgid "ELEMENTAL procedure '%s' at %L must have an explicit interface" -#~ msgstr "在 %3$L 处过程“%2$sâ€çš„接å£â€œ%1$sâ€å¿…须是显å¼çš„" - -#~ msgid "Argument to '%s' at %L is not a variable" -#~ msgstr "%2$L处‘%1$s’的实å‚ä¸æ˜¯ä¸€ä¸ªå˜é‡" - -#~ msgid "More actual than formal arguments in '%s' call at %L" -#~ msgstr "%2$L处‘%1$s’调用过程时实å‚比形å‚多" - -#~ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer" -#~ msgstr "%3$L处‘%2$s’的å‚数‘%1$s’必须是一个 TARGET 或者相关è”的指针" - -#, fuzzy -#~ msgid "Coindexed argument not permitted in '%s' call at %L" -#~ msgstr "%3$L 处对“%2$sâ€çš„调用ä¸å‚数“%1$sâ€çš„类型应该是“%1$sâ€ï¼Œè€Œéžâ€œ%1$sâ€" - -#~ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size" -#~ msgstr "%3$L用作‘%2$s’的å‚æ•°çš„å¯åˆ†é…å˜é‡â€˜%1$s’ä¸èƒ½æ˜¯å¤§å°ä¸ºé›¶çš„数组" - -#~ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable" -#~ msgstr "%2$L处å‡å®šå¤–形数组‘%1$s’ä¸èƒ½æ˜¯è¿‡ç¨‹â€˜%3$s’的å‚æ•°ï¼Œå› ä¸ºè¯¥è¿‡ç¨‹æ˜¯ä¸èƒ½ä¸Ž C 互æ“作的" - -#~ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable" -#~ msgstr "%2$L处延迟外形数组‘%1$s’ä¸èƒ½æ˜¯è¿‡ç¨‹â€˜%3$s’的å‚æ•°ï¼Œå› ä¸ºå®ƒä¸èƒ½ä¸Ž C 互æ“作" - -#~ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1" -#~ msgstr "%3$L处的‘%2$s’的 CHARACTER å‚数‘%1$s’长度必须为 1" - -#~ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER" -#~ msgstr "%3$L处‘%2$s’的实å‚‘%1$s’必须是一个关è”çš„æ ‡é‡æŒ‡é’ˆ" - -#~ msgid "Parameter '%s' to '%s' at %L must be a scalar" -#~ msgstr "%3$L处‘%2$s’的形å‚‘%1$sâ€™å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡" - -#~ msgid "Parameter '%s' to '%s' at %L must be a procedure" -#~ msgstr "%3$L处‘%2$s’的形å‚‘%1$s’必须是一个过程" - -#~ msgid "Parameter '%s' to '%s' at %L must be BIND(C)" -#~ msgstr "%3$L处‘%2$s’的形å‚‘%1$s’必须为 BIND(C)" - -#~ msgid "Missing SHAPE parameter for call to %s at %L" -#~ msgstr "%2$L处调用‘%1$s’时缺少 SHAPE 实å‚" - -#~ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array" -#~ msgstr "%2$L处调用‘%1$s’的 SHAPE å‚数必须是一个秩为 1 çš„ INTEGER 数组" - -#~ msgid "Non-scalar base object at %L currently not implemented" -#~ msgstr "%L处éžæ ‡é‡åŸºå¯¹è±¡å°šæœªå®žçŽ°" - -#~ msgid "Deleted feature: %s at %L must be integer" -#~ msgstr "å·²åˆ é™¤çš„ç‰¹æ€§ï¼š%s 在%L处必须是一个整数" - -#~ msgid "Variable must not be polymorphic in assignment at %L" -#~ msgstr "%L处赋值ä¸çš„å˜é‡ç±»åž‹ä¸èƒ½æ˜¯å¤šæ€çš„" - -#~ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L" -#~ msgstr "%3$L处公共å—‘%2$sâ€™çš„ç»‘å®šæ ‡å·â€˜%1$s’与 %5$L 处的全局实体‘%4$s’冲çª" - -#~ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L" -#~ msgstr "%3$L处公共å—‘%2$sâ€™çš„ç»‘å®šæ ‡å·â€˜%1$s’与%6$L处公共å—‘%5$sâ€™çš„ç»‘å®šæ ‡è®°â€˜%4$s’ä¸åŒ¹é…" - -#~ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L" -#~ msgstr "%3$L处公共å—‘%2$sâ€™çš„ç»‘å®šæ ‡å·â€˜%1$s’与 %5$L 处的全局实体‘%4$s’冲çª" - -#~ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L" -#~ msgstr "%2$L处的接å£ä½“ä¸çš„ç»‘å®šæ ‡è®°â€˜%1$s’与%4$L处的全局实体‘%3$s’冲çª" - -#~ msgid "Binding label '%s' at %L collides with global entity '%s' at %L" -#~ msgstr "%2$L处的æ†ç»‘æ ‡å·â€˜%1$s’与 %4$L 处的全局实体‘%3$s’冲çª" - -#~ msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L" -#~ msgstr "已过时的特性:%2$L处的 CHARACTER(*) 函数‘%1$s’" - -#~ msgid "'%s' at %L and the overridden FUNCTION should have matching result types" -#~ msgstr "%2$L处的‘%1$s’和它覆盖的 FUNCTION 应该有匹é…的返回类型" - -#~ msgid "Types mismatch for dummy argument '%s' of '%s' %L in respect to the overridden procedure" -#~ msgstr "%3$L处‘%2$s’的虚å‚‘%1$s’相对于覆盖过程类型ä¸åŒ¹é…" - -#~ msgid "Interface '%s', used by procedure pointer component '%s' at %L, is declared in a later PROCEDURE statement" -#~ msgstr "%3$L处为过程指针组件‘%2$s’所使用的接å£â€˜%1$s’在之åŽçš„ PROCEDURE è¯å¥ä¸è¢«å£°æ˜Ž" - -#~ msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit" -#~ msgstr "%3$L处过程指针组件‘%2$s’的接å£â€˜%1$s’必须是显å¼çš„" - -#, fuzzy -#~ msgid "Invalid SHIFT argument of DSHIFTL at %L" -#~ msgstr "%L处 IBCLR 的第二个å‚æ•°æ— æ•ˆ" - -#~ msgid "Invalid second argument of IBCLR at %L" -#~ msgstr "%L处 IBCLR 的第二个å‚æ•°æ— æ•ˆ" - -#~ msgid "Second argument of IBCLR exceeds bit size at %L" -#~ msgstr "%L处 IBCLR 的第二个å‚数超过ä½å¤§å°" - -#~ msgid "Invalid second argument of IBITS at %L" -#~ msgstr "%L处 IBITS 的第二个å‚æ•°æ— æ•ˆ" - -#~ msgid "Second argument of IBSET exceeds bit size at %L" -#~ msgstr "%L处 IBSET 的第二个å‚数超过ä½å¤§å°" - -#, fuzzy -#~ msgid "Invalid second argument of %s at %L" -#~ msgstr "%L处 IBCLR 的第二个å‚æ•°æ— æ•ˆ" - -#~ msgid "Invalid second argument of ISHFTC at %L" -#~ msgstr "%L处 ISHFTC 的第二个å‚æ•°æ— æ•ˆ" - -#~ msgid "Invalid third argument of ISHFTC at %L" -#~ msgstr "%L处 ISHFTC 的第三个å‚æ•°æ— æ•ˆ" - -#~ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L" -#~ msgstr "%L处 ISHFTC 的第三个å‚数大å°è¶…过第一个实å‚çš„ BIT_SIZE" - -#~ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L" -#~ msgstr "%L处 ISHFTC 的第二个å‚数大å°è¶…过第三个实å‚" - -#, fuzzy -#~ msgid "Too many elements in expression for SUB= argument at %L" -#~ msgstr "%L 为 RESHAPE 指定的维数太多" - -#~ msgid "Fortran 2003: %s attribute with %s attribute at %L" -#~ msgstr "Fortran 2003:%s 属性与 %s 属性在%L处" - -#~ msgid "Fortran 2003: %s attribute with %s attribute in '%s' at %L" -#~ msgstr "Fortran 2003:%s 属性与 %s 属性冲çªï¼Œåœ¨â€˜%s’ä¸ï¼Œä½äºŽ %L" - -#~ msgid "Extension: Symbol '%s' is used before it is typed at %L" -#~ msgstr "扩展:%2$L处符å·â€˜%1$s’在指定类型之å‰è¢«ä½¿ç”¨" - -#, fuzzy -#~ msgid "Possible front-end bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components." -#~ msgstr "å¯èƒ½çš„å‰ç«¯ç¼ºé™·ï¼šæ领数组大å°æ—¶æ²¡æœ‰æŒ‡é’ˆã€å¯åˆ†é…属性或ä¸å¸¦å¯åˆ†é…组件的派生类型。" - -#~ msgid "Derived type '%s' at %L has PRIVATE components" -#~ msgstr "%2$L处派生类型‘%1$s’有ç§æœ‰ç»„件" - -#~ msgid "too many lto output files" -#~ msgstr "lto 输出文件太多" - -#~ msgid "" -#~ "Internal error: %s (program %s)\n" -#~ "Please submit a full bug report.\n" -#~ "See %s for instructions." -#~ msgstr "" -#~ "内部错误:%s (ç¨‹åº %s)\n" -#~ "请æ交一份完整的错误报告。\n" -#~ "具体æ¥éª¤è¯·å‚è§ %s。" - -#~ msgid " -combine Pass multiple source files to compiler at once\n" -#~ msgstr " -combine 将多个æºæ–‡ä»¶ä¸€æ¬¡æ€§ä¼ 递给汇编器\n" - -#~ msgid " -b <machine> Run gcc for target <machine>, if installed\n" -#~ msgstr " -b <机器> 为 gcc æŒ‡å®šç›®æ ‡æœºå™¨(如果有安装)\n" - -#~ msgid " -V <version> Run gcc version number <version>, if installed\n" -#~ msgstr " -V <版本> è¿è¡ŒæŒ‡å®šç‰ˆæœ¬çš„ gcc(如果有安装)\n" - -#~ msgid "'-%c' option must have argument" -#~ msgstr "‘-%c’选项必须有一个å‚æ•°" - -#~ msgid "couldn't run '%s': %s" -#~ msgstr "æ— æ³•è¿è¡Œâ€˜%s’:%s" - -#~ msgid "couldn't run '%s': %s: %s" -#~ msgstr "æ— æ³•è¿è¡Œâ€œ%sâ€ï¼š%s :%s" - -#~ msgid "argument to '-Xpreprocessor' is missing" -#~ msgstr "‘-Xpreprocessor’缺少å‚æ•°" - -#~ msgid "argument to '-Xassembler' is missing" -#~ msgstr "‘-Xassembler’缺少å‚æ•°" - -#~ msgid "argument to '-l' is missing" -#~ msgstr "‘-l’缺少å‚æ•°" - -#~ msgid "argument to '-specs' is missing" -#~ msgstr "‘-specs’缺少å‚æ•°" - -#~ msgid "argument to '-specs=' is missing" -#~ msgstr "‘-Xlinker’缺少å‚æ•°" - -#~ msgid "argument to '-wrapper' is missing" -#~ msgstr "‘-wrapper’缺少å‚æ•°" - -#~ msgid "'-%c' must come at the start of the command line" -#~ msgstr "‘-%c’必须出现在命令行的开头" - -#~ msgid "argument to '-B' is missing" -#~ msgstr "‘-B’缺少å‚æ•°" - -#~ msgid "argument to '-x' is missing" -#~ msgstr "‘-x’缺少å‚æ•°" - -#~ msgid "could not find libgcc.a" -#~ msgstr "找ä¸åˆ° libgcc.a" - -#~ msgid "invalid LTO mode" -#~ msgstr "æ— æ•ˆ LTO 模å¼" - -#~ msgid "" -#~ "\n" -#~ "Execution times (seconds)\n" -#~ msgstr "" -#~ "\n" -#~ "执行时间(以秒计)\n" - -#~ msgid " TOTAL :" -#~ msgstr " 共计 :" - -#~ msgid "time in %s: %ld.%06ld (%ld%%)\n" -#~ msgstr "%sä¸è€—时:%ld.%06ld (%ld%%)\n" - -#~ msgid "UNKNOWN in print_operand !?" -#~ msgstr "UNKNOWN 出现在 print_operand ä¸ï¼Ÿï¼" - -#~ msgid "argument to '%s' missing\n" -#~ msgstr "‘%s’缺少å‚æ•°\n" - -#~ msgid "argument to '%s' missing" -#~ msgstr "‘%s’缺少å‚æ•°" - -#~ msgid "Warning: Using -M <directory> is deprecated, use -J instead\n" -#~ msgstr "è¦å‘Šï¼š-M <目录> 已过时,请改用 -J\n" - -#~ msgid "internal error: bad hash value in dynamic dispatch" -#~ msgstr "内部错误:动æ€åˆ†å‘时散列值错误" - -#~ msgid "Array bound mismatch" -#~ msgstr "数组边界ä¸åŒ¹é…" - -#~ msgid "Attempt to allocate negative amount of memory. Possible integer overflow" -#~ msgstr "试图分é…负数大å°çš„内å˜ã€‚å¯èƒ½æœ‰æ•´æ•°æº¢å‡º" - -#~ msgid "Out of memory" -#~ msgstr "内å˜ä¸è¶³" - -#~ msgid "Attempt to allocate a negative amount of memory." -#~ msgstr "试图分é…负数大å°çš„内å˜" - -#~ msgid "GCC does not support -C or -CC without -E" -#~ msgstr "GCC åªå…许 -E 与 -C 或 -CC åˆç”¨" - -#~ msgid "-mglibc and -muclibc used together" -#~ msgstr "-mglibc å’Œ -muclibc ä¸èƒ½ä¸€èµ·ä½¿ç”¨" - -#~ msgid "mno-cygwin and mno-win32 are not compatible" -#~ msgstr "mno-cygwin å’Œ mno-win32 互ä¸å…¼å®¹" - -#~ msgid "`-mno-intel-syntax' is deprecated. Use `-masm=att' instead." -#~ msgstr "ä¸å»ºè®®ä½¿ç”¨â€˜-mno-intel-syntax’。请改用‘-masm=att’。" - -#~ msgid "Enable fused multiply/add instructions" -#~ msgstr "å¯ç”¨èžåˆçš„ä¹˜åŠ æŒ‡ä»¤" - -#~ msgid "Enable fused multiply/add and multiply/subtract instructions" -#~ msgstr "å¯ç”¨èžåˆçš„ä¹˜åŠ å’Œä¹˜å‡æŒ‡ä»¤" - -#~ msgid "Enable automatic generation of fused floating point multiply-add instructions" -#~ msgstr "自动生æˆèžå’Œæµ®ç‚¹ä¹˜åŠ 指令" - -#~ msgid "Use the Cygwin interface" -#~ msgstr "使用 Cygwin 接å£" - -#~ msgid "Use 16-bit abs patterns" -#~ msgstr "使用 16 ä½ abs 模å¼" - -#~ msgid "Enable fused multiply/add and multiply/subtract FP instructions" -#~ msgstr "å¯ç”¨èžåˆçš„ä¹˜åŠ å’Œä¹˜å‡æµ®ç‚¹æŒ‡ä»¤" - -#~ msgid "Support SCORE 5 ISA" -#~ msgstr "æ”¯æŒ SCORE 5 ISA" - -#~ msgid "Support SCORE 5U ISA" -#~ msgstr "æ”¯æŒ SCORE 5U ISA" - -#~ msgid "Support SCORE 3 ISA" -#~ msgstr "æ”¯æŒ SCORE 3 ISA" - -#~ msgid "Support SCORE 3d ISA" -#~ msgstr "æ”¯æŒ SCORE 3d ISA" - -#~ msgid "Use GNU libc instead of uClibc" -#~ msgstr "用 GNU libc 代替 uClibc" - -#~ msgid "Alias for -mcpu." -#~ msgstr "-mcpu 的别å。" - -#~ msgid "Change when template instances are emitted" -#~ msgstr "使用ä¸åŒçš„模æ¿å®žä¾‹åŒ–实现" - -#~ msgid "Inline member functions by default" -#~ msgstr "默认内è”æˆå‘˜å‡½æ•°" - -#~ msgid "Enable optional diagnostics" -#~ msgstr "å¯åŠ¨å¯é€‰çš„诊æ–ä¿¡æ¯" - -#~ msgid "Discard unused virtual functions" -#~ msgstr "抛弃未使用的虚函数" - -#~ msgid "Implement vtables using thunks" -#~ msgstr "使用 thunk 技术实现 vtable" - -#~ msgid "Emit cross referencing information" -#~ msgstr "生æˆäº¤å‰å¼•ç”¨ä¿¡æ¯" - -#~ msgid "Print a checksum of the executable for PCH validity checking, and stop" -#~ msgstr "打å°å‡ºç”¨äºŽ PCH 有效性检查的å¯æ‰§è¡Œæ–‡ä»¶çš„æ ¡éªŒå’Œï¼Œç„¶åŽé€€å‡º" - -#~ msgid "Specify that arguments may alias each other and globals" -#~ msgstr "指定实å‚å¯èƒ½äº’相é‡å ,也å¯èƒ½ä¸Žå…¨å±€æ•°æ®é‡å " - -#~ msgid "Assume arguments may alias globals but not each other" -#~ msgstr "å‡å®šå®žå‚å¯èƒ½ä¸Žå…¨å±€æ•°æ®é‡å ,但互相ä¸é‡å " - -#~ msgid "Assume arguments alias neither each other nor globals" -#~ msgstr "å‡å®šå®žå‚æ—¢ä¸äº’相é‡å ,也ä¸ä¸Žå…¨å±€æ•°æ®é‡å " - -#~ msgid "Type based escape and alias analysis" -#~ msgstr "基于类型的转义和别å分æž" - -#~ msgid "Do optimistic coalescing." -#~ msgstr "å¯ç”¨ä¹è§‚的接åˆã€‚" - -#~ msgid "Enable linear loop transforms on trees" -#~ msgstr "å¯ç”¨æ ‘上的线性循环å˜æ¢" - -#~ msgid "Enable partitioned link-time optimization." -#~ msgstr "å¯ç”¨åˆ†æ‹†é“¾æŽ¥å™¨ä¼˜åŒ–" - -#~ msgid "argument of %<__builtin_args_info%> must be constant" -#~ msgstr "%<__builtin_args_info%>的实å‚必须是常é‡" - -#~ msgid "argument of %<__builtin_args_info%> out of range" -#~ msgstr "%<__builtin_args_info%>实å‚ä¸åœ¨å…许范围内" - -#~ msgid "missing argument in %<__builtin_args_info%>" -#~ msgstr "%<__builtin_args_info%>缺少实å‚" - -#~ msgid "%<noreturn%> function returns non-void value" -#~ msgstr "%<noreturn%>å‡½æ•°è¿”å›žäº†ä¸€ä¸ªéž void 的返回值" - -#~ msgid "%s should have type %<%s%s%>, but argument %d has type %qT" -#~ msgstr "%s 的类型应当是%<%s%s%>ï¼Œä½†å®žå‚ %d 的类型å´æ˜¯%qT" - -#~ msgid "%s should have type %<%T%s%>, but argument %d has type %qT" -#~ msgstr "%s 的类型应该是%<%T%s%>ï¼Œä½†å®žå‚ %d 的类型为%qT" - -#~ msgid "The C parser does not support -dy, option ignored" -#~ msgstr "C 解æžå™¨ä¸æ”¯æŒ -dy,选项已忽略" - -#~ msgid "The Objective-C parser does not support -dy, option ignored" -#~ msgstr "Objective-C 解æžå™¨ä¸æ”¯æŒ -dy,已忽略" - -#~ msgid "The C++ parser does not support -dy, option ignored" -#~ msgstr "C++ 解æžå™¨ä¸æ”¯æŒ -dy,选项已忽略" - -#~ msgid "The Objective-C++ parser does not support -dy, option ignored" -#~ msgstr "Objective-C++ 解æžå™¨ä¸æ”¯æŒ -dy,已忽略" - -#~ msgid "#pragma pack(push[, id], <n>) is not supported on this target" -#~ msgstr "#pragma pack(push[, id], <n>) 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" - -#~ msgid "#pragma pack(pop[, id], <n>) is not supported on this target" -#~ msgstr "#pragma pack(pop[, id], <n>) 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" - -#~ msgid "#pragma GCC diagnostic not allowed inside functions" -#~ msgstr "#pragma GCC diagnostic ä¸å…许用在函数体ä¸" - -#~ msgid "incomplete '%s' option" -#~ msgstr "ä¸å®Œå…¨çš„‘%s’选项" - -#~ msgid "missing argument to '%s' option" -#~ msgstr "‘%s’选项缺少实å‚" - -#~ msgid "extraneous argument to '%s' option" -#~ msgstr "‘%s’选项实å‚太多" - -#~ msgid "fix_sched_param: unknown param: %s" -#~ msgstr "fix_sched_param:未知的å‚数:%s" - -#~ msgid "target optimization options not supported yet" -#~ msgstr "尚未支æŒç›®æ ‡ä¼˜åŒ–选项" - -#~ msgid "gimple bytecode streams do not support the target attribute" -#~ msgstr "gimple å—节ç æµä¸æ”¯æŒç›®æ ‡å±žæ€§" - -#~ msgid "Indirect reference's operand is not a register or a constant." -#~ msgstr "间接引用的æ“作数ä¸æ˜¯å¯„å˜å™¨æˆ–常é‡ã€‚" - -#~ msgid "weak declaration of %q+D must precede definition" -#~ msgstr "%q+D的弱声明必须在定义之å‰" - -#~ msgid "weak declaration of %q+D after first use results in unspecified behavior" -#~ msgstr "%q+D的弱声明出现在第一次使用之åŽå°†å¯¼è‡´ä¸å¯é¢„期的行为" - -#~ msgid "virtual array %s[%lu]: element %lu out of bounds in %s, at %s:%d" -#~ msgstr "虚数组 %s[%lu]ï¼šå…ƒç´ %lu 越界,在 %s ä¸ï¼ŒäºŽ %s:%d" - -#~ msgid "underflowed virtual array %s in %s, at %s:%d" -#~ msgstr "虚拟数组 %s 下溢,在 %s ä¸ï¼ŒäºŽ %s:%d" - -#~ msgid "enabling caller interworking support is only meaningful when compiling for the Thumb" -#~ msgstr "调用者å作åªåœ¨ä¸º Thumb 编译时有æ„义" - -#~ msgid "ms_hook_prologue attribute needs assembler swap suffix support" -#~ msgstr "ms_hook_prologue 需è¦æ±‡ç¼–å™¨æ”¯æŒ .s åŽç¼€" - -#~ msgid "Changing the FPU insns/math optimizations pairing is not supported" -#~ msgstr "ä¸æ”¯æŒæ”¹å˜ FPU insns/math 优化对选项" - -#~ msgid "object of incomplete type %qT will not be accessed in %s" -#~ msgstr "具有ä¸å®Œå…¨ç±»åž‹%qT的对象ä¸ä¼šåœ¨ %s ä¸è¢«è®¿é—®" - -#~ msgid "object of type %qT will not be accessed in %s" -#~ msgstr "类型为%qT的对象ä¸ä¼šåœ¨ %s ä¸è¢«è®¿é—®" - -#~ msgid "%s has no effect" -#~ msgstr "%s ä¸èµ·ä½œç”¨" - -#~ msgid "storage size of %qD isn't known" -#~ msgstr "%qDçš„å˜å‚¨å¤§å°æœªçŸ¥" - -#~ msgid "storage size of %qD isn't constant" -#~ msgstr "%qDçš„å˜å‚¨å¤§å°ä¸æ˜¯å¸¸é‡" - -#~ msgid "missing initializer for constexpr %qD" -#~ msgstr "constexpr %qD缺少åˆå§‹å€¼è®¾å®š" - -#~ msgid "structure %qD with uninitialized const members" -#~ msgstr "结构%qD有未åˆå§‹åŒ–的常é‡æˆå‘˜" - -#~ msgid "structure %qD with uninitialized reference members" -#~ msgstr "结构%qD有未åˆå§‹åŒ–的引用æˆå‘˜" - -#~ msgid "non-local function %q#D uses anonymous type" -#~ msgstr "éžå±€éƒ¨å‡½æ•°%q#D使用匿å类型" - -#~ msgid "non-local function %q#D uses local type %qT" -#~ msgstr "éžå±€éƒ¨å‡½æ•°%q#D使用了局部类型%qT" - -#~ msgid "non-local variable %q#D uses anonymous type" -#~ msgstr "éžå±€éƒ¨å˜é‡%q#D使用了匿å类型" - -#~ msgid "non-local variable %q#D uses local type %qT" -#~ msgstr "éžå±€éƒ¨å˜é‡%q#D使用了局部类型%qT" - -#~ msgid "ignoring %qV qualifiers added to function type %qT" -#~ msgstr "忽略%qVé™å®šç¬¦ï¼Œåœ¨å‡½æ•°ç±»åž‹%qT上" - -#~ msgid "the %<constexpr%> specifier cannot be used in a function declaration that is not a definition" -#~ msgstr "%<constexpr%>é™å®šç¬¦ä¸èƒ½ç”¨äºŽéžå®šä¹‰çš„函数声明ä¸" - -#~ msgid "a constexpr function cannot be defined outside of its class" -#~ msgstr "constexpr 函数ä¸èƒ½å®šä¹‰åœ¨ç±»å¤–" - -#~ msgid "can't make %qD into a method -- not in a class" -#~ msgstr "%qDä¸èƒ½æ˜¯ä¸€ä¸ªæ–¹æ³• -- ä¸åœ¨ç±»ä¸" - -#~ msgid "used here" -#~ msgstr "在这里被使用" - -#~ msgid "%qD declared explicit cannot be defaulted in the class body" -#~ msgstr "声明为 explicit çš„%qDä¸èƒ½åœ¨ç±»ä½“内被默认化" - -#~ msgid "%qD declared with non-public access cannot be defaulted in the class body" -#~ msgstr "声明有éžå…¬å…±è®¿é—®æƒé™çš„%qDä¸èƒ½åœ¨ç±»ä½“内被默认化" - -#~ msgid "%<%E::%E%> %s" -#~ msgstr "%<%E::%E%>%s" - -#~ msgid "%<::%E%> %s" -#~ msgstr "%<::%E%>%s" - -#~ msgid "%qE %s" -#~ msgstr "%qE%s" - -#~ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression" -#~ msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚ï¼Œå› ä¸ºå®ƒæ˜¯ä¸€ä¸ªéžå¸¸é‡çš„表达å¼" - -#~ msgid "wrong number of template arguments (%d, should be %d%s)" -#~ msgstr "模æ¿å‚æ•°æ•°ç›® %d ä¸å¯¹(应该是 %d%s)" - -#~ msgid "creating array with negative size (%qE)" -#~ msgstr "创建大å°ä¸ºè´Ÿçš„数组(%qE)" - -#~ msgid "object missing in reference to %q+D" -#~ msgstr "对%q+D的引用缺少对象" - -#~ msgid "invalid type argument of array indexing" -#~ msgstr "数组索引å‚æ•°ç±»åž‹æ— æ•ˆ" - -#~ msgid "invalid type argument of unary %<*%>" -#~ msgstr "一元%<*%>å‚æ•°ç±»åž‹æ— æ•ˆ" - -#~ msgid "%s might be a candidate for a format attribute" -#~ msgstr "%s å¯èƒ½æ˜¯ format 属性的一个备选" - -#~ msgid "assignment (via 'asm' output) of data-member %qD in read-only structure" -#~ msgstr "通过‘asm’输出å‘åªè¯»ç»“æž„çš„æ•°æ®æˆå‘˜%qD赋值" - -#~ msgid "assignment of read-only data-member %qD" -#~ msgstr "å‘åªè¯»æ•°æ®æˆå‘˜%qD赋值" - -#~ msgid "assignment (via 'asm' output) of read-only data-member %qD" -#~ msgstr "通过‘asm’输出å‘åªè¯»æ•°æ®æˆå‘˜%qD赋值" - -#~ msgid "increment of read-only data-member %qD" -#~ msgstr "令åªè¯»æ•°æ®æˆå‘˜%qD自增" - -#~ msgid "decrement of read-only data-member %qD" -#~ msgstr "令åªè¯»æ•°æ®æˆå‘˜%qD自å‡" - -#~ msgid "assignment (via 'asm' output) of constant field %qD" -#~ msgstr "通过‘asm’输出å‘åªè¯»å—段%qD赋值" - -#~ msgid "assignment (via 'asm' output) of read-only variable %qD" -#~ msgstr "通过‘asm’输出å‘åªè¯»å˜é‡%qD赋值" - -#~ msgid "assignment (via 'asm' output) of read-only parameter %qD" -#~ msgstr "通过‘asm’输出å‘åªè¯»å½¢å‚%qD赋值" - -#~ msgid "assignment (via 'asm' output) of read-only reference %qD" -#~ msgstr "通过‘asm’输出å‘åªè¯»æˆå‘˜%qD赋值" - -#~ msgid "assignment (via 'asm' output) of read-only named return value %qD" -#~ msgstr "通过‘asm’输出å‘åªè¯»æœ‰å返回值%qD赋值" - -#~ msgid "assignment (via 'asm' output) of function %qD" -#~ msgstr "通过‘asm’输出å‘函数%qD赋值" - -#~ msgid "assignment (via 'asm' output) of read-only location %qE" -#~ msgstr "通过‘asm’输出å‘åªè¯»ä½ç½®%qE赋值" - -#~ msgid "duplicated initializer" -#~ msgstr "é‡å¤çš„åˆå§‹å€¼è®¾å®š" - -#~ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX" -#~ msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实å‚类型必须为 REAL 或 COMPLEX" - -#~ msgid "Pointer initialization requires a NULL() at %C" -#~ msgstr "%C处的指针åˆå§‹åŒ–éœ€è¦ NULL()" - -#~ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard" -#~ msgstr "%C处的 DOUBLE COMPLEX ä¸éµå¾ª Fortran 95 æ ‡å‡†" - -#~ msgid "Junk after PROCEDURE declaration at %C" -#~ msgstr "%C处的 PROCEDURE 声明åŽæœ‰åžƒåœ¾å—符" - -#~ msgid "Cannot assign to INTENT(IN) variable '%s' at %L" -#~ msgstr "ä¸èƒ½å¯¹%2$L处的 INTENT(IN) å˜é‡â€˜%1$s’赋值" - -#~ msgid "Pointer bounds remapping at %L is not yet implemented in gfortran" -#~ msgstr "%L处的指针é™å®šé‡æ˜ 射在 gfortran ä¸å°šæœªå®žçŽ°" - -#~ msgid "Pointer assignment to non-POINTER at %L" -#~ msgstr "%L处指针赋给éžæŒ‡é’ˆ" - -#~ msgid "Bad pointer object in PURE procedure at %L" -#~ msgstr "%L处 PURE 过程ä¸æœ‰æ— 效的指针对象" - -#~ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT" -#~ msgstr "%L处实å‚与 PROTECTED 属性使用相关,而虚å‚‘%s’是 INTENT = OUT/INOUT" - -#~ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)" -#~ msgstr "%2$C处输入列表ä¸çš„å˜é‡â€˜%1$s’ä¸èƒ½æ˜¯ INTENT(IN)" - -#~ msgid "Cannot read to variable '%s' in PURE procedure at %C" -#~ msgstr "ä¸èƒ½åœ¨%2$C处的 PURE 过程ä¸è¯»å–å˜é‡â€˜%1$s’" - -#~ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure" -#~ msgstr "%2$C处 PURE 过程ä¸ä¸èƒ½å†™å…¥å†…部文件å•å…ƒâ€˜%1$s’" - -#~ msgid "Loop variable '%s' at %C cannot be INTENT(IN)" -#~ msgstr "循环å˜é‡â€˜%s’在%C处ä¸èƒ½æ˜¯ INTENT(IN)" - -#~ msgid "Too many digits in STOP code at %C" -#~ msgstr "%C处 STOP 代ç ä¸æ•°å—太多" - -#~ msgid "'%s' at %L is not an accessible derived type" -#~ msgstr "‘%s’在%L处ä¸æ˜¯ä¸€ä¸ªå¯è®¿é—®çš„派生类型" - -#~ msgid "Illegal variable in NULLIFY at %C for a PURE procedure" -#~ msgstr "%C处PURE 过程 NULLIFY ä¸éžæ³•çš„å˜é‡" - -#~ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed" -#~ msgstr "%3$C处åå—列表‘%2$s’ä¸å‡å®šå—符长度‘%1$s’ä¸è¢«å…许" - -#~ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING." -#~ msgstr "%2$L处引用的符å·â€˜%1$sâ€™åœ¨å†…å»ºæ¨¡å— ISO_C_BINDING ä¸ä¸å˜åœ¨." - -#~ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV" -#~ msgstr "%2$L处引用的符å·â€˜%1$sâ€™åœ¨å†…å»ºæ¨¡å— ISO_FORTRAN_ENV ä¸ä¸å˜åœ¨" - -#~ msgid "SUBROUTINE at %C does not belong in a generic function interface" -#~ msgstr "%C处的 SUBROUTINE ä¸å±žäºŽä¸€ä¸ªæ³›åž‹å‡½æ•°æŽ¥å£" - -#~ msgid "FUNCTION at %C does not belong in a generic subroutine interface" -#~ msgstr "%C处的 FUNCTION ä¸å±žäºŽä¸€ä¸ªæ³›åž‹å‡½æ•°æŽ¥å£" - -#~ msgid "Assigning to PROTECTED variable at %C" -#~ msgstr "%Cå¤„å‘ PROTECTED å˜é‡èµ‹å€¼" - -#~ msgid "no typebound available procedure named '%s' at %L" -#~ msgstr "%2$L处没有类型绑定的å为‘%1$s’的å¯ç”¨è¿‡ç¨‹" - -#~ msgid "Cannot assign to loop variable in PURE procedure at %L" -#~ msgstr "ä¸èƒ½åœ¨%L处的 PURE 过程ä¸ä¸ºå¾ªçŽ¯å˜é‡èµ‹å€¼" - -#~ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L" -#~ msgstr "ä¸èƒ½åœ¨%2$L处释放 INTENT(IN)å˜é‡â€˜%1$s’" - -#~ msgid "Cannot allocate INTENT(IN) variable '%s' at %L" -#~ msgstr "ä¸èƒ½åœ¨%2$Lå¤„åˆ†é… INTENT(IN)å˜é‡â€˜%1$s’" - -#~ msgid "Stat-variable '%s' at %L cannot be INTENT(IN)" -#~ msgstr "%2$L处 stat å˜é‡â€˜%1$s’ä¸èƒ½æ˜¯ INTENT(IN)" - -#~ msgid "Illegal stat-variable at %L for a PURE procedure" -#~ msgstr "%L处 PURE 过程éžæ³• stat å˜é‡" - -#~ msgid "Errmsg-variable '%s' at %L cannot be INTENT(IN)" -#~ msgstr "错误信æ¯å˜é‡â€˜%s’在%L处ä¸èƒ½æ˜¯ INTENT(IN)" - -#~ msgid "Illegal errmsg-variable at %L for a PURE procedure" -#~ msgstr "%L处 PURE 过程éžæ³• errmsg å˜é‡" - -#~ msgid "Cannot assign to variable '%s' in PURE procedure at %L" -#~ msgstr "ä¸èƒ½åœ¨%2$L处的 PURE 过程ä¸ä¸ºå˜é‡â€˜%1$s’赋值" - -#~ msgid "Component '%s' of '%s' at %L must have constant array bounds" -#~ msgstr "%3$L处‘%2$s’的组件‘%1$s’必须有常é‡æ•°ç»„ç•Œé™" - -#~ msgid "iterator start at %L does not simplify" -#~ msgstr "%Lå¤„æ¸¸æ ‡èµ·å§‹ä¸èƒ½ç®€åŒ–" - -#~ msgid "iterator end at %L does not simplify" -#~ msgstr "%Lå¤„æ¸¸æ ‡ç»“æŸä¸èƒ½ç®€åŒ–" - -#~ msgid "iterator step at %L does not simplify" -#~ msgstr "%Lå¤„æ¸¸æ ‡æ¥è¿›ä¸èƒ½ç®€åŒ–" - -#~ msgid "Argument of INT at %L is not a valid type" -#~ msgstr "%L处 INT 的实å‚ç±»åž‹æ— æ•ˆ" - -#~ msgid "Argument of %s at %L is not a valid type" -#~ msgstr "%s 的实å‚在%Lå¤„ç±»åž‹æ— æ•ˆ" - -#~ msgid "Argument of KIND at %L is a DERIVED type" -#~ msgstr "%L处 KIND 的实å‚具有 DERIVED 类型" - -#~ msgid "Derived type '%s' at %L is empty" -#~ msgstr "派生类型‘%s’在%L处是空的" - -#~ msgid "could not read section header: %s" -#~ msgstr "æ— æ³•è¯»å–节头:%s" - -#~ msgid "elf32_getshdr() failed: %s" -#~ msgstr "elf32_getshdr() 失败:%s" - -#~ msgid "elf64_getshdr() failed: %s" -#~ msgstr "elf64_getshdr() 失败:%s" - -#~ msgid "could not create a new ELF section: %s" -#~ msgstr "ä¸èƒ½åˆ›å»ºä¸€ä¸ªæ–°çš„ ELF 节:%s" - -#~ msgid "could not append data to ELF section: %s" -#~ msgstr "æ— æ³•å‘ ELF èŠ‚å¢žåŠ æ•°æ®ï¼š%s" - -#~ msgid "not a relocatable ELF object file" -#~ msgstr "ä¸æ˜¯ä¸€ä¸ªå¯é‡å®šä½çš„ ELF ç›®æ ‡æ–‡ä»¶" - -#~ msgid "inconsistent file architecture detected" -#~ msgstr "检测到ä¸ä¸€è‡´çš„文件架构" - -#~ msgid "could not read ELF identification information: %s" -#~ msgstr "æ— æ³•è¯»å– ELF æ ‡è¯†ä¿¡æ¯ï¼š%s" - -#~ msgid "could not locate ELF string table: %s" -#~ msgstr "æ— æ³•å®šä½ ELF å—符串表:%s" - -#~ msgid "elf32_newehdr() failed: %s" -#~ msgstr "elf32_newehdr() 失败:%s" - -#~ msgid "elf64_newehdr() failed: %s" -#~ msgstr "elf64_newehdr() 失败:%s" - -#~ msgid "ELF library is older than that used when building GCC" -#~ msgstr "ELF 库比构建 GCC 时所使用的还è¦æ—§" - -#~ msgid "could not open ELF file: %s" -#~ msgstr "æ— æ³•æ‰“å¼€ ELF 文件:%s" - -#~ msgid "could not seek in archive" -#~ msgstr "æ— æ³•åœ¨å½’æ¡£ä¸å®šä½" - -#~ msgid "could not find archive member" -#~ msgstr "找ä¸åˆ°å½’æ¡£æˆå‘˜" - -#~ msgid "gelf_getehdr() failed: %s" -#~ msgstr "gelf_getehdr() 失败:%s" - -#~ msgid "elf_getscn() failed: %s" -#~ msgstr "elf_getscn() 失败:%s" - -#~ msgid "gelf_getshdr() failed: %s" -#~ msgstr "gelf_getshdr() 失败:%s" - -#~ msgid "gelf_update_shdr() failed: %s" -#~ msgstr "gelf_update_shdr() 失败:%s" - -#~ msgid "gelf_update_ehdr() failed: %s" -#~ msgstr "gelf_update_ehdr() 失败:%s" - -#~ msgid "elf_update() failed: %s" -#~ msgstr "elf_update() 失败:%s" - -#~ msgid "%s terminated with status %d" -#~ msgstr "%s 以状æ€ç %d 终æ¢" - -#~ msgid "missing argument to \"-%s\"" -#~ msgstr "“-%sâ€ç¼ºå°‘å‚æ•°" - -#~ msgid "If scheduling post reload, do trace scheduling" -#~ msgstr "如果在é‡æ–°è½½å…¥ä¹‹åŽè°ƒåº¦ï¼Œåˆ™è¿›è¡Œè°ƒåº¦è¿½è¸ª" - -#~ msgid "for each function it appears in.)" -#~ msgstr "所在的函数内也åªæŠ¥å‘Šä¸€æ¬¡ã€‚)" - -#~ msgid "at this point in file" -#~ msgstr "在文件的这个地方" - -#~ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal" -#~ msgstr "%L处给å‡å®šå¤§å°çš„ Cray 指针赋值是éžæ³•çš„" - -#~ msgid "CHARACTER variable has zero length at %L" -#~ msgstr "%L处的 CHARACTER å˜é‡é•¿åº¦ä¸ºé›¶" - -#~ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component" -#~ msgstr "%2$L处的对象‘%1$s’为默认åˆå§‹åŒ–组件必须有 SAVE 属性" - -#~ msgid "command line option file '%s' does not exist" -#~ msgstr "命令行选项文件‘%s’ä¸å˜åœ¨" - -#~ msgid "GMP version %s, MPFR version %s\n" -#~ msgstr "GMP 版本 %s,MPFR 版本 %s\n" - -#~ msgid "Initialization expression didn't reduce %C" -#~ msgstr "åˆå§‹åŒ–表达å¼ä¸èƒ½å½’约 %C" - -#~ msgid "All components of '%s' are PRIVATE in structure constructor at %C" -#~ msgstr "%2$Cå¤„ç»“æž„æž„é€ å™¨ä¸â€˜%1$s’所有的组件都是 PRIVATE" - -#~ msgid "Set class path" -#~ msgstr "设置类路径" - -#~ msgid "Warn about code that will never be executed" -#~ msgstr "å˜åœ¨æ°¸è¿œä¸è¢«æ‰§è¡Œçš„代ç æ—¶è¦å‘Š" - -#~ msgid "Set the default symbol visibility" -#~ msgstr "设置默认的符å·å¯è§æ€§" - -#~ msgid "will never be executed" -#~ msgstr "永远ä¸ä¼šè¢«æ‰§è¡Œ" - -#~ msgid "function %q+F can never be copied because it uses variable sized variables" -#~ msgstr "函数%q+Fæ— æ³•è¢«å¤åˆ¶ï¼Œå› 为使用了å˜é•¿å˜é‡" - -#~ msgid "jump bypassing disabled" -#~ msgstr "跳转æ—路被ç¦ç”¨" - -#~ msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n" -#~ msgstr "%s:用法‘%s [ -VqfnkN ] [ -i <å—符串> ] [ 文件å ... ]’\n" - -#~ msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n" -#~ msgstr "%s:用法‘%s [ -VqfnkNlgC ] [ -B <目录å> ] [ 文件å ... ]'\n" - -#~ msgid "%s: warning: no write access for file '%s'\n" -#~ msgstr "%s:è¦å‘Šï¼šæ²¡æœ‰æ–‡ä»¶â€˜%s’的写æƒé™\n" - -#~ msgid "%s: warning: no write access for dir containing '%s'\n" -#~ msgstr "%s:è¦å‘Šï¼šæ²¡æœ‰å¯¹åŒ…å«â€˜%s’的目录的写æƒé™\n" - -#~ msgid "%s: %s: can't get status: %s\n" -#~ msgstr "%s:%s:ä¸èƒ½èŽ·å–状æ€ï¼š%s\n" - -#~ msgid "" -#~ "\n" -#~ "%s: fatal error: aux info file corrupted at line %d\n" -#~ msgstr "" -#~ "\n" -#~ "%s:致命错误:辅助信æ¯æ–‡ä»¶çš„第 %d 行已æŸå\n" - -#~ msgid "%s:%d: declaration of function '%s' takes different forms\n" -#~ msgstr "%s:%d:函数‘%s’的声明形å¼ä¸åŒ\n" - -#~ msgid "%s: compiling '%s'\n" -#~ msgstr "%s:æ£åœ¨ç¼–译‘%s’\n" - -#~ msgid "%s: wait: %s\n" -#~ msgstr "%s:ç‰å¾…:%s\n" - -#~ msgid "%s: subprocess got fatal signal %d\n" -#~ msgstr "%s:åè¿›ç¨‹æ”¶åˆ°è‡´å‘½ä¿¡å· %d\n" - -#~ msgid "%s: warning: missing SYSCALLS file '%s'\n" -#~ msgstr "%s:è¦å‘Šï¼šç¼ºå°‘ SYSCALLS 文件‘%s’\n" - -#~ msgid "%s: can't read aux info file '%s': %s\n" -#~ msgstr "%sï¼šæ— æ³•è¯»å–输助信æ¯æ–‡ä»¶â€˜%s’:%s\n" - -#~ msgid "%s: can't get status of aux info file '%s': %s\n" -#~ msgstr "%s:ä¸èƒ½èŽ·å–辅助信æ¯æ–‡ä»¶â€˜%s’的状æ€ï¼š%s\n" - -#~ msgid "%s: can't open aux info file '%s' for reading: %s\n" -#~ msgstr "%sï¼šæ— æ³•æ‰“å¼€è¾…åŠ©ä¿¡æ¯æ–‡ä»¶â€˜%s’以供读出:%s\n" - -#~ msgid "%s: error reading aux info file '%s': %s\n" -#~ msgstr "%s:读å–输助信æ¯æ–‡ä»¶â€˜%s’时出错:%s\n" - -#~ msgid "%s: error closing aux info file '%s': %s\n" -#~ msgstr "%s:关é—输助信æ¯æ–‡ä»¶â€˜%s’时出错:%s\n" - -#~ msgid "%s: conflicting extern definitions of '%s'\n" -#~ msgstr "%s:‘%s’有相互冲çªçš„外部定义\n" - -#~ msgid "%s: declarations of '%s' will not be converted\n" -#~ msgstr "%s:‘%s’的声明ä¸ä¼šè¢«è½¬åŒ–\n" - -#~ msgid "%s: conflict list for '%s' follows:\n" -#~ msgstr "%s:‘%s’的冲çªåˆ—表如下:\n" - -#~ msgid "%s: warning: using formals list from %s(%d) for function '%s'\n" -#~ msgstr "%s:è¦å‘Šï¼šä½¿ç”¨æ¥è‡ª %s(%d)çš„å½¢å‚列表,为函数‘%s’\n" - -#~ msgid "%s: %d: '%s' used but missing from SYSCALLS\n" -#~ msgstr "%s:%d:用到‘%s’但其并未出现在 SYSCALLS ä¸\n" - -#~ msgid "%s: %d: warning: no extern definition for '%s'\n" -#~ msgstr "%s:%d:è¦å‘Šï¼šæ²¡æœ‰â€˜%s’的外部定义\n" - -#~ msgid "%s: warning: no static definition for '%s' in file '%s'\n" -#~ msgstr "%1$s:è¦å‘Šï¼šæ–‡ä»¶â€˜%3$s’ä¸æ²¡æœ‰â€˜%2$s’的é™æ€å®šä¹‰\n" - -#~ msgid "%s: multiple static defs of '%s' in file '%s'\n" -#~ msgstr "%s:‘%s’在文件‘%s’ä¸æœ‰å¤šä¸ªé™æ€å®šä¹‰\n" - -#~ msgid "%s: %d: warning: source too confusing\n" -#~ msgstr "%s:%d:è¦å‘Šï¼šæºæ–‡ä»¶ä¸å¯ç†è§£\n" - -#~ msgid "%s: %d: warning: varargs function declaration not converted\n" -#~ msgstr "%s:%d:è¦å‘Šï¼šå¯å˜å‚数函数声明未被转化\n" - -#~ msgid "%s: declaration of function '%s' not converted\n" -#~ msgstr "%s:函数‘%s’的声明ä¸ä¼šè¢«è½¬åŒ–\n" - -#~ msgid "%s: warning: too many parameter lists in declaration of '%s'\n" -#~ msgstr "%s:è¦å‘Šï¼šâ€˜%s’的声明ä¸å½¢å‚列表太多\n" - -#~ msgid "" -#~ "\n" -#~ "%s: warning: too few parameter lists in declaration of '%s'\n" -#~ msgstr "" -#~ "\n" -#~ "%s:è¦å‘Šï¼šâ€˜%s’的声明ä¸å½¢å‚列表太少\n" - -#~ msgid "%s: %d: warning: found '%s' but expected '%s'\n" -#~ msgstr "%s:%d:è¦å‘Šï¼šå‘现‘%s’但需è¦â€˜%s’\n" - -#~ msgid "%s: local declaration for function '%s' not inserted\n" -#~ msgstr "%s:未æ’入函数‘%s’的局部声明\n" - -#~ msgid "" -#~ "\n" -#~ "%s: %d: warning: can't add declaration of '%s' into macro call\n" -#~ msgstr "" -#~ "\n" -#~ "%s:%d:è¦å‘Šï¼šä¸èƒ½å°†â€˜%sâ€™çš„å£°æ˜Žæ·»åŠ è‡³å®è°ƒç”¨ä¸\n" - -#~ msgid "%s: global declarations for file '%s' not inserted\n" -#~ msgstr "%s:文件‘%s’的全局声明未被æ’å…¥\n" - -#~ msgid "%s: definition of function '%s' not converted\n" -#~ msgstr "%s:函数‘%s’的定义ä¸ä¼šè¢«è½¬åŒ–\n" - -#~ msgid "%s: %d: warning: definition of %s not converted\n" -#~ msgstr "%s:%d:è¦å‘Šï¼š%s 的定义未被转化\n" - -#~ msgid "%s: found definition of '%s' at %s(%d)\n" -#~ msgstr "%s:找到‘%s’的定义,于 %s(%d)\n" - -#~ msgid "%s: %d: warning: '%s' excluded by preprocessing\n" -#~ msgstr "%s:%d:è¦å‘Šï¼šâ€˜%s’被预处ç†æ‰€æŽ’除\n" - -#~ msgid "%s: function definition not converted\n" -#~ msgstr "%s:函数定义ä¸ä¼šè¢«è½¬åŒ–\n" - -#~ msgid "%s: '%s' not converted\n" -#~ msgstr "%s:‘%s’未被转æ¢\n" - -#~ msgid "%s: would convert file '%s'\n" -#~ msgstr "%s:将è¦è½¬æ¢æ–‡ä»¶â€˜%s’\n" - -#~ msgid "%s: converting file '%s'\n" -#~ msgstr "%s:转化文件‘%s’\n" - -#~ msgid "%s: can't get status for file '%s': %s\n" -#~ msgstr "%s:ä¸èƒ½èŽ·å–文件‘%s’的状æ€ï¼š%s\n" - -#~ msgid "" -#~ "\n" -#~ "%s: error reading input file '%s': %s\n" -#~ msgstr "" -#~ "\n" -#~ "%s:读å–输入文件‘%s’时出错:%s\n" - -#~ msgid "%s: can't create/open clean file '%s': %s\n" -#~ msgstr "%sï¼šæ— æ³•åˆ›å»º/打开干净文件‘%s’:%s\n" - -#~ msgid "%s: warning: file '%s' already saved in '%s'\n" -#~ msgstr "%s:è¦å‘Šï¼šæ–‡ä»¶â€˜%s’已被ä¿å˜åœ¨â€˜%s’ä¸\n" - -#~ msgid "%s: can't link file '%s' to '%s': %s\n" -#~ msgstr "%sï¼šæ— æ³•å°†æ–‡ä»¶â€˜%s’链接至文件‘%s’:%s\n" - -#~ msgid "%s: can't create/open output file '%s': %s\n" -#~ msgstr "%sï¼šæ— æ³•åˆ›å»º/打开输出文件‘%s’:%s\n" - -#~ msgid "%s: can't change mode of file '%s': %s\n" -#~ msgstr "%s:ä¸èƒ½æ”¹å˜æ–‡ä»¶â€˜%s’的模å¼ï¼š%s\n" - -#~ msgid "%s: input file names must have .c suffixes: %s\n" -#~ msgstr "%s:输入文件å必须有 .c åŽç¼€ï¼š%s\n" - -#~ msgid "The maximum structure size (in bytes) for which GCC will use by-element copies" -#~ msgstr "GCC å°†ä¸ºå…¶è€ƒè™‘æŒ‰å…ƒç´ å¤åˆ¶çš„最大的结构大å°(以å—节表示)" - -#~ msgid "The maximum number of structure fields for which GCC will use by-element copies" -#~ msgstr "GCC å°†ä¸ºå…¶è€ƒè™‘æŒ‰å…ƒç´ å¤åˆ¶çš„结构å—段最大数é‡" - -#~ msgid "The threshold ratio between instantiated fields and the total structure size" -#~ msgstr "实例化的å—段和结构总大å°ä¹‹æ¯”的阈值" - -#~ msgid "expense of call operation relative to ordinary arithmetic operations" -#~ msgstr "调用æ“作相对于普通算术æ“作的代价" - -#~ msgid "The maximum number of passes to make when doing GCSE" -#~ msgstr "进行 GCSE 的最多趟数" - -#, fuzzy -#~ msgid "Different shape in dimension %d for SHIFT and BOUNDARY arguments of EOSHIFT at %L" -#~ msgstr "%3$L处矩阵乘法的两个å‚数‘%1$s’和‘%2$s’第一维的外形ä¸ç›¸åŒ" - -#, fuzzy -#~ msgid "Different shape in dimension %d for MASK and FIELD arguments of UNPACK at %L" -#~ msgstr "%3$L处矩阵乘法的两个å‚数‘%1$s’和‘%2$s’第一维的外形ä¸ç›¸åŒ" - -#~ msgid "Allocatable component at %C must be an array" -#~ msgstr "%C处å¯åˆ†é…的组件必须是一个数组" - -#~ msgid "Repeat count cannot follow P descriptor" -#~ msgstr "é‡å¤è®°æ•°ä¸èƒ½åœ¨ P æ述符之åŽ" - -#, fuzzy -#~ msgid "Fortran F2003: ROUND= specifier at %C not implemented" -#~ msgstr "Fortran 2003:%C处的派生类型定义没有组件" - -#~ msgid "Expected case name of '%s' at %C" -#~ msgstr "%C处需è¦â€˜%s’的 case å" - -#~ msgid "Option -fwhole-program is not supported for Fortran" -#~ msgstr "Fortran ä¸æ”¯æŒ -fwhole-program 选项" - -#, fuzzy -#~ msgid "Intrinsic subroutine '%s' used as a function at %L" -#~ msgstr "内建函数‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š" - -#, fuzzy -#~ msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)" -#~ msgstr "循环å˜é‡â€˜%s’在%C处ä¸èƒ½æ˜¯ INTENT(IN)" - -#~ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L" -#~ msgstr "å·²åˆ é™¤çš„ç‰¹æ€§ï¼š%L处的 GOTO 跳转到%L处结构的 END" - -#, fuzzy -#~ msgid "Subroutine '%s' called instead of assignment at %L must be PURE" -#~ msgstr "%L处定义赋值的第二个å‚数必须是 INTENT(IN)" - -#~ msgid "Integer too large in shape specification at %L" -#~ msgstr "%L处外形指定ä¸æ•´æ•°å¤ªå¤§" - -#~ msgid "Shape specification at %L cannot be negative" -#~ msgstr "%L处外形指定ä¸èƒ½ä¸ºè´Ÿæ•°" - -#~ msgid "Add a directory for INCLUDE and MODULE searching" -#~ msgstr "å°†ä¸€ä¸ªç›®å½•æ·»åŠ åˆ° INCLUDE å’Œ MODULE æœç´¢è·¯å¾„ä¸" - -#~ msgid "Treat the input file as preprocessed" -#~ msgstr "将输入文件当作已ç»é¢„处ç†è¿‡çš„" - -#~ msgid "Set maximum alignment to 4" -#~ msgstr "设定最大对é½è¾¹ç•Œä¸º 4" - -#~ msgid "Set maximum alignment to 8" -#~ msgstr "设定最大对é½è¾¹ç•Œä¸º 8" - -#~ msgid "Generate SH2a code" -#~ msgstr "ç”Ÿæˆ SH2a 代ç " - -#~ msgid "Expand cbranchdi4 pattern early into separate comparisons and branches." -#~ msgstr "åŠæ—©å°† cbranchdi4 æ ·å¼å±•å¼€åˆ°ä¸åŒçš„比较和跳转ä¸ã€‚" - -#~ msgid "Do not generate tablejump insns" -#~ msgstr "ä¸ç”Ÿæˆè·³è½¬è¡¨æŒ‡ä»¤" - -#~ msgid "Output instruction sizes to the asm file" -#~ msgstr "在汇编文件ä¸è¾“出指令大å°" - -#~ msgid "Warn about deprecated compiler features" -#~ msgstr "使用ä¸å»ºè®®çš„编译器特性时给出è¦å‘Š" - -#~ msgid "When running CSE, follow conditional jumps" -#~ msgstr "进行 CSE 时,跟éšæ¡ä»¶è·³è½¬" - -#~ msgid "Use integrated register allocator." -#~ msgstr "使用集æˆå¯„å˜å™¨åˆ†é…器。" - -#~ msgid "Perform sequence abstraction optimization on RTL" -#~ msgstr "在 RTL 级进行åºåˆ—抽象优化" - -#~ msgid "Eliminate redundant sign extensions using LCM." -#~ msgstr "使用 LCM 消除多余的符å·æ‰©å±•ã€‚" - -#~ msgid "logical %<%s%> with non-zero constant will always evaluate as true" -#~ msgstr "对éžé›¶å¸¸é‡è¿›è¡Œé€»è¾‘%<%s%>æ“作结果总为真" - -#~ msgid "%Hduplicate label %qD" -#~ msgstr "%Hé‡å¤çš„æ ‡å·%qD" - -#~ msgid "%Jjump into statement expression" -#~ msgstr "%J跳转至è¯å¥è¡¨è¾¾å¼ä¸" - -#~ msgid "%Jjump into scope of identifier with variably modified type" -#~ msgstr "%J跳至具有å¯å˜ç±»åž‹çš„æ ‡è¯†ç¬¦çš„ä½œç”¨åŸŸä¸" - -#~ msgid "variable or field %qs declared void" -#~ msgstr "å˜é‡æˆ–å—段%qs声明为 void" - -#~ msgid "%Jinvalid use of structure with flexible array member" -#~ msgstr "%J对包å«å¯å˜æ•°ç»„æˆå‘˜çš„ç»“æž„çš„æ— æ•ˆä½¿ç”¨" - -#~ msgid "both %<long long%> and %<double%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<long long%>å’Œ%<double%>" - -#~ msgid "both %<long%> and %<short%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<short%>" - -#~ msgid "both %<long%> and %<void%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<void%>" - -#~ msgid "both %<long%> and %<_Bool%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<_Bool%>" - -#~ msgid "both %<long%> and %<char%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<char%>" - -#~ msgid "both %<long%> and %<float%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<float%>" - -#~ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<_Decimal32%>" - -#~ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<_Decimal64%>" - -#~ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<_Decimal128%>" - -#~ msgid "both %<short%> and %<void%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<void%>" - -#~ msgid "both %<short%> and %<_Bool%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<_Bool%>" - -#~ msgid "both %<short%> and %<char%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<char%>" - -#~ msgid "both %<short%> and %<float%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<float%>" - -#~ msgid "both %<short%> and %<double%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<double%>" - -#~ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<_Decimal32%>" - -#~ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<_Decimal64%>" - -#~ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<_Decimal128%>" - -#~ msgid "both %<signed%> and %<unsigned%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<unsigned%>" - -#~ msgid "both %<signed%> and %<void%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<void%>" - -#~ msgid "both %<signed%> and %<_Bool%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<_Bool%>" - -#~ msgid "both %<signed%> and %<float%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<float%>" - -#~ msgid "both %<signed%> and %<double%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<double%>" - -#~ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<_Decimal32%>" - -#~ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<_Decimal64%>" - -#~ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<_Decimal128%>" - -#~ msgid "both %<unsigned%> and %<void%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<void%>" - -#~ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<_Bool%>" - -#~ msgid "both %<unsigned%> and %<float%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<float%>" - -#~ msgid "both %<unsigned%> and %<double%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<double%>" - -#~ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<_Decimal32%>" - -#~ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<_Decimal64%>" - -#~ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<_Decimal128%>" - -#~ msgid "both %<complex%> and %<void%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<void%>" - -#~ msgid "both %<complex%> and %<_Bool%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Bool%>" - -#~ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Decimal32%>" - -#~ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Decimal64%>" - -#~ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Decimal128%>" - -#~ msgid "both %<complex%> and %<_Fract%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Fract%>" - -#~ msgid "both %<complex%> and %<_Accum%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Accum%>" - -#~ msgid "both %<complex%> and %<_Sat%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Sat%>" - -#~ msgid "both %<_Sat%> and %<void%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<void%>" - -#~ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<_Bool%>" - -#~ msgid "both %<_Sat%> and %<int%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<int%>" - -#~ msgid "both %<_Sat%> and %<float%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<float%>" - -#~ msgid "both %<_Sat%> and %<double%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<double%>" - -#~ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<_Decimal32%>" - -#~ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<_Decimal64%>" - -#~ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<_Decimal128%>" - -#~ msgid "both %<_Sat%> and %<complex%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<complex%>" - -#~ msgid "both %<long long%> and %<%s%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<long long%>å’Œ%<%s%>" - -#~ msgid "both %<long%> and %<%s%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<%s%>" - -#~ msgid "both %<short%> and %<%s%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<%s%>" - -#~ msgid "both %<signed%> and %<%s%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<%s%>" - -#~ msgid "both %<unsigned%> and %<%s%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<%s%>" - -#~ msgid "both %<complex%> and %<%s%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<%s%>" - -#~ msgid "both %<_Sat%> and %<%s%> in declaration specifiers" -#~ msgstr "声明ä¸åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<%s%>" - -#~ msgid "decimal floating point not supported for this target" -#~ msgstr "å进制浮点在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" - -#~ msgid "missing %<(%> after %<#pragma push_macro%> - ignored" -#~ msgstr "%<#pragma push_macro%>åŽç¼ºå°‘%<(%>,忽略" - -#~ msgid "invalid constant in %<#pragma push_macro%> - ignored" -#~ msgstr "%<#pragma push_macro%>ä¸æœ‰æ— æ•ˆå¸¸é‡ - 已忽略" - -#~ msgid "missing %<)%> after %<#pragma push_macro%> - ignored" -#~ msgstr "%<#pragma push_macro%>åŽç¼ºå°‘%<)%>,忽略" - -#~ msgid "junk at end of %<#pragma push_macro%>" -#~ msgstr "%<#pragma push_macro%>末尾有垃圾å—符" - -#~ msgid "missing %<(%> after %<#pragma pop_macro%> - ignored" -#~ msgstr "%<#pragma pop_macro%>åŽç¼ºå°‘%<(%>,忽略" - -#~ msgid "invalid constant in %<#pragma pop_macro%> - ignored" -#~ msgstr "%<#pragma pop_macro%>ä¸æœ‰æ— æ•ˆå¸¸é‡ - 已忽略" - -#~ msgid "missing %<)%> after %<#pragma pop_macro%> - ignored" -#~ msgstr "%<#pragma pop_macro%>åŽç¼ºå°‘%<)%>,忽略" - -#~ msgid "junk at end of %<#pragma pop_macro%>" -#~ msgstr "%<#pragma pop_macro%>末尾有垃圾å—符" - -#~ msgid "#pragma redefine_extname not supported on this target" -#~ msgstr "#pragma redefine_extname 在æ¤ç›®æ ‡æœºä¸Šä¸å—支æŒ" - -#~ msgid "signed and unsigned type in conditional expression" -#~ msgstr "有符å·å’Œæ— 符å·ç±»åž‹ä¸€èµ·å‡ºçŽ°åœ¨æ¡ä»¶è¡¨è¾¾å¼ä¸" - -#~ msgid "case label in statement expression not containing enclosing switch statement" -#~ msgstr "case æ ‡å·å‡ºçŽ°åœ¨æ²¡æœ‰ switch è¯å¥çš„è¯å¥è¡¨è¾¾å¼ä¸" - -#~ msgid "%<default%> label in statement expression not containing enclosing switch statement" -#~ msgstr "%<default%>æ ‡å·å‡ºçŽ°åœ¨æ²¡æœ‰ç›¸åº” switch è¯å¥çš„è¯å¥è¡¨è¾¾å¼ä¸" - -#~ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement" -#~ msgstr "case æ ‡å·å‡ºçŽ°åœ¨æ²¡æœ‰åŒ…å«çš„ switch è¯å¥çš„å¯å˜ç±»åž‹æ ‡è¯†ç¬¦ä½œç”¨åŸŸä¸" - -#~ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement" -#~ msgstr "%<default%>æ ‡å·å‡ºçŽ°åœ¨æ²¡æœ‰åŒ…å«çš„ switch è¯å¥çš„å¯å˜ç±»åž‹æ ‡è¯†ç¬¦çš„作用域ä¸" - -#~ msgid "%Hstatement with no effect" -#~ msgstr "%Hè¯å¥ä¸èµ·ä½œç”¨" - -#~ msgid "%H%s" -#~ msgstr "%H%s" - -#~ msgid "iteration variable %qs should not be firstprivate" -#~ msgstr "è¿ä»£å˜é‡%qsä¸åº”当是 firstprivate" - -#~ msgid "disallowed call to %qs" -#~ msgstr "ä¸å…许对%qs的调用" - -#~ msgid "-freorder-blocks-and-partition does not work with exceptions" -#~ msgstr "-freorder-blocks-and-partition ä¸èƒ½ä¸Žå¼‚常一起工作" - -#~ msgid "-freorder-blocks-and-partition does not support unwind info" -#~ msgstr "-freorder-blocks-and-partition ä¸æ”¯æŒè§£å·ä¿¡æ¯" - -#~ msgid "%Hvalue computed is not used" -#~ msgstr "%H计算出的值未被使用" - -#~ msgid "%qs is deprecated (declared at %s:%d)" -#~ msgstr "ä¸å»ºè®®ä½¿ç”¨%qs(声明于 %s:%d)" - -#~ msgid "EH edge %i->%i is missing" -#~ msgstr "缺少 EH è¾¹ %i->%i" - -#~ msgid "EH edge %i->%i miss EH flag" -#~ msgstr "EH è¾¹ %i->%i 缺少 EH æ ‡è®°" - -#~ msgid "%Hlikely type-punning may break strict-aliasing rules: object %<%s%s%> of main type %qT is referenced at or around %s:%d and may be aliased to object %<%s%s%> of main type %qT which is referenced at or around %s:%d." -#~ msgstr "%Hå¯èƒ½çš„类型åŒå…³ä¼šç ´å强é‡å 规则:对象%<%s%s%>作为类型%qT在%s:%d或附近的引用å¯èƒ½ä¸Žå¯¹è±¡%<%s%s%>作为类型%qT在%s:%d或附近的引用é‡å 。" - -#~ msgid "dereferencing type-punned pointer %D will break strict-aliasing rules" -#~ msgstr "æ领类型åŒå…³çš„指针 %D å°†ç ´å强é‡å 规则" - -#~ msgid "non-addressable variable inside an alias set" -#~ msgstr "别å集ä¸æœ‰ä¸å¯å¯»å€çš„å˜é‡" - -#~ msgid "verify_flow_insensitive_alias_info failed" -#~ msgstr "verify_flow_sensitive_alias_info 失败" - -#~ msgid "dereferenced pointers should have a name or a symbol tag" -#~ msgstr "æ领的指针应具有一个åç§°æˆ–ç±»åž‹æ ‡è®°" - -#~ msgid "verify_flow_sensitive_alias_info failed" -#~ msgstr "verify_flow_sensitive_alias_info 失败" - -#~ msgid "variable in call_clobbered_vars but not marked call_clobbered" -#~ msgstr "å˜é‡åœ¨ call_clobbered_vars ä¸ä½†å¹¶æœªè¢«æ ‡è®°ä¸º call_clobbered" - -#~ msgid "variable marked call_clobbered but not in call_clobbered_vars bitmap." -#~ msgstr "å˜é‡è¢«æ ‡è®°ä¸º call_clobbered 但ä¸åœ¨ call_clobbered_vars ä½å›¾ä¸ã€‚" - -#~ msgid "verify_call_clobbering failed" -#~ msgstr "verify_call_clobbering 失败" - -#~ msgid "Memory partitions should have at least one symbol" -#~ msgstr "内å˜åˆ†åŒºè‡³å°‘应该有一个符å·" - -#~ msgid "verify_memory_partitions failed" -#~ msgstr "verify_memory_partitions 失败" - -#~ msgid "%Jonly weak aliases are supported in this configuration" -#~ msgstr "%Jæ¤é…置下åªæ”¯æŒå¼±åˆ«å" - -#~ msgid "trampolines not supported" -#~ msgstr "ä¸æ”¯æŒè¹¦åºŠ" - -#~ msgid "`%s' attribute only applies to functions" -#~ msgstr "‘%s’属性åªèƒ½ç”¨äºŽå‡½æ•°" - -#~ msgid "`%s' attribute only applies to variables" -#~ msgstr "‘%s’属性åªèƒ½ä¸ºå˜é‡ä½¿ç”¨" - -#~ msgid "Trampoline support for CRX" -#~ msgstr "对 CRX 的蹦床支æŒ" - -#~ msgid "nested functions are limited to 2 register parameters" -#~ msgstr "嵌套函数被é™åˆ¶ä½¿ç”¨ä¸¤ä¸ªå¯„å˜å™¨å½¢å‚" - -#~ msgid "not yet implemented: latency-optimized inline square root" -#~ msgstr "尚未实现:优化延迟的内è”å¹³æ–¹æ ¹è¿ç®—" - -#~ msgid "`%s' attribute applies only to functions" -#~ msgstr "‘%s’属性åªèƒ½åº”用到函数上" - -#~ msgid "`%s' attribute argument not an integer constant" -#~ msgstr "‘%s’属性的å‚æ•°ä¸æ˜¯ä¸€ä¸ªæ•´åž‹å¸¸é‡" - -#~ msgid "`%s' attribute ignored" -#~ msgstr "忽略‘%s’属性" - -#~ msgid "%H from here" -#~ msgstr "%H 从这里" - -#~ msgid " enters scope of non-POD %q+#D" -#~ msgstr " 进入éžç®€å•æ—§æ•°æ®%q+#D的作用域" - -#~ msgid "%J enters catch block" -#~ msgstr "%J 进入 catch å—" - -#~ msgid "ISO C++ forbids use of initializer list to initialize reference %qD" -#~ msgstr "ISO C++ ä¸å…许使用åˆå§‹å€¼è®¾å®šåˆ—表æ¥åˆå§‹åŒ–引用%qD" - -#~ msgid "creating %s" -#~ msgstr "创建 %s" - -#~ msgid "mangling function-style cast with more than one argument" -#~ msgstr "函数类型的转æ¢å¸¦æœ‰å¤šä¸ªå‚æ•°" - -#~ msgid "XXX is_class_level != (current_scope == class_scope)\n" -#~ msgstr "XXX is_class_level != (current_scope == class_scope)\n" - -#~ msgid "%q+D is not a function," -#~ msgstr "%q+Dä¸æ˜¯ä¸€ä¸ªå‡½æ•°ï¼Œ" - -#~ msgid "%H%<long long long%> is too long for GCC" -#~ msgstr "%H%<long long long%>对 GCC æ¥è¯´å¤ªé•¿äº†" - -#~ msgid "%H%qT is not a template" -#~ msgstr "%H%qTä¸æ˜¯ä¸€ä¸ªæ¨¡æ¿" - -#~ msgid "%Hunsupported non-standard concatenation of string literals" -#~ msgstr "%Héžæ ‡å‡†çš„å—é¢å—符串毗连ä¸è¢«æ”¯æŒ" - -#~ msgid "%H%qD used without template parameters" -#~ msgstr "%H%qD使用时未带模æ¿å‚æ•°" - -#~ msgid "%Hreference to %qD is ambiguous" -#~ msgstr "%H对%qD的引用有æ§ä¹‰" - -#~ msgid "%Hinvalid use of %qD" -#~ msgstr "%H错误地使用了%qD" - -#~ msgid "%Hcase label not within a switch statement" -#~ msgstr "%Hcase æ ‡å·å‡ºçŽ°åœ¨å¼€å…³è¯å¥å¤–" - -#~ msgid "%H%<else%> without a previous %<if%>" -#~ msgstr "%H%<else%>没有对应的%<if%>" - -#~ msgid "%Hbreak statement not within loop or switch" -#~ msgstr "%Hbreak è¯å¥ä¸åœ¨å¾ªçŽ¯æˆ–开关è¯å¥å†…" - -#~ msgid "%Hinvalid exit from OpenMP structured block" -#~ msgstr "%HOpenMP 结构å—出å£æ— 效" - -#~ msgid "%Hbreak statement used with OpenMP for loop" -#~ msgstr "%HOpenMP for 循环ä¸ä½¿ç”¨äº† break è¯å¥" - -#~ msgid "%Hcontinue statement not within a loop" -#~ msgstr "%Hcontinue è¯å¥å‡ºçŽ°åœ¨å¾ªçŽ¯ä»¥å¤–" - -#~ msgid "using %<typename%> outside of template" -#~ msgstr "在模æ¿å¤–使用%<typename%>" - -#~ msgid "%Harray bound is not an integer constant" -#~ msgstr "%H数组边界ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡" - -#~ msgid "%Hredefinition of %q#T" -#~ msgstr "%H%q#Té‡å®šä¹‰" - -#~ msgid "%Htemplate declaration of %qs" -#~ msgstr "%H%qs声明为模æ¿" - -#~ msgid "%Htoo many %qs clauses" -#~ msgstr "%H太多的%qsåå¥" - -#~ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter" -#~ msgstr "%H调度%<runtime%>ä¸æŽ¥å—一个%<chunk_size%>å‚æ•°" - -#~ msgid "%Hschedule %<auto%> does not take a %<chunk_size%> parameter" -#~ msgstr "%H调度%<auto%>ä¸æŽ¥å—一个%<chunk_size%>å‚æ•°" - -#~ msgid "%H%qs is not valid for %qs" -#~ msgstr "%H%qs对%qsè€Œè¨€æ— æ•ˆ" - -#~ msgid "%Hiteration variable %qD should not be firstprivate" -#~ msgstr "%Hè¿ä»£å˜é‡%qDä¸åº”当是 firstprivate" - -#~ msgid "%Hiteration variable %qD should not be reduction" -#~ msgstr "%Hè¿ä»£å˜é‡%qDä¸åº”当是 reduction" - -#~ msgid "%Hcollapsed loops not perfectly nested" -#~ msgstr "%H折å 的循环没有完美的嵌套" - -#~ msgid "%H%<#pragma GCC pch_preprocess%> must be first" -#~ msgstr "%H%<#pragma GCC pch_preprocess%>必须是第一个" - -#~ msgid "%H%<#pragma omp barrier%> may only be used in compound statements" -#~ msgstr "%H%<#pragma omp barrier%>åªèƒ½ç”¨åœ¨å¤åˆè¯å¥ä¸" - -#~ msgid "%H%<#pragma omp flush%> may only be used in compound statements" -#~ msgstr "%H%<#pragma omp flush%>åªèƒ½ç”¨åœ¨å¤åˆè¯å¥ä¸" - -#~ msgid "%H%<#pragma omp taskwait%> may only be used in compound statements" -#~ msgstr "%H%<#pragma omp taskwait%>åªèƒ½ç”¨åœ¨å¤åˆè¯å¥ä¸" - -#~ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct" -#~ msgstr "%H%<#pragma omp section%>åªèƒ½ç”¨åœ¨%<#pragma omp sections%>结构ä¸" - -#~ msgid "%H%qD is not a member of %qT" -#~ msgstr "%H%qDä¸æ˜¯%qTçš„æˆå‘˜" - -#~ msgid "%Hinvalid controlling predicate" -#~ msgstr "%Hæ— æ•ˆçš„æŽ§åˆ¶è°“è¯" - -#~ msgid "%Hinvalid increment expression" -#~ msgstr "%Hæ— æ•ˆçš„è‡ªå¢žè¯å¥" - -#~ msgid "%Hexpected iteration declaration or initialization" -#~ msgstr "%H需è¦è¿ä»£å£°æ˜Žæˆ–åˆå§‹åŒ–" - -#~ msgid "%Hmissing controlling predicate" -#~ msgstr "%H缺少控制谓è¯" - -#~ msgid "%Hmissing increment expression" -#~ msgstr "%H缺少自增è¯å¥" - -#~ msgid "%s of read-only parameter %qD" -#~ msgstr "%såªè¯»å‚æ•°%qD" - -#~ msgid "%s of read-only reference %qD" -#~ msgstr "%såªè¯»å¼•ç”¨%qD" - -#~ msgid "%s of read-only location %qE" -#~ msgstr "%såªè¯»ä½ç½®%qE" - -#~ msgid "global register variable %qs used in nested function" -#~ msgstr "嵌套函数ä¸ä½¿ç”¨äº†å…¨å±€å¯„å˜å™¨å˜é‡%qs" - -#~ msgid "register variable %qs used in nested function" -#~ msgstr "嵌套函数ä¸ä½¿ç”¨äº†å¯„å˜å™¨å˜é‡%qs" - -#~ msgid "address of global register variable %qs requested" -#~ msgstr "è¦æ±‚全局寄å˜å™¨å˜é‡%qs的地å€" - -#~ msgid "address of register variable %qs requested" -#~ msgstr "è¦æ±‚寄å˜å™¨å˜é‡%qs的地å€" diff --git a/gcc/ree.c b/gcc/ree.c index c85ca0afb82..48765b6aaab 100644 --- a/gcc/ree.c +++ b/gcc/ree.c @@ -808,6 +808,12 @@ combine_reaching_defs (ext_cand *cand, const_rtx set_pat, ext_state *state) if (state->defs_list.length () != 1) return false; + /* We don't have the structure described above if there are + conditional moves in between the def and the candidate, + and we will not handle them correctly. See PR68194. */ + if (state->copies_list.length () > 0) + return false; + /* We require the candidate not already be modified. It may, for example have been changed from a (sign_extend (reg)) into (zero_extend (sign_extend (reg))). diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ea29f116cac..30148ab7632 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,392 @@ +2015-12-14 Tobias Burnus <burnus@net-b.de> + Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> + + Backport from mainline. + 2015-12-09 Tobias Burnus <burnus@net-b.de> + Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> + + * gfortran.dg/coarray_40.f90: New. + +2015-12-14 Martin Jambor <mjambor@suse.cz> + + PR ipa/66616 + * g++.dg/ipa/pr66616.C: New test. + +2015-12-14 James Greenhalgh <james.greenhalgh@arm.com> + + Backport from mainline. + 2015-12-09 James Greenhalgh <james.greenhalgh@arm.com> + + PR rtl-optimization/67609 + * gcc.dg/torture/pr67609.c: New. + +2015-12-10 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/68376 + PR rtl-optimization/68670 + * gcc.c-torture/execute/pr68376-2.c (f5, f6, f7, f8): New + tests. + (main): Call them. + * gcc.dg/pr68670-1.c: New test. + * gcc.dg/pr68670-2.c: New test. + +2015-12-10 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline + 2015-12-08 Uros Bizjak <ubizjak@gmail.com> + + PR target/68701 + * gcc.target/i386/pr68701-1.c: New test. + * gcc.target/i386/pr68701-2.c: Ditto. + +2015-12-09 Uros Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/sse4_1-roundps-1.c: Remove ASM_SUFFIX define. + * gcc.target/i386/sse4_1-roundps-2.c: Ditto. + * gcc.target/i386/sse4_1-roundps-3.c: Ditto. + * gcc.target/i386/sse4_1-roundsd-1.c: Ditto. + * gcc.target/i386/sse4_1-roundsd-2.c: Ditto. + * gcc.target/i386/sse4_1-roundsd-3.c: Ditto. + * gcc.target/i386/sse4_1-roundss-1.c: Ditto. + * gcc.target/i386/sse4_1-roundss-2.c: Ditto. + * gcc.target/i386/sse4_1-roundss-3.c: Ditto. + +2015-12-09 Uros Bizjak <ubizjak@gmail.com> + + * gcc.target/i386/sse4_1-round.h (do_round): Fix inline asm statements. + * gcc.target/i386/sse4_1-roundsd-4.c (do_round): Ditto. + * gcc.target/i386/sse4_1-roundss-4.c (do_round): Ditto. + +2015-12-09 Martin Liska <mliska@suse.cz> + + Backport from mainline + 2015-12-09 Martin Liska <mliska@suse.cz> + + PR ipa/68790 + * gcc.dg/ipa/pr68790.c: New test. + +2015-12-07 Martin Liska <mliska@suse.cz> + + * g++.dg/ipa/pr66896.C: New test. + +2015-12-07 Jakub Jelinek <jakub@redhat.com> + + Backport from mainline + 2015-12-04 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/68680 + * gcc.target/i386/pr68680.c: New test. + + PR tree-optimization/68671 + * gcc.dg/pr68671.c: New test. + +2015-12-04 Release Manager + + * GCC 5.3.0 released. + +2015-11-27 Andre Vehreschild <vehre@gcc.gnu.org> + + PR fortran/68218 + * gfortran.dg/allocate_with_arrayspec_1.f90: New test. + +2015-11-27 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/68250 + * gcc.c-torture/execute/pr68250.c: New test. + +2015-11-27 Marek Polacek <polacek@redhat.com> + + Backport from mainline + 2015-11-27 Marek Polacek <polacek@redhat.com> + + * gcc.dg/pr63568.c: Convert to GIMPLE. + +2015-11-26 Bernd Edlinger <bernd.edlinger@hotmail.de> + + Backport from mainline + 2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de> + + PR rtl-optimization/67037 + * gcc.c-torture/execute/pr67037.c: New test. + +2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com> + + Backport from mainline r230938. + 2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com> + + PR target/68416 + * gcc.target/i386/mpx/pr68416.c: New test. + +2015-11-26 Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/68249 + PR rtl-optimization/68321 + * gcc.c-torture/execute/pr68249.c: New test. + * gcc.c-torture/execute/pr68321.c: New test. + +2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + Backport from mainline + 2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + PR rtl-optimization/67226 + * gcc.c-torture/execute/pr67226.c: New test. + +2015-11-26 Jakub Jelinek <jakub@redhat.com> + + PR c++/68508 + * g++.dg/ubsan/pr68508.C: New test. + +2015-11-26 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * lib/target-supports.exp + (check_effective_target_arm_neon_ok_nocache): Add check + for M profile. + +2015-11-25 Jakub Jelinek <jakub@redhat.com> + + Backported from mainline + 2015-11-20 Jakub Jelinek <jakub@redhat.com> + + PR c++/67354 + * g++.dg/abi/mangle67.C: New test. + +2015-11-25 Paolo Carlini <paolo.carlini@oracle.com> + + * g++.dg/cpp0x/constexpr-array13.C: Fix. + +2015-11-25 Markus Trippelsdorf <markus@trippelsdorf.de> + Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/68087 + * g++.dg/cpp0x/constexpr-array13.C: New. + +2015-11-24 Paul Thomas <pault@gcc.gnu.org> + + Backport from trunk. + PR fortran/68196 + * gfortran.dg/proc_ptr_47.f90: New test. + + Backport from trunk. + PR fortran/66465 + * gfortran.dg/pr66465.f90: New test. + +2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com> + + Backport from mainline r230796. + 2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com> + + PR c/68337 + * gcc.target/i386/mpx/pr68337-1.c: New test. + * gcc.target/i386/mpx/pr68337-2.c: New test. + +2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + Backport from mainline + 2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + PR rtl-optimization/68194 + PR rtl-optimization/68328 + PR rtl-optimization/68185 + * gcc.c-torture/execute/pr68185.c: New test. + * gcc.c-torture/execute/pr68328.c: Likewise. + +2015-11-24 Jakub Jelinek <jakub@redhat.com> + + PR target/68483 + * gcc.target/i386/pr68483-1.c: New test. + * gcc.target/i386/pr68483-2.c: New test. + +2015-11-23 Michael Meissner <meissner@linux.vnet.ibm.com> + + 2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com> + Peter Bergner <bergner@vnet.ibm.com> + + PR target/67808 + * gcc.target/powerpc/pr67808.c: New test. + +2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + Backport from mainline + 2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + PR target/68363 + * gcc.target/aarch64/pr68363_1.c: New test. + +2015-11-23 Martin Liska <mliska@suse.cz> + + Backport from mainline + 2015-06-22 Jan Hubicka <hubicka@ucw.cz> + Martin Liska <mliska@suse.cz> + + PR ipa/65908 + * g++.dg/ipa/pr65908.C: New testcase. + +2015-11-23 Richard Biener <rguenther@suse.de> + + Backport from mainline + 2015-10-29 Richard Biener <rguenther@suse.de> + + PR middle-end/56956 + * c-c++-common/ubsan/pr56956.c: New testcase. + +2015-11-22 Dominique d'Humieres <dominiq@lps.ens.fr> + + Backport from mainline + 2015-09-14 Manuel López-Ibáñe<manu@gcc.gnu.org> + + PR fortran/67460 + * gfortran.dg/pr67460.f90: New test. + +2015-11-21 Jakub Jelinek <jakub@redhat.com> + + PR debug/66432 + * gcc.dg/debug/pr66432.c: New test. + +2015-11-20 Jakub Jelinek <jakub@redhat.com> + + PR middle-end/68339 + * gcc.dg/vect/pr68339.c: New test. + +2015-11-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> + + Backport from mainline + * gcc.target/s390/bswap-1.c: New test. + +2015-11-20 Dominik Vogt <vogt@linux.vnet.ibm.com> + + Backport from mainline + * gcc.target/s390/pfpo.c: New test. + +2015-11-19 Jakub Jelinek <jakub@redhat.com> + + PR c++/67409 + * g++.dg/eh/goto3.C: New test. + + PR rtl-optimization/68376 + * gcc.c-torture/execute/pr68376-1.c: New test. + * gcc.c-torture/execute/pr68376-2.c: New test. + + PR target/67770 + * gcc.target/i386/pr67770.c: New test. + +2015-11-18 Dominique d'Humieres <dominiq@lps.ens.fr> + + PR fortran/65751 + * gfortran.dg/unlimited_polymorphic_2.f03: Update test. + +2015-11-18 Richard Biener <rguenther@suse.de> + + Backport from mainline + 2015-11-07 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/68057 + PR ipa/68220 + * g++.dg/torture/pr68220.C: New testcase. + * g++.dg/lto/pr68057_0.C: Likewise. + * g++.dg/lto/pr68057_1.C: Likewise. + + 2015-10-23 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/pr67600 + * g++.dg/torture/pr67600.C: New testcase. + + 2015-10-11 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/67056 + * g++.dg/ipa/pr67056.C: New testcase. + + 2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org> + + PR c/66098 + PR c/66711 + * gcc.dg/pragma-diag-3.c: New test. + * gcc.dg/pragma-diag-4.c: New test. + +2015-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + Backport from mainline + 2015-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + PR target/68143 + * gcc.c-torture/execute/pr68143_1.c: New test. + +2015-11-18 Richard Biener <rguenther@suse.de> + + Backport from mainline + 2015-10-28 Richard Biener <rguenther@suse.de> + + PR middle-end/68067 + * gcc.dg/torture/pr68067-1.c: New testcase. + * gcc.dg/torture/pr68067-2.c: Likewise. + + 2015-10-26 Richard Biener <rguenther@suse.de> + Dominik Vogt <vogt@linux.vnet.ibm.com> + + PR middle-end/67443 + * gcc.target/s390/pr67443.c: New testcase. + + 2015-10-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/68017 + * gcc.dg/torture/pr68017.c: New testcase. + + 2015-09-23 Richard Biener <rguenther@suse.de> + + PR middle-end/67662 + * gcc.dg/ubsan/pr67662.c: New testcase. + +2015-11-18 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/68157 + * g++.dg/opt/pr68157.C: New test. + +2015-11-16 Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/58027 + PR fortran/60993 + * gfortran.dg/pr58027.f90: New test. + +2015-11-14 Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/67803 + * gfortran.dg/pr67803.f90: New test. + +2015-11-13 Steven G. Kargl <kargl@gccc.gnu.org> + + PR fortran/68319 + * gfortran.dg/pr68319.f90: New test. + +2015-11-13 Dominique d'Humieres <dominiq@lps.ens.fr> + + PR fortran/47266 + * gfortran.dg/module_private_2.f90: New test. + +2015-11-12 Steven G. Kargl <kargl@gcc.gnu.org> + + PR fortran/68318 + * gfortran.dg/pr68318_1.f90: New test. + * gfortran.dg/pr68318_2.f90: Ditto. + +2015-11-12 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.target/i386/pr67265-2.c: New test. + +2015-11-11 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.target/i386/pr67265.c: New test. + +2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + PR target/68129 + * gcc.target/aarch64/pr68129_1.c: New test. + +2015-11-09 Eric Botcazou <ebotcazou@adacore.com> + + * gcc.target/sparc/sparc-ret.c: Rename to... + * gcc.target/sparc/sparc-ret-1.c: ...this. + * gcc.target/sparc/sparc-ret-2.c: New test. + 2015-11-08 Steven g. Kargl <kargl@gcc.gnu.org> PR fortran/68053 @@ -947,10 +1336,6 @@ PR fortran/66725 * gfortran.dg/pr66725.f90: New test. -2015-07-16 Martin Liska <mliska@suse.cz> - - * g++.dg/ipa/pr66896.c: New test. - 2015-07-16 Marek Polacek <polacek@redhat.com> Backported from mainline diff --git a/gcc/testsuite/c-c++-common/ubsan/pr56956.c b/gcc/testsuite/c-c++-common/ubsan/pr56956.c new file mode 100644 index 00000000000..996e1dd8a79 --- /dev/null +++ b/gcc/testsuite/c-c++-common/ubsan/pr56956.c @@ -0,0 +1,15 @@ +/* { dg-do run } */ +/* { dg-options "-fsanitize=undefined -fsanitize-undefined-trap-on-error" } */ + +unsigned int __attribute__((noinline,noclone)) +foo (unsigned int x) +{ + return x <= __INT_MAX__ ? x : -x; +} + +int +main () +{ + volatile unsigned int tem = foo (-__INT_MAX__ - 1); + return 0; +} diff --git a/gcc/testsuite/g++.dg/abi/mangle67.C b/gcc/testsuite/g++.dg/abi/mangle67.C new file mode 100644 index 00000000000..69ca90b029d --- /dev/null +++ b/gcc/testsuite/g++.dg/abi/mangle67.C @@ -0,0 +1,21 @@ +// PR c++/67354 +// { dg-do compile { target c++11 } } +// { dg-options "-fabi-version=5 -Os" } + +class A +{ +}; + +template <typename T> +void +foo () +{ + T (); +} + +struct B : virtual A +{ + template <typename...> B () {} +}; + +auto f = foo<B>; diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-array13.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-array13.C new file mode 100644 index 00000000000..e2a6e865e37 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-array13.C @@ -0,0 +1,6 @@ +// PR c++/68087 +// { dg-do compile { target c++11 } } + +constexpr char c[] = "hello"; +constexpr const char *p = c; +constexpr char ch = *(p-1); // { dg-error "array subscript" } diff --git a/gcc/testsuite/g++.dg/cpp1y/constexpr-copy1.C b/gcc/testsuite/g++.dg/cpp1y/constexpr-copy1.C new file mode 100644 index 00000000000..ce0c12d729c --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp1y/constexpr-copy1.C @@ -0,0 +1,25 @@ +// PR c++/67813 +// { dg-do compile { target c++14 } } + +struct Ptr { + int* p; + + constexpr Ptr(int* p) noexcept : p{p} {} + constexpr int& operator*() const { + return *p; + } +}; + +constexpr int f(int& i) { + //Ptr first{&i}; // Works. + Ptr first = &i; // Error + return *first; +} + +constexpr int g() { + int i = 42; + return f(i); +} + +#define SA(X) static_assert((X), #X) +SA(g() == 42); diff --git a/gcc/testsuite/g++.dg/eh/goto3.C b/gcc/testsuite/g++.dg/eh/goto3.C new file mode 100644 index 00000000000..d584ad76e81 --- /dev/null +++ b/gcc/testsuite/g++.dg/eh/goto3.C @@ -0,0 +1,14 @@ +// PR c++/67409 +// { dg-options "-fpermissive" } + +void f() +try + { + goto l2; // { dg-message "from here" } + l1: ; // { dg-error "jump to label 'l1'" } + } catch (...) + { + l2: ; // { dg-error "jump to label 'l2'" } + // { dg-message "enters catch block" "" { target *-*-*} 11 } + goto l1; // { dg-message "from here|enters try block" } + } diff --git a/gcc/testsuite/g++.dg/ipa/pr65908.C b/gcc/testsuite/g++.dg/ipa/pr65908.C new file mode 100644 index 00000000000..38730bd0b2d --- /dev/null +++ b/gcc/testsuite/g++.dg/ipa/pr65908.C @@ -0,0 +1,27 @@ +// PR ipa/65908 +// { dg-do compile } +// { dg-options "-O2" } +// { dg-additional-options "-fPIC" { target fpic } } + +class A +{ + A (A &); +}; +class B +{ + const A &m_fn1 () const; +}; +class C +{ + A m_fn2 () const; +}; +A +C::m_fn2 () const +{ + throw 0; +} +const A & +B::m_fn1 () const +{ + throw 0; +} diff --git a/gcc/testsuite/g++.dg/ipa/pr66616.C b/gcc/testsuite/g++.dg/ipa/pr66616.C new file mode 100644 index 00000000000..440ea6c6bfc --- /dev/null +++ b/gcc/testsuite/g++.dg/ipa/pr66616.C @@ -0,0 +1,54 @@ +// { dg-do run } +// { dg-options "-O2 -fipa-cp-clone" } + +struct Distraction +{ + char fc[8]; + virtual Distraction * return_self () + { return this; } +}; + +static int go; + +struct A; + +struct A +{ + int fi; + + A () : fi(0) {} + A (int pi) : fi (pi) {} + virtual void foo (int p) = 0; +}; + +struct B; + +struct B : public Distraction, A +{ + B () : Distraction(), A() { } + B (int pi) : Distraction (), A (pi) {} + virtual void foo (int p) + { + int o = fi; + for (int i = 0; i < p; i++) + o += i + i * i; + go = o; + } +}; + +struct B gb2 (2); + +extern "C" void abort (void); + +int +main (void) +{ + for (int i = 0; i < 2; i++) + { + struct A *p = &gb2; + p->foo (0); + if (go != 2) + abort (); + } + return 0; +} diff --git a/gcc/testsuite/g++.dg/ipa/pr66896.C b/gcc/testsuite/g++.dg/ipa/pr66896.C new file mode 100644 index 00000000000..236537a5ea0 --- /dev/null +++ b/gcc/testsuite/g++.dg/ipa/pr66896.C @@ -0,0 +1,22 @@ +// PR ipa/66896 +// { dg-do compile } + +void f2 (void *); +void f3 (); + +struct A +{ + int *a; + A (); + ~A () { a3 (); } + int a1 (int * p) { if (!p) f3 (); f2 (p); } + void a3 () { if (*a) a1 (a); } +}; + +struct B : A {~B () { a3 ();}}; + +struct F {}; + +struct G : F {B g;}; + +void foo () {G g;} diff --git a/gcc/testsuite/g++.dg/ipa/pr67056.C b/gcc/testsuite/g++.dg/ipa/pr67056.C new file mode 100644 index 00000000000..f47323b6e5d --- /dev/null +++ b/gcc/testsuite/g++.dg/ipa/pr67056.C @@ -0,0 +1,39 @@ +/* { dg-do run } */ +/* { dg-options "-std=c++11 -O3 -fdump-ipa-cp" } */ +/* { dg-additional-options "-fPIC" { target fpic } } */ +#include <memory> + +class EmptyClass { +public: + EmptyClass(); +}; + +EmptyClass::EmptyClass() { +} + +class CompositeClass { +public: + CompositeClass() {} + virtual ~CompositeClass() {} + EmptyClass object; + bool bool1; + bool bool2; +}; + +bool boolFunc() { + return true; +} + +static bool staticBoolFunc(CompositeClass * ptr) { + std::unique_ptr<CompositeClass> up(ptr); + (void)up; + + return boolFunc(); +} + +int main(int, char **) { + staticBoolFunc(new CompositeClass); + return 0; +} + +/* { dg-final { scan-ipa-dump "Speculative outer type:struct CompositeClass" "cp" } } */ diff --git a/gcc/testsuite/g++.dg/lto/pr68057_0.C b/gcc/testsuite/g++.dg/lto/pr68057_0.C new file mode 100644 index 00000000000..4e124d7f5e8 --- /dev/null +++ b/gcc/testsuite/g++.dg/lto/pr68057_0.C @@ -0,0 +1,23 @@ +// { dg-lto-do link } +/* { dg-extra-ld-options { -O2 -Wno-odr -r -nostdlib } } */ +struct SPxPricer; +struct SoPlex { + virtual void setPricer(SPxPricer *); +}; +struct SPxPricer { + virtual void load(SoPlex *); +}; +struct SLUFactor { + SLUFactor(); + virtual ~SLUFactor(); +}; +struct SPxSolver : SoPlex { + SPxPricer pr; + SLUFactor slu; + SPxSolver(); +}; +struct A : SPxSolver {}; +A a; + +void SoPlex::setPricer(SPxPricer *p1) { p1->load(this); } + diff --git a/gcc/testsuite/g++.dg/lto/pr68057_1.C b/gcc/testsuite/g++.dg/lto/pr68057_1.C new file mode 100644 index 00000000000..f45a81ec88b --- /dev/null +++ b/gcc/testsuite/g++.dg/lto/pr68057_1.C @@ -0,0 +1,17 @@ +struct SPxPricer; +struct SoPlex { + virtual void setPricer(SPxPricer *); +}; +struct SPxPricer { + virtual void load(SoPlex *); +}; +struct SLUFactor { + SLUFactor(); + virtual ~SLUFactor(); +}; +struct SPxSolver : SoPlex { + SPxPricer pr; + SLUFactor slu; + SPxSolver(); +}; +SPxSolver::SPxSolver() { setPricer(&pr); } diff --git a/gcc/testsuite/g++.dg/opt/pr68157.C b/gcc/testsuite/g++.dg/opt/pr68157.C new file mode 100644 index 00000000000..1d723486fb7 --- /dev/null +++ b/gcc/testsuite/g++.dg/opt/pr68157.C @@ -0,0 +1,18 @@ +// PR tree-optimization/68157 +// { dg-do compile } +// { dg-options "-Ofast" } + +double a, b, c, d; +int h, foo (); + +void +bar () +{ + while (foo ()) + { + double e = b * a * a; + double f = b * d; + if (h) + c = e + f; + } +} diff --git a/gcc/testsuite/g++.dg/template/pr67337.C b/gcc/testsuite/g++.dg/template/pr67337.C new file mode 100644 index 00000000000..df2651bc9a5 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/pr67337.C @@ -0,0 +1,25 @@ +template <class> class A +{ + void m_fn1 (int *, int); +}; + +template <class> class B +{ +public: + typedef int Type; +}; + +template <class> class C +{ +public: + C (int); + template <template <class> class T> void m_fn2 (typename T<void>::Type); +}; + +template <> +void +A<int>::m_fn1 (int *, int) +{ + C<int> a (0); + a.m_fn2<B> (0); +} diff --git a/gcc/testsuite/g++.dg/torture/pr67600.C b/gcc/testsuite/g++.dg/torture/pr67600.C new file mode 100644 index 00000000000..0206cae186c --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/pr67600.C @@ -0,0 +1,15 @@ +// { dg-do run } + +#include <iostream> +#include <sstream> + +int main() +{ + std::basic_ostringstream<char> ostr; + std::ostreambuf_iterator<char> iter(ostr.rdbuf()); + *iter++ = 'X'; + + + std::cout << ostr.str() << '\n'; + return 0; +} diff --git a/gcc/testsuite/g++.dg/torture/pr68220.C b/gcc/testsuite/g++.dg/torture/pr68220.C new file mode 100644 index 00000000000..8775e4dbaf8 --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/pr68220.C @@ -0,0 +1,239 @@ +// { dg-do compile } +// { dg-additional-options "-std=gnu++11" } +namespace mpl { +template <typename, typename = int> struct lambda; +template <typename T3> struct if_ { typedef T3 type; }; +template <int> struct arg { + template <typename U1, typename> struct apply { typedef U1 type; }; +}; +template <typename> struct begin_impl; +template <typename Sequence> struct begin { + typedef typename Sequence::tag tag_; + typedef typename begin_impl<tag_>::template apply<Sequence>::type type; +}; +template <typename> struct O1_size_impl; +} +template <long N> struct long_ { static const long value = N; }; +namespace mpl { +template <typename Sequence> +struct O1_size + : O1_size_impl<typename Sequence::tag>::template apply<Sequence> {}; +typedef arg<1> _1; +template <typename T> struct protect : T {}; +template <typename F> struct apply_wrap1 : F::template apply<int> {}; +template <typename F, typename T1, typename T2> +struct apply_wrap2 : F::template apply<T1, T2> {}; +template <typename F> struct apply_wrap5 : F::template apply<int> {}; +template <typename, typename, typename, typename, typename, typename> +struct resolve_bind_arg; +template <typename T, typename> struct replace_unnamed_arg { typedef T type; }; +template <typename F, typename> struct bind1 { + template <typename> struct apply { + typedef typename apply_wrap1<F>::type type; + }; +}; +template <typename F, typename T1, typename U1, typename U2, typename U3, + typename U4, typename U5> +struct resolve_bind_arg<bind1<F, T1>, U1, U2, U3, U4, U5> { + typedef typename apply_wrap5<bind1<F, T1>>::type type; +}; +template <typename F, typename, typename T2> struct bind2 { + template <typename U1, typename U2> struct apply { + typedef resolve_bind_arg<typename replace_unnamed_arg<T2, arg<1>>::type, U1, + U2, int, int, int> t2; + typedef typename apply_wrap2<F, typename U1::type, typename t2::type>::type + type; + }; +}; +template <typename T> struct quote_impl { typedef T type; }; +template <template <typename> class F> struct quote1 { + template <typename> struct apply : quote_impl<F<int>> {}; +}; +template <typename T, typename> struct lambda { + typedef T type; + typedef arg<1> result_; +}; +template <typename, template <typename> class, typename> struct le_result1; +template <template <typename> class F, typename L1> +struct le_result1<int, F, L1> { + typedef protect<bind1<quote1<F>, typename L1::result_>> type; +}; +template <template <typename> class F, typename T1, typename Tag> +struct lambda<F<T1>, Tag> { + typedef typename le_result1<int, F, lambda<T1>>::type type; +}; +template <int, typename, typename, typename> struct iter_fold_impl; +template <typename First, typename State, typename ForwardOp> +struct iter_fold_impl<1, First, State, ForwardOp> { + typedef typename apply_wrap2<ForwardOp, State, First>::type state; +}; +template <typename Sequence, typename State, typename ForwardOp> +struct iter_fold { + typedef typename iter_fold_impl<O1_size<Sequence>::value, + typename begin<Sequence>::type, State, + ForwardOp>::state type; +}; +template <typename> struct deref; +template <typename> struct push_front_impl; +template <typename T> struct l_item { + typedef int tag; + typedef l_item type; + typedef long_<1> size; + typedef T item; +}; +struct l_end { + typedef int tag; + typedef l_end type; +}; +template <> struct push_front_impl<int> { + template <typename, typename T> struct apply { typedef l_item<T> type; }; +}; +template <> struct O1_size_impl<int> { + template <typename> struct apply : l_item<int>::size {}; +}; +template <typename> struct l_iter; +template <typename Node> struct deref<l_iter<Node>> { + typedef typename Node::item type; +}; +template <> struct begin_impl<int> { + template <typename List> struct apply { + typedef l_iter<typename List::type> type; + }; +}; +template <typename> struct list : l_item<int> {}; +} +template <typename T> T &cast_storage(void *storage) { + return *static_cast<T *>(storage); +} +struct symbol; +struct visitation_impl_step { + typedef symbol type; +}; +template <typename Visitor, typename VoidPtrCV, typename T> +void visitation_impl_invoke_impl(int, Visitor visitor, VoidPtrCV storage, T *) { + visitor.internal_visit(cast_storage<T>(storage), 1); +} +int visitation_impl_invoke_internal_which, visitation_impl_logical_which; +template <typename Visitor, typename VoidPtrCV, typename T, + typename NoBackupFlag> +void visitation_impl_invoke(Visitor visitor, VoidPtrCV storage, T t, + NoBackupFlag, int) { + visitation_impl_invoke_impl(visitation_impl_invoke_internal_which, visitor, + storage, t); +} +template <typename Which, typename step0, typename Visitor, typename VoidPtrCV, + typename NoBackupFlag> +void visitation_impl(int, Visitor visitor, VoidPtrCV storage, int, + NoBackupFlag no_backup_flag, Which, step0 *) { + switch (visitation_impl_logical_which) + case 0: + visitation_impl_invoke(visitor, storage, + static_cast<typename step0::type *>(0), no_backup_flag, + 1); +} +template <long N> struct size_t { static const long value = N; }; +struct aligned_storage_imp {}; +template <long> class aligned_storage : aligned_storage_imp { +public: + void *address() { return static_cast<aligned_storage_imp *>(this); } +}; +namespace mpl { +template <typename> struct less; +template <typename> struct select_max { + template <typename OldIterator, typename> struct apply { + typedef OldIterator type; + }; +}; +template <typename Sequence, typename Predicate = less<arg<11>>> +struct max_element : iter_fold<Sequence, typename begin<Sequence>::type, + protect<select_max<Predicate>>> {}; +template <typename Sequence = int, typename T = int> +struct push_front + : push_front_impl<typename Sequence::tag>::template apply<Sequence, T> {}; +template <> struct push_front<> { + template <typename T1, typename T2> struct apply : push_front<T1, T2> {}; +}; +template <typename> struct sizeof_ : size_t<sizeof(int)> {}; +template <long, typename, typename, typename, typename> +struct reverse_fold_impl; +template <typename First, typename State, typename BackwardOp, + typename ForwardOp> +struct reverse_fold_impl<1, First, State, BackwardOp, ForwardOp> { + typedef First iter0; + typedef typename apply_wrap2< + BackwardOp, + typename apply_wrap2<ForwardOp, State, typename deref<iter0>::type>::type, + typename deref<iter0>::type>::type state; +}; +template <typename Sequence, typename State, typename BackwardOp, + typename ForwardOp = arg<1>> +struct reverse_fold { + typedef typename reverse_fold_impl<O1_size<Sequence>::value, + typename begin<Sequence>::type, State, + BackwardOp, ForwardOp>::state type; +}; +template <typename> struct inserter { + typedef mpl::l_end state; + typedef mpl::push_front<> operation; +}; +template <typename Seq, typename Op, typename In> +struct reverse_transform1_impl + : reverse_fold<Seq, typename In::state, + bind2<typename lambda<typename In::operation>::type, _1, + bind1<typename lambda<Op>::type, arg<2>>>> {}; +template <typename P1, typename P2> +struct transform1 + : if_<reverse_transform1_impl<P1, P2, inserter<push_front<>>>>::type {}; +} +template <typename, typename> struct max_value { + typedef mpl::transform1<mpl::list<symbol>, mpl::sizeof_<mpl::arg<1>>>::type + transformed_; + typedef mpl::max_element<transformed_>::type max_it; + typedef mpl::deref<max_it>::type type; +}; +template <typename> struct make_storage { + typedef max_value<int, mpl::sizeof_<int>>::type max_size; + typedef aligned_storage<max_size::value> type; +}; +struct destroyer { + template <typename T> void internal_visit(T &operand, int) { operand.~T(); } +}; +template <typename, typename...> class variant { + typedef int internal_types; + int which_; + make_storage<internal_types>::type storage_; +public: + ~variant() { + destroyer visitor; + internal_apply_visitor(visitor); + } + template <typename Visitor, typename VoidPtrCV> + void internal_apply_visitor_impl(int internal_which, int, Visitor visitor, + VoidPtrCV storage) { + visitation_impl(internal_which, visitor, storage, int(), int(), + static_cast<int>(0), + static_cast<visitation_impl_step *>(0)); + } + int internal_apply_visitor___trans_tmp_1; + template <typename Visitor> void internal_apply_visitor(Visitor visitor) { + internal_apply_visitor_impl(which_, internal_apply_visitor___trans_tmp_1, + visitor, storage_.address()); + } +}; +struct symbol { + virtual ~symbol(); +}; +using Identifier = variant<int>; +struct Fragment { + virtual void foo() const = 0; + virtual ~Fragment(); +}; +struct ProcFrag : Fragment { + ~ProcFrag() {} + void foo() const; + Identifier id; +}; +struct Fragments { + ~Fragments() { delete x; } + Fragment *x; +} fragments; diff --git a/gcc/testsuite/g++.dg/ubsan/null-6.C b/gcc/testsuite/g++.dg/ubsan/null-6.C new file mode 100644 index 00000000000..2efe5c2b8cc --- /dev/null +++ b/gcc/testsuite/g++.dg/ubsan/null-6.C @@ -0,0 +1,5 @@ +// PR c++/67941 +// { dg-do run { target c++11 } } +// { dg-options -fsanitize=null } + +int main(){ (+[](){})(); } diff --git a/gcc/testsuite/g++.dg/ubsan/pr68508.C b/gcc/testsuite/g++.dg/ubsan/pr68508.C new file mode 100644 index 00000000000..ffe8f0071db --- /dev/null +++ b/gcc/testsuite/g++.dg/ubsan/pr68508.C @@ -0,0 +1,15 @@ +// PR c++/68508 +// { dg-do compile } +// { dg-options "-std=c++14 -fsanitize=vptr" } + +struct A +{ + virtual int foo () { return 0; } +}; + +const A & +bar () +{ + static A x = A (); + return (x); +} diff --git a/gcc/testsuite/gcc.c-torture/execute/pr67037.c b/gcc/testsuite/gcc.c-torture/execute/pr67037.c new file mode 100644 index 00000000000..3119d327b02 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr67037.c @@ -0,0 +1,49 @@ +long (*extfunc)(); + +static inline void lstrcpynW( short *d, const short *s, int n ) +{ + unsigned int count = n; + + while ((count > 1) && *s) + { + count--; + *d++ = *s++; + } + if (count) *d = 0; +} + +int __attribute__((noinline,noclone)) +badfunc(int u0, int u1, int u2, int u3, + short *fsname, unsigned int fsname_len) +{ + static const short ntfsW[] = {'N','T','F','S',0}; + char superblock[2048+3300]; + int ret = 0; + short *p; + + if (extfunc()) + return 0; + p = (void *)extfunc(); + if (p != 0) + goto done; + + extfunc(superblock); + + lstrcpynW(fsname, ntfsW, fsname_len); + + ret = 1; +done: + return ret; +} + +static long f() +{ + return 0; +} + +int main() +{ + short buf[6]; + extfunc = f; + return !badfunc(0, 0, 0, 0, buf, 6); +} diff --git a/gcc/testsuite/gcc.c-torture/execute/pr67226.c b/gcc/testsuite/gcc.c-torture/execute/pr67226.c new file mode 100644 index 00000000000..c533496cbc6 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr67226.c @@ -0,0 +1,42 @@ +struct assembly_operand +{ + int type, value, symtype, symflags, marker; +}; + +struct assembly_operand to_input, from_input; + +void __attribute__ ((__noinline__, __noclone__)) +assemblez_1 (int internal_number, struct assembly_operand o1) +{ + if (o1.type != from_input.type) + __builtin_abort (); +} + +void __attribute__ ((__noinline__, __noclone__)) +t0 (struct assembly_operand to, struct assembly_operand from) +{ + if (to.value == 0) + assemblez_1 (32, from); + else + __builtin_abort (); +} + +int +main (void) +{ + to_input.value = 0; + to_input.type = 1; + to_input.symtype = 2; + to_input.symflags = 3; + to_input.marker = 4; + + from_input.value = 5; + from_input.type = 6; + from_input.symtype = 7; + from_input.symflags = 8; + from_input.marker = 9; + + t0 (to_input, from_input); + + return 0; +} diff --git a/gcc/testsuite/gcc.c-torture/execute/pr68143_1.c b/gcc/testsuite/gcc.c-torture/execute/pr68143_1.c new file mode 100644 index 00000000000..cbfbbc2458b --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr68143_1.c @@ -0,0 +1,31 @@ +#define NULL 0 + +struct stuff +{ + int a; + int b; + int c; + int d; + int e; + char *f; + int g; +}; + +void __attribute__ ((noinline)) +bar (struct stuff *x) +{ + if (x->g != 2) + __builtin_abort (); +} + +int +main (int argc, char** argv) +{ + struct stuff x = {0, 0, 0, 0, 0, NULL, 0}; + x.a = 100; + x.d = 100; + x.g = 2; + /* Struct should now look like {100, 0, 0, 100, 0, 0, 0, 2}. */ + bar (&x); + return 0; +} diff --git a/gcc/testsuite/gcc.c-torture/execute/pr68185.c b/gcc/testsuite/gcc.c-torture/execute/pr68185.c new file mode 100644 index 00000000000..826531bf71b --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr68185.c @@ -0,0 +1,29 @@ +int a, b, d = 1, e, f, o, u, w = 1, z; +short c, q, t; + +int +main () +{ + char g; + for (; d; d--) + { + while (o) + for (; e;) + { + c = b; + int h = o = z; + for (; u;) + for (; a;) + ; + } + if (t < 1) + g = w; + f = g; + g && (q = 1); + } + + if (q != 1) + __builtin_abort (); + + return 0; +} diff --git a/gcc/testsuite/gcc.c-torture/execute/pr68249.c b/gcc/testsuite/gcc.c-torture/execute/pr68249.c new file mode 100644 index 00000000000..9ef48022081 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr68249.c @@ -0,0 +1,36 @@ +/* PR rtl-optimization/68249 */ + +int a, b, c, g, k, l, m, n; +char h; + +void +fn1 () +{ + for (; k; k++) + { + m = b || c < 0 || c > 1 ? : c; + g = l = n || m < 0 || (m > 1) > 1 >> m ? : 1 << m; + } + l = b + 1; + for (; b < 1; b++) + h = a + 1; +} + +int +main () +{ + char j; + for (; a < 1; a++) + { + fn1 (); + if (h) + j = h; + if (j > c) + g = 0; + } + + if (h != 1) + __builtin_abort (); + + return 0; +} diff --git a/gcc/testsuite/gcc.c-torture/execute/pr68250.c b/gcc/testsuite/gcc.c-torture/execute/pr68250.c new file mode 100644 index 00000000000..f00234a07f0 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr68250.c @@ -0,0 +1,40 @@ +/* PR rtl-optimization/68250 */ + +signed char a, b, h, k, l, m, o; +short c, d, n; +int e, f, g, j, q; + +void +fn1 (void) +{ + int p = b || a; + n = o > 0 || d > 1 >> o ? d : d << o; + for (; j; j++) + m = c < 0 || m || c << p; + l = f + 1; + for (; f < 1; f = 1) + k = h + 1; +} + +__attribute__((noinline, noclone)) void +fn2 (int k) +{ + if (k != 1) + __builtin_abort (); +} + +int +main () +{ + signed char i; + for (; e < 1; e++) + { + fn1 (); + if (k) + i = k; + if (i > q) + g = 0; + } + fn2 (k); + return 0; +} diff --git a/gcc/testsuite/gcc.c-torture/execute/pr68321.c b/gcc/testsuite/gcc.c-torture/execute/pr68321.c new file mode 100644 index 00000000000..d2551034744 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr68321.c @@ -0,0 +1,38 @@ +/* PR rtl-optimization/68321 */ + +int e = 1, u = 5, t2, t5, i, k; +int a[1], b, m; +char n, t; + +int +fn1 (int p1) +{ + int g[1]; + for (;;) + { + if (p1 / 3) + for (; t5;) + u || n; + t2 = p1 & 4; + if (b + 1) + return 0; + u = g[0]; + } +} + +int +main () +{ + for (; e >= 0; e--) + { + char c; + if (!m) + c = t; + fn1 (c); + } + + if (a[t2] != 0) + __builtin_abort (); + + return 0; +} diff --git a/gcc/testsuite/gcc.c-torture/execute/pr68328.c b/gcc/testsuite/gcc.c-torture/execute/pr68328.c new file mode 100644 index 00000000000..edf244bb356 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr68328.c @@ -0,0 +1,44 @@ +int a, b, c = 1, d = 1, e; + +__attribute__ ((noinline, noclone)) + int foo (void) +{ + asm volatile ("":::"memory"); + return 4195552; +} + +__attribute__ ((noinline, noclone)) + void bar (int x, int y) +{ + asm volatile (""::"g" (x), "g" (y):"memory"); + if (y == 0) + __builtin_abort (); +} + +int +baz (int x) +{ + char g, h; + int i, j; + + foo (); + for (;;) + { + if (c) + h = d; + g = h < x ? h : 0; + i = (signed char) ((unsigned char) (g - 120) ^ 1); + j = i > 97; + if (a - j) + bar (0x123456, 0); + if (!b) + return e; + } +} + +int +main () +{ + baz (2); + return 0; +} diff --git a/gcc/testsuite/gcc.c-torture/execute/pr68376-1.c b/gcc/testsuite/gcc.c-torture/execute/pr68376-1.c new file mode 100644 index 00000000000..cb52657646c --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr68376-1.c @@ -0,0 +1,24 @@ +/* PR rtl-optimization/68376 */ + +int a, b, c = 1; +signed char d; + +int +main () +{ + for (; a < 1; a++) + for (; b < 1; b++) + { + signed char e = ~d; + if (d < 1) + e = d; + d = e; + if (!c) + __builtin_abort (); + } + + if (d != 0) + __builtin_abort (); + + return 0; +} diff --git a/gcc/testsuite/gcc.c-torture/execute/pr68376-2.c b/gcc/testsuite/gcc.c-torture/execute/pr68376-2.c new file mode 100644 index 00000000000..963d441b53f --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr68376-2.c @@ -0,0 +1,73 @@ +/* PR rtl-optimization/68376 */ + +extern void abort (void); + +__attribute__((noinline, noclone)) int +f1 (int x) +{ + return x < 0 ? ~x : x; +} + +__attribute__((noinline, noclone)) int +f2 (int x) +{ + return x < 0 ? x : ~x; +} + +__attribute__((noinline, noclone)) int +f3 (int x) +{ + return x <= 0 ? ~x : x; +} + +__attribute__((noinline, noclone)) int +f4 (int x) +{ + return x <= 0 ? x : ~x; +} + +__attribute__((noinline, noclone)) int +f5 (int x) +{ + return x >= 0 ? ~x : x; +} + +__attribute__((noinline, noclone)) int +f6 (int x) +{ + return x >= 0 ? x : ~x; +} + +__attribute__((noinline, noclone)) int +f7 (int x) +{ + return x > 0 ? ~x : x; +} + +__attribute__((noinline, noclone)) int +f8 (int x) +{ + return x > 0 ? x : ~x; +} + +int +main () +{ + if (f1 (5) != 5 || f1 (-5) != 4 || f1 (0) != 0) + abort (); + if (f2 (5) != -6 || f2 (-5) != -5 || f2 (0) != -1) + abort (); + if (f3 (5) != 5 || f3 (-5) != 4 || f3 (0) != -1) + abort (); + if (f4 (5) != -6 || f4 (-5) != -5 || f4 (0) != 0) + abort (); + if (f5 (5) != -6 || f5 (-5) != -5 || f5 (0) != -1) + abort (); + if (f6 (5) != 5 || f6 (-5) != 4 || f6 (0) != 0) + abort (); + if (f7 (5) != -6 || f7 (-5) != -5 || f7 (0) != 0) + abort (); + if (f8 (5) != 5 || f8 (-5) != 4 || f8 (0) != -1) + abort (); + return 0; +} diff --git a/gcc/testsuite/gcc.dg/debug/pr66432.c b/gcc/testsuite/gcc.dg/debug/pr66432.c new file mode 100644 index 00000000000..cf36799f3aa --- /dev/null +++ b/gcc/testsuite/gcc.dg/debug/pr66432.c @@ -0,0 +1,19 @@ +/* PR debug/66432 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -g" } */ + +extern void baz (const char *, const char *) __attribute__ ((__noreturn__)); + +void +foo (int x, int y[x][x]) +{ + if (x < 2) + baz ("", ""); +} + +void +bar (void) +{ + int z[2][2] = { { 1, 2 }, { 3, 4 } }; + foo (2, z); +} diff --git a/gcc/testsuite/gcc.dg/ipa/pr68790.c b/gcc/testsuite/gcc.dg/ipa/pr68790.c new file mode 100644 index 00000000000..258c0043867 --- /dev/null +++ b/gcc/testsuite/gcc.dg/ipa/pr68790.c @@ -0,0 +1,40 @@ +/* { dg-do run } */ +/* { dg-options "-O0 -fipa-icf -fdump-ipa-icf" } */ + +struct S +{ + int a; +}; + +int +foo3 (struct S x, struct S y, struct S z) +{ + if (z.a != 9) + __builtin_abort (); + return 0; +} + +int +bar3 (struct S x, struct S y, struct S z) +{ + return foo3 (y, x, z); +} + +int +baz3 (struct S x, struct S y, struct S z) +{ + return foo3 (y, z, x); +} + +int +main (void) +{ + struct S + a = { 3 }, + b = { 6 }, + c = { 9 }; + + return bar3 (b, a, c); +} + +/* { dg-final { scan-ipa-dump "Equal symbols: 0" "icf" } } */ diff --git a/gcc/testsuite/gcc.dg/pr63568.c b/gcc/testsuite/gcc.dg/pr63568.c index c6b88e70e32..5c688b00626 100644 --- a/gcc/testsuite/gcc.dg/pr63568.c +++ b/gcc/testsuite/gcc.dg/pr63568.c @@ -1,53 +1,69 @@ /* PR middle-end/63568 */ /* { dg-do compile } */ -/* { dg-options "-fdump-tree-original" } */ +/* { dg-options "-O -fdump-tree-cddce1" } */ int fn1 (int a, int b, int m) { - return (a & ~m) | (b & m); + int tem1 = a & ~m; + int tem2 = b & m; + return tem1 | tem2; } int fn2 (int a, int b, int m) { - return (a & ~m) | (m & b); + int tem1 = a & ~m; + int tem2 = m & b; + return tem1 | tem2; } int fn3 (int a, int b, int m) { - return (~m & a) | (m & b); + int tem1 = ~m & a; + int tem2 = m & b; + return tem1 | tem2; } int fn4 (int a, int b, int m) { - return (~m & a) | (b & m); + int tem1 = ~m & a; + int tem2 = b & m; + return tem1 | tem2; } int fn5 (int a, int b, int m) { - return (b & m) | (a & ~m); + int tem1 = b & m; + int tem2 = a & ~m; + return tem1 | tem2; } int fn6 (int a, int b, int m) { - return (m & b) | (a & ~m); + int tem1 = m & b; + int tem2 = a & ~m; + return tem1 | tem2; } int fn7 (int a, int b, int m) { - return (m & b) | (~m & a); + int tem1 = m & b; + int tem2 = ~m & a; + return tem1 | tem2; } int fn8 (int a, int b, int m) { - return (b & m) | (~m & a); + int tem1 = b & m; + int tem2 = ~m & a; + return tem1 | tem2; } -/* { dg-final { scan-tree-dump-not " \\| " "original" } } */ +/* { dg-final { scan-tree-dump-not " \\| " "cddce1" } } */ diff --git a/gcc/testsuite/gcc.dg/pr68129_1.c b/gcc/testsuite/gcc.dg/pr68129_1.c new file mode 100644 index 00000000000..112331e665d --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr68129_1.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ +/* { dg-options "-O -fno-split-wide-types" } */ + +typedef int V __attribute__ ((vector_size (8 * sizeof (int)))); + +void +foo (V *p, V *q) +{ + *p = (*p == *q); +} diff --git a/gcc/testsuite/gcc.dg/pr68670-1.c b/gcc/testsuite/gcc.dg/pr68670-1.c new file mode 100644 index 00000000000..92c28a0a4af --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr68670-1.c @@ -0,0 +1,5 @@ +/* PR rtl-optimization/68670 */ +/* { dg-do run } */ +/* { dg-options "-O2 -ftracer" } */ + +#include "../gcc.c-torture/execute/pr68376-1.c" diff --git a/gcc/testsuite/gcc.dg/pr68670-2.c b/gcc/testsuite/gcc.dg/pr68670-2.c new file mode 100644 index 00000000000..903e33e1f30 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr68670-2.c @@ -0,0 +1,5 @@ +/* PR rtl-optimization/68670 */ +/* { dg-do run } */ +/* { dg-options "-O2 -ftracer" } */ + +#include "../gcc.c-torture/execute/pr68376-2.c" diff --git a/gcc/testsuite/gcc.dg/pr68671.c b/gcc/testsuite/gcc.dg/pr68671.c new file mode 100644 index 00000000000..bec4639f80a --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr68671.c @@ -0,0 +1,23 @@ +/* PR tree-optimization/68671 */ +/* { dg-do run } */ +/* { dg-options " -O2 -fno-tree-dce" } */ + +volatile int a = -1; +volatile int b; + +static inline int +fn1 (signed char p1, int p2) +{ + return (p1 < 0) || (p1 > (1 >> p2)) ? 0 : (p1 << 1); +} + +int +main () +{ + signed char c = a; + b = fn1 (c, 1); + c = ((128 | c) < 0 ? 1 : 0); + if (c != 1) + __builtin_abort (); + return 0; +} diff --git a/gcc/testsuite/gcc.dg/pragma-diag-3.c b/gcc/testsuite/gcc.dg/pragma-diag-3.c new file mode 100644 index 00000000000..2ee439d7e33 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pragma-diag-3.c @@ -0,0 +1,64 @@ +/* { dg-do compile } */ +/* { dg-options "-Wswitch-enum -Wsign-compare -fstrict-overflow -Wstrict-overflow -Werror -Wno-error=switch-enum" } */ +/* PR c/66098 - #pragma diagnostic 'ignored' not fully undone by pop for strict-overflow + PR c/66711 - GCC does not correctly restore diagnostic state after pragma GCC diagnostic pop with -Werror +*/ +/* { dg-message "warnings being treated as errors" "" {target "*-*-*"} 0 } */ + +void testing2() { +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-overflow" + int j = 4; + j + 4 < j; +#pragma GCC diagnostic pop +} + +void testing3() { + int k = 4; + k + 4 < k; /* { dg-error "overflow" } */ +} + +int bar() +{ + unsigned x = 0; + int y = 1; + + /* generates an error - ok */ + x += x < y ? 1 : 0; /* { dg-error "comparison" } */ + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-compare" + /* generates no diagnostic - ok */ + x += x < y ? 1 : 0; +#pragma GCC diagnostic pop + + x += x < y ? 1 : 0; /* { dg-error "comparison" } */ + + return x; +} + +enum EE { ONE, TWO }; + +int f (enum EE e) +{ + int r = 0; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wswitch-enum" + + switch (e) + { + case ONE: + r = 1; + break; + } +#pragma GCC diagnostic pop + + switch (e) /* { dg-warning "switch" } */ + { + case ONE: + r = 1; + break; + } + return r; +} diff --git a/gcc/testsuite/gcc.dg/pragma-diag-4.c b/gcc/testsuite/gcc.dg/pragma-diag-4.c new file mode 100644 index 00000000000..fc8d4b1feb5 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pragma-diag-4.c @@ -0,0 +1,48 @@ +/* { dg-do compile } */ +/* { dg-options "-Wsign-compare -Werror=sign-compare -Werror=switch-enum" } */ +/* { dg-message "warnings being treated as errors" "" {target "*-*-*"} 0 } */ + +int bar() +{ + unsigned x = 0; + int y = 1; + + /* generates an error - ok */ + x += x < y ? 1 : 0; /* { dg-error "comparison" } */ + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-compare" + /* generates no diagnostic - ok */ + x += x < y ? 1 : 0; +#pragma GCC diagnostic pop + + x += x < y ? 1 : 0; /* { dg-error "comparison" } */ + + return x; +} + +enum EE { ONE, TWO }; + +int f (enum EE e) +{ + int r = 0; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wswitch-enum" + + switch (e) + { + case ONE: + r = 1; + break; + } +#pragma GCC diagnostic pop + + switch (e) /* { dg-error "switch" } */ + { + case ONE: + r = 1; + break; + } + return r; +} diff --git a/gcc/testsuite/gcc.dg/torture/pr67609.c b/gcc/testsuite/gcc.dg/torture/pr67609.c new file mode 100644 index 00000000000..817857dc52d --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr67609.c @@ -0,0 +1,33 @@ +/* { dg-do run } */ + +typedef union +{ + double v[2]; + double s __attribute__ ((vector_size (16))); +} data; + +data reg; + +void __attribute__ ((noinline)) +set_lower (double b) +{ + data stack_var; + double __attribute__ ((vector_size (16))) one = { 1.0, 1.0 }; + stack_var.s = reg.s; + stack_var.s += one; + stack_var.v[0] += b; + reg.s = stack_var.s; +} + +int +main (int argc, char ** argv) +{ + reg.v[0] = 1.0; + reg.v[1] = 1.0; + /* reg should contain { 1.0, 1.0 }. */ + set_lower (2.0); + /* reg should contain { 4.0, 2.0 }. */ + if ((int) reg.v[0] != 4 || (int) reg.v[1] != 2) + __builtin_abort (); + return 0; +} diff --git a/gcc/testsuite/gcc.dg/torture/pr68017.c b/gcc/testsuite/gcc.dg/torture/pr68017.c new file mode 100644 index 00000000000..1fc219171bf --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr68017.c @@ -0,0 +1,17 @@ +/* { dg-do compile } */ +/* { dg-options "-g" } */ + +long long a; + +short +fn1 (short p1, unsigned short p2) +{ + return p1 + p2; +} + +short +fn2 () +{ + int b = a ? fn1 (fn2 (), a) : 0; + return b; +} diff --git a/gcc/testsuite/gcc.dg/torture/pr68067-1.c b/gcc/testsuite/gcc.dg/torture/pr68067-1.c new file mode 100644 index 00000000000..a7b6aa041d9 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr68067-1.c @@ -0,0 +1,12 @@ +/* { dg-do run } */ + +int main() +{ + int a = -1; + static int b = -2147483647 - 1; + static int c = 0; + int t = a - (b - c); + if (t != 2147483647) + __builtin_abort(); + return 0; +} diff --git a/gcc/testsuite/gcc.dg/torture/pr68067-2.c b/gcc/testsuite/gcc.dg/torture/pr68067-2.c new file mode 100644 index 00000000000..38a459bf7f1 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr68067-2.c @@ -0,0 +1,13 @@ +/* { dg-do run } */ + +int main() +{ + int a = -1; + static int b = -2147483647 - 1; + static int c = 0; + int t = a - (b + c*-2); + if (t != 2147483647) + __builtin_abort(); + return 0; +} + diff --git a/gcc/testsuite/gcc.dg/ubsan/pr67662.c b/gcc/testsuite/gcc.dg/ubsan/pr67662.c new file mode 100644 index 00000000000..26fd00fbbe9 --- /dev/null +++ b/gcc/testsuite/gcc.dg/ubsan/pr67662.c @@ -0,0 +1,14 @@ +/* { dg-do run } */ +/* { dg-options "-fsanitize=undefined" } */ + +extern void abort (void); + +int +main (void) +{ + int halfmaxval = __INT_MAX__ / 2 + 1; + int maxval = halfmaxval - 1 + halfmaxval; + if (maxval != __INT_MAX__) + abort (); + return 0; +} diff --git a/gcc/testsuite/gcc.dg/vect/pr68339.c b/gcc/testsuite/gcc.dg/vect/pr68339.c new file mode 100644 index 00000000000..ab0eede62e7 --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/pr68339.c @@ -0,0 +1,17 @@ +/* PR middle-end/68339 */ +/* { dg-do compile } */ +/* { dg-options "--param ggc-min-heapsize=0 --param ggc-min-expand=0 -fopenmp-simd" } */ + +#pragma omp declare simd notinbranch +int +f1 (int x) +{ + return x; +} + +#pragma omp declare simd notinbranch +int +f2 (int x) +{ + return x; +} diff --git a/gcc/testsuite/gcc.target/aarch64/pr68363_1.c b/gcc/testsuite/gcc.target/aarch64/pr68363_1.c new file mode 100644 index 00000000000..bb294b50dc0 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/pr68363_1.c @@ -0,0 +1,19 @@ +/* { dg-do compile } */ +/* { dg-options "-mfix-cortex-a53-835769" } */ + +int +foo (int i) +{ + switch (i) + { + case 0: + case 2: + case 5: + return 0; + case 7: + case 11: + case 13: + return 1; + } + return -1; +} diff --git a/gcc/testsuite/gcc.target/i386/mpx/pr68337-1.c b/gcc/testsuite/gcc.target/i386/mpx/pr68337-1.c new file mode 100644 index 00000000000..3f8d79d4282 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/mpx/pr68337-1.c @@ -0,0 +1,32 @@ +/* { dg-do run } */ +/* { dg-options "-fcheck-pointer-bounds -mmpx" } */ + +#include "mpx-check.h" + +#define N 2 + +extern void abort (); + +static int +mpx_test (int argc, const char **argv) +{ + char ** src = (char **)malloc (sizeof (char *) * N); + char ** dst = (char **)malloc (sizeof (char *) * N); + int i; + + for (i = 0; i < N; i++) + src[i] = __bnd_set_ptr_bounds (argv[0] + i, i + 1); + + __builtin_memcpy(dst, src, sizeof (char *) * N); + + for (i = 0; i < N; i++) + { + char *p = dst[i]; + if (p != argv[0] + i + || __bnd_get_ptr_lbound (p) != p + || __bnd_get_ptr_ubound (p) != p + i) + abort (); + } + + return 0; +} diff --git a/gcc/testsuite/gcc.target/i386/mpx/pr68337-2.c b/gcc/testsuite/gcc.target/i386/mpx/pr68337-2.c new file mode 100644 index 00000000000..8845cca79be --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/mpx/pr68337-2.c @@ -0,0 +1,9 @@ +/* { dg-do compile } */ +/* { dg-options "-fcheck-pointer-bounds -mmpx" } */ +/* { dg-final { scan-assembler-not "memcpy" } } */ + +void +test (void *dst, void *src) +{ + __builtin_memcpy (dst, src, sizeof (char *) / 2); +} diff --git a/gcc/testsuite/gcc.target/i386/mpx/pr68416.c b/gcc/testsuite/gcc.target/i386/mpx/pr68416.c new file mode 100644 index 00000000000..10587edf251 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/mpx/pr68416.c @@ -0,0 +1,9 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mmpx -fcheck-pointer-bounds" } */ +/* { dg-final { scan-assembler-not "bndmov" } } */ + +int +foo(int **arr, int i) +{ + return (*arr)[i]; +} diff --git a/gcc/testsuite/gcc.target/i386/pr67265-2.c b/gcc/testsuite/gcc.target/i386/pr67265-2.c new file mode 100644 index 00000000000..a9f2eb460ef --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr67265-2.c @@ -0,0 +1,9 @@ +/* { dg-do compile } */ +/* { dg-options "-O -fstack-check" } */ + +void foo (int n) +{ + volatile char arr[64 * 1024]; + + arr[n] = 1; +} diff --git a/gcc/testsuite/gcc.target/i386/pr67265.c b/gcc/testsuite/gcc.target/i386/pr67265.c new file mode 100644 index 00000000000..7827685fe5f --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr67265.c @@ -0,0 +1,12 @@ +/* PR target/67265 */ +/* Reduced testcase by Johannes Dewender <gnu@JonnyJD.net> */ + +/* { dg-do compile } */ +/* { dg-options "-O -fstack-check -fPIC" } */ + +int a, b, c, d, e; + +void foo (void) +{ + __asm__("" : "+r"(c), "+r"(e), "+r"(d), "+r"(a) : ""(b), "mg"(foo), "mm"(c)); +} diff --git a/gcc/testsuite/gcc.target/i386/pr67609-2.c b/gcc/testsuite/gcc.target/i386/pr67609-2.c new file mode 100644 index 00000000000..7d3fcba3be7 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr67609-2.c @@ -0,0 +1,28 @@ +/* { dg-do run } */ +/* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target sse2 } */ + +#include "sse2-check.h" + +#include <emmintrin.h> + +__m128d reg = { 2.0, 4.0 }; + +void +__attribute__((noinline)) +set_lower (double b) +{ + double v[2]; + _mm_store_pd(v, reg); + v[0] = b; + reg = _mm_load_pd(v); +} + +static void +sse2_test (void) +{ + set_lower (6.0); + + if (reg[1] != 4.0) + __builtin_abort (); +} diff --git a/gcc/testsuite/gcc.target/i386/pr67609.c b/gcc/testsuite/gcc.target/i386/pr67609.c new file mode 100644 index 00000000000..518071bdd86 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr67609.c @@ -0,0 +1,14 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -msse2" } */ +/* { dg-require-effective-target lp64 } */ +/* { dg-final { scan-assembler "movdqa" } } */ + +#include <emmintrin.h> +__m128d reg; +void set_lower(double b) +{ + double v[2]; + _mm_store_pd(v, reg); + v[0] = b; + reg = _mm_load_pd(v); +} diff --git a/gcc/testsuite/gcc.target/i386/pr67770.c b/gcc/testsuite/gcc.target/i386/pr67770.c new file mode 100644 index 00000000000..3826aff45b7 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr67770.c @@ -0,0 +1,40 @@ +/* PR target/67770 */ +/* { dg-do run { target ia32 } } */ +/* { dg-require-effective-target trampolines } */ +/* { dg-options "-O2" } */ + +#ifndef NO_TRAMPOLINES +__attribute__ ((noinline)) void +foo (int i, void (* __attribute__ ((regparm (3))) bar) (int)) +{ + bar (i); +} +#endif + +int +main () +{ +#ifndef NO_TRAMPOLINES + int p = 0; + + __attribute__ ((regparm (3), noinline)) void + bar (int i) + { + if (__builtin_expect (i, 0)) + ++p; + } + + foo (0, bar); + bar (0); + + if (p != 0) + __builtin_abort (); + + foo (1, bar); + bar (1); + + if (p != 2) + __builtin_abort (); +#endif + return 0; +} diff --git a/gcc/testsuite/gcc.target/i386/pr68483-1.c b/gcc/testsuite/gcc.target/i386/pr68483-1.c new file mode 100644 index 00000000000..29787e94bd3 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr68483-1.c @@ -0,0 +1,22 @@ +/* PR target/68483 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -ftree-vectorize -msse2 -mno-sse3" } */ + +void +test (int *input, int *out, unsigned x1, unsigned x2) +{ + unsigned i, j; + unsigned end = x1; + + for (i = j = 0; i < 1000; i++) + { + int sum = 0; + end += x2; + for (; j < end; j++) + sum += input[j]; + out[i] = sum; + } +} + +/* { dg-final { scan-assembler "psrldq\[^\n\r]*(8,|, 8)" { target ia32 } } } */ +/* { dg-final { scan-assembler "psrldq\[^\n\r]*(4,|, 4)" { target ia32 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr68483-2.c b/gcc/testsuite/gcc.target/i386/pr68483-2.c new file mode 100644 index 00000000000..394dc1bac76 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr68483-2.c @@ -0,0 +1,15 @@ +/* PR target/68483 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -msse2 -mno-sse3" } */ + +typedef int V __attribute__((vector_size (16))); + +void +foo (V *a, V *b) +{ + V c = { 0, 0, 0, 0 }; + V d = { 1, 2, 3, 4 }; + *a = __builtin_shuffle (*b, c, d); +} + +/* { dg-final { scan-assembler "psrldq\[^\n\r]*(4,|, 4)" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr68680.c b/gcc/testsuite/gcc.target/i386/pr68680.c new file mode 100644 index 00000000000..5524e156362 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr68680.c @@ -0,0 +1,15 @@ +/* PR tree-optimization/68680 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -fstack-protector-strong" } */ + +int foo (char *); + +int +bar (unsigned long x) +{ + char a[x]; + return foo (a); +} + +/* Verify that this function is stack protected. */ +/* { dg-final { scan-assembler "stack_chk_fail" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr68701-1.c b/gcc/testsuite/gcc.target/i386/pr68701-1.c new file mode 100644 index 00000000000..008eb6bddd2 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr68701-1.c @@ -0,0 +1,13 @@ +/* { dg-do compile } */ +/* { dg-options "-O -ffixed-ebp -mno-accumulate-outgoing-args" } */ + +/* { dg-warning "fixed ebp register requires" "" { target *-*-* } 0 } */ + +void foo (void); + +int +main (int argc, char *argv[]) +{ + foo (); + return argc - 1; +} diff --git a/gcc/testsuite/gcc.target/i386/pr68701-2.c b/gcc/testsuite/gcc.target/i386/pr68701-2.c new file mode 100644 index 00000000000..bfe592ec8ec --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr68701-2.c @@ -0,0 +1,11 @@ +/* { dg-do compile } */ +/* { dg-options "-O -ffixed-ebp -mno-accumulate-outgoing-args -mstackrealign -msse" } */ + +/* { dg-warning "fixed ebp register requires" "" { target *-*-* } 0 } */ + +typedef float V __attribute__((vector_size(16))); + +void bar (V a) +{ + volatile V b = a; +} diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-round.h b/gcc/testsuite/gcc.target/i386/sse4_1-round.h index 0210ac130b6..dfb0b778cdc 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-round.h +++ b/gcc/testsuite/gcc.target/i386/sse4_1-round.h @@ -28,7 +28,7 @@ init_round (FP_T *src) static FP_T do_round (FP_T f, int type) { - short saved_cw, new_cw, clr_mask; + unsigned short saved_cw, new_cw, clr_mask; FP_T ret; if ((type & 4)) @@ -42,16 +42,15 @@ do_round (FP_T f, int type) clr_mask = ~0x0C3F; } - __asm__ ("fld" ASM_SUFFIX " %0" : : "m" (*&f)); + __asm__ ("fnstcw %0" : "=m" (saved_cw)); - __asm__ ("fstcw %0" : "=m" (*&saved_cw)); new_cw = saved_cw & clr_mask; new_cw |= type; - __asm__ ("fldcw %0" : : "m" (*&new_cw)); - __asm__ ("frndint\n" - "fstp" ASM_SUFFIX " %0\n" : "=m" (*&ret)); - __asm__ ("fldcw %0" : : "m" (*&saved_cw)); + __asm__ ("fldcw %2\n\t" + "frndint\n\t" + "fldcw %3" : "=t" (ret) + : "0" (f), "m" (new_cw), "m" (saved_cw)); return ret; } diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundps-1.c b/gcc/testsuite/gcc.target/i386/sse4_1-roundps-1.c index 71bc51be232..fab227869fc 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-roundps-1.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundps-1.c @@ -7,7 +7,6 @@ #define VEC_T __m128 #define FP_T float -#define ASM_SUFFIX "s" #define ROUND_INTRIN(x, mode) _mm_ceil_ps(x) #define ROUND_MODE _MM_FROUND_CEIL diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundps-2.c b/gcc/testsuite/gcc.target/i386/sse4_1-roundps-2.c index 672e92067c8..405c55d45a4 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-roundps-2.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundps-2.c @@ -7,7 +7,6 @@ #define VEC_T __m128 #define FP_T float -#define ASM_SUFFIX "s" #define ROUND_INTRIN _mm_round_ps #define ROUND_MODE _MM_FROUND_NINT diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundps-3.c b/gcc/testsuite/gcc.target/i386/sse4_1-roundps-3.c index 4bfc1cacc91..97485b95867 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-roundps-3.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundps-3.c @@ -7,7 +7,6 @@ #define VEC_T __m128 #define FP_T float -#define ASM_SUFFIX "s" #define ROUND_INTRIN(x, mode) _mm_floor_ps(x) #define ROUND_MODE _MM_FROUND_FLOOR diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-1.c b/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-1.c index ae8881cf0f8..e6cec0b9478 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-1.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-1.c @@ -7,7 +7,6 @@ #define VEC_T __m128d #define FP_T double -#define ASM_SUFFIX "l" #define ROUND_INTRIN(x, mode) _mm_ceil_sd(x, x) #define ROUND_MODE _MM_FROUND_CEIL diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-2.c b/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-2.c index 70679bb07a0..54ca21f8f2c 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-2.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-2.c @@ -7,7 +7,6 @@ #define VEC_T __m128d #define FP_T double -#define ASM_SUFFIX "l" #define ROUND_INTRIN(x, mode) _mm_round_sd(x, x, mode) #define ROUND_MODE _MM_FROUND_NINT diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-3.c b/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-3.c index 81a3f760638..a59d6f86e5f 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-3.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-3.c @@ -7,7 +7,6 @@ #define VEC_T __m128d #define FP_T double -#define ASM_SUFFIX "l" #define ROUND_INTRIN(x, mode) _mm_floor_sd(x, x) #define ROUND_MODE _MM_FROUND_FLOOR diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-4.c b/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-4.c index 124f825021d..ff8b09eeba6 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-4.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundsd-4.c @@ -36,7 +36,7 @@ init_round (double *src) static double do_round (double f, int type) { - short saved_cw, new_cw, clr_mask; + unsigned short saved_cw, new_cw, clr_mask; double ret; if ((type & 4)) @@ -50,16 +50,15 @@ do_round (double f, int type) clr_mask = ~0x0C3F; } - __asm__ ("fldl %0" : : "m" (*&f)); + __asm__ ("fnstcw %0" : "=m" (saved_cw)); - __asm__ ("fstcw %0" : "=m" (*&saved_cw)); new_cw = saved_cw & clr_mask; new_cw |= type; - __asm__ ("fldcw %0" : : "m" (*&new_cw)); - __asm__ ("frndint\n" - "fstpl %0\n" : "=m" (*&ret)); - __asm__ ("fldcw %0" : : "m" (*&saved_cw)); + __asm__ ("fldcw %2\n\t" + "frndint\n\t" + "fldcw %3" : "=t" (ret) + : "0" (f), "m" (new_cw), "m" (saved_cw)); return ret; } diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundss-1.c b/gcc/testsuite/gcc.target/i386/sse4_1-roundss-1.c index 96dd8a6a76f..9c20b90ad05 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-roundss-1.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundss-1.c @@ -7,7 +7,6 @@ #define VEC_T __m128 #define FP_T float -#define ASM_SUFFIX "s" #define ROUND_INTRIN(x, mode) _mm_ceil_ss(x, x) #define ROUND_MODE _MM_FROUND_CEIL diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundss-2.c b/gcc/testsuite/gcc.target/i386/sse4_1-roundss-2.c index f052c029f7a..072664e1573 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-roundss-2.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundss-2.c @@ -7,7 +7,6 @@ #define VEC_T __m128 #define FP_T float -#define ASM_SUFFIX "s" #define ROUND_INTRIN(x, mode) _mm_round_ss(x, x, mode) #define ROUND_MODE _MM_FROUND_NINT diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundss-3.c b/gcc/testsuite/gcc.target/i386/sse4_1-roundss-3.c index 0a696b1cfb7..97c69fdbcb2 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-roundss-3.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundss-3.c @@ -7,7 +7,6 @@ #define VEC_T __m128 #define FP_T float -#define ASM_SUFFIX "s" #define ROUND_INTRIN(x, mode) _mm_floor_ss(x, x) #define ROUND_MODE _MM_FROUND_FLOOR diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundss-4.c b/gcc/testsuite/gcc.target/i386/sse4_1-roundss-4.c index 71042d1b777..95488908630 100644 --- a/gcc/testsuite/gcc.target/i386/sse4_1-roundss-4.c +++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundss-4.c @@ -36,7 +36,7 @@ init_round (float *src) static float do_round (float f, int type) { - short saved_cw, new_cw, clr_mask; + unsigned short saved_cw, new_cw, clr_mask; float ret; if ((type & 4)) @@ -50,16 +50,15 @@ do_round (float f, int type) clr_mask = ~0x0C3F; } - __asm__ ("flds %0" : : "m" (*&f)); + __asm__ ("fnstcw %0" : "=m" (saved_cw)); - __asm__ ("fstcw %0" : "=m" (*&saved_cw)); new_cw = saved_cw & clr_mask; new_cw |= type; - __asm__ ("fldcw %0" : : "m" (*&new_cw)); - __asm__ ("frndint\n" - "fstps %0\n" : "=m" (*&ret)); - __asm__ ("fldcw %0" : : "m" (*&saved_cw)); + __asm__ ("fldcw %2\n\t" + "frndint\n\t" + "fldcw %3" : "=t" (ret) + : "0" (f), "m" (new_cw), "m" (saved_cw)); return ret; } diff --git a/gcc/testsuite/gcc.target/powerpc/pr67808.c b/gcc/testsuite/gcc.target/powerpc/pr67808.c new file mode 100644 index 00000000000..266fd97d663 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/pr67808.c @@ -0,0 +1,46 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ +/* { dg-require-effective-target powerpc_vsx_ok } */ +/* { dg-require-effective-target powerpc_vsx_ok } */ +/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */ +/* { dg-options "-O1 -mvsx -mlra -mcpu=power7" } */ + +/* PR 67808: LRA ICEs on simple double to long double conversion test case */ + +void +dfoo (long double *ldb1, double *db1) +{ + *ldb1 = *db1; +} + +long double +dfoo2 (double *db1) +{ + return *db1; +} + +long double +dfoo3 (double x) +{ + return x; +} + +void +ffoo (long double *ldb1, float *db1) +{ + *ldb1 = *db1; +} + +long double +ffoo2 (float *db1) +{ + return *db1; +} + +long double +ffoo3 (float x) +{ + return x; +} + +/* { dg-final { scan-assembler "xxlxor" } } */ diff --git a/gcc/testsuite/gcc.target/s390/bswap-1.c b/gcc/testsuite/gcc.target/s390/bswap-1.c new file mode 100644 index 00000000000..e1f113a4ccf --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/bswap-1.c @@ -0,0 +1,36 @@ +/* { dg-do compile } */ +/* { dg-options "-O3 -march=z900 -mzarch" } */ + +#include <stdint.h> + +uint64_t u64; +uint32_t u32; +uint16_t u16; + +uint64_t +foo64a (uint64_t a) +{ + return __builtin_bswap64 (a); +} +/* { dg-final { scan-assembler-times "lrvgr\t%r2,%r2" 1 { target lp64 } } } */ + +uint64_t +foo64b () +{ + return __builtin_bswap64 (u64); +} +/* { dg-final { scan-assembler-times "lrvg\t%r2,0\\(%r\[0-9\]*\\)" 1 { target lp64 } } } */ + +uint32_t +foo32 () +{ + return __builtin_bswap32 (u32); +} +/* { dg-final { scan-assembler-times "lrv\t%r2,0\\(%r\[0-9\]*\\)" 1 } } */ + +uint16_t +foo16 () +{ + return __builtin_bswap16 (u16); +} +/* { dg-final { scan-assembler-times "lrvh\t%r2,0\\(%r\[0-9\]*\\)" 1 } } */ diff --git a/gcc/testsuite/gcc.target/s390/pfpo.c b/gcc/testsuite/gcc.target/s390/pfpo.c new file mode 100644 index 00000000000..32725c991a6 --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/pfpo.c @@ -0,0 +1,21 @@ +/* The pfpo instruction generated by this code clobbers the r1 register while + it was still in use. */ + +/* { dg-do run } */ +/* { dg-options "-O0 -march=z10 -mzarch" } */ + +int foo(int x) +{ + return x; +} + +int bar(int i, float f) +{ + return i; +} + +int main() +{ + _Decimal32 d = 7; + return bar(foo(0x10203040), (float)d) == 0x10203040 ? 0 : 1; +} diff --git a/gcc/testsuite/gcc.target/s390/pr67443.c b/gcc/testsuite/gcc.target/s390/pr67443.c new file mode 100644 index 00000000000..e011a11882f --- /dev/null +++ b/gcc/testsuite/gcc.target/s390/pr67443.c @@ -0,0 +1,49 @@ +/* Test case for PR/67443. */ + +/* { dg-do run { target s390*-*-* } } */ +/* { dg-prune-output "call-clobbered register used for global register variable" } */ +/* { dg-options "-march=z900 -fPIC -fomit-frame-pointer -O3" } */ + +#include <assert.h> + +/* Block all registers except the first three argument registers. */ +register long r0 asm ("r0"); +register long r1 asm ("r1"); +register long r5 asm ("r5"); +register long r6 asm ("r6"); +register long r7 asm ("r7"); +register long r8 asm ("r8"); +register long r9 asm ("r9"); +register long r10 asm ("r10"); +register long r11 asm ("r11"); + +struct s_t +{ + unsigned f1 : 8; + unsigned f2 : 24; +}; + +__attribute__ ((noinline)) +void foo (struct s_t *ps, int c, int i) +{ + /* Uses r2 as address register. */ + ps->f1 = c; + /* The calculation of the value is so expensive that it's cheaper to spill ps + to the stack and reload it later (into a different register). + ==> Uses r4 as address register.*/ + ps->f2 = i + i % 3; + /* If dead store elimination fails to detect that the address in r2 during + the first assignment is an alias of the address in r4 during the second + assignment, it eliminates the first assignment and the f1 field is not + written (bug). */ +} + +int main (void) +{ + struct s_t s = { 0x01u, 0x020304u }; + + foo (&s, 0, 0); + assert (s.f1 == 0&& s.f2 == 0); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/sparc/sparc-ret.c b/gcc/testsuite/gcc.target/sparc/sparc-ret-1.c index 808e8a98f0e..808e8a98f0e 100644 --- a/gcc/testsuite/gcc.target/sparc/sparc-ret.c +++ b/gcc/testsuite/gcc.target/sparc/sparc-ret-1.c diff --git a/gcc/testsuite/gcc.target/sparc/sparc-ret-2.c b/gcc/testsuite/gcc.target/sparc/sparc-ret-2.c new file mode 100644 index 00000000000..536b9b75a4c --- /dev/null +++ b/gcc/testsuite/gcc.target/sparc/sparc-ret-2.c @@ -0,0 +1,13 @@ +/* PR target/57845 */ + +/* { dg-do compile } */ +/* { dg-options "-freg-struct-return" } */ + +struct S { short int i; }; + +struct S foo (short int i) +{ + struct S s; + s.i = i; + return s; +} diff --git a/gcc/testsuite/gfortran.dg/allocate_with_arrayspec_1.f90 b/gcc/testsuite/gfortran.dg/allocate_with_arrayspec_1.f90 new file mode 100644 index 00000000000..686b612408a --- /dev/null +++ b/gcc/testsuite/gfortran.dg/allocate_with_arrayspec_1.f90 @@ -0,0 +1,29 @@ +! { dg-do run } +! { dg-options "-fdump-tree-original" } + +MODULE mo_test + + integer :: n = 0 +CONTAINS + + FUNCTION nquery() + INTEGER :: nquery + WRITE (0,*) "hello!" + n = n + 1 + nquery = n + END FUNCTION nquery + +END MODULE mo_test + + +! ---------------------------------------------------------------------- +! MAIN PROGRAM +! ---------------------------------------------------------------------- +PROGRAM example + USE mo_test + INTEGER, ALLOCATABLE :: query_buf(:) + ALLOCATE(query_buf(nquery())) + if (n /= 1 .or. size(query_buf) /= n) call abort() +END PROGRAM example + +! { dg-final { scan-tree-dump-times "nquery" 5 "original" } } diff --git a/gcc/testsuite/gfortran.dg/coarray_40.f90 b/gcc/testsuite/gfortran.dg/coarray_40.f90 new file mode 100644 index 00000000000..84af50e7dad --- /dev/null +++ b/gcc/testsuite/gfortran.dg/coarray_40.f90 @@ -0,0 +1,25 @@ +! { dg-do run } +! { dg-options "-fcoarray=lib -lcaf_single" } +! +! Run-time test for memory consistency +! +! Contributed by Deepak Eachempati + +program cp_bug + implicit none + integer :: v1, v2, u[*] + integer :: me + + me = this_image() + + u = 0 + v1 = 10 + + v1 = u[me] + + ! v2 should get value in u (0) + v2 = v1 + + if(v2 /= u) call abort() + +end program diff --git a/gcc/testsuite/gfortran.dg/module_private_2.f90 b/gcc/testsuite/gfortran.dg/module_private_2.f90 new file mode 100644 index 00000000000..847c58d5e37 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/module_private_2.f90 @@ -0,0 +1,34 @@ +! { dg-do compile } +! { dg-options "-O2 -fdump-tree-optimized" } +! +! PR fortran/47266 +! +! Check whether the private procedure "priv" is optimized away +! +module m + implicit none + private :: priv + private :: export1, export2 + public :: pub +contains + integer function priv() + priv = 44 + end function priv + integer function export1() + export1 = 45 + end function export1 + function export2() bind(C) ! { dg-warning "is marked PRIVATE" } + use iso_c_binding, only: c_int + integer(c_int) :: export2 + export2 = 46 + end function export2 + subroutine pub(a,b) + integer :: a + procedure(export1), pointer :: b + a = priv() + b => export1 + end subroutine pub +end module m +! { dg-final { scan-tree-dump-times "priv" 0 "optimized" } } +! { dg-final { scan-tree-dump-times "export1 \\(\\)" 1 "optimized" } } +! { dg-final { scan-tree-dump-times "export2 \\(\\)" 1 "optimized" } } diff --git a/gcc/testsuite/gfortran.dg/pr58027.f90 b/gcc/testsuite/gfortran.dg/pr58027.f90 new file mode 100644 index 00000000000..bef893c212a --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr58027.f90 @@ -0,0 +1,5 @@ +! { dg-do compile } +! PR fortran/58027 +integer, parameter :: i(1)=(/z'ff800000'/) ! { dg-error "overflow converting" } +print *, isclass +end diff --git a/gcc/testsuite/gfortran.dg/pr66465.f90 b/gcc/testsuite/gfortran.dg/pr66465.f90 new file mode 100644 index 00000000000..ab868305051 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr66465.f90 @@ -0,0 +1,23 @@ +! { dg-do compile } +! +! Tests the fix for PR66465, in which the arguments of the call to +! ASSOCIATED were falsly detected to have different type/kind. +! +! Contributed by Damian Rouson <damian@sourceryinstitute.org> +! + interface + real function HandlerInterface (arg) + real :: arg + end + end interface + + type TextHandlerTestCase + procedure (HandlerInterface), nopass, pointer :: handlerOut=>null() + end type + + type(TextHandlerTestCase) this + + procedure (HandlerInterface), pointer :: procPtr=>null() + + print*, associated(procPtr, this%handlerOut) +end diff --git a/gcc/testsuite/gfortran.dg/pr67460.f90 b/gcc/testsuite/gfortran.dg/pr67460.f90 new file mode 100644 index 00000000000..ede55e1229b --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr67460.f90 @@ -0,0 +1,24 @@ +! Bogus "all warnings being treated as errors" +! { dg-do compile } +! { dg-options "-std=f2003 -Werror" } +MODULE btree_i8_k_sp2d_v + TYPE btree_node + INTEGER id + TYPE(btree_node_p), DIMENSION(:), POINTER :: subtrees + TYPE(btree_node), POINTER :: parent + END TYPE btree_node + TYPE btree_node_p + TYPE(btree_node), POINTER :: node + END TYPE btree_node_p +CONTAINS + RECURSIVE SUBROUTINE btree_verify_node (tree, node, level, nids, lastv,& + count, num_nodes, max_leaf_level, min_leaf_level, printing) + TYPE(btree_node), INTENT(IN) :: node + INTEGER :: branch + IF (ASSOCIATED (node%subtrees(branch)%node)) THEN + IF (node%subtrees(branch)%node%parent%id .NE. node%id) THEN + WRITE(*,*)'foo' + ENDIF + ENDIF + END SUBROUTINE btree_verify_node +END MODULE btree_i8_k_sp2d_v diff --git a/gcc/testsuite/gfortran.dg/pr67803.f90 b/gcc/testsuite/gfortran.dg/pr67803.f90 new file mode 100644 index 00000000000..b9a0a9e5c78 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr67803.f90 @@ -0,0 +1,14 @@ +! { dg-do compile } +! PR fortran/67803 +! Original code submitted by Gerhard Steinmetz +! <gerhard dot steinmetz dot fortran at t-online dot de > +! +program p + character(2) :: x(1) + x = '0' // [character :: 1] ! { dg-error "Incompatiable typespec for" } + x = '0' // [character :: 1.] ! { dg-error "Incompatiable typespec for" } + x = '0' // [character :: 1d1] ! { dg-error "Incompatiable typespec for" } + x = '0' // [character :: (0.,1.)] ! { dg-error "Incompatiable typespec for" } + x = '0' // [character :: .true.] ! { dg-error "Incompatiable typespec for" } + x = '0' // [character :: null()] ! { dg-error "Incompatiable typespec for" } +end diff --git a/gcc/testsuite/gfortran.dg/pr68318_1.f90 b/gcc/testsuite/gfortran.dg/pr68318_1.f90 new file mode 100644 index 00000000000..1a3d59402f6 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr68318_1.f90 @@ -0,0 +1,18 @@ +! { dg-do compile } +! { dg-options "-O0" +! PR fortran/68318 +! Original code submitted by Gerhard Steinmetz +! <gerhard dot steinmetz dot fortran at t-online dot de> +! +module m + implicit none +contains + subroutine s1 + entry e ! { dg-error "(2)" } + end + subroutine s2 + entry e ! { dg-error "is already defined" } + end +end module +! { dg-prune-output "Duplicate ENTRY attribute specified" } + diff --git a/gcc/testsuite/gfortran.dg/pr68318_2.f90 b/gcc/testsuite/gfortran.dg/pr68318_2.f90 new file mode 100644 index 00000000000..451b28f2a47 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr68318_2.f90 @@ -0,0 +1,22 @@ +! { dg-do compile } +! PR fortran/68318 +! Original code submitted by Gerhard Steinmetz +! <gerhard dot steinmetz dot fortran at t-online dot de> +! +module m1 + implicit none +contains + subroutine s1 + entry e + end +end module + +module m2 + use m1 ! { dg-error "(2)" } + implicit none +contains + subroutine s2 + entry e ! { dg-error "is already defined" } + end +end module +! { dg-prune-output "Cannot change attribute" } diff --git a/gcc/testsuite/gfortran.dg/pr68319.f90 b/gcc/testsuite/gfortran.dg/pr68319.f90 new file mode 100644 index 00000000000..941316d71e7 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr68319.f90 @@ -0,0 +1,26 @@ +! { dg-do compile } +! PR fortran/68319 +! +subroutine foo + + interface + + real function bar(i) + f(i) = 2 * i ! { dg-error "cannot appear within" } + end function bar + + real function bah(j) + entry boo(j) ! { dg-error "cannot appear within" } + end function bah + + real function fu(j) + data i /1/ ! { dg-error "cannot appear within" } + end function fu + + real function fee(j) +10 format('(A)') ! { dg-error "cannot appear within" } + end function fee + + end interface + +end subroutine foo diff --git a/gcc/testsuite/gfortran.dg/proc_ptr_47.f90 b/gcc/testsuite/gfortran.dg/proc_ptr_47.f90 new file mode 100644 index 00000000000..43084f67e40 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/proc_ptr_47.f90 @@ -0,0 +1,37 @@ +! { dg-do run } +! Tests the fix for PR68196 +! +! Contributed by Damian Rouson <damian@sourceryinstitute.org> +! + type AA + integer :: i + procedure(foo), pointer :: funct + end type + class(AA), allocatable :: my_AA + type(AA) :: res + + allocate (my_AA, source = AA (1, foo)) + + res = my_AA%funct () + + if (res%i .ne. 3) call abort + if (.not.associated (res%funct)) call abort + if (my_AA%i .ne. 4) call abort + if (associated (my_AA%funct)) call abort + +contains + function foo(A) + class(AA), allocatable :: A + type(AA) foo + + if (.not.allocated (A)) then + allocate (A, source = AA (2, foo)) + endif + + select type (A) + type is (AA) + foo = AA (3, foo) + A = AA (4, NULL ()) + end select + end function +end diff --git a/gcc/testsuite/gfortran.dg/unlimited_polymorphic_2.f03 b/gcc/testsuite/gfortran.dg/unlimited_polymorphic_2.f03 index 5eea79dec77..13d7f8e466a 100644 --- a/gcc/testsuite/gfortran.dg/unlimited_polymorphic_2.f03 +++ b/gcc/testsuite/gfortran.dg/unlimited_polymorphic_2.f03 @@ -48,7 +48,7 @@ contains call foo (y)
y => tgt ! This is OK, of course.
- tgt => y ! { dg-error "must be unlimited polymorphic" }
+ tgt => y ! { dg-error "Data-pointer-object at .1. must be unlimited polymorphic" }
select type (y) ! This is the correct way to accomplish the previous
type is (integer)
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 7b6b94d0863..0510d880ee7 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2710,8 +2710,8 @@ proc check_effective_target_arm_neon_ok_nocache { } { int dummy; /* Avoid the case where a test adds -mfpu=neon, but the toolchain is configured for -mcpu=arm926ej-s, for example. */ - #if __ARM_ARCH < 7 - #error Architecture too old for NEON. + #if __ARM_ARCH < 7 || __ARM_ARCH_PROFILE == 'M' + #error Architecture does not support NEON. #endif } "$flags"] } { set et_arm_neon_flags $flags diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index b11cf71b8ea..8ca8824f0f6 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -2900,8 +2900,6 @@ copy_debug_stmt (gdebug *stmt, copy_body_data *id) else if (gimple_debug_source_bind_p (stmt)) { gimple_debug_source_bind_set_var (stmt, t); - walk_tree (gimple_debug_source_bind_get_value_ptr (stmt), - remap_gimple_op_r, &wi, NULL); /* When inlining and source bind refers to one of the optimized away parameters, change the source bind into normal debug bind referring to the corresponding DEBUG_EXPR_DECL that should have @@ -2925,7 +2923,10 @@ copy_debug_stmt (gdebug *stmt, copy_body_data *id) break; } } - } + } + if (gimple_debug_source_bind_p (stmt)) + walk_tree (gimple_debug_source_bind_get_value_ptr (stmt), + remap_gimple_op_r, &wi, NULL); } processing_debug_stmt = 0; diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c index 77640e5dd53..03faec5e4b3 100644 --- a/gcc/tree-ssa-reassoc.c +++ b/gcc/tree-ssa-reassoc.c @@ -3286,7 +3286,7 @@ maybe_optimize_range_tests (gimple stmt) any_changes = optimize_range_tests (ERROR_MARK, &ops); if (any_changes) { - unsigned int idx; + unsigned int idx, max_idx = 0; /* update_ops relies on has_single_use predicates returning the same values as it did during get_ops earlier. Additionally it never removes statements, only adds new ones and it should walk @@ -3302,6 +3302,7 @@ maybe_optimize_range_tests (gimple stmt) { tree new_op; + max_idx = idx; stmt = last_stmt (bb); new_op = update_ops (bbinfo[idx].op, (enum tree_code) @@ -3371,6 +3372,10 @@ maybe_optimize_range_tests (gimple stmt) && ops[bbinfo[idx].first_idx]->op != NULL_TREE) { gcond *cond_stmt = as_a <gcond *> (last_stmt (bb)); + + if (idx > max_idx) + max_idx = idx; + if (integer_zerop (ops[bbinfo[idx].first_idx]->op)) gimple_cond_make_false (cond_stmt); else if (integer_onep (ops[bbinfo[idx].first_idx]->op)) @@ -3387,6 +3392,17 @@ maybe_optimize_range_tests (gimple stmt) if (bb == first_bb) break; } + + /* The above changes could result in basic blocks after the first + modified one, up to and including last_bb, to be executed even if + they would not be in the original program. If the value ranges of + assignment lhs' in those bbs were dependent on the conditions + guarding those basic blocks which now can change, the VRs might + be incorrect. As no_side_effect_bb should ensure those SSA_NAMEs + are only used within the same bb, it should be not a big deal if + we just reset all the VRs in those bbs. See PR68671. */ + for (bb = last_bb, idx = 0; idx < max_idx; bb = single_pred (bb), idx++) + reset_flow_sensitive_info_in_bb (bb); } } @@ -4535,6 +4551,7 @@ attempt_builtin_powi (gimple stmt, vec<operand_entry_t> *ops) power)); gimple_call_set_lhs (pow_stmt, iter_result); gimple_set_location (pow_stmt, gimple_location (stmt)); + gimple_set_uid (pow_stmt, gimple_uid (stmt)); gsi_insert_before (&gsi, pow_stmt, GSI_SAME_STMT); if (dump_file && (dump_flags & TDF_DETAILS)) @@ -4618,6 +4635,7 @@ attempt_builtin_powi (gimple stmt, vec<operand_entry_t> *ops) mul_stmt = gimple_build_assign (target_ssa, MULT_EXPR, op1, op2); gimple_set_location (mul_stmt, gimple_location (stmt)); + gimple_set_uid (mul_stmt, gimple_uid (stmt)); gsi_insert_before (&gsi, mul_stmt, GSI_SAME_STMT); rf1->repr = target_ssa; @@ -4635,6 +4653,7 @@ attempt_builtin_powi (gimple stmt, vec<operand_entry_t> *ops) power)); gimple_call_set_lhs (pow_stmt, iter_result); gimple_set_location (pow_stmt, gimple_location (stmt)); + gimple_set_uid (pow_stmt, gimple_uid (stmt)); gsi_insert_before (&gsi, pow_stmt, GSI_SAME_STMT); } @@ -4646,6 +4665,7 @@ attempt_builtin_powi (gimple stmt, vec<operand_entry_t> *ops) mul_stmt = gimple_build_assign (new_result, MULT_EXPR, result, iter_result); gimple_set_location (mul_stmt, gimple_location (stmt)); + gimple_set_uid (mul_stmt, gimple_uid (stmt)); gsi_insert_before (&gsi, mul_stmt, GSI_SAME_STMT); gimple_set_visited (mul_stmt, true); result = new_result; @@ -4904,6 +4924,7 @@ reassociate_bb (basic_block bb) mul_stmt = gimple_build_assign (lhs, MULT_EXPR, powi_result, target_ssa); gimple_set_location (mul_stmt, gimple_location (stmt)); + gimple_set_uid (mul_stmt, gimple_uid (stmt)); gsi_insert_after (&gsi, mul_stmt, GSI_NEW_STMT); } } diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c index 46ce285d9c7..a99a28fc680 100644 --- a/gcc/tree-ssa-sccvn.c +++ b/gcc/tree-ssa-sccvn.c @@ -844,8 +844,11 @@ copy_reference_ops_from_ref (tree ref, vec<vn_reference_op_s> *result) case MEM_REF: /* The base address gets its own vn_reference_op_s structure. */ temp.op0 = TREE_OPERAND (ref, 1); - if (tree_fits_shwi_p (TREE_OPERAND (ref, 1))) - temp.off = tree_to_shwi (TREE_OPERAND (ref, 1)); + { + offset_int off = mem_ref_offset (ref); + if (wi::fits_shwi_p (off)) + temp.off = off.to_shwi (); + } break; case BIT_FIELD_REF: /* Record bits and position. */ diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c index 1d065fb17a8..eeb89baba5d 100644 --- a/gcc/tree-tailcall.c +++ b/gcc/tree-tailcall.c @@ -875,17 +875,21 @@ eliminate_tail_call (struct tailcall *t) possibly unreachable code in other blocks is removed later in cfg cleanup. */ gsi = t->call_gsi; - gsi_next (&gsi); - while (!gsi_end_p (gsi)) + gimple_stmt_iterator gsi2 = gsi_last_bb (gimple_bb (gsi_stmt (gsi))); + while (gsi_stmt (gsi2) != gsi_stmt (gsi)) { - gimple t = gsi_stmt (gsi); + gimple t = gsi_stmt (gsi2); /* Do not remove the return statement, so that redirect_edge_and_branch sees how the block ends. */ - if (gimple_code (t) == GIMPLE_RETURN) - break; - - gsi_remove (&gsi, true); - release_defs (t); + if (gimple_code (t) != GIMPLE_RETURN) + { + gimple_stmt_iterator gsi3 = gsi2; + gsi_prev (&gsi2); + gsi_remove (&gsi3, true); + release_defs (t); + } + else + gsi_prev (&gsi2); } /* Number of executions of function has reduced by the tailcall. */ diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c index a88b22f659d..f33ff51fb11 100644 --- a/gcc/tree-vect-generic.c +++ b/gcc/tree-vect-generic.c @@ -1287,6 +1287,30 @@ lower_vec_perm (gimple_stmt_iterator *gsi) update_stmt (stmt); return; } + /* Also detect vec_shr pattern - VEC_PERM_EXPR with zero + vector as VEC1 and a right element shift MASK. */ + if (optab_handler (vec_shr_optab, TYPE_MODE (vect_type)) + != CODE_FOR_nothing + && TREE_CODE (vec1) == VECTOR_CST + && initializer_zerop (vec1) + && sel_int[0] + && sel_int[0] < elements) + { + for (i = 1; i < elements; ++i) + { + unsigned int expected = i + sel_int[0]; + /* Indices into the second vector are all equivalent. */ + if (MIN (elements, (unsigned) sel_int[i]) + != MIN (elements, expected)) + break; + } + if (i == elements) + { + gimple_assign_set_rhs3 (stmt, mask); + update_stmt (stmt); + return; + } + } } else if (can_vec_perm_p (TYPE_MODE (vect_type), true, NULL)) return; diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 88ef251e91a..05515b522b0 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -2825,7 +2825,7 @@ vect_estimate_min_profitable_iters (loop_vec_info loop_vinfo, if (LOOP_REQUIRES_VERSIONING_FOR_ALIAS (loop_vinfo)) { /* FIXME: Make cost depend on complexity of individual check. */ - unsigned len = LOOP_VINFO_MAY_ALIAS_DDRS (loop_vinfo).length (); + unsigned len = LOOP_VINFO_COMP_ALIAS_DDRS (loop_vinfo).length (); (void) add_stmt_cost (target_cost_data, len, vector_stmt, NULL, 0, vect_prologue); dump_printf (MSG_NOTE, diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index 18eff20355f..61289482fcd 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -5833,11 +5833,6 @@ reverse_op (rtx val, const_rtx expr, rtx_insn *insn) return; } ret = simplify_gen_binary (code, GET_MODE (val), val, arg); - if (ret == val) - /* Ensure ret isn't VALUE itself (which can happen e.g. for - (plus (reg1) (reg2)) when reg2 is known to be 0), as that - breaks a lot of routines during var-tracking. */ - ret = gen_rtx_fmt_ee (PLUS, GET_MODE (val), val, const0_rtx); break; default: gcc_unreachable (); diff --git a/gnattools/ChangeLog b/gnattools/ChangeLog index 46ec5bcb143..25436f9f736 100644 --- a/gnattools/ChangeLog +++ b/gnattools/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/gotools/ChangeLog b/gotools/ChangeLog index b1d8a659ea2..5d52b0106ec 100644 --- a/gotools/ChangeLog +++ b/gotools/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/include/ChangeLog b/include/ChangeLog index 4e9f8576478..ed929aacef7 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/intl/ChangeLog b/intl/ChangeLog index 99af3d9b866..96dd07d868b 100644 --- a/intl/ChangeLog +++ b/intl/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libada/ChangeLog b/libada/ChangeLog index 21ee3e53e84..643c3c861db 100644 --- a/libada/ChangeLog +++ b/libada/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libatomic/ChangeLog b/libatomic/ChangeLog index 189ce40050f..25ff7c30e03 100644 --- a/libatomic/ChangeLog +++ b/libatomic/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog index ff9659e8aec..a8597884819 100644 --- a/libbacktrace/ChangeLog +++ b/libbacktrace/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libcc1/ChangeLog b/libcc1/ChangeLog index d68aa63583c..09ac00702fb 100644 --- a/libcc1/ChangeLog +++ b/libcc1/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libcilkrts/ChangeLog b/libcilkrts/ChangeLog index 46175a4f3a8..facdcf3c8cd 100644 --- a/libcilkrts/ChangeLog +++ b/libcilkrts/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 6684acfc491..23e05cccfe9 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,19 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + +2015-11-19 Jakub Jelinek <jakub@redhat.com> + + PR preprocessor/60736 + * include/cpplib.h (cpp_errno_filename): New prototype. + * errors.c (cpp_errno): Don't handle msgid "" specially, use + _(msgid) instead of msgid as argument to cpp_error. + (cpp_errno_filename): New function. + * files.c (read_file_guts): Use cpp_errno_filename instead of + cpp_errno. + (open_file_failed): Likewise. Use file->name if file->path is NULL + in diagnostics. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libcpp/errors.c b/libcpp/errors.c index a33196e9157..8261efac899 100644 --- a/libcpp/errors.c +++ b/libcpp/errors.c @@ -227,8 +227,18 @@ cpp_warning_with_line_syshdr (cpp_reader *pfile, int reason, bool cpp_errno (cpp_reader *pfile, int level, const char *msgid) { - if (msgid[0] == '\0') - msgid = _("stdout"); + return cpp_error (pfile, level, "%s: %s", _(msgid), xstrerror (errno)); +} + +/* Print a warning or error, depending on the value of LEVEL. Include + information from errno. Unlike cpp_errno, the argument is a filename + that is not localized, but "" is replaced with localized "stdout". */ + +bool +cpp_errno_filename (cpp_reader *pfile, int level, const char *filename) +{ + if (filename[0] == '\0') + filename = _("stdout"); - return cpp_error (pfile, level, "%s: %s", msgid, xstrerror (errno)); + return cpp_error (pfile, level, "%s: %s", filename, xstrerror (errno)); } diff --git a/libcpp/files.c b/libcpp/files.c index 2f491224c6f..9f28b9ef1ed 100644 --- a/libcpp/files.c +++ b/libcpp/files.c @@ -715,7 +715,7 @@ read_file_guts (cpp_reader *pfile, _cpp_file *file) if (count < 0) { - cpp_errno (pfile, CPP_DL_ERROR, file->path); + cpp_errno_filename (pfile, CPP_DL_ERROR, file->path); free (buf); return false; } @@ -1053,7 +1053,8 @@ open_file_failed (cpp_reader *pfile, _cpp_file *file, int angle_brackets) /* If the preprocessor output (other than dependency information) is being used, we must also flag an error. */ if (CPP_OPTION (pfile, deps.need_preprocessor_output)) - cpp_errno (pfile, CPP_DL_FATAL, file->path); + cpp_errno_filename (pfile, CPP_DL_FATAL, + file->path ? file->path : file->name); } else { @@ -1067,9 +1068,11 @@ open_file_failed (cpp_reader *pfile, _cpp_file *file, int angle_brackets) if (CPP_OPTION (pfile, deps.style) == DEPS_NONE || print_dep || CPP_OPTION (pfile, deps.need_preprocessor_output)) - cpp_errno (pfile, CPP_DL_FATAL, file->path); + cpp_errno_filename (pfile, CPP_DL_FATAL, + file->path ? file->path : file->name); else - cpp_errno (pfile, CPP_DL_WARNING, file->path); + cpp_errno_filename (pfile, CPP_DL_WARNING, + file->path ? file->path : file->name); } } diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h index 5e080140389..2d90ccd0e81 100644 --- a/libcpp/include/cpplib.h +++ b/libcpp/include/cpplib.h @@ -976,6 +976,9 @@ extern bool cpp_warning_syshdr (cpp_reader *, int, const char *msgid, ...) /* Output a diagnostic with "MSGID: " preceding the error string of errno. No location is printed. */ extern bool cpp_errno (cpp_reader *, int, const char *msgid); +/* Similarly, but with "FILENAME: " instead of "MSGID: ", where + the filename is not localized. */ +extern bool cpp_errno_filename (cpp_reader *, int, const char *filename); /* Same as cpp_error, except additionally specifies a position as a (translation unit) physical line and physical column. If the line is diff --git a/libcpp/po/ChangeLog b/libcpp/po/ChangeLog index feb3c183c96..469915425e1 100644 --- a/libcpp/po/ChangeLog +++ b/libcpp/po/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-10-08 Joseph Myers <joseph@codesourcery.com> * zh_TW.po: Update. diff --git a/libdecnumber/ChangeLog b/libdecnumber/ChangeLog index e81f1edb190..8567763a31a 100644 --- a/libdecnumber/ChangeLog +++ b/libdecnumber/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libffi/ChangeLog b/libffi/ChangeLog index a9b8e55802a..7bcce8191ac 100644 --- a/libffi/ChangeLog +++ b/libffi/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-10-26 John David Anglin <danglin@gcc.gnu.org> PR libffi/65441 diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 431d7562deb..f1f3b61f457 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,39 @@ +2015-12-09 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/fptr.c (__canonicalize_funcptr_for_compare): Remove code + to initialize call to __dl_fixup once. + +2015-12-05 John David Anglin <danglin@gcc.gnu.org> + + Backport from mainline: + 2015-12-01 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/fptr.c (__canonicalize_funcptr_for_compare): Initialize + fixup values if saved GOT address doesn't match runtime address. + (fixup_branch_offset): Reorder list. + +2015-12-04 Release Manager + + * GCC 5.3.0 released. + +2015-11-24 Szabolcs Nagy <szabolcs.nagy@arm.com> + + Backport from mainline + 2015-11-23 Szabolcs Nagy <szabolcs.nagy@arm.com> + + PR target/68059 + * config/arm/linux-atomic-64bit.c (__write): Rename to... + (write): ...this and fix the return type. + +2015-11-16 David Edelsohn <dje.gcc@gmail.com> + + Backport from mainline + 2015-11-15 David Edelsohn <dje.gcc@gmail.com> + + * config/rs6000/on_exit.c: New file. + * config/rs6000/t-aix-cxa (LIB2ADDEH): Build on_exit.c. + * config/rs6000/libgcc-aix-cxa.ver (on_exit): Add symbol to exports. + 2015-11-08 David Edelsohn <dje.gcc@gmail.com> Backport from mainline diff --git a/libgcc/config/arm/linux-atomic-64bit.c b/libgcc/config/arm/linux-atomic-64bit.c index cdf713c6fbd..894450e6213 100644 --- a/libgcc/config/arm/linux-atomic-64bit.c +++ b/libgcc/config/arm/linux-atomic-64bit.c @@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see kernels; we check for that in an init section and bail out rather unceremoneously. */ -extern unsigned int __write (int fd, const void *buf, unsigned int count); +extern int write (int fd, const void *buf, unsigned int count); extern void abort (void); /* Kernel helper for compare-and-exchange. */ @@ -56,7 +56,7 @@ static void __check_for_sync8_kernelhelper (void) for the user - I'm not sure I can rely on much else being available at this point, so do the same as generic-morestack.c write () and abort (). */ - __write (2 /* stderr. */, err, sizeof (err)); + write (2 /* stderr. */, err, sizeof (err)); abort (); } }; diff --git a/libgcc/config/libbid/ChangeLog b/libgcc/config/libbid/ChangeLog index 0f107848eed..ea0bd9a3dd6 100644 --- a/libgcc/config/libbid/ChangeLog +++ b/libgcc/config/libbid/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libgcc/config/pa/fptr.c b/libgcc/config/pa/fptr.c index 303672754cd..77d0db4b1e2 100644 --- a/libgcc/config/pa/fptr.c +++ b/libgcc/config/pa/fptr.c @@ -40,7 +40,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see the template should it be necessary to change the current branch position. */ #define NOFFSETS 2 -static int fixup_branch_offset[NOFFSETS] = { 32, -4 }; +static int fixup_branch_offset[NOFFSETS] = { -4, 32 }; #define GET_FIELD(X, FROM, TO) \ ((X) >> (31 - (TO)) & ((1 << ((TO) - (FROM) + 1)) - 1)) @@ -64,9 +64,10 @@ unsigned int __canonicalize_funcptr_for_compare (fptr_t) unsigned int __canonicalize_funcptr_for_compare (fptr_t fptr) { - static unsigned int fixup_plabel[2]; - static fixup_t fixup; - unsigned int *plabel, *got; + static unsigned int fixup_plabel[2] __attribute__((used)); + fixup_t fixup; + unsigned int *got, *iptr, *plabel; + int i; /* -1 and page 0 are special. -1 is used in crtend to mark the end of a list of function pointers. Also return immediately if the plabel @@ -87,42 +88,33 @@ __canonicalize_funcptr_for_compare (fptr_t fptr) if (got != &_GLOBAL_OFFSET_TABLE_) return plabel[0]; - /* Initialize our plabel for calling fixup if we haven't done so already. - This code needs to be thread safe but we don't have to be too careful - as the result is invariant. */ - if (!fixup) + /* Find the first "bl" branch in the offset search list. This is a + call to _dl_fixup or a magic branch to fixup at the beginning of the + trampoline template. The fixup function does the actual runtime + resolution of function descriptors. We only look for "bl" branches + with a 17-bit pc-relative displacement. */ + for (i = 0; i < NOFFSETS; i++) { - int i; - unsigned int *iptr; - - /* Find the first "bl" branch in the offset search list. This is a - call to fixup or a magic branch to fixup at the beginning of the - trampoline template. The fixup function does the actual runtime - resolution of function descriptors. We only look for "bl" branches - with a 17-bit pc-relative displacement. */ - for (i = 0; i < NOFFSETS; i++) - { - iptr = (unsigned int *) (got[-2] + fixup_branch_offset[i]); - if ((*iptr & 0xfc00e000) == 0xe8000000) - break; - } - - /* This should not happen... */ - if (i == NOFFSETS) - return ~0; - - /* Extract the 17-bit displacement from the instruction. */ - iptr += SIGN_EXTEND (GET_FIELD (*iptr, 19, 28) | - GET_FIELD (*iptr, 29, 29) << 10 | - GET_FIELD (*iptr, 11, 15) << 11 | - GET_FIELD (*iptr, 31, 31) << 16, 17); - - /* Build a plabel for an indirect call to fixup. */ - fixup_plabel[0] = (unsigned int) iptr + 8; /* address of fixup */ - fixup_plabel[1] = got[-1]; /* ltp for fixup */ - fixup = (fixup_t) ((int) fixup_plabel | 3); + iptr = (unsigned int *) (got[-2] + fixup_branch_offset[i]); + if ((*iptr & 0xfc00e000) == 0xe8000000) + break; } + /* This should not happen... */ + if (i == NOFFSETS) + return ~0; + + /* Extract the 17-bit displacement from the instruction. */ + iptr += SIGN_EXTEND (GET_FIELD (*iptr, 19, 28) | + GET_FIELD (*iptr, 29, 29) << 10 | + GET_FIELD (*iptr, 11, 15) << 11 | + GET_FIELD (*iptr, 31, 31) << 16, 17); + + /* Build a plabel for an indirect call to _dl_fixup. */ + fixup_plabel[0] = (unsigned int) iptr + 8; /* address of fixup */ + fixup_plabel[1] = got[-1]; /* ltp for fixup */ + fixup = (fixup_t) ((int) fixup_plabel | 3); + /* Call fixup to resolve the function address. got[1] contains the link_map pointer and plabel[1] the relocation offset. */ fixup ((struct link_map *) got[1], plabel[1]); diff --git a/libgcc/config/rs6000/libgcc-aix-cxa.ver b/libgcc/config/rs6000/libgcc-aix-cxa.ver index c729b585a44..25582b468aa 100644 --- a/libgcc/config/rs6000/libgcc-aix-cxa.ver +++ b/libgcc/config/rs6000/libgcc-aix-cxa.ver @@ -10,4 +10,5 @@ GCC_4.9 { GCC_5 { atexit + on_exit } diff --git a/libgcc/config/rs6000/on_exit.c b/libgcc/config/rs6000/on_exit.c new file mode 100644 index 00000000000..664d36489b2 --- /dev/null +++ b/libgcc/config/rs6000/on_exit.c @@ -0,0 +1,49 @@ +/* Copyright (C) 1999-2015 Free Software Foundation, Inc. + + NOTE: This source is derived from an old version taken from the GNU C + Library (glibc). + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +<http://www.gnu.org/licenses/>. */ + +#include <stdlib.h> +#include "exit.h" + +#define atomic_write_barrier() __asm__ ("eieio" ::: "memory") + +/* Register a function to be called by exit. */ +int +on_exit (void (*func) (int status, void *arg), void *arg) +{ + struct exit_function *new = __new_exitfn (&__exit_funcs); + + if (new == NULL) + return -1; + +#ifdef PTR_MANGLE + PTR_MANGLE (func); +#endif + new->func.on.fn = func; + new->func.on.arg = arg; + atomic_write_barrier (); + new->flavor = ef_on; + return 0; +} diff --git a/libgcc/config/rs6000/t-aix-cxa b/libgcc/config/rs6000/t-aix-cxa index 7cc61db7d3b..473d334ef62 100644 --- a/libgcc/config/rs6000/t-aix-cxa +++ b/libgcc/config/rs6000/t-aix-cxa @@ -1,6 +1,7 @@ LIB2ADDEH += $(srcdir)/config/rs6000/cxa_atexit.c \ $(srcdir)/config/rs6000/cxa_finalize.c \ - $(srcdir)/config/rs6000/atexit.c + $(srcdir)/config/rs6000/atexit.c \ + $(srcdir)/config/rs6000/on_exit.c LIB2ADD_ST += $(srcdir)/config/rs6000/aixinitfini.c diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index c6d4341b4d0..7a186377f79 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,13 @@ +2015-12-05 Juoko Orava <jouko.orava@iki.fi> + + PR fortran/50201 + * io/write_float.def: Avoid marking quadmath_snprintf as an untyped + weak reference, which fixing linking with -static. + +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-11-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> Backport from trunk diff --git a/libgfortran/io/write_float.def b/libgfortran/io/write_float.def index 1bbe0160619..b983c784498 100644 --- a/libgfortran/io/write_float.def +++ b/libgfortran/io/write_float.def @@ -938,7 +938,7 @@ snprintf (buffer, size, "%+-#.*Le", (prec), (val)) #if defined(GFC_REAL_16_IS_FLOAT128) #define DTOA2Q(prec,val) \ -__qmath_(quadmath_snprintf) (buffer, size, "%+-#.*Qe", (prec), (val)) +quadmath_snprintf (buffer, size, "%+-#.*Qe", (prec), (val)) #endif #define FDTOA(suff,prec,val) TOKENPASTE(FDTOA2,suff)(prec,val) @@ -953,7 +953,7 @@ snprintf (buffer, size, "%+-#.*Lf", (prec), (val)) #if defined(GFC_REAL_16_IS_FLOAT128) #define FDTOA2Q(prec,val) \ -__qmath_(quadmath_snprintf) (buffer, size, "%+-#.*Qf", \ +quadmath_snprintf (buffer, size, "%+-#.*Qf", \ (prec), (val)) #endif diff --git a/libgo/go/cmd/cgo/gcc.go b/libgo/go/cmd/cgo/gcc.go index abdd369d713..a9e95a5ce43 100644 --- a/libgo/go/cmd/cgo/gcc.go +++ b/libgo/go/cmd/cgo/gcc.go @@ -500,6 +500,11 @@ func (p *Package) loadDWARF(f *File, names []*Name) { name, _ := e.Val(dwarf.AttrName).(string) typOff, _ := e.Val(dwarf.AttrType).(dwarf.Offset) if name == "" || typOff == 0 { + if e.Val(dwarf.AttrSpecification) != nil { + // Since we are reading all the DWARF, + // assume we will see the variable elsewhere. + break + } fatalf("malformed DWARF TagVariable entry") } if !strings.HasPrefix(name, "__cgo__") { diff --git a/libgo/go/cmd/cgo/out.go b/libgo/go/cmd/cgo/out.go index d92bed9bf01..276837f0f3e 100644 --- a/libgo/go/cmd/cgo/out.go +++ b/libgo/go/cmd/cgo/out.go @@ -102,10 +102,9 @@ func (p *Package) writeDefs() { } if !cVars[n.C] { - fmt.Fprintf(fm, "extern char %s[];\n", n.C) - fmt.Fprintf(fm, "void *_cgohack_%s = %s;\n\n", n.C, n.C) - if !*gccgo { + fmt.Fprintf(fm, "extern char %s[];\n", n.C) + fmt.Fprintf(fm, "void *_cgohack_%s = %s;\n\n", n.C, n.C) fmt.Fprintf(fc, "#pragma cgo_import_static %s\n", n.C) } diff --git a/libgo/go/cmd/go/pkg.go b/libgo/go/cmd/go/pkg.go index ef440dd3b74..27671d47bf1 100644 --- a/libgo/go/cmd/go/pkg.go +++ b/libgo/go/cmd/go/pkg.go @@ -497,7 +497,11 @@ func (p *Package) load(stk *importStack, bp *build.Package, err error) *Package if goTools[p.ImportPath] == toTool { // This is for 'go tool'. // Override all the usual logic and force it into the tool directory. - p.target = filepath.Join(gorootPkg, "tool", full) + if buildContext.Compiler == "gccgo" { + p.target = filepath.Join(runtime.GCCGOTOOLDIR, elem) + } else { + p.target = filepath.Join(gorootPkg, "tool", full) + } } if p.target != "" && buildContext.GOOS == "windows" { p.target += ".exe" diff --git a/libgo/go/cmd/go/tool.go b/libgo/go/cmd/go/tool.go index 3f11c3e3d44..47761e1d79f 100644 --- a/libgo/go/cmd/go/tool.go +++ b/libgo/go/cmd/go/tool.go @@ -39,6 +39,12 @@ var ( toolN bool ) +// List of go tools found in the gccgo tool directory. +// Other binaries could be in the same directory so don't +// show those with the 'go tool' command. + +var gccgoTools = []string{"cgo", "fix", "cover", "godoc", "vet"} + func init() { cmdTool.Flag.BoolVar(&toolN, "n", false, "") } @@ -141,6 +147,21 @@ func listTools() { if toolIsWindows && strings.HasSuffix(name, toolWindowsExtension) { name = name[:len(name)-len(toolWindowsExtension)] } - fmt.Println(name) + + // The tool directory used by gccgo will have other binaries + // in additions to go tools. Only display go tools for this list. + + if buildContext.Compiler == "gccgo" { + for _, tool := range gccgoTools { + if tool == name { + fmt.Println(name) + } + } + } else { + + // Not gccgo, list all the tools found in this dir + + fmt.Println(name) + } } } diff --git a/libgo/go/net/multicast_test.go b/libgo/go/net/multicast_test.go index 5f253f44a45..3951cddaee5 100644 --- a/libgo/go/net/multicast_test.go +++ b/libgo/go/net/multicast_test.go @@ -45,7 +45,7 @@ func TestIPv4MulticastListener(t *testing.T) { // routing stuff for finding out an appropriate // nexthop containing both network and link layer // adjacencies. - if ifi == nil && !*testExternal { + if ifi == nil && (testing.Short() || !*testExternal) { continue } for _, tt := range ipv4MulticastListenerTests { @@ -121,7 +121,7 @@ func TestIPv6MulticastListener(t *testing.T) { // routing stuff for finding out an appropriate // nexthop containing both network and link layer // adjacencies. - if ifi == nil && (!*testExternal || !*testIPv6) { + if ifi == nil && (testing.Short() || !*testExternal || !*testIPv6) { continue } for _, tt := range ipv6MulticastListenerTests { diff --git a/libgo/go/syscall/libcall_linux.go b/libgo/go/syscall/libcall_linux.go index 93137fc7fb7..3b434e3fff6 100644 --- a/libgo/go/syscall/libcall_linux.go +++ b/libgo/go/syscall/libcall_linux.go @@ -327,6 +327,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e var soff Offset_t var psoff *Offset_t if offset != nil { + soff = Offset_t(*offset) psoff = &soff } written, err = sendfile(outfd, infd, psoff, count) diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh index 942e8319ea5..c68dc352d7f 100755 --- a/libgo/mksysinfo.sh +++ b/libgo/mksysinfo.sh @@ -1465,4 +1465,24 @@ grep '^type _zone_net_addr_t ' gen-sysinfo.go | \ sed -e 's/_in6_addr/[16]byte/' \ >> ${OUT} +# The Solaris 12 _flow_arp_desc_t struct. +grep '^type _flow_arp_desc_t ' gen-sysinfo.go | \ + sed -e 's/_in6_addr_t/[16]byte/g' \ + >> ${OUT} + +# The Solaris 12 _flow_l3_desc_t struct. +grep '^type _flow_l3_desc_t ' gen-sysinfo.go | \ + sed -e 's/_in6_addr_t/[16]byte/g' \ + >> ${OUT} + +# The Solaris 12 _mac_ipaddr_t struct. +grep '^type _mac_ipaddr_t ' gen-sysinfo.go | \ + sed -e 's/_in6_addr_t/[16]byte/g' \ + >> ${OUT} + +# The Solaris 12 _mactun_info_t struct. +grep '^type _mactun_info_t ' gen-sysinfo.go | \ + sed -e 's/_in6_addr_t/[16]byte/g' \ + >> ${OUT} + exit $? diff --git a/libgo/runtime/go-reflect-call.c b/libgo/runtime/go-reflect-call.c index 29e814a793f..2a14d6c6add 100644 --- a/libgo/runtime/go-reflect-call.c +++ b/libgo/runtime/go-reflect-call.c @@ -81,6 +81,12 @@ go_results_size (const struct __go_func_type *func) off = (off + maxalign - 1) & ~ (maxalign - 1); + // The libffi library doesn't understand a struct with no fields. + // We generate a struct with a single field of type void. When used + // as a return value, libffi will think that requires a byte. + if (off == 0) + off = 1; + return off; } diff --git a/libgo/runtime/netpoll_select.c b/libgo/runtime/netpoll_select.c index b4613359118..033661d17f2 100644 --- a/libgo/runtime/netpoll_select.c +++ b/libgo/runtime/netpoll_select.c @@ -135,6 +135,8 @@ runtime_netpoll(bool block) byte b; struct stat st; + allocatedfds = false; + retry: runtime_lock(&selectlock); @@ -146,11 +148,13 @@ runtime_netpoll(bool block) } if(inuse) { - prfds = runtime_SysAlloc(4 * sizeof fds, &mstats.other_sys); - pwfds = prfds + 1; - pefds = pwfds + 1; - ptfds = pefds + 1; - allocatedfds = true; + if(!allocatedfds) { + prfds = runtime_SysAlloc(4 * sizeof fds, &mstats.other_sys); + pwfds = prfds + 1; + pefds = pwfds + 1; + ptfds = pefds + 1; + allocatedfds = true; + } } else { prfds = &grfds; pwfds = &gwfds; @@ -216,7 +220,7 @@ runtime_netpoll(bool block) mode = 'r' + 'w'; --c; } - if(i == rdwake) { + if(i == rdwake && mode != 0) { while(read(rdwake, &b, sizeof b) > 0) ; continue; diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 603809966e1..d04cd8e8cd4 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,11 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + +2015-11-26 David Edelsohn <dje.gcc@gmail.com> + + * configure: Regenerate. + 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com> Backport from mainline: diff --git a/libgomp/configure b/libgomp/configure index e39787c94c6..33b8cf16432 100755 --- a/libgomp/configure +++ b/libgomp/configure @@ -9090,7 +9090,7 @@ _LT_EOF if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -12950,7 +12950,7 @@ _LT_EOF if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_FC='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds_FC='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + export_symbols_cmds_FC='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 9eaf455c7ff..c1eedd2d76e 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libitm/ChangeLog b/libitm/ChangeLog index cf335388e4c..9f2bee1d313 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libjava/ChangeLog b/libjava/ChangeLog index d37161c0583..d413bfb14cc 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index a7b36a97bd2..01375a691f5 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libjava/libltdl/ChangeLog b/libjava/libltdl/ChangeLog index 2b6d4b74191..f309a2652bc 100644 --- a/libjava/libltdl/ChangeLog +++ b/libjava/libltdl/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libmpx/ChangeLog b/libmpx/ChangeLog index 4ee354839d4..4f8f401c623 100644 --- a/libmpx/ChangeLog +++ b/libmpx/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index 4491db4ebba..940fd0ebf56 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/liboffloadmic/ChangeLog b/liboffloadmic/ChangeLog index 86c956b3e6b..f6b1d9f80d8 100644 --- a/liboffloadmic/ChangeLog +++ b/liboffloadmic/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libquadmath/ChangeLog b/libquadmath/ChangeLog index 2a42fb938eb..c332649ba4c 100644 --- a/libquadmath/ChangeLog +++ b/libquadmath/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog index ece554846e7..8be7f44131b 100644 --- a/libsanitizer/ChangeLog +++ b/libsanitizer/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-09-09 Markus Trippelsdorf <markus@trippelsdorf.de> PR sanitizer/67258 diff --git a/libssp/ChangeLog b/libssp/ChangeLog index 4903bcc88d5..496e8afbc1d 100644 --- a/libssp/ChangeLog +++ b/libssp/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index df8109a1a26..fb4acc2f4bd 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,224 @@ +2015-12-15 Tim Shen <timshen@google.com> + + Backport from mainline + 2015-12-15 Tim Shen <timshen@google.com> + + PR libstdc++/68863 + * include/bits/regex_executor.tcc (_Executor::_M_lookahead): + Copy the captured content for lookahead, so that the backreferences + inside can refer to them. + * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc: + New testcase. + +2015-12-11 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers + to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update + PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages. + * include/backward/strstream: Correct @file comment. + * include/bits/forward_list.h: Improve Doxygen comments. + * include/bits/locale_facets_nonio.h: Likewise. + * include/debug/vector (_Safe_vector): Add @brief section to comment. + * include/experimental/fs_fwd.h: Correct @file comment. + * include/experimental/fs_ops.h: Likewise. + * include/experimental/string_view.tcc: Likewise. + * include/experimental/optional: Document experimental status. + * include/experimental/string_view: Correct @file comment. + * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce + whitespace to avoid Doxygen bug. + * include/std/bitset: Remove redundant @class Doxygen command. Add + parentheses to avoid Doxygen bug. + * include/std/mutex: Improve Doxygen comments. + * include/tr2/dynamic_bitset: Add missing @param documentation. + * scripts/run_doxygen: Rename man pages for std::experimental types. + +2015-12-08 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/abi.xml: Backport documentation improvements from + mainline. + * doc/xml/manual/configure.xml: Likewise. + * doc/xml/manual/diagnostics.xml: Likewise. + * doc/xml/manual/extensions.xml: Likewise. + * doc/xml/manual/status_cxx2011.xml: Likewise. + * doc/xml/manual/status_cxx2014.xml: Likewise. + * doc/xml/manual/using.xml: Likewise. + * doc/html/*: Regenerate. + +2015-12-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/56383 + * testsuite/20_util/enable_shared_from_this/56383.cc: New. + * include/bits/shared_ptr_base.h (__enable_shared_from_this): Make + friend declaration match previous declaration of + __enable_shared_from_this_helper. + * include/bits/shared_ptr.h (enable_shared_from_this): Likewise. + +2015-12-04 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition + after __is_encoded_char explicit specializations. + +2015-12-04 Jason Merrill <jason@redhat.com> + + * include/bits/c++config: Fix abi_tag in special modes. + +2015-12-04 Release Manager + + * GCC 5.3.0 released. + +2015-11-26 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to + dg-options and avoid use of uniform-init. + + * testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to + dg-options and avoid use of uniform-init. + +2015-11-26 David Edelsohn <dje.gcc@gmail.com> + + * configure: Regenerate. + +2015-11-25 Jonathan Wakely <jwakely@redhat.com> + + Backport from mainline + 2015-11-12 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/56158 + * include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate): + Define enumerators to ensure all values of type int are valid values + of the enumeration type. + * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases. + * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. + * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. + + Backport from mainline + 2015-09-17 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it): + Do nothing if exceptions are disabled. + * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise. + +2015-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test. + * configure.ac: Use it. + * configure: Regenerate. + * config.h.in: Regenerate. + + * include/c_global/cmath [__cplusplus >= 201103L] + (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO. + (std::isfinite): Likewise. + (std::isinf): Likewise. + (std::isnan): Likewise. + (std::isnormal): Likewise. + (std::signbit): Likewise. + (std::isgreater): Likewise. + (std::isgreaterequal): Likewise. + (std::isless): Likewise. + (std::islessequal): Likewise. + (std::islessgreater): Likewise. + (std::isunordered): Likewise. + (std::acosh): Likewise. + (std::asinh): Likewise. + (std::atanh): Likewise. + (std::cbrt): Likewise. + (std::copysign): Likewise. + (std::erf): Likewise. + (std::erfc): Likewise. + (std::exp2): Likewise. + (std::expm1): Likewise. + (std::fdim): Likewise. + (std::fma): Likewise. + (std::fmax): Likewise. + (std::fmin): Likewise. + (std::hypot): Likewise. + (std::ilogb): Likewise. + (std::lgamma): Likewise. + (std::llrint): Likewise. + (std::llround): Likewise. + (std::log1p): Likewise. + (std::log2): Likewise. + (std::logb): Likewise. + (std::lrint): Likewise. + (std::lround): Likewise. + (std::nearbyint): Likewise. + (std::nextafter): Likewise. + (std::nexttoward): Likewise. + (std::remainder): Likewise. + (std::remquo): Likewise. + (std::rint): Likewise. + (std::round): Likewise. + (std::scalbln): Likewise. + (std::scalbn): Likewise. + (std::tgamma): Likewise. + (std::trunc): Likewise. + * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh): + Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO. + (std::tr1::asinh): Likewise. + (std::tr1::atanh): Likewise. + (std::tr1::cbrt): Likewise. + (std::tr1::copysign): Likewise. + (std::tr1::erf): Likewise. + (std::tr1::erfc): Likewise. + (std::tr1::exp2): Likewise. + (std::tr1::expm1): Likewise. + (std::tr1::fabs): Likewise. + (std::tr1::fdim): Likewise. + (std::tr1::fma): Likewise. + (std::tr1::fmax): Likewise. + (std::tr1::fmin): Likewise. + (std::tr1::hypot): Likewise. + (std::tr1::ilogb): Likewise. + (std::tr1::lgamma): Likewise. + (std::tr1::llrint): Likewise. + (std::tr1::llround): Likewise. + (std::tr1::log1p): Likewise. + (std::tr1::log2): Likewise. + (std::tr1::logb): Likewise. + (std::tr1::lrint): Likewise. + (std::tr1::lround): Likewise. + (std::tr1::nearbyint): Likewise. + (std::tr1::nextafter): Likewise. + (std::tr1::nexttoward): Likewise. + (std::tr1::remainder): Likewise. + (std::tr1::remquo): Likewise. + (std::tr1::rint): Likewise. + (std::tr1::scalbln): Likewise. + (std::tr1::scalbn): Likewise. + (std::tr1::tgamma): Likewise. + (std::tr1::trunc): Likewise. + (std::tr1::pow): Likewise. + + * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: + Restrict dg-xfail-if to *-*-solaris2.1[01]*. + +2015-11-20 Jan Kratochvil <jan.kratochvil@redhat.com> + + PR libstdc++/68448 + * python/hook.in: Call register_libstdcxx_printers. + * python/libstdcxx/v6/__init__.py: Wrap it to + register_libstdcxx_printers. + +2015-11-16 Doug Evans <dje@google.com> + + PR libstdc++/67440 + * python/libstdcxx/v6/printers.py (find_type): Handle "const" in + type name. + * testsuite/libstdc++-prettyprinters/debug.cc: Add test for + const set<int>. + * testsuite/libstdc++-prettyprinters/simple.cc: Ditto. + * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto. + +2015-11-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/68190 + * include/bits/stl_multiset.h (multiset::find): Fix return types. + * include/bits/stl_set.h (set::find): Likewise. + * testsuite/23_containers/map/operations/2.cc: Test find return types. + * testsuite/23_containers/multimap/operations/2.cc: Likewise. + * testsuite/23_containers/multiset/operations/2.cc: Likewise. + * testsuite/23_containers/set/operations/2.cc: Likewise. + 2015-10-08 Jonathan Wakely <jwakely@redhat.com> Backport from mainline diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index d4bf81bcbfd..826ef869cb8 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -1897,6 +1897,52 @@ AC_DEFUN([GLIBCXX_CHECK_STDIO_PROTO], [ ]) dnl +dnl Check whether required C++11 overloads are present in <math.h>. +dnl +AC_DEFUN([GLIBCXX_CHECK_MATH11_PROTO], [ + + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -std=c++11" + + case "$host" in + *-*-solaris2.*) + # Solaris 12 introduced the C++11 <math.h> overloads. A backport to + # a Solaris 11.3 SRU is likely, maybe even a Solaris 10 patch. + AC_MSG_CHECKING([for C++11 <math.h> overloads]) + AC_CACHE_VAL(glibcxx_cv_math11_overload, [ + AC_COMPILE_IFELSE([AC_LANG_SOURCE( + [#include <math.h> + #undef isfinite + namespace std { + inline bool isfinite(float __x) + { return __builtin_isfinite(__x); } + } + ])], + [glibcxx_cv_math11_overload=no], + [glibcxx_cv_math11_overload=yes] + )]) + + # autoheader cannot handle indented templates. + AH_VERBATIM([__CORRECT_ISO_CPP11_MATH_H_PROTO], + [/* Define if all C++11 overloads are available in <math.h>. */ +#if __cplusplus >= 201103L +#undef __CORRECT_ISO_CPP11_MATH_H_PROTO +#endif]) + + if test $glibcxx_cv_math11_overload = yes; then + AC_DEFINE(__CORRECT_ISO_CPP11_MATH_H_PROTO) + fi + AC_MSG_RESULT([$glibcxx_cv_math11_overload]) + ;; + esac + + CXXFLAGS="$ac_save_CXXFLAGS" + AC_LANG_RESTORE +]) + +dnl dnl Check whether macros, etc are present for <system_error> dnl AC_DEFUN([GLIBCXX_CHECK_SYSTEM_ERROR], [ diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in index d4e28bc4f75..d605593cada 100644 --- a/libstdc++-v3/config.h.in +++ b/libstdc++-v3/config.h.in @@ -919,6 +919,11 @@ /* Define to 1 if mutex_timedlock is available. */ #undef _GTHREAD_USE_MUTEX_TIMEDLOCK +/* Define if all C++11 overloads are available in <math.h>. */ +#if __cplusplus >= 201103L +#undef __CORRECT_ISO_CPP11_MATH_H_PROTO +#endif + #if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) # define HAVE_ACOSF 1 # define acosf _acosf diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index ba59fbad65a..8cd4c76e70d 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -9543,7 +9543,7 @@ _LT_EOF if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -14062,7 +14062,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) @@ -17604,6 +17604,68 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -std=c++11" + + case "$host" in + *-*-solaris2.*) + # Solaris 12 introduced the C++11 <math.h> overloads. A backport to + # a Solaris 11.3 SRU is likely, maybe even a Solaris 10 patch. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 <math.h> overloads" >&5 +$as_echo_n "checking for C++11 <math.h> overloads... " >&6; } + if test "${glibcxx_cv_math11_overload+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <math.h> + #undef isfinite + namespace std { + inline bool isfinite(float __x) + { return __builtin_isfinite(__x); } + } + +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + glibcxx_cv_math11_overload=no +else + glibcxx_cv_math11_overload=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + + + # autoheader cannot handle indented templates. + + + if test $glibcxx_cv_math11_overload = yes; then + $as_echo "#define __CORRECT_ISO_CPP11_MATH_H_PROTO 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_math11_overload" >&5 +$as_echo "$glibcxx_cv_math11_overload" >&6; } + ;; + esac + + CXXFLAGS="$ac_save_CXXFLAGS" + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOWNERDEAD" >&5 $as_echo_n "checking for EOWNERDEAD... " >&6; } if test "${glibcxx_cv_system_error1+set}" = set; then : diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac index 744bbf46799..580fb8b2eb8 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -181,6 +181,7 @@ GLIBCXX_ENABLE_VTABLE_VERIFY([no]) # Checks for operating systems support that doesn't require linking. GLIBCXX_CHECK_STDIO_PROTO +GLIBCXX_CHECK_MATH11_PROTO GLIBCXX_CHECK_SYSTEM_ERROR # For the streamoff typedef. diff --git a/libstdc++-v3/doc/doxygen/user.cfg.in b/libstdc++-v3/doc/doxygen/user.cfg.in index ff2db489d6e..ccd5fbb1173 100644 --- a/libstdc++-v3/doc/doxygen/user.cfg.in +++ b/libstdc++-v3/doc/doxygen/user.cfg.in @@ -272,7 +272,7 @@ OPTIMIZE_OUTPUT_VHDL = NO # Note that for custom extensions you also need to set FILE_PATTERNS otherwise # the files are not read by doxygen. -EXTENSION_MAPPING = +EXTENSION_MAPPING = no_extension=C++ .h=C++ .tcc=C++ .hpp=C++ # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable @@ -757,6 +757,7 @@ INPUT = @srcdir@/doc/doxygen/doxygroups.cc \ include/bitset \ include/chrono \ include/complex \ + include/codecvt \ include/condition_variable \ include/deque \ include/forward_list \ @@ -812,6 +813,7 @@ INPUT = @srcdir@/doc/doxygen/doxygroups.cc \ include/cmath \ include/csetjmp \ include/csignal \ + include/cstdalign \ include/cstdarg \ include/cstdbool \ include/cstddef \ @@ -831,6 +833,7 @@ INPUT = @srcdir@/doc/doxygen/doxygroups.cc \ include/backward/hash_set \ include/backward/strstream \ include/debug \ + include/debug/array \ include/debug/bitset \ include/debug/deque \ include/debug/forward_list \ @@ -853,6 +856,7 @@ INPUT = @srcdir@/doc/doxygen/doxygroups.cc \ include/profile/unordered_set \ include/profile/vector \ include/ext/algorithm \ + include/ext/cmath \ include/ext/functional \ include/ext/iterator \ include/ext/memory \ @@ -886,9 +890,18 @@ INPUT = @srcdir@/doc/doxygen/doxygroups.cc \ include/tr2/ratio \ include/tr2/type_traits \ include/decimal/decimal \ + include/experimental \ + include/experimental/algorithm \ include/experimental/any \ + include/experimental/chrono \ + include/experimental/filesystem \ + include/experimental/functional \ include/experimental/optional \ + include/experimental/ratio \ include/experimental/string_view \ + include/experimental/system_error \ + include/experimental/tuple \ + include/experimental/type_traits \ include/ext \ include/ext/pb_ds \ include/ext/pb_ds/detail \ @@ -1965,18 +1978,6 @@ GENERATE_XML = @do_xml@ XML_OUTPUT = xml -# The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a -# validating XML parser to check the syntax of the XML files. -# This tag requires that the tag GENERATE_XML is set to YES. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify a XML DTD, which can be used by a -# validating XML parser to check the syntax of the XML files. -# This tag requires that the tag GENERATE_XML is set to YES. - -XML_DTD = - # If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program # listings (including syntax highlighting and cross-referencing information) to # the XML output. Note that enabling this will significantly increase the size @@ -2111,9 +2112,10 @@ INCLUDE_FILE_PATTERNS = # recursively expanded use the := operator instead of the = operator. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -PREDEFINED = __cplusplus=201103L \ +PREDEFINED = __cplusplus=201402L \ __GTHREADS \ _GLIBCXX_HAS_GTHREADS \ + _GLIBCXX_HAVE_TLS \ _GLIBCXX_INCLUDE_AS_CXX11 \ "_GLIBCXX_PURE= " \ "_GLIBCXX_CONST= " \ @@ -2144,7 +2146,7 @@ PREDEFINED = __cplusplus=201103L \ _GLIBCXX_USE_NANOSLEEP \ __cpp_exceptions \ __cpp_rtti \ - ATOMIC_INT_LOCK_FREE \ + ATOMIC_INT_LOCK_FREE=2 \ PB_DS_DATA_TRUE_INDICATOR \ PB_DS_STATIC_ASSERT=// \ "_GLIBCXX_BEGIN_NAMESPACE_ALGO= " \ diff --git a/libstdc++-v3/doc/html/index.html b/libstdc++-v3/doc/html/index.html index bd2c58e3714..d2150e5c491 100644 --- a/libstdc++-v3/doc/html/index.html +++ b/libstdc++-v3/doc/html/index.html @@ -23,7 +23,7 @@ </p></div></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="book"><a href="manual/index.html">The GNU C++ Library Manual</a></span></dt><dd><dl><dt><span class="part"><a href="manual/intro.html">I. Introduction -</a></span></dt><dd><dl><dt><span class="chapter"><a href="manual/status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="manual/status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.2014">C++ 2014</a></span></dt><dt><span class="section"><a href="manual/status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="manual/license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="manual/license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="manual/license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="manual/bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="manual/setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/configure.html">Configure</a></span></dt><dt><span class="section"><a href="manual/make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="manual/using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="manual/using_dual_abi.html">Dual ABI</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="manual/debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="manual/std_contents.html">II. +</a></span></dt><dd><dl><dt><span class="chapter"><a href="manual/status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="manual/status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.2014">C++ 2014</a></span></dt><dt><span class="section"><a href="manual/status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="manual/status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="manual/status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="manual/license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="manual/license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="manual/license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="manual/bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="manual/bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="manual/bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="manual/setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="manual/setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/configure.html">Configure</a></span></dt><dt><span class="section"><a href="manual/make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="manual/using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="manual/using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="manual/using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="manual/using_dual_abi.html">Dual ABI</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="manual/using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt><dt><span class="section"><a href="manual/using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="manual/using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="manual/using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="manual/using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="manual/using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="manual/debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="manual/debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="manual/debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="manual/std_contents.html">II. Standard Contents </a></span></dt><dd><dl><dt><span class="chapter"><a href="manual/support.html">4. Support diff --git a/libstdc++-v3/doc/html/manual/abi.html b/libstdc++-v3/doc/html/manual/abi.html index ec786b930f8..e7de3a52647 100644 --- a/libstdc++-v3/doc/html/manual/abi.html +++ b/libstdc++-v3/doc/html/manual/abi.html @@ -38,7 +38,7 @@ documented <a class="link" href="configure.html" title="Configure">here</a>. </p><p> Putting all of these ideas together results in the C++ Standard -library ABI, which is the compilation of a given library API by a +Library ABI, which is the compilation of a given library API by a given compiler ABI. In a nutshell: </p><p> <span class="quote">“<span class="quote"> diff --git a/libstdc++-v3/doc/html/manual/concept_checking.html b/libstdc++-v3/doc/html/manual/concept_checking.html index 883eb5a7721..df7f22f7fcd 100644 --- a/libstdc++-v3/doc/html/manual/concept_checking.html +++ b/libstdc++-v3/doc/html/manual/concept_checking.html @@ -35,8 +35,9 @@ <code class="literal">-D_GLIBCXX_CONCEPT_CHECKS</code>. </p><p> Please note that the checks are based on the requirements in the original - C++ standard, some of which have changed in the new C++11 revision. - Additionally, some correct code might be rejected by the concept checks, + C++ standard, many of which were relaxed in the C++11 standard and so valid + C++11 code may be incorrectly rejected by the concept checks. Additionally, + some correct C++03 code might be rejected by the concept checks, for example template argument types may need to be complete when used in a template definition, rather than at the point of instantiation. There are no plans to address these shortcomings. diff --git a/libstdc++-v3/doc/html/manual/configure.html b/libstdc++-v3/doc/html/manual/configure.html index 96f40a62ed0..626534c0838 100644 --- a/libstdc++-v3/doc/html/manual/configure.html +++ b/libstdc++-v3/doc/html/manual/configure.html @@ -174,10 +174,12 @@ Mostly useful together with shared memory allocators, see PR libstdc++/16612 for details. </p></dd><dt><span class="term"><code class="code">--enable-concept-checks</code></span></dt><dd><p>This turns on additional compile-time checks for instantiated - library templates, in the form of specialized templates, - <a class="link" href="concept_checking.html" title="Concept Checking">described here</a>. They + library templates, in the form of specialized templates described in + the <a class="link" href="concept_checking.html" title="Concept Checking">Concept + Checking</a> section. They can help users discover when they break the rules of the STL, before - their programs run. + their programs run. These checks are based on C++03 rules and some of + them are not compatible with correct C++11 code. </p></dd><dt><span class="term"><code class="code">--enable-symvers[=style]</code></span></dt><dd><p>In 3.1 and later, tries to turn on symbol versioning in the shared library (if a shared library has been requested). Values for 'style' that are currently supported @@ -236,9 +238,10 @@ </p></dd><dt><span class="term"><code class="code">--with-default-libstdcxx-abi=</code><em class="replaceable"><code>OPTION</code></em></span></dt><dd><p> Set the default value for the <span class="symbol">_GLIBCXX_USE_CXX11_ABI</span> macro (see <a class="xref" href="using_macros.html" title="Macros">Macros</a>). - The default is <code class="option">OPTION=c++11</code> which sets the macro to + The default is <code class="option">OPTION=new</code> which sets the macro to <code class="literal">1</code>, - use <code class="option">OPTION=c++98</code> to set it to <code class="literal">0</code>. + use <code class="option">OPTION=gcc4-compatible</code> to set it to + <code class="literal">0</code>. This option does not change the library ABI. </p></dd><dt><span class="term"><code class="code">--enable-vtable-verify</code>[default]</span></dt><dd><p>Use <code class="code">-fvtable-verify=std</code> to compile the C++ runtime with instrumentation for vtable verification. All virtual @@ -247,4 +250,8 @@ <code class="classname">iostream</code>, and others. Disabling means that the C++ runtime is compiled without support for vtable verification. By default, this option is off. - </p></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="setup.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="setup.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="make.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 2. Setup </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Make</td></tr></table></div></body></html>
\ No newline at end of file + </p></dd><dt><span class="term"><code class="code">--enable-libstdcxx-filesystem-ts</code>[default]</span></dt><dd><p>Build <code class="filename">libstdc++fs.a</code> as well + as the usual libstdc++ and libsupc++ libraries. This is enabled by + default on select POSIX targets where it is known to work and disabled + otherwise. + </p></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="setup.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="setup.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="make.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 2. Setup </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Make</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/libstdc++-v3/doc/html/manual/ext_compile_checks.html b/libstdc++-v3/doc/html/manual/ext_compile_checks.html index da4723311e2..227bd25d541 100644 --- a/libstdc++-v3/doc/html/manual/ext_compile_checks.html +++ b/libstdc++-v3/doc/html/manual/ext_compile_checks.html @@ -29,7 +29,8 @@ They can be enabled at configure time with <a class="link" href="configure.html" title="Configure"><code class="literal">--enable-concept-checks</code></a>. You can enable them on a per-translation-unit basis with - <code class="code">#define _GLIBCXX_CONCEPT_CHECKS</code> for GCC 3.4 and higher + <a class="link" href="using_macros.html" title="Macros"><code class="code">#define + _GLIBCXX_CONCEPT_CHECKS</code></a> for GCC 3.4 and higher (or with <code class="code">#define _GLIBCPP_CONCEPT_CHECKS</code> for versions 3.1, 3.2 and 3.3). </p><p>Please note that the concept checks only validate the requirements diff --git a/libstdc++-v3/doc/html/manual/index.html b/libstdc++-v3/doc/html/manual/index.html index b6f34fa29aa..3b13da483aa 100644 --- a/libstdc++-v3/doc/html/manual/index.html +++ b/libstdc++-v3/doc/html/manual/index.html @@ -4,7 +4,7 @@ </p></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="part"><a href="intro.html">I. Introduction -</a></span></dt><dd><dl><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2014">C++ 2014</a></span></dt><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_dual_abi.html">Dual ABI</a></span></dt><dd><dl><dt><span class="section"><a href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="std_contents.html">II. +</a></span></dt><dd><dl><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2014">C++ 2014</a></span></dt><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_dual_abi.html">Dual ABI</a></span></dt><dd><dl><dt><span class="section"><a href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></dd><dt><span class="part"><a href="std_contents.html">II. Standard Contents </a></span></dt><dd><dl><dt><span class="chapter"><a href="support.html">4. Support diff --git a/libstdc++-v3/doc/html/manual/intro.html b/libstdc++-v3/doc/html/manual/intro.html index ae8ce8fac9d..0c2739b95da 100644 --- a/libstdc++-v3/doc/html/manual/intro.html +++ b/libstdc++-v3/doc/html/manual/intro.html @@ -5,4 +5,4 @@ </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center">The GNU C++ Library Manual</th><td width="20%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr></table><hr /></div><div class="part"><div class="titlepage"><div><div><h1 class="title"><a id="manual.intro"></a>Part I. Introduction <a id="id-1.3.3.1.1.1" class="indexterm"></a> -</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2014">C++ 2014</a></span></dt><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_dual_abi.html">Dual ABI</a></span></dt><dd><dl><dt><span class="section"><a href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library Manual </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 1. Status</td></tr></table></div></body></html>
\ No newline at end of file +</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="status.html">1. Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#manual.intro.status.iso">Implementation Status</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#status.iso.1998">C++ 1998/2003</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.1998.status">Implementation Status</a></span></dt><dt><span class="section"><a href="status.html#iso.1998.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2011">C++ 2011</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.2011.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.2014">C++ 2014</a></span></dt><dt><span class="section"><a href="status.html#status.iso.tr1">C++ TR1</a></span></dt><dd><dl><dt><span class="section"><a href="status.html#iso.tr1.specific">Implementation Specific Behavior</a></span></dt></dl></dd><dt><span class="section"><a href="status.html#status.iso.tr24733">C++ TR 24733</a></span></dt></dl></dd><dt><span class="section"><a href="license.html">License</a></span></dt><dd><dl><dt><span class="section"><a href="license.html#manual.intro.status.license.gpl">The Code: GPL</a></span></dt><dt><span class="section"><a href="license.html#manual.intro.status.license.fdl">The Documentation: GPL, FDL</a></span></dt></dl></dd><dt><span class="section"><a href="bugs.html">Bugs</a></span></dt><dd><dl><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.impl">Implementation Bugs</a></span></dt><dt><span class="section"><a href="bugs.html#manual.intro.status.bugs.iso">Standard Bugs</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="setup.html">2. Setup</a></span></dt><dd><dl><dt><span class="section"><a href="setup.html#manual.intro.setup.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="configure.html">Configure</a></span></dt><dt><span class="section"><a href="make.html">Make</a></span></dt></dl></dd><dt><span class="chapter"><a href="using.html">3. Using</a></span></dt><dd><dl><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_dual_abi.html">Dual ABI</a></span></dt><dd><dl><dt><span class="section"><a href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="status.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The GNU C++ Library Manual </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 1. Status</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index 40e3323c555..f9e240e46de 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -148,8 +148,8 @@ This table is based on the table of contents of ISO/IEC JTC1 SC22 WG21 Doc No: N3290 Date: 2011-04-11 Final Draft International Standard, Standard for Programming Language C++ </p><p> -In this implementation <code class="literal">-std=gnu++11</code> or -<code class="literal">-std=c++11</code> flags must be used to enable language +In this implementation the <code class="literal">-std=gnu++11</code> or +<code class="literal">-std=c++11</code> flag must be used to enable language and library features. See <a class="link" href="using.html#manual.intro.using.flags" title="Command Options">dialect</a> options. The pre-defined symbol @@ -171,10 +171,8 @@ particular release. </td><td colspan="3" align="left"> <span class="emphasis"><em>General utilities</em></span> </td></tr><tr><td align="left">20.1</td><td align="left">General</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2</td><td align="left">Utility components</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.2.1</td><td align="left">Operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.2</td><td align="left">Swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.3</td><td align="left"><code class="code">forward</code> and <code class="code">move</code> helpers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.2.4</td><td align="left">Function template <code class="code">declval</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3</td><td align="left">Pairs</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.3.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.3.2</td><td align="left">Class template <code class="code">pair</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.3</td><td align="left">Specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.4</td><td align="left">Tuple-like access to <code class="code">pair</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.3.5</td><td align="left">Piecewise construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4</td><td align="left">Tuples</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.2</td><td align="left">Class template <code class="code">tuple</code></td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.4.2.1</td><td align="left">Construction</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.2</td><td align="left">Assignment</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.3</td><td align="left">Swap</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.4</td><td align="left">Tuple creation functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.5</td><td align="left">Tuple helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.6</td><td align="left">Element access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.7</td><td align="left">Relational operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.8</td><td align="left">Tuple traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.4.2.9</td><td align="left">Tuple specialized algorithms</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5</td><td align="left">Class template <code class="code">bitset</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.1</td><td align="left"><code class="code">bitset</code> constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.2</td><td align="left"><code class="code">bitset</code> members</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.3</td><td align="left"><code class="code">bitset</code> hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.5.4</td><td align="left"><code class="code">bitset</code> operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6</td><td align="left">Memory</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.2</td><td align="left">Header <code class="code"><memory></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.3</td><td align="left">Pointer traits</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.6.4</td><td align="left">Pointer safety</td><td align="left">Partial</td><td align="left"> </td></tr><tr><td align="left">20.6.5</td><td align="left">Align</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.6</td><td align="left">Allocator argument tag</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.7</td><td align="left"><code class="code">uses_allocator</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.8</td><td align="left">Allocator traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.9</td><td align="left">The default allocator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.10</td><td align="left">Raw storage iterator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.11</td><td align="left">Temporary buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12</td><td align="left">Specialized algorithms</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.6.12.1</td><td align="left"><code class="code">addressof</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.2</td><td align="left"><code class="code">uninitialized_copy</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.3</td><td align="left"><code class="code">uninitialized_fill</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.12.4</td><td align="left"><code class="code">uninitialized_fill_n</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.6.13</td><td align="left">C library</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7</td><td align="left">Smart pointers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.7.1</td><td align="left">Class template <code class="code">unique_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2</td><td align="left">Shared-ownership pointers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.1</td><td align="left">Class <code class="code">bad_weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.2</td><td align="left">Class template <code class="code">shared_ptr</code></td><td align="left">Y</td><td align="left"> - <p> Uses code from <a class="link" href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top">boost::shared_ptr</a>. - </p> </td></tr><tr><td align="left">20.7.2.3</td><td align="left">Class template <code class="code">weak_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.4</td><td align="left">Class template <code class="code">emable_shared_from_this</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.5</td><td align="left"><code class="code">shared_ptr</code> atomic access</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.7.2.6</td><td align="left">Smart pointer hash support</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8</td><td align="left">Function objects</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.1</td><td align="left">Definitions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.2</td><td align="left">Requirements</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.3</td><td align="left">Class template <code class="code">reference_wrapper</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.4</td><td align="left">Arithmetic operation</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.5</td><td align="left">Comparisons</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.6</td><td align="left">Logical operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.7</td><td align="left">Bitwise operations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.8</td><td align="left">Negators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.9</td><td align="left">Function template <code class="code">bind</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.10</td><td align="left">Function template <code class="code">mem_fn</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.8.11</td><td align="left">Polymorphic function wrappers</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.8.11.1</td><td align="left">Class <code class="code">bad_function_call</code></td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.8.11.2</td><td align="left">Class template <code class="code">function</code></td><td align="left">Partial</td><td align="left">Missing allocator support</td></tr><tr><td align="left">20.8.12</td><td align="left">Class template <code class="code">hash</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9</td><td align="left">Metaprogramming and type traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.1</td><td align="left">Requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.2</td><td align="left">Header <code class="code"><type_traits></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.3</td><td align="left">Helper classes</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4</td><td align="left">Unary Type Traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4.1</td><td align="left">Primary type categories</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4.2</td><td align="left">Composite type traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.4.3</td><td align="left">Type properties</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.5</td><td align="left">Type property queries</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.6</td><td align="left">Relationships between types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7</td><td align="left">Transformations between types</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.9.7.1</td><td align="left">Const-volatile modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.2</td><td align="left">Reference modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.3</td><td align="left">Sign modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.4</td><td align="left">Array modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.5</td><td align="left">Pointer modifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.9.7.6</td><td align="left">Other transformations</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10</td><td align="left">Compile-time rational arithmetic</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.1</td><td align="left">In general</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.2</td><td align="left">Header <code class="code"><ratio></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.10.3</td><td align="left">Class template <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.4</td><td align="left">Arithmetic on <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.5</td><td align="left">Comparison of <code class="code">ratio</code>s</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.10.6</td><td align="left">SI types for <code class="code">ratio</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11</td><td align="left">Time utilities</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.3</td><td align="left">Clock requirements</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4</td><td align="left">Time-related traits</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.4.1</td><td align="left"><code class="code">treat_as_floating_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.2</td><td align="left"><code class="code">duration_values</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.4.3</td><td align="left">Specializations of <code class="code">common_type</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.5</td><td align="left">Class template <code class="code">duration</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.6</td><td align="left">Class template <code class="code">time_point</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7</td><td align="left">Clocks</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.11.7.1</td><td align="left">Class <code class="code">system_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.2</td><td align="left">Class <code class="code">steady_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.7.3</td><td align="left">Class <code class="code">high_resolution_clock</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.11.8</td><td align="left">Date and time functions</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12</td><td align="left">Scoped allocator adaptor</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.1</td><td align="left">Header <code class="code"><scoped_allocator></code> synopsis</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">20.12.2</td><td align="left">Scoped allocator adaptor member types</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.12.3</td><td align="left">Scoped allocator adaptor constructors</td><td align="left">Y</td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left">20.12.4</td><td align="left">Scoped allocator adaptor members</td><td align="left">Partial</td><td align="left">OUTERMOST is not recursive.</td></tr><tr><td align="left">20.12.5</td><td align="left">Scoped allocator operators</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">20.13</td><td align="left">Class <code class="code">type_index</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> <span class="emphasis"><em>21</em></span> </td><td colspan="3" align="left"> @@ -299,7 +297,10 @@ particular release. <span class="emphasis"><em>30.2.3 [thread.req.native]/1</em></span> <code class="classname">native_handle_type</code> and <code class="methodname">native_handle</code> are provided. The handle types - are defined in terms of the Gthreads abstraction layer. + are defined in terms of the Gthreads abstraction layer, although this + is subject to change at any time. Any use of + <code class="classname">native_handle</code> is inherently non-portable and + not guaranteed to work between major releases of GCC. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="classname">thread</code>: The native handle type is a typedef for <code class="code">__gthread_t</code> i.e. <code class="code">pthread_t</code> when GCC is configured with the <code class="literal">posix</code> thread @@ -326,8 +327,8 @@ particular release. overloaded operators to support bitmask operations. There are no additional bitmask elements defined. </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.2014"></a>C++ 2014</h3></div></div></div><p> -In this implementation <code class="literal">-std=gnu++1y</code> or -<code class="literal">-std=c++1y</code> flags must be used to enable language +In this implementation the <code class="literal">-std=gnu++14</code> or +<code class="literal">-std=c++14</code> flag must be used to enable language and library features. See <a class="link" href="using.html#manual.intro.using.flags" title="Command Options">dialect</a> options. The pre-defined symbol @@ -392,7 +393,7 @@ not in any particular release. <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3659.html" target="_top"> N3659 </a> - </td><td align="left">Shared Locking in C++</td><td align="left">Y</td><td align="left">Need tests</td></tr><tr><td align="left"> + </td><td align="left">Shared Locking in C++</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left"> <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2012/n3421.htm" target="_top"> N3421 </a> @@ -452,11 +453,15 @@ not in any particular release. <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3932.htm" target="_top"> N3932 </a> - </td><td align="left">Variable Templates For Type Traits</td><td align="left">Y</td><td align="left">Library Fundamentals TS</td></tr><tr bgcolor="#C8C8B0"><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3932.htm" target="_top"> - N3940 + </td><td align="left">Variable Templates For Type Traits</td><td align="left">Y</td><td align="left">Library Fundamentals TS</td></tr><tr><td align="left"> + <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4100.pdf" target="_top"> + N4100 </a> - </td><td align="left">File System</td><td align="left">WIP</td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr1"></a>C++ TR1</h3></div></div></div><p> + </td><td align="left">File System</td><td align="left">Y</td><td align="left"> + Link with + <a class="link" href="using_dynamic_or_shared.html#manual.intro.using.linkage.experimental" title="Experimental Library Extensions"> + <code class="option">-lstdc++fs</code></a> + </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr1"></a>C++ TR1</h3></div></div></div><p> This table is based on the table of contents of ISO/IEC DTR 19768 Doc No: N1836=05-0096 Date: 2005-06-24 Draft Technical Report on C++ Library Extensions diff --git a/libstdc++-v3/doc/html/manual/using.html b/libstdc++-v3/doc/html/manual/using.html index ccc870f077d..3b7aed72ece 100644 --- a/libstdc++-v3/doc/html/manual/using.html +++ b/libstdc++-v3/doc/html/manual/using.html @@ -2,14 +2,19 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 3. Using</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="intro.html" title="Part I. Introduction" /><link rel="prev" href="make.html" title="Make" /><link rel="next" href="using_headers.html" title="Headers" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><th width="60%" align="center">Part I. Introduction -</th><td width="20%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using"></a>Chapter 3. Using</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_dual_abi.html">Dual ABI</a></span></dt><dd><dl><dt><span class="section"><a href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.flags"></a>Command Options</h2></div></div></div><p> +</th><td width="20%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a id="manual.intro.using"></a>Chapter 3. Using</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="using.html#manual.intro.using.flags">Command Options</a></span></dt><dt><span class="section"><a href="using_headers.html">Headers</a></span></dt><dd><dl><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.all">Header Files</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.mixing">Mixing Headers</a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.cheaders">The C Headers and <code class="code">namespace std</code></a></span></dt><dt><span class="section"><a href="using_headers.html#manual.intro.using.headers.pre">Precompiled Headers</a></span></dt></dl></dd><dt><span class="section"><a href="using_macros.html">Macros</a></span></dt><dt><span class="section"><a href="using_dual_abi.html">Dual ABI</a></span></dt><dd><dl><dt><span class="section"><a href="using_dual_abi.html#manual.intro.using.abi.trouble">Troubleshooting</a></span></dt></dl></dd><dt><span class="section"><a href="using_namespaces.html">Namespaces</a></span></dt><dd><dl><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.all">Available Namespaces</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.std">namespace std</a></span></dt><dt><span class="section"><a href="using_namespaces.html#manual.intro.using.namespaces.comp">Using Namespace Composition</a></span></dt></dl></dd><dt><span class="section"><a href="using_dynamic_or_shared.html">Linking</a></span></dt><dd><dl><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.freestanding">Almost Nothing</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.dynamic">Finding Dynamic or Shared Libraries</a></span></dt><dt><span class="section"><a href="using_dynamic_or_shared.html#manual.intro.using.linkage.experimental">Experimental Library Extensions</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html">Concurrency</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.prereq">Prerequisites</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.thread_safety">Thread Safety</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.atomics">Atomics</a></span></dt><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.io">IO</a></span></dt><dd><dl><dt><span class="section"><a href="using_concurrency.html#concurrency.io.structure">Structure</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.defaults">Defaults</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.future">Future</a></span></dt><dt><span class="section"><a href="using_concurrency.html#concurrency.io.alt">Alternatives</a></span></dt></dl></dd><dt><span class="section"><a href="using_concurrency.html#manual.intro.using.concurrency.containers">Containers</a></span></dt></dl></dd><dt><span class="section"><a href="using_exceptions.html">Exceptions</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.safety">Exception Safety</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.propagating">Exception Neutrality</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.no">Doing without</a></span></dt><dt><span class="section"><a href="using_exceptions.html#intro.using.exception.compat">Compatibility</a></span></dt><dd><dl><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.c">With <code class="literal">C</code></a></span></dt><dt><span class="section"><a href="using_exceptions.html#using.exception.compat.posix">With <code class="literal">POSIX</code> thread cancellation</a></span></dt></dl></dd></dl></dd><dt><span class="section"><a href="debug.html">Debugging Support</a></span></dt><dd><dl><dt><span class="section"><a href="debug.html#debug.compiler">Using <span class="command"><strong>g++</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.req">Debug Versions of Library Binary Files</a></span></dt><dt><span class="section"><a href="debug.html#debug.memory">Memory Leak Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.races">Data Race Hunting</a></span></dt><dt><span class="section"><a href="debug.html#debug.gdb">Using <span class="command"><strong>gdb</strong></span></a></span></dt><dt><span class="section"><a href="debug.html#debug.exceptions">Tracking uncaught exceptions</a></span></dt><dt><span class="section"><a href="debug.html#debug.debug_mode">Debug Mode</a></span></dt><dt><span class="section"><a href="debug.html#debug.compile_time_checks">Compile Time Checking</a></span></dt><dt><span class="section"><a href="debug.html#debug.profile_mode">Profile-based Performance Analysis</a></span></dt></dl></dd></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.flags"></a>Command Options</h2></div></div></div><p> The set of features available in the GNU C++ library is shaped by several <a class="link" href="http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Invoking-GCC.html" target="_top">GCC Command Options</a>. Options that impact libstdc++ are enumerated and detailed in the table below. </p><p> - By default, <span class="command"><strong>g++</strong></span> is equivalent to <span class="command"><strong>g++ -std=gnu++98</strong></span>. The standard library also defaults to this dialect. - </p><div class="table"><a id="table.cmd_options"></a><p class="title"><strong>Table 3.1. C++ Command Options</strong></p><div class="table-contents"><table summary="C++ Command Options" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Option Flags</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="literal">-std=c++98</code></td><td align="left">Use the 1998 ISO C++ standard plus amendments.</td></tr><tr><td align="left"><code class="literal">-std=gnu++98</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-std=c++11</code></td><td align="left">Use the 2011 ISO C++ standard.</td></tr><tr><td align="left"><code class="literal">-std=gnu++11</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-fexceptions</code></td><td align="left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td align="left"><code class="literal">-frtti</code></td><td align="left">As above, but RTTI-free dialect.</td></tr><tr><td align="left"><code class="literal">-pthread</code> or <code class="literal">-pthreads</code></td><td align="left">For ISO C++11 + The standard library conforms to the dialect of C++ specified by the + <code class="option">-std</code> option passed to the compiler. + By default, <span class="command"><strong>g++</strong></span> is equivalent to + <span class="command"><strong>g++ -std=gnu++98</strong></span> for GCC 5 and older releases. + </p><div class="table"><a id="table.cmd_options"></a><p class="title"><strong>Table 3.1. C++ Command Options</strong></p><div class="table-contents"><table summary="C++ Command Options" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /></colgroup><thead><tr><th align="left">Option Flags</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><code class="literal">-std=c++98</code> or <code class="literal">-std=c++03</code> + </td><td align="left">Use the 1998 ISO C++ standard plus amendments.</td></tr><tr><td align="left"><code class="literal">-std=gnu++98</code> or <code class="literal">-std=gnu++03</code> + </td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-std=c++11</code></td><td align="left">Use the 2011 ISO C++ standard.</td></tr><tr><td align="left"><code class="literal">-std=gnu++11</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-std=c++14</code></td><td align="left">Use the 2014 ISO C++ standard.</td></tr><tr><td align="left"><code class="literal">-std=gnu++14</code></td><td align="left">As directly above, with GNU extensions.</td></tr><tr><td align="left"><code class="literal">-fexceptions</code></td><td align="left">See <a class="link" href="using_exceptions.html#intro.using.exception.no" title="Doing without">exception-free dialect</a></td></tr><tr><td align="left"><code class="literal">-frtti</code></td><td align="left">As above, but RTTI-free dialect.</td></tr><tr><td align="left"><code class="literal">-pthread</code> or <code class="literal">-pthreads</code></td><td align="left">For ISO C++11 <code class="filename"><thread></code>, <code class="filename"><future></code>, <code class="filename"><mutex></code>, @@ -17,4 +22,7 @@ </td></tr><tr><td align="left"><code class="literal">-latomic</code></td><td align="left">Linking to <code class="filename">libatomic</code> is required for some uses of ISO C++11 <code class="filename"><atomic></code>. + </td></tr><tr><td align="left"><code class="literal">-lstdc++fs</code></td><td align="left">Linking to <code class="filename">libstdc++fs</code> + is required for use of the Filesystem library extensions in + <code class="filename"><experimental/filesystem></code>. </td></tr><tr><td align="left"><code class="literal">-fopenmp</code></td><td align="left">For <a class="link" href="parallel_mode.html" title="Chapter 18. Parallel Mode">parallel</a> mode.</td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="make.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_headers.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Make </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Headers</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html b/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html index ac46c7e19f6..8defacd1e3b 100644 --- a/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html +++ b/libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html @@ -102,4 +102,21 @@ A quick read of the relevant part of the GCC also installed, for use with Libtool. If you use Libtool to create your executables, these details are taken care of for you. + </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.linkage.experimental"></a>Experimental Library Extensions</h3></div></div></div><p> + GCC 5.3 includes an implementation of the Filesystem library defined + by the technical specification ISO/IEC TS 18822:2015. Because this is + an experimental library extension, not part of the C++ standard, it + is implemented in a separate library, + <code class="filename">libstdc++fs.a</code>, and there is + no shared library for it. To use the library you should include + <code class="filename"><experimental/filesystem></code> + and link with <code class="option">-lstdc++fs</code>. The library implementation + is incomplete on non-POSIX platforms, specifically Windows support is + rudimentary. + </p><p> + Due to the experimental nature of the Filesystem library the usual + guarantees about ABI stability and backwards compatibility do not apply + to it. There is no guarantee that the components in any + <code class="filename"><experimental/xxx></code> + header will remain compatible between different GCC releases. </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="using_namespaces.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="using.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="using_concurrency.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Namespaces </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Concurrency</td></tr></table></div></body></html>
\ No newline at end of file diff --git a/libstdc++-v3/doc/html/manual/using_headers.html b/libstdc++-v3/doc/html/manual/using_headers.html index 7e4d5be9136..de90e121714 100644 --- a/libstdc++-v3/doc/html/manual/using_headers.html +++ b/libstdc++-v3/doc/html/manual/using_headers.html @@ -74,12 +74,15 @@ of <code class="code">std::sinf</code>, <code class="code">std::sin</code>, and <code class="code">std::sinl</code>. </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.headers.pre"></a>Precompiled Headers</h3></div></div></div><p>There are three base header files that are provided. They can be used to precompile the standard headers and extensions into binary -files that may the be used to speed compiles that use these headers. +files that may then be used to speed up compilations that use these headers. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>stdc++.h</p><p>Includes all standard headers. Actual content varies depending on -language dialect. +<a class="link" href="using.html#manual.intro.using.flags" title="Command Options">language dialect</a>. </p></li><li class="listitem"><p>stdtr1c++.h</p><p>Includes all of <stdc++.h>, and adds all the TR1 headers. -</p></li><li class="listitem"><p>extc++.h</p><p>Includes all of <stdtr1c++.h>, and adds all the Extension headers. -</p></li></ul></div><p>How to construct a .gch file from one of these base header files.</p><p>First, find the include directory for the compiler. One way to do +</p></li><li class="listitem"><p>extc++.h</p><p>Includes all of the Extension headers +(and in C++98 mode also adds all the TR1 headers by including all of +<stdtr1c++.h>). +</p></li></ul></div><p>To construct a .gch file from one of these base header files, +first find the include directory for the compiler. One way to do this is:</p><pre class="programlisting"> g++ -v hello.cc diff --git a/libstdc++-v3/doc/html/manual/using_namespaces.html b/libstdc++-v3/doc/html/manual/using_namespaces.html index a7dd0b53c0e..0fe9ce33399 100644 --- a/libstdc++-v3/doc/html/manual/using_namespaces.html +++ b/libstdc++-v3/doc/html/manual/using_namespaces.html @@ -2,8 +2,8 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Namespaces</title><meta name="generator" content="DocBook XSL-NS Stylesheets V1.78.1" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="using.html" title="Chapter 3. Using" /><link rel="prev" href="using_dual_abi.html" title="Dual ABI" /><link rel="next" href="using_dynamic_or_shared.html" title="Linking" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Namespaces</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using_dual_abi.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Using</th><td width="20%" align="right"> <a accesskey="n" href="using_dynamic_or_shared.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.intro.using.namespaces"></a>Namespaces</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.intro.using.namespaces.all"></a>Available Namespaces</h3></div></div></div><p> There are three main namespaces. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>std</p><p>The ISO C++ standards specify that "all library entities are defined within namespace std." This includes namespaces nested -within <code class="code">namespace std</code>, such as <code class="code">namespace -std::tr1</code>. +within namespace <code class="code">std</code>, such as namespace +<code class="code">std::chrono</code>. </p></li><li class="listitem"><p>abi</p><p>Specified by the C++ ABI. This ABI specifies a number of type and function APIs supplemental to those required by the ISO C++ Standard, but necessary for interoperability. diff --git a/libstdc++-v3/doc/xml/manual/abi.xml b/libstdc++-v3/doc/xml/manual/abi.xml index b399f711883..a2ed57b3f69 100644 --- a/libstdc++-v3/doc/xml/manual/abi.xml +++ b/libstdc++-v3/doc/xml/manual/abi.xml @@ -66,7 +66,7 @@ </para> <para> Putting all of these ideas together results in the C++ Standard -library ABI, which is the compilation of a given library API by a +Library ABI, which is the compilation of a given library API by a given compiler ABI. In a nutshell: </para> diff --git a/libstdc++-v3/doc/xml/manual/configure.xml b/libstdc++-v3/doc/xml/manual/configure.xml index f6a5551b9ec..7b09d01b541 100644 --- a/libstdc++-v3/doc/xml/manual/configure.xml +++ b/libstdc++-v3/doc/xml/manual/configure.xml @@ -297,10 +297,12 @@ <varlistentry><term><code>--enable-concept-checks</code></term> <listitem><para>This turns on additional compile-time checks for instantiated - library templates, in the form of specialized templates, - <link linkend="std.diagnostics.concept_checking">described here</link>. They + library templates, in the form of specialized templates described in + the <link linkend="std.diagnostics.concept_checking">Concept + Checking</link> section. They can help users discover when they break the rules of the STL, before - their programs run. + their programs run. These checks are based on C++03 rules and some of + them are not compatible with correct C++11 code. </para> </listitem></varlistentry> @@ -418,6 +420,15 @@ </para> </listitem></varlistentry> + <varlistentry><term><code>--enable-libstdcxx-filesystem-ts</code>[default]</term> + <listitem> + <para>Build <filename class="libraryfile">libstdc++fs.a</filename> as well + as the usual libstdc++ and libsupc++ libraries. This is enabled by + default on select POSIX targets where it is known to work and disabled + otherwise. + </para> + </listitem></varlistentry> + </variablelist> </section> diff --git a/libstdc++-v3/doc/xml/manual/diagnostics.xml b/libstdc++-v3/doc/xml/manual/diagnostics.xml index 99206e9fde9..88ed2e28057 100644 --- a/libstdc++-v3/doc/xml/manual/diagnostics.xml +++ b/libstdc++-v3/doc/xml/manual/diagnostics.xml @@ -114,8 +114,9 @@ <para> Please note that the checks are based on the requirements in the original - C++ standard, some of which have changed in the new C++11 revision. - Additionally, some correct code might be rejected by the concept checks, + C++ standard, many of which were relaxed in the C++11 standard and so valid + C++11 code may be incorrectly rejected by the concept checks. Additionally, + some correct C++03 code might be rejected by the concept checks, for example template argument types may need to be complete when used in a template definition, rather than at the point of instantiation. There are no plans to address these shortcomings. diff --git a/libstdc++-v3/doc/xml/manual/extensions.xml b/libstdc++-v3/doc/xml/manual/extensions.xml index c4120c9b06f..41b1a801325 100644 --- a/libstdc++-v3/doc/xml/manual/extensions.xml +++ b/libstdc++-v3/doc/xml/manual/extensions.xml @@ -82,7 +82,8 @@ extensions, be aware of two things: They can be enabled at configure time with <link linkend="manual.intro.setup.configure"><literal>--enable-concept-checks</literal></link>. You can enable them on a per-translation-unit basis with - <code>#define _GLIBCXX_CONCEPT_CHECKS</code> for GCC 3.4 and higher + <link linkend="manual.intro.using.macros"><code>#define + _GLIBCXX_CONCEPT_CHECKS</code></link> for GCC 3.4 and higher (or with <code>#define _GLIBCPP_CONCEPT_CHECKS</code> for versions 3.1, 3.2 and 3.3). </para> diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml index 965df13a234..16ea8c4f24b 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml @@ -17,8 +17,8 @@ Final Draft International Standard, Standard for Programming Language C++ </para> <para> -In this implementation <literal>-std=gnu++11</literal> or -<literal>-std=c++11</literal> flags must be used to enable language +In this implementation the <literal>-std=gnu++11</literal> or +<literal>-std=c++11</literal> flag must be used to enable language and library features. See <link linkend="manual.intro.using.flags">dialect</link> options. The pre-defined symbol @@ -642,10 +642,8 @@ particular release. <entry>Class template <code>shared_ptr</code></entry> <entry>Y</entry> <entry> - <para> Uses code from <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm">boost::shared_ptr</link>. - </para> </entry> </row> <row> @@ -2673,7 +2671,10 @@ particular release. <emphasis>30.2.3 [thread.req.native]/1</emphasis> <classname>native_handle_type</classname> and <methodname>native_handle</methodname> are provided. The handle types - are defined in terms of the Gthreads abstraction layer. + are defined in terms of the Gthreads abstraction layer, although this + is subject to change at any time. Any use of + <classname>native_handle</classname> is inherently non-portable and + not guaranteed to work between major releases of GCC. <itemizedlist> <listitem><para><classname>thread</classname>: The native handle type is a typedef for <code>__gthread_t</code> i.e. <code>pthread_t</code> diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml index fc3299584fb..6f1fbe5664a 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2014.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2014.xml @@ -10,8 +10,8 @@ </info> <para> -In this implementation <literal>-std=gnu++1y</literal> or -<literal>-std=c++1y</literal> flags must be used to enable language +In this implementation the <literal>-std=gnu++14</literal> or +<literal>-std=c++14</literal> flag must be used to enable language and library features. See <link linkend="manual.intro.using.flags">dialect</link> options. The pre-defined symbol @@ -196,7 +196,7 @@ not in any particular release. </entry> <entry>Shared Locking in C++</entry> <entry>Y</entry> - <entry>Need tests</entry> + <entry/> </row> @@ -395,15 +395,18 @@ not in any particular release. </row> <row> - <?dbhtml bgcolor="#C8C8B0" ?> <entry> - <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3932.htm"> - N3940 + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4100.pdf"> + N4100 </link> </entry> <entry>File System</entry> - <entry>WIP</entry> - <entry></entry> + <entry>Y</entry> + <entry> + Link with + <link linkend="manual.intro.using.linkage.experimental"> + <option>-lstdc++fs</option></link> + </entry> </row> diff --git a/libstdc++-v3/doc/xml/manual/using.xml b/libstdc++-v3/doc/xml/manual/using.xml index ba90666f0cc..6228a865dde 100644 --- a/libstdc++-v3/doc/xml/manual/using.xml +++ b/libstdc++-v3/doc/xml/manual/using.xml @@ -13,7 +13,10 @@ </para> <para> - By default, <command>g++</command> is equivalent to <command>g++ -std=gnu++98</command>. The standard library also defaults to this dialect. + The standard library conforms to the dialect of C++ specified by the + <option>-std</option> option passed to the compiler. + By default, <command>g++</command> is equivalent to + <command>g++ -std=gnu++98</command> for GCC 5 and older releases. </para> <table frame="all" xml:id="table.cmd_options"> @@ -32,12 +35,14 @@ <tbody> <row> - <entry><literal>-std=c++98</literal></entry> + <entry><literal>-std=c++98</literal> or <literal>-std=c++03</literal> + </entry> <entry>Use the 1998 ISO C++ standard plus amendments.</entry> </row> <row> - <entry><literal>-std=gnu++98</literal></entry> + <entry><literal>-std=gnu++98</literal> or <literal>-std=gnu++03</literal> + </entry> <entry>As directly above, with GNU extensions.</entry> </row> @@ -52,6 +57,16 @@ </row> <row> + <entry><literal>-std=c++14</literal></entry> + <entry>Use the 2014 ISO C++ standard.</entry> + </row> + + <row> + <entry><literal>-std=gnu++14</literal></entry> + <entry>As directly above, with GNU extensions.</entry> + </row> + + <row> <entry><literal>-fexceptions</literal></entry> <entry>See <link linkend="intro.using.exception.no">exception-free dialect</link></entry> </row> @@ -80,6 +95,14 @@ </row> <row> + <entry><literal>-lstdc++fs</literal></entry> + <entry>Linking to <filename class="libraryfile">libstdc++fs</filename> + is required for use of the Filesystem library extensions in + <filename class="headerfile"><experimental/filesystem></filename>. + </entry> + </row> + + <row> <entry><literal>-fopenmp</literal></entry> <entry>For <link linkend="manual.ext.parallel_mode">parallel</link> mode.</entry> </row> @@ -703,7 +726,7 @@ and <code>std::sinl</code>. <para>There are three base header files that are provided. They can be used to precompile the standard headers and extensions into binary -files that may the be used to speed compiles that use these headers. +files that may then be used to speed up compilations that use these headers. </para> @@ -711,7 +734,7 @@ files that may the be used to speed compiles that use these headers. <listitem> <para>stdc++.h</para> <para>Includes all standard headers. Actual content varies depending on -language dialect. +<link linkend="manual.intro.using.flags">language dialect</link>. </para> </listitem> @@ -722,13 +745,14 @@ language dialect. </listitem> <listitem><para>extc++.h</para> -<para>Includes all of <stdtr1c++.h>, and adds all the Extension headers. +<para>Includes all of the Extension headers +(and in C++98 mode also adds all the TR1 headers by including all of +<stdtr1c++.h>). </para></listitem> </itemizedlist> -<para>How to construct a .gch file from one of these base header files.</para> - -<para>First, find the include directory for the compiler. One way to do +<para>To construct a .gch file from one of these base header files, +first find the include directory for the compiler. One way to do this is:</para> <programlisting> @@ -1027,8 +1051,8 @@ g++ -Winvalid-pch -I. -include stdc++.h -H -g -O2 hello.cc -o test.exe <listitem><para>std</para> <para>The ISO C++ standards specify that "all library entities are defined within namespace std." This includes namespaces nested -within <code>namespace std</code>, such as <code>namespace -std::tr1</code>. +within namespace <code>std</code>, such as namespace +<code>std::chrono</code>. </para> </listitem> <listitem><para>abi</para> @@ -1333,8 +1357,31 @@ A quick read of the relevant part of the GCC you. </para> </section> - </section> + <section xml:id="manual.intro.using.linkage.experimental" xreflabel="Library Extensions"><info><title>Experimental Library Extensions</title></info> + + <para> + GCC 5.3 includes an implementation of the Filesystem library defined + by the technical specification ISO/IEC TS 18822:2015. Because this is + an experimental library extension, not part of the C++ standard, it + is implemented in a separate library, + <filename class="libraryfile">libstdc++fs.a</filename>, and there is + no shared library for it. To use the library you should include + <filename class="headerfile"><experimental/filesystem></filename> + and link with <option>-lstdc++fs</option>. The library implementation + is incomplete on non-POSIX platforms, specifically Windows support is + rudimentary. + </para> + + <para> + Due to the experimental nature of the Filesystem library the usual + guarantees about ABI stability and backwards compatibility do not apply + to it. There is no guarantee that the components in any + <filename class="headerfile"><experimental/xxx></filename> + header will remain compatible between different GCC releases. + </para> + </section> + </section> <section xml:id="manual.intro.using.concurrency" xreflabel="Concurrency"><info><title>Concurrency</title></info> <?dbhtml filename="using_concurrency.html"?> diff --git a/libstdc++-v3/include/backward/strstream b/libstdc++-v3/include/backward/strstream index 9288e56395e..10e2dfe3436 100644 --- a/libstdc++-v3/include/backward/strstream +++ b/libstdc++-v3/include/backward/strstream @@ -40,9 +40,8 @@ // MAY BE REMOVED in a future standard revision. One should use the // header <sstream> instead. -/** @file backward/strstream - * This is an internal header file, included by other library headers. - * Do not attempt to use it directly. @headername{sstream} +/** @file strstream + * This is a Standard C++ Library header. */ #ifndef _BACKWARD_STRSTREAM diff --git a/libstdc++-v3/include/bits/allocator.h b/libstdc++-v3/include/bits/allocator.h index 7f5e659e22f..605731533d0 100644 --- a/libstdc++-v3/include/bits/allocator.h +++ b/libstdc++-v3/include/bits/allocator.h @@ -206,15 +206,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static bool _S_do_it(_Tp& __c) noexcept { - __try +#if __cpp_exceptions + try { _Tp(__make_move_if_noexcept_iterator(__c.begin()), __make_move_if_noexcept_iterator(__c.end()), __c.get_allocator()).swap(__c); return true; } - __catch(...) + catch(...) { return false; } +#else + return false; +#endif } }; #endif diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index f0d543a60e5..19222d13832 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -759,13 +759,15 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 void shrink_to_fit() noexcept { +#if __cpp_exceptions if (capacity() > size()) { - __try + try { reserve(0); } - __catch(...) + catch(...) { } } +#endif } #endif @@ -3163,13 +3165,15 @@ _GLIBCXX_END_NAMESPACE_CXX11 void shrink_to_fit() _GLIBCXX_NOEXCEPT { +#if __cpp_exceptions if (capacity() > size()) { - __try + try { reserve(0); } - __catch(...) + catch(...) { } } +#endif } #endif diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index ae3065feaae..79d1b368d4c 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -294,7 +294,7 @@ namespace std # endif # if _GLIBCXX_USE_CXX11_ABI - inline namespace __cxx11 __attribute__((__abi_tag__)) { } + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } # endif } diff --git a/libstdc++-v3/include/bits/forward_list.h b/libstdc++-v3/include/bits/forward_list.h index 88eee1f745b..0cdd75bd415 100644 --- a/libstdc++-v3/include/bits/forward_list.h +++ b/libstdc++-v3/include/bits/forward_list.h @@ -463,7 +463,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER /** * @brief Creates a %forward_list with default constructed elements. - * @param __n The number of elements to initially create. + * @param __n The number of elements to initially create. + * @param __al An allocator object. * * This constructor creates the %forward_list with @a __n default * constructed elements. @@ -1083,6 +1084,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER * after @a __pos in constant time. * * Undefined if @a __pos is in (__before,__last). + * @{ */ void splice_after(const_iterator __pos, forward_list&&, @@ -1093,6 +1095,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER splice_after(const_iterator __pos, forward_list&, const_iterator __before, const_iterator __last) { _M_splice_after(__pos, __before, __last); } + // @} /** * @brief Remove all elements equal to value. diff --git a/libstdc++-v3/include/bits/ios_base.h b/libstdc++-v3/include/bits/ios_base.h index 44029ad2ce6..908ba7c7e4e 100644 --- a/libstdc++-v3/include/bits/ios_base.h +++ b/libstdc++-v3/include/bits/ios_base.h @@ -74,7 +74,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _S_adjustfield = _S_left | _S_right | _S_internal, _S_basefield = _S_dec | _S_oct | _S_hex, _S_floatfield = _S_scientific | _S_fixed, - _S_ios_fmtflags_end = 1L << 16 + _S_ios_fmtflags_end = 1L << 16, + _S_ios_fmtflags_max = __INT_MAX__, + _S_ios_fmtflags_min = ~__INT_MAX__ }; inline _GLIBCXX_CONSTEXPR _Ios_Fmtflags @@ -114,7 +116,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _S_in = 1L << 3, _S_out = 1L << 4, _S_trunc = 1L << 5, - _S_ios_openmode_end = 1L << 16 + _S_ios_openmode_end = 1L << 16, + _S_ios_openmode_max = __INT_MAX__, + _S_ios_openmode_min = ~__INT_MAX__ }; inline _GLIBCXX_CONSTEXPR _Ios_Openmode @@ -152,7 +156,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _S_badbit = 1L << 0, _S_eofbit = 1L << 1, _S_failbit = 1L << 2, - _S_ios_iostate_end = 1L << 16 + _S_ios_iostate_end = 1L << 16, + _S_ios_iostate_max = __INT_MAX__, + _S_ios_iostate_min = ~__INT_MAX__ }; inline _GLIBCXX_CONSTEXPR _Ios_Iostate diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.h b/libstdc++-v3/include/bits/locale_facets_nonio.h index 7eae6c80653..527296b78f0 100644 --- a/libstdc++-v3/include/bits/locale_facets_nonio.h +++ b/libstdc++-v3/include/bits/locale_facets_nonio.h @@ -709,7 +709,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 * * @param __s Start of string to parse. * @param __end End of string to parse. - * @param __io Source of the locale. + * @param __f Source of the locale. * @param __err Error flags to set. * @param __tm Pointer to struct tm to fill in. * @param __format Format specifier. diff --git a/libstdc++-v3/include/bits/regex_executor.tcc b/libstdc++-v3/include/bits/regex_executor.tcc index f06549964dc..de217da58d9 100644 --- a/libstdc++-v3/include/bits/regex_executor.tcc +++ b/libstdc++-v3/include/bits/regex_executor.tcc @@ -147,7 +147,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION bool _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>:: _M_lookahead(_State<_TraitsT> __state) { - _ResultsVec __what(_M_cur_results.size()); + // Backreferences may refer to captured content. + // We may want to make this faster by not copying, + // but let's not be clever prematurely. + _ResultsVec __what(_M_cur_results); _Executor __sub(_M_current, _M_end, __what, _M_re, _M_flags); __sub._M_states._M_start = __state._M_alt; if (__sub._M_search_from_first()) diff --git a/libstdc++-v3/include/bits/shared_ptr.h b/libstdc++-v3/include/bits/shared_ptr.h index f96c07835b6..26a0ad3d7b7 100644 --- a/libstdc++-v3/include/bits/shared_ptr.h +++ b/libstdc++-v3/include/bits/shared_ptr.h @@ -582,19 +582,25 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const noexcept { _M_weak_this._M_assign(__p, __n); } - template<typename _Tp1> + template<typename _Tp1, typename _Tp2> friend void - __enable_shared_from_this_helper(const __shared_count<>& __pn, - const enable_shared_from_this* __pe, - const _Tp1* __px) noexcept - { - if (__pe != 0) - __pe->_M_weak_assign(const_cast<_Tp1*>(__px), __pn); - } + __enable_shared_from_this_helper(const __shared_count<>&, + const enable_shared_from_this<_Tp1>*, + const _Tp2*) noexcept; mutable weak_ptr<_Tp> _M_weak_this; }; + template<typename _Tp1, typename _Tp2> + inline void + __enable_shared_from_this_helper(const __shared_count<>& __pn, + const enable_shared_from_this<_Tp1>* + __pe, const _Tp2* __px) noexcept + { + if (__pe != nullptr) + __pe->_M_weak_assign(const_cast<_Tp2*>(__px), __pn); + } + /** * @brief Create an object that is owned by a shared_ptr. * @param __a An allocator. diff --git a/libstdc++-v3/include/bits/shared_ptr_base.h b/libstdc++-v3/include/bits/shared_ptr_base.h index 8c3af1285a9..d71df31a0ad 100644 --- a/libstdc++-v3/include/bits/shared_ptr_base.h +++ b/libstdc++-v3/include/bits/shared_ptr_base.h @@ -1540,19 +1540,25 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _M_weak_assign(_Tp1* __p, const __shared_count<_Lp>& __n) const noexcept { _M_weak_this._M_assign(__p, __n); } - template<typename _Tp1> + template<_Lock_policy _Lp1, typename _Tp1, typename _Tp2> friend void - __enable_shared_from_this_helper(const __shared_count<_Lp>& __pn, - const __enable_shared_from_this* __pe, - const _Tp1* __px) noexcept - { - if (__pe != 0) - __pe->_M_weak_assign(const_cast<_Tp1*>(__px), __pn); - } + __enable_shared_from_this_helper(const __shared_count<_Lp1>&, + const __enable_shared_from_this<_Tp1, + _Lp1>*, const _Tp2*) noexcept; mutable __weak_ptr<_Tp, _Lp> _M_weak_this; }; + template<_Lock_policy _Lp1, typename _Tp1, typename _Tp2> + inline void + __enable_shared_from_this_helper(const __shared_count<_Lp1>& __pn, + const __enable_shared_from_this<_Tp1, + _Lp1>* __pe, + const _Tp2* __px) noexcept + { + if (__pe != nullptr) + __pe->_M_weak_assign(const_cast<_Tp2*>(__px), __pn); + } template<typename _Tp, _Lock_policy _Lp, typename _Alloc, typename... _Args> inline __shared_ptr<_Tp, _Lp> diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h index 0a476d1b084..ffe15ae3164 100644 --- a/libstdc++-v3/include/bits/stl_multiset.h +++ b/libstdc++-v3/include/bits/stl_multiset.h @@ -682,13 +682,15 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER #if __cplusplus > 201103L template<typename _Kt> auto - find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x)) - { return _M_t._M_find_tr(__x); } + find(const _Kt& __x) + -> decltype(iterator{_M_t._M_find_tr(__x)}) + { return iterator{_M_t._M_find_tr(__x)}; } template<typename _Kt> auto - find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x)) - { return _M_t._M_find_tr(__x); } + find(const _Kt& __x) const + -> decltype(const_iterator{_M_t._M_find_tr(__x)}) + { return const_iterator{_M_t._M_find_tr(__x)}; } #endif //@} diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h index 2e5c89f22c2..35cdf71701c 100644 --- a/libstdc++-v3/include/bits/stl_set.h +++ b/libstdc++-v3/include/bits/stl_set.h @@ -701,13 +701,15 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER #if __cplusplus > 201103L template<typename _Kt> auto - find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x)) - { return _M_t._M_find_tr(__x); } + find(const _Kt& __x) + -> decltype(iterator{_M_t._M_find_tr(__x)}) + { return iterator{_M_t._M_find_tr(__x)}; } template<typename _Kt> auto - find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x)) - { return _M_t._M_find_tr(__x); } + find(const _Kt& __x) const + -> decltype(const_iterator{_M_t._M_find_tr(__x)}) + { return const_iterator{_M_t._M_find_tr(__x)}; } #endif //@} diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath index 1c9926484a0..4cafe5f7fe3 100644 --- a/libstdc++-v3/include/c_global/cmath +++ b/libstdc++-v3/include/c_global/cmath @@ -557,6 +557,8 @@ namespace std _GLIBCXX_VISIBILITY(default) _GLIBCXX_BEGIN_NAMESPACE_VERSION #if __cplusplus >= 201103L + +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr int fpclassify(float __x) { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, @@ -571,6 +573,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION fpclassify(long double __x) { return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, __x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -578,6 +581,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION fpclassify(_Tp __x) { return __x != 0 ? FP_NORMAL : FP_ZERO; } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr bool isfinite(float __x) { return __builtin_isfinite(__x); } @@ -589,6 +593,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr bool isfinite(long double __x) { return __builtin_isfinite(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -596,6 +601,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION isfinite(_Tp __x) { return true; } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr bool isinf(float __x) { return __builtin_isinf(__x); } @@ -607,6 +613,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr bool isinf(long double __x) { return __builtin_isinf(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -614,6 +621,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION isinf(_Tp __x) { return false; } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr bool isnan(float __x) { return __builtin_isnan(__x); } @@ -625,6 +633,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr bool isnan(long double __x) { return __builtin_isnan(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -632,6 +641,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION isnan(_Tp __x) { return false; } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr bool isnormal(float __x) { return __builtin_isnormal(__x); } @@ -643,6 +653,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr bool isnormal(long double __x) { return __builtin_isnormal(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -650,6 +661,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION isnormal(_Tp __x) { return __x != 0 ? true : false; } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO // The front-end doesn't provide a type generic builtin (libstdc++/58625). constexpr bool signbit(float __x) @@ -662,6 +674,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr bool signbit(long double __x) { return __builtin_signbitl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -669,6 +682,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION signbit(_Tp __x) { return __x < 0 ? true : false; } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr bool isgreater(float __x, float __y) { return __builtin_isgreater(__x, __y); } @@ -680,6 +694,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr bool isgreater(long double __x, long double __y) { return __builtin_isgreater(__x, __y); } +#endif template<typename _Tp, typename _Up> constexpr typename @@ -691,6 +706,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __builtin_isgreater(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr bool isgreaterequal(float __x, float __y) { return __builtin_isgreaterequal(__x, __y); } @@ -702,6 +718,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr bool isgreaterequal(long double __x, long double __y) { return __builtin_isgreaterequal(__x, __y); } +#endif template<typename _Tp, typename _Up> constexpr typename @@ -713,6 +730,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __builtin_isgreaterequal(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr bool isless(float __x, float __y) { return __builtin_isless(__x, __y); } @@ -724,6 +742,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr bool isless(long double __x, long double __y) { return __builtin_isless(__x, __y); } +#endif template<typename _Tp, typename _Up> constexpr typename @@ -735,6 +754,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __builtin_isless(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr bool islessequal(float __x, float __y) { return __builtin_islessequal(__x, __y); } @@ -746,6 +766,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr bool islessequal(long double __x, long double __y) { return __builtin_islessequal(__x, __y); } +#endif template<typename _Tp, typename _Up> constexpr typename @@ -757,6 +778,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __builtin_islessequal(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr bool islessgreater(float __x, float __y) { return __builtin_islessgreater(__x, __y); } @@ -768,6 +790,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr bool islessgreater(long double __x, long double __y) { return __builtin_islessgreater(__x, __y); } +#endif template<typename _Tp, typename _Up> constexpr typename @@ -779,6 +802,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __builtin_islessgreater(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr bool isunordered(float __x, float __y) { return __builtin_isunordered(__x, __y); } @@ -790,6 +814,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr bool isunordered(long double __x, long double __y) { return __builtin_isunordered(__x, __y); } +#endif template<typename _Tp, typename _Up> constexpr typename @@ -1180,6 +1205,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::truncl; /// Additional overloads. +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float acosh(float __x) { return __builtin_acoshf(__x); } @@ -1187,6 +1213,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double acosh(long double __x) { return __builtin_acoshl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1194,6 +1221,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION acosh(_Tp __x) { return __builtin_acosh(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float asinh(float __x) { return __builtin_asinhf(__x); } @@ -1201,6 +1229,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double asinh(long double __x) { return __builtin_asinhl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1208,6 +1237,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION asinh(_Tp __x) { return __builtin_asinh(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float atanh(float __x) { return __builtin_atanhf(__x); } @@ -1215,6 +1245,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double atanh(long double __x) { return __builtin_atanhl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1222,6 +1253,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION atanh(_Tp __x) { return __builtin_atanh(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float cbrt(float __x) { return __builtin_cbrtf(__x); } @@ -1229,6 +1261,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double cbrt(long double __x) { return __builtin_cbrtl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1236,6 +1269,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION cbrt(_Tp __x) { return __builtin_cbrt(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float copysign(float __x, float __y) { return __builtin_copysignf(__x, __y); } @@ -1243,6 +1277,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double copysign(long double __x, long double __y) { return __builtin_copysignl(__x, __y); } +#endif template<typename _Tp, typename _Up> constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -1252,6 +1287,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return copysign(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float erf(float __x) { return __builtin_erff(__x); } @@ -1259,6 +1295,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double erf(long double __x) { return __builtin_erfl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1266,6 +1303,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION erf(_Tp __x) { return __builtin_erf(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float erfc(float __x) { return __builtin_erfcf(__x); } @@ -1273,6 +1311,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double erfc(long double __x) { return __builtin_erfcl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1280,6 +1319,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION erfc(_Tp __x) { return __builtin_erfc(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float exp2(float __x) { return __builtin_exp2f(__x); } @@ -1287,6 +1327,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double exp2(long double __x) { return __builtin_exp2l(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1294,6 +1335,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION exp2(_Tp __x) { return __builtin_exp2(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float expm1(float __x) { return __builtin_expm1f(__x); } @@ -1301,6 +1343,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double expm1(long double __x) { return __builtin_expm1l(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1308,6 +1351,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION expm1(_Tp __x) { return __builtin_expm1(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float fdim(float __x, float __y) { return __builtin_fdimf(__x, __y); } @@ -1315,6 +1359,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double fdim(long double __x, long double __y) { return __builtin_fdiml(__x, __y); } +#endif template<typename _Tp, typename _Up> constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -1324,6 +1369,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return fdim(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float fma(float __x, float __y, float __z) { return __builtin_fmaf(__x, __y, __z); } @@ -1331,6 +1377,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double fma(long double __x, long double __y, long double __z) { return __builtin_fmal(__x, __y, __z); } +#endif template<typename _Tp, typename _Up, typename _Vp> constexpr typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type @@ -1340,6 +1387,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return fma(__type(__x), __type(__y), __type(__z)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float fmax(float __x, float __y) { return __builtin_fmaxf(__x, __y); } @@ -1347,6 +1395,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double fmax(long double __x, long double __y) { return __builtin_fmaxl(__x, __y); } +#endif template<typename _Tp, typename _Up> constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -1356,6 +1405,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return fmax(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float fmin(float __x, float __y) { return __builtin_fminf(__x, __y); } @@ -1363,6 +1413,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double fmin(long double __x, long double __y) { return __builtin_fminl(__x, __y); } +#endif template<typename _Tp, typename _Up> constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -1372,6 +1423,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return fmin(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float hypot(float __x, float __y) { return __builtin_hypotf(__x, __y); } @@ -1379,6 +1431,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double hypot(long double __x, long double __y) { return __builtin_hypotl(__x, __y); } +#endif template<typename _Tp, typename _Up> constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -1388,6 +1441,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return hypot(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr int ilogb(float __x) { return __builtin_ilogbf(__x); } @@ -1395,6 +1449,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr int ilogb(long double __x) { return __builtin_ilogbl(__x); } +#endif template<typename _Tp> constexpr @@ -1403,6 +1458,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ilogb(_Tp __x) { return __builtin_ilogb(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float lgamma(float __x) { return __builtin_lgammaf(__x); } @@ -1410,6 +1466,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double lgamma(long double __x) { return __builtin_lgammal(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1417,6 +1474,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION lgamma(_Tp __x) { return __builtin_lgamma(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr long long llrint(float __x) { return __builtin_llrintf(__x); } @@ -1424,6 +1482,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long long llrint(long double __x) { return __builtin_llrintl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1431,6 +1490,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION llrint(_Tp __x) { return __builtin_llrint(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr long long llround(float __x) { return __builtin_llroundf(__x); } @@ -1438,6 +1498,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long long llround(long double __x) { return __builtin_llroundl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1445,6 +1506,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION llround(_Tp __x) { return __builtin_llround(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float log1p(float __x) { return __builtin_log1pf(__x); } @@ -1452,6 +1514,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double log1p(long double __x) { return __builtin_log1pl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1459,6 +1522,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION log1p(_Tp __x) { return __builtin_log1p(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO // DR 568. constexpr float log2(float __x) @@ -1467,6 +1531,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double log2(long double __x) { return __builtin_log2l(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1474,6 +1539,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION log2(_Tp __x) { return __builtin_log2(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float logb(float __x) { return __builtin_logbf(__x); } @@ -1481,6 +1547,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double logb(long double __x) { return __builtin_logbl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1488,6 +1555,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION logb(_Tp __x) { return __builtin_logb(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr long lrint(float __x) { return __builtin_lrintf(__x); } @@ -1495,6 +1563,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long lrint(long double __x) { return __builtin_lrintl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1502,6 +1571,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION lrint(_Tp __x) { return __builtin_lrint(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr long lround(float __x) { return __builtin_lroundf(__x); } @@ -1509,6 +1579,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long lround(long double __x) { return __builtin_lroundl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1516,6 +1587,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION lround(_Tp __x) { return __builtin_lround(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float nearbyint(float __x) { return __builtin_nearbyintf(__x); } @@ -1523,6 +1595,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double nearbyint(long double __x) { return __builtin_nearbyintl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1530,6 +1603,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION nearbyint(_Tp __x) { return __builtin_nearbyint(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float nextafter(float __x, float __y) { return __builtin_nextafterf(__x, __y); } @@ -1537,6 +1611,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double nextafter(long double __x, long double __y) { return __builtin_nextafterl(__x, __y); } +#endif template<typename _Tp, typename _Up> constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -1546,6 +1621,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return nextafter(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float nexttoward(float __x, long double __y) { return __builtin_nexttowardf(__x, __y); } @@ -1553,6 +1629,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double nexttoward(long double __x, long double __y) { return __builtin_nexttowardl(__x, __y); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1560,6 +1637,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION nexttoward(_Tp __x, long double __y) { return __builtin_nexttoward(__x, __y); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float remainder(float __x, float __y) { return __builtin_remainderf(__x, __y); } @@ -1567,6 +1645,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double remainder(long double __x, long double __y) { return __builtin_remainderl(__x, __y); } +#endif template<typename _Tp, typename _Up> constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -1576,6 +1655,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return remainder(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float remquo(float __x, float __y, int* __pquo) { return __builtin_remquof(__x, __y, __pquo); } @@ -1583,6 +1663,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double remquo(long double __x, long double __y, int* __pquo) { return __builtin_remquol(__x, __y, __pquo); } +#endif template<typename _Tp, typename _Up> inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -1592,6 +1673,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return remquo(__type(__x), __type(__y), __pquo); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float rint(float __x) { return __builtin_rintf(__x); } @@ -1599,6 +1681,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double rint(long double __x) { return __builtin_rintl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1606,6 +1689,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION rint(_Tp __x) { return __builtin_rint(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float round(float __x) { return __builtin_roundf(__x); } @@ -1613,6 +1697,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double round(long double __x) { return __builtin_roundl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1620,6 +1705,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION round(_Tp __x) { return __builtin_round(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float scalbln(float __x, long __ex) { return __builtin_scalblnf(__x, __ex); } @@ -1627,6 +1713,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double scalbln(long double __x, long __ex) { return __builtin_scalblnl(__x, __ex); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1634,6 +1721,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION scalbln(_Tp __x, long __ex) { return __builtin_scalbln(__x, __ex); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float scalbn(float __x, int __ex) { return __builtin_scalbnf(__x, __ex); } @@ -1641,6 +1729,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double scalbn(long double __x, int __ex) { return __builtin_scalbnl(__x, __ex); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1648,6 +1737,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION scalbn(_Tp __x, int __ex) { return __builtin_scalbn(__x, __ex); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float tgamma(float __x) { return __builtin_tgammaf(__x); } @@ -1655,6 +1745,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double tgamma(long double __x) { return __builtin_tgammal(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -1662,6 +1753,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION tgamma(_Tp __x) { return __builtin_tgamma(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO constexpr float trunc(float __x) { return __builtin_truncf(__x); } @@ -1669,6 +1761,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr long double trunc(long double __x) { return __builtin_truncl(__x); } +#endif template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector index bf0a88eb01c..085e5f73ade 100644 --- a/libstdc++-v3/include/debug/vector +++ b/libstdc++-v3/include/debug/vector @@ -37,9 +37,12 @@ namespace __gnu_debug { - /// Special vector safe base class to add a guaranteed capacity information - /// useful to detect code relying on the libstdc++ reallocation management - /// implementation detail. + /** @brief Base class for Debug Mode vector. + * + * Adds information about the guaranteed capacity, which is useful for + * detecting code which relies on non-portable implementation details of + * the libstdc++ reallocation policy. + */ template<typename _SafeSequence, typename _BaseSequence> class _Safe_vector diff --git a/libstdc++-v3/include/experimental/fs_fwd.h b/libstdc++-v3/include/experimental/fs_fwd.h index a5ed2c5de0e..dd6f5e6dd2c 100644 --- a/libstdc++-v3/include/experimental/fs_fwd.h +++ b/libstdc++-v3/include/experimental/fs_fwd.h @@ -22,8 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file experimental/filesystem - * This is a TS C++ Library header. +/** @file experimental/fs_fwd.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{experimental/filesystem} */ #ifndef _GLIBCXX_EXPERIMENTAL_FS_FWD_H @@ -52,7 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif /** - * @defgroup filesystem + * @defgroup filesystem Filesystem * @ingroup experimental * * Utilities for performing operations on file systems and their components, diff --git a/libstdc++-v3/include/experimental/fs_ops.h b/libstdc++-v3/include/experimental/fs_ops.h index 6b7d4709ee5..91b890203fe 100644 --- a/libstdc++-v3/include/experimental/fs_ops.h +++ b/libstdc++-v3/include/experimental/fs_ops.h @@ -22,8 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file experimental/filesystem - * This is a TS C++ Library header. +/** @file experimental/fs_fwd.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{experimental/filesystem} */ #ifndef _GLIBCXX_EXPERIMENTAL_FS_OPS_H diff --git a/libstdc++-v3/include/experimental/fs_path.h b/libstdc++-v3/include/experimental/fs_path.h index 1632a7e992d..176918a394b 100644 --- a/libstdc++-v3/include/experimental/fs_path.h +++ b/libstdc++-v3/include/experimental/fs_path.h @@ -549,16 +549,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 std::string _M_what = _M_gen_what(); }; - struct path::_Cmpt : path - { - _Cmpt(string_type __s, _Type __t, size_t __pos) - : path(std::move(__s), __t), _M_pos(__pos) { } - - _Cmpt() : _M_pos(-1) { } - - size_t _M_pos; - }; - template<> struct path::__is_encoded_char<char> : std::true_type { using value_type = char; }; @@ -575,6 +565,16 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 struct path::__is_encoded_char<char32_t> : std::true_type { using value_type = char32_t; }; + struct path::_Cmpt : path + { + _Cmpt(string_type __s, _Type __t, size_t __pos) + : path(std::move(__s), __t), _M_pos(__pos) { } + + _Cmpt() : _M_pos(-1) { } + + size_t _M_pos; + }; + // specialize _Cvt for degenerate 'noconv' case template<> struct path::_Cvt<path::value_type> diff --git a/libstdc++-v3/include/experimental/optional b/libstdc++-v3/include/experimental/optional index 811235bfce4..f6e3fa0258a 100644 --- a/libstdc++-v3/include/experimental/optional +++ b/libstdc++-v3/include/experimental/optional @@ -33,6 +33,12 @@ * @defgroup experimental Experimental * * Components specified by various Technical Specifications. + * + * As indicated by the std::experimental namespace and the header paths, + * the contents of these Technical Specifications are experimental and not + * part of the C++ standard. As such the interfaces and implementations may + * change in the future, and there is <STRONG> no guarantee of compatibility + * between different GCC releases </STRONG> for these features. */ #if __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/string_view b/libstdc++-v3/include/experimental/string_view index 9c2b773573f..f11a1878c56 100644 --- a/libstdc++-v3/include/experimental/string_view +++ b/libstdc++-v3/include/experimental/string_view @@ -23,7 +23,7 @@ // <http://www.gnu.org/licenses/>. /** @file experimental/string_view - * This is a Standard C++ Library header. + * This is a TS C++ Library header. */ // diff --git a/libstdc++-v3/include/experimental/string_view.tcc b/libstdc++-v3/include/experimental/string_view.tcc index 75a34f90b2d..942184206a6 100644 --- a/libstdc++-v3/include/experimental/string_view.tcc +++ b/libstdc++-v3/include/experimental/string_view.tcc @@ -24,7 +24,7 @@ /** @file experimental/string_view.tcc * This is an internal header file, included by other library headers. - * Do not attempt to use it directly. @headername{string_view} + * Do not attempt to use it directly. @headername{experimental/string_view} */ // diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp index da01e1a2d4d..674fa920125 100644 --- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp +++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp @@ -166,13 +166,8 @@ namespace __gnu_pbds class Node_Update, class Node, typename _Alloc> - struct bin_search_tree_traits< - Key, - null_type, - Cmp_Fn, - Node_Update, - Node, - _Alloc> + struct + bin_search_tree_traits<Key, null_type, Cmp_Fn, Node_Update, Node, _Alloc> { private: typedef types_traits<Key, null_type, _Alloc, false> type_traits; diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset index d6be839bd77..44df60c115b 100644 --- a/libstdc++-v3/include/std/bitset +++ b/libstdc++-v3/include/std/bitset @@ -663,7 +663,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER }; #if __cplusplus >= 201103L - template<size_t _Nb, bool = _Nb < _GLIBCXX_BITSET_BITS_PER_ULL> + template<size_t _Nb, bool = (_Nb < _GLIBCXX_BITSET_BITS_PER_ULL)> struct _Sanitize_val { static constexpr unsigned long long @@ -681,8 +681,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER #endif /** - * @class bitset <bitset> - * * @brief The %bitset class represents a @e fixed-size sequence of bits. * @ingroup utilities * diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex index deb85dfefe0..b80a8a0123f 100644 --- a/libstdc++-v3/include/std/mutex +++ b/libstdc++-v3/include/std/mutex @@ -114,7 +114,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * @{ */ - /// mutex + /// The standard mutex type. class mutex : private __mutex_base { public: @@ -158,7 +158,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return &_M_mutex; } }; - /// recursive_mutex + /// The standard recursive mutex type. class recursive_mutex : private __recursive_mutex_base { public: @@ -243,7 +243,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } }; - /// timed_mutex + /// The standard timed mutex type. class timed_mutex : private __mutex_base, public __timed_mutex_impl<timed_mutex> { @@ -295,7 +295,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return &_M_mutex; } }; - /// recursive_timed_mutex + /// The standard recursive timed mutex type. class recursive_timed_mutex : private __recursive_mutex_base, public __timed_mutex_impl<recursive_timed_mutex> @@ -360,13 +360,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /// and manage it. struct adopt_lock_t { }; + /// Tag used to prevent a scoped lock from acquiring ownership of a mutex. constexpr defer_lock_t defer_lock { }; + + /// Tag used to prevent a scoped lock from blocking if a mutex is locked. constexpr try_to_lock_t try_to_lock { }; + + /// Tag used to make a scoped lock take ownership of a locked mutex. constexpr adopt_lock_t adopt_lock { }; - /// @brief Scoped lock idiom. - // Acquire the mutex here with a constructor call, then release with - // the destructor call in accordance with RAII style. + /** @brief A movable scoped lock type. + * + * A unique_lock controls mutex ownership within a scope. Ownership of the + * mutex can be delayed until after construction and can be transferred + * to another unique_lock by move construction or move assignment. If a + * mutex lock is owned when the destructor runs ownership will be released. + */ template<typename _Mutex> class lock_guard { diff --git a/libstdc++-v3/include/tr1/cmath b/libstdc++-v3/include/tr1/cmath index e299c84fd1c..181cc2440f1 100644 --- a/libstdc++-v3/include/tr1/cmath +++ b/libstdc++-v3/include/tr1/cmath @@ -419,6 +419,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /// Additional overloads [8.16.4]. using std::acos; +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float acosh(float __x) { return __builtin_acoshf(__x); } @@ -426,6 +427,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double acosh(long double __x) { return __builtin_acoshl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -435,6 +437,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using std::asin; +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float asinh(float __x) { return __builtin_asinhf(__x); } @@ -442,6 +445,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double asinh(long double __x) { return __builtin_asinhl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -452,6 +456,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using std::atan; using std::atan2; +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float atanh(float __x) { return __builtin_atanhf(__x); } @@ -459,6 +464,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double atanh(long double __x) { return __builtin_atanhl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -466,6 +472,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION atanh(_Tp __x) { return __builtin_atanh(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float cbrt(float __x) { return __builtin_cbrtf(__x); } @@ -473,6 +480,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double cbrt(long double __x) { return __builtin_cbrtl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -482,6 +490,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using std::ceil; +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float copysign(float __x, float __y) { return __builtin_copysignf(__x, __y); } @@ -489,6 +498,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double copysign(long double __x, long double __y) { return __builtin_copysignl(__x, __y); } +#endif template<typename _Tp, typename _Up> inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -501,6 +511,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using std::cos; using std::cosh; +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float erf(float __x) { return __builtin_erff(__x); } @@ -508,6 +519,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double erf(long double __x) { return __builtin_erfl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -515,6 +527,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION erf(_Tp __x) { return __builtin_erf(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float erfc(float __x) { return __builtin_erfcf(__x); } @@ -522,6 +535,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double erfc(long double __x) { return __builtin_erfcl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -531,6 +545,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using std::exp; +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float exp2(float __x) { return __builtin_exp2f(__x); } @@ -538,6 +553,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double exp2(long double __x) { return __builtin_exp2l(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -545,6 +561,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION exp2(_Tp __x) { return __builtin_exp2(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float expm1(float __x) { return __builtin_expm1f(__x); } @@ -552,6 +569,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double expm1(long double __x) { return __builtin_expm1l(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -568,6 +586,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::fabs; #ifndef __CORRECT_ISO_CPP_MATH_H_PROTO +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float fabs(float __x) { return __builtin_fabsf(__x); } @@ -575,6 +594,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double fabs(long double __x) { return __builtin_fabsl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -583,6 +603,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_fabs(__x); } #endif +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float fdim(float __x, float __y) { return __builtin_fdimf(__x, __y); } @@ -590,6 +611,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double fdim(long double __x, long double __y) { return __builtin_fdiml(__x, __y); } +#endif template<typename _Tp, typename _Up> inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -601,6 +623,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using std::floor; +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float fma(float __x, float __y, float __z) { return __builtin_fmaf(__x, __y, __z); } @@ -608,6 +631,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double fma(long double __x, long double __y, long double __z) { return __builtin_fmal(__x, __y, __z); } +#endif template<typename _Tp, typename _Up, typename _Vp> inline typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type @@ -617,6 +641,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return fma(__type(__x), __type(__y), __type(__z)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float fmax(float __x, float __y) { return __builtin_fmaxf(__x, __y); } @@ -624,6 +649,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double fmax(long double __x, long double __y) { return __builtin_fmaxl(__x, __y); } +#endif template<typename _Tp, typename _Up> inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -633,6 +659,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return fmax(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float fmin(float __x, float __y) { return __builtin_fminf(__x, __y); } @@ -640,6 +667,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double fmin(long double __x, long double __y) { return __builtin_fminl(__x, __y); } +#endif template<typename _Tp, typename _Up> inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -652,6 +680,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using std::fmod; using std::frexp; +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float hypot(float __x, float __y) { return __builtin_hypotf(__x, __y); } @@ -659,6 +688,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double hypot(long double __x, long double __y) { return __builtin_hypotl(__x, __y); } +#endif template<typename _Tp, typename _Up> inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -668,6 +698,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return hypot(__type(__y), __type(__x)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline int ilogb(float __x) { return __builtin_ilogbf(__x); } @@ -675,6 +706,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline int ilogb(long double __x) { return __builtin_ilogbl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -684,6 +716,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using std::ldexp; +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float lgamma(float __x) { return __builtin_lgammaf(__x); } @@ -691,6 +724,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double lgamma(long double __x) { return __builtin_lgammal(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -698,6 +732,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION lgamma(_Tp __x) { return __builtin_lgamma(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline long long llrint(float __x) { return __builtin_llrintf(__x); } @@ -705,6 +740,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long long llrint(long double __x) { return __builtin_llrintl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -712,6 +748,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION llrint(_Tp __x) { return __builtin_llrint(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline long long llround(float __x) { return __builtin_llroundf(__x); } @@ -719,6 +756,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long long llround(long double __x) { return __builtin_llroundl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -729,6 +767,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using std::log; using std::log10; +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float log1p(float __x) { return __builtin_log1pf(__x); } @@ -736,6 +775,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double log1p(long double __x) { return __builtin_log1pl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -744,6 +784,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_log1p(__x); } // DR 568. +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float log2(float __x) { return __builtin_log2f(__x); } @@ -751,6 +792,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double log2(long double __x) { return __builtin_log2l(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -758,6 +800,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION log2(_Tp __x) { return __builtin_log2(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float logb(float __x) { return __builtin_logbf(__x); } @@ -765,6 +808,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double logb(long double __x) { return __builtin_logbl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -774,6 +818,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __builtin_logb(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline long lrint(float __x) { return __builtin_lrintf(__x); } @@ -781,6 +826,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long lrint(long double __x) { return __builtin_lrintl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -788,6 +834,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION lrint(_Tp __x) { return __builtin_lrint(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline long lround(float __x) { return __builtin_lroundf(__x); } @@ -795,6 +842,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long lround(long double __x) { return __builtin_lroundl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -802,6 +850,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION lround(_Tp __x) { return __builtin_lround(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float nearbyint(float __x) { return __builtin_nearbyintf(__x); } @@ -809,6 +858,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double nearbyint(long double __x) { return __builtin_nearbyintl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -816,6 +866,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION nearbyint(_Tp __x) { return __builtin_nearbyint(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float nextafter(float __x, float __y) { return __builtin_nextafterf(__x, __y); } @@ -823,6 +874,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double nextafter(long double __x, long double __y) { return __builtin_nextafterl(__x, __y); } +#endif template<typename _Tp, typename _Up> inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -832,6 +884,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return nextafter(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float nexttoward(float __x, long double __y) { return __builtin_nexttowardf(__x, __y); } @@ -839,6 +892,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double nexttoward(long double __x, long double __y) { return __builtin_nexttowardl(__x, __y); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -846,6 +900,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION nexttoward(_Tp __x, long double __y) { return __builtin_nexttoward(__x, __y); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float remainder(float __x, float __y) { return __builtin_remainderf(__x, __y); } @@ -853,6 +908,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double remainder(long double __x, long double __y) { return __builtin_remainderl(__x, __y); } +#endif template<typename _Tp, typename _Up> inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -862,6 +918,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return remainder(__type(__x), __type(__y)); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float remquo(float __x, float __y, int* __pquo) { return __builtin_remquof(__x, __y, __pquo); } @@ -869,6 +926,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double remquo(long double __x, long double __y, int* __pquo) { return __builtin_remquol(__x, __y, __pquo); } +#endif template<typename _Tp, typename _Up> inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type @@ -878,6 +936,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return remquo(__type(__x), __type(__y), __pquo); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float rint(float __x) { return __builtin_rintf(__x); } @@ -885,6 +944,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double rint(long double __x) { return __builtin_rintl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -892,6 +952,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION rint(_Tp __x) { return __builtin_rint(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float round(float __x) { return __builtin_roundf(__x); } @@ -899,6 +960,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double round(long double __x) { return __builtin_roundl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -906,6 +968,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION round(_Tp __x) { return __builtin_round(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float scalbln(float __x, long __ex) { return __builtin_scalblnf(__x, __ex); } @@ -913,6 +976,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double scalbln(long double __x, long __ex) { return __builtin_scalblnl(__x, __ex); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -920,6 +984,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION scalbln(_Tp __x, long __ex) { return __builtin_scalbln(__x, __ex); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float scalbn(float __x, int __ex) { return __builtin_scalbnf(__x, __ex); } @@ -927,6 +992,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double scalbn(long double __x, int __ex) { return __builtin_scalbnl(__x, __ex); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -940,6 +1006,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using std::tan; using std::tanh; +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float tgamma(float __x) { return __builtin_tgammaf(__x); } @@ -947,6 +1014,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double tgamma(long double __x) { return __builtin_tgammal(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -954,6 +1022,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION tgamma(_Tp __x) { return __builtin_tgamma(__x); } +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float trunc(float __x) { return __builtin_truncf(__x); } @@ -961,6 +1030,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double trunc(long double __x) { return __builtin_truncl(__x); } +#endif template<typename _Tp> inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, @@ -994,6 +1064,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // the discussion about this issue here: // http://gcc.gnu.org/ml/gcc-patches/2012-09/msg01278.html +#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO inline float pow(float __x, float __y) { return std::pow(__x, __y); } @@ -1001,6 +1072,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline long double pow(long double __x, long double __y) { return std::pow(__x, __y); } +#endif template<typename _Tp, typename _Up> inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type diff --git a/libstdc++-v3/include/tr2/dynamic_bitset b/libstdc++-v3/include/tr2/dynamic_bitset index 183179f25d1..77bddc32b95 100644 --- a/libstdc++-v3/include/tr2/dynamic_bitset +++ b/libstdc++-v3/include/tr2/dynamic_bitset @@ -593,6 +593,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * @param __str A string of '0' and '1' characters. * @param __pos Index of the first character in @p __str to use. * @param __n The number of characters to copy. + * @param __zero The character to use for unset bits. + * @param __one The character to use for set bits. + * @param __alloc An allocator. * @throw std::out_of_range If @p __pos is bigger the size of @p __str. * @throw std::invalid_argument If a character appears in the string * which is neither '0' nor '1'. diff --git a/libstdc++-v3/python/hook.in b/libstdc++-v3/python/hook.in index 07fe4c62417..703b6a74488 100644 --- a/libstdc++-v3/python/hook.in +++ b/libstdc++-v3/python/hook.in @@ -55,4 +55,7 @@ if gdb.current_objfile () is not None: if not dir_ in sys.path: sys.path.insert(0, dir_) -import libstdcxx.v6 +# Call a function as a plain import would not execute body of the included file +# on repeated reloads of this object file. +from libstdcxx.v6 import register_libstdcxx_printers +register_libstdcxx_printers(gdb.current_objfile()) diff --git a/libstdc++-v3/python/libstdcxx/v6/__init__.py b/libstdc++-v3/python/libstdcxx/v6/__init__.py index de3aa728ceb..d8e060c809d 100644 --- a/libstdc++-v3/python/libstdcxx/v6/__init__.py +++ b/libstdc++-v3/python/libstdcxx/v6/__init__.py @@ -15,10 +15,6 @@ import gdb -# Load the pretty-printers. -from .printers import register_libstdcxx_printers -register_libstdcxx_printers(gdb.current_objfile()) - # Load the xmethods if GDB supports them. def gdb_has_xmethods(): try: @@ -27,6 +23,11 @@ def gdb_has_xmethods(): except ImportError: return False -if gdb_has_xmethods(): - from .xmethods import register_libstdcxx_xmethods - register_libstdcxx_xmethods(gdb.current_objfile()) +def register_libstdcxx_printers(obj): + # Load the pretty-printers. + from .printers import register_libstdcxx_printers + register_libstdcxx_printers(obj) + + if gdb_has_xmethods(): + from .xmethods import register_libstdcxx_xmethods + register_libstdcxx_xmethods(obj) diff --git a/libstdc++-v3/python/libstdcxx/v6/printers.py b/libstdc++-v3/python/libstdcxx/v6/printers.py index 2b6e4096ae4..51bd03a3ac5 100644 --- a/libstdc++-v3/python/libstdcxx/v6/printers.py +++ b/libstdc++-v3/python/libstdcxx/v6/printers.py @@ -85,7 +85,9 @@ except ImportError: def find_type(orig, name): typ = orig.strip_typedefs() while True: - search = str(typ) + '::' + name + # Use typ.name here instead of str(typ) to discard any const,etc. + # qualifiers. PR 67440. + search = typ.name + '::' + name try: return gdb.lookup_type(search) except RuntimeError: diff --git a/libstdc++-v3/scripts/run_doxygen b/libstdc++-v3/scripts/run_doxygen index 461adaa7da0..021ebd0b561 100644 --- a/libstdc++-v3/scripts/run_doxygen +++ b/libstdc++-v3/scripts/run_doxygen @@ -334,6 +334,23 @@ for f in *__profile_*; do mv $f $newname done +# Remove inline namespaces used for versioning. +for f in *_V2_*; do + newname=`echo $f | sed 's/_V2_/::/'` + sed 's/::_V2::/::/g' $f > $newname + rm $f +done +for f in *_experimental_filesystem_v?_*; do + newname=`echo $f | sed 's/_filesystem_v._/::filesystem::/'` + sed 's/::filesystem::v.::/::filesystem::/g' $f > $newname + rm $f +done +for f in *experimental_fundamentals_v?_*; do + newname=`echo $f | sed 's/experimental_.*_v[[:digit:]]_/experimental::/'` + sed 's/::experimental::fundamentals_v[[:digit:]]::/::experimental::/g' $f > $newname + rm $f +done + # Then, clean up other top-level namespaces. for f in std_tr1_*; do newname=`echo $f | sed 's/^std_tr1_/std::tr1::/'` diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc new file mode 100644 index 00000000000..ea0f28da8f5 --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc @@ -0,0 +1,56 @@ +// Copyright (C) 2015 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING3. If not see +// <http://www.gnu.org/licenses/>. + +// { dg-options "-std=gnu++11" } + +#include <memory> +#include <testsuite_hooks.h> + +struct A : std::enable_shared_from_this<A> +{ + void* a() { return shared_from_this().get(); } +}; + +struct B : std::enable_shared_from_this<B> +{ +}; + +struct D : A, B +{ +}; + +void test01() +{ + bool test = false; + + auto d = std::make_shared<D>(); + try + { + d->a(); + } + catch (const std::bad_weak_ptr&) + { + test = true; + } + VERIFY(test); +} + +int +main() +{ + test01(); +} diff --git a/libstdc++-v3/testsuite/23_containers/map/operations/2.cc b/libstdc++-v3/testsuite/23_containers/map/operations/2.cc index 6cc277aedce..ef301ef136c 100644 --- a/libstdc++-v3/testsuite/23_containers/map/operations/2.cc +++ b/libstdc++-v3/testsuite/23_containers/map/operations/2.cc @@ -54,6 +54,11 @@ test01() VERIFY( cit == cx.end() ); VERIFY( Cmp::count == 0); + + static_assert(std::is_same<decltype(it), test_type::iterator>::value, + "find returns iterator"); + static_assert(std::is_same<decltype(cit), test_type::const_iterator>::value, + "const find returns const_iterator"); } void diff --git a/libstdc++-v3/testsuite/23_containers/multimap/operations/2.cc b/libstdc++-v3/testsuite/23_containers/multimap/operations/2.cc index 67c3bfd60a3..eef6ee4515d 100644 --- a/libstdc++-v3/testsuite/23_containers/multimap/operations/2.cc +++ b/libstdc++-v3/testsuite/23_containers/multimap/operations/2.cc @@ -54,6 +54,11 @@ test01() VERIFY( cit == cx.end() ); VERIFY( Cmp::count == 0); + + static_assert(std::is_same<decltype(it), test_type::iterator>::value, + "find returns iterator"); + static_assert(std::is_same<decltype(cit), test_type::const_iterator>::value, + "const find returns const_iterator"); } void diff --git a/libstdc++-v3/testsuite/23_containers/multiset/operations/2.cc b/libstdc++-v3/testsuite/23_containers/multiset/operations/2.cc index ff2748f713a..4bea719160f 100644 --- a/libstdc++-v3/testsuite/23_containers/multiset/operations/2.cc +++ b/libstdc++-v3/testsuite/23_containers/multiset/operations/2.cc @@ -54,6 +54,11 @@ test01() VERIFY( cit == cx.end() ); VERIFY( Cmp::count == 0); + + static_assert(std::is_same<decltype(it), test_type::iterator>::value, + "find returns iterator"); + static_assert(std::is_same<decltype(cit), test_type::const_iterator>::value, + "const find returns const_iterator"); } void diff --git a/libstdc++-v3/testsuite/23_containers/set/operations/2.cc b/libstdc++-v3/testsuite/23_containers/set/operations/2.cc index 84ddd1f1ddc..6a68453ec7b 100644 --- a/libstdc++-v3/testsuite/23_containers/set/operations/2.cc +++ b/libstdc++-v3/testsuite/23_containers/set/operations/2.cc @@ -54,6 +54,11 @@ test01() VERIFY( cit == cx.end() ); VERIFY( Cmp::count == 0); + + static_assert(std::is_same<decltype(it), test_type::iterator>::value, + "find returns iterator"); + static_assert(std::is_same<decltype(cit), test_type::const_iterator>::value, + "const find returns const_iterator"); } void diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc index 983ac95e53b..36bed1486ad 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc @@ -20,7 +20,7 @@ // { dg-do compile } // { dg-add-options no_pch } -// { dg-xfail-if "" { { *-*-linux* *-*-gnu* *-*-darwin* *-*-solaris2.1[0-9]* hppa*-*-hpux* *-*-mingw* *-*-aix* } || { uclibc || newlib } } { "*" } { "" } } +// { dg-xfail-if "" { { *-*-linux* *-*-gnu* *-*-darwin* *-*-solaris2.1[01]* hppa*-*-hpux* *-*-mingw* *-*-aix* } || { uclibc || newlib } } { "*" } { "" } } // { dg-excess-errors "" { target { { *-*-linux* *-*-gnu* *-*-darwin* *-*-solaris2.1[0-9]* hppa*-*-hpux* *-*-mingw* *-*-aix* } || { uclibc || newlib } } } } #include <math.h> diff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/case_label.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/case_label.cc index 591e3714366..7fb0a18b52a 100644 --- a/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/case_label.cc +++ b/libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/case_label.cc @@ -1,5 +1,5 @@ // { dg-do compile } -// { dg-options "-Wall" { target *-*-* } } +// { dg-options "-Wall -std=gnu++14" { target *-*-* } } // -*- C++ -*- // Copyright (C) 2004-2015 Free Software Foundation, Inc. @@ -70,5 +70,11 @@ case_labels(bitmask_type b) break; case std::_S_ios_fmtflags_end: break; + case __INT_MAX__: + break; + case ~__INT_MAX__: + break; } + static_assert( sizeof(std::underlying_type_t<bitmask_type>) == sizeof(int), + "underlying type has same range of values as int"); } diff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/case_label.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/case_label.cc index 44fb44e7a8a..a44bca35af1 100644 --- a/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/case_label.cc +++ b/libstdc++-v3/testsuite/27_io/ios_base/types/iostate/case_label.cc @@ -1,5 +1,5 @@ // { dg-do compile } -// { dg-options "-Wall" { target *-*-* } } +// { dg-options "-Wall -std=gnu++14" { target *-*-* } } // -*- C++ -*- // Copyright (C) 2004-2015 Free Software Foundation, Inc. @@ -42,5 +42,11 @@ case_labels(bitmask_type b) break; case std::_S_ios_iostate_end: break; + case __INT_MAX__: + break; + case ~__INT_MAX__: + break; } + static_assert( sizeof(std::underlying_type_t<bitmask_type>) == sizeof(int), + "underlying type has same range of values as int"); } diff --git a/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/case_label.cc b/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/case_label.cc index 267f8a228b4..43ddd19fb91 100644 --- a/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/case_label.cc +++ b/libstdc++-v3/testsuite/27_io/ios_base/types/openmode/case_label.cc @@ -1,5 +1,5 @@ // { dg-do compile } -// { dg-options "-Wall" { target *-*-* } } +// { dg-options "-Wall -std=gnu++14" { target *-*-* } } // -*- C++ -*- // Copyright (C) 2004-2015 Free Software Foundation, Inc. @@ -46,5 +46,11 @@ case_labels(bitmask_type b) break; case std::_S_ios_openmode_end: break; + case __INT_MAX__: + break; + case ~__INT_MAX__: + break; } + static_assert( sizeof(std::underlying_type_t<bitmask_type>) == sizeof(int), + "underlying type has same range of values as int"); } diff --git a/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc new file mode 100644 index 00000000000..9e7a9a73614 --- /dev/null +++ b/libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc @@ -0,0 +1,43 @@ +// { dg-options "-std=gnu++11" } + +// Copyright (C) 2015 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/>. + +// 28.11.2 regex_match + +#include <regex> +#include <testsuite_hooks.h> +#include <testsuite_regex.h> + +using namespace __gnu_test; +using namespace std; + +// libstdc++/68863 +void +test01() +{ + bool test __attribute__((unused)) = true; + + VERIFY(!std::regex_match("aa", std::regex("(.)(?!\\1)."))); +} + +int +main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc index c62ef61ebfe..046888f77cd 100644 --- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc +++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc @@ -1,5 +1,5 @@ // { dg-do run } -// { dg-options "-g -O0" } +// { dg-options "-g -O0 -std=gnu++98" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // @@ -70,6 +70,13 @@ main() std::map<std::string, int>::iterator mpiter = mp.begin(); // { dg-final { note-test mpiter {{first = "zardoz", second = 23}} } } + // PR 67440 + std::set<int> intset; + intset.insert(2); + intset.insert(3); + const std::set<int> const_intset = intset; +// { dg-final { note-test const_intset {std::__debug::set with 2 elements = {[0] = 2, [1] = 3}} } } + std::set<std::string> sp; sp.insert("clownfish"); sp.insert("barrel"); diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc index ad3c2561296..e1956bfa528 100644 --- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc +++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc @@ -1,7 +1,7 @@ // If you modify this, please update simple11.cc and debug.cc as well. // { dg-do run } -// { dg-options "-g -O0" } +// { dg-options "-g -O0 -std=gnu++98" } // Copyright (C) 2011-2015 Free Software Foundation, Inc. // @@ -73,6 +73,13 @@ main() std::map<std::string, int>::iterator mpiter = mp.begin(); // { dg-final { note-test mpiter {{first = "zardoz", second = 23}} } } + // PR 67440 + std::set<int> intset; + intset.insert(2); + intset.insert(3); + const std::set<int> const_intset = intset; +// { dg-final { note-test const_intset {std::set with 2 elements = {[0] = 2, [1] = 3}} } } + std::set<std::string> sp; sp.insert("clownfish"); sp.insert("barrel"); diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc index ba36a6abef4..5f7e9a6a7af 100644 --- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc +++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc @@ -73,6 +73,10 @@ main() std::map<std::string, int>::iterator mpiter = mp.begin(); // { dg-final { note-test mpiter {{first = "zardoz", second = 23}} } } + // PR 67440 + const std::set<int> const_intset = {2, 3}; +// { dg-final { note-test const_intset {std::set with 2 elements = {[0] = 2, [1] = 3}} } } + std::set<std::string> sp; sp.insert("clownfish"); sp.insert("barrel"); diff --git a/libtool.m4 b/libtool.m4 index 4b2d30a1558..24d13f34409 100644 --- a/libtool.m4 +++ b/libtool.m4 @@ -4230,7 +4230,7 @@ m4_if([$1], [CXX], [ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) @@ -4641,7 +4641,7 @@ _LT_EOF if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no diff --git a/libvtv/ChangeLog b/libvtv/ChangeLog index 2a80a0823d6..6295ac3b34d 100644 --- a/libvtv/ChangeLog +++ b/libvtv/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/lto-plugin/ChangeLog b/lto-plugin/ChangeLog index 9d5a5aabc91..81f7df7c66d 100644 --- a/lto-plugin/ChangeLog +++ b/lto-plugin/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog index edd7f1ed17a..cbc27535a91 100644 --- a/maintainer-scripts/ChangeLog +++ b/maintainer-scripts/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. diff --git a/zlib/ChangeLog b/zlib/ChangeLog index 36bcfb33026..902f9929f64 100644 --- a/zlib/ChangeLog +++ b/zlib/ChangeLog @@ -1,3 +1,7 @@ +2015-12-04 Release Manager + + * GCC 5.3.0 released. + 2015-07-16 Release Manager * GCC 5.2.0 released. |