aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYvan Roux <yvan.roux@linaro.org>2015-12-15 10:44:46 +0100
committerYvan Roux <yvan.roux@linaro.org>2015-12-15 14:41:45 +0100
commit966a7fddb78c4fad3c2efb46c969308686557ec0 (patch)
treeed597a56f1ed08195ec07841c5608cf4d2945a47
parent7f7da9776a2100eb6e64c142732c89ecc719d45d (diff)
Merge branches/gcc-5-branch rev 231642.
Change-Id: I58832e31b4e58588e1d0800c3fc09a01f91b6320
-rw-r--r--ChangeLog22
-rw-r--r--Makefile.def1
-rw-r--r--Makefile.in1
-rw-r--r--boehm-gc/ChangeLog4
-rw-r--r--config/ChangeLog4
-rw-r--r--contrib/ChangeLog4
-rw-r--r--contrib/reghunt/ChangeLog4
-rw-r--r--contrib/regression/ChangeLog4
-rw-r--r--fixincludes/ChangeLog4
-rw-r--r--gcc/BASE-VER2
-rw-r--r--gcc/ChangeLog552
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/ada/ChangeLog63
-rw-r--r--gcc/ada/doc/gnat_ugn/gnat_and_program_execution.rst2
-rw-r--r--gcc/ada/gcc-interface/Makefile.in61
-rw-r--r--gcc/ada/gcc-interface/decl.c23
-rw-r--r--gcc/ada/gcc-interface/trans.c3
-rw-r--r--gcc/ada/s-oscons-tmplt.c7
-rw-r--r--gcc/ada/s-osinte-freebsd.ads9
-rw-r--r--gcc/ada/s-osinte-kfreebsd-gnu.ads119
-rw-r--r--gcc/ada/s-osinte-rtems.ads50
-rw-r--r--gcc/alias.c19
-rw-r--r--gcc/c-family/ChangeLog4
-rw-r--r--gcc/c/ChangeLog4
-rw-r--r--gcc/calls.c27
-rw-r--r--gcc/cfgexpand.c9
-rw-r--r--gcc/config/aarch64/aarch64-protos.h3
-rw-r--r--gcc/config/aarch64/aarch64.c29
-rw-r--r--gcc/config/aarch64/aarch64.h5
-rw-r--r--gcc/config/aarch64/aarch64.md8
-rw-r--r--gcc/config/aarch64/predicates.md2
-rw-r--r--gcc/config/arm/arm.c37
-rw-r--r--gcc/config/i386/freebsd.h25
-rw-r--r--gcc/config/i386/i386.c40
-rw-r--r--gcc/config/i386/i386.h2
-rw-r--r--gcc/config/i386/i386.md6
-rw-r--r--gcc/config/pa/pa.c22
-rw-r--r--gcc/config/rs6000/freebsd64.h15
-rw-r--r--gcc/config/rs6000/rs6000.c24
-rw-r--r--gcc/config/rs6000/rs6000.md175
-rw-r--r--gcc/config/s390/s390.md35
-rw-r--r--gcc/config/sh/sh.md42
-rw-r--r--gcc/config/sparc/sp-elf.h4
-rw-r--r--gcc/config/sparc/sparc.c5
-rwxr-xr-xgcc/configure2
-rw-r--r--gcc/configure.ac2
-rw-r--r--gcc/cp/ChangeLog86
-rw-r--r--gcc/cp/constexpr.c11
-rw-r--r--gcc/cp/cp-tree.h13
-rw-r--r--gcc/cp/cp-ubsan.c7
-rw-r--r--gcc/cp/decl.c69
-rw-r--r--gcc/cp/decl2.c74
-rw-r--r--gcc/cp/lambda.c6
-rw-r--r--gcc/cp/mangle.c27
-rw-r--r--gcc/cp/optimize.c7
-rw-r--r--gcc/cp/parser.c1
-rw-r--r--gcc/cp/pt.c10
-rw-r--r--gcc/cp/typeck.c6
-rw-r--r--gcc/diagnostic.c13
-rw-r--r--gcc/diagnostic.h4
-rw-r--r--gcc/doc/md.texi51
-rw-r--r--gcc/doc/tm.texi15
-rw-r--r--gcc/doc/tm.texi.in15
-rw-r--r--gcc/fold-const.c42
-rw-r--r--gcc/fortran/ChangeLog74
-rw-r--r--gcc/fortran/array.c30
-rw-r--r--gcc/fortran/check.c10
-rw-r--r--gcc/fortran/class.c4
-rw-r--r--gcc/fortran/decl.c21
-rw-r--r--gcc/fortran/expr.c36
-rw-r--r--gcc/fortran/io.c9
-rw-r--r--gcc/fortran/match.c9
-rw-r--r--gcc/fortran/trans-array.c2
-rw-r--r--gcc/fortran/trans-intrinsic.c33
-rw-r--r--gcc/fortran/trans-stmt.c48
-rw-r--r--gcc/fortran/trans-types.c14
-rw-r--r--gcc/fortran/trans.c20
-rw-r--r--gcc/gimple-fold.c13
-rw-r--r--gcc/go/ChangeLog4
-rw-r--r--gcc/go/gofrontend/types.cc11
-rw-r--r--gcc/ifcvt.c20
-rw-r--r--gcc/ipa-cp.c25
-rw-r--r--gcc/ipa-devirt.c1
-rw-r--r--gcc/ipa-icf.c138
-rw-r--r--gcc/ipa-icf.h17
-rw-r--r--gcc/ipa-inline-analysis.c65
-rw-r--r--gcc/ipa-polymorphic-call.c55
-rw-r--r--gcc/ira.c9
-rw-r--r--gcc/java/ChangeLog4
-rw-r--r--gcc/jit/ChangeLog4
-rw-r--r--gcc/lra-constraints.c7
-rw-r--r--gcc/lto/ChangeLog4
-rw-r--r--gcc/objc/ChangeLog4
-rw-r--r--gcc/objcp/ChangeLog4
-rw-r--r--gcc/omp-low.c4
-rw-r--r--gcc/optabs.c53
-rw-r--r--gcc/po/ChangeLog12
-rw-r--r--gcc/po/sv.po6
-rw-r--r--gcc/po/zh_CN.po9310
-rw-r--r--gcc/ree.c6
-rw-r--r--gcc/testsuite/ChangeLog393
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/pr56956.c15
-rw-r--r--gcc/testsuite/g++.dg/abi/mangle67.C21
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-array13.C6
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/constexpr-copy1.C25
-rw-r--r--gcc/testsuite/g++.dg/eh/goto3.C14
-rw-r--r--gcc/testsuite/g++.dg/ipa/pr65908.C27
-rw-r--r--gcc/testsuite/g++.dg/ipa/pr66616.C54
-rw-r--r--gcc/testsuite/g++.dg/ipa/pr66896.C22
-rw-r--r--gcc/testsuite/g++.dg/ipa/pr67056.C39
-rw-r--r--gcc/testsuite/g++.dg/lto/pr68057_0.C23
-rw-r--r--gcc/testsuite/g++.dg/lto/pr68057_1.C17
-rw-r--r--gcc/testsuite/g++.dg/opt/pr68157.C18
-rw-r--r--gcc/testsuite/g++.dg/template/pr67337.C25
-rw-r--r--gcc/testsuite/g++.dg/torture/pr67600.C15
-rw-r--r--gcc/testsuite/g++.dg/torture/pr68220.C239
-rw-r--r--gcc/testsuite/g++.dg/ubsan/null-6.C5
-rw-r--r--gcc/testsuite/g++.dg/ubsan/pr68508.C15
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr67037.c49
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr67226.c42
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr68143_1.c31
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr68185.c29
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr68249.c36
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr68250.c40
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr68321.c38
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr68328.c44
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr68376-1.c24
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr68376-2.c73
-rw-r--r--gcc/testsuite/gcc.dg/debug/pr66432.c19
-rw-r--r--gcc/testsuite/gcc.dg/ipa/pr68790.c40
-rw-r--r--gcc/testsuite/gcc.dg/pr63568.c36
-rw-r--r--gcc/testsuite/gcc.dg/pr68129_1.c10
-rw-r--r--gcc/testsuite/gcc.dg/pr68670-1.c5
-rw-r--r--gcc/testsuite/gcc.dg/pr68670-2.c5
-rw-r--r--gcc/testsuite/gcc.dg/pr68671.c23
-rw-r--r--gcc/testsuite/gcc.dg/pragma-diag-3.c64
-rw-r--r--gcc/testsuite/gcc.dg/pragma-diag-4.c48
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr67609.c33
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr68017.c17
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr68067-1.c12
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr68067-2.c13
-rw-r--r--gcc/testsuite/gcc.dg/ubsan/pr67662.c14
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr68339.c17
-rw-r--r--gcc/testsuite/gcc.target/aarch64/pr68363_1.c19
-rw-r--r--gcc/testsuite/gcc.target/i386/mpx/pr68337-1.c32
-rw-r--r--gcc/testsuite/gcc.target/i386/mpx/pr68337-2.c9
-rw-r--r--gcc/testsuite/gcc.target/i386/mpx/pr68416.c9
-rw-r--r--gcc/testsuite/gcc.target/i386/pr67265-2.c9
-rw-r--r--gcc/testsuite/gcc.target/i386/pr67265.c12
-rw-r--r--gcc/testsuite/gcc.target/i386/pr67609-2.c28
-rw-r--r--gcc/testsuite/gcc.target/i386/pr67609.c14
-rw-r--r--gcc/testsuite/gcc.target/i386/pr67770.c40
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68483-1.c22
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68483-2.c15
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68680.c15
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68701-1.c13
-rw-r--r--gcc/testsuite/gcc.target/i386/pr68701-2.c11
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-round.h13
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-roundps-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-roundps-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-roundps-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-roundsd-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-roundsd-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-roundsd-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-roundsd-4.c13
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-roundss-1.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-roundss-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-roundss-3.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-roundss-4.c13
-rw-r--r--gcc/testsuite/gcc.target/powerpc/pr67808.c46
-rw-r--r--gcc/testsuite/gcc.target/s390/bswap-1.c36
-rw-r--r--gcc/testsuite/gcc.target/s390/pfpo.c21
-rw-r--r--gcc/testsuite/gcc.target/s390/pr67443.c49
-rw-r--r--gcc/testsuite/gcc.target/sparc/sparc-ret-1.c (renamed from gcc/testsuite/gcc.target/sparc/sparc-ret.c)0
-rw-r--r--gcc/testsuite/gcc.target/sparc/sparc-ret-2.c13
-rw-r--r--gcc/testsuite/gfortran.dg/allocate_with_arrayspec_1.f9029
-rw-r--r--gcc/testsuite/gfortran.dg/coarray_40.f9025
-rw-r--r--gcc/testsuite/gfortran.dg/module_private_2.f9034
-rw-r--r--gcc/testsuite/gfortran.dg/pr58027.f905
-rw-r--r--gcc/testsuite/gfortran.dg/pr66465.f9023
-rw-r--r--gcc/testsuite/gfortran.dg/pr67460.f9024
-rw-r--r--gcc/testsuite/gfortran.dg/pr67803.f9014
-rw-r--r--gcc/testsuite/gfortran.dg/pr68318_1.f9018
-rw-r--r--gcc/testsuite/gfortran.dg/pr68318_2.f9022
-rw-r--r--gcc/testsuite/gfortran.dg/pr68319.f9026
-rw-r--r--gcc/testsuite/gfortran.dg/proc_ptr_47.f9037
-rw-r--r--gcc/testsuite/gfortran.dg/unlimited_polymorphic_2.f032
-rw-r--r--gcc/testsuite/lib/target-supports.exp4
-rw-r--r--gcc/tree-inline.c7
-rw-r--r--gcc/tree-ssa-reassoc.c23
-rw-r--r--gcc/tree-ssa-sccvn.c7
-rw-r--r--gcc/tree-tailcall.c20
-rw-r--r--gcc/tree-vect-generic.c24
-rw-r--r--gcc/tree-vect-loop.c2
-rw-r--r--gcc/var-tracking.c5
-rw-r--r--gnattools/ChangeLog4
-rw-r--r--gotools/ChangeLog4
-rw-r--r--include/ChangeLog4
-rw-r--r--intl/ChangeLog4
-rw-r--r--libada/ChangeLog4
-rw-r--r--libatomic/ChangeLog4
-rw-r--r--libbacktrace/ChangeLog4
-rw-r--r--libcc1/ChangeLog4
-rw-r--r--libcilkrts/ChangeLog4
-rw-r--r--libcpp/ChangeLog16
-rw-r--r--libcpp/errors.c16
-rw-r--r--libcpp/files.c11
-rw-r--r--libcpp/include/cpplib.h3
-rw-r--r--libcpp/po/ChangeLog4
-rw-r--r--libdecnumber/ChangeLog4
-rw-r--r--libffi/ChangeLog4
-rw-r--r--libgcc/ChangeLog36
-rw-r--r--libgcc/config/arm/linux-atomic-64bit.c4
-rw-r--r--libgcc/config/libbid/ChangeLog4
-rw-r--r--libgcc/config/pa/fptr.c66
-rw-r--r--libgcc/config/rs6000/libgcc-aix-cxa.ver1
-rw-r--r--libgcc/config/rs6000/on_exit.c49
-rw-r--r--libgcc/config/rs6000/t-aix-cxa3
-rw-r--r--libgfortran/ChangeLog10
-rw-r--r--libgfortran/io/write_float.def4
-rw-r--r--libgo/go/cmd/cgo/gcc.go5
-rw-r--r--libgo/go/cmd/cgo/out.go5
-rw-r--r--libgo/go/cmd/go/pkg.go6
-rw-r--r--libgo/go/cmd/go/tool.go23
-rw-r--r--libgo/go/net/multicast_test.go4
-rw-r--r--libgo/go/syscall/libcall_linux.go1
-rwxr-xr-xlibgo/mksysinfo.sh20
-rw-r--r--libgo/runtime/go-reflect-call.c6
-rw-r--r--libgo/runtime/netpoll_select.c16
-rw-r--r--libgomp/ChangeLog8
-rwxr-xr-xlibgomp/configure4
-rw-r--r--libiberty/ChangeLog4
-rw-r--r--libitm/ChangeLog4
-rw-r--r--libjava/ChangeLog4
-rw-r--r--libjava/classpath/ChangeLog4
-rw-r--r--libjava/libltdl/ChangeLog4
-rw-r--r--libmpx/ChangeLog4
-rw-r--r--libobjc/ChangeLog4
-rw-r--r--liboffloadmic/ChangeLog4
-rw-r--r--libquadmath/ChangeLog4
-rw-r--r--libsanitizer/ChangeLog4
-rw-r--r--libssp/ChangeLog4
-rw-r--r--libstdc++-v3/ChangeLog221
-rw-r--r--libstdc++-v3/acinclude.m446
-rw-r--r--libstdc++-v3/config.h.in5
-rwxr-xr-xlibstdc++-v3/configure66
-rw-r--r--libstdc++-v3/configure.ac1
-rw-r--r--libstdc++-v3/doc/doxygen/user.cfg.in32
-rw-r--r--libstdc++-v3/doc/html/index.html2
-rw-r--r--libstdc++-v3/doc/html/manual/abi.html2
-rw-r--r--libstdc++-v3/doc/html/manual/concept_checking.html5
-rw-r--r--libstdc++-v3/doc/html/manual/configure.html19
-rw-r--r--libstdc++-v3/doc/html/manual/ext_compile_checks.html3
-rw-r--r--libstdc++-v3/doc/html/manual/index.html2
-rw-r--r--libstdc++-v3/doc/html/manual/intro.html2
-rw-r--r--libstdc++-v3/doc/html/manual/status.html29
-rw-r--r--libstdc++-v3/doc/html/manual/using.html14
-rw-r--r--libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html17
-rw-r--r--libstdc++-v3/doc/html/manual/using_headers.html11
-rw-r--r--libstdc++-v3/doc/html/manual/using_namespaces.html4
-rw-r--r--libstdc++-v3/doc/xml/manual/abi.xml2
-rw-r--r--libstdc++-v3/doc/xml/manual/configure.xml17
-rw-r--r--libstdc++-v3/doc/xml/manual/diagnostics.xml5
-rw-r--r--libstdc++-v3/doc/xml/manual/extensions.xml3
-rw-r--r--libstdc++-v3/doc/xml/manual/status_cxx2011.xml11
-rw-r--r--libstdc++-v3/doc/xml/manual/status_cxx2014.xml19
-rw-r--r--libstdc++-v3/doc/xml/manual/using.xml71
-rw-r--r--libstdc++-v3/include/backward/strstream5
-rw-r--r--libstdc++-v3/include/bits/allocator.h8
-rw-r--r--libstdc++-v3/include/bits/basic_string.h12
-rw-r--r--libstdc++-v3/include/bits/c++config2
-rw-r--r--libstdc++-v3/include/bits/forward_list.h5
-rw-r--r--libstdc++-v3/include/bits/ios_base.h12
-rw-r--r--libstdc++-v3/include/bits/locale_facets_nonio.h2
-rw-r--r--libstdc++-v3/include/bits/regex_executor.tcc5
-rw-r--r--libstdc++-v3/include/bits/shared_ptr.h22
-rw-r--r--libstdc++-v3/include/bits/shared_ptr_base.h22
-rw-r--r--libstdc++-v3/include/bits/stl_multiset.h10
-rw-r--r--libstdc++-v3/include/bits/stl_set.h10
-rw-r--r--libstdc++-v3/include/c_global/cmath93
-rw-r--r--libstdc++-v3/include/debug/vector9
-rw-r--r--libstdc++-v3/include/experimental/fs_fwd.h7
-rw-r--r--libstdc++-v3/include/experimental/fs_ops.h5
-rw-r--r--libstdc++-v3/include/experimental/fs_path.h20
-rw-r--r--libstdc++-v3/include/experimental/optional6
-rw-r--r--libstdc++-v3/include/experimental/string_view2
-rw-r--r--libstdc++-v3/include/experimental/string_view.tcc2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp9
-rw-r--r--libstdc++-v3/include/std/bitset4
-rw-r--r--libstdc++-v3/include/std/mutex23
-rw-r--r--libstdc++-v3/include/tr1/cmath72
-rw-r--r--libstdc++-v3/include/tr2/dynamic_bitset3
-rw-r--r--libstdc++-v3/python/hook.in5
-rw-r--r--libstdc++-v3/python/libstdcxx/v6/__init__.py15
-rw-r--r--libstdc++-v3/python/libstdcxx/v6/printers.py4
-rw-r--r--libstdc++-v3/scripts/run_doxygen17
-rw-r--r--libstdc++-v3/testsuite/20_util/enable_shared_from_this/56383.cc56
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/operations/2.cc5
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/operations/2.cc5
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/operations/2.cc5
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/operations/2.cc5
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/case_label.cc8
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/iostate/case_label.cc8
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/types/openmode/case_label.cc8
-rw-r--r--libstdc++-v3/testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc43
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/debug.cc9
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc9
-rw-r--r--libstdc++-v3/testsuite/libstdc++-prettyprinters/simple11.cc4
-rw-r--r--libtool.m44
-rw-r--r--libvtv/ChangeLog4
-rw-r--r--lto-plugin/ChangeLog4
-rw-r--r--maintainer-scripts/ChangeLog4
-rw-r--r--zlib/ChangeLog4
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">&lt;memory&gt;</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">&lt;type_traits&gt;</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">&lt;ratio&gt;</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">&lt;scoped_allocator&gt;</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">&lt;thread&gt;</code>,
<code class="filename">&lt;future&gt;</code>,
<code class="filename">&lt;mutex&gt;</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">&lt;atomic&gt;</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">&lt;experimental/filesystem&gt;</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">&lt;experimental/filesystem&gt;</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">&lt;experimental/xxx&gt;</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 &lt;stdc++.h&gt;, and adds all the TR1 headers.
-</p></li><li class="listitem"><p>extc++.h</p><p>Includes all of &lt;stdtr1c++.h&gt;, 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
+&lt;stdtr1c++.h&gt;).
+</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">&lt;experimental/filesystem&gt;</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 &lt;stdtr1c++.h&gt;, 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
+&lt;stdtr1c++.h&gt;).
</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">&lt;experimental/filesystem&gt;</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">&lt;experimental/xxx&gt;</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.