OSDN Git Service

* zh_CN.po: Update.
[pf3gnuchains/gcc-fork.git] / gcc / po / zh_CN.po
index b5654a3..bf0543e 100644 (file)
 # Simplified Chinese translation for gcc.
 # Copyright (C) 2005 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gcc package.
-# Meng Jie <zuxy.meng@gmail.com>, 2005-2009.
+# Meng Jie <zuxy.meng@gmail.com>, 2005-2010.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gcc 4.4-b20081121\n"
+"Project-Id-Version: gcc 4.5-b20091203\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2008-11-18 20:02+0000\n"
-"PO-Revision-Date: 2009-02-22 23:28+0800\n"
+"POT-Creation-Date: 2009-12-03 21:28+0000\n"
+"PO-Revision-Date: 2010-01-20 13:46+0800\n"
 "Last-Translator: Meng Jie <zuxy.meng@gmail.com>\n"
-"Language-Team: Chinese (simplified) <translation-team-zh-cn@lists.sourceforge.net>\n"
+"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "MIME-Version: 1.0\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.4-20081121\\gcc\n"
+"X-Poedit-Basepath: C:\\MSYS\\source\\gcc-4.5-20091203\\gcc\n"
 
-#: c-decl.c:3815
+#: c-decl.c:4569 c-pretty-print.c:403 c-typeck.c:5535 toplev.c:1641
+#: cp/error.c:606 cp/error.c:879
 msgid "<anonymous>"
 msgstr "<匿名>"
 
-#: c-format.c:361 c-format.c:385 config/i386/msformat-c.c:49
+#: c-format.c:363 c-format.c:387 config/i386/msformat-c.c:49
 msgid "' ' flag"
 msgstr "‘ ’标记"
 
-#: c-format.c:361 c-format.c:385 config/i386/msformat-c.c:49
+#: c-format.c:363 c-format.c:387 config/i386/msformat-c.c:49
 msgid "the ' ' printf flag"
 msgstr "‘ ’printf 标记"
 
-#: c-format.c:362 c-format.c:386 c-format.c:420 c-format.c:432 c-format.c:491
+#: c-format.c:364 c-format.c:388 c-format.c:422 c-format.c:434 c-format.c:493
 #: config/i386/msformat-c.c:50
 msgid "'+' flag"
 msgstr "‘+’标记"
 
-#: c-format.c:362 c-format.c:386 c-format.c:420 c-format.c:432
+#: c-format.c:364 c-format.c:388 c-format.c:422 c-format.c:434
 #: config/i386/msformat-c.c:50
 msgid "the '+' printf flag"
 msgstr "‘+’printf 标记"
 
-#: c-format.c:363 c-format.c:387 c-format.c:433 c-format.c:467
+#: c-format.c:365 c-format.c:389 c-format.c:435 c-format.c:469
 #: config/i386/msformat-c.c:51 config/i386/msformat-c.c:86
 msgid "'#' flag"
 msgstr "‘#’标记"
 
-#: c-format.c:363 c-format.c:387 c-format.c:433 config/i386/msformat-c.c:51
+#: c-format.c:365 c-format.c:389 c-format.c:435 config/i386/msformat-c.c:51
 msgid "the '#' printf flag"
 msgstr "‘#’printf 标记"
 
-#: c-format.c:364 c-format.c:388 c-format.c:465 config/i386/msformat-c.c:52
+#: c-format.c:366 c-format.c:390 c-format.c:467 config/i386/msformat-c.c:52
 msgid "'0' flag"
 msgstr "‘0’标记"
 
-#: c-format.c:364 c-format.c:388 config/i386/msformat-c.c:52
+#: c-format.c:366 c-format.c:390 config/i386/msformat-c.c:52
 msgid "the '0' printf flag"
 msgstr "‘0’printf 标记"
 
-#: c-format.c:365 c-format.c:389 c-format.c:464 c-format.c:494
+#: c-format.c:367 c-format.c:391 c-format.c:466 c-format.c:496
 #: config/i386/msformat-c.c:53
 msgid "'-' flag"
 msgstr "‘-’标记"
 
-#: c-format.c:365 c-format.c:389 config/i386/msformat-c.c:53
+#: c-format.c:367 c-format.c:391 config/i386/msformat-c.c:53
 msgid "the '-' printf flag"
 msgstr "‘-’printf 标记"
 
-#: c-format.c:366 c-format.c:447 config/i386/msformat-c.c:54
+#: c-format.c:368 c-format.c:449 config/i386/msformat-c.c:54
 #: config/i386/msformat-c.c:74
 msgid "''' flag"
 msgstr "‘'’标记"
 
-#: c-format.c:366 config/i386/msformat-c.c:54
+#: c-format.c:368 config/i386/msformat-c.c:54
 msgid "the ''' printf flag"
 msgstr "‘'’printf 标记"
 
-#: c-format.c:367 c-format.c:448
+#: c-format.c:369 c-format.c:450
 msgid "'I' flag"
 msgstr "‘I’标记"
 
-#: c-format.c:367
+#: c-format.c:369
 msgid "the 'I' printf flag"
 msgstr "‘I’printf 标记"
 
-#: c-format.c:368 c-format.c:390 c-format.c:445 c-format.c:468 c-format.c:495
-#: c-format.c:1629 config/sol2-c.c:45 config/i386/msformat-c.c:55
+#: c-format.c:370 c-format.c:392 c-format.c:447 c-format.c:470 c-format.c:497
+#: c-format.c:1621 config/sol2-c.c:45 config/i386/msformat-c.c:55
 #: config/i386/msformat-c.c:72
 msgid "field width"
 msgstr "域宽"
 
-#: c-format.c:368 c-format.c:390 config/sol2-c.c:45
+#: c-format.c:370 c-format.c:392 config/sol2-c.c:45
 #: config/i386/msformat-c.c:55
 msgid "field width in printf format"
 msgstr "printf 格式的字段宽度"
 
-#: c-format.c:369 c-format.c:391 c-format.c:422 c-format.c:435
+#: c-format.c:371 c-format.c:393 c-format.c:424 c-format.c:437
 #: config/i386/msformat-c.c:56
 msgid "precision"
 msgstr "精度"
 
-#: c-format.c:369 c-format.c:391 c-format.c:422 c-format.c:435
+#: c-format.c:371 c-format.c:393 c-format.c:424 c-format.c:437
 #: config/i386/msformat-c.c:56
 msgid "precision in printf format"
 msgstr "printf 格式的精度"
 
-#: c-format.c:370 c-format.c:392 c-format.c:423 c-format.c:436 c-format.c:446
-#: c-format.c:498 config/sol2-c.c:46 config/i386/msformat-c.c:57
+#: c-format.c:372 c-format.c:394 c-format.c:425 c-format.c:438 c-format.c:448
+#: c-format.c:500 config/sol2-c.c:46 config/i386/msformat-c.c:57
 #: config/i386/msformat-c.c:73
 msgid "length modifier"
 msgstr "长度修饰符"
 
-#: c-format.c:370 c-format.c:392 c-format.c:423 c-format.c:436
+#: c-format.c:372 c-format.c:394 c-format.c:425 c-format.c:438
 #: config/sol2-c.c:46 config/i386/msformat-c.c:57
 msgid "length modifier in printf format"
 msgstr "printf 格式的长度修饰符"
 
-#: c-format.c:421 c-format.c:434
+#: c-format.c:423 c-format.c:436
 msgid "'q' flag"
 msgstr "‘q’标记"
 
-#: c-format.c:421 c-format.c:434
+#: c-format.c:423 c-format.c:436
 msgid "the 'q' diagnostic flag"
 msgstr "‘q’诊断标记"
 
-#: c-format.c:442 config/i386/msformat-c.c:70
+#: c-format.c:444 config/i386/msformat-c.c:70
 msgid "assignment suppression"
 msgstr "取消赋值"
 
-#: c-format.c:442 config/i386/msformat-c.c:70
+#: c-format.c:444 config/i386/msformat-c.c:70
 msgid "the assignment suppression scanf feature"
 msgstr "scanf 的取消赋值特性"
 
-#: c-format.c:443 config/i386/msformat-c.c:71
+#: c-format.c:445 config/i386/msformat-c.c:71
 msgid "'a' flag"
 msgstr "‘a’标记"
 
-#: c-format.c:443 config/i386/msformat-c.c:71
+#: c-format.c:445 config/i386/msformat-c.c:71
 msgid "the 'a' scanf flag"
 msgstr "‘a’scanf 标记"
 
-#: c-format.c:444
+#: c-format.c:446
 msgid "'m' flag"
 msgstr "‘m’标记"
 
-#: c-format.c:444
+#: c-format.c:446
 msgid "the 'm' scanf flag"
 msgstr "‘m’scanf 标记"
 
-#: c-format.c:445 config/i386/msformat-c.c:72
+#: c-format.c:447 config/i386/msformat-c.c:72
 msgid "field width in scanf format"
 msgstr "scanf 格式的字段宽"
 
-#: c-format.c:446 config/i386/msformat-c.c:73
+#: c-format.c:448 config/i386/msformat-c.c:73
 msgid "length modifier in scanf format"
 msgstr "scanf 格式的长度修饰符"
 
-#: c-format.c:447 config/i386/msformat-c.c:74
+#: c-format.c:449 config/i386/msformat-c.c:74
 msgid "the ''' scanf flag"
 msgstr "‘'’scanf 标记"
 
-#: c-format.c:448
+#: c-format.c:450
 msgid "the 'I' scanf flag"
 msgstr "‘I’scanf 标记"
 
-#: c-format.c:463
+#: c-format.c:465
 msgid "'_' flag"
 msgstr "‘_’标记"
 
-#: c-format.c:463
+#: c-format.c:465
 msgid "the '_' strftime flag"
 msgstr "‘_’strftime 标记"
 
-#: c-format.c:464
+#: c-format.c:466
 msgid "the '-' strftime flag"
 msgstr "‘-’strftime 标记"
 
-#: c-format.c:465
+#: c-format.c:467
 msgid "the '0' strftime flag"
 msgstr "‘0’strftime 标记"
 
-#: c-format.c:466 c-format.c:490
+#: c-format.c:468 c-format.c:492
 msgid "'^' flag"
 msgstr "‘^’标记"
 
-#: c-format.c:466
+#: c-format.c:468
 msgid "the '^' strftime flag"
 msgstr "‘^’strftime 标记"
 
-#: c-format.c:467 config/i386/msformat-c.c:86
+#: c-format.c:469 config/i386/msformat-c.c:86
 msgid "the '#' strftime flag"
 msgstr "‘#’strftime 标记"
 
-#: c-format.c:468
+#: c-format.c:470
 msgid "field width in strftime format"
 msgstr "strftime 格式的字段宽度"
 
-#: c-format.c:469
+#: c-format.c:471
 msgid "'E' modifier"
 msgstr "‘E’修饰符"
 
-#: c-format.c:469
+#: c-format.c:471
 msgid "the 'E' strftime modifier"
 msgstr "‘E’strftime 修饰符"
 
-#: c-format.c:470
+#: c-format.c:472
 msgid "'O' modifier"
 msgstr "‘O’修饰符"
 
-#: c-format.c:470
+#: c-format.c:472
 msgid "the 'O' strftime modifier"
 msgstr "‘O’strftime 修饰符"
 
-#: c-format.c:471
+#: c-format.c:473
 msgid "the 'O' modifier"
 msgstr "‘O’修饰符"
 
-#: c-format.c:489
+#: c-format.c:491
 msgid "fill character"
 msgstr "填充字符"
 
-#: c-format.c:489
+#: c-format.c:491
 msgid "fill character in strfmon format"
 msgstr "strfmon 格式的填充字符"
 
-#: c-format.c:490
+#: c-format.c:492
 msgid "the '^' strfmon flag"
 msgstr "‘^’strfmon 标记"
 
-#: c-format.c:491
+#: c-format.c:493
 msgid "the '+' strfmon flag"
 msgstr "‘+’strfmon 标记"
 
-#: c-format.c:492
+#: c-format.c:494
 msgid "'(' flag"
 msgstr "‘(’标记"
 
-#: c-format.c:492
+#: c-format.c:494
 msgid "the '(' strfmon flag"
 msgstr "‘(’strfmon 标记"
 
-#: c-format.c:493
+#: c-format.c:495
 msgid "'!' flag"
 msgstr "‘!’标记"
 
-#: c-format.c:493
+#: c-format.c:495
 msgid "the '!' strfmon flag"
 msgstr "‘!’strfmon 标记"
 
-#: c-format.c:494
+#: c-format.c:496
 msgid "the '-' strfmon flag"
 msgstr "‘-’strfmon 标记"
 
-#: c-format.c:495
+#: c-format.c:497
 msgid "field width in strfmon format"
 msgstr "strfmon 格式的字段宽度"
 
-#: c-format.c:496
+#: c-format.c:498
 msgid "left precision"
 msgstr "左精度"
 
-#: c-format.c:496
+#: c-format.c:498
 msgid "left precision in strfmon format"
 msgstr "strfmon 格式的左精度"
 
-#: c-format.c:497
+#: c-format.c:499
 msgid "right precision"
 msgstr "右精度"
 
-#: c-format.c:497
+#: c-format.c:499
 msgid "right precision in strfmon format"
 msgstr "strfmon 格式的右精度"
 
-#: c-format.c:498
+#: c-format.c:500
 msgid "length modifier in strfmon format"
 msgstr "strfmon 格式的长度修饰符"
 
-#: c-format.c:1731
+#: c-format.c:1724
 msgid "field precision"
 msgstr "字段精度"
 
-#: c-opts.c:1459 fortran/cpp.c:548
+#: c-objc-common.c:164
+msgid "({anonymous})"
+msgstr "{{匿名}}"
+
+#: c-opts.c:1497 tree.c:3954 cp/error.c:1024 fortran/cpp.c:552
 msgid "<built-in>"
 msgstr "<built-in>"
 
 #. Handle deferred options from command-line.
-#: c-opts.c:1477 fortran/cpp.c:553
+#: c-opts.c:1515 fortran/cpp.c:557
 msgid "<command-line>"
 msgstr "<命令行>"
 
-#: c-typeck.c:2473 c-typeck.c:4943 c-typeck.c:4946 c-typeck.c:4954
-#: c-typeck.c:4984 c-typeck.c:6354
-msgid "initializer element is not constant"
-msgstr "初始值设定元素不是常量"
+#: c-pretty-print.c:324
+msgid "<type-error>"
+msgstr "<类型错误>"
+
+#: c-pretty-print.c:363
+msgid "<unnamed-unsigned:"
+msgstr "<无名无符号:"
+
+#: c-pretty-print.c:364
+msgid "<unnamed-signed:"
+msgstr "<无名有符号:"
+
+#: c-pretty-print.c:367
+msgid "<unnamed-float:"
+msgstr "<无名浮点数:"
+
+#: c-pretty-print.c:370
+msgid "<unnamed-fixed:"
+msgstr "<无名定点数:"
+
+#: c-pretty-print.c:385
+msgid "<typedef-error>"
+msgstr "<typedef 错误>"
+
+#: c-pretty-print.c:398
+msgid "<tag-error>"
+msgstr "<tag 错误>"
+
+#: c-pretty-print.c:1136
+msgid "<erroneous-expression>"
+msgstr "<错误表达式>"
+
+#: c-pretty-print.c:1140 cp/cxx-pretty-print.c:154
+msgid "<return-value>"
+msgstr "<返回值>"
 
-#: c-typeck.c:4733
+#: c-typeck.c:5652
 msgid "array initialized from parenthesized string constant"
 msgstr "用括号中的字符串常量初始化数组"
 
-#: c-typeck.c:4795 cp/typeck2.c:757
+#: c-typeck.c:5725 c-typeck.c:6596
+msgid "initialization of a flexible array member"
+msgstr "对可变数组成员的初始化"
+
+#: c-typeck.c:5735 cp/typeck2.c:851
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "用宽字符串初始化 char 数组"
 
-#: c-typeck.c:4803
+#: c-typeck.c:5743
 msgid "wide character array initialized from non-wide string"
 msgstr "用窄字符串初始化宽字符数组"
 
-#: c-typeck.c:4809
+#: c-typeck.c:5749
 msgid "wide character array initialized from incompatible wide string"
 msgstr "用不兼容的宽字符串初始化宽字符数组"
 
-#: c-typeck.c:4827 cp/typeck2.c:785
-#, gcc-internal-format
-msgid "initializer-string for array of chars is too long"
-msgstr "用以初始化字符数组的字符串太长"
-
-#: c-typeck.c:4833
+#: c-typeck.c:5783
 msgid "array of inappropriate type initialized from string constant"
 msgstr "用字符串常量初始化的数组类型不合适"
 
 #. ??? This should not be an error when inlining calls to
 #. unprototyped functions.
-#: c-typeck.c:4900 c-typeck.c:4403 cp/typeck.c:1631
+#: c-typeck.c:5851 c-typeck.c:5304 cp/typeck.c:1751
 #, gcc-internal-format
 msgid "invalid use of non-lvalue array"
 msgstr "对非左值数组的无效使用"
 
-#: c-typeck.c:4926
+#: c-typeck.c:5877
 msgid "array initialized from non-constant array expression"
 msgstr "用非常量的数组表达式初始化数组"
 
-#: c-typeck.c:4991 c-typeck.c:6359
+#: c-typeck.c:5891 c-typeck.c:5894 c-typeck.c:5902 c-typeck.c:5941
+#: c-typeck.c:7395
+msgid "initializer element is not constant"
+msgstr "初始值设定元素不是常量"
+
+#: c-typeck.c:5907 c-typeck.c:5953 c-typeck.c:7405
+msgid "initializer element is not a constant expression"
+msgstr "初始值设定中元素不是常量表达式"
+
+#: c-typeck.c:5948 c-typeck.c:7400
 #, gcc-internal-format
 msgid "initializer element is not computable at load time"
 msgstr "初始值设定中的元素在载入时无法被计算出"
@@ -339,228 +383,228 @@ msgstr "初始值设定中的元素在载入时无法被计算出"
 #. of VLAs themselves count as VLAs, it does not make
 #. sense to permit them to be initialized given that
 #. ordinary VLAs may not be initialized.
-#: c-typeck.c:5002 c-decl.c:3220 c-decl.c:3235
+#: c-typeck.c:5962 c-decl.c:3951 c-decl.c:3966
 #, gcc-internal-format
 msgid "variable-sized object may not be initialized"
 msgstr "可变大小的对象不能被初始化"
 
-#: c-typeck.c:5006
+#: c-typeck.c:5966
 msgid "invalid initializer"
 msgstr "无效的初始值设定"
 
-#: c-typeck.c:5480
+#: c-typeck.c:6175
+msgid "(anonymous)"
+msgstr "(匿名)"
+
+#: c-typeck.c:6453
 msgid "extra brace group at end of initializer"
 msgstr "初始值设定项末尾有多余的花括号组"
 
-#: c-typeck.c:5500
+#: c-typeck.c:6474
 msgid "missing braces around initializer"
 msgstr "初始值设定周围缺少花括号"
 
-#: c-typeck.c:5561
+#: c-typeck.c:6535
 msgid "braces around scalar initializer"
 msgstr "标量初始化带花括号"
 
-#: c-typeck.c:5618
+#: c-typeck.c:6593
 msgid "initialization of flexible array member in a nested context"
 msgstr "在嵌套的上下文中初始化可变数组成员"
 
-#: c-typeck.c:5621
-msgid "initialization of a flexible array member"
-msgstr "对可变数组成员的初始化"
-
-#: c-typeck.c:5649
+#: c-typeck.c:6624
 msgid "missing initializer"
 msgstr "缺少初始值设定"
 
-#: c-typeck.c:5671
+#: c-typeck.c:6646
 msgid "empty scalar initializer"
 msgstr "空的标量初始值设定项"
 
-#: c-typeck.c:5676
+#: c-typeck.c:6651
 msgid "extra elements in scalar initializer"
-msgstr "æ \87é\87\8få\88\9då§\8bå\8c\96设定中有多余元素"
+msgstr "æ \87é\87\8få\88\9då§\8bå\80¼设定中有多余元素"
 
-#: c-typeck.c:5773 c-typeck.c:5833
+#: c-typeck.c:6759 c-typeck.c:6837
 msgid "array index in non-array initializer"
 msgstr "在非数组初始值设定项中出现数组索引"
 
-#: c-typeck.c:5778 c-typeck.c:5886
+#: c-typeck.c:6764 c-typeck.c:6893
 msgid "field name not in record or union initializer"
-msgstr "å­\97段å\90\8dä¸\8då\9c¨è®°å½\95æ\88\96è\81\94å\90\88å\88\9då§\8bå\8c\96设定中"
+msgstr "å­\97段å\90\8dä¸\8då\9c¨è®°å½\95æ\88\96è\81\94å\90\88å\88\9då§\8bå\80¼设定中"
 
-#: c-typeck.c:5824
+#: c-typeck.c:6810
 msgid "array index in initializer not of integer type"
 msgstr "初始值设定中数组索引不是整型"
 
-#: c-typeck.c:5829 c-typeck.c:5831
+#: c-typeck.c:6819 c-typeck.c:6828
+msgid "array index in initializer is not an integer constant expression"
+msgstr "初始值设定中数组索引不是整型常量表达式"
+
+#: c-typeck.c:6833 c-typeck.c:6835
 msgid "nonconstant array index in initializer"
 msgstr "初始值设定中数组索引不是常数"
 
-#: c-typeck.c:5835 c-typeck.c:5838
+#: c-typeck.c:6839 c-typeck.c:6842
 msgid "array index in initializer exceeds array bounds"
 msgstr "初始化时数组索引越界"
 
-#: c-typeck.c:5849
+#: c-typeck.c:6856
 msgid "empty index range in initializer"
 msgstr "初始值设定项中索引范围为空"
 
-#: c-typeck.c:5858
+#: c-typeck.c:6865
 msgid "array index range in initializer exceeds array bounds"
 msgstr "初始值设定中数据索引范围超出数组边界"
 
-#: c-typeck.c:5933 c-typeck.c:5956 c-typeck.c:6423
+#: c-typeck.c:6948 c-typeck.c:6975 c-typeck.c:7494
 msgid "initialized field with side-effects overwritten"
-msgstr "带å\89¯ä½\9cç\94¨ç\9a\84å­\97段å\88\9då§\8bå\8c\96设定被覆盖"
+msgstr "带å\89¯ä½\9cç\94¨ç\9a\84å­\97段å\88\9då§\8bå\80¼设定被覆盖"
 
-#: c-typeck.c:5935 c-typeck.c:5958 c-typeck.c:6425
+#: c-typeck.c:6950 c-typeck.c:6977 c-typeck.c:7496
 msgid "initialized field overwritten"
 msgstr "已初始化的字段被覆盖"
 
-#: c-typeck.c:6633
+#: c-typeck.c:7422 c-typeck.c:4911
+#, gcc-internal-format
+msgid "enum conversion in initialization is invalid in C++"
+msgstr "C++ 禁止在初始化时进行枚举转换"
+
+#: c-typeck.c:7711
 msgid "excess elements in char array initializer"
 msgstr "字符数组初始值设定项中有多余元素"
 
-#: c-typeck.c:6640 c-typeck.c:6687
+#: c-typeck.c:7718 c-typeck.c:7777
 msgid "excess elements in struct initializer"
 msgstr "结构初始值设定项中有多余元素"
 
-#: c-typeck.c:6702
+#: c-typeck.c:7792
 msgid "non-static initialization of a flexible array member"
 msgstr "对可变数组成员非静态地初始化"
 
-#: c-typeck.c:6771
+#: c-typeck.c:7862
 msgid "excess elements in union initializer"
 msgstr "联合初始值设定项中有多余元素"
 
-#: c-typeck.c:6859
+#: c-typeck.c:7951
 msgid "excess elements in array initializer"
 msgstr "数组初始值设定项中有多余的元素"
 
-#: c-typeck.c:6890
+#: c-typeck.c:7984
 msgid "excess elements in vector initializer"
-msgstr "量初始值设定项中有多余元素"
+msgstr "量初始值设定项中有多余元素"
 
-#: c-typeck.c:6915
+#: c-typeck.c:8015
 msgid "excess elements in scalar initializer"
 msgstr "标量初始值设定项中有多余元素"
 
-#: cfgrtl.c:1920
+#: cfgrtl.c:2013
 msgid "flow control insn inside a basic block"
 msgstr "基本块内有流程控制指令"
 
-#: cfgrtl.c:2049
+#: cfgrtl.c:2144
 msgid "wrong insn in the fallthru edge"
 msgstr "直通边上的错误指令"
 
-#: cfgrtl.c:2105
+#: cfgrtl.c:2198
 msgid "insn outside basic block"
 msgstr "基本块外出现指令"
 
-#: cfgrtl.c:2112
+#: cfgrtl.c:2205
 msgid "return not followed by barrier"
 msgstr "return 后没有屏障"
 
-#: cgraph.c:686 ipa-inline.c:439
-msgid "function body not available"
-msgstr "函数体不可用"
-
-#: cgraph.c:688 cgraphbuild.c:95
-msgid "redefined extern inline functions are not considered for inlining"
-msgstr "不考虑内联重定义的外部内联函数"
-
-#: cgraph.c:691 cgraphbuild.c:102
-msgid "function not considered for inlining"
-msgstr "不考虑内联函数"
-
-#: cgraph.c:693 cgraphbuild.c:98
-msgid "function not inlinable"
-msgstr "函数不能内联"
-
-#: cgraphbuild.c:100
-msgid "mismatched arguments"
-msgstr "不匹配的实参"
-
-#: collect2.c:395 gcc.c:6987
+#: collect2.c:486 gcc.c:7704
 #, c-format
 msgid "internal gcc abort in %s, at %s:%d"
 msgstr "gcc 内部放弃 %s,于 %s:%d"
 
-#: collect2.c:909
+#: collect2.c:939
+#, c-format
+msgid "COLLECT_LTO_WRAPPER must be set."
+msgstr "COLLECT_LTO_WRAPPER 必须被设定。"
+
+#: collect2.c:1081
+#, c-format
+msgid "too many lto output files"
+msgstr "lto 输出文件太多"
+
+#: collect2.c:1288
 #, c-format
 msgid "no arguments"
 msgstr "没有参数"
 
-#: collect2.c:1283 collect2.c:1431 collect2.c:1466
+#: collect2.c:1687 collect2.c:1849 collect2.c:1884
 #, c-format
 msgid "fopen %s"
 msgstr "fopen %s"
 
-#: collect2.c:1286 collect2.c:1436 collect2.c:1469
+#: collect2.c:1690 collect2.c:1854 collect2.c:1887
 #, c-format
 msgid "fclose %s"
 msgstr "fclose %s"
 
-#: collect2.c:1295
+#: collect2.c:1699
 #, c-format
 msgid "collect2 version %s"
 msgstr "collect2 版本 %s"
 
-#: collect2.c:1385
+#: collect2.c:1795
 #, c-format
 msgid "%d constructor(s) found\n"
 msgstr "找到 %d 个构造函数\n"
 
-#: collect2.c:1386
+#: collect2.c:1796
 #, c-format
 msgid "%d destructor(s)  found\n"
 msgstr "找到 %d 个析构函数\n"
 
-#: collect2.c:1387
+#: collect2.c:1797
 #, c-format
 msgid "%d frame table(s) found\n"
 msgstr "找到了 %d 个框架表\n"
 
-#: collect2.c:1524
+#: collect2.c:1948 lto-wrapper.c:175
 #, c-format
 msgid "can't get program status"
 msgstr "无法获取程序状态"
 
-#: collect2.c:1593
+#: collect2.c:2017
 #, c-format
 msgid "could not open response file %s"
 msgstr "无法打开响应文件 %s"
 
-#: collect2.c:1598
+#: collect2.c:2022
 #, c-format
 msgid "could not write to response file %s"
 msgstr "无法写入响应文件 %s"
 
-#: collect2.c:1603
+#: collect2.c:2027
 #, c-format
 msgid "could not close response file %s"
 msgstr "无法关闭响应文件 %s"
 
-#: collect2.c:1621
+#: collect2.c:2045
 #, c-format
 msgid "[cannot find %s]"
 msgstr "[找不到 %s]"
 
-#: collect2.c:1636
+#: collect2.c:2060
 #, c-format
 msgid "cannot find '%s'"
 msgstr "找不到‘%s’"
 
-#: collect2.c:1640 collect2.c:2131 collect2.c:2286 gcc.c:2994
+#: collect2.c:2064 collect2.c:2587 collect2.c:2783 gcc.c:3081
+#: lto-wrapper.c:147
 #, c-format
 msgid "pex_init failed"
 msgstr "pex_init 失败"
 
-#: collect2.c:1678
+#: collect2.c:2102
 #, c-format
 msgid "[Leaving %s]\n"
 msgstr "[离开 %s]\n"
 
-#: collect2.c:1899
+#: collect2.c:2334
 #, c-format
 msgid ""
 "\n"
@@ -569,32 +613,32 @@ msgstr ""
 "\n"
 "write_c_file - 输出名为 %s,前缀为 %s\n"
 
-#: collect2.c:2105
+#: collect2.c:2561
 #, c-format
 msgid "cannot find 'nm'"
 msgstr "找不到 ‘nm’"
 
-#: collect2.c:2152
+#: collect2.c:2609
 #, c-format
 msgid "can't open nm output"
 msgstr "无法打开 nm 的输出"
 
-#: collect2.c:2196
+#: collect2.c:2692
 #, c-format
 msgid "init function found in object %s"
 msgstr "在对象 %s 中发现 init 函数"
 
-#: collect2.c:2204
+#: collect2.c:2702
 #, c-format
 msgid "fini function found in object %s"
 msgstr "在对象 %s 中发现 fini 函数"
 
-#: collect2.c:2307
+#: collect2.c:2804
 #, c-format
 msgid "can't open ldd output"
 msgstr "无法打开 ldd 输出"
 
-#: collect2.c:2310
+#: collect2.c:2807
 #, c-format
 msgid ""
 "\n"
@@ -603,27 +647,27 @@ msgstr ""
 "\n"
 "ldd 输出带有构造/析构函数。\n"
 
-#: collect2.c:2325
+#: collect2.c:2822
 #, c-format
 msgid "dynamic dependency %s not found"
 msgstr "找不到动态依赖项 %s"
 
-#: collect2.c:2337
+#: collect2.c:2834
 #, c-format
 msgid "unable to open dynamic dependency '%s'"
 msgstr "无法打开动态依赖项‘%s’"
 
-#: collect2.c:2493
+#: collect2.c:2995
 #, c-format
 msgid "%s: not a COFF file"
 msgstr "%s:不是一个 COFF 文件"
 
-#: collect2.c:2613
+#: collect2.c:3125
 #, c-format
 msgid "%s: cannot open as COFF file"
 msgstr "%s:不能打开 COFF 文件"
 
-#: collect2.c:2671
+#: collect2.c:3183
 #, c-format
 msgid "library lib%s not found"
 msgstr "找不到库 lib%s"
@@ -638,12 +682,12 @@ msgstr "“%s”不是预处理器的有效选项"
 msgid "too many input files"
 msgstr "输入文件太多"
 
-#: diagnostic.c:186
+#: diagnostic.c:185
 #, c-format
 msgid "compilation terminated due to -Wfatal-errors.\n"
 msgstr "编译因为 -Wfatal-errors 而中止。\n"
 
-#: diagnostic.c:195
+#: diagnostic.c:194
 #, c-format
 msgid ""
 "Please submit a full bug report,\n"
@@ -654,59 +698,64 @@ msgstr ""
 "如有可能请附上经预处理后的源文件。\n"
 "具体步骤请参见 %s。\n"
 
-#: diagnostic.c:204
+#: diagnostic.c:203
 #, c-format
 msgid "compilation terminated.\n"
 msgstr "编译中断。\n"
 
-#: diagnostic.c:382
+#: diagnostic.c:381
+#, c-format
+msgid "*** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins.\n"
+msgstr "***警告*** 存在活跃的插件;除非可以在不加载任何插件的情况下重现,请勿向 gcc 报告软件问题。\n"
+
+#: diagnostic.c:398
 #, c-format
 msgid "%s:%d: confused by earlier errors, bailing out\n"
 msgstr "%s:%d:不能从先前的错误中恢复,退出\n"
 
-#: diagnostic.c:693
+#: diagnostic.c:709
 #, c-format
 msgid "Internal compiler error: Error reporting routines re-entered.\n"
 msgstr "内部编译器错误:重入错误报告程序。\n"
 
-#: final.c:1134
+#: final.c:1150
 msgid "negative insn length"
 msgstr "指令长度为负"
 
-#: final.c:2604
+#: final.c:2647
 msgid "could not split insn"
 msgstr "无法分离指令"
 
-#: final.c:2995
+#: final.c:3081
 msgid "invalid 'asm': "
 msgstr "无效的‘asm’:"
 
-#: final.c:3178
+#: final.c:3264
 #, c-format
 msgid "nested assembly dialect alternatives"
 msgstr "嵌套的汇编风格指示"
 
-#: final.c:3195 final.c:3207
+#: final.c:3281 final.c:3293
 #, c-format
 msgid "unterminated assembly dialect alternative"
 msgstr "未结束的汇编风格指示"
 
-#: final.c:3254
+#: final.c:3340
 #, c-format
 msgid "operand number missing after %%-letter"
 msgstr "%% 字母后缺少操作数号"
 
-#: final.c:3257 final.c:3298
+#: final.c:3343 final.c:3384
 #, c-format
 msgid "operand number out of range"
 msgstr "操作数号超出范围"
 
-#: final.c:3317
+#: final.c:3403
 #, c-format
 msgid "invalid %%-code"
 msgstr "无效的 %%-code"
 
-#: final.c:3347
+#: final.c:3433
 #, c-format
 msgid "'%%l' operand isn't a label"
 msgstr "‘%%l’操作数不是一个标号"
@@ -717,24 +766,24 @@ msgstr "‘%%l’操作数不是一个标号"
 #. handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3481 vmsdbgout.c:487 config/i386/i386.c:9865
-#: config/pdp11/pdp11.c:1710
+#: final.c:3579 vmsdbgout.c:496 config/i386/i386.c:10744
+#: config/pdp11/pdp11.c:1682
 #, c-format
 msgid "floating constant misused"
 msgstr "错误地使用了浮点常量"
 
-#: final.c:3543 vmsdbgout.c:544 config/i386/i386.c:9952
-#: config/pdp11/pdp11.c:1757
+#: final.c:3641 vmsdbgout.c:553 config/i386/i386.c:10831
+#: config/pdp11/pdp11.c:1729
 #, c-format
 msgid "invalid expression as operand"
 msgstr "无效的表达式用作操作数"
 
-#: gcc.c:1716
+#: gcc.c:1795
 #, c-format
 msgid "Using built-in specs.\n"
 msgstr "使用内建 specs。\n"
 
-#: gcc.c:1894
+#: gcc.c:1980
 #, c-format
 msgid ""
 "Setting spec %s to '%s'\n"
@@ -743,42 +792,42 @@ msgstr ""
 "将 spec %s 设为‘%s’\n"
 "\n"
 
-#: gcc.c:2009
+#: gcc.c:2095
 #, c-format
 msgid "Reading specs from %s\n"
 msgstr "从 %s 读取 specs\n"
 
-#: gcc.c:2105 gcc.c:2124
+#: gcc.c:2191 gcc.c:2210
 #, c-format
 msgid "specs %%include syntax malformed after %ld characters"
 msgstr "specs %%include 在 %ld 字符后语法格式错误"
 
-#: gcc.c:2132
+#: gcc.c:2218
 #, c-format
 msgid "could not find specs file %s\n"
 msgstr "找不到 specs 文件 %s\n"
 
-#: gcc.c:2149 gcc.c:2157 gcc.c:2166 gcc.c:2175
+#: gcc.c:2235 gcc.c:2243 gcc.c:2252 gcc.c:2261
 #, c-format
 msgid "specs %%rename syntax malformed after %ld characters"
 msgstr "specs %%rename 在 %ld 字符后语法格式错误"
 
-#: gcc.c:2184
+#: gcc.c:2270
 #, c-format
 msgid "specs %s spec was not found to be renamed"
 msgstr "specs 找不到 %s spec 或已被重命名"
 
-#: gcc.c:2191
+#: gcc.c:2277
 #, c-format
 msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
 msgstr "%s:试图将 spec‘%s’重命名为已定义的 spec‘%s’"
 
-#: gcc.c:2196
+#: gcc.c:2282
 #, c-format
 msgid "rename spec %s to %s\n"
 msgstr "将 spec %s 重命名为 %s\n"
 
-#: gcc.c:2198
+#: gcc.c:2284
 #, c-format
 msgid ""
 "spec is '%s'\n"
@@ -787,37 +836,37 @@ msgstr ""
 "spec 是‘%s’\n"
 "\n"
 
-#: gcc.c:2211
+#: gcc.c:2297
 #, c-format
 msgid "specs unknown %% command after %ld characters"
 msgstr "specs 在 %ld 字符后出现未知的 %% 命令"
 
-#: gcc.c:2222 gcc.c:2235
+#: gcc.c:2308 gcc.c:2321
 #, c-format
 msgid "specs file malformed after %ld characters"
 msgstr "specs 在 %ld 字符后文件格式错误"
 
-#: gcc.c:2287
+#: gcc.c:2373
 #, c-format
 msgid "spec file has no spec for linking"
 msgstr "spec 文件没有对链接的设定"
 
-#: gcc.c:2615 gcc.c:4824
+#: gcc.c:2701 gcc.c:5251
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: gcc.c:2816
+#: gcc.c:2902
 #, c-format
 msgid "system path '%s' is not absolute"
 msgstr "系统路径‘%s’不是绝对路径"
 
-#: gcc.c:2888
+#: gcc.c:2974
 #, c-format
 msgid "-pipe not supported"
 msgstr "不支持 -pipe"
 
-#: gcc.c:2950
+#: gcc.c:3036
 #, c-format
 msgid ""
 "\n"
@@ -826,15 +875,15 @@ msgstr ""
 "\n"
 "继续?(y 或 n) "
 
-#: gcc.c:3033
+#: gcc.c:3120
 msgid "failed to get exit status"
 msgstr "无法获取退出状态"
 
-#: gcc.c:3039
+#: gcc.c:3126
 msgid "failed to get process times"
 msgstr "无法获取进程时间"
 
-#: gcc.c:3065
+#: gcc.c:3152
 #, c-format
 msgid ""
 "Internal error: %s (program %s)\n"
@@ -845,185 +894,201 @@ msgstr ""
 "请提交一份完整的错误报告。\n"
 "具体步骤请参见 %s。"
 
-#: gcc.c:3091
+#: gcc.c:3180
 #, c-format
 msgid "# %s %.2f %.2f\n"
 msgstr "# %s %.2f %.2f\n"
 
-#: gcc.c:3225
+#: gcc.c:3371
 #, c-format
 msgid "Usage: %s [options] file...\n"
 msgstr "用法:%s [选项] 文件...\n"
 
-#: gcc.c:3226
+#: gcc.c:3372
 msgid "Options:\n"
 msgstr "选项:\n"
 
-#: gcc.c:3228
+#: gcc.c:3374
 msgid "  -pass-exit-codes         Exit with highest error code from a phase\n"
 msgstr "  -pass-exit-codes         在某一阶段退出时返回最高的错误码\n"
 
-#: gcc.c:3229
+#: gcc.c:3375
 msgid "  --help                   Display this information\n"
 msgstr "  --help                   显示此帮助说明\n"
 
-#: gcc.c:3230
+#: gcc.c:3376
 msgid "  --target-help            Display target specific command line options\n"
 msgstr "  --target-help            显示目标机器特定的命令行选项\n"
 
-#: gcc.c:3231
-msgid "  --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
-msgstr "  --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+#: gcc.c:3377
+msgid "  --help={target|optimizers|warnings|params|[^]{joined|separate|undocumented}}[,...]\n"
+msgstr "  --help={target|optimizers|warnings|params|[^]{joined|separate|undocumented}}[,...]\n"
 
-#: gcc.c:3232
+#: gcc.c:3378
 msgid "                           Display specific types of command line options\n"
 msgstr "                           显示特定类型的命令行选项\n"
 
-#: gcc.c:3234
+#: gcc.c:3380
 msgid "  (Use '-v --help' to display command line options of sub-processes)\n"
 msgstr "  (使用‘-v --help’显示子进程的命令行参数)\n"
 
-#: gcc.c:3235
+#: gcc.c:3381
+msgid "  --version                Display compiler version information\n"
+msgstr "  --version                显示编译器版本信息\n"
+
+#: gcc.c:3382
 msgid "  -dumpspecs               Display all of the built in spec strings\n"
 msgstr "  -dumpspecs               显示所有内建 spec 字符串\n"
 
-#: gcc.c:3236
+#: gcc.c:3383
 msgid "  -dumpversion             Display the version of the compiler\n"
 msgstr "  -dumpversion             显示编译器的版本号\n"
 
-#: gcc.c:3237
+#: gcc.c:3384
 msgid "  -dumpmachine             Display the compiler's target processor\n"
 msgstr "  -dumpmachine             显示编译器的目标处理器\n"
 
-#: gcc.c:3238
+#: gcc.c:3385
 msgid "  -print-search-dirs       Display the directories in the compiler's search path\n"
 msgstr "  -print-search-dirs       显示编译器的搜索路径\n"
 
-#: gcc.c:3239
+#: gcc.c:3386
 msgid "  -print-libgcc-file-name  Display the name of the compiler's companion library\n"
 msgstr "  -print-libgcc-file-name  显示编译器伴随库的名称\n"
 
-#: gcc.c:3240
+#: gcc.c:3387
 msgid "  -print-file-name=<lib>   Display the full path to library <lib>\n"
 msgstr "  -print-file-name=<库>    显示 <库> 的完整路径\n"
 
-#: gcc.c:3241
+#: gcc.c:3388
 msgid "  -print-prog-name=<prog>  Display the full path to compiler component <prog>\n"
 msgstr "  -print-prog-name=<程序>  显示编译器组件 <程序> 的完整路径\n"
 
-#: gcc.c:3242
+#: gcc.c:3389
 msgid "  -print-multi-directory   Display the root directory for versions of libgcc\n"
 msgstr "  -print-multi-directory   显示不同版本 libgcc 的根目录\n"
 
-#: gcc.c:3243
+#: gcc.c:3390
 msgid ""
 "  -print-multi-lib         Display the mapping between command line options and\n"
 "                           multiple library search directories\n"
 msgstr "  -print-multi-lib         显示命令行选项和多个版本库搜索路径间的映射\n"
 
-#: gcc.c:3246
+#: gcc.c:3393
 msgid "  -print-multi-os-directory Display the relative path to OS libraries\n"
 msgstr "  -print-multi-os-directory 显示操作系统库的相对路径\n"
 
-#: gcc.c:3247
+#: gcc.c:3394
 msgid "  -print-sysroot           Display the target libraries directory\n"
 msgstr "  -print-sysroot           显示目标库目录\n"
 
-#: gcc.c:3248
+#: gcc.c:3395
 msgid "  -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
 msgstr "  -print-sysroot-headers-suffix 显示用于寻找头文件的 sysroot 后缀\n"
 
-#: gcc.c:3249
+#: gcc.c:3396
 msgid "  -Wa,<options>            Pass comma-separated <options> on to the assembler\n"
 msgstr "  -Wa,<选项>               将逗号分隔的 <选项> 传递给汇编器\n"
 
-#: gcc.c:3250
+#: gcc.c:3397
 msgid "  -Wp,<options>            Pass comma-separated <options> on to the preprocessor\n"
 msgstr "  -Wp,<选项>               将逗号分隔的 <选项> 传递给预处理器\n"
 
-#: gcc.c:3251
+#: gcc.c:3398
 msgid "  -Wl,<options>            Pass comma-separated <options> on to the linker\n"
 msgstr "  -Wl,<选项>               将逗号分隔的 <选项> 传递给链接器\n"
 
-#: gcc.c:3252
+#: gcc.c:3399
 msgid "  -Xassembler <arg>        Pass <arg> on to the assembler\n"
 msgstr "  -Xassembler <参数>       将 <参数> 传递给汇编器\n"
 
-#: gcc.c:3253
+#: gcc.c:3400
 msgid "  -Xpreprocessor <arg>     Pass <arg> on to the preprocessor\n"
 msgstr "  -Xpreprocessor <参数>    将 <参数> 传递给预处理器\n"
 
-#: gcc.c:3254
+#: gcc.c:3401
 msgid "  -Xlinker <arg>           Pass <arg> on to the linker\n"
 msgstr "  -Xlinker <参数>          将 <参数> 传递给链接器\n"
 
-#: gcc.c:3255
+#: gcc.c:3402
 msgid "  -combine                 Pass multiple source files to compiler at once\n"
 msgstr "  -combine                 将多个源文件一次性传递给汇编器\n"
 
-#: gcc.c:3256
+#: gcc.c:3403
 msgid "  -save-temps              Do not delete intermediate files\n"
 msgstr "  -save-temps              不删除中间文件\n"
 
-#: gcc.c:3257
+#: gcc.c:3404
+msgid "  -save-temps=<arg>        Do not delete intermediate files\n"
+msgstr "  -save-temps=<arg>        不删除中间文件\n"
+
+#: gcc.c:3405
+msgid ""
+"  -no-canonical-prefixes   Do not canonicalize paths when building relative\n"
+"                           prefixes to other gcc components\n"
+msgstr ""
+"  -no-canonical-prefixes   生成其他 gcc 组件的相对路径时不生成规范化的\n"
+"                           前缀\n"
+
+#: gcc.c:3408
 msgid "  -pipe                    Use pipes rather than intermediate files\n"
 msgstr "  -pipe                    使用管道代替临时文件\n"
 
-#: gcc.c:3258
+#: gcc.c:3409
 msgid "  -time                    Time the execution of each subprocess\n"
 msgstr "  -time                    为每个子进程计时\n"
 
-#: gcc.c:3259
+#: gcc.c:3410
 msgid "  -specs=<file>            Override built-in specs with the contents of <file>\n"
 msgstr "  -specs=<文件>            用 <文件> 的内容覆盖内建的 specs 文件\n"
 
-#: gcc.c:3260
+#: gcc.c:3411
 msgid "  -std=<standard>          Assume that the input sources are for <standard>\n"
 msgstr "  -std=<标准>              指定输入源文件遵循的标准\n"
 
-#: gcc.c:3261
+#: gcc.c:3412
 msgid ""
 "  --sysroot=<directory>    Use <directory> as the root directory for headers\n"
 "                           and libraries\n"
 msgstr "  --sysroot=<目录>         将 <目录> 作为头文件和库文件的根目录\n"
 
-#: gcc.c:3264
+#: gcc.c:3415
 msgid "  -B <directory>           Add <directory> to the compiler's search paths\n"
 msgstr "  -B <目录>                将 <目录> 添加到编译器的搜索路径中\n"
 
-#: gcc.c:3265
+#: gcc.c:3416
 msgid "  -b <machine>             Run gcc for target <machine>, if installed\n"
 msgstr "  -b <机器>                为 gcc 指定目标机器(如果有安装)\n"
 
-#: gcc.c:3266
+#: gcc.c:3417
 msgid "  -V <version>             Run gcc version number <version>, if installed\n"
 msgstr "  -V <版本>                运行指定版本的 gcc(如果有安装)\n"
 
-#: gcc.c:3267
+#: gcc.c:3418
 msgid "  -v                       Display the programs invoked by the compiler\n"
 msgstr "  -v                       显示编译器调用的程序\n"
 
-#: gcc.c:3268
+#: gcc.c:3419
 msgid "  -###                     Like -v but options quoted and commands not executed\n"
 msgstr "  -###                     与 -v 类似,但选项被引号括住,并且不执行命令\n"
 
-#: gcc.c:3269
+#: gcc.c:3420
 msgid "  -E                       Preprocess only; do not compile, assemble or link\n"
 msgstr "  -E                       仅作预处理,不进行编译、汇编和链接\n"
 
-#: gcc.c:3270
+#: gcc.c:3421
 msgid "  -S                       Compile only; do not assemble or link\n"
 msgstr "  -S                       编译到汇编语言,不进行汇编和链接\n"
 
-#: gcc.c:3271
+#: gcc.c:3422
 msgid "  -c                       Compile and assemble, but do not link\n"
 msgstr "  -c                       编译、汇编到目标代码,不进行链接\n"
 
-#: gcc.c:3272
+#: gcc.c:3423
 msgid "  -o <file>                Place the output into <file>\n"
 msgstr "  -o <文件>                输出到 <文件>\n"
 
-#: gcc.c:3273
+#: gcc.c:3424
 msgid ""
 "  -x <language>            Specify the language of the following input files\n"
 "                           Permissible languages include: c c++ assembler none\n"
@@ -1035,7 +1100,7 @@ msgstr ""
 "                           ‘none’意味着恢复默认行为,即根据文件的扩展名猜测\n"
 "                           源文件的语言\n"
 
-#: gcc.c:3280
+#: gcc.c:3431
 #, c-format
 msgid ""
 "\n"
@@ -1047,195 +1112,190 @@ msgstr ""
 "以 -g、-f、-m、-O、-W 或 --param 开头的选项将由 %s 自动传递给其调用的\n"
 " 不同子进程。若要向这些进程传递其他选项,必须使用 -W<字母> 选项。\n"
 
-#: gcc.c:3403
+#: gcc.c:3563
 #, c-format
 msgid "'-%c' option must have argument"
 msgstr "‘-%c’选项必须有一个参数"
 
-#: gcc.c:3424
+#: gcc.c:3589
 #, c-format
 msgid "couldn't run '%s': %s"
 msgstr "无法运行‘%s’:%s"
 
-#. translate_options () has turned --version into -fversion.
-#: gcc.c:3625
-#, c-format
-msgid "%s %s%s\n"
-msgstr "%s %s%s\n"
-
-#: gcc.c:3628 gcov.c:430 fortran/gfortranspec.c:383 java/jcf-dump.c:1170
-msgid "(C)"
-msgstr "©"
-
-#: gcc.c:3629 java/jcf-dump.c:1171
+#: gcc.c:3591
 #, c-format
-msgid ""
-"This is free software; see the source for copying conditions.  There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-"\n"
-msgstr ""
-"本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;\n"
-"包括没有适销性和某一专用目的下的适用性担保。\n"
+msgid "couldn't run '%s': %s: %s"
+msgstr "无法运行“%s”:%s :%s"
 
-#: gcc.c:3743
+#: gcc.c:3969
 #, c-format
 msgid "argument to '-Xlinker' is missing"
 msgstr "‘-Xlinker’缺少实参"
 
-#: gcc.c:3751
+#: gcc.c:3977
 #, c-format
 msgid "argument to '-Xpreprocessor' is missing"
 msgstr "‘-Xpreprocessor’缺少实参"
 
-#: gcc.c:3758
+#: gcc.c:3984
 #, c-format
 msgid "argument to '-Xassembler' is missing"
 msgstr "‘-Xassembler’缺少实参"
 
-#: gcc.c:3765
+#: gcc.c:3991
 #, c-format
 msgid "argument to '-l' is missing"
 msgstr "‘-l’缺少实参"
 
-#: gcc.c:3786
+#: gcc.c:4012
+#, c-format
+msgid "'%s' is an unknown -save-temps option"
+msgstr "‘%s’是一个未知的 -save-temps 选项"
+
+#: gcc.c:4026
 #, c-format
 msgid "argument to '-specs' is missing"
 msgstr "‘-specs’缺少实参"
 
-#: gcc.c:3800
+#: gcc.c:4040
 #, c-format
 msgid "argument to '-specs=' is missing"
 msgstr "‘-Xlinker’缺少实参"
 
-#: gcc.c:3822
+#: gcc.c:4068
 #, c-format
 msgid "argument to '-wrapper' is missing"
 msgstr "‘-wrapper’缺少实参"
 
-#: gcc.c:3850
+#: gcc.c:4096
 #, c-format
 msgid "'-%c' must come at the start of the command line"
 msgstr "‘-%c’必须出现在命令行的开头"
 
-#: gcc.c:3859
+#: gcc.c:4105
 #, c-format
 msgid "argument to '-B' is missing"
 msgstr "‘-B’缺少实参"
 
-#: gcc.c:4213
+#: gcc.c:4498
 #, c-format
 msgid "argument to '-x' is missing"
 msgstr "‘-x’缺少实参"
 
-#: gcc.c:4241
+#: gcc.c:4526 gcc.c:4969
 #, c-format
 msgid "argument to '-%s' is missing"
 msgstr "‘-%s’缺少实参"
 
-#: gcc.c:4614
-#, c-format
-msgid "switch '%s' does not start with '-'"
-msgstr "开关‘%s’未以‘-’开头"
-
-#: gcc.c:4758
+#: gcc.c:4764
 #, c-format
-msgid "spec '%s' invalid"
-msgstr "spec‘%s’无效"
+msgid "unable to locate default linker script '%s' in the library search paths"
+msgstr "无法在库搜索路径中定位默认链接器脚本‘%s’"
 
-#: gcc.c:4897
+#: gcc.c:4945
 #, c-format
-msgid "spec '%s' has invalid '%%0%c'"
-msgstr "spec‘%s’有无效的‘%%0%c’"
+msgid "switch '%s' does not start with '-'"
+msgstr "开关‘%s’未以‘-’开头"
 
-#: gcc.c:5126
+#: gcc.c:5061
 #, c-format
 msgid "could not open temporary response file %s"
 msgstr "无法打开临时响应文件 %s"
 
-#: gcc.c:5132
+#: gcc.c:5067
 #, c-format
 msgid "could not write to temporary response file %s"
 msgstr "无法写入临时响应文件 %s"
 
-#: gcc.c:5138
+#: gcc.c:5073
 #, c-format
 msgid "could not close temporary response file %s"
 msgstr "无法关闭临时响应文件 %s"
 
-#: gcc.c:5172
+#: gcc.c:5175
+#, c-format
+msgid "spec '%s' invalid"
+msgstr "spec‘%s’无效"
+
+#: gcc.c:5324
+#, c-format
+msgid "spec '%s' has invalid '%%0%c'"
+msgstr "spec‘%s’有无效的‘%%0%c’"
+
+#: gcc.c:5633
 #, c-format
 msgid "spec '%s' has invalid '%%W%c"
 msgstr "spec‘%s’有无效的‘%%W%c’"
 
-#: gcc.c:5192
+#: gcc.c:5653
 #, c-format
 msgid "spec '%s' has invalid '%%x%c'"
 msgstr "spec‘%s’有无效的‘%%x%c’"
 
-#: gcc.c:5414
+#: gcc.c:5875
 #, c-format
 msgid "Processing spec %c%s%c, which is '%s'\n"
 msgstr "处理 spec %c%s%c,即‘%s’\n"
 
-#: gcc.c:5538
+#: gcc.c:6000
 #, c-format
 msgid "unknown spec function '%s'"
 msgstr "未知的 spec 函数‘%s’"
 
-#: gcc.c:5557
+#: gcc.c:6020
 #, c-format
 msgid "error in args to spec function '%s'"
 msgstr "给 spec 函数‘%s’的参数有错"
 
-#: gcc.c:5605
+#: gcc.c:6069
 #, c-format
 msgid "malformed spec function name"
 msgstr "spec 函数名格式错误"
 
 #. )
-#: gcc.c:5608
+#: gcc.c:6072
 #, c-format
 msgid "no arguments for spec function"
 msgstr "spec 函数没有实参"
 
-#: gcc.c:5627
+#: gcc.c:6091
 #, c-format
 msgid "malformed spec function arguments"
 msgstr "spec 函数实参格式错误"
 
-#: gcc.c:5873
+#: gcc.c:6337
 #, c-format
 msgid "braced spec '%s' is invalid at '%c'"
 msgstr "花括号中的 spec‘%s’在‘%c’中无效"
 
-#: gcc.c:5961
+#: gcc.c:6425
 #, c-format
 msgid "braced spec body '%s' is invalid"
 msgstr "花括号中的 spec 体‘%s’无效"
 
-#: gcc.c:6499
+#: gcc.c:7124
 #, c-format
 msgid "install: %s%s\n"
 msgstr "安装:%s%s\n"
 
-#: gcc.c:6502
+#: gcc.c:7127
 #, c-format
 msgid "programs: %s\n"
 msgstr "程序:%s\n"
 
-#: gcc.c:6504
+#: gcc.c:7129
 #, c-format
 msgid "libraries: %s\n"
 msgstr "库:%s\n"
 
 #. The error status indicates that only one set of fixed
 #. headers should be built.
-#: gcc.c:6570
+#: gcc.c:7195
 #, c-format
 msgid "not configured with sysroot headers suffix"
 msgstr "没有配置 sysroot 头文件后缀"
 
-#: gcc.c:6579
+#: gcc.c:7204
 #, c-format
 msgid ""
 "\n"
@@ -1244,47 +1304,76 @@ msgstr ""
 "\n"
 "报告程序缺陷的步骤请参见:\n"
 
-#: gcc.c:6595
+#: gcc.c:7220
+#, c-format
+msgid "%s %s%s\n"
+msgstr "%s %s%s\n"
+
+#: gcc.c:7223 gcov.c:430 fortran/gfortranspec.c:373 java/jcf-dump.c:1170
+msgid "(C)"
+msgstr "©"
+
+#: gcc.c:7224 java/jcf-dump.c:1171
+#, c-format
+msgid ""
+"This is free software; see the source for copying conditions.  There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+"\n"
+msgstr ""
+"本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;\n"
+"包括没有适销性和某一专用目的下的适用性担保。\n"
+
+#: gcc.c:7241
 #, c-format
 msgid "Target: %s\n"
 msgstr "目标:%s\n"
 
-#: gcc.c:6596
+#: gcc.c:7242
 #, c-format
 msgid "Configured with: %s\n"
 msgstr "配置为:%s\n"
 
-#: gcc.c:6610
+#: gcc.c:7256
 #, c-format
 msgid "Thread model: %s\n"
 msgstr "线程模型:%s\n"
 
-#: gcc.c:6621
+#: gcc.c:7267
 #, c-format
 msgid "gcc version %s %s\n"
 msgstr "gcc 版本 %s %s\n"
 
-#: gcc.c:6623
+#: gcc.c:7269
 #, c-format
 msgid "gcc driver version %s %sexecuting gcc version %s\n"
 msgstr "版本为 %s %s的 gcc 驱动程序,执行版本为 %s 的 gcc\n"
 
-#: gcc.c:6631
+#: gcc.c:7277
 #, c-format
 msgid "no input files"
 msgstr "没有输入文件"
 
-#: gcc.c:6680
+#: gcc.c:7326
 #, c-format
-msgid "cannot specify -o with -c or -S with multiple files"
+msgid "cannot specify -o with -c, -S or -E with multiple files"
 msgstr "当有多个文件时不能在已指定 -c 或 -S 的情况下指定 -o"
 
-#: gcc.c:6714
+#: gcc.c:7360
 #, c-format
 msgid "spec '%s' is invalid"
 msgstr "spec‘%s’是无效的"
 
-#: gcc.c:6850
+#: gcc.c:7551
+#, c-format
+msgid "-fuse-linker-plugin, but liblto_plugin.so not found"
+msgstr "使用了 -fuse-linker-plugin 但找不到 liblto_plugin.so"
+
+#: gcc.c:7556
+#, c-format
+msgid "could not find libgcc.a"
+msgstr "找不到 libgcc.a"
+
+#: gcc.c:7567
 #, c-format
 msgid ""
 "\n"
@@ -1297,7 +1386,7 @@ msgstr ""
 "==============\n"
 "\n"
 
-#: gcc.c:6851
+#: gcc.c:7568
 #, c-format
 msgid ""
 "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
@@ -1306,52 +1395,52 @@ msgstr ""
 "使用“-Wl,选项”将“选项”传递给链接器。\n"
 "\n"
 
-#: gcc.c:7203
+#: gcc.c:7920
 #, c-format
 msgid "multilib spec '%s' is invalid"
 msgstr "multilib spec‘%s’无效"
 
-#: gcc.c:7394
+#: gcc.c:8111
 #, c-format
 msgid "multilib exclusions '%s' is invalid"
 msgstr "multilib 排除‘%s’无效"
 
-#: gcc.c:7452 gcc.c:7593
+#: gcc.c:8169 gcc.c:8310
 #, c-format
 msgid "multilib select '%s' is invalid"
 msgstr "multilib 选择‘%s’无效"
 
-#: gcc.c:7631
+#: gcc.c:8348
 #, c-format
 msgid "multilib exclusion '%s' is invalid"
 msgstr "multilib 排除‘%s’无效"
 
-#: gcc.c:7837
+#: gcc.c:8554
 #, c-format
 msgid "environment variable \"%s\" not defined"
 msgstr "没有定义“%s”环境变量"
 
-#: gcc.c:7928 gcc.c:7933
+#: gcc.c:8645 gcc.c:8650
 #, c-format
 msgid "invalid version number `%s'"
 msgstr "无效的版本号‘%s’"
 
-#: gcc.c:7976
+#: gcc.c:8693
 #, c-format
 msgid "too few arguments to %%:version-compare"
 msgstr "%%:version-compare 的实参太少"
 
-#: gcc.c:7982
+#: gcc.c:8699
 #, c-format
 msgid "too many arguments to %%:version-compare"
 msgstr "%%:version-compare 的实参太多"
 
-#: gcc.c:8023
+#: gcc.c:8740
 #, c-format
 msgid "unknown operator '%s' in %%:version-compare"
 msgstr "%%:version-compare 中有未知的运算符‘%s’"
 
-#: gcc.c:8057
+#: gcc.c:8774
 #, c-format
 msgid ""
 "Assembler options\n"
@@ -1362,7 +1451,7 @@ msgstr ""
 "=================\n"
 "\n"
 
-#: gcc.c:8058
+#: gcc.c:8775
 #, c-format
 msgid ""
 "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
@@ -1371,6 +1460,31 @@ msgstr ""
 "使用“-Wa,选项”将“选项”传递给汇编器。\n"
 "\n"
 
+#: gcc.c:8821
+#, c-format
+msgid "too many arguments to %%:compare-debug-dump-opt"
+msgstr "%%:compare-debug-dump-opt 的实参太多"
+
+#: gcc.c:8888
+#, c-format
+msgid "too many arguments to %%:compare-debug-self-opt"
+msgstr "%%:compare-debug-self-opt 的实参太多"
+
+#: gcc.c:8923
+#, c-format
+msgid "too few arguments to %%:compare-debug-auxbase-opt"
+msgstr "%%:compare-debug-auxbase-opt 的实参太少"
+
+#: gcc.c:8926
+#, c-format
+msgid "too many arguments to %%:compare-debug-auxbase-opt"
+msgstr "%%:compare-debug-auxbase-opt 的实参太多"
+
+#: gcc.c:8933
+#, c-format
+msgid "argument to %%:compare-debug-auxbase-opt does not end in .gk"
+msgstr "%%:compare-debug-auxbase-opt 的参数未以 .gk 结尾"
+
 #: gcov.c:403
 #, c-format
 msgid ""
@@ -1555,128 +1669,132 @@ msgstr "%s:版本‘%.4s’,首选版本‘%.4s’\n"
 msgid "%s:stamp mismatch with graph file\n"
 msgstr "%s:时间戳与图文件不匹配\n"
 
-#: gcov.c:1082
+#: gcov.c:1083
 #, c-format
 msgid "%s:unknown function '%u'\n"
 msgstr "%s:未知函数‘%u’\n"
 
-#: gcov.c:1095
+#: gcov.c:1097
 #, c-format
 msgid "%s:profile mismatch for '%s'\n"
 msgstr "%s:样本文件与‘%s’不匹配\n"
 
-#: gcov.c:1114
+#: gcov.c:1116
 #, c-format
 msgid "%s:overflowed\n"
 msgstr "%s:溢出\n"
 
-#: gcov.c:1138
+#: gcov.c:1140
 #, c-format
 msgid "%s:'%s' lacks entry and/or exit blocks\n"
 msgstr "%s:‘%s’缺少入口/出口块\n"
 
-#: gcov.c:1143
+#: gcov.c:1145
 #, c-format
 msgid "%s:'%s' has arcs to entry block\n"
 msgstr "%s:‘%s’有去往入口块的弧\n"
 
-#: gcov.c:1151
+#: gcov.c:1153
 #, c-format
 msgid "%s:'%s' has arcs from exit block\n"
 msgstr "%s:‘%s’有来自出口块的弧\n"
 
-#: gcov.c:1359
+#: gcov.c:1361
 #, c-format
 msgid "%s:graph is unsolvable for '%s'\n"
 msgstr "%s:图为‘%s’不可解\n"
 
-#: gcov.c:1439
+#: gcov.c:1441
 #, c-format
 msgid "%s '%s'\n"
 msgstr "%s‘%s’\n"
 
-#: gcov.c:1442
+#: gcov.c:1444
 #, c-format
 msgid "Lines executed:%s of %d\n"
 msgstr "已执行的行数:%s (共 %d 行)\n"
 
-#: gcov.c:1446
+#: gcov.c:1448
 #, c-format
 msgid "No executable lines\n"
 msgstr "没有可执行行\n"
 
-#: gcov.c:1452
+#: gcov.c:1454
 #, c-format
 msgid "Branches executed:%s of %d\n"
 msgstr "执行的分支:%s (共有 %d 个)\n"
 
-#: gcov.c:1456
+#: gcov.c:1458
 #, c-format
 msgid "Taken at least once:%s of %d\n"
 msgstr "至少执行一次的跳转:%s(总数为 %d)\n"
 
-#: gcov.c:1462
+#: gcov.c:1464
 #, c-format
 msgid "No branches\n"
 msgstr "没有跳转\n"
 
-#: gcov.c:1464
+#: gcov.c:1466
 #, c-format
 msgid "Calls executed:%s of %d\n"
 msgstr "执行的调用:%s (共 %d)\n"
 
-#: gcov.c:1468
+#: gcov.c:1470
 #, c-format
 msgid "No calls\n"
 msgstr "没有调用\n"
 
-#: gcov.c:1628
+#: gcov.c:1630
 #, c-format
 msgid "%s:no lines for '%s'\n"
 msgstr "%s:‘%s’没有行\n"
 
-#: gcov.c:1823
+#: gcov.c:1825
 #, c-format
 msgid "call   %2d returned %s\n"
 msgstr "call   %2d 返回了 %s\n"
 
-#: gcov.c:1828
+#: gcov.c:1830
 #, c-format
 msgid "call   %2d never executed\n"
 msgstr "call   %2d 从未被执行\n"
 
-#: gcov.c:1833
+#: gcov.c:1835
 #, c-format
 msgid "branch %2d taken %s%s\n"
 msgstr "branch %2d 被执行 %s%s\n"
 
-#: gcov.c:1837
+#: gcov.c:1839
 #, c-format
 msgid "branch %2d never executed\n"
 msgstr "branch %2d 从未被执行\n"
 
-#: gcov.c:1842
+#: gcov.c:1844
 #, c-format
 msgid "unconditional %2d taken %s\n"
 msgstr "unconditional %2d 被执行 %s\n"
 
-#: gcov.c:1845
+#: gcov.c:1847
 #, c-format
 msgid "unconditional %2d never executed\n"
 msgstr "无条件 %2d 从未执行\n"
 
-#: gcov.c:1881
+#: gcov.c:1883
 #, c-format
 msgid "%s:cannot open source file\n"
 msgstr "%s:无法打开源文件\n"
 
-#: gcse.c:692
+#: gcse.c:3966
+msgid "PRE disabled"
+msgstr "PRE 被禁用"
+
+#: gcse.c:4447
 msgid "GCSE disabled"
 msgstr "GCSE 被禁用"
 
-#: gcse.c:6510
-msgid "jump bypassing disabled"
-msgstr "跳转旁路被禁用"
+#: gcse.c:4964
+msgid "const/copy propagation disabled"
+msgstr "常量/复制传递被禁用"
 
 #: incpath.c:76
 #, c-format
@@ -1709,572 +1827,274 @@ msgid "End of search list.\n"
 msgstr "搜索列表结束。\n"
 
 #. Opening quotation mark.
-#: intl.c:57
+#: intl.c:64
 msgid "`"
 msgstr "‘"
 
 #. Closing quotation mark.
-#: intl.c:60
+#: intl.c:67
 msgid "'"
 msgstr "’"
 
-#: ipa-inline.c:399
-msgid "--param large-function-growth limit reached"
-msgstr "到达 --param large-function-growth 给定的极限"
-
-#: ipa-inline.c:414
-msgid "--param large-stack-frame-growth limit reached"
-msgstr "到达 --param large-stack-frame-growth 给定的极限"
-
-#: ipa-inline.c:432
-msgid "function not inline candidate"
-msgstr "函数不是内联备选"
-
-#: ipa-inline.c:448
-msgid "--param max-inline-insns-single limit reached"
-msgstr "到达 --param max-inline-insns-single 给定的极限"
-
-#: ipa-inline.c:457
-msgid "--param max-inline-insns-auto limit reached"
-msgstr "到达 --param max-inline-insns-single 给定的极限"
-
-#: ipa-inline.c:483 ipa-inline.c:942 ipa-inline.c:1166 ipa-inline.c:1292
-msgid "recursive inlining"
-msgstr "递归内联"
-
-#: ipa-inline.c:950
-msgid "call is unlikely and code size would grow"
-msgstr "调用不太可能且会导致代码膨胀"
-
-#: ipa-inline.c:953
-msgid "function not declared inline and code size would grow"
-msgstr "函数未被声明成内联且会导致代码膨胀"
-
-#: ipa-inline.c:955
-msgid "optimizing for size and code size would grow"
-msgstr "为代码大小优化而会导致代码膨胀"
-
-#: ipa-inline.c:980
-msgid "target specific option mismatch"
-msgstr "目标相关的选项不匹配"
-
-#: ipa-inline.c:1056
-msgid "--param inline-unit-growth limit reached"
-msgstr "到达 --param inline-unit-growth 给定的极限"
-
-#: langhooks.c:378
+#: langhooks.c:355
 msgid "At top level:"
-msgstr "在文件:"
+msgstr "在文件作用域:"
 
-#: langhooks.c:398
+#: langhooks.c:375 cp/error.c:2720
 #, c-format
 msgid "In member function %qs"
 msgstr "在成员函数%qs中"
 
-#: langhooks.c:402
+#: langhooks.c:379 cp/error.c:2723
 #, c-format
 msgid "In function %qs"
 msgstr "在函数%qs中"
 
-#: langhooks.c:453
+#: langhooks.c:430 cp/error.c:2673
 #, c-format
 msgid "    inlined from %qs at %s:%d:%d"
 msgstr "    内联自%qs于 %s:%d:%d"
 
-#: langhooks.c:458
+#: langhooks.c:435 cp/error.c:2678
 #, c-format
 msgid "    inlined from %qs at %s:%d"
 msgstr "    内联自%qs于 %s:%d"
 
-#: langhooks.c:464
+#: langhooks.c:441 cp/error.c:2684
 #, c-format
 msgid "    inlined from %qs"
 msgstr "    内联自%qs"
 
-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1845
+#: loop-iv.c:2966 tree-ssa-loop-niter.c:1876
 msgid "assuming that the loop is not infinite"
 msgstr "假定循环有穷"
 
-#: loop-iv.c:2807 tree-ssa-loop-niter.c:1846
+#: loop-iv.c:2967 tree-ssa-loop-niter.c:1877
 msgid "cannot optimize possibly infinite loops"
 msgstr "无法优化可能无穷的循环"
 
-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1850
+#: loop-iv.c:2975 tree-ssa-loop-niter.c:1881
 msgid "assuming that the loop counter does not overflow"
 msgstr "假定循环计数不会溢出"
 
-#: loop-iv.c:2816 tree-ssa-loop-niter.c:1851
+#: loop-iv.c:2976 tree-ssa-loop-niter.c:1882
 msgid "cannot optimize loop, the loop counter may overflow"
 msgstr "无法优化循环,循环变量可能溢出"
 
-#: opts.c:342
+#: lto-wrapper.c:184
+#, c-format
+msgid "%s terminated with signal %d [%s], core dumped"
+msgstr "%s 以信号 %d [%s] 退出,核心转储"
+
+#: lto-wrapper.c:187
+#, c-format
+msgid "%s terminated with signal %d [%s]"
+msgstr "%s 以信号 %d [%s] 退出。"
+
+#: lto-wrapper.c:192 collect2.c:1974
+#, gcc-internal-format
+msgid "%s returned %d exit status"
+msgstr "%s 以返回值 %d 退出"
+
+#: lto-wrapper.c:207
+#, c-format
+msgid "deleting LTRANS file %s"
+msgstr "删除 LTRANS 文件 %s"
+
+#: lto-wrapper.c:229
+#, c-format
+msgid "failed to open %s"
+msgstr "打开 %s 失败"
+
+#: lto-wrapper.c:234
+#, c-format
+msgid "could not write to temporary file %s"
+msgstr "无法写入临时文件 %s"
+
+#: lto-wrapper.c:296 lto-wrapper.c:353
+#, c-format
+msgid "invalid LTO mode"
+msgstr "无效 LTO 模式"
+
+#: lto-wrapper.c:344
+#, c-format
+msgid "fopen: %s"
+msgstr "fopen %s"
+
+#. What to print when a switch has no documentation.
+#: opts.c:341
 msgid "This switch lacks documentation"
 msgstr "此开关缺少可用文档"
 
-#: opts.c:1288
+#: opts.c:1313
 msgid "[enabled]"
 msgstr "[启用]"
 
-#: opts.c:1288
+#: opts.c:1313
 msgid "[disabled]"
 msgstr "[禁用]"
 
-#: opts.c:1303
+#: opts.c:1328
 #, c-format
 msgid " No options with the desired characteristics were found\n"
 msgstr " 找不到具有指定特性的选项\n"
 
-#: opts.c:1312
+#: opts.c:1337
 #, c-format
 msgid " None found.  Use --help=%s to show *all* the options supported by the %s front-end\n"
 msgstr " 找不到对应的选项。使用 --help=%s 显示 %s 前端所支持的所有选项\n"
 
-#: opts.c:1318
+#: opts.c:1343
 #, c-format
 msgid " All options with the desired characteristics have already been displayed\n"
 msgstr " 所有具有指定特性的选项已被显示\n"
 
-#: opts.c:1372
+#: opts.c:1397
 msgid "The following options are target specific"
 msgstr "下列选项与特定目标机相关"
 
-#: opts.c:1375
+#: opts.c:1400
 msgid "The following options control compiler warning messages"
 msgstr "下列选项控制编译器警告信息"
 
-#: opts.c:1378
+#: opts.c:1403
 msgid "The following options control optimizations"
 msgstr "下列选项控制优化"
 
-#: opts.c:1381 opts.c:1416
+#: opts.c:1406 opts.c:1445
 msgid "The following options are language-independent"
 msgstr "下列选项与具体语言无关"
 
-#: opts.c:1384
+#: opts.c:1409
 msgid "The --param option recognizes the following as parameters"
 msgstr "--param 选项可接受以下参数"
 
-#: opts.c:1390
+#: opts.c:1415
 msgid "The following options are specific to just the language "
 msgstr "下列选项只与特定语言相关 "
 
-#: opts.c:1392
+#: opts.c:1417
 msgid "The following options are supported by the language "
 msgstr "下列选项被语言支持"
 
-#: opts.c:1403
+#: opts.c:1428
 msgid "The following options are not documented"
 msgstr "下列选项未列入文档"
 
-#: opts.c:1414
+#: opts.c:1430
+msgid "The following options take separate arguments"
+msgstr "下列选项带分立的参数"
+
+#: opts.c:1432
+msgid "The following options take joined arguments"
+msgstr "下列选项带联合的参数"
+
+#: opts.c:1443
 msgid "The following options are language-related"
 msgstr "下列选项与语言相关"
 
-#: opts.c:1567
+#: opts.c:1603
 #, c-format
 msgid "warning: --help argument %.*s is ambiguous, please be more specific\n"
 msgstr "警告:--help 的参数 %.*s 有歧义,请改用更加明确的参数\n"
 
-#: opts.c:1575
+#: opts.c:1611
 #, c-format
 msgid "warning: unrecognized argument to --help= option: %.*s\n"
 msgstr "警告:--help= 选项的参数不可识别:%.*s\n"
 
-#: protoize.c:583
-#, c-format
-msgid "%s: error writing file '%s': %s\n"
-msgstr "%s:写入文件‘%s’时出错:%s\n"
+#: plugin.c:765
+msgid "Event"
+msgstr "事件"
 
-#: protoize.c:627
-#, c-format
-msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
-msgstr "%s:用法‘%s [ -VqfnkN ] [ -i <字符串> ] [ 文件名 ... ]’\n"
+#: plugin.c:765
+msgid "Plugins"
+msgstr "插件"
 
-#: protoize.c:630
-#, c-format
-msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
-msgstr "%s:用法‘%s [ -VqfnkNlgC ] [ -B <目录名> ] [ 文件名 ... ]'\n"
+#: reload.c:3821
+msgid "unable to generate reloads for:"
+msgstr "无法生成重新载入,为:"
 
-#: protoize.c:731
-#, c-format
-msgid "%s: warning: no read access for file '%s'\n"
-msgstr "%s:警告:没有文件‘%s’的读权限\n"
+#: reload1.c:2141
+msgid "this is the insn:"
+msgstr "这是指令:"
 
-#: protoize.c:739
-#, c-format
-msgid "%s: warning: no write access for file '%s'\n"
-msgstr "%s:警告:没有文件‘%s’的写权限\n"
+#. It's the compiler's fault.
+#: reload1.c:5661
+msgid "could not find a spill register"
+msgstr "找不到可溢出的寄存器"
 
-#: protoize.c:747
-#, c-format
-msgid "%s: warning: no write access for dir containing '%s'\n"
-msgstr "%s:警告:没有对包含‘%s’的目录的写权限\n"
+#. It's the compiler's fault.
+#: reload1.c:7646
+msgid "VOIDmode on an output"
+msgstr "输出有 VOIDmode"
 
-#. Catch cases like /.. where we try to backup to a
-#. point above the absolute root of the logical file
-#. system.
-#: protoize.c:1134
-#, c-format
-msgid "%s: invalid file name: %s\n"
-msgstr "%s:无效的文件名:%s\n"
+#: reload1.c:8401
+msgid "Failure trying to reload:"
+msgstr "试图重新载入时失败:"
 
-#: protoize.c:1282
-#, c-format
-msgid "%s: %s: can't get status: %s\n"
-msgstr "%s:%s:不能获取状态:%s\n"
+#: rtl-error.c:120
+msgid "unrecognizable insn:"
+msgstr "无法识别的指令:"
 
-#: protoize.c:1303
-#, c-format
+#: rtl-error.c:122
+msgid "insn does not satisfy its constraints:"
+msgstr "指令不满足其约束:"
+
+#: timevar.c:411
 msgid ""
 "\n"
-"%s: fatal error: aux info file corrupted at line %d\n"
+"Execution times (seconds)\n"
 msgstr ""
 "\n"
-"%s:致命错误:辅助信息文件的第 %d 行已损坏\n"
+"执行时间(以秒计)\n"
 
-#: protoize.c:1632
-#, c-format
-msgid "%s:%d: declaration of function '%s' takes different forms\n"
-msgstr "%s:%d:函数‘%s’的声明形式不同\n"
+#. Print total time.
+#: timevar.c:469
+msgid " TOTAL                 :"
+msgstr " 共计                  :"
 
-#: protoize.c:1887
-#, c-format
-msgid "%s: compiling '%s'\n"
-msgstr "%s:正在编译‘%s’\n"
-
-#: protoize.c:1910
-#, c-format
-msgid "%s: wait: %s\n"
-msgstr "%s:等待:%s\n"
-
-#: protoize.c:1915
-#, c-format
-msgid "%s: subprocess got fatal signal %d\n"
-msgstr "%s:子进程收到致命信号 %d\n"
-
-#: protoize.c:1923
-#, c-format
-msgid "%s: %s exited with status %d\n"
-msgstr "%s:%s 以状态码 %d 退出\n"
-
-#: protoize.c:1972
-#, c-format
-msgid "%s: warning: missing SYSCALLS file '%s'\n"
-msgstr "%s:警告:缺少 SYSCALLS 文件‘%s’\n"
-
-#: protoize.c:1981 protoize.c:2010
-#, c-format
-msgid "%s: can't read aux info file '%s': %s\n"
-msgstr "%s:无法读取输助信息文件‘%s’:%s\n"
-
-#: protoize.c:2026 protoize.c:2054
-#, c-format
-msgid "%s: can't get status of aux info file '%s': %s\n"
-msgstr "%s:不能获取辅助信息文件‘%s’的状态:%s\n"
-
-#: protoize.c:2082
-#, c-format
-msgid "%s: can't open aux info file '%s' for reading: %s\n"
-msgstr "%s:无法打开辅助信息文件‘%s’以供读出:%s\n"
-
-#: protoize.c:2100
-#, c-format
-msgid "%s: error reading aux info file '%s': %s\n"
-msgstr "%s:读取输助信息文件‘%s’时出错:%s\n"
-
-#: protoize.c:2113
-#, c-format
-msgid "%s: error closing aux info file '%s': %s\n"
-msgstr "%s:关闭输助信息文件‘%s’时出错:%s\n"
-
-#: protoize.c:2129
-#, c-format
-msgid "%s: can't delete aux info file '%s': %s\n"
-msgstr "%s:无法删除输助信息文件‘%s’:%s\n"
-
-#: protoize.c:2211 protoize.c:4181
-#, c-format
-msgid "%s: can't delete file '%s': %s\n"
-msgstr "%s:无法删除文件‘%s’:%s\n"
-
-#: protoize.c:2289
-#, c-format
-msgid "%s: warning: can't rename file '%s' to '%s': %s\n"
-msgstr "%s:警告:不能将文件‘%s’重命名为‘%s’:%s\n"
-
-#: protoize.c:2411
-#, c-format
-msgid "%s: conflicting extern definitions of '%s'\n"
-msgstr "%s:‘%s’有相互冲突的外部定义\n"
-
-#: protoize.c:2415
-#, c-format
-msgid "%s: declarations of '%s' will not be converted\n"
-msgstr "%s:‘%s’的声明不会被转化\n"
-
-#: protoize.c:2417
-#, c-format
-msgid "%s: conflict list for '%s' follows:\n"
-msgstr "%s:‘%s’的冲突列表如下:\n"
-
-#: protoize.c:2450
-#, c-format
-msgid "%s: warning: using formals list from %s(%d) for function '%s'\n"
-msgstr "%s:警告:使用来自 %s(%d)的形参列表,为函数‘%s’\n"
-
-#: protoize.c:2490
-#, c-format
-msgid "%s: %d: '%s' used but missing from SYSCALLS\n"
-msgstr "%s:%d:用到‘%s’但其并未出现在 SYSCALLS 中\n"
-
-#: protoize.c:2496
-#, c-format
-msgid "%s: %d: warning: no extern definition for '%s'\n"
-msgstr "%s:%d:警告:没有‘%s’的外部定义\n"
-
-#: protoize.c:2526
-#, c-format
-msgid "%s: warning: no static definition for '%s' in file '%s'\n"
-msgstr "%1$s:警告:文件‘%3$s’中没有‘%2$s’的静态定义\n"
-
-#: protoize.c:2532
-#, c-format
-msgid "%s: multiple static defs of '%s' in file '%s'\n"
-msgstr "%s:‘%s’在文件‘%s’中有多个静态定义\n"
-
-#: protoize.c:2702 protoize.c:2705
-#, c-format
-msgid "%s: %d: warning: source too confusing\n"
-msgstr "%s:%d:警告:源文件不可理解\n"
-
-#: protoize.c:2900
-#, c-format
-msgid "%s: %d: warning: varargs function declaration not converted\n"
-msgstr "%s:%d:警告:可变参数函数声明未被转化\n"
-
-#: protoize.c:2915
-#, c-format
-msgid "%s: declaration of function '%s' not converted\n"
-msgstr "%s:函数‘%s’的声明不会被转化\n"
-
-#: protoize.c:3038
-#, c-format
-msgid "%s: warning: too many parameter lists in declaration of '%s'\n"
-msgstr "%s:警告:‘%s’的声明中形参列表太多\n"
-
-#: protoize.c:3059
-#, c-format
-msgid ""
-"\n"
-"%s: warning: too few parameter lists in declaration of '%s'\n"
-msgstr ""
-"\n"
-"%s:警告:‘%s’的声明中形参列表太少\n"
-
-#: protoize.c:3155
-#, c-format
-msgid "%s: %d: warning: found '%s' but expected '%s'\n"
-msgstr "%s:%d:警告:发现‘%s’但需要‘%s’\n"
-
-#: protoize.c:3330
-#, c-format
-msgid "%s: local declaration for function '%s' not inserted\n"
-msgstr "%s:未插入函数‘%s’的局部声明\n"
-
-#: protoize.c:3357
-#, c-format
-msgid ""
-"\n"
-"%s: %d: warning: can't add declaration of '%s' into macro call\n"
-msgstr ""
-"\n"
-"%s:%d:警告:不能将‘%s’的声明添加至宏调用中\n"
-
-#: protoize.c:3429
-#, c-format
-msgid "%s: global declarations for file '%s' not inserted\n"
-msgstr "%s:文件‘%s’的全局声明未被插入\n"
-
-#: protoize.c:3519 protoize.c:3549
-#, c-format
-msgid "%s: definition of function '%s' not converted\n"
-msgstr "%s:函数‘%s’的定义不会被转化\n"
-
-#: protoize.c:3538
-#, c-format
-msgid "%s: %d: warning: definition of %s not converted\n"
-msgstr "%s:%d:警告:%s 的定义未被转化\n"
-
-#: protoize.c:3864
-#, c-format
-msgid "%s: found definition of '%s' at %s(%d)\n"
-msgstr "%s:找到‘%s’的定义,于 %s(%d)\n"
-
-#. If we make it here, then we did not know about this
-#. function definition.
-#: protoize.c:3880
-#, c-format
-msgid "%s: %d: warning: '%s' excluded by preprocessing\n"
-msgstr "%s:%d:警告:‘%s’被预处理所排除\n"
-
-#: protoize.c:3883
-#, c-format
-msgid "%s: function definition not converted\n"
-msgstr "%s:函数定义不会被转化\n"
-
-#: protoize.c:3941
-#, c-format
-msgid "%s: '%s' not converted\n"
-msgstr "%s:‘%s’未被转换\n"
-
-#: protoize.c:3949
-#, c-format
-msgid "%s: would convert file '%s'\n"
-msgstr "%s:将要转换文件‘%s’\n"
-
-#: protoize.c:3952
-#, c-format
-msgid "%s: converting file '%s'\n"
-msgstr "%s:转化文件‘%s’\n"
-
-#: protoize.c:3962
-#, c-format
-msgid "%s: can't get status for file '%s': %s\n"
-msgstr "%s:不能获取文件‘%s’的状态:%s\n"
-
-#: protoize.c:4004
-#, c-format
-msgid "%s: can't open file '%s' for reading: %s\n"
-msgstr "%s:无法打开文件‘%s’读入:%s\n"
-
-#: protoize.c:4019
-#, c-format
-msgid ""
-"\n"
-"%s: error reading input file '%s': %s\n"
-msgstr ""
-"\n"
-"%s:读取输入文件‘%s’时出错:%s\n"
-
-#: protoize.c:4053
-#, c-format
-msgid "%s: can't create/open clean file '%s': %s\n"
-msgstr "%s:无法创建/打开干净文件‘%s’:%s\n"
-
-#: protoize.c:4158
-#, c-format
-msgid "%s: warning: file '%s' already saved in '%s'\n"
-msgstr "%s:警告:文件‘%s’已被保存在‘%s’中\n"
-
-#: protoize.c:4166
-#, c-format
-msgid "%s: can't link file '%s' to '%s': %s\n"
-msgstr "%s:无法将文件‘%s’链接至文件‘%s’:%s\n"
-
-#: protoize.c:4196
-#, c-format
-msgid "%s: can't create/open output file '%s': %s\n"
-msgstr "%s:无法创建/打开输出文件‘%s’:%s\n"
-
-#: protoize.c:4229
-#, c-format
-msgid "%s: can't change mode of file '%s': %s\n"
-msgstr "%s:不能改变文件‘%s’的模式:%s\n"
-
-#: protoize.c:4405
-#, c-format
-msgid "%s: cannot get working directory: %s\n"
-msgstr "%s:无法得到工作目录:%s\n"
-
-#: protoize.c:4503
-#, c-format
-msgid "%s: input file names must have .c suffixes: %s\n"
-msgstr "%s:输入文件名必须有 .c 后缀:%s\n"
-
-#: reload.c:3785
-msgid "unable to generate reloads for:"
-msgstr "无法生成重新载入,为:"
-
-#: reload1.c:2093
-msgid "this is the insn:"
-msgstr "这是指令:"
-
-#. It's the compiler's fault.
-#: reload1.c:5611
-msgid "could not find a spill register"
-msgstr "找不到可舍出的寄存器"
-
-#. It's the compiler's fault.
-#: reload1.c:7564
-msgid "VOIDmode on an output"
-msgstr "输出有 VOIDmode"
-
-#: reload1.c:8319
-msgid "Failure trying to reload:"
-msgstr "试图重新载入时失败:"
-
-#: rtl-error.c:120
-msgid "unrecognizable insn:"
-msgstr "无法识别的指令:"
-
-#: rtl-error.c:122
-msgid "insn does not satisfy its constraints:"
-msgstr "指令不满足其约束:"
-
-#: timevar.c:411
-msgid ""
-"\n"
-"Execution times (seconds)\n"
-msgstr ""
-"\n"
-"执行时间(以秒计)\n"
-
-#. Print total time.
-#: timevar.c:469
-msgid " TOTAL                 :"
-msgstr " 共计                  :"
-
-#: timevar.c:502
+#: timevar.c:502
 #, c-format
 msgid "time in %s: %ld.%06ld (%ld%%)\n"
 msgstr "%s中耗时:%ld.%06ld (%ld%%)\n"
 
-#: tlink.c:382
+#: tlink.c:383
 #, c-format
 msgid "collect: reading %s\n"
 msgstr "collect:读入 %s\n"
 
-#: tlink.c:476
+#: tlink.c:477
 #, c-format
 msgid "removing .rpo file"
 msgstr "删除 .rpo 文件"
 
-#: tlink.c:478
+#: tlink.c:479
 #, c-format
 msgid "renaming .rpo file"
 msgstr "重命名 .rpo 文件"
 
-#: tlink.c:532
+#: tlink.c:533
 #, c-format
 msgid "collect: recompiling %s\n"
 msgstr "collect:重新编译 %s\n"
 
-#: tlink.c:739
+#: tlink.c:740
 #, c-format
 msgid "collect: tweaking %s in %s\n"
 msgstr "collect:调整 %s,于 %s\n"
 
-#: tlink.c:789
+#: tlink.c:790
 #, c-format
 msgid "collect: relinking\n"
 msgstr "collect:重新链接\n"
 
-#: toplev.c:595
+#: toplev.c:621
 #, c-format
 msgid "unrecoverable error"
 msgstr "不可恢复错误"
 
-#: toplev.c:1108
+#: toplev.c:1196
 #, c-format
 msgid ""
 "%s%s%s %sversion %s (%s)\n"
@@ -2283,973 +2103,1065 @@ msgstr ""
 "%s%s%s %s版本 %s (%s)\n"
 "%s\t由 GNU C 版本 %s 编译,"
 
-#: toplev.c:1110
+#: toplev.c:1198
 #, c-format
 msgid "%s%s%s %sversion %s (%s) compiled by CC, "
 msgstr "%s%s%s %s版本 %s (%s),由 CC 编译,"
 
-#: toplev.c:1114
+#: toplev.c:1203
+#, c-format
+msgid "GMP version %s, MPFR version %s, MPC version %s\n"
+msgstr "GMP 版本 %s,MPFR 版本 %s,MPC 版本 %s\n"
+
+#: toplev.c:1206
 #, c-format
-msgid "GMP version %s, MPFR version %s.\n"
-msgstr "GMP 版本 %s,MPFR 版本 %s\n"
+msgid "GMP version %s, MPFR version %s\n"
+msgstr "GMP 版本 %s,MPFR 版本 %s\n"
 
-#: toplev.c:1116
+#: toplev.c:1209
 #, c-format
 msgid "%s%swarning: %s header version %s differs from library version %s.\n"
 msgstr "%s%s警告:%s 头文件版本 %s 与库版本 %s 不同。\n"
 
-#: toplev.c:1118
+#: toplev.c:1211
 #, c-format
 msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
 msgstr "%s%sGGC 准则:--param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
 
-#: toplev.c:1270
+#: toplev.c:1380
 msgid "options passed: "
 msgstr "传递的选项:"
 
-#: toplev.c:1304
+#: toplev.c:1414
 msgid "options enabled: "
 msgstr "启用的选项:"
 
-#: toplev.c:1439
+#: toplev.c:1549
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "创建和使用时使用了不同的‘%s’设定"
 
-#: toplev.c:1441
+#: toplev.c:1551
 msgid "out of memory"
 msgstr "内存不足"
 
-#: toplev.c:1456
+#: toplev.c:1566
 msgid "created and used with different settings of -fpic"
 msgstr "创建和使用时使用了不同的 -fpic 设定"
 
-#: toplev.c:1458
+#: toplev.c:1568
 msgid "created and used with different settings of -fpie"
 msgstr "创建和使用时使用了不同的 -fpie 设定"
 
-#: tree-inline.c:3139
-msgid "originally indirect function call not considered for inlining"
-msgstr "原本间接的函数调用不被考虑内联"
-
-#: tree-vrp.c:6383
+#: tree-vrp.c:6512
 msgid "assuming signed overflow does not occur when simplifying && or || to & or |"
 msgstr "将 && 或 || 简化为 & 或 | 时假定有符号数从不溢出"
 
-#: tree-vrp.c:6387
+#: tree-vrp.c:6516
 msgid "assuming signed overflow does not occur when simplifying ==, != or ! to identity or ^"
 msgstr "将 ==、!= 或 ! 简化为或同一操作或 ^ 时假定有符号数从不溢出"
 
+#: cif-code.def:39
+msgid "function not considered for inlining"
+msgstr "不考虑内联函数"
+
+#. Inlining failed owing to unavailable function body.
+#: cif-code.def:42
+msgid "function body not available"
+msgstr "函数体不可用"
+
+#: cif-code.def:45
+msgid "redefined extern inline functions are not considered for inlining"
+msgstr "不考虑内联重定义的外部内联函数"
+
+#. Function is not inlinable.
+#: cif-code.def:49
+msgid "function not inlinable"
+msgstr "函数不能内联"
+
+#. Function is not an inlining candidate.
+#: cif-code.def:52
+msgid "function not inline candidate"
+msgstr "函数不是内联备选"
+
+#: cif-code.def:56
+msgid "--param large-function-growth limit reached"
+msgstr "到达 --param large-function-growth 给定的极限"
+
+#: cif-code.def:58
+msgid "--param large-stack-frame-growth limit reached"
+msgstr "到达 --param large-stack-frame-growth 给定的极限"
+
+#: cif-code.def:60
+msgid "--param max-inline-insns-single limit reached"
+msgstr "到达 --param max-inline-insns-single 给定的极限"
+
+#: cif-code.def:62
+msgid "--param max-inline-insns-auto limit reached"
+msgstr "到达 --param max-inline-insns-single 给定的极限"
+
+#: cif-code.def:64
+msgid "--param inline-unit-growth limit reached"
+msgstr "到达 --param inline-unit-growth 给定的极限"
+
+#. Recursive inlining.
+#: cif-code.def:67
+msgid "recursive inlining"
+msgstr "递归内联"
+
+#. Call is unlikely.
+#: cif-code.def:70
+msgid "call is unlikely and code size would grow"
+msgstr "调用不太可能且会导致代码膨胀"
+
+#: cif-code.def:74
+msgid "function not declared inline and code size would grow"
+msgstr "函数未被声明成内联且会导致代码膨胀"
+
+#: cif-code.def:78
+msgid "optimizing for size and code size would grow"
+msgstr "为代码大小优化而会导致代码膨胀"
+
+#. Inlining failed because of mismatched options or arguments.
+#: cif-code.def:81
+msgid "target specific option mismatch"
+msgstr "目标相关的选项不匹配"
+
+#: cif-code.def:82
+msgid "mismatched arguments"
+msgstr "不匹配的实参"
+
+#: cif-code.def:86
+msgid "originally indirect function call not considered for inlining"
+msgstr "原本间接的函数调用不被考虑内联"
+
 #. The remainder are real diagnostic types.
-#: diagnostic.def:15
+#: diagnostic.def:33
 msgid "fatal error: "
 msgstr "致命错误:"
 
-#: diagnostic.def:16
+#: diagnostic.def:34
 msgid "internal compiler error: "
 msgstr "编译器内部错误:"
 
-#: diagnostic.def:17
+#: diagnostic.def:35
 msgid "error: "
 msgstr "错误:"
 
-#: diagnostic.def:18
+#: diagnostic.def:36
 msgid "sorry, unimplemented: "
 msgstr "对不起,尚未实现:"
 
-#: diagnostic.def:19
+#: diagnostic.def:37
 msgid "warning: "
 msgstr "警告:"
 
-#: diagnostic.def:20
+#: diagnostic.def:38
 msgid "anachronism: "
 msgstr "时代错误:"
 
-#: diagnostic.def:21
+#: diagnostic.def:39
 msgid "note: "
 msgstr "附注:"
 
-#: diagnostic.def:22
+#: diagnostic.def:40
 msgid "debug: "
 msgstr "调试:"
 
 #. These two would be re-classified as DK_WARNING or DK_ERROR, so the
 #. prefix does not matter.
-#: diagnostic.def:25
+#: diagnostic.def:43
 msgid "pedwarn: "
 msgstr "保守警告:"
 
-#: diagnostic.def:26
+#: diagnostic.def:44
 msgid "permerror: "
 msgstr "永久性错误:"
 
-#: params.def:47
-msgid "The maximum structure size (in bytes) for which GCC will use by-element copies"
-msgstr "GCC 将为其考虑按元素复制的最大的结构大小(以字节表示)"
-
-#: params.def:56
-msgid "The maximum number of structure fields for which GCC will use by-element copies"
-msgstr "GCC 将为其考虑按元素复制的结构字段最大数量"
-
-#: params.def:68
-msgid "The threshold ratio between instantiated fields and the total structure size"
-msgstr "实例化的字段和结构总大小之比的阈值"
-
-#: params.def:78
+#: params.def:48
 msgid "The threshold ratio between current and hottest structure counts"
 msgstr "当前和最频繁的结构计数比例阈值"
 
-#: params.def:85
+#: params.def:55
 msgid "Maximal esitmated outcome of branch considered predictable"
-msgstr ""
+msgstr "条件跳转被认为可以预测的阈值"
 
-#: params.def:102
+#: params.def:72
 msgid "The maximum number of instructions in a single function eligible for inlining"
 msgstr "单个可内联的函数体最多能包含的指令数"
 
-#: params.def:114
+#: params.def:84
 msgid "The maximum number of instructions when automatically inlining"
 msgstr "自动内联时指令的最大数量"
 
-#: params.def:119
+#: params.def:89
 msgid "The maximum number of instructions inline function can grow to via recursive inlining"
 msgstr "由于嵌套内联造成的内联函数代码膨胀的上限值(指令数)"
 
-#: params.def:124
+#: params.def:94
 msgid "The maximum number of instructions non-inline function can grow to via recursive inlining"
 msgstr "由于嵌套内联造成的非内联函数代码膨胀的上限值(指令数)"
 
-#: params.def:129
+#: params.def:99
 msgid "The maximum depth of recursive inlining for inline functions"
 msgstr "内联函数中嵌套内联的最大深度"
 
-#: params.def:134
+#: params.def:104
 msgid "The maximum depth of recursive inlining for non-inline functions"
 msgstr "非内联函数中嵌套内联的最大深度"
 
-#: params.def:139
+#: params.def:109
 msgid "Inline recursively only when the probability of call being executed exceeds the parameter"
 msgstr "仅当被执行的调用的概率超过此参数时方进行递归地内联"
 
-#: params.def:146
+#: params.def:117
+msgid "The maximum number of nested indirect inlining performed by early inliner"
+msgstr "早期内联器可以进行的嵌套间接内联的最大数量"
+
+#: params.def:124
 msgid "If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable will be expanded during loop unrolling"
 msgstr "如果使用了 -fvariable-expansion-in-unroller,即指单个变量在循环展开时可以同时被展开的次数"
 
-#: params.def:152
+#: params.def:130
 msgid "If -ftree-vectorize is used, the minimal loop bound of a loop to be considered for vectorization"
-msgstr "使用 -ftree-vectorize 时考虑进行量化的循环次数下限"
+msgstr "使用 -ftree-vectorize 时考虑进行量化的循环次数下限"
 
-#: params.def:163
+#: params.def:141
 msgid "The maximum number of instructions to consider to fill a delay slot"
 msgstr "考虑填充入延迟槽中的最大指令数"
 
-#: params.def:174
+#: params.def:152
 msgid "The maximum number of instructions to consider to find accurate live register information"
 msgstr "用以发现准确的活动寄存器信息的最大指令数量"
 
-#: params.def:184
+#: params.def:162
 msgid "The maximum length of scheduling's pending operations list"
 msgstr "调度候选操作列表的最大长度"
 
-#: params.def:189
+#: params.def:167
 msgid "The size of function body to be considered large"
 msgstr "超过这个大小的函数体被认为是大的"
 
-#: params.def:193
+#: params.def:171
 msgid "Maximal growth due to inlining of large function (in percent)"
 msgstr "内联大函数造成的代码膨胀的上限(以百分数的形式给出)"
 
-#: params.def:197
+#: params.def:175
 msgid "The size of translation unit to be considered large"
 msgstr "超过这个大小的翻译单元被认为是大的"
 
-#: params.def:201
-msgid "how much can given compilation unit grow because of the inlining (in percent)"
+#: params.def:179
+msgid "How much can given compilation unit grow because of the inlining (in percent)"
 msgstr "给定的编译单元因内联造成的体积膨胀上限(以百分数表示)"
 
-#: params.def:205
-msgid "how much can given compilation unit grow because of the interprocedural constant propagation (in percent)"
+#: params.def:183
+msgid "How much can given compilation unit grow because of the interprocedural constant propagation (in percent)"
 msgstr "给定的编译单元因跨进程常量传递造成的编译单元体积膨胀上限(以百分数表示)"
 
-#: params.def:209
-msgid "expense of call operation relative to ordinary arithmetic operations"
-msgstr "调用操作相对于普通算术操作的代价"
+#: params.def:187
+msgid "Maximal estimated growth of function body caused by early inlining of single call"
+msgstr "对单个调用进行的早期内联所导致的函数体代码膨胀的最大估计值"
 
-#: params.def:213
+#: params.def:191
 msgid "The size of stack frame to be considered large"
-msgstr "超过这个大小的堆栈框架被认为是大的"
+msgstr "超过这个大小的栈帧被认为是大的"
 
-#: params.def:217
+#: params.def:195
 msgid "Maximal stack frame growth due to inlining (in percent)"
-msgstr "内联造成的堆栈框架膨胀的上限(以百分数的形式给出)"
+msgstr "内联造成的栈帧膨胀的上限(以百分数的形式给出)"
 
-#: params.def:224
+#: params.def:202
 msgid "The maximum amount of memory to be allocated by GCSE"
 msgstr "GCSE 可分配的最大内存量"
 
-#: params.def:229
-msgid "The maximum number of passes to make when doing GCSE"
-msgstr "进行 GCSE 的最多趟数"
-
-#: params.def:239
+#: params.def:213
 msgid "The threshold ratio for performing partial redundancy elimination after reload"
 msgstr "重新载入后进行部分冗余消除的比例阈值"
 
-#: params.def:246
+#: params.def:220
 msgid "The threshold ratio of critical edges execution count that permit performing redundancy elimination after reload"
 msgstr "重新载入后允许进行冗余消除的关键边执行次数的比例阈值"
 
-#: params.def:257
+#: params.def:231
 msgid "The maximum number of instructions to consider to unroll in a loop"
 msgstr "单个循环中考虑展开的最大指令数"
 
-#: params.def:263
+#: params.def:237
 msgid "The maximum number of instructions to consider to unroll in a loop on average"
 msgstr "单个循环中考虑展开的平均最大指令数"
 
-#: params.def:268
+#: params.def:242
 msgid "The maximum number of unrollings of a single loop"
 msgstr "单个循环最多可以被展开的次数"
 
-#: params.def:273
+#: params.def:247
 msgid "The maximum number of insns of a peeled loop"
 msgstr "剥离后的循环所能有的最大指令数"
 
-#: params.def:278
+#: params.def:252
 msgid "The maximum number of peelings of a single loop"
 msgstr "单个循环最大的剥离数"
 
-#: params.def:283
+#: params.def:257
 msgid "The maximum number of insns of a completely peeled loop"
 msgstr "一个完全剥离的循环所能有的最大指令数"
 
-#: params.def:288
+#: params.def:262
 msgid "The maximum number of peelings of a single loop that is peeled completely"
 msgstr "一个完全剥离的单个循环最大的剥离数"
 
-#: params.def:293
+#: params.def:267
 msgid "The maximum number of insns of a peeled loop that rolls only once"
 msgstr "被剥离后只卷绕一次的循环包含的最多指令数"
 
-#: params.def:299
+#: params.def:273
 msgid "The maximum number of insns of an unswitched loop"
 msgstr "去开关后的循环所能有的最大指令数"
 
-#: params.def:304
+#: params.def:278
 msgid "The maximum number of unswitchings in a single loop"
 msgstr "单个循环中考虑去开关的最大指令数"
 
-#: params.def:311
+#: params.def:285
 msgid "Bound on the number of iterations the brute force # of iterations analysis algorithm evaluates"
-msgstr ""
+msgstr "暴力迭代次数分析算法评估迭代次数的上限"
 
-#: params.def:317
+#: params.def:291
 msgid "Bound on the cost of an expression to compute the number of iterations"
 msgstr "用于计算迭代次数的表达式的开销的上限值"
 
-#: params.def:323
+#: params.def:297
 msgid "A factor for tuning the upper bound that swing modulo scheduler uses for scheduling a loop"
-msgstr ""
+msgstr "调整摆动模调度器调度循环时使用的上限的一个因素"
 
-#: params.def:327
+#: params.def:301
 msgid "The number of cycles the swing modulo scheduler considers when checking conflicts using DFA"
-msgstr ""
+msgstr "使用 DFA 检查冲突时摆动模调度器考虑的周期数"
 
-#: params.def:331
+#: params.def:305
 msgid "A threshold on the average loop count considered by the swing modulo scheduler"
-msgstr ""
+msgstr "由摆动模调度程序考虑的关于平均循环计数的阈值 "
 
-#: params.def:336
+#: params.def:310
 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 ""
+msgstr "当某基本块执行次数超过程序中基本块重复执行的最大计数的指定百分比时,该基本块可被考虑为热点代码"
 
-#: params.def:340
+#: params.def:314
 msgid "Select fraction of the maximal frequency of executions of basic block in function given basic block needs to have to be considered hot"
-msgstr ""
+msgstr "当某基本块执行频率超过函数中基本块执行的最大频率的指定百分比时,该基本块可被考虑为热点代码"
 
-#: params.def:345
+#: params.def:319
 msgid "Select fraction of the maximal frequency of executions of basic block in function given basic block get alignment"
-msgstr ""
+msgstr "当某基本块执行频率超过函数中基本块执行的最大频率的指定百分比时,该基本块将被对齐"
 
-#: params.def:350
+#: params.def:324
 msgid "Loops iterating at least selected number of iterations will get loop alignement."
 msgstr "对齐循环次数大于或等于设定值的循环"
 
-#: params.def:366
+#: params.def:340
 msgid "The maximum number of loop iterations we predict statically"
 msgstr "静态预测时的最多循环次数"
 
-#: params.def:370
+#: params.def:344
 msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available"
 msgstr "必须被踪迹形成所覆盖的函数百分比,以执行频率加权。当取样反馈可用时使用"
 
-#: params.def:374
+#: params.def:348
 msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is not available"
 msgstr "必须被踪迹形成所覆盖的函数百分比,以执行频率加权。当取样反馈不可用时使用"
 
-#: params.def:378
+#: params.def:352
 msgid "Maximal code growth caused by tail duplication (in percent)"
 msgstr "以百分比表示的尾复制所引起的最大代码膨胀"
 
-#: params.def:382
+#: params.def:356
 msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percent)"
 msgstr "当最优边的反向概率小于此阈值(以百分数表示)时停止反向增长"
 
-#: params.def:386
+#: params.def:360
 msgid "Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is available"
 msgstr "当最优边的概率小于此限值(以百分数表示)时,停止前向增长。当取样反馈可用时使用。"
 
-#: params.def:390
+#: params.def:364
 msgid "Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is not available"
 msgstr "当最优边的概率小于此限值(以百分数表示)时,停止前向增长。当取样反馈不可用时使用。"
 
-#: params.def:396
+#: params.def:370
 msgid "The maximum number of incoming edges to consider for crossjumping"
 msgstr "考虑进行交叉跳转的最大入边数量"
 
-#: params.def:402
+#: params.def:376
 msgid "The minimum number of matching instructions to consider for crossjumping"
 msgstr "考虑进行交叉跳转的最小匹配指令数量"
 
-#: params.def:408
+#: params.def:382
 msgid "The maximum expansion factor when copying basic blocks"
 msgstr "复制基本块时最大的展开因子"
 
-#: params.def:414
+#: params.def:388
 msgid "The maximum number of insns to duplicate when unfactoring computed gotos"
 msgstr "分解计算转移时复制指令的数量上限"
 
-#: params.def:420
+#: params.def:394
 msgid "The maximum length of path considered in cse"
 msgstr "公因式消去时考虑的最大路径长度"
 
-#: params.def:424
+#: params.def:398
 msgid "The maximum instructions CSE process before flushing"
 msgstr "清空前公因式消去处理的最大指令数"
 
-#: params.def:431
+#: params.def:405
 msgid "The minimum cost of an expensive expression in the loop invariant motion"
 msgstr "循环不变量转移时一条昂贵的表达式的最小开销"
 
-#: params.def:440
+#: params.def:414
 msgid "Bound on number of candidates below that all candidates are considered in iv optimizations"
-msgstr ""
+msgstr "当备选少于此设定值时所有备选都将为归纳变量优化所考虑"
 
-#: params.def:448
+#: params.def:422
 msgid "Bound on number of iv uses in loop optimized in iv optimizations"
 msgstr "对归纳变量数少于设定值的循环进行归纳变量优化"
 
-#: params.def:456
+#: params.def:430
 msgid "If number of candidates in the set is smaller, we always try to remove unused ivs during its optimization"
 msgstr "当备选归纳变量少于设定值时总是设法在优化过程中消除未使用的归纳变量"
 
-#: params.def:461
+#: params.def:435
 msgid "Bound on size of expressions used in the scalar evolutions analyzer"
-msgstr ""
+msgstr "用在标量演化分析器中的表达式的大小上限"
 
-#: params.def:466
+#: params.def:440
 msgid "Bound on the number of variables in Omega constraint systems"
 msgstr "Omega 约束系统中变量数的上限"
 
-#: params.def:471
+#: params.def:445
 msgid "Bound on the number of inequalities in Omega constraint systems"
 msgstr "Omega 约束系统中不等式数量的上限"
 
-#: params.def:476
+#: params.def:450
 msgid "Bound on the number of equalities in Omega constraint systems"
 msgstr "Omega 约束系统中等式数量的上限"
 
-#: params.def:481
+#: params.def:455
 msgid "Bound on the number of wild cards in Omega constraint systems"
 msgstr "Omega 约束系统中通配符数量的上限"
 
-#: params.def:486
+#: params.def:460
 msgid "Bound on the size of the hash table in Omega constraint systems"
 msgstr "Omega 约束系统中散列表大小的上限"
 
-#: params.def:491
+#: params.def:465
 msgid "Bound on the number of keys in Omega constraint systems"
 msgstr "Omega 约束系统中"
 
-#: params.def:496
+#: params.def:470
 msgid "When set to 1, use expensive methods to eliminate all redundant constraints"
 msgstr "设为 1 时,使用昂贵的方法来消除所有冗余的约束"
 
-#: params.def:501
+#: params.def:475
 msgid "Bound on number of runtime checks inserted by the vectorizer's loop versioning for alignment check"
-msgstr "量循环版本化插入的运行时对齐检查次数的上限"
+msgstr "量循环版本化插入的运行时对齐检查次数的上限"
 
-#: params.def:506
+#: params.def:480
 msgid "Bound on number of runtime checks inserted by the vectorizer's loop versioning for alias check"
-msgstr "量循环版本化插入的运行时别名检查次数的上限"
+msgstr "量循环版本化插入的运行时别名检查次数的上限"
 
-#: params.def:511
+#: params.def:485
 msgid "The maximum memory locations recorded by cselib"
 msgstr "cselib 最多记录的内存位置"
 
-#: params.def:524
+#: params.def:498
 msgid "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap"
 msgstr "引发垃圾收集的堆展开的最小值,以占堆总大小的百分比给出"
 
-#: params.def:529
+#: params.def:503
 msgid "Minimum heap size before we start collecting garbage, in kilobytes"
 msgstr "开始垃圾回收时最小的堆大小,以千字节表示"
 
-#: params.def:537
+#: params.def:511
 msgid "The maximum number of instructions to search backward when looking for equivalent reload"
 msgstr "后向搜索以寻找等价重载入时要搜索的最大指令数量"
 
-#: params.def:542
-msgid "The maximum number of virtual operators that a function is allowed to have before triggering memory partitioning heuristics"
-msgstr ""
-
-#: params.def:547
-msgid "The average number of virtual operators that memory statements are allowed to have before triggering memory partitioning heuristics"
-msgstr ""
-
-#: params.def:552 params.def:562
+#: params.def:516 params.def:526
 msgid "The maximum number of blocks in a region to be considered for interblock scheduling"
 msgstr "一个区域中考虑进行块间调度的最大块数"
 
-#: params.def:557 params.def:567
+#: params.def:521 params.def:531
 msgid "The maximum number of insns in a region to be considered for interblock scheduling"
 msgstr "一个区域中考虑进行块间调度的最大指令数"
 
-#: params.def:572
+#: params.def:536
 msgid "The minimum probability of reaching a source block for interblock speculative scheduling"
 msgstr "块间投机调度时到达一个源块的最小概率"
 
-#: params.def:577
+#: params.def:541
 msgid "The maximum number of iterations through CFG to extend regions"
 msgstr "通过 CFG 以扩展区域的最大循环次数"
 
-#: params.def:582
-#, fuzzy
+#: params.def:546
 msgid "The maximum conflict delay for an insn to be considered for speculative motion"
-msgstr "一个区域中考虑进行块间调度的最大指令数"
+msgstr "考虑进行投机移动的指令的最大冲突延迟数"
 
-#: params.def:587
+#: params.def:551
 msgid "The minimal probability of speculation success (in percents), so that speculative insn will be scheduled."
 msgstr "以百分比表示的投机成功的最小概率,影响对投机指令的调度"
 
-#: params.def:592
+#: params.def:556
 msgid "The maximum size of the lookahead window of selective scheduling"
-msgstr ""
+msgstr "进行选择调度时前瞻窗口的最大尺寸"
 
-#: params.def:597
+#: params.def:561
 msgid "Maximum number of times that an insn could be scheduled"
-msgstr ""
+msgstr "指定一条指令最多能被调度几次"
 
-#: params.def:602
-#, fuzzy
+#: params.def:566
 msgid "Maximum number of instructions in the ready list that are considered eligible for renaming"
-msgstr "å\8d\95个å\8f¯å\86\85è\81\94ç\9a\84å\87½æ\95°ä½\93æ\9c\80å¤\9aè\83½å\8c\85å\90«的指令数"
+msgstr "å\9c¨é\80\82å\90\88è¡\8cé\87\8då\91½å\90\8dç\9a\84就绪å\88\97表中æ\9c\80å¤\9a的指令数"
 
-#: params.def:607
+#: params.def:571
 msgid "Minimal distance between possibly conflicting store and load"
-msgstr ""
+msgstr "可能冲突的存储和装载之间的最小距离"
 
-#: params.def:612
+#: params.def:576
 msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
-msgstr ""
+msgstr "可以被记作组合器的最终值的最大 RTL 节点数"
 
-#: params.def:620
+#: params.def:584
 msgid "The upper bound for sharing integer constants"
 msgstr "共享整型常量的上界"
 
-#: params.def:639
-#, fuzzy
+#: params.def:603
 msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
-msgstr "è\80\83è\99\91å¡«å\85\85å\85¥å»¶è¿\9f槽中ç\9a\84æ\9c\80大æ\8c\87令数"
+msgstr "è\80\83è\99\91å\88\87æ\8d¢å\88°å®\8cæ\95´è\99\9aæ\8b\9fé\87\8då\91½å\90\8dç\9a\84æ\9c\80å°\8fè\99\9aæ\8b\9fæ\98 å°\84数"
 
-#: params.def:644
+#: params.def:608
 msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
-msgstr ""
+msgstr "当虚拟映射和虚拟符号之间的比率大于此设定时进行全虚拟重命名"
 
-#: params.def:649
+#: params.def:613
 msgid "The lower bound for a buffer to be considered for stack smashing protection"
 msgstr "考虑预防堆栈溢出的缓冲区的下限值"
 
-#: params.def:667
+#: params.def:631
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr "线索化跳转时一个以被复制的块中所能包含的最大语句数"
 
-#: params.def:676
-#, fuzzy
+#: params.def:640
 msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
-msgstr "GCC 试图分别跟踪的不存在直接结构访问的结构变量中的字段的最大数目"
+msgstr "在指针分析将该结构视为单一变量前结构包含的最大字段数"
 
-#: params.def:681
+#: params.def:645
 msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
 msgstr "首趟调度考虑准备生成的指令的最大数量"
 
-#: params.def:691
+#: params.def:655
 msgid "The number of insns executed before prefetch is completed"
 msgstr "预取操作完成前执行指令的数目"
 
-#: params.def:698
+#: params.def:662
 msgid "The number of prefetches that can run at the same time"
 msgstr "可以同时运行的预取操作数目"
 
-#: params.def:705
+#: params.def:669
 msgid "The size of L1 cache"
 msgstr "一级缓存大小"
 
-#: params.def:712
+#: params.def:676
 msgid "The size of L1 cache line"
 msgstr "一级缓存列长度"
 
-#: params.def:719
+#: params.def:683
 msgid "The size of L2 cache"
 msgstr "二级缓存大小"
 
-#: params.def:730
+#: params.def:694
 msgid "Whether to use canonical types"
 msgstr "是否使用合乎规范的类型"
 
-#: params.def:735
+#: params.def:699
 msgid "Maximum length of partial antic set when performing tree pre optimization"
-msgstr ""
+msgstr "进行树上部分冗余消除时部分可预期集的最大长度"
 
-#: params.def:745
+#: params.def:709
 msgid "Maximum size of a SCC before SCCVN stops processing a function"
-msgstr ""
+msgstr "在 SCCVN 停止处理一个函数以前 SCC 的最大尺寸"
 
-#: params.def:751
-msgid "Multiplier used for determining the double-queueing threshold"
-msgstr ""
+#: params.def:714
+msgid "Max loops number for regional RA"
+msgstr "用作区域寄存器分配的最大循环数"
 
-#: params.def:756
-msgid "max loops number for regional RA"
-msgstr ""
+#: params.def:719
+msgid "Max size of conflict table in MB"
+msgstr "以 MB 表示的冲突表大小上限"
 
-#: params.def:764
+#: params.def:724
+msgid "The number of registers in each class kept unused by loop invariant motion"
+msgstr "保留不为循环不变量转移使用的各种寄存器的数量"
+
+#: params.def:732
 msgid "The maximum ratio between array size and switch branches for a switch conversion to take place"
-msgstr ""
+msgstr "当数组大小与开关分支的比率大于此值时开关转换不会发生"
+
+#: params.def:740
+msgid "size of tiles for loop blocking"
+msgstr "循环分块中每小块的大小"
+
+#: params.def:747
+msgid "Max basic blocks number in loop for loop invariant motion"
+msgstr "用作循环不变量转移的循环中基本块的最大数量"
+
+#: params.def:753
+msgid "Maximum number of instructions in basic block to be considered for SLP vectorization"
+msgstr "考虑进行基本块向量化的基本块能包含的指令数上限"
+
+#: params.def:758
+msgid "Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count"
+msgstr "为有未知路程计数的循环启用预取时最小的指令/预取比"
 
-#: config/alpha/alpha.c:5025
+#: params.def:764
+msgid "Min. ratio of insns to mem ops to enable prefetching in a loop"
+msgstr "为循环启用预取时最小的指令/内存操作比"
+
+#: params.def:771
+msgid "The minimum UID to be used for a nondebug insn"
+msgstr "非调试指令所使用的最小 UID"
+
+#: params.def:776
+msgid "Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with"
+msgstr "IPA-SRA 考虑将指向的聚合的指针替换为参数时这些参数总和大小相对原指针参数大小倍数的最大值"
+
+#: config/alpha/alpha.c:5131
 #, c-format
 msgid "invalid %%H value"
 msgstr "无效 %%H 值"
 
-#: config/alpha/alpha.c:5046 config/bfin/bfin.c:1646
+#: config/alpha/alpha.c:5152 config/bfin/bfin.c:1682
 #, c-format
 msgid "invalid %%J value"
 msgstr "无效 %%J 值"
 
-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4754
+#: config/alpha/alpha.c:5182 config/ia64/ia64.c:4982
 #, c-format
 msgid "invalid %%r value"
 msgstr "无效 %%r 值"
 
-#: config/alpha/alpha.c:5086 config/ia64/ia64.c:4708
-#: config/rs6000/rs6000.c:12215 config/xtensa/xtensa.c:2238
+#: config/alpha/alpha.c:5192 config/ia64/ia64.c:4936
+#: config/rs6000/rs6000.c:14548 config/xtensa/xtensa.c:2253
 #, c-format
 msgid "invalid %%R value"
 msgstr "无效 %%R 值"
 
-#: config/alpha/alpha.c:5092 config/rs6000/rs6000.c:12134
-#: config/xtensa/xtensa.c:2205
+#: config/alpha/alpha.c:5198 config/rs6000/rs6000.c:14467
+#: config/xtensa/xtensa.c:2220
 #, c-format
 msgid "invalid %%N value"
 msgstr "无效 %%N 值"
 
-#: config/alpha/alpha.c:5100 config/rs6000/rs6000.c:12162
+#: config/alpha/alpha.c:5206 config/rs6000/rs6000.c:14495
 #, c-format
 msgid "invalid %%P value"
 msgstr "无效 %%P 值"
 
-#: config/alpha/alpha.c:5108
+#: config/alpha/alpha.c:5214
 #, c-format
 msgid "invalid %%h value"
 msgstr "无效 %%h 值"
 
-#: config/alpha/alpha.c:5116 config/xtensa/xtensa.c:2231
+#: config/alpha/alpha.c:5222 config/xtensa/xtensa.c:2246
 #, c-format
 msgid "invalid %%L value"
 msgstr "无效 %%L 值"
 
-#: config/alpha/alpha.c:5155 config/rs6000/rs6000.c:12116
+#: config/alpha/alpha.c:5261 config/rs6000/rs6000.c:14449
 #, c-format
 msgid "invalid %%m value"
 msgstr "无效 %%m 值"
 
-#: config/alpha/alpha.c:5163 config/rs6000/rs6000.c:12124
+#: config/alpha/alpha.c:5269 config/rs6000/rs6000.c:14457
 #, c-format
 msgid "invalid %%M value"
 msgstr "无效 %%M 值"
 
-#: config/alpha/alpha.c:5207
+#: config/alpha/alpha.c:5313
 #, c-format
 msgid "invalid %%U value"
 msgstr "无效 %%U 值"
 
-#: config/alpha/alpha.c:5219 config/alpha/alpha.c:5233
-#: config/rs6000/rs6000.c:12223
+#: config/alpha/alpha.c:5325 config/alpha/alpha.c:5339
+#: config/rs6000/rs6000.c:14556
 #, c-format
 msgid "invalid %%s value"
 msgstr "无效 %%s 值"
 
-#: config/alpha/alpha.c:5256
+#: config/alpha/alpha.c:5362
 #, c-format
 msgid "invalid %%C value"
 msgstr "无效 %%C 值"
 
-#: config/alpha/alpha.c:5293 config/rs6000/rs6000.c:11951
-#: config/rs6000/rs6000.c:11970
+#: config/alpha/alpha.c:5399 config/rs6000/rs6000.c:14303
 #, c-format
 msgid "invalid %%E value"
 msgstr "无效 %%E 值"
 
-#: config/alpha/alpha.c:5318 config/alpha/alpha.c:5366
+#: config/alpha/alpha.c:5424 config/alpha/alpha.c:5472
 #, c-format
 msgid "unknown relocation unspec"
 msgstr "未指定未知的重定位方式"
 
-#: config/alpha/alpha.c:5327 config/crx/crx.c:1081
-#: config/rs6000/rs6000.c:12554 config/spu/spu.c:1535
+#: config/alpha/alpha.c:5433 config/crx/crx.c:1092
+#: config/rs6000/rs6000.c:14910 config/spu/spu.c:1695
 #, c-format
 msgid "invalid %%xn code"
 msgstr "无效的 %%xn 代码"
 
-#: config/arc/arc.c:1729 config/m32r/m32r.c:1806
+#: config/arc/arc.c:1724 config/m32r/m32r.c:1980
 #, c-format
 msgid "invalid operand to %%R code"
 msgstr "%%R 代码的操作数无效"
 
-#: config/arc/arc.c:1761 config/m32r/m32r.c:1829
+#: config/arc/arc.c:1756 config/m32r/m32r.c:2003
 #, c-format
 msgid "invalid operand to %%H/%%L code"
 msgstr "%%H/%%L 代码的操作数无效"
 
-#: config/arc/arc.c:1783 config/m32r/m32r.c:1900
+#: config/arc/arc.c:1778 config/m32r/m32r.c:2074
 #, c-format
 msgid "invalid operand to %%U code"
 msgstr "%%U 代码的操作数无效"
 
-#: config/arc/arc.c:1794
+#: config/arc/arc.c:1789
 #, c-format
 msgid "invalid operand to %%V code"
 msgstr "%%V 代码的操作数无效"
 
 #. Unknown flag.
 #. Undocumented flag.
-#: config/arc/arc.c:1801 config/m32r/m32r.c:1927 config/sparc/sparc.c:7048
+#: config/arc/arc.c:1796 config/m32r/m32r.c:2101 config/sparc/sparc.c:7179
 #, c-format
 msgid "invalid operand output code"
 msgstr "无效的操作数输出代码"
 
-#: config/arm/arm.c:12852 config/arm/arm.c:12870
+#: config/arm/arm.c:14861 config/arm/arm.c:14879
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "预测到的 Thumb 指令"
 
-#: config/arm/arm.c:12858
+#: config/arm/arm.c:14867
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "在条件序列中预测到的指令"
 
-#: config/arm/arm.c:13028
+#: config/arm/arm.c:15037
 #, c-format
 msgid "invalid shift operand"
 msgstr "无效的移位操作数"
 
-#: config/arm/arm.c:13075 config/arm/arm.c:13085 config/arm/arm.c:13095
-#: config/arm/arm.c:13105 config/arm/arm.c:13115 config/arm/arm.c:13154
-#: config/arm/arm.c:13172 config/arm/arm.c:13207 config/arm/arm.c:13226
-#: config/arm/arm.c:13241 config/arm/arm.c:13269 config/arm/arm.c:13276
-#: config/arm/arm.c:13284 config/arm/arm.c:13305 config/arm/arm.c:13312
-#: config/bfin/bfin.c:1659 config/bfin/bfin.c:1666 config/bfin/bfin.c:1673
-#: config/bfin/bfin.c:1680 config/bfin/bfin.c:1689 config/bfin/bfin.c:1696
-#: config/bfin/bfin.c:1703 config/bfin/bfin.c:1710
+#: config/arm/arm.c:15084 config/arm/arm.c:15094 config/arm/arm.c:15104
+#: config/arm/arm.c:15114 config/arm/arm.c:15124 config/arm/arm.c:15163
+#: config/arm/arm.c:15181 config/arm/arm.c:15216 config/arm/arm.c:15235
+#: config/arm/arm.c:15250 config/arm/arm.c:15277 config/arm/arm.c:15284
+#: config/arm/arm.c:15302 config/arm/arm.c:15309 config/arm/arm.c:15317
+#: config/arm/arm.c:15338 config/arm/arm.c:15345 config/arm/arm.c:15435
+#: config/arm/arm.c:15442 config/arm/arm.c:15460 config/arm/arm.c:15467
+#: config/bfin/bfin.c:1695 config/bfin/bfin.c:1702 config/bfin/bfin.c:1709
+#: config/bfin/bfin.c:1716 config/bfin/bfin.c:1725 config/bfin/bfin.c:1732
+#: config/bfin/bfin.c:1739 config/bfin/bfin.c:1746
 #, c-format
 msgid "invalid operand for code '%c'"
 msgstr "代码‘%c’的操作数无效"
 
-#: config/arm/arm.c:13167
+#: config/arm/arm.c:15176
 #, c-format
 msgid "instruction never executed"
 msgstr "指令从不被执行"
 
-#: config/arm/arm.c:13379
+#: config/arm/arm.c:15479
 #, c-format
 msgid "missing operand"
 msgstr "缺少操作数"
 
-#: config/avr/avr.c:1186
+#: config/arm/arm.c:17753
+msgid "function parameters cannot have __fp16 type"
+msgstr "函数形参不能有 __fp16 类型"
+
+#: config/arm/arm.c:17763
+msgid "functions cannot return __fp16 type"
+msgstr "函数不能返回 __fp16 类型"
+
+#: config/avr/avr.c:1122
 #, c-format
 msgid "address operand requires constraint for X, Y, or Z register"
 msgstr "地址操作数需要 X、Y 或 Z 寄存器约束"
 
-#: config/avr/avr.c:1298
+#: config/avr/avr.c:1234
 msgid "bad address, not (reg+disp):"
 msgstr "地址错误,不是(reg+disp):"
 
-#: config/avr/avr.c:1305
+#: config/avr/avr.c:1241
 msgid "bad address, not post_inc or pre_dec:"
 msgstr "错误的地址,不是 post_inc 或 pre_dec:"
 
-#: config/avr/avr.c:1316
+#: config/avr/avr.c:1252
 msgid "internal compiler error.  Bad address:"
 msgstr "编译器内部错误。错误的地址:"
 
-#: config/avr/avr.c:1329
+#: config/avr/avr.c:1265
 msgid "internal compiler error.  Unknown mode:"
 msgstr "编译器内部错误。未知的模式:"
 
-#: config/avr/avr.c:1924 config/avr/avr.c:2612
+#: config/avr/avr.c:1852 config/avr/avr.c:2540
 msgid "invalid insn:"
 msgstr "无效指令:"
 
-#: config/avr/avr.c:1963 config/avr/avr.c:2049 config/avr/avr.c:2098
-#: config/avr/avr.c:2126 config/avr/avr.c:2221 config/avr/avr.c:2390
-#: config/avr/avr.c:2651 config/avr/avr.c:2763
+#: config/avr/avr.c:1891 config/avr/avr.c:1977 config/avr/avr.c:2026
+#: config/avr/avr.c:2054 config/avr/avr.c:2149 config/avr/avr.c:2318
+#: config/avr/avr.c:2579 config/avr/avr.c:2691
 msgid "incorrect insn:"
 msgstr "错误指令:"
 
-#: config/avr/avr.c:2145 config/avr/avr.c:2306 config/avr/avr.c:2461
-#: config/avr/avr.c:2829
+#: config/avr/avr.c:2073 config/avr/avr.c:2234 config/avr/avr.c:2389
+#: config/avr/avr.c:2757
 msgid "unknown move insn:"
 msgstr "无效的 move 指令:"
 
-#: config/avr/avr.c:3059
+#: config/avr/avr.c:2987
 msgid "bad shift insn:"
 msgstr "错误的 shift 指令"
 
-#: config/avr/avr.c:3175 config/avr/avr.c:3595 config/avr/avr.c:3953
+#: config/avr/avr.c:3103 config/avr/avr.c:3523 config/avr/avr.c:3881
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "编译器内部错误。不正确的移位量:"
 
-#: config/bfin/bfin.c:1608
+#: config/bfin/bfin.c:1644
 #, c-format
 msgid "invalid %%j value"
 msgstr "无效的 %%j 值"
 
-#: config/bfin/bfin.c:1801
+#: config/bfin/bfin.c:1837
 #, c-format
 msgid "invalid const_double operand"
 msgstr "无效的双精度常量操作数"
 
-#: config/cris/cris.c:504 c-typeck.c:4682 c-typeck.c:4698 c-typeck.c:4715
-#: final.c:3000 final.c:3002 gcc.c:4810 loop-iv.c:2808 loop-iv.c:2817
-#: rtl-error.c:105 toplev.c:599 tree-ssa-loop-niter.c:1856 cp/typeck.c:4657
-#: java/expr.c:411
+#: config/cris/cris.c:528 config/moxie/moxie.c:91 c-typeck.c:5601
+#: c-typeck.c:5617 c-typeck.c:5634 final.c:3086 final.c:3088 fold-const.c:986
+#: gcc.c:5237 loop-iv.c:2968 loop-iv.c:2977 rtl-error.c:105 toplev.c:625
+#: tree-ssa-loop-niter.c:1885 tree-vrp.c:5724 cp/typeck.c:4912 java/expr.c:411
 #, gcc-internal-format
 msgid "%s"
 msgstr "%s"
 
-#: config/cris/cris.c:555
+#: config/cris/cris.c:579
 msgid "unexpected index-type in cris_print_index"
 msgstr "cris_print_index 中有非预期的索引类型"
 
-#: config/cris/cris.c:572
+#: config/cris/cris.c:596
 msgid "unexpected base-type in cris_print_base"
 msgstr "cris_print_base 中有非预期的基类型"
 
-#: config/cris/cris.c:688
+#: config/cris/cris.c:712
 msgid "invalid operand for 'b' modifier"
 msgstr "‘b’修饰符的操作数无效"
 
-#: config/cris/cris.c:705
+#: config/cris/cris.c:729
 msgid "invalid operand for 'o' modifier"
 msgstr "‘o’修饰符的操作数无效"
 
-#: config/cris/cris.c:724
+#: config/cris/cris.c:748
 msgid "invalid operand for 'O' modifier"
 msgstr "‘O’修饰符的操作数无效"
 
-#: config/cris/cris.c:757
+#: config/cris/cris.c:781
 msgid "invalid operand for 'p' modifier"
 msgstr "‘p’修饰符的操作数无效"
 
-#: config/cris/cris.c:796
+#: config/cris/cris.c:820
 msgid "invalid operand for 'z' modifier"
 msgstr "‘z’修饰符的操作数无效"
 
-#: config/cris/cris.c:860 config/cris/cris.c:894
+#: config/cris/cris.c:884 config/cris/cris.c:918
 msgid "invalid operand for 'H' modifier"
 msgstr "‘H’修饰符的操作数无效"
 
-#: config/cris/cris.c:870
+#: config/cris/cris.c:894
 msgid "bad register"
 msgstr "错误的寄存器名"
 
-#: config/cris/cris.c:914
+#: config/cris/cris.c:938
 msgid "invalid operand for 'e' modifier"
 msgstr "‘e’修饰符的操作数无效"
 
-#: config/cris/cris.c:931
+#: config/cris/cris.c:955
 msgid "invalid operand for 'm' modifier"
 msgstr "‘m’修饰符的操作数无效"
 
-#: config/cris/cris.c:956
+#: config/cris/cris.c:980
 msgid "invalid operand for 'A' modifier"
 msgstr "‘A’修饰符的操作数无效"
 
-#: config/cris/cris.c:979
+#: config/cris/cris.c:1003
 msgid "invalid operand for 'D' modifier"
 msgstr "‘D’修饰符的操作数无效"
 
-#: config/cris/cris.c:993
+#: config/cris/cris.c:1017
 msgid "invalid operand for 'T' modifier"
 msgstr "‘T’修饰符的操作数无效"
 
-#: config/cris/cris.c:1013
+#: config/cris/cris.c:1037 config/moxie/moxie.c:161
 msgid "invalid operand modifier letter"
 msgstr "无效的操作数修饰符字母"
 
-#: config/cris/cris.c:1070
+#: config/cris/cris.c:1094
 msgid "unexpected multiplicative operand"
 msgstr "无效的乘性操作数"
 
-#: config/cris/cris.c:1090
+#: config/cris/cris.c:1114 config/moxie/moxie.c:186
 msgid "unexpected operand"
 msgstr "非预期的操作数"
 
-#: config/cris/cris.c:1123 config/cris/cris.c:1133
+#: config/cris/cris.c:1147 config/cris/cris.c:1157
 msgid "unrecognized address"
 msgstr "无法识别的地址"
 
-#: config/cris/cris.c:2231
+#: config/cris/cris.c:2265
 msgid "unrecognized supposed constant"
 msgstr "预期的常量无法识别"
 
-#: config/cris/cris.c:2660 config/cris/cris.c:2724
+#: config/cris/cris.c:2694 config/cris/cris.c:2758
 msgid "unexpected side-effects in address"
 msgstr "地址中有非预期的副作用"
 
 #. Can't possibly get a GOT-needing-fixup for a function-call,
 #. right?
-#: config/cris/cris.c:3561
+#: config/cris/cris.c:3595
 msgid "Unidentifiable call op"
 msgstr "无法识别的 call 操作"
 
-#: config/cris/cris.c:3613
+#: config/cris/cris.c:3647
 #, c-format
 msgid "PIC register isn't set up"
 msgstr "尚未设定好 PIC 寄存器"
 
-#: config/fr30/fr30.c:464
+#: config/fr30/fr30.c:481
 #, c-format
 msgid "fr30_print_operand_address: unhandled address"
 msgstr "fr30_print_operand:未处理的指针"
 
-#: config/fr30/fr30.c:488
+#: config/fr30/fr30.c:505
 #, c-format
 msgid "fr30_print_operand: unrecognized %%p code"
 msgstr "fr30_print_operand:无法识别的 %%p 代码"
 
-#: config/fr30/fr30.c:508
+#: config/fr30/fr30.c:525
 #, c-format
 msgid "fr30_print_operand: unrecognized %%b code"
 msgstr "fr30_print_operand:无法识别的 %%b 代码"
 
-#: config/fr30/fr30.c:529
+#: config/fr30/fr30.c:546
 #, c-format
 msgid "fr30_print_operand: unrecognized %%B code"
 msgstr "fr30_print_operand:无法识别的 %%B 代码"
 
-#: config/fr30/fr30.c:537
+#: config/fr30/fr30.c:554
 #, c-format
 msgid "fr30_print_operand: invalid operand to %%A code"
 msgstr "fr30_print_operand:%%A 代码操作数无效"
 
-#: config/fr30/fr30.c:554
+#: config/fr30/fr30.c:571
 #, c-format
 msgid "fr30_print_operand: invalid %%x code"
 msgstr "fr30_print_operand:无效的 %%x 代码"
 
-#: config/fr30/fr30.c:561
+#: config/fr30/fr30.c:578
 #, c-format
 msgid "fr30_print_operand: invalid %%F code"
 msgstr "fr30_print_operand:无效的 %%F 代码"
 
-#: config/fr30/fr30.c:578
+#: config/fr30/fr30.c:595
 #, c-format
 msgid "fr30_print_operand: unknown code"
 msgstr "fr30_print_operand:未知代码"
 
-#: config/fr30/fr30.c:606 config/fr30/fr30.c:615 config/fr30/fr30.c:626
-#: config/fr30/fr30.c:639
+#: config/fr30/fr30.c:623 config/fr30/fr30.c:632 config/fr30/fr30.c:643
+#: config/fr30/fr30.c:656
 #, c-format
 msgid "fr30_print_operand: unhandled MEM"
 msgstr "fr30_print_operand:未处理的 MEM"
 
-#: config/frv/frv.c:2552
+#: config/frv/frv.c:2601
 msgid "bad insn to frv_print_operand_address:"
 msgstr "给 frv_print_operand_address 错误的指令:"
 
-#: config/frv/frv.c:2563
+#: config/frv/frv.c:2612
 msgid "bad register to frv_print_operand_memory_reference_reg:"
 msgstr "给 frv_print_operand_memory_reference_reg 错误的寄存器:"
 
-#: config/frv/frv.c:2602 config/frv/frv.c:2612 config/frv/frv.c:2621
-#: config/frv/frv.c:2642 config/frv/frv.c:2647
+#: config/frv/frv.c:2651 config/frv/frv.c:2661 config/frv/frv.c:2670
+#: config/frv/frv.c:2691 config/frv/frv.c:2696
 msgid "bad insn to frv_print_operand_memory_reference:"
 msgstr "给 frv_print_operand_memory_reference 错误的指令:"
 
-#: config/frv/frv.c:2733
+#: config/frv/frv.c:2782
 #, c-format
 msgid "bad condition code"
 msgstr "错误的条件码"
 
-#: config/frv/frv.c:2808
+#: config/frv/frv.c:2857
 msgid "bad insn in frv_print_operand, bad const_double"
 msgstr "frv_print_operand 中有错误指令,错误的 const_double"
 
-#: config/frv/frv.c:2869
+#: config/frv/frv.c:2918
 msgid "bad insn to frv_print_operand, 'e' modifier:"
 msgstr "给 frv_print_operand 错误的指令,‘e’修饰符:"
 
-#: config/frv/frv.c:2877
+#: config/frv/frv.c:2926
 msgid "bad insn to frv_print_operand, 'F' modifier:"
 msgstr "给 frv_print_operand 错误的指令,‘F’修饰符:"
 
-#: config/frv/frv.c:2893
+#: config/frv/frv.c:2942
 msgid "bad insn to frv_print_operand, 'f' modifier:"
 msgstr "给 frv_print_operand 错误的指令,‘f’修饰符:"
 
-#: config/frv/frv.c:2907
+#: config/frv/frv.c:2956
 msgid "bad insn to frv_print_operand, 'g' modifier:"
 msgstr "给 frv_print_operand 错误的指令,‘g’修饰符:"
 
-#: config/frv/frv.c:2955
+#: config/frv/frv.c:3004
 msgid "bad insn to frv_print_operand, 'L' modifier:"
 msgstr "给 frv_print_operand 错误的指令,‘L’修饰符:"
 
-#: config/frv/frv.c:2968
+#: config/frv/frv.c:3017
 msgid "bad insn to frv_print_operand, 'M/N' modifier:"
 msgstr "给 frv_print_operand 错误的指令,‘M/N’修饰符:"
 
-#: config/frv/frv.c:2989
+#: config/frv/frv.c:3038
 msgid "bad insn to frv_print_operand, 'O' modifier:"
 msgstr "给 frv_print_operand 错误的指令,‘O’修饰符:"
 
-#: config/frv/frv.c:3007
+#: config/frv/frv.c:3056
 msgid "bad insn to frv_print_operand, P modifier:"
 msgstr "给 frv_print_operand 错误的指令,P 修饰符:"
 
-#: config/frv/frv.c:3027
+#: config/frv/frv.c:3076
 msgid "bad insn in frv_print_operand, z case"
 msgstr "frv_print_operand 中有错误指令,z case"
 
-#: config/frv/frv.c:3058
+#: config/frv/frv.c:3107
 msgid "bad insn in frv_print_operand, 0 case"
 msgstr "frv_print_operand 中有错误指令,0 case"
 
-#: config/frv/frv.c:3063
+#: config/frv/frv.c:3112
 msgid "frv_print_operand: unknown code"
 msgstr "frv_print_operand:未知代码"
 
-#: config/frv/frv.c:4432
+#: config/frv/frv.c:4494
 msgid "bad output_move_single operand"
 msgstr "错误的 output_move_single 操作数"
 
-#: config/frv/frv.c:4559
+#: config/frv/frv.c:4621
 msgid "bad output_move_double operand"
 msgstr "错误的 output_move_double 操作数"
 
-#: config/frv/frv.c:4701
+#: config/frv/frv.c:4763
 msgid "bad output_condmove_single operand"
 msgstr "错误的 output_condmove_single 操作数"
 
@@ -3267,27 +3179,67 @@ msgstr "错误的 output_condmove_single 操作数"
 msgid " (frv)"
 msgstr " (frv)"
 
-#: config/i386/i386.c:9946
+#: config/i386/i386.c:10825
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "无效的 UNSPEC 用作操作数"
 
-#: config/i386/i386.c:10747
+#: config/i386/i386.c:11354
+#, c-format
+msgid "'%%&' used without any local dynamic TLS references"
+msgstr "使用‘%%&’ 时没有指定任何动态 TLS 引用"
+
+#: config/i386/i386.c:11445 config/i386/i386.c:11520
+#, c-format
+msgid "invalid operand size for operand code '%c'"
+msgstr "操作数代码‘%c’的操作数大小无效"
+
+#: config/i386/i386.c:11515
+#, c-format
+msgid "invalid operand type used with operand code '%c'"
+msgstr "操作数代码‘%c’的操作数类型无效"
+
+#: config/i386/i386.c:11595 config/i386/i386.c:11635
+#, c-format
+msgid "operand is not a condition code, invalid operand code 'D'"
+msgstr "操作数不是一个条件码,无效的操作数代码‘D’"
+
+#: config/i386/i386.c:11661
+#, c-format
+msgid "operand is neither a constant nor a condition code, invalid operand code 'C'"
+msgstr "操作数既不是一个常量也不是一个条件码,无效的操作数代码‘C’"
+
+#: config/i386/i386.c:11671
+#, c-format
+msgid "operand is neither a constant nor a condition code, invalid operand code 'F'"
+msgstr "操作数既不是一个常量也不是一个条件码,无效的操作数代码‘F’"
+
+#: config/i386/i386.c:11689
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgstr "操作数既不是一个常量也不是一个条件码,无效的操作数代码‘c’"
 
-#: config/i386/i386.c:10872
+#: config/i386/i386.c:11699
+#, c-format
+msgid "operand is neither a constant nor a condition code, invalid operand code 'f'"
+msgstr "操作数既不是一个常量也不是一个条件码,无效的操作数代码‘f’"
+
+#: config/i386/i386.c:11810
+#, c-format
+msgid "operand is not a condition code, invalid operand code 'Y'"
+msgstr "操作数不是一个条件码,无效的操作数代码‘Y’"
+
+#: config/i386/i386.c:11825
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "无效的操作数代码‘%c’"
 
-#: config/i386/i386.c:10921
+#: config/i386/i386.c:11875
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "操作数的约束无效"
 
-#: config/i386/i386.c:18332
+#: config/i386/i386.c:19479
 msgid "unknown insn mode"
 msgstr "未知的指令模式"
 
@@ -3308,190 +3260,218 @@ msgstr "环境变量 DJGPP 指向的文件‘%s’不存在"
 msgid "environment variable DJGPP points to corrupt file '%s'"
 msgstr "环境变量 DJGPP 指向的文件‘%s’已损坏"
 
-#: config/ia64/ia64.c:4806
+#: config/ia64/ia64.c:4864
+#, c-format
+msgid "invalid %%G mode"
+msgstr "无效 %%G 模式"
+
+#: config/ia64/ia64.c:5034
 #, c-format
 msgid "ia64_print_operand: unknown code"
 msgstr "ia64_print_operand:未知代码"
 
-#: config/ia64/ia64.c:10410
+#: config/ia64/ia64.c:10579
 msgid "invalid conversion from %<__fpreg%>"
 msgstr "从%<__fpreg%>的转换无效"
 
-#: config/ia64/ia64.c:10413
+#: config/ia64/ia64.c:10582
 msgid "invalid conversion to %<__fpreg%>"
 msgstr "向%<__fpreg%>的转换无效"
 
-#: config/ia64/ia64.c:10426 config/ia64/ia64.c:10437
+#: config/ia64/ia64.c:10595 config/ia64/ia64.c:10606
 msgid "invalid operation on %<__fpreg%>"
 msgstr "对%<__fpreg%>的操作无效"
 
-#: config/iq2000/iq2000.c:3121
+#: config/iq2000/iq2000.c:3165
 #, c-format
 msgid "invalid %%P operand"
 msgstr "无效的 %%P 操作数"
 
-#: config/iq2000/iq2000.c:3129 config/rs6000/rs6000.c:12152
+#: config/iq2000/iq2000.c:3173 config/rs6000/rs6000.c:14485
 #, c-format
 msgid "invalid %%p value"
 msgstr "无效的 %%p 值"
 
-#: config/iq2000/iq2000.c:3185
+#: config/iq2000/iq2000.c:3229
 #, c-format
 msgid "invalid use of %%d, %%x, or %%X"
 msgstr "对 %%d、%%x 或 %%X 的无效使用"
 
-#: config/m32r/m32r.c:1776
+#: config/lm32/lm32.c:500
+#, c-format
+msgid "Only 0.0 can be loaded as an immediate"
+msgstr "只有 0.0 可以作为立即数装载"
+
+#: config/lm32/lm32.c:570
+msgid "bad operand"
+msgstr "错误的操作数"
+
+#: config/lm32/lm32.c:582
+msgid "can't use non gp relative absolute address"
+msgstr "不能使用非 GP 相对的绝对地址"
+
+#: config/lm32/lm32.c:586
+msgid "invalid addressing mode"
+msgstr "无效寻址模式"
+
+#: config/m32r/m32r.c:1950
 #, c-format
 msgid "invalid operand to %%s code"
 msgstr "%%s 代码的操作数无效"
 
-#: config/m32r/m32r.c:1783
+#: config/m32r/m32r.c:1957
 #, c-format
 msgid "invalid operand to %%p code"
 msgstr "%%p 代码的操作数无效"
 
-#: config/m32r/m32r.c:1838
+#: config/m32r/m32r.c:2012
 msgid "bad insn for 'A'"
 msgstr "‘A’的指令错误"
 
-#: config/m32r/m32r.c:1885
+#: config/m32r/m32r.c:2059
 #, c-format
 msgid "invalid operand to %%T/%%B code"
 msgstr "%%T/%%B 代码的操作数无效"
 
-#: config/m32r/m32r.c:1908
+#: config/m32r/m32r.c:2082
 #, c-format
 msgid "invalid operand to %%N code"
 msgstr "%%N 代码的操作数无效"
 
-#: config/m32r/m32r.c:1941
+#: config/m32r/m32r.c:2115
 msgid "pre-increment address is not a register"
 msgstr "前自增地址不是一个寄存器"
 
-#: config/m32r/m32r.c:1948
+#: config/m32r/m32r.c:2122
 msgid "pre-decrement address is not a register"
 msgstr "前自减地址不是一个寄存器"
 
-#: config/m32r/m32r.c:1955
+#: config/m32r/m32r.c:2129
 msgid "post-increment address is not a register"
 msgstr "后自增地址不是一个寄存器"
 
-#: config/m32r/m32r.c:2031 config/m32r/m32r.c:2045
-#: config/rs6000/rs6000.c:20951
+#: config/m32r/m32r.c:2205 config/m32r/m32r.c:2219
+#: config/rs6000/rs6000.c:23582
 msgid "bad address"
 msgstr "错误地址"
 
-#: config/m32r/m32r.c:2050
+#: config/m32r/m32r.c:2224
 msgid "lo_sum not of register"
 msgstr "lo_sum 不是寄存器"
 
 #. !!!! SCz wrong here.
-#: config/m68hc11/m68hc11.c:3189 config/m68hc11/m68hc11.c:3567
+#: config/m68hc11/m68hc11.c:3204 config/m68hc11/m68hc11.c:3582
 msgid "move insn not handled"
 msgstr "未处理 move 指令"
 
-#: config/m68hc11/m68hc11.c:3413 config/m68hc11/m68hc11.c:3497
-#: config/m68hc11/m68hc11.c:3770
+#: config/m68hc11/m68hc11.c:3428 config/m68hc11/m68hc11.c:3512
+#: config/m68hc11/m68hc11.c:3785
 msgid "invalid register in the move instruction"
 msgstr "move 指令中出现无效寄存器"
 
-#: config/m68hc11/m68hc11.c:3447
+#: config/m68hc11/m68hc11.c:3462
 msgid "invalid operand in the instruction"
 msgstr "此指令中操作数无效"
 
-#: config/m68hc11/m68hc11.c:3744
+#: config/m68hc11/m68hc11.c:3759
 msgid "invalid register in the instruction"
 msgstr "此指令中寄存器无效"
 
-#: config/m68hc11/m68hc11.c:3777
+#: config/m68hc11/m68hc11.c:3792
 msgid "operand 1 must be a hard register"
 msgstr "操作数 1 必须是一个硬件寄存器"
 
-#: config/m68hc11/m68hc11.c:3791
+#: config/m68hc11/m68hc11.c:3806
 msgid "invalid rotate insn"
 msgstr "无效的循环移位指令"
 
-#: config/m68hc11/m68hc11.c:4215
+#: config/m68hc11/m68hc11.c:4234
 msgid "registers IX, IY and Z used in the same INSN"
 msgstr "在相同指令中使用寄存器 IX、IY 和 Z"
 
-#: config/m68hc11/m68hc11.c:4548 config/m68hc11/m68hc11.c:4848
+#: config/m68hc11/m68hc11.c:4567 config/m68hc11/m68hc11.c:4867
 msgid "cannot do z-register replacement"
 msgstr "无法完成 z 寄存器替换"
 
-#: config/m68hc11/m68hc11.c:4911
+#: config/m68hc11/m68hc11.c:4930
 msgid "invalid Z register replacement for insn"
 msgstr "无效的 Z 寄存器替换"
 
-#: config/mips/mips.c:7065 config/mips/mips.c:7086 config/mips/mips.c:7198
+#: config/mep/mep.c:3414
+#, c-format
+msgid "invalid %%L code"
+msgstr "无效 %%L 代码"
+
+#: config/mips/mips.c:7424 config/mips/mips.c:7445 config/mips/mips.c:7557
 #, c-format
 msgid "'%%%c' is not a valid operand prefix"
 msgstr "‘%%%c’不是一个有效的操作数前缀"
 
-#: config/mips/mips.c:7135 config/mips/mips.c:7142 config/mips/mips.c:7149
-#: config/mips/mips.c:7156 config/mips/mips.c:7216
+#: config/mips/mips.c:7494 config/mips/mips.c:7501 config/mips/mips.c:7508
+#: config/mips/mips.c:7515 config/mips/mips.c:7575 config/mips/mips.c:7589
+#: config/mips/mips.c:7602 config/mips/mips.c:7611
 #, c-format
 msgid "invalid use of '%%%c'"
 msgstr "错误地使用了‘%%%c’"
 
-#: config/mips/mips.c:7464
+#: config/mips/mips.c:7833
 msgid "mips_debugger_offset called with non stack/frame/arg pointer"
 msgstr "mips_debugger_offset 为非堆栈/框架/参数指针调用"
 
-#: config/mmix/mmix.c:1484 config/mmix/mmix.c:1614
+#: config/mmix/mmix.c:1494 config/mmix/mmix.c:1624
 msgid "MMIX Internal: Expected a CONST_INT, not this"
 msgstr "MMIX 内部错误:预期的是整常量,不是这个"
 
-#: config/mmix/mmix.c:1563
+#: config/mmix/mmix.c:1573
 msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
 msgstr "MMIX 内部错误:‘m’值错误,不是一个整常量"
 
-#: config/mmix/mmix.c:1582
+#: config/mmix/mmix.c:1592
 msgid "MMIX Internal: Expected a register, not this"
 msgstr "MMIX 内部错误:需要一个寄存器,不是这个"
 
-#: config/mmix/mmix.c:1592
+#: config/mmix/mmix.c:1602
 msgid "MMIX Internal: Expected a constant, not this"
 msgstr "MMIX 内部错误:需要一个常量,不是这个"
 
 #. We need the original here.
-#: config/mmix/mmix.c:1676
+#: config/mmix/mmix.c:1686
 msgid "MMIX Internal: Cannot decode this operand"
 msgstr "MMIX 内部错误:无法解码此操作数"
 
-#: config/mmix/mmix.c:1733
+#: config/mmix/mmix.c:1743
 msgid "MMIX Internal: This is not a recognized address"
 msgstr "MMIX 内部错误:这不是一个可识别的地址"
 
-#: config/mmix/mmix.c:2666
+#: config/mmix/mmix.c:2620
 msgid "MMIX Internal: Trying to output invalidly reversed condition:"
 msgstr "MMIX 内部错误:试图输出无效地反转的条件:"
 
-#: config/mmix/mmix.c:2673
+#: config/mmix/mmix.c:2627
 msgid "MMIX Internal: What's the CC of this?"
 msgstr "MMIX 内部错误:它的比较条件是什么?"
 
-#: config/mmix/mmix.c:2677
+#: config/mmix/mmix.c:2631
 msgid "MMIX Internal: What is the CC of this?"
 msgstr "MMIX 内部错误:它的比较条件是什么?"
 
-#: config/mmix/mmix.c:2741
+#: config/mmix/mmix.c:2695
 msgid "MMIX Internal: This is not a constant:"
 msgstr "MMIX 内部错误:这不是一个常量:"
 
-#: config/picochip/picochip.c:2398
+#: config/picochip/picochip.c:2410
 msgid "picochip_print_memory_address - Operand isn't memory based"
-msgstr ""
+msgstr "picochip_print_memory_address - 操作数不是内存地址"
 
-#: config/picochip/picochip.c:2657
+#: config/picochip/picochip.c:2669
 msgid "Unknown mode in print_operand (CONST_DOUBLE) :"
-msgstr ""
+msgstr "print_operand (CONST_DOUBLE) 中模式未知:"
 
-#: config/picochip/picochip.c:2703 config/picochip/picochip.c:2735
+#: config/picochip/picochip.c:2715 config/picochip/picochip.c:2747
 msgid "Bad address, not (reg+disp):"
 msgstr "错误的地址,不是(reg+disp):"
 
-#: config/picochip/picochip.c:2749
+#: config/picochip/picochip.c:2761
 msgid "Bad address, not register:"
 msgstr "错误的地址,不是寄存器:"
 
@@ -3505,260 +3485,544 @@ msgstr "堆栈溢出。\n"
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr "尝试在命令解释器中运行‘%s’以提升它的极限。\n"
 
-#: config/rs6000/rs6000.c:11979
+#: config/rs6000/rs6000.c:2398
+msgid "-mvsx requires hardware floating point"
+msgstr "-mvsx 需要硬件浮点"
+
+#: config/rs6000/rs6000.c:2403
+msgid "-mvsx and -mpaired are incompatible"
+msgstr "-mvsx 与 -mpaired 互不兼容"
+
+#: config/rs6000/rs6000.c:2408
+msgid "-mvsx used with little endian code"
+msgstr "-mvsx 和小端在前的代码一起使用"
+
+#: config/rs6000/rs6000.c:2410
+msgid "-mvsx needs indexed addressing"
+msgstr "-mvsx 需要变址寻址"
+
+#: config/rs6000/rs6000.c:6617
+msgid "bad move"
+msgstr "错误的移动"
+
+#: config/rs6000/rs6000.c:14284
+#, c-format
+msgid "invalid %%c value"
+msgstr "无效 %%c 值"
+
+#: config/rs6000/rs6000.c:14312
 #, c-format
 msgid "invalid %%f value"
 msgstr "无效 %%f 值"
 
-#: config/rs6000/rs6000.c:11988
+#: config/rs6000/rs6000.c:14321
 #, c-format
 msgid "invalid %%F value"
 msgstr "无效 %%F 值"
 
-#: config/rs6000/rs6000.c:11997
+#: config/rs6000/rs6000.c:14330
 #, c-format
 msgid "invalid %%G value"
 msgstr "无效 %%G 值"
 
-#: config/rs6000/rs6000.c:12032
+#: config/rs6000/rs6000.c:14365
 #, c-format
 msgid "invalid %%j code"
 msgstr "无效 %%j 代码"
 
-#: config/rs6000/rs6000.c:12042
+#: config/rs6000/rs6000.c:14375
 #, c-format
 msgid "invalid %%J code"
 msgstr "无效 %%J 代码"
 
-#: config/rs6000/rs6000.c:12052
+#: config/rs6000/rs6000.c:14385
 #, c-format
 msgid "invalid %%k value"
 msgstr "无效 %%k 值"
 
-#: config/rs6000/rs6000.c:12072 config/xtensa/xtensa.c:2224
+#: config/rs6000/rs6000.c:14405 config/xtensa/xtensa.c:2239
 #, c-format
 msgid "invalid %%K value"
 msgstr "无效 %%K 值"
 
-#: config/rs6000/rs6000.c:12142
+#: config/rs6000/rs6000.c:14475
 #, c-format
 msgid "invalid %%O value"
 msgstr "无效 %%O 值"
 
-#: config/rs6000/rs6000.c:12189
+#: config/rs6000/rs6000.c:14522
 #, c-format
 msgid "invalid %%q value"
 msgstr "无效 %%q 值"
 
-#: config/rs6000/rs6000.c:12233
+#: config/rs6000/rs6000.c:14566
 #, c-format
 msgid "invalid %%S value"
 msgstr "无效 %%S 值"
 
-#: config/rs6000/rs6000.c:12273
+#: config/rs6000/rs6000.c:14606
 #, c-format
 msgid "invalid %%T value"
 msgstr "无效 %%T 值"
 
-#: config/rs6000/rs6000.c:12283
+#: config/rs6000/rs6000.c:14616
 #, c-format
 msgid "invalid %%u value"
 msgstr "无效 %%u 值"
 
-#: config/rs6000/rs6000.c:12292 config/xtensa/xtensa.c:2194
+#: config/rs6000/rs6000.c:14625 config/xtensa/xtensa.c:2209
 #, c-format
 msgid "invalid %%v value"
 msgstr "无效 %%v 值"
 
-#: config/rs6000/rs6000.c:12513
-#, fuzzy, c-format
+#: config/rs6000/rs6000.c:14724 config/xtensa/xtensa.c:2260
+#, c-format
+msgid "invalid %%x value"
+msgstr "无效的 %%x 值"
+
+#: config/rs6000/rs6000.c:14869
+#, c-format
 msgid "invalid %%y value, try using the 'Z' constraint"
-msgstr "约束中出现无效的标点%qc"
+msgstr "无效 %%y 值,请试用“Z”约束"
 
-#: config/rs6000/rs6000.c:22816
+#: config/rs6000/rs6000.c:25549
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "传递 AltiVec 实参给无原型的函数"
 
-#: config/s390/s390.c:4933
+#: config/s390/s390.c:4947
 #, c-format
 msgid "cannot decompose address"
 msgstr "无法分解地址"
 
-#: config/s390/s390.c:5146
+#: config/s390/s390.c:5170
 msgid "UNKNOWN in print_operand !?"
 msgstr "UNKNOWN 出现在 print_operand 中?!"
 
-#: config/score/score3.c:1265 config/score/score3.c:1285
-#: config/score/score7.c:1256
+#: config/score/score3.c:1282 config/score/score3.c:1302
+#: config/score/score7.c:1270
 #, c-format
 msgid "invalid operand for code: '%c'"
 msgstr "代码‘%c’的操作数无效"
 
-#: config/sh/sh.c:779
+#: config/sh/sh.c:1121
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "%%R 的操作数无效"
 
-#: config/sh/sh.c:806
+#: config/sh/sh.c:1148
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "%%S 的操作数无效"
 
-#: config/sh/sh.c:8379
+#: config/sh/sh.c:8932
 msgid "created and used with different architectures / ABIs"
 msgstr "创建和使用时使用了不同的架构/ABI"
 
-#: config/sh/sh.c:8381
+#: config/sh/sh.c:8934
 msgid "created and used with different ABIs"
 msgstr "创建和使用时使用了不同的 ABI"
 
-#: config/sh/sh.c:8383
+#: config/sh/sh.c:8936
 msgid "created and used with different endianness"
-msgstr "创建和使用时使用了不同的高/低位字节在前设定"
+msgstr "创建和使用时使用了不同的大小端设定"
 
-#: config/sparc/sparc.c:6856 config/sparc/sparc.c:6862
+#: config/sparc/sparc.c:6987 config/sparc/sparc.c:6993
 #, c-format
 msgid "invalid %%Y operand"
 msgstr "无效的 %%Y 操作数"
 
-#: config/sparc/sparc.c:6932
+#: config/sparc/sparc.c:7063
 #, c-format
 msgid "invalid %%A operand"
 msgstr "无效的 %%A 操作数"
 
-#: config/sparc/sparc.c:6942
+#: config/sparc/sparc.c:7073
 #, c-format
 msgid "invalid %%B operand"
 msgstr "无效的 %%B 操作数"
 
-#: config/sparc/sparc.c:6981
+#: config/sparc/sparc.c:7112
 #, c-format
 msgid "invalid %%c operand"
 msgstr "无效的 %%c 操作数"
 
-#: config/sparc/sparc.c:7003
+#: config/sparc/sparc.c:7134
 #, c-format
 msgid "invalid %%d operand"
 msgstr "无效的 %%d 操作数"
 
-#: config/sparc/sparc.c:7020
+#: config/sparc/sparc.c:7151
 #, c-format
 msgid "invalid %%f operand"
 msgstr "无效的 %%f 操作数"
 
-#: config/sparc/sparc.c:7034
+#: config/sparc/sparc.c:7165
 #, c-format
 msgid "invalid %%s operand"
 msgstr "无效的 %%s 操作数"
 
-#: config/sparc/sparc.c:7088
+#: config/sparc/sparc.c:7219
 #, c-format
 msgid "long long constant not a valid immediate operand"
 msgstr "long long 常量不是一个有效的立即数操作数"
 
-#: config/sparc/sparc.c:7091
+#: config/sparc/sparc.c:7222
 #, c-format
 msgid "floating point constant not a valid immediate operand"
 msgstr "浮点常量不是一个有效的立即数操作数"
 
-#: config/stormy16/stormy16.c:1750 config/stormy16/stormy16.c:1821
+#: config/stormy16/stormy16.c:1755 config/stormy16/stormy16.c:1826
 #, c-format
 msgid "'B' operand is not constant"
 msgstr "‘B’操作数不是一个常量"
 
-#: config/stormy16/stormy16.c:1777
+#: config/stormy16/stormy16.c:1782
 #, c-format
 msgid "'B' operand has multiple bits set"
 msgstr "‘B’操作数设置了多个位"
 
-#: config/stormy16/stormy16.c:1803
+#: config/stormy16/stormy16.c:1808
 #, c-format
 msgid "'o' operand is not constant"
 msgstr "‘o’操作数不是一个常量"
 
-#: config/stormy16/stormy16.c:1835
+#: config/stormy16/stormy16.c:1840
 #, c-format
 msgid "xstormy16_print_operand: unknown code"
 msgstr "xstormy16_print_operand:未知代码"
 
-#: config/v850/v850.c:372
+#: config/v850/v850.c:408
 msgid "const_double_split got a bad insn:"
 msgstr "const_double_split 得到一个错误的指令:"
 
-#: config/v850/v850.c:936
+#: config/v850/v850.c:979
 msgid "output_move_single:"
 msgstr "output_move_single:"
 
-#: config/xtensa/xtensa.c:692 config/xtensa/xtensa.c:724
-#: config/xtensa/xtensa.c:733
+#: config/vax/vax.c:399
+#, c-format
+msgid "symbol used with both base and indexed registers"
+msgstr "符号同时使用了基址和变址寄存器"
+
+#: config/vax/vax.c:408
+#, c-format
+msgid "symbol with offset used in PIC mode"
+msgstr "带偏移量的符号在 PIC 模式下被使用"
+
+#: config/vax/vax.c:494
+#, c-format
+msgid "symbol used as immediate operand"
+msgstr "符号被用作立即操作数"
+
+#: config/vax/vax.c:1519
+msgid "illegal operand detected"
+msgstr "检测到无效的操作数"
+
+#: config/xtensa/xtensa.c:705 config/xtensa/xtensa.c:737
+#: config/xtensa/xtensa.c:746
 msgid "bad test"
 msgstr "错误的测试"
 
-#: config/xtensa/xtensa.c:2182
+#: config/xtensa/xtensa.c:2197
 #, c-format
 msgid "invalid %%D value"
 msgstr "无效的 %%D 值"
 
-#: config/xtensa/xtensa.c:2219
+#: config/xtensa/xtensa.c:2234
 msgid "invalid mask"
 msgstr "无效掩码"
 
-#: config/xtensa/xtensa.c:2245
-#, c-format
-msgid "invalid %%x value"
-msgstr "无效的 %%x 值"
-
-#: config/xtensa/xtensa.c:2252
+#: config/xtensa/xtensa.c:2267
 #, c-format
 msgid "invalid %%d value"
 msgstr "无效的 %%d 值"
 
-#: config/xtensa/xtensa.c:2273 config/xtensa/xtensa.c:2283
+#: config/xtensa/xtensa.c:2288 config/xtensa/xtensa.c:2298
 #, c-format
 msgid "invalid %%t/%%b value"
 msgstr "无效的 %%t/%%b 值"
 
-#: config/xtensa/xtensa.c:2325
+#: config/xtensa/xtensa.c:2340
 msgid "invalid address"
 msgstr "无效地址"
 
-#: config/xtensa/xtensa.c:2350
+#: config/xtensa/xtensa.c:2365
 msgid "no register in address"
 msgstr "地址中无寄存器"
 
-#: config/xtensa/xtensa.c:2358
+#: config/xtensa/xtensa.c:2373
 msgid "address offset not a constant"
 msgstr "地址偏移量不是一个常量"
 
-#: cp/call.c:2602
+#: cp/call.c:2773
 msgid "candidates are:"
 msgstr "备选为:"
 
-#: cp/call.c:6779
+#: cp/call.c:7335
 msgid "candidate 1:"
 msgstr "备选 1:"
 
-#: cp/call.c:6780
+#: cp/call.c:7336
 msgid "candidate 2:"
 msgstr "备选 2:"
 
-#: cp/decl2.c:671
+#: cp/cxx-pretty-print.c:173 cp/error.c:948 objc/objc-act.c:7137
+msgid "<unnamed>"
+msgstr "<无名>"
+
+#: cp/cxx-pretty-print.c:2066
+msgid "template-parameter-"
+msgstr "模板形参-"
+
+#: cp/decl2.c:693
 msgid "candidates are: %+#D"
 msgstr "备选为:%+#D"
 
-#: cp/decl2.c:673
+#: cp/decl2.c:695
 msgid "candidate is: %+#D"
 msgstr "备选为:%+#D"
 
-#: cp/g++spec.c:254 java/jvspec.c:406
+#: cp/error.c:322
+msgid "<missing>"
+msgstr "<丢失>"
+
+#: cp/error.c:363
+msgid "<brace-enclosed initializer list>"
+msgstr "<花括号内的初始值列表>"
+
+#: cp/error.c:365
+msgid "<unresolved overloaded function type>"
+msgstr "<未解决的重载函数类型>"
+
+#: cp/error.c:508
+msgid "<type error>"
+msgstr "<类型错误>"
+
+#: cp/error.c:608
+#, c-format
+msgid "<anonymous %s>"
+msgstr "<匿名 %s>"
+
+#. A lambda's "type" is essentially its signature.
+#: cp/error.c:613
+msgid "<lambda"
+msgstr "<lambda"
+
+#: cp/error.c:739
+msgid "<typeprefixerror>"
+msgstr "<类型前缀错误>"
+
+#: cp/error.c:850
+#, c-format
+msgid "(static initializers for %s)"
+msgstr "(%s 的静态初始值设定)"
+
+#: cp/error.c:852
+#, c-format
+msgid "(static destructors for %s)"
+msgstr "(%s 的静态析构函数)"
+
+#: cp/error.c:923
+msgid "vtable for "
+msgstr "vtable for "
+
+#: cp/error.c:935
+msgid "<return value> "
+msgstr "<返回值>"
+
+#: cp/error.c:1063
+msgid "<enumerator>"
+msgstr "<枚举值>"
+
+#: cp/error.c:1103
+msgid "<declaration error>"
+msgstr "<声明错误>"
+
+#: cp/error.c:1343
+msgid "with"
+msgstr "with"
+
+#: cp/error.c:1511 cp/error.c:1531
+msgid "<template parameter error>"
+msgstr "<模板参数数错误>"
+
+#: cp/error.c:1657
+msgid "<statement>"
+msgstr "<语句>"
+
+#. While waiting for caret diagnostics, avoid printing
+#. __cxa_allocate_exception, __cxa_throw, and the like.
+#: cp/error.c:1686
+msgid "<throw-expression>"
+msgstr "<throw 表达式>"
+
+#: cp/error.c:2132
+msgid "<unparsed>"
+msgstr "<未解析>"
+
+#: cp/error.c:2281
+msgid "<expression error>"
+msgstr "<表达式错误>"
+
+#: cp/error.c:2295
+msgid "<unknown operator>"
+msgstr "<未知的运算符>"
+
+#: cp/error.c:2502
+msgid "<unknown>"
+msgstr "<未知>"
+
+#: cp/error.c:2522
+msgid "{unknown}"
+msgstr "{未知}"
+
+#: cp/error.c:2604
+msgid "At global scope:"
+msgstr "在全局域:"
+
+#: cp/error.c:2710
+#, c-format
+msgid "In static member function %qs"
+msgstr "在静态成员函数%qs中"
+
+#: cp/error.c:2712
+#, c-format
+msgid "In copy constructor %qs"
+msgstr "在复制构造函数%qs"
+
+#: cp/error.c:2714
+#, c-format
+msgid "In constructor %qs"
+msgstr "在构造函数%qs中"
+
+#: cp/error.c:2716
+#, c-format
+msgid "In destructor %qs"
+msgstr "在析构函数%qs中"
+
+#: cp/error.c:2718
+msgid "In lambda function"
+msgstr "在 lambda 函数中"
+
+#: cp/error.c:2748
+#, c-format
+msgid "%s: In instantiation of %qs:\n"
+msgstr "%s:在%qs的实例化中:\n"
+
+#: cp/error.c:2777
+#, c-format
+msgid "%s:%d:%d:   instantiated from %qs\n"
+msgstr "%s:%d:%d:自%qs实例化\n"
+
+#: cp/error.c:2781
+#, c-format
+msgid "%s:%d:   instantiated from %qs\n"
+msgstr "%s:%d:自%qs实例化\n"
+
+#: cp/error.c:2786
+#, c-format
+msgid "%s:%d:%d:   instantiated from here"
+msgstr "%s:%d:%d:从此处实例化"
+
+#: cp/error.c:2789
+#, c-format
+msgid "%s:%d:   instantiated from here"
+msgstr "%s:%d:从此处实例化"
+
+#: cp/g++spec.c:261 java/jvspec.c:403
 #, c-format
 msgid "argument to '%s' missing\n"
 msgstr "‘%s’缺少实参\n"
 
+#: cp/rtti.c:529
+msgid "target is not pointer or reference to class"
+msgstr "目标不是指向类的指针或引用"
+
+#: cp/rtti.c:534
+msgid "target is not pointer or reference to complete type"
+msgstr "目标不是指向完整类型的指针或引用"
+
+#: cp/rtti.c:540
+msgid "target is not pointer or reference"
+msgstr "目标不是一个指针或引用"
+
+#: cp/rtti.c:551
+msgid "source is not a pointer"
+msgstr "源不是一个指针"
+
+#: cp/rtti.c:556
+msgid "source is not a pointer to class"
+msgstr "源不是一个指向类的指针"
+
+#: cp/rtti.c:561
+msgid "source is a pointer to incomplete type"
+msgstr "源是一个指向不完全类型的指针"
+
+#: cp/rtti.c:574
+msgid "source is not of class type"
+msgstr "源不具有类类型"
+
+#: cp/rtti.c:579
+msgid "source is of incomplete class type"
+msgstr "源有不完全的类类型"
+
+#: cp/rtti.c:592
+msgid "conversion casts away constness"
+msgstr "转换丢失了常量属性"
+
+#: cp/rtti.c:752
+msgid "source type is not polymorphic"
+msgstr "源类型不是多态的"
+
+#: cp/typeck.c:4465 c-typeck.c:3321
+#, gcc-internal-format
+msgid "wrong type argument to unary minus"
+msgstr "单目减的操作数类型错误"
+
+#: cp/typeck.c:4466 c-typeck.c:3308
+#, gcc-internal-format
+msgid "wrong type argument to unary plus"
+msgstr "单目加的操作数类型错误"
+
+#: cp/typeck.c:4489 c-typeck.c:3347
+#, gcc-internal-format
+msgid "wrong type argument to bit-complement"
+msgstr "按位取反的实参类型错误"
+
+#: cp/typeck.c:4496 c-typeck.c:3355
+#, gcc-internal-format
+msgid "wrong type argument to abs"
+msgstr "不能对该类型的实参求绝对值"
+
+#: cp/typeck.c:4504 c-typeck.c:3367
+#, gcc-internal-format
+msgid "wrong type argument to conjugation"
+msgstr "不能对该类型的实参求共轭"
+
+#: cp/typeck.c:4515
+msgid "in argument to unary !"
+msgstr "单目 ! 的参数中"
+
+#: cp/typeck.c:4576
+msgid "no pre-increment operator for type"
+msgstr "类型没有前自增运算符"
+
+#: cp/typeck.c:4578
+msgid "no post-increment operator for type"
+msgstr "类型没有后自增运算符"
+
+#: cp/typeck.c:4580
+msgid "no pre-decrement operator for type"
+msgstr "类型没有前自减运算符"
+
+#: cp/typeck.c:4582
+msgid "no post-decrement operator for type"
+msgstr "类型没有后自减运算符"
+
 #: fortran/arith.c:44
 #, no-c-format
 msgid "Conversion of an Infinity or Not-a-Number at %L to INTEGER"
-msgstr ""
+msgstr "在%L处把一个无穷大或非数转换为 INTEGER"
 
 #: fortran/arith.c:94
 msgid "Arithmetic OK at %L"
@@ -3788,55 +4052,60 @@ msgstr "%L处数组操作数无法被使用"
 msgid "Integer outside symmetric range implied by Standard Fortran at %L"
 msgstr "%L处整数超出标准 Fortran 隐含的对称范围"
 
-#: fortran/arith.c:1481
+#: fortran/arith.c:1151 fortran/arith.c:1173
+#, no-c-format
+msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+msgstr "Fortran 2003:%L处初始化表达式中非整数指数"
+
+#: fortran/arith.c:1159
+#, no-c-format
+msgid "Raising a negative REAL at %L to a REAL power is prohibited"
+msgstr "%L处不能为负的 REAL 取 REAL 次幂"
+
+#: fortran/arith.c:1666
 msgid "elemental binary operation"
 msgstr "基本二元操作"
 
-#: fortran/arith.c:2059
+#: fortran/arith.c:2250
 #, no-c-format
 msgid "Arithmetic OK converting %s to %s at %L"
 msgstr "%3$L处从 %1$s 转换到 %2$s 算术正常"
 
-#: fortran/arith.c:2063
+#: fortran/arith.c:2254
 #, no-c-format
 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:2068
-#, fuzzy, no-c-format
+#: fortran/arith.c:2259
+#, no-c-format
 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 选项关闭"
+msgstr "%3$L处将 %1$s 转换到 %2$s 时算术下溢。这一检查可用 -fno-range-check 选项禁用"
 
-#: fortran/arith.c:2073
-#, fuzzy, no-c-format
+#: fortran/arith.c:2264
+#, no-c-format
 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 时算术溢出。这一检查可用 -fno-range-check 选项关闭"
+msgstr "%3$L处将 %1$s 转换到 %2$s 时产生算术 NaN。这一检查可用 -fno-range-check 选项禁用"
 
-#: fortran/arith.c:2078
+#: fortran/arith.c:2269
 #, no-c-format
 msgid "Division by zero converting %s to %s at %L"
 msgstr "%3$L处从 %1$s 转换到 %2$s 时被零除"
 
-#: fortran/arith.c:2082
+#: fortran/arith.c:2273
 #, no-c-format
 msgid "Array operands are incommensurate converting %s to %s at %L"
 msgstr "%3$L处从 %1$s 到 %2$s 的转换不适合数组操作数"
 
-#: fortran/arith.c:2086
+#: fortran/arith.c:2277
 #, no-c-format
 msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
 msgstr "%3$L处将%1$s转换为%2$s时整数超过了标准 Fortran 所规定的对称范围"
 
-#: fortran/arith.c:2419
+#: fortran/arith.c:2628
 #, no-c-format
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr "%L 的荷勒瑞斯常数太长,无法被转换为 %s"
 
-#: fortran/arith.c:2578
-#, no-c-format
-msgid "Enumerator exceeds the C integer type at %C"
-msgstr "%C处:枚举量超过 C 整数类型"
-
 #: fortran/array.c:90
 #, no-c-format
 msgid "Expected array subscript at %C"
@@ -3865,27 +4134,27 @@ msgstr "变量‘%s’在%L处上下文中必须是常量"
 #: fortran/array.c:307
 #, no-c-format
 msgid "Expected expression in array specification at %C"
-msgstr "%Cå¤\84æ\8c\87å®\9aæ\95°ç»\84æ\97需要表达式"
+msgstr "%Cå¤\84æ\95°ç»\84è§\84格中需要表达式"
 
 #: fortran/array.c:389
 #, no-c-format
 msgid "Bad array specification for an explicitly shaped array at %C"
-msgstr ""
+msgstr "%C处显式外形数组的数组规格说明错误"
 
 #: fortran/array.c:399
 #, no-c-format
 msgid "Bad array specification for assumed shape array at %C"
-msgstr ""
+msgstr "%C处假定外形数组的数组规格说明错误"
 
 #: fortran/array.c:413
 #, no-c-format
 msgid "Bad specification for deferred shape array at %C"
-msgstr ""
+msgstr "%C处延迟外形数组的规格说明错误"
 
 #: fortran/array.c:417
 #, no-c-format
 msgid "Bad specification for assumed size array at %C"
-msgstr ""
+msgstr "%C处假定大小数组的规格说明错误"
 
 #: fortran/array.c:426
 #, no-c-format
@@ -3895,57 +4164,57 @@ msgstr "%C处数组声明需要另外一维"
 #: fortran/array.c:432
 #, no-c-format
 msgid "Array specification at %C has more than %d dimensions"
-msgstr "%C处数组指定了多于 %d 的维数"
+msgstr "%C处数组规格中有多于 %d 的维数"
 
 #: fortran/array.c:438
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Fortran 2008: Array specification at %C with more than 7 dimensions"
-msgstr "%C处数组指定了多于 %d 的维数"
+msgstr "Fortran 2008:%C处多于 7 维的数组规格"
 
-#: fortran/array.c:644
+#: fortran/array.c:645
 #, no-c-format
 msgid "duplicated initializer"
 msgstr "重复的初始值设定"
 
-#: fortran/array.c:736
+#: fortran/array.c:737
 #, no-c-format
 msgid "DO-iterator '%s' at %L is inside iterator of the same name"
 msgstr "DO 游标‘%s’在%L处出现在另一个同名游标作用域内"
 
-#: fortran/array.c:838 fortran/array.c:980
+#: fortran/array.c:839 fortran/array.c:981
 #, no-c-format
 msgid "Syntax error in array constructor at %C"
 msgstr "%C处数组构造语法错误"
 
-#: fortran/array.c:895
+#: fortran/array.c:896
 #, no-c-format
 msgid "Fortran 2003: [...] style array constructors at %C"
 msgstr "Fortran 2003:%C处 [...] 风格的数组构造"
 
-#: fortran/array.c:915
-#, fuzzy, no-c-format
+#: fortran/array.c:916
+#, no-c-format
 msgid "Fortran 2003: Array constructor including type specification at %C"
-msgstr "Fortran 2003:%C处 [...] 风格的数组构造"
+msgstr "Fortran 2003:%C处包含类型规格的数组构造"
 
-#: fortran/array.c:930
+#: fortran/array.c:931
 #, no-c-format
 msgid "Empty array constructor at %C is not allowed"
 msgstr "%C处的空数组构造不被允许"
 
-#: fortran/array.c:1027
+#: fortran/array.c:1028
 #, no-c-format
 msgid "Element in %s array constructor at %L is %s"
 msgstr "%s 数组构造中的元素在%L处是 %s"
 
-#: fortran/array.c:1364
+#: fortran/array.c:1365
 #, no-c-format
 msgid "Iterator step at %L cannot be zero"
 msgstr "%L处游标步进不能为零"
 
-#: fortran/array.c:1650
-#, fuzzy, no-c-format
+#: fortran/array.c:1649
+#, no-c-format
 msgid "Different CHARACTER lengths (%d/%d) in array constructor at %L"
-msgstr "%s 数组构造中的元素在%L处是 %s"
+msgstr "%3$L处数组构造函数中不同 CHARACTER 长度(%1$d/%2$d)"
 
 #: fortran/check.c:44
 #, no-c-format
@@ -3962,7 +4231,7 @@ msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是 %4$s"
 msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须具有数字类型"
 
-#: fortran/check.c:101 fortran/check.c:825 fortran/check.c:835
+#: fortran/check.c:101 fortran/check.c:851 fortran/check.c:861
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须为整数型或实数型"
@@ -4005,7 +4274,7 @@ msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须具有与‘%4$s
 #: fortran/check.c:241
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be of rank %d"
-msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须为 %4$d"
+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’的秩必须为 %4$d"
 
 #: fortran/check.c:256
 #, no-c-format
@@ -4027,1780 +4296,1967 @@ msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’不能是 INTENT(IN)"
 msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个变量"
 
-#: fortran/check.c:356
+#: fortran/check.c:364
 #, no-c-format
 msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
 msgstr "%2$L处‘%1$s’内建函数的‘dim’实参不是一个有效的维数索引"
 
-#: fortran/check.c:426
-#, fuzzy, no-c-format
-msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
-msgstr "%L处指针赋值时字符长度不同"
+#: fortran/check.c:434
+#, no-c-format
+msgid "Unequal character lengths (%ld/%ld) in %s at %L"
+msgstr "%4$L处 %3$s 中字符长度不相等 (%1$ld/%2$ld)"
 
-#: fortran/check.c:532 fortran/check.c:2025 fortran/check.c:2040
+#: fortran/check.c:543 fortran/check.c:2137 fortran/check.c:2149
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须为 ALLOCATABLE"
 
-#: fortran/check.c:556 fortran/check.c:3885
+#: fortran/check.c:564 fortran/check.c:4232
 #, no-c-format
 msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
 msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实参类型必须相同"
 
-#: fortran/check.c:565 fortran/check.c:1197 fortran/check.c:1340
-#: fortran/check.c:1414 fortran/check.c:1703
+#: fortran/check.c:573 fortran/check.c:1312 fortran/check.c:1455
+#: fortran/check.c:1529 fortran/check.c:1815
 #, no-c-format
 msgid "Extension: Different type kinds at %L"
 msgstr "扩展:%L处类型种别不同"
 
-#: fortran/check.c:605 fortran/check.c:2109
+#: fortran/check.c:611 fortran/check.c:2218
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个 POINTER"
 
-#: fortran/check.c:625
+#: fortran/check.c:629
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
 msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实参类型必须为指针或目标 VARIABLE 或 FUNCTION"
 
-#: fortran/check.c:633
+#: fortran/check.c:637
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个 POINTER 或 TARGET"
 
-#: fortran/check.c:649
+#: fortran/check.c:653
 #, no-c-format
 msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
-msgstr "%L处由矢量下标选择的部分数组不应是指针的目标"
+msgstr "%L处由向量下标选择的数组段不应是指针的目标"
 
-#: fortran/check.c:660
+#: fortran/check.c:664
 #, no-c-format
 msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
 msgstr "%L 的 NULL 指针不能用作内建函数‘%s’的实参"
 
-#: fortran/check.c:806 fortran/check.c:930
+#: fortran/check.c:823 fortran/check.c:990
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
 msgstr "当‘x’是 COMPLEX 时%3$L处内建函数‘%2$s’的实参‘%1$s’不能存在"
 
-#: fortran/check.c:856 fortran/check.c:1259 fortran/check.c:1362
-#: fortran/check.c:1521 fortran/check.c:1538 fortran/check.c:2413
-#: fortran/check.c:2555 fortran/check.c:2898 fortran/check.c:2959
+#: fortran/check.c:831 fortran/check.c:998
+#, no-c-format
+msgid "'%s' argument of '%s' intrinsic at %L must have a type of either REAL or INTEGER"
+msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实参类型必须为 REAL 或 INTEGER"
+
+#: fortran/check.c:884 fortran/check.c:1374 fortran/check.c:1477
+#: fortran/check.c:1633 fortran/check.c:1650 fortran/check.c:2706
+#: fortran/check.c:2845 fortran/check.c:3197 fortran/check.c:3297
 #, no-c-format
 msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
 msgstr "Fortran 2003:%2$L处的‘%1$s’内建函数有 KIND 实参"
 
-#: fortran/check.c:881
+#: fortran/check.c:931 fortran/check.c:1137
 #, no-c-format
-msgid "SHIFT argument at %L of CSHIFT must have rank %d or be a scalar"
-msgstr ""
+msgid "'%s' argument of '%s' 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:946 fortran/check.c:1152 fortran/check.c:1180
+#, no-c-format
+msgid "'%s' argument of intrinsic '%s' at %L of must have rank %d or be a scalar"
+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须有 %4$d 的秩或者是一个标量"
 
-#: fortran/check.c:979 fortran/check.c:1799 fortran/check.c:1807
+#: fortran/check.c:1047 fortran/check.c:1909 fortran/check.c:1917
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须为数字或 LOGICAL 型"
 
-#: fortran/check.c:993
+#: fortran/check.c:1061
 #, no-c-format
 msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
 msgstr "%3$L处点乘内建函数的参数‘%1$s’和‘%2$s’外形不相同"
 
-#: fortran/check.c:1012 fortran/check.c:1020
+#: fortran/check.c:1080 fortran/check.c:1088
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be default real"
 msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实参类型必须为默认实型"
 
-#: fortran/check.c:1047
-#, no-c-format
-msgid "SHIFT argument at %L of EOSHIFT must have rank %d or be a scalar"
-msgstr ""
+#: fortran/check.c:1171 fortran/check.c:2024 fortran/check.c:2078
+#, c-format
+msgid "arguments '%s' and '%s' for intrinsic %s"
+msgstr "‘%s’和‘%s’用作内建函数‘%s’的实参"
 
-#: fortran/check.c:1067
+#: fortran/check.c:1244
 #, no-c-format
-msgid "BOUNDARY argument at %L of EOSHIFT must have rank %d or be a scalar"
-msgstr ""
-
-#: fortran/check.c:1078
-#, fuzzy, no-c-format
-msgid "Different shape in dimension %d for SHIFT and BOUNDARY arguments of EOSHIFT at %L"
-msgstr "%3$L处矩阵乘法的两个参数‘%1$s’和‘%2$s’第一维的外形不相同"
+msgid "Fortran 2008: COMPLEX argument '%s' argument of '%s' intrinsic at %L"
+msgstr "Fortran 2003:%3L处的‘%2s’内建函数有 COMPLEX 实参‘%1$s’"
 
-#: fortran/check.c:1310
+#: fortran/check.c:1425
 #, no-c-format
 msgid "Argument of %s at %L must be of length one"
 msgstr "%s 的参数(位于 %L)长度必须为 1"
 
-#: fortran/check.c:1369
+#: fortran/check.c:1484
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须具有与‘%4$s’一样的种别"
 
-#: fortran/check.c:1494
+#: fortran/check.c:1609
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’不能是派生类型"
 
-#: fortran/check.c:1676
+#: fortran/check.c:1788
 #, no-c-format
 msgid "Intrinsic '%s' at %L must have at least two arguments"
 msgstr "%2$L处的内建函数‘%1$s’必须至少有两个实参"
 
-#: fortran/check.c:1709
+#: fortran/check.c:1821
 #, no-c-format
 msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
 msgstr "%3$L处内建函数‘%2$s’的实参‘a%1$d’必须是 %4$s(%5$d)"
 
-#: fortran/check.c:1742
+#: fortran/check.c:1830
+#, c-format
+msgid "arguments 'a%d' and 'a%d' for intrinsic '%s'"
+msgstr "‘a%d’和‘a%d’用作内建函数‘%s’的实参"
+
+#: fortran/check.c:1852
 #, no-c-format
 msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
 msgstr "Fortran 2003:%2$L处的‘%1$s’内建函数有 CHARACTER 实参"
 
-#: fortran/check.c:1749
+#: fortran/check.c:1859
 #, no-c-format
 msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
 msgstr "%2$L处‘%1$s’内建函数的‘a1’实参必须是 INTEGER、REAL 或 CHARACTER"
 
-#: fortran/check.c:1821
+#: fortran/check.c:1926
+#, no-c-format
+msgid "Argument types of '%s' intrinsic at %L must match (%s/%s)"
+msgstr "%2$L处内建‘%1$s’的参数必须匹配(%3$s/%4$s)"
+
+#: fortran/check.c:1940
 #, no-c-format
 msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
 msgstr "%3$L处矩阵乘法的两个参数‘%1$s’和‘%2$s’第一维的外形不相同"
 
-#: fortran/check.c:1840
+#: fortran/check.c:1959
 #, no-c-format
 msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
 msgstr "用作%3$L处矩阵乘法参数的‘%1$s’的第二维和‘%2$s’的第一维的外形不相同"
 
-#: fortran/check.c:1849
+#: fortran/check.c:1968
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’的秩必须为 1 或 2"
 
-#: fortran/check.c:2051
+#: fortran/check.c:2160
 #, no-c-format
 msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
 msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实参必须有相同的秩 %5$d/%6$d"
 
-#: fortran/check.c:2060
+#: fortran/check.c:2169
 #, no-c-format
 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"
 
-#: fortran/check.c:2156
+#: fortran/check.c:2238 fortran/intrinsic.c:3639
+#, c-format
+msgid "arguments '%s' and '%s' for intrinsic '%s'"
+msgstr "‘%s’和‘%s’用作内建函数‘%s’的实参"
+
+#: fortran/check.c:2289 fortran/check.c:3244
+#, no-c-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)"
+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须至少具有与‘%4$s’(%5$ld/%6$d)中 .TRUE. 值一样多的元素"
+
+#: fortran/check.c:2314
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
 msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实参类型必须为 REAL 或 COMPLEX"
 
-#: fortran/check.c:2177
+#: fortran/check.c:2335
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
-msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个哑元变量"
+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个哑元"
 
-#: fortran/check.c:2185
+#: fortran/check.c:2343
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
-msgstr "%3$Lå¤\84å\86\85建å\87½æ\95°â\80\98%2$sâ\80\99ç\9a\84å®\9eå\8f\82â\80\98%1$sâ\80\99å¿\85é¡»æ\98¯ä¸\80个 OPTIONAL å\93\91å\8f\98é\87\8f"
+msgstr "%3$Lå¤\84å\86\85建å\87½æ\95°â\80\98%2$sâ\80\99ç\9a\84å®\9eå\8f\82â\80\98%1$sâ\80\99å¿\85é¡»æ\98¯ä¸\80个 OPTIONAL å\93\91å\85\83"
 
-#: fortran/check.c:2201
+#: fortran/check.c:2359
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是‘%4$s’的子对象"
 
-#: fortran/check.c:2326
+#: fortran/check.c:2484
 #, no-c-format
 msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
 msgstr "‘reshape’内建函数的‘shape’实参在%L处必须是大小为常量的数组"
 
-#: fortran/check.c:2336
+#: fortran/check.c:2494
+#, no-c-format
+msgid "'%s' argument of '%s' intrinsic at %L is empty"
+msgstr "%3$L处内建‘%2$s’内建函数的‘%1$s’实参为空"
+
+#: fortran/check.c:2501
 #, no-c-format
 msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
 msgstr "‘reshape’内建函数的‘shape’实参在%L处有多于 %d 个的元素"
 
-#: fortran/check.c:2374
+#: fortran/check.c:2521
+#, no-c-format
+msgid "'%s' argument of '%s' intrinsic at %L has negative element (%d)"
+msgstr "%3$L处内建‘%2$s’内建函数的‘%1$s’实参有负的元素(%4$d)"
+
+#: fortran/check.c:2562
+#, no-c-format
+msgid "'%s' argument of '%s' intrinsic at %L has wrong number of elements (%d/%d)"
+msgstr "%3$L处‘%2$s’内建函数的‘%1$s’实参的元素数错误(%4$d/%5$d)"
+
+#: fortran/check.c:2583
+#, no-c-format
+msgid "'%s' argument of '%s' intrinsic at %L has out-of-range dimension (%d)"
+msgstr "%3$L处内建‘%2$s’内建函数的‘%1$s’实参维数越界(%4$d)"
+
+#: fortran/check.c:2592
+#, no-c-format
+msgid "'%s' argument of '%s' intrinsic at %L has invalid permutation of dimensions (dimension '%d' duplicated)"
+msgstr "%3$L处‘%2$s’内建函数的‘%1$s’实参维数置换无效(维数%4$d重复)"
+
+#: fortran/check.c:2627
 #, no-c-format
 msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
-msgstr ""
+msgstr "若没有填充,%L处内建 ESHAPE 源中没有足够的元素去与外形匹配"
+
+#: fortran/check.c:2645 fortran/check.c:2661
+#, no-c-format
+msgid "'%s' argument of '%s' intrinsic at %L must be of a derived type"
+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是派生类型"
 
-#: fortran/check.c:2475
+#: fortran/check.c:2653 fortran/check.c:2669
+#, no-c-format
+msgid "'%s' argument of '%s' intrinsic at %L must be of an extensible type"
+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须具有可扩展类型"
+
+#: fortran/check.c:2768
 #, no-c-format
 msgid "Missing arguments to %s intrinsic at %L"
 msgstr "%2$L处 %1$s 内建函数缺少实参"
 
-#: fortran/check.c:2516
+#: fortran/check.c:2809
 #, no-c-format
 msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
 msgstr "‘shape’内建函数的‘source’实参在%L处不能是假定大小的数组"
 
-#: fortran/check.c:2590
+#: fortran/check.c:2880
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
 msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’秩必须小于 %4$d"
 
-#: fortran/check.c:2850
+#: fortran/check.c:2899
+#, no-c-format
+msgid "'%s' argument of '%s' intrinsic at %L is not a valid dimension index"
+msgstr "%3$L处‘%2$s’内建函数的‘%1$s’实参不是一个有效的维数索引"
+
+#: fortran/check.c:3152
 #, no-c-format
 msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
 msgstr "%L处‘TRANSER’内建函数的‘MOLD’参数不能是 %s"
 
-#: fortran/check.c:2924
+#: fortran/check.c:3258
 #, no-c-format
-msgid "FIELD argument at %L of UNPACK must have the same rank as MASK or be a scalar"
-msgstr ""
+msgid "'%s' argument of '%s' intrinsic at %L must have the same rank as '%s' or be a scalar"
+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是标量或者具有与‘%4$s’一样的秩"
 
-#: fortran/check.c:2935
-#, fuzzy, no-c-format
-msgid "Different shape in dimension %d for MASK and FIELD arguments of UNPACK at %L"
-msgstr "%3$L处矩阵乘法的两个参数‘%1$s’和‘%2$s’第一维的外形不相同"
+#: fortran/check.c:3271
+#, no-c-format
+msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have identical shape."
+msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实参必须有相同的外形。"
 
-#: fortran/check.c:3175
+#: fortran/check.c:3514 fortran/check.c:3546
 #, no-c-format
-msgid "Array PUT of intrinsic %s is too small (%i/%i) at %L"
-msgstr ""
+msgid "Size of '%s' argument of '%s' intrinsic at %L too small (%i/%i)"
+msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’的大小太小(%4$i/%5$i)"
 
-#: fortran/check.c:3207
+#: fortran/check.c:3554
 #, no-c-format
 msgid "Too many arguments to %s at %L"
 msgstr "给予函数 %s 的参数太多,于 %L"
 
-#: fortran/check.c:3319 fortran/check.c:3796 fortran/check.c:3820
+#: fortran/check.c:3666 fortran/check.c:4143 fortran/check.c:4167
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须为 INTEGER 或 PROCEDURE"
 
-#: fortran/check.c:3502
+#: fortran/check.c:3849
 #, no-c-format
 msgid "'%s' argument of '%s' 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:3869 fortran/check.c:3877
+#: fortran/check.c:4216 fortran/check.c:4224
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须为 INTEGER 或 LOGICAL"
 
-#: fortran/cpp.c:374 c-opts.c:891
+#: fortran/cpp.c:381 c-opts.c:909
 #, gcc-internal-format
 msgid "output filename specified twice"
 msgstr "输出文件名指定了两次"
 
-#: fortran/cpp.c:432
+#: fortran/cpp.c:439
 #, no-c-format
 msgid "To enable preprocessing, use -cpp"
 msgstr "欲启用预处理,请使用 -cpp"
 
-#: fortran/cpp.c:521 fortran/cpp.c:531
+#: fortran/cpp.c:525 fortran/cpp.c:535
 #, no-c-format
 msgid "opening output file %s: %s"
 msgstr "正打开输出文件 %s:%s"
 
-#: fortran/data.c:64
+#: fortran/data.c:63
 #, no-c-format
 msgid "non-constant array in DATA statement %L"
 msgstr "%L处 DATA 语句中有非常量数组"
 
-#: fortran/data.c:191
+#: fortran/data.c:190
 #, no-c-format
 msgid "failure to simplify substring reference in DATA statement at %L"
-msgstr ""
+msgstr "%L处 DATA 语句简化子串引用时失败"
 
-#: fortran/data.c:216
+#: fortran/data.c:215
 #, no-c-format
 msgid "initialization string truncated to match variable at %L"
 msgstr "初始化字符串被截断,以匹配%L处的变量"
 
-#: fortran/data.c:295
+#: fortran/data.c:294
 #, no-c-format
 msgid "'%s' at %L already is initialized at %L"
 msgstr "%2$L处的‘%1$s’已于 %3$L处被初始化"
 
-#: fortran/data.c:319
+#: fortran/data.c:318
 #, no-c-format
 msgid "Data element below array lower bound at %L"
 msgstr "%L处数据元素低于数组下限"
 
-#: fortran/data.c:331
+#: fortran/data.c:330
 #, no-c-format
 msgid "Data element above array upper bound at %L"
 msgstr "%L处数据元素高于数组上限"
 
-#: fortran/data.c:432
+#: fortran/data.c:435
 #, no-c-format
 msgid "Extension: re-initialization of '%s' at %L"
 msgstr "扩展:‘%s’重初始化于 %L"
 
-#: fortran/decl.c:258
-#, fuzzy, no-c-format
+#: fortran/decl.c:259
+#, no-c-format
 msgid "Host associated variable '%s' may not be in the DATA statement at %C"
-msgstr "%C READ 语句需要变量"
+msgstr "%2$C处主机相关的变量‘%1$s’不能出现在 DATA 语句中"
 
-#: fortran/decl.c:265
+#: fortran/decl.c:266
 #, no-c-format
 msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
 msgstr "扩展:DATA 语句中对公共块变量‘%s’在%C处初始化"
 
-#: fortran/decl.c:370
+#: fortran/decl.c:371
 #, no-c-format
 msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
 msgstr "%2$C处 DATA 语句中符号‘%1$s’必须是一个 PARAMETER"
 
-#: fortran/decl.c:395
+#: fortran/decl.c:396
 #, no-c-format
 msgid "Invalid initializer %s in Data statement at %C"
 msgstr "%2$C处 DATA 语句初始值设定 %1$s 无效"
 
-#: fortran/decl.c:498
+#: fortran/decl.c:499
 #, no-c-format
 msgid "Initialization at %C is not allowed in a PURE procedure"
 msgstr "初始化不允许出现在%C处的 PURE 过程中"
 
-#: fortran/decl.c:557
+#: fortran/decl.c:558
 #, no-c-format
 msgid "DATA statement at %C is not allowed in a PURE procedure"
 msgstr "DATA 语句不允许出现在%C处的 PURE 过程中"
 
-#: fortran/decl.c:586
+#: fortran/decl.c:587
 #, no-c-format
 msgid "Bad INTENT specification at %C"
-msgstr "%C处错误地指定 INTENT"
+msgstr "%C处错误的 INTENT 规格"
 
-#: fortran/decl.c:633
+#: fortran/decl.c:634
 #, no-c-format
 msgid "Conflict in attributes of function argument at %C"
-msgstr ""
+msgstr "%C处函数参数属性中有冲突"
 
-#: fortran/decl.c:686
+#: fortran/decl.c:658
+#, no-c-format
+msgid "Obsolescent feature: Old-style character length at %C"
+msgstr "已过时:%C处的旧式字符长度"
+
+#: fortran/decl.c:690
 #, no-c-format
 msgid "Syntax error in character length specification at %C"
-msgstr "%C处指定字符长度时语法错误"
+msgstr "%C处字符长度规格语法错误"
 
-#: fortran/decl.c:805
+#: fortran/decl.c:813
 #, no-c-format
 msgid "Procedure '%s' at %C is already defined at %L"
 msgstr "%2$C处的过程‘%1$s’已经在%3$L处被定义"
 
-#: fortran/decl.c:813
-#, fuzzy, no-c-format
+#: fortran/decl.c:821
+#, no-c-format
 msgid "Name '%s' at %C is already defined as a generic interface at %L"
-msgstr "进程‘%s’在%C处已经在%L处被定义"
+msgstr "%2$C处的名字‘%1$s’已经在%3$L处被定义为泛型接口"
 
-#: fortran/decl.c:826
-#, fuzzy, no-c-format
+#: fortran/decl.c:834
+#, no-c-format
 msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
-msgstr "è°\83ç\94¨è¿\87ç¨\8bâ\80\98%sâ\80\99带é\9a\90å¼\8fæ\8e¥å\8f£ï¼\8cä½\8däº\8e %L"
+msgstr "è¿\87ç¨\8bâ\80\98%sâ\80\99å\9c¨%Cå¤\84å\85·æ\9c\89æ\98¾å¼\8fæ\8e¥å\8f£ï¼\8cå\9b æ­¤ä¸\8dè\83½æ\9c\89å\9c¨%Lå¤\84声æ\98\8eç\9a\84å±\9eæ\80§"
 
-#: fortran/decl.c:898
-#, fuzzy, no-c-format
+#: fortran/decl.c:906
+#, no-c-format
 msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
-msgstr "%L 指定了重复的 SAVE 属性"
+msgstr "%2$L处的过程‘%1$s’必须有属性才能与 C 互操作"
 
-#: fortran/decl.c:928
+#: fortran/decl.c:936
 #, no-c-format
 msgid "Type '%s' at %L is a parameter to the BIND(C)  procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
-msgstr ""
+msgstr "%2$L处类型‘%1$s’是 BIND(C) 过程‘%3$s’的参数,但它不能与 C 互操作,因为派生类型‘%4$s’不能与 C 互操作"
 
-#: fortran/decl.c:935
+#: fortran/decl.c:943
 #, no-c-format
 msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
-msgstr ""
+msgstr "%2$L处变量‘%1$s’是 BIND(C) 过程‘%3$s’的参数,但它不能与 C 互操作"
 
-#: fortran/decl.c:950
-#, fuzzy, no-c-format
+#: fortran/decl.c:958
+#, no-c-format
 msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
-msgstr "关键字实参‘%s’在%L处不在进程里"
+msgstr "%2$L处字符参数‘%1$s’长度必须为 1,因为过程‘%3$s’是 BIND(C)"
 
-#: fortran/decl.c:964
+#: fortran/decl.c:972
 #, no-c-format
 msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
-msgstr ""
+msgstr "%2$L处变量‘%1$s’不能有 ALLOCATABLE 属性,因为过程‘%3$s’是 BIND(C)"
 
-#: fortran/decl.c:973
+#: fortran/decl.c:981
 #, no-c-format
 msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
-msgstr ""
+msgstr "%2$L处变量‘%1$s’不能有 POINTER 属性,因为过程‘%3$s’是 BIND(C)"
 
-#: fortran/decl.c:982
+#: fortran/decl.c:990
 #, no-c-format
 msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
-msgstr ""
+msgstr "%2$L处变量‘%1$s’不能有 OPTIONAL 属性,因为过程‘%3$s’是 BIND(C)"
 
-#: fortran/decl.c:995
+#: fortran/decl.c:1003
 #, no-c-format
 msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
-msgstr ""
+msgstr "%2$L处假定外形数组‘%1$s’不能是%4$L处过程‘%3$s’的参数,因为该过程是 BIND(C)"
 
-#: fortran/decl.c:1005
+#: fortran/decl.c:1013
 #, no-c-format
 msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
-msgstr ""
+msgstr "%2$L处延迟外形数组‘%1$s’不能是%4$L处过程‘%3$s’的参数,因为该过程是 BIND(C)"
 
-#: fortran/decl.c:1081
+#: fortran/decl.c:1090
 #, no-c-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)"
-msgstr ""
+msgstr "%3$C处公共块‘%2$s’中的变量‘%1$s’必须被声明为与 C 可互操作的种别,因为公共块‘%4$s’是 BIND(C)"
 
-#: fortran/decl.c:1120
+#: fortran/decl.c:1137
 #, no-c-format
 msgid "CHARACTER expression at %L is being truncated (%d/%d)"
 msgstr "CHARACTER 表达式在%L处被截断(%d/%d)"
 
-#: fortran/decl.c:1127
+#: fortran/decl.c:1144
 #, no-c-format
 msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
-msgstr ""
+msgstr "%L处的数组构造函数的 CHARACTER 元素必须有相同的长度(%d/%d)"
 
-#: fortran/decl.c:1217
+#: fortran/decl.c:1234
 #, no-c-format
 msgid "Initializer not allowed for PARAMETER '%s' at %C"
 msgstr "PARAMETER‘%s’在%C处不允许有初始值设定"
 
-#: fortran/decl.c:1227
+#: fortran/decl.c:1244
 #, no-c-format
 msgid "PARAMETER at %L is missing an initializer"
 msgstr "%L处 PARAMETER 缺少初始值设定"
 
-#: fortran/decl.c:1237
+#: fortran/decl.c:1254
 #, no-c-format
 msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
-msgstr ""
+msgstr "%2$C处有初始值设定的变量‘%1$s’已经出现在一个 DATA 语句中"
 
-#: fortran/decl.c:1387
+#: fortran/decl.c:1406
 #, no-c-format
 msgid "Component at %C must have the POINTER attribute"
 msgstr "%C处的组件必须有 POINTER 属性"
 
-#: fortran/decl.c:1395
+#: fortran/decl.c:1414
 #, no-c-format
 msgid "Array component of structure at %C must have explicit or deferred shape"
-msgstr ""
-
-#: fortran/decl.c:1468
-#, no-c-format
-msgid "Allocatable component at %C must be an array"
-msgstr "%C处可分配的组件必须是一个数组"
+msgstr "%C处结构的数组组件必须有显式或延迟的外形"
 
-#: fortran/decl.c:1479
+#: fortran/decl.c:1489
 #, no-c-format
 msgid "Pointer array component of structure at %C must have a deferred shape"
-msgstr ""
+msgstr "%C处结构的指针数组组件必须有延迟的外形"
 
-#: fortran/decl.c:1488
+#: fortran/decl.c:1498
 #, no-c-format
 msgid "Allocatable component of structure at %C must have a deferred shape"
 msgstr "%C处可分配的组件必须有延迟的外形"
 
-#: fortran/decl.c:1497
+#: fortran/decl.c:1507
 #, no-c-format
 msgid "Array component of structure at %C must have an explicit shape"
-msgstr ""
+msgstr "%C处结构的数组组件必须有显式的外形"
 
-#: fortran/decl.c:1523
+#: fortran/decl.c:1537
 #, no-c-format
 msgid "NULL() initialization at %C is ambiguous"
 msgstr "%C处的 NULL() 初始化有歧义"
 
-#: fortran/decl.c:1646 fortran/decl.c:5534
-#, fuzzy, no-c-format
+#: fortran/decl.c:1654 fortran/decl.c:5833
+#, no-c-format
 msgid "Duplicate array spec for Cray pointee at %C"
-msgstr "%C处重复的格式指定"
+msgstr "%C处 Cray 指针重复指定了数组"
 
-#: fortran/decl.c:1706
-#, fuzzy, no-c-format
+#: fortran/decl.c:1725
+#, no-c-format
 msgid "the type of '%s' at %C has not been declared within the interface"
-msgstr "%qD不能在命名空间声明"
+msgstr "%2$C 处的‘%1$s’类型在接口中尚未被声明"
 
-#: fortran/decl.c:1722
+#: fortran/decl.c:1741
 #, no-c-format
 msgid "Function name '%s' not allowed at %C"
 msgstr "函数名‘%s’不允许出现在%C处"
 
-#: fortran/decl.c:1738
+#: fortran/decl.c:1757
 #, no-c-format
 msgid "Extension: Old-style initialization at %C"
 msgstr "扩展:%C处旧式的初始化"
 
-#: fortran/decl.c:1753 fortran/decl.c:4237
+#: fortran/decl.c:1772 fortran/decl.c:4362
 #, no-c-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr "%C处的初始化不是为指针变量准备的"
 
-#: fortran/decl.c:1761 fortran/decl.c:4245
+#: fortran/decl.c:1780 fortran/decl.c:4370 fortran/decl.c:4510
 #, no-c-format
 msgid "Pointer initialization requires a NULL() at %C"
 msgstr "%C处的指针初始化需要 NULL()"
 
-#: fortran/decl.c:1767 fortran/decl.c:4251
+#: fortran/decl.c:1786 fortran/decl.c:4376 fortran/decl.c:4515
 #, no-c-format
 msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
 msgstr "%C处对指针的初始化不允许出现在 PURE 过程中"
 
-#: fortran/decl.c:1780
+#: fortran/decl.c:1799
 #, no-c-format
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr "在%C处的指针初始化需要‘=>’,而不是‘=’"
 
-#: fortran/decl.c:1789 fortran/decl.c:6620
+#: fortran/decl.c:1808 fortran/decl.c:7024
 #, no-c-format
 msgid "Expected an initialization expression at %C"
 msgstr "%C处需要一个初始化表达式"
 
-#: fortran/decl.c:1795
+#: fortran/decl.c:1814
 #, no-c-format
 msgid "Initialization of variable at %C is not allowed in a PURE procedure"
 msgstr "%C处对变量的初始化不允许出现在 PURE 过程中"
 
-#: fortran/decl.c:1808
-#, fuzzy, no-c-format
+#: fortran/decl.c:1827
+#, no-c-format
 msgid "Initialization of allocatable component at %C is not allowed"
-msgstr "初始化不允许出现在%C处的 PURE 过程中"
+msgstr "不允许在%C处初始化可分配的组件"
 
-#: fortran/decl.c:1862 fortran/decl.c:1871
+#: fortran/decl.c:1881 fortran/decl.c:1890
 #, no-c-format
 msgid "Old-style type declaration %s*%d not supported at %C"
 msgstr "%3$C处旧式的类型声明 %1$s*%2$d 不受支持"
 
-#: fortran/decl.c:1876
+#: fortran/decl.c:1895
 #, no-c-format
 msgid "Nonstandard type declaration %s*%d at %C"
 msgstr "%3$C处的 %1$s*%2$d 类型声明不符合标准"
 
-#: fortran/decl.c:1927 fortran/decl.c:1992
+#: fortran/decl.c:1946 fortran/decl.c:2022
 #, no-c-format
 msgid "Missing right parenthesis at %C"
 msgstr "%C处缺少右括号"
 
-#: fortran/decl.c:1940 fortran/decl.c:2037
+#: fortran/decl.c:1959 fortran/decl.c:2067
 #, no-c-format
 msgid "Expected initialization expression at %C"
 msgstr "%C处需要初始化表达式"
 
-#: fortran/decl.c:1948 fortran/decl.c:2043
+#: fortran/decl.c:1967 fortran/decl.c:2073
 #, no-c-format
 msgid "Expected scalar initialization expression at %C"
 msgstr "%C处需要标量初始化表达式"
 
-#: fortran/decl.c:1979
+#: fortran/decl.c:1998
 #, no-c-format
 msgid "Kind %d not supported for type %s at %C"
 msgstr "种别 %d 在%C处不为类型 %s 所支持"
 
-#: fortran/decl.c:1990
+#: fortran/decl.c:2011
+#, no-c-format
+msgid "C kind type parameter is for type %s but type at %L is %s"
+msgstr "C 种别类型参数对应类型 %s 但%L处的类型却是 %s"
+
+#: fortran/decl.c:2020
 #, no-c-format
 msgid "Missing right parenthesis or comma at %C"
 msgstr "%C处缺少右括号或逗号"
 
-#: fortran/decl.c:2063
+#: fortran/decl.c:2093
 #, no-c-format
 msgid "Kind %d is not supported for CHARACTER at %C"
 msgstr "种别 %d 在%C处不为 CHARACTER 所支持"
 
-#: fortran/decl.c:2192
+#: fortran/decl.c:2223
 #, no-c-format
 msgid "Syntax error in CHARACTER declaration at %C"
 msgstr "%C处 CHARACTER 声明语法错误"
 
-#: fortran/decl.c:2277
+#: fortran/decl.c:2306
 #, no-c-format
 msgid "Extension: BYTE type at %C"
 msgstr "扩展:%C处的 BYTE 类型"
 
-#: fortran/decl.c:2283
+#: fortran/decl.c:2312
 #, no-c-format
 msgid "BYTE type used at %C is not available on the target machine"
 msgstr "%C处使用到的 BYTE 类型在目标机上不可用"
 
-#: fortran/decl.c:2332
+#: fortran/decl.c:2361
 #, no-c-format
 msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
 msgstr "%C处的 DOUBLE COMPLEX 不遵循 Fortran 95 标准"
 
-#: fortran/decl.c:2372 fortran/decl.c:2381 fortran/decl.c:2696
-#: fortran/decl.c:2704
+#: fortran/decl.c:2387
+#, no-c-format
+msgid "Fortran 2003: CLASS statement at %C"
+msgstr "Fortran 2003:%C处的 CLASS 语句"
+
+#: fortran/decl.c:2410 fortran/decl.c:2419 fortran/decl.c:2732
+#: fortran/decl.c:2740
 #, no-c-format
 msgid "Type name '%s' at %C is ambiguous"
 msgstr "%2$C处的类型名‘%1$s’有歧义"
 
-#: fortran/decl.c:2457
+#: fortran/decl.c:2495
 #, no-c-format
 msgid "Missing character range in IMPLICIT at %C"
 msgstr "%C处 IMPLICIT 缺少字符范围"
 
-#: fortran/decl.c:2503
+#: fortran/decl.c:2541
 #, no-c-format
 msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
 msgstr "%C处 IMPLICIT 语句中的字母必须按序排列"
 
-#: fortran/decl.c:2559
+#: fortran/decl.c:2597
 #, no-c-format
 msgid "Empty IMPLICIT statement at %C"
 msgstr "%C处 IMPLICIT 语句为空"
 
-#: fortran/decl.c:2662
+#: fortran/decl.c:2698
 #, no-c-format
 msgid "IMPORT statement at %C only permitted in an INTERFACE body"
 msgstr "%C处 IMPORT 语句只允许出现在接口体中"
 
-#: fortran/decl.c:2667
+#: fortran/decl.c:2703
 #, no-c-format
 msgid "Fortran 2003: IMPORT statement at %C"
 msgstr "Fortran 2003:%C处的 IMPORT 语句"
 
-#: fortran/decl.c:2682
-#, fuzzy, no-c-format
+#: fortran/decl.c:2718
+#, no-c-format
 msgid "Expecting list of named entities at %C"
-msgstr "需要 %s 语句,于 %C"
+msgstr "%C处需要有名实体列表"
 
-#: fortran/decl.c:2710
+#: fortran/decl.c:2746
 #, no-c-format
 msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
-msgstr ""
+msgstr "不能从%2$C处主机作用域单元 IMPORT‘%1$s’- 不存在。"
 
-#: fortran/decl.c:2717
+#: fortran/decl.c:2753
 #, no-c-format
 msgid "'%s' is already IMPORTed from host scoping unit at %C."
-msgstr ""
+msgstr "‘%s’已经从%C处主机作用域单元导入。"
 
-#: fortran/decl.c:2746
+#: fortran/decl.c:2782
 #, no-c-format
 msgid "Syntax error in IMPORT statement at %C"
 msgstr "%C处的 IMPORT 语句语法错误"
 
-#: fortran/decl.c:2995
+#: fortran/decl.c:3031
 #, no-c-format
 msgid "Missing dimension specification at %C"
-msgstr "%C处没有指定维数"
+msgstr "%C处没有维数规格"
 
-#: fortran/decl.c:3069
+#: fortran/decl.c:3105
 #, no-c-format
 msgid "Duplicate %s attribute at %L"
 msgstr "重复的 %s 属性,位于 %L"
 
-#: fortran/decl.c:3088
+#: fortran/decl.c:3124
 #, no-c-format
 msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
 msgstr "Fortran 2003:%C处的 ALLOCATABLE 属性出现在 TYPE 定义中"
 
-#: fortran/decl.c:3098
+#: fortran/decl.c:3134
 #, no-c-format
 msgid "Attribute at %L is not allowed in a TYPE definition"
 msgstr "%L处的属性不允许出现在 TYPE 定义中"
 
-#: fortran/decl.c:3116
+#: fortran/decl.c:3152
 #, no-c-format
 msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
 msgstr "Fortran 2003:属性 %s 在%L处出现在 TYPE 定义中"
 
-#: fortran/decl.c:3127
-#, fuzzy, no-c-format
+#: fortran/decl.c:3163
+#, no-c-format
 msgid "%s attribute at %L is not allowed outside of the specification part of a module"
-msgstr "%s 属性(位于 %L)不允许出现在 MODULE 以外"
+msgstr "%2$L处的 %1$s 属性不允许出现在模块规格说明以外"
 
-#: fortran/decl.c:3179 fortran/decl.c:5774
+#: fortran/decl.c:3215 fortran/decl.c:6086
 #, no-c-format
 msgid "PROTECTED at %C only allowed in specification part of a module"
-msgstr ""
+msgstr "%C处的 PROTECTED 仅允许出现在模块规格说明部分内"
 
-#: fortran/decl.c:3185
+#: fortran/decl.c:3221
 #, no-c-format
 msgid "Fortran 2003: PROTECTED attribute at %C"
 msgstr "Fortran 2003:%C处的 PROTECT 属性"
 
-#: fortran/decl.c:3216
+#: fortran/decl.c:3252
 #, no-c-format
 msgid "Fortran 2003: VALUE attribute at %C"
 msgstr "Fortran 2003:%C处的 VALUE 属性"
 
-#: fortran/decl.c:3226
+#: fortran/decl.c:3262
 #, no-c-format
 msgid "Fortran 2003: VOLATILE attribute at %C"
 msgstr "Fortran 2003:%C处的 VOLATILE 属性"
 
-#: fortran/decl.c:3266
+#: fortran/decl.c:3302
 #, no-c-format
 msgid "Multiple identifiers provided with single NAME= specifier at %C"
-msgstr ""
+msgstr "%C处为单个 NAME= 指定了多个标识符"
 
-#. Print an error, but continue parsing line.
-#: fortran/decl.c:3315
+#: fortran/decl.c:3398
 #, no-c-format
-msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
-msgstr ""
-
-#: fortran/decl.c:3383
-#, fuzzy, no-c-format
 msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
-msgstr "指定函数‘%s’(位于 %L)不能是一个内部函数"
+msgstr "%2$L处隐式声明的 BIND(C) 函数‘%1$s’不能与 C 互操作"
 
-#: fortran/decl.c:3405
+#: fortran/decl.c:3419
 #, no-c-format
 msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
-msgstr ""
+msgstr "%3$L处的公共块‘%2$s’中的变量‘%1$s’可能不是 C 互操作种别,即使公共块‘%4$s’是 BIND(C)"
 
-#: fortran/decl.c:3414
+#: fortran/decl.c:3428
 #, no-c-format
 msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
-msgstr ""
+msgstr "%2$L处的类型声明‘%1$s’不是与 C 可互操作的,但它是个 BIND(C)"
 
-#: fortran/decl.c:3418
+#: fortran/decl.c:3432
 #, no-c-format
 msgid "Variable '%s' 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:3430
+#: fortran/decl.c:3444
 #, no-c-format
 msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
-msgstr ""
+msgstr "%3$L处的公共块‘%2$s’中的变量‘%1$s’不能被声明为 BIND(C),因为它不是全局的"
 
-#: fortran/decl.c:3444
-#, fuzzy, no-c-format
+#: fortran/decl.c:3458
+#, no-c-format
 msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
-msgstr "%L 指定了重复的 SAVE 属性"
+msgstr "%2$L处变量‘%1$s’不能既有 POINTER 又有 BIND(C) 属性"
 
-#: fortran/decl.c:3452
-#, fuzzy, no-c-format
+#: fortran/decl.c:3466
+#, no-c-format
 msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
-msgstr "%L 指定了重复的 SAVE 属性"
+msgstr "%2$L处变量‘%1$s’不能既有 ALLOCATABLE 又有 BIND(C) 属性"
 
-#: fortran/decl.c:3464
+#: fortran/decl.c:3478
 #, no-c-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
 msgstr "%2$L处的BIND(C) 函数‘%1$s’不能返回一个数组"
 
-#: fortran/decl.c:3472
+#: fortran/decl.c:3486
 #, no-c-format
 msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
 msgstr "%2$L处的BIND(C) 函数‘%1$s’不能返回一个字符串"
 
 #. Use gfc_warning_now because we won't say that the symbol fails
 #. just because of this.
-#: fortran/decl.c:3483
+#: fortran/decl.c:3497
 #, no-c-format
 msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
-msgstr ""
+msgstr "%2$L处符号‘%1$s’被标记为 PRIVATE 但是已经给定绑定标号‘%3$s’"
 
-#: fortran/decl.c:3558
+#: fortran/decl.c:3572
 #, no-c-format
 msgid "Need either entity or common block name for attribute specification statement at %C"
-msgstr ""
+msgstr "%C处的属性规格说明语句需要实体或公共块名"
 
-#: fortran/decl.c:3605
-#, fuzzy, no-c-format
+#: fortran/decl.c:3619
+#, no-c-format
 msgid "Missing entity or common block name for attribute specification statement at %C"
-msgstr "扩展:DATA 语句中对公共块变量‘%s’在%C处初始化"
+msgstr "%C处的属性规格说明语句缺少实体或公共块名"
 
 #. Now we have an error, which we signal, and then fix up
 #. because the knock-on is plain and simple confusing.
-#: fortran/decl.c:3712
-#, fuzzy, no-c-format
+#: fortran/decl.c:3728
+#, no-c-format
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
-msgstr "%C处的派生类型尚未被定义,因此不能出现在派生类型定义中"
+msgstr "%C处的派生类型以前尚未被定义,因此不能出现在派生类型定义中"
 
-#: fortran/decl.c:3744
+#: fortran/decl.c:3760
 #, no-c-format
 msgid "Syntax error in data declaration at %C"
 msgstr "%C处数据声明语法错误"
 
-#: fortran/decl.c:3901
+#: fortran/decl.c:3917
 #, no-c-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr "%2$C处的名字‘%1$s’是一个过程的名字"
 
-#: fortran/decl.c:3913
+#: fortran/decl.c:3929
 #, no-c-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr "%C处形参列表中有非预期的垃圾字符"
 
-#: fortran/decl.c:3930
+#: fortran/decl.c:3946
 #, no-c-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr "符号‘%s’在%C处的形参列表中重复出现"
 
-#: fortran/decl.c:3981
+#: fortran/decl.c:3997
 #, no-c-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr "%C处 RESULT 变量不能与函数重名"
 
-#: fortran/decl.c:4059
+#: fortran/decl.c:4074
 #, no-c-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "%C处的函数声明后有非预期的垃圾字符"
 
-#: fortran/decl.c:4069 fortran/decl.c:4869
-#, fuzzy, no-c-format
+#: fortran/decl.c:4084 fortran/decl.c:5129
+#, no-c-format
 msgid "Fortran 2008: BIND(C) attribute at %L may not be specified for an internal procedure"
-msgstr "扩展:不能在%L处为内部过程指定 BIND(C) 属性"
+msgstr "Fortran 2008:%L处的 BIND(C)属性对于内部过程不可以指定"
 
-#: fortran/decl.c:4137
-#, fuzzy, no-c-format
+#: fortran/decl.c:4228
+#, no-c-format
 msgid "Interface '%s' at %C may not be generic"
-msgstr "%L处游标步进不能为零"
+msgstr "%$2C处的接口‘%$1s’不能是泛型"
 
-#: fortran/decl.c:4142
-#, fuzzy, no-c-format
+#: fortran/decl.c:4234
+#, no-c-format
 msgid "Interface '%s' at %C may not be a statement function"
-msgstr "指定函数‘%s’(位于 %L)不能是一个语句函数"
+msgstr "%$2C 处的接口‘%$1s’不能是个语句函数"
 
-#: fortran/decl.c:4155
-#, fuzzy, no-c-format
+#: fortran/decl.c:4247
+#, no-c-format
 msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
-msgstr "内部过程‘%s’在%L处不允许用作实参"
+msgstr "内建过程‘%s’不允许在 %C 的 PROCEDURE 语句中"
 
-#: fortran/decl.c:4191
+#: fortran/decl.c:4302
 #, no-c-format
 msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
-msgstr ""
+msgstr "%C处的 BIND(C) 属性要求一个具有 BIND(C)的接口"
 
-#: fortran/decl.c:4198
+#: fortran/decl.c:4309
 #, no-c-format
 msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
-msgstr ""
+msgstr "%C处带有 NAME 的 BIND(C)过程不能有 POINTER 属性"
 
-#: fortran/decl.c:4204
-#, fuzzy, no-c-format
+#: fortran/decl.c:4315
+#, no-c-format
 msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
-msgstr "哑元‘%s’在%L处不能有初始值设定"
+msgstr "%C处的哑过程不能有带有 NAME 的 BIND(C) 属性"
+
+#: fortran/decl.c:4338
+#, no-c-format
+msgid "Procedure '%s' at %L already has basic type of %s"
+msgstr "符号‘%s’在%L处已经有了基本类型 %s"
 
-#: fortran/decl.c:4274 fortran/decl.c:4322
+#: fortran/decl.c:4399 fortran/decl.c:4577
 #, no-c-format
 msgid "Syntax error in PROCEDURE statement at %C"
 msgstr "%C处 PROCEDURE 语句语法错误"
 
-#: fortran/decl.c:4296
+#: fortran/decl.c:4448 fortran/decl.c:7406
 #, no-c-format
-msgid "PROCEDURE at %C must be in a generic interface"
-msgstr ""
+msgid "Expected '::' after binding-attributes at %C"
+msgstr "%C处绑定属性后需要‘::’"
 
-#: fortran/decl.c:4349
+#: fortran/decl.c:4455
 #, no-c-format
-msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
-msgstr ""
+msgid "NOPASS or explicit interface required at %C"
+msgstr "%C处需要 NOPASS 或显式接口"
+
+#: fortran/decl.c:4459
+#, no-c-format
+msgid "Fortran 2003: Procedure pointer component at %C"
+msgstr "Fortran 2003:%C处的过程指针组件"
+
+#: fortran/decl.c:4534
+#, no-c-format
+msgid "Syntax error in procedure pointer component at %C"
+msgstr "%C处过程指针组件语法错误"
+
+#: fortran/decl.c:4551
+#, no-c-format
+msgid "PROCEDURE at %C must be in a generic interface"
+msgstr "%C处的 PROCEDURE 必须在一个泛型接口内"
 
-#: fortran/decl.c:4362
+#: fortran/decl.c:4616
 #, no-c-format
 msgid "Fortran 2003: PROCEDURE statement at %C"
 msgstr "Fortran 2003:%C处的 PROCEDURE 语句"
 
-#: fortran/decl.c:4426
+#: fortran/decl.c:4684
 #, no-c-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr "函数定义在%C处需要形参列表"
 
-#: fortran/decl.c:4450 fortran/decl.c:4454 fortran/decl.c:4655
-#: fortran/decl.c:4659 fortran/decl.c:4837 fortran/decl.c:4841
-#: fortran/symbol.c:1467
+#: fortran/decl.c:4708 fortran/decl.c:4712 fortran/decl.c:4911
+#: fortran/decl.c:4915 fortran/decl.c:5097 fortran/decl.c:5101
+#: fortran/symbol.c:1490
 #, no-c-format
 msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
-msgstr ""
-
-#: fortran/decl.c:4486
-#, no-c-format
-msgid "Function '%s' at %C already has a type of %s"
-msgstr "%2$C处的函数‘%1$s’已经具有类型 %3$s"
+msgstr "%L处的 BIND(C) 属性只能用于变量或公共块"
 
-#: fortran/decl.c:4577
+#: fortran/decl.c:4833
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr "%C处的 ENTRY 语句不能出现在 PROGRAM 中"
 
-#: fortran/decl.c:4580
+#: fortran/decl.c:4836
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr "%C处的 ENTRY 语句不能出现在 MODULE 中"
 
-#: fortran/decl.c:4583
+#: fortran/decl.c:4839
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr "%C处的 ENTRY 语句不能出现在 BLOCK DATA 中"
 
-#: fortran/decl.c:4587
+#: fortran/decl.c:4843
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr "%C处的 ENTRY 语句不能出现在 INTERFACE 中"
 
-#: fortran/decl.c:4591
+#: fortran/decl.c:4847
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr "%C处的 ENTRY 语句不能出现在 DERIVED TYPE 块中"
 
-#: fortran/decl.c:4595
+#: fortran/decl.c:4851
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr "%C处的 ENTRY 语句不能出现在 IF-THEN 块中"
 
-#: fortran/decl.c:4599
+#: fortran/decl.c:4855
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
-msgstr "%C处的 ENTRY 语句不能出现在 DO 中"
+msgstr "%C处的 ENTRY 语句不能出现在 DO 中"
 
-#: fortran/decl.c:4603
+#: fortran/decl.c:4859
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr "%C处的 ENTRY 语句不能出现在 SELECT 块中"
 
-#: fortran/decl.c:4607
+#: fortran/decl.c:4863
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr "%C处的 ENTRY 语句不能出现在 FORALL 块中"
 
-#: fortran/decl.c:4611
+#: fortran/decl.c:4867
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr "%C处的 ENTRY 语句不能出现在 WHERE 块中"
 
-#: fortran/decl.c:4615
+#: fortran/decl.c:4871
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr "%C处的 ENTRY 语句不能出现在嵌套的子程序中"
 
-#: fortran/decl.c:4633
+#: fortran/decl.c:4889
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr "%C处 ENTRY 语句不能出现在被包含的过程中"
 
-#: fortran/decl.c:4687 fortran/decl.c:4877
+#: fortran/decl.c:4943 fortran/decl.c:5137
 #, no-c-format
 msgid "Missing required parentheses before BIND(C) at %C"
-msgstr ""
+msgstr "%C 处 BIND(C) 前缺少要求的括号"
 
-#: fortran/decl.c:4939 fortran/decl.c:4955
-#, fuzzy, no-c-format
+#: fortran/decl.c:5199 fortran/decl.c:5215
+#, no-c-format
 msgid "Syntax error in NAME= specifier for binding label at %C"
-msgstr "%C CASE 指定语法错误"
+msgstr "%C绑定标号的 NAME= 限定符语法错误"
 
-#: fortran/decl.c:4970
+#: fortran/decl.c:5230
 #, no-c-format
 msgid "Missing closing quote '\"' for binding label at %C"
 msgstr "%C处绑定标号缺少右引号‘\"’"
 
-#: fortran/decl.c:4979
+#: fortran/decl.c:5239
 #, no-c-format
 msgid "Missing closing quote ''' for binding label at %C"
 msgstr "%C处绑定标号缺少右引号‘'’"
 
-#: fortran/decl.c:4989
+#: fortran/decl.c:5249
 #, no-c-format
 msgid "Missing closing paren for binding label at %C"
 msgstr "%C处绑定标号缺少右括号"
 
-#: fortran/decl.c:4995
-#, fuzzy, no-c-format
+#: fortran/decl.c:5255
+#, no-c-format
 msgid "No binding name is allowed in BIND(C) at %C"
-msgstr "函数名‘%s’不允许出现在%C处"
+msgstr "%C处的 BIND(C) 中不允许有绑定名"
 
-#: fortran/decl.c:5001
+#: fortran/decl.c:5261
 #, no-c-format
 msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
-msgstr ""
+msgstr "对于哑过程 %s,%C 处的 BIND(C) 中不允许有绑定名"
 
-#: fortran/decl.c:5032
+#: fortran/decl.c:5292
 #, no-c-format
 msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
-msgstr ""
+msgstr "%C 处的 ABSTRACT INTERFACE 的 BIND(C)上不允许有 NAME"
 
-#: fortran/decl.c:5205
+#: fortran/decl.c:5475
 #, no-c-format
 msgid "Unexpected END statement at %C"
 msgstr "%C处非预期的 END 语句"
 
 #. We would have required END [something].
-#: fortran/decl.c:5214
+#: fortran/decl.c:5484
 #, no-c-format
 msgid "%s statement expected at %L"
 msgstr "需要 %s 语句在%L处"
 
-#: fortran/decl.c:5225
+#: fortran/decl.c:5495
 #, no-c-format
 msgid "Expecting %s statement at %C"
 msgstr "需要 %s 语句,于 %C"
 
-#: fortran/decl.c:5240
+#: fortran/decl.c:5510
 #, no-c-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr "需要块名‘%s’在‘%s’表达式中,于 %C"
 
-#: fortran/decl.c:5257
+#: fortran/decl.c:5527
 #, no-c-format
 msgid "Expected terminating name at %C"
 msgstr "%C处需要结束名"
 
-#: fortran/decl.c:5266
+#: fortran/decl.c:5536 fortran/decl.c:5544
 #, no-c-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr "需要标号‘%s’,为 %s 语句,于 %C"
 
-#: fortran/decl.c:5320
+#: fortran/decl.c:5599
 #, no-c-format
 msgid "Missing array specification at %L in DIMENSION statement"
-msgstr ""
+msgstr "%L处的 DIMENSION 语句缺少数组规格"
 
-#: fortran/decl.c:5328
+#: fortran/decl.c:5607
 #, no-c-format
 msgid "Dimensions specified for %s at %L after its initialisation"
-msgstr ""
+msgstr "%2$L处在初始化后为 %1$s 指定了维数"
 
-#: fortran/decl.c:5337
+#: fortran/decl.c:5616
 #, no-c-format
 msgid "Array specification must be deferred at %L"
-msgstr "%L处数组指定必须延迟"
+msgstr "%L处数组规格必须延迟"
 
-#: fortran/decl.c:5414
+#: fortran/decl.c:5713
 #, no-c-format
 msgid "Unexpected character in variable list at %C"
 msgstr "%C处变量列表中有非预期的垃圾字符"
 
-#: fortran/decl.c:5451
+#: fortran/decl.c:5750
 #, no-c-format
 msgid "Expected '(' at %C"
 msgstr "在%C处需要‘(’"
 
-#: fortran/decl.c:5465 fortran/decl.c:5505
+#: fortran/decl.c:5764 fortran/decl.c:5804
 #, no-c-format
 msgid "Expected variable name at %C"
 msgstr "在%C处需要变量名"
 
-#: fortran/decl.c:5481
+#: fortran/decl.c:5780
 #, no-c-format
 msgid "Cray pointer at %C must be an integer"
 msgstr "%C处 Cray 指针必须是一个整数"
 
-#: fortran/decl.c:5485
+#: fortran/decl.c:5784
 #, no-c-format
 msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
 msgstr "%C处的 Cray 指针精度为 %d;内存地址需要 %d 字节"
 
-#: fortran/decl.c:5491
+#: fortran/decl.c:5790
 #, no-c-format
 msgid "Expected \",\" at %C"
 msgstr "在%C处需要“,”"
 
-#: fortran/decl.c:5554
+#: fortran/decl.c:5853
 #, no-c-format
 msgid "Expected \")\" at %C"
 msgstr "在%C处需要“)”"
 
-#: fortran/decl.c:5566
+#: fortran/decl.c:5865
 #, no-c-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr "在%C处需要“,”或语句尾"
 
-#: fortran/decl.c:5630
+#: fortran/decl.c:5891
+#, no-c-format
+msgid "INTENT is not allowed inside of BLOCK at %C"
+msgstr "INTENT 不能用在%C处 BLOCK 内"
+
+#: fortran/decl.c:5923
+#, no-c-format
+msgid "OPTIONAL is not allowed inside of BLOCK at %C"
+msgstr "OPTIONAL 不能用在%C处 BLOCK 内"
+
+#: fortran/decl.c:5942
 #, no-c-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
 msgstr "%C处的 Cray 指针声明需要 -fcray-pointer 标记"
 
-#: fortran/decl.c:5725
+#: fortran/decl.c:6037
 #, no-c-format
 msgid "Access specification of the %s operator at %C has already been specified"
-msgstr ""
+msgstr "%2$C处的 %1$s 运算符的访问规格说明已经被指定"
 
-#: fortran/decl.c:5742
+#: fortran/decl.c:6054
 #, no-c-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
-msgstr ""
+msgstr "%2$C处的 .%1$s. 运算符的访问规格说明已经被指定"
 
-#: fortran/decl.c:5780
+#: fortran/decl.c:6092
 #, no-c-format
 msgid "Fortran 2003: PROTECTED statement at %C"
 msgstr "Fortran 2003:%C处的 PROTECTED 语句"
 
-#: fortran/decl.c:5820
+#: fortran/decl.c:6132
 #, no-c-format
 msgid "Syntax error in PROTECTED statement at %C"
 msgstr "%C处 PROTECTED 语句语法错误"
 
-#: fortran/decl.c:5844
-#, fuzzy, no-c-format
+#: fortran/decl.c:6156
+#, no-c-format
 msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
-msgstr "DATA 语句不允许出现在%C处的 PURE 过程中"
+msgstr "%C处的 PRIVATE 语句仅允许出现在模块规格说明部分内"
 
-#: fortran/decl.c:5881
-#, fuzzy, no-c-format
+#: fortran/decl.c:6193
+#, no-c-format
 msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
-msgstr "DATA 语句不允许出现在%C处的 PURE 过程中"
+msgstr "%C处的 PUBLIC 语句只不允许出现在模块规格说明部分内"
 
-#: fortran/decl.c:5908
+#: fortran/decl.c:6221
 #, no-c-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr "%C处的 PARAMETER 语句需要变量名"
 
-#: fortran/decl.c:5915
+#: fortran/decl.c:6228
 #, no-c-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr "%C 在 PARAMETER 语句中需要 = 符号"
 
-#: fortran/decl.c:5921
+#: fortran/decl.c:6234
 #, no-c-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr "%C 在 PARAMETER 语句中需要表达式"
 
-#: fortran/decl.c:5941
+#: fortran/decl.c:6254
 #, no-c-format
 msgid "Initializing already initialized variable at %C"
 msgstr "%C处初始化已经初始化的变量"
 
-#: fortran/decl.c:6003
+#: fortran/decl.c:6289
 #, no-c-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "%C处 PARAMETER 语句中有非预期的字符"
 
-#: fortran/decl.c:6027
+#: fortran/decl.c:6313
 #, no-c-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
-msgstr ""
+msgstr "%C处覆盖 SAVE 语句跟随以前的 SAVE 语句"
 
-#: fortran/decl.c:6039
+#: fortran/decl.c:6325
 #, no-c-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr "%C处 SAVE 语句跟随空白 SAVE 语句"
 
-#: fortran/decl.c:6086
+#: fortran/decl.c:6372
 #, no-c-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr "%C SAVE 语句语法错误"
 
-#: fortran/decl.c:6097
+#: fortran/decl.c:6386
+#, no-c-format
+msgid "VALUE is not allowed inside of BLOCK at %C"
+msgstr "VALUE 不能用在%C处 BLOCK 内"
+
+#: fortran/decl.c:6390
 #, no-c-format
 msgid "Fortran 2003: VALUE statement at %C"
 msgstr "Fortran 2003:%C处的 VALUE 语句"
 
-#: fortran/decl.c:6137
+#: fortran/decl.c:6430
 #, no-c-format
 msgid "Syntax error in VALUE statement at %C"
 msgstr "%C处 VALUE 语句语法错误"
 
-#: fortran/decl.c:6148
+#: fortran/decl.c:6441
 #, no-c-format
 msgid "Fortran 2003: VOLATILE statement at %C"
 msgstr "Fortran 2003:%C处的 VOLATILE 语句"
 
-#: fortran/decl.c:6190
+#: fortran/decl.c:6483
 #, no-c-format
 msgid "Syntax error in VOLATILE statement at %C"
 msgstr "%C处的 VOLATILE 语句语法错误"
 
-#: fortran/decl.c:6213
+#: fortran/decl.c:6506
 #, no-c-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
-msgstr ""
+msgstr "%C处的 MODULE PROCEDURE 必须在一个泛型接口内"
+
+#: fortran/decl.c:6551
+#, no-c-format
+msgid "Intrinsic procedure at %L cannot be a MODULE PROCEDURE"
+msgstr "%L处内建过程不能是 MODULE PROCEDURE"
 
-#: fortran/decl.c:6295
-#, fuzzy, no-c-format
+#: fortran/decl.c:6600
+#, no-c-format
 msgid "Ambiguous symbol in TYPE definition at %C"
-msgstr "%C 在 TYPE 定义中需要 ::"
+msgstr "%C处 TYPE 定义中的歧义符号"
 
-#: fortran/decl.c:6301
-#, fuzzy, no-c-format
+#: fortran/decl.c:6606
+#, no-c-format
 msgid "No such symbol in TYPE definition at %C"
-msgstr "%C 在 TYPE 定义中需要 ::"
+msgstr "%C在 TYPE 定义中没有此符号"
 
-#: fortran/decl.c:6307
+#: fortran/decl.c:6612
 #, no-c-format
 msgid "'%s' in EXTENDS expression at %C is not a derived type"
-msgstr ""
+msgstr "%2$C处 EXTENDS 表达式中的‘%1$s’不是一个派生类型"
 
-#: fortran/decl.c:6314
-#, fuzzy, no-c-format
+#: fortran/decl.c:6619
+#, no-c-format
 msgid "'%s' cannot be extended at %C because it is BIND(C)"
-msgstr "%L 指定了重复的 SAVE 属性"
+msgstr "%2$C 处‘%1$s’不能被扩展,因为它是 BIND(C)"
 
-#: fortran/decl.c:6321
+#: fortran/decl.c:6626
 #, no-c-format
 msgid "'%s' cannot be extended at %C because it is a SEQUENCE type"
-msgstr ""
+msgstr "%2$C 处‘%1$s’不能被扩展,因为它是 SEQUENCE 类型"
 
-#: fortran/decl.c:6344
-#, fuzzy, no-c-format
+#: fortran/decl.c:6649
+#, no-c-format
 msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
-msgstr "%C处 MODULE 中的派生类型只能是 PRIVATE"
+msgstr "%C处的派生类型在模块规格说明部分内只能是 PRIVATE"
 
-#: fortran/decl.c:6356
-#, fuzzy, no-c-format
+#: fortran/decl.c:6661
+#, no-c-format
 msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
-msgstr "%C处 MODULE 中的派生类型只能是 PUBLIC"
+msgstr "%C处的派生类型在模块规格说明部分内只能是 PUBLIC"
 
-#: fortran/decl.c:6377
-#, fuzzy, no-c-format
+#: fortran/decl.c:6682
+#, no-c-format
 msgid "Fortran 2003: ABSTRACT type at %C"
-msgstr "Fortran 2003:%C处的 ABSTRACT INTERFACE"
+msgstr "Fortran 2003:%C处的 ABSTRACT 类型"
 
-#: fortran/decl.c:6441
+#: fortran/decl.c:6786
 #, no-c-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr "%C 在 TYPE 定义中需要 ::"
 
-#: fortran/decl.c:6452
+#: fortran/decl.c:6797
 #, no-c-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr "类型‘%s’(位于 %C)不能与内建类型重名"
 
-#: fortran/decl.c:6462
+#: fortran/decl.c:6807
 #, no-c-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
-msgstr ""
+msgstr "%2$C处的派生类型名“%1$s”已经有一个基本类型 %3$s"
 
-#: fortran/decl.c:6478
+#: fortran/decl.c:6823
 #, no-c-format
 msgid "Derived type definition of '%s' at %C has already been defined"
-msgstr ""
+msgstr "%2$C处的派生类型‘%1$s’定义已经被定义"
+
+#. Since the extension field is 8 bit wide, we can only have
+#. up to 255 extension levels.
+#: fortran/decl.c:6859 fortran/symbol.c:4708
+#, no-c-format
+msgid "Maximum extension level reached with type '%s' at %L"
+msgstr "%2$L处类型‘%1$s’达到了最大的扩展级别"
 
-#: fortran/decl.c:6545
+#: fortran/decl.c:6904
 #, no-c-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
-msgstr ""
+msgstr "%C处 Cray 指针不能指向假定外形数组"
 
-#: fortran/decl.c:6565
+#: fortran/decl.c:6924
 #, no-c-format
 msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
 msgstr "Fortran 2003:%C处的 ENUM 和 ENUMERATOR"
 
-#: fortran/decl.c:6637
+#: fortran/decl.c:6962
+#, no-c-format
+msgid "Enumerator exceeds the C integer type at %C"
+msgstr "%C处:枚举量超过 C 整数类型"
+
+#: fortran/decl.c:7041
 #, no-c-format
 msgid "ENUMERATOR %L not initialized with integer expression"
-msgstr ""
+msgstr "ENUMERATOR %L没有用整数表达式初始化"
 
-#: fortran/decl.c:6686
+#: fortran/decl.c:7090
 #, no-c-format
 msgid "ENUM definition statement expected before %C"
 msgstr "%C 前需要 ENUM 定义语句"
 
-#: fortran/decl.c:6719
+#: fortran/decl.c:7123
 #, no-c-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr "%C处 ENUMERATOR 定义中语法错误"
 
-#: fortran/decl.c:6765 fortran/decl.c:6780
-#, fuzzy, no-c-format
+#: fortran/decl.c:7170 fortran/decl.c:7185
+#, no-c-format
 msgid "Duplicate access-specifier at %C"
-msgstr "重复 %s 指定,于 %C"
+msgstr "%C处重复访问限定符"
 
-#: fortran/decl.c:6800
+#: fortran/decl.c:7205
 #, no-c-format
 msgid "Binding attributes already specify passing, illegal NOPASS at %C"
-msgstr ""
+msgstr "捆绑属性已经指定传递,%C处 NOPASS 非法"
 
-#: fortran/decl.c:6818
-#, fuzzy, no-c-format
-msgid "Duplicate NON_OVERRIDABLE at %C"
-msgstr "%C处重复的 PRIVATE 语句"
+#: fortran/decl.c:7225
+#, no-c-format
+msgid "Binding attributes already specify passing, illegal PASS at %C"
+msgstr "捆绑属性已经指定传递, %C处 PASS 非法"
 
-#: fortran/decl.c:6833
+#: fortran/decl.c:7252
 #, no-c-format
-msgid "DEFERRED not yet implemented at %C"
-msgstr ""
+msgid "Duplicate POINTER attribute at %C"
+msgstr "%C处 POINTER 属性重复"
 
-#: fortran/decl.c:6847
+#: fortran/decl.c:7270
 #, no-c-format
-msgid "Binding attributes already specify passing, illegal PASS at %C"
-msgstr ""
+msgid "Duplicate NON_OVERRIDABLE at %C"
+msgstr "%C处 NON_OVERRIDABLE 重复"
+
+#: fortran/decl.c:7286
+#, no-c-format
+msgid "Duplicate DEFERRED at %C"
+msgstr "%C处重复的 DEFERRED 语句"
 
-#: fortran/decl.c:6868
-#, fuzzy, no-c-format
+#: fortran/decl.c:7299
+#, no-c-format
 msgid "Expected access-specifier at %C"
-msgstr "%C 需要一个无名接口"
+msgstr "%C需要访问限定符"
 
-#: fortran/decl.c:6870
-#, fuzzy, no-c-format
+#: fortran/decl.c:7301
+#, no-c-format
 msgid "Expected binding attribute at %C"
-msgstr "%Cå¤\84é\9c\80è¦\81ç»\93æ\9d\9få\90\8d"
+msgstr "%Cå¤\84é\9c\80è¦\81ç»\91å®\9aå±\9eæ\80§"
 
-#: fortran/decl.c:6910
+#: fortran/decl.c:7309
 #, no-c-format
-msgid "PROCEDURE(interface) at %C is not yet implemented"
-msgstr ""
+msgid "NON_OVERRIDABLE and DEFERRED can't both appear at %C"
+msgstr "NON_OVERRIDABLE 和 DEFERRED 不能同时出现在%C处"
 
-#: fortran/decl.c:6932
-#, fuzzy, no-c-format
-msgid "Expected '::' after binding-attributes at %C"
-msgstr "%C处需要结束名"
+#: fortran/decl.c:7321
+#, no-c-format
+msgid "POINTER attribute is required for procedure pointer component at %C"
+msgstr "%C处的过程指针组件需要 POINTER 属性"
+
+#: fortran/decl.c:7362
+#, no-c-format
+msgid "Interface-name expected after '(' at %C"
+msgstr "%C处‘(’后需要接口名"
+
+#: fortran/decl.c:7368
+#, no-c-format
+msgid "')' expected at %C"
+msgstr "在 %C 处需要‘)’"
+
+#: fortran/decl.c:7390
+#, no-c-format
+msgid "Interface must be specified for DEFERRED binding at %C"
+msgstr "%C处必须为 DEFERRED 绑定指定接口"
+
+#: fortran/decl.c:7395
+#, no-c-format
+msgid "PROCEDURE(interface) at %C should be declared DEFERRED"
+msgstr "%C处的 PROCEDURE(接口) 需要声明为 DEFERRED"
 
-#: fortran/decl.c:6942
-#, fuzzy, no-c-format
+#: fortran/decl.c:7416
+#, no-c-format
 msgid "Expected binding name at %C"
-msgstr "%C处需要结束名"
+msgstr "%C处需要绑定名"
+
+#: fortran/decl.c:7428
+#, no-c-format
+msgid "'=> target' is invalid for DEFERRED binding at %C"
+msgstr "‘=> target’对%C处的 DEFERRED 绑定而言无效"
 
-#: fortran/decl.c:6955
+#: fortran/decl.c:7434
 #, no-c-format
 msgid "'::' needed in PROCEDURE binding with explicit target at %C"
-msgstr ""
+msgstr "%C处与显式目标捆绑的 PROCEDURE 中需要‘::’"
 
-#: fortran/decl.c:6965
-#, fuzzy, no-c-format
+#: fortran/decl.c:7444
+#, no-c-format
 msgid "Expected binding target after '=>' at %C"
-msgstr "%C处需要结束名"
+msgstr "%C处‘=>’之后需要绑定目标"
 
-#: fortran/decl.c:6977
-#, fuzzy, no-c-format
+#: fortran/decl.c:7456
+#, no-c-format
 msgid "Junk after PROCEDURE declaration at %C"
-msgstr "%C处 CHARACTER 声明语法错误"
+msgstr "%C处的 PROCEDURE 声明后有垃圾字符"
 
-#: fortran/decl.c:6995
+#: fortran/decl.c:7471
+#, no-c-format
+msgid "Type '%s' containing DEFERRED binding at %C is not ABSTRACT"
+msgstr "%2$C处包含 DEFERRED 绑定的类型‘%1$s’不能是 ABSTRACT"
+
+#: fortran/decl.c:7482
 #, no-c-format
 msgid "There's already a procedure with binding name '%s' for the derived type '%s' at %C"
-msgstr ""
+msgstr "%3$C处已经有一个过程对派生类型‘%2$s’使用绑定名‘%1$s’"
 
-#: fortran/decl.c:7028
+#: fortran/decl.c:7522
 #, no-c-format
 msgid "GENERIC at %C must be inside a derived-type CONTAINS"
-msgstr ""
+msgstr "%C处的 GENERIC 必须是在派生类型 CONTAINS 内"
 
-#: fortran/decl.c:7045
-#, fuzzy, no-c-format
+#: fortran/decl.c:7539
+#, no-c-format
 msgid "Expected '::' at %C"
-msgstr "在%C处需要‘(’"
+msgstr "在%C处需要‘::’"
 
-#: fortran/decl.c:7055
-#, fuzzy, no-c-format
-msgid "Expected generic name at %C"
-msgstr "在%C处需要变量名"
+#: fortran/decl.c:7551
+#, no-c-format
+msgid "Expected generic name or operator descriptor at %C"
+msgstr "%C处需要泛型名或运算符描述子"
 
-#: fortran/decl.c:7066
+#: fortran/decl.c:7577
+#, no-c-format
+msgid "Expected '=>' at %C"
+msgstr "%C 处需要“=>”"
+
+#: fortran/decl.c:7619
 #, no-c-format
 msgid "There's already a non-generic procedure with binding name '%s' for the derived type '%s' at %C"
-msgstr ""
+msgstr "%3$C处派生类型‘%2$s’已经有一个绑定名为‘%1$s’的非泛型过程"
 
-#: fortran/decl.c:7075
+#: fortran/decl.c:7627
 #, no-c-format
 msgid "Binding at %C must have the same access as already defined binding '%s'"
-msgstr ""
+msgstr "%C处的绑定必须有与已经定义的绑定‘%s’相同的访问权限"
 
-#: fortran/decl.c:7103
-#, fuzzy, no-c-format
+#: fortran/decl.c:7676
+#, no-c-format
 msgid "Expected specific binding name at %C"
-msgstr "%Cå¤\84é\9c\80è¦\81ç»\93æ\9d\9f名"
+msgstr "%Cå¤\84é\9c\80è¦\81ç\89¹å®\9aç\9a\84ç»\91å®\9a名"
 
-#: fortran/decl.c:7114
-#, fuzzy, no-c-format
+#: fortran/decl.c:7686
+#, no-c-format
 msgid "'%s' already defined as specific binding for the generic '%s' at %C"
-msgstr "对子进程名‘%s’非预期的使用,在%C处"
+msgstr "%3$C处‘%1$s’已经定义为泛型的‘%2$s’特定的限定"
 
-#: fortran/decl.c:7132
+#: fortran/decl.c:7702
 #, no-c-format
 msgid "Junk after GENERIC binding at %C"
-msgstr ""
+msgstr "%C 处的泛型绑定后有垃圾字符"
 
-#: fortran/decl.c:7157
+#: fortran/decl.c:7727
 #, no-c-format
 msgid "FINAL declaration at %C must be inside a derived type CONTAINS section"
-msgstr ""
+msgstr "%C处的 FINAL 声明必须在一个派生类型的 CONTAINS 节内"
 
-#: fortran/decl.c:7168
-#, fuzzy, no-c-format
+#: fortran/decl.c:7738
+#, no-c-format
 msgid "Derived type declaration with FINAL at %C must be in the specification part of a MODULE"
-msgstr "%C处 MODULE 中的派生类型只能是 PUBLIC"
+msgstr "%C处带有 FINAL 的派生类型声明必须在 MODULE 的规格说明部分内"
 
-#: fortran/decl.c:7190
+#: fortran/decl.c:7760
 #, no-c-format
 msgid "Empty FINAL at %C"
-msgstr ""
+msgstr "%C处的 FINAL 为空"
 
-#: fortran/decl.c:7197
-#, fuzzy, no-c-format
+#: fortran/decl.c:7767
+#, no-c-format
 msgid "Expected module procedure name at %C"
-msgstr "参数‘%s’在%L处需要一个过程"
+msgstr "%C处期待模块过程名"
 
-#: fortran/decl.c:7207
-#, fuzzy, no-c-format
+#: fortran/decl.c:7777
+#, no-c-format
 msgid "Expected ',' at %C"
-msgstr "在%C处需要‘(’"
+msgstr "在%C处需要‘,’"
 
-#: fortran/decl.c:7213
-#, fuzzy, no-c-format
+#: fortran/decl.c:7783
+#, no-c-format
 msgid "Unknown procedure name \"%s\" at %C"
-msgstr "未知的操作符‘%s’在 %%L处"
+msgstr "%2$C的过程名“%1$s”未知"
 
-#: fortran/decl.c:7227
-#, fuzzy, no-c-format
+#: fortran/decl.c:7797
+#, no-c-format
 msgid "'%s' at %C is already defined as FINAL procedure!"
-msgstr "%2$C处的过程‘%1$s’已经在%3$L处被定义"
+msgstr "%2$C 处的‘%1$s’已经被定义为 FINAL!"
+
+#: fortran/decl.c:7866
+#, no-c-format
+msgid "Unknown attribute in !GCC$ ATTRIBUTES statement at %C"
+msgstr "%C处 !GCC$ ATTRIBUTES 语句中有未知的属性"
+
+#: fortran/decl.c:7913
+#, no-c-format
+msgid "Syntax error in !GCC$ ATTRIBUTES statement at %C"
+msgstr "%C处 !GCC$ ATTRIBUTES 语句中的语法错误"
 
 #. We are told not to check dependencies.
 #. We do it, however, and issue a warning in case we find one.
 #. If a dependency is found in the case
 #. elemental == ELEM_CHECK_VARIABLE, we will generate
 #. a temporary, so we don't need to bother the user.
-#: fortran/dependency.c:461
+#: fortran/dependency.c:486
 #, no-c-format
 msgid "INTENT(%s) actual argument at %L might interfere with actual argument at %L."
-msgstr ""
+msgstr "INTENT(%s) %L处的实参可能干涉%L处的实参。"
 
-#: fortran/error.c:298
+#: fortran/error.c:300
 #, no-c-format
 msgid "    Included at %s:%d:"
 msgstr "   包含于 %s:%d:"
 
-#: fortran/error.c:390
+#: fortran/error.c:384
 #, no-c-format
 msgid "<During initialization>\n"
 msgstr "<在初始化过程中>\n"
 
-#: fortran/error.c:723
+#: fortran/error.c:718
 #, no-c-format
 msgid "Error count reached limit of %d."
 msgstr "错误数量到达上限 %d。"
 
-#: fortran/error.c:742 fortran/error.c:796 fortran/error.c:833
+#: fortran/error.c:737 fortran/error.c:791 fortran/error.c:826
+#: fortran/error.c:901
 msgid "Warning:"
 msgstr "警告:"
 
-#: fortran/error.c:798 fortran/error.c:881 fortran/error.c:907
+#: fortran/error.c:793 fortran/error.c:881 fortran/error.c:931
 msgid "Error:"
 msgstr "错误:"
 
-#: fortran/error.c:931
+#: fortran/error.c:955
 msgid "Fatal Error:"
 msgstr "致命错误:"
 
-#: fortran/error.c:950
+#: fortran/error.c:974
 #, no-c-format
 msgid "Internal Error at (1):"
 msgstr "(1)中的内部错误:"
 
-#: fortran/expr.c:256
+#: fortran/expr.c:261
 #, c-format
 msgid "Constant expression required at %C"
 msgstr "%C处需要常量表达式"
 
-#: fortran/expr.c:259
+#: fortran/expr.c:264
 #, c-format
 msgid "Integer expression required at %C"
 msgstr "%C处需要整数表达式"
 
-#: fortran/expr.c:264
+#: fortran/expr.c:269
 #, c-format
 msgid "Integer value too large in expression at %C"
 msgstr "%C处表达式中整数值太大"
 
-#: fortran/expr.c:1047
+#: fortran/expr.c:1098
 #, no-c-format
 msgid "Index in dimension %d is out of bounds at %L"
 msgstr "%2$L处第 %1$d 维下标越界"
 
-#: fortran/expr.c:1218 fortran/expr.c:1269
+#: fortran/expr.c:1274 fortran/expr.c:1325
 #, no-c-format
 msgid "index in dimension %d is out of bounds at %L"
 msgstr "%2$L处第 %1$d 维下标越界"
 
-#: fortran/expr.c:1871
+#: fortran/expr.c:1923
 #, no-c-format
 msgid "elemental function arguments at %C are not compliant"
-msgstr ""
+msgstr "%C处基本函数的实参不兼容"
 
-#: fortran/expr.c:1915
+#: fortran/expr.c:1967
 #, no-c-format
 msgid "Numeric or CHARACTER operands are required in expression at %L"
-msgstr ""
-
-#: fortran/expr.c:1935
-#, fuzzy, no-c-format
-msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
-msgstr "%C处需要一个初始化表达式"
+msgstr "%L处的表达式中需要数字或 CHARACTER 操作数"
 
-#: fortran/expr.c:1950
+#: fortran/expr.c:1992
 #, no-c-format
 msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
-msgstr ""
+msgstr "%L处表达式中的毗连运算符必须有两个 CHARACTER 操作数"
 
-#: fortran/expr.c:1957
+#: fortran/expr.c:1999
 #, no-c-format
 msgid "Concat operator at %L must concatenate strings of the same kind"
 msgstr "%L处的毗连运算符必须毗连同一种别的字符串"
 
-#: fortran/expr.c:1967
+#: fortran/expr.c:2009
 #, no-c-format
 msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
 msgstr "%L处的表达式中的 .NOT. 运算符必须带 LOGICAL 操作数"
 
-#: fortran/expr.c:1983
+#: fortran/expr.c:2025
 #, no-c-format
 msgid "LOGICAL operands are required in expression at %L"
 msgstr "%L处的表达式需要 LOGICAL 操作数"
 
-#: fortran/expr.c:1994
+#: fortran/expr.c:2036
 #, no-c-format
 msgid "Only intrinsic operators can be used in expression at %L"
 msgstr "%L处只有内建运算符才能用于表达式中"
 
-#: fortran/expr.c:2002
+#: fortran/expr.c:2044
 #, no-c-format
 msgid "Numeric operands are required in expression at %L"
 msgstr "%L处的表达式需要数字操作数"
 
-#: fortran/expr.c:2095
-#, fuzzy, no-c-format
+#: fortran/expr.c:2137
+#, no-c-format
 msgid "Assumed character length variable '%s' in constant expression at %L"
-msgstr "假定字符长度变量‘%s’在%L处的常量表达式中"
+msgstr "%2$L处常量表达式中有假定字符长度变量‘%1$s’"
 
-#: fortran/expr.c:2146 fortran/expr.c:2152
-#, fuzzy, no-c-format
+#: fortran/expr.c:2195
+#, no-c-format
 msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
-msgstr "KIND 参数 %s 在%L处必须是初始化表达式"
+msgstr "%2$L处的转换内建函数‘%1$s’不允许用在初始化表达式中"
 
-#: fortran/expr.c:2184
+#: fortran/expr.c:2226
 #, no-c-format
 msgid "Extension: Evaluation of nonstandard initialization expression at %L"
 msgstr "扩展:%L处求非标量初始化表达式的值"
 
-#: fortran/expr.c:2241
+#: fortran/expr.c:2283
 #, no-c-format
 msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
-msgstr ""
+msgstr "%2$L处初始化表达式中函数‘%1$s’必须是内建的或是一个规格说明函数"
 
-#: fortran/expr.c:2253
-#, fuzzy, no-c-format
+#: fortran/expr.c:2295
+#, no-c-format
 msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
-msgstr "KIND 参数 %s 在%L处必须是初始化表达式"
+msgstr "%2$L处内建函数‘%1$s’不允许出现在在初始化表达式中"
 
-#: fortran/expr.c:2285
+#: fortran/expr.c:2327
 #, no-c-format
 msgid "PARAMETER '%s' is used at %L before its definition is complete"
-msgstr ""
+msgstr "%2$L处 PARAMETER‘%1$s’在其定义完全之前被使用"
 
-#: fortran/expr.c:2305
-#, fuzzy, no-c-format
+#: fortran/expr.c:2347
+#, no-c-format
 msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
-msgstr "KIND 参数 %s 在%L处必须是初始化表达式"
+msgstr "%L处假定大小数组‘%1$s’不能用在在初始化表达式中"
 
-#: fortran/expr.c:2311
-#, fuzzy, no-c-format
+#: fortran/expr.c:2353
+#, no-c-format
 msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
-msgstr "KIND 参数 %s 在%L处必须是初始化表达式"
+msgstr "%2$L处假定外形数组‘%1$s’不能用在初始化表达式中"
 
-#: fortran/expr.c:2317
-#, fuzzy, no-c-format
+#: fortran/expr.c:2359
+#, no-c-format
 msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
-msgstr "KIND 参数 %s 在%L处必须是初始化表达式"
+msgstr "%2$L处的延迟数组‘%1$s’不允许出现在初始化表达式中"
 
-#: fortran/expr.c:2323
-#, fuzzy, no-c-format
+#: fortran/expr.c:2365
+#, no-c-format
 msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
-msgstr "å\8f\82æ\95°â\80\99%så\9c¨%Lå¤\84å°\9aæ\9cªå£°æ\98\8eæ\88\96è\80\85æ\98¯ä¸\80个ä¸\8dè\83½è¢«å½\92约为常é\87\8f表达å¼\8fç\9a\84å\8f\98é\87\8f"
+msgstr "%2$Lå¤\84æ\95°ç»\84â\80\98%1$sâ\80\99æ\98¯ä¸ªå\8f\98é\87\8fï¼\8cä¸\8dè\83½è¢«å½\92约为常é\87\8f表达å¼\8f"
 
-#: fortran/expr.c:2333
+#: fortran/expr.c:2375
 #, no-c-format
 msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
 msgstr "参数’%s在%L处尚未声明或者是一个不能被归约为常量表达式的变量"
 
-#: fortran/expr.c:2409
+#: fortran/expr.c:2451
 #, no-c-format
 msgid "Initialization expression didn't reduce %C"
 msgstr "初始化表达式不能归约 %C"
 
-#: fortran/expr.c:2477
+#: fortran/expr.c:2530
 #, no-c-format
 msgid "Specification function '%s' at %L cannot be a statement function"
-msgstr "指定函数‘%s’(位于 %L)不能是一个语句函数"
+msgstr "%2$L处规格函数‘%1$s’不能是一个语句函数"
 
-#: fortran/expr.c:2484
+#: fortran/expr.c:2537
 #, no-c-format
 msgid "Specification function '%s' at %L cannot be an internal function"
-msgstr "指定函数‘%s’(位于 %L)不能是一个内部函数"
+msgstr "%2$L处规格函数‘%1$s’不能是一个内部函数"
 
-#: fortran/expr.c:2491
+#: fortran/expr.c:2544
 #, no-c-format
 msgid "Specification function '%s' at %L must be PURE"
-msgstr "指定函数‘%s’(位于 %L)必须为 PURE"
+msgstr "%2$L处规格函数‘%1$s’必须为 PURE"
 
-#: fortran/expr.c:2498
+#: fortran/expr.c:2551
 #, no-c-format
 msgid "Specification function '%s' at %L cannot be RECURSIVE"
-msgstr "指定函数‘%s’(位于 %L)不能是 RECURSIVE"
+msgstr "%2$L处规格函数‘%1$s’不能是 RECURSIVE"
 
-#: fortran/expr.c:2632
+#: fortran/expr.c:2685
 #, no-c-format
 msgid "Dummy argument '%s' not allowed in expression at %L"
-msgstr "哑元实参‘%s’不能出现在%L处的表达式中"
+msgstr "参‘%s’不能出现在%L处的表达式中"
 
-#: fortran/expr.c:2639
+#: fortran/expr.c:2692
 #, no-c-format
 msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
-msgstr "%2$L处的哑元实参‘%1$s’不能是 OPTIONAL"
+msgstr "%2$L处的参‘%1$s’不能是 OPTIONAL"
 
-#: fortran/expr.c:2646
+#: fortran/expr.c:2699
 #, no-c-format
 msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
-msgstr "%2$L处的‘%1$s’哑元实参不能是 INTENT(OUT)"
+msgstr "%2$L处的‘%1$s’参不能是 INTENT(OUT)"
 
-#: fortran/expr.c:2677
+#: fortran/expr.c:2730
 #, no-c-format
 msgid "Variable '%s' cannot appear in the expression at %L"
 msgstr "变量‘%s’不能出现在%L处的表达式中"
 
-#: fortran/expr.c:2727
-#, fuzzy, no-c-format
+#: fortran/expr.c:2780
+#, no-c-format
 msgid "Expression at %L must be of INTEGER type, found %s"
-msgstr "%L处的表达式必须具有 INTEGER 类型"
+msgstr "%L处的表达式必须具有 INTEGER 类型而不是 %s"
 
-#: fortran/expr.c:2737
+#: fortran/expr.c:2790
 #, no-c-format
 msgid "Function '%s' at %L must be PURE"
 msgstr "函数‘%s’在%L处必须为 PURE"
 
-#: fortran/expr.c:2746
+#: fortran/expr.c:2799
 #, no-c-format
 msgid "Expression at %L must be scalar"
 msgstr "%L处的表达式必须具有标量类型"
 
-#: fortran/expr.c:2773
-#, fuzzy, no-c-format
+#: fortran/expr.c:2833
+#, no-c-format
 msgid "Incompatible ranks in %s (%d and %d) at %L"
-msgstr "%s 中秩不兼容,位于 %L"
+msgstr "%4$L%1$s 中秩(%2$d 和 %3$d)不兼容"
 
-#: fortran/expr.c:2787
+#: fortran/expr.c:2847
 #, no-c-format
 msgid "Different shape for %s at %L on dimension %d (%d and %d)"
-msgstr ""
+msgstr "%2$L处 %1$s 在第 %3$d 维上外形不同(%4$d 和 %5$d)"
 
-#: fortran/expr.c:2833 fortran/expr.c:3089
+#: fortran/expr.c:2893 fortran/expr.c:3153
 #, no-c-format
 msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
 msgstr "不能对%2$L处的 INTENT(IN) 变量‘%1$s’赋值"
 
-#: fortran/expr.c:2885
+#: fortran/expr.c:2945
 #, no-c-format
 msgid "'%s' at %L is not a VALUE"
 msgstr "‘%s’在%L处不是一个 VALUE"
 
-#: fortran/expr.c:2892
+#: fortran/expr.c:2952
 #, no-c-format
 msgid "Incompatible ranks %d and %d in assignment at %L"
 msgstr "赋值中有不兼容的秩 %d 和 %d,位于 %L"
 
-#: fortran/expr.c:2899
+#: fortran/expr.c:2959
 #, no-c-format
 msgid "Variable type is UNKNOWN in assignment at %L"
 msgstr "%L处赋值中的变量类型是 UNKNOWN"
 
-#: fortran/expr.c:2911
+#: fortran/expr.c:2971
 #, no-c-format
 msgid "NULL appears on right-hand side in assignment at %L"
 msgstr "%L处赋值右手边出现 NULL"
 
-#: fortran/expr.c:2922
-#, fuzzy, no-c-format
+#: fortran/expr.c:2982
+#, no-c-format
 msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
-msgstr "矢量赋值给%L处假定大小的 Cray 指针目标是非法的。"
+msgstr "%L处给假定大小的 Cray 指针赋值是非法的"
 
-#: fortran/expr.c:2931
+#: fortran/expr.c:2991
 #, no-c-format
 msgid "POINTER valued function appears on right-hand side of assignment at %L"
 msgstr "%L处赋值右手边出现值为 POINTER 的函数"
 
-#: fortran/expr.c:2936
+#: fortran/expr.c:2996
 msgid "array assignment"
 msgstr "数组赋值"
 
-#: fortran/expr.c:2941
+#: fortran/expr.c:3001
 #, no-c-format
 msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
-msgstr ""
+msgstr "扩展:%L处 BOZ 字面值被用来初始化非整数变量‘%s’"
 
-#: fortran/expr.c:2947 fortran/resolve.c:6456
+#: fortran/expr.c:3007 fortran/resolve.c:7754
 #, no-c-format
 msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
-msgstr ""
+msgstr "扩展:在 %L处的 BOZ 字面值在一个 DATA 语句之外并且也在 INT/REAL/DBLE/CMPLX 之外"
 
-#: fortran/expr.c:2957 fortran/resolve.c:6466
+#: fortran/expr.c:3017 fortran/resolve.c:7764
 #, no-c-format
 msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
-msgstr ""
+msgstr "%L处 BOZ 字面值按位转换后是非整数符号‘%s’"
 
-#: fortran/expr.c:2965 fortran/resolve.c:6475
-#, fuzzy, no-c-format
+#: fortran/expr.c:3025 fortran/resolve.c:7773
+#, no-c-format
 msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
-msgstr "将 %s 转换到 %s 时在%L处算术溢出。这一检查可用 -fno-range-check 选项关闭"
+msgstr "%L处按位转换 BOZ 时算术下溢。这一检查可用 -fno-range-check 选项禁用"
 
-#: fortran/expr.c:2969 fortran/resolve.c:6479
-#, fuzzy, no-c-format
+#: fortran/expr.c:3029 fortran/resolve.c:7777
+#, no-c-format
 msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
-msgstr "将 %s 转换到 %s 时在%L处算术溢出。这一检查可用 -fno-range-check 选项关闭"
+msgstr "%L处按位转换 BOZ 时算术上溢。这一检查可用 -fno-range-check 选项禁用"
 
-#: fortran/expr.c:2973 fortran/resolve.c:6483
-#, fuzzy, no-c-format
+#: fortran/expr.c:3033 fortran/resolve.c:7781
+#, no-c-format
 msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
-msgstr "将 %s 转换到 %s 时在%L处算术溢出。这一检查可用 -fno-range-check 选项关闭"
+msgstr "%L处按位转换 BOZ 时产生算术 NaN。这一检查可用 -fno-range-check 选项禁用"
 
-#: fortran/expr.c:2995
-#, fuzzy, no-c-format
+#: fortran/expr.c:3055
+#, no-c-format
 msgid "Incompatible types in DATA statement at %L; attempted conversion of %s to %s"
-msgstr "%L处赋值类型不兼容,从 %s 到 %s"
+msgstr "%L处 DATA 语句中类型不兼容;试图从 %s 转换到 %s"
 
-#: fortran/expr.c:3031
+#: fortran/expr.c:3091
 #, no-c-format
 msgid "Pointer assignment target is not a POINTER at %L"
 msgstr "%L处指针赋值的目标不是一个 POINTER"
 
-#: fortran/expr.c:3039
+#: fortran/expr.c:3100
 #, no-c-format
 msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
-msgstr ""
+msgstr "%2$L处指针赋值中的‘%1$s’不能是一个左值,因为它是一个过程"
 
-#: fortran/expr.c:3067
-#, fuzzy, no-c-format
+#: fortran/expr.c:3131
+#, no-c-format
 msgid "Expected bounds specification for '%s' at %L"
-msgstr "重复 %s 指定,于 %C"
+msgstr "%2$L处‘%1$s’需要边界规格"
 
-#: fortran/expr.c:3072
-#, fuzzy, no-c-format
+#: fortran/expr.c:3136
+#, no-c-format
 msgid "Fortran 2003: Bounds specification for '%s' in pointer assignment at %L"
-msgstr "Fortran 2003:函数‘%s’在%L处用作初始化表达式"
+msgstr "Fortran 2003:%2$L处指针赋值语句中‘%1$s’的边界规格"
 
-#: fortran/expr.c:3078
+#: fortran/expr.c:3142
 #, no-c-format
 msgid "Pointer bounds remapping at %L is not yet implemented in gfortran"
-msgstr ""
+msgstr "%L处的指针限定重映射在 gfortran 中尚未实现"
 
-#: fortran/expr.c:3096
+#: fortran/expr.c:3162
 #, no-c-format
 msgid "Pointer assignment to non-POINTER at %L"
 msgstr "%L处指针赋给非指针"
 
-#: fortran/expr.c:3105
+#: fortran/expr.c:3171
 #, no-c-format
 msgid "Bad pointer object in PURE procedure at %L"
 msgstr "%L处 PURE 过程中有无效的指针对象"
 
-#: fortran/expr.c:3121
-#, fuzzy, no-c-format
+#: fortran/expr.c:3196
+#, no-c-format
+msgid "Invalid procedure pointer assignment at %L"
+msgstr "%L处过程指针赋值非法"
+
+#: fortran/expr.c:3202
+#, no-c-format
+msgid "Abstract interface '%s' is invalid in procedure pointer assignment at %L"
+msgstr "抽象接口‘%s’在%L处的过程指针赋值中是非法的"
+
+#: fortran/expr.c:3212
+#, no-c-format
+msgid "Statement function '%s' is invalid in procedure pointer assignment at %L"
+msgstr "语句函数‘%s’在%L处的过程指针赋值中是非法的"
+
+#: fortran/expr.c:3218
+#, no-c-format
+msgid "Internal procedure '%s' is invalid in procedure pointer assignment at %L"
+msgstr "内部过程‘%s’在%L处的过程指针赋值中是非法的"
+
+#: fortran/expr.c:3241
+#, no-c-format
+msgid "Mismatch in the procedure pointer assignment at %L: mismatch in the calling convention"
+msgstr "%L处过程指针赋值不匹配:调用约定不匹配"
+
+#: fortran/expr.c:3272
+#, no-c-format
+msgid "Interface mismatch in procedure pointer assignment at %L: %s"
+msgstr "%L处过程指针赋值中接口不匹配:%s"
+
+#: fortran/expr.c:3282
+#, no-c-format
 msgid "Different types in pointer assignment at %L; attempted assignment of %s to %s"
-msgstr "%L处指针赋值时类型不同"
+msgstr "%L处指针赋值时类型不同;试图将 %s 赋值给 %s"
 
-#: fortran/expr.c:3129
+#: fortran/expr.c:3290
 #, no-c-format
 msgid "Different kind type parameters in pointer assignment at %L"
-msgstr ""
+msgstr "%L处指针赋值时参数种别类型不同"
 
-#: fortran/expr.c:3136
+#: fortran/expr.c:3297
 #, no-c-format
 msgid "Different ranks in pointer assignment at %L"
 msgstr "%L处指针赋值时秩不同"
 
-#: fortran/expr.c:3151
-#, no-c-format
-msgid "Different character lengths in pointer assignment at %L"
-msgstr "%L处指针赋值时字符长度不同"
-
-#: fortran/expr.c:3162
+#: fortran/expr.c:3319
 #, no-c-format
 msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
-msgstr ""
+msgstr "%L处指针赋值的目标既不是 TARGET 也不是 POINTER"
 
-#: fortran/expr.c:3169
+#: fortran/expr.c:3326
 #, no-c-format
 msgid "Bad target in pointer assignment in PURE procedure at %L"
-msgstr ""
+msgstr "%L处 PURE 过程中指针赋值目标错误"
 
-#: fortran/expr.c:3175
+#: fortran/expr.c:3332
 #, no-c-format
 msgid "Pointer assignment with vector subscript on rhs at %L"
-msgstr "%L处指针赋值的右手边带有量下标"
+msgstr "%L处指针赋值的右手边带有量下标"
 
-#: fortran/expr.c:3183
-#, fuzzy, no-c-format
+#: fortran/expr.c:3340
+#, no-c-format
 msgid "Pointer assignment target has PROTECTED attribute at %L"
-msgstr "%L处指针赋值对象有 PROTECTED 属性"
+msgstr "%L处指针赋值目标对象有 PROTECTED 属性"
 
-#: fortran/gfortranspec.c:251
+#: fortran/gfortranspec.c:245
 #, c-format
 msgid "overflowed output arg list for '%s'"
 msgstr "‘%s’输出参数列表溢出"
 
-#: fortran/gfortranspec.c:384
+#: fortran/gfortranspec.c:374
 #, c-format
 msgid ""
 "GNU Fortran comes with NO WARRANTY, to the extent permitted by law.\n"
@@ -5814,1112 +6270,1256 @@ msgstr ""
 "有关事宜的详情请参考名为 COPYING 的文件\n"
 "\n"
 
-#: fortran/gfortranspec.c:406 fortran/gfortranspec.c:445
+#: fortran/gfortranspec.c:396 fortran/gfortranspec.c:435
 #, c-format
 msgid "argument to '%s' missing"
 msgstr "‘%s’缺少实参"
 
-#: fortran/gfortranspec.c:410
+#: fortran/gfortranspec.c:400
 #, c-format
 msgid "no input files; unwilling to write output files"
 msgstr "没有输入文件;不能写入输出文件"
 
-#: fortran/gfortranspec.c:432
-#, fuzzy, c-format
+#: fortran/gfortranspec.c:422
+#, c-format
 msgid "Warning: Using -M <directory> is deprecated, use -J instead\n"
-msgstr "不建议使用此开关;请改用 -Wextra"
+msgstr "警告:-M <目录> 已过时,请改用 -J\n"
 
-#: fortran/gfortranspec.c:578
+#: fortran/gfortranspec.c:557
 #, c-format
 msgid "Driving:"
 msgstr "驱动:"
 
-#: fortran/interface.c:173
+#: fortran/interface.c:174
 #, no-c-format
 msgid "Syntax error in generic specification at %C"
-msgstr "%C 一般指定语法错误"
+msgstr "%C处泛型规格语法错误"
 
-#: fortran/interface.c:200
+#: fortran/interface.c:201
 #, no-c-format
 msgid "Syntax error: Trailing garbage in INTERFACE statement at %C"
-msgstr ""
+msgstr "语法错误:在 %C处 INTERFACE 语句后有垃圾字符"
 
-#: fortran/interface.c:219
-#, fuzzy, no-c-format
+#: fortran/interface.c:220
+#, no-c-format
 msgid "Dummy procedure '%s' at %C cannot have a generic interface"
-msgstr "哑元‘%s’在%L处不能有初始值设定"
+msgstr "哑过程‘%s’在%C处不能有泛型接口"
 
-#: fortran/interface.c:252
+#: fortran/interface.c:253
 #, no-c-format
 msgid "Fortran 2003: ABSTRACT INTERFACE at %C"
 msgstr "Fortran 2003:%C处的 ABSTRACT INTERFACE"
 
-#: fortran/interface.c:260
-#, fuzzy, no-c-format
+#: fortran/interface.c:261
+#, no-c-format
 msgid "Syntax error in ABSTRACT INTERFACE statement at %C"
-msgstr "%C SAVE 语句语法错误"
+msgstr "%C处 ABSTRACT INTERFACE 语句语法错误"
 
-#: fortran/interface.c:291
+#: fortran/interface.c:292
 #, no-c-format
 msgid "Syntax error: Trailing garbage in END INTERFACE statement at %C"
-msgstr ""
+msgstr "语法错误:%C处 END INTERFACE 语句后有垃圾字符"
 
-#: fortran/interface.c:304
+#: fortran/interface.c:305
 #, no-c-format
 msgid "Expected a nameless interface at %C"
 msgstr "%C 需要一个无名接口"
 
-#: fortran/interface.c:315
+#: fortran/interface.c:316
 #, no-c-format
 msgid "Expected 'END INTERFACE ASSIGNMENT (=)' at %C"
 msgstr "%C处需要‘END INTERFACE ASSIGNMENT (=)’或语句尾"
 
-#: fortran/interface.c:317
+#: fortran/interface.c:318
 #, no-c-format
 msgid "Expecting 'END INTERFACE OPERATOR (%s)' at %C"
 msgstr "需要‘END INTERFACE ASSIGNMENT (%s)’在%C处"
 
-#: fortran/interface.c:331
+#: fortran/interface.c:332
 #, no-c-format
 msgid "Expecting 'END INTERFACE OPERATOR (.%s.)' at %C"
 msgstr "需要‘END INTERFACE ASSIGNMENT (.%s.)’在%C处"
 
-#: fortran/interface.c:342
+#: fortran/interface.c:343
 #, no-c-format
 msgid "Expecting 'END INTERFACE %s' at %C"
 msgstr "%2$C处需要‘END INTERFACE %1$s’"
 
-#: fortran/interface.c:562
+#: fortran/interface.c:574
 #, no-c-format
 msgid "Alternate return cannot appear in operator interface at %L"
 msgstr "替代返回不能出现在%L处的运算符接口中"
 
-#: fortran/interface.c:592
+#: fortran/interface.c:602
 #, no-c-format
 msgid "Operator interface at %L has the wrong number of arguments"
 msgstr "%L处的运算符接口实参数错误"
 
-#: fortran/interface.c:603
+#: fortran/interface.c:613
 #, no-c-format
 msgid "Assignment operator interface at %L must be a SUBROUTINE"
 msgstr "%L处的运算符接口必须是一个 SUBROUTINE"
 
-#: fortran/interface.c:609
+#: fortran/interface.c:619
 #, no-c-format
 msgid "Assignment operator interface at %L must have two arguments"
 msgstr "%L处的赋值运算符接口必须有两个实参"
 
-#: fortran/interface.c:624
-#, fuzzy, no-c-format
+#: fortran/interface.c:635
+#, no-c-format
 msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
-msgstr "%L处运算符接口的第一个参数必须是 INTENT(IN)"
+msgstr "%L处的赋值运算符接口不能重复定义一个 INTRINSIC 类型赋值"
 
-#: fortran/interface.c:633
-#, fuzzy, no-c-format
+#: fortran/interface.c:644
+#, no-c-format
 msgid "Intrinsic operator interface at %L must be a FUNCTION"
-msgstr "%L处运算符接口的第一个参数必须是 INTENT(IN)"
+msgstr "%L处内建运算符接口必须是一个 FUNCTION"
 
-#: fortran/interface.c:643
-#, fuzzy, no-c-format
+#: fortran/interface.c:655
+#, no-c-format
 msgid "First argument of defined assignment at %L must be INTENT(OUT) or INTENT(INOUT)"
-msgstr "%L处定义赋值的第一个参数必须是 INTENT(IN) 或 INTENT(INOUT)"
+msgstr "%L处定义赋值的第一个参数必须是 INTENT(OUT) 或 INTENT(INOUT)"
 
-#: fortran/interface.c:647
+#: fortran/interface.c:662
 #, no-c-format
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr "%L处定义赋值的第二个参数必须是 INTENT(IN)"
 
-#: fortran/interface.c:653 fortran/resolve.c:10246
+#: fortran/interface.c:671 fortran/resolve.c:12099
 #, no-c-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr "%L处运算符接口的第一个参数必须是 INTENT(IN)"
 
-#: fortran/interface.c:657 fortran/resolve.c:10258
+#: fortran/interface.c:678 fortran/resolve.c:12117
 #, no-c-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr "%L处运算符接口的第二个参数必须是 INTENT(IN)"
 
-#: fortran/interface.c:760
+#: fortran/interface.c:783
 #, no-c-format
 msgid "Operator interface at %L conflicts with intrinsic interface"
 msgstr "%L处运算符接口与内建接口冲突"
 
-#: fortran/interface.c:1121
-#, fuzzy, no-c-format
+#: fortran/interface.c:1075
+#, no-c-format
 msgid "Procedure '%s' in %s at %L has no explicit interface"
-msgstr "符号‘%s’在%L处已经有了显式接口"
+msgstr "%3$L处 %2$s 中的过程‘%1$s’没有显式接口"
 
-#: fortran/interface.c:1124
+#: fortran/interface.c:1078
 #, no-c-format
 msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
 msgstr "过程‘%s’(在 %s 中,位于 %L) 既不是函数也不是子进程"
 
-#: fortran/interface.c:1179 fortran/interface.c:1185
+#: fortran/interface.c:1134 fortran/interface.c:1140
 #, no-c-format
 msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
 msgstr "有歧义的接口‘%s’和‘%s’在 %s 中,位于 %L"
 
-#: fortran/interface.c:1221
+#: fortran/interface.c:1176
 #, no-c-format
 msgid "'%s' at %L is not a module procedure"
 msgstr "%2$L处的‘%1$s’并非一个模块过程"
 
-#: fortran/interface.c:1469 fortran/interface.c:2428
+#: fortran/interface.c:1409
+#, no-c-format
+msgid "Invalid procedure argument at %L"
+msgstr "%L过程参数无效"
+
+#: fortran/interface.c:1417
 #, no-c-format
-msgid "Type/rank mismatch in argument '%s' at %L"
-msgstr "%2$L处实参‘%1$s’类型/秩不匹配"
+msgid "Interface mismatch in dummy procedure '%s' at %L: %s"
+msgstr "哑过程‘%s’接口在%L处不匹配:%s"
 
-#: fortran/interface.c:1478
+#: fortran/interface.c:1441
 #, no-c-format
 msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
 msgstr "%2$L处实参‘%1$s’类型不匹配;将 %3$s 传递给 %4$s"
 
-#: fortran/interface.c:1496 fortran/interface.c:1536
+#: fortran/interface.c:1459 fortran/interface.c:1499
 #, no-c-format
 msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
 msgstr "%2$L处实参‘%1$s’秩不匹配(%3$d 和 %4$d)"
 
-#: fortran/interface.c:1523
-#, fuzzy, no-c-format
+#: fortran/interface.c:1486
+#, no-c-format
 msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
-msgstr "参数‘%s’在%L处缺少实参"
+msgstr "Fortran 2003:%2$L处标量 CHARACTER 实参带有数组虚参‘%1$s’"
 
-#: fortran/interface.c:1548
-#, fuzzy, no-c-format
+#: fortran/interface.c:1511
+#, no-c-format
 msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
-msgstr "%L处假定外形的数组必须是一个哑元"
+msgstr "%2$L处假定外形的数组的元素传递给虚参‘%1$s’"
 
-#: fortran/interface.c:1865
+#: fortran/interface.c:1828
 #, no-c-format
 msgid "Keyword argument '%s' at %L is not in the procedure"
 msgstr "%2$L处关键字实参‘%1$s’不在过程里"
 
-#: fortran/interface.c:1873
+#: fortran/interface.c:1836
 #, no-c-format
 msgid "Keyword argument '%s' at %L is already associated with another actual argument"
-msgstr ""
+msgstr "%C处关键字实参‘%s’已经与别的实参相关"
 
-#: fortran/interface.c:1883
+#: fortran/interface.c:1846
 #, no-c-format
 msgid "More actual than formal arguments in procedure call at %L"
 msgstr "%L处调用过程时实参比形参多"
 
-#: fortran/interface.c:1895 fortran/interface.c:2127
+#: fortran/interface.c:1858 fortran/interface.c:2094
 #, no-c-format
 msgid "Missing alternate return spec in subroutine call at %L"
 msgstr "%L处子进程调用缺少替代返回限定"
 
-#: fortran/interface.c:1903
+#: fortran/interface.c:1866
 #, no-c-format
 msgid "Unexpected alternate return spec in subroutine call at %L"
 msgstr "%L处子进程调用中的替代返回限定与预期不符"
 
-#: fortran/interface.c:1926
-#, fuzzy, no-c-format
+#: fortran/interface.c:1889
+#, no-c-format
 msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
-msgstr "参数‘%s’在%L处缺少实参"
+msgstr "%4$L处实参和指针或可分配虚参‘%3$s’间字符长度不匹配(%1$lu/%2$lu)"
 
-#: fortran/interface.c:1933
-#, fuzzy, no-c-format
+#: fortran/interface.c:1896
+#, no-c-format
 msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
-msgstr "参数‘%s’在%L处缺少实参"
+msgstr "%4$L处实参和假定外形虚参‘%3$s’间字符长度不匹配(%1$lu/%2$lu)"
 
-#: fortran/interface.c:1949
-#, fuzzy, no-c-format
+#: fortran/interface.c:1912
+#, no-c-format
 msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
-msgstr "参数‘%s’在%L处缺少实参"
+msgstr "%4$L处实参的字符长度短于虚参‘%1$s’(%2$lu/%3$lu)"
 
-#: fortran/interface.c:1954
+#: fortran/interface.c:1917
 #, no-c-format
 msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
-msgstr ""
+msgstr "%4$L处实参包含的元素对于虚参‘%1$s’(%2$lu/%3$lu)而言太少"
 
-#: fortran/interface.c:1967
-#, fuzzy, no-c-format
+#: fortran/interface.c:1934
+#, no-c-format
 msgid "Expected a procedure pointer for argument '%s' at %L"
-msgstr "参数‘%s’在%L处需要一个过程"
+msgstr "参数‘%s’在 %L 处需要一个过程指针"
 
-#: fortran/interface.c:1979
+#: fortran/interface.c:1946
 #, no-c-format
 msgid "Expected a procedure for argument '%s' at %L"
 msgstr "参数‘%s’在%L处需要一个过程"
 
-#: fortran/interface.c:1989
+#: fortran/interface.c:1956
 #, no-c-format
 msgid "Expected a PURE procedure for argument '%s' at %L"
 msgstr "参数‘%s’在%L处需要一个 PURE 过程"
 
-#: fortran/interface.c:2003
+#: fortran/interface.c:1970
 #, no-c-format
 msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
-msgstr ""
+msgstr "‘%s’的实参在%L处必须不是一个假定大小的数组"
 
-#: fortran/interface.c:2012
+#: fortran/interface.c:1979
 #, no-c-format
 msgid "Actual argument for '%s' must be a pointer at %L"
 msgstr "‘%s’的实参在%L处必须是一个指针"
 
-#: fortran/interface.c:2021
+#: fortran/interface.c:1988
 #, no-c-format
 msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
 msgstr "‘%s’的实参在%L处必须是 ALLOCATABLE 的"
 
-#: fortran/interface.c:2034
+#: fortran/interface.c:2001
 #, no-c-format
 msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
-msgstr ""
+msgstr "%L处的实参必须是可定义的,因为虚参‘%s’是 INTENT = OUT/INOUT"
 
-#: fortran/interface.c:2043
+#: fortran/interface.c:2010
 #, no-c-format
 msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
-msgstr ""
+msgstr "%L处实参与 PROTECTED 属性使用相关,而虚参‘%s’是 INTENT = OUT/INOUT"
 
-#: fortran/interface.c:2056
+#: fortran/interface.c:2023
 #, no-c-format
 msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(OUT), INTENT(INOUT) or VOLATILE attribute of the dummy argument '%s'"
-msgstr ""
+msgstr "%L处带有向量下标的数组节实际参数与虚参‘%s’的 INTENT(OUT)、INTENT(INOUT) 或 VOLATILE 属性不兼容"
 
-#: fortran/interface.c:2073
+#: fortran/interface.c:2040
 #, no-c-format
 msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
-msgstr ""
+msgstr "%L处假定外形的实参由于 VOLATILE 属性而与非假定外形虚参‘%s’不兼容"
 
-#: fortran/interface.c:2085
+#: fortran/interface.c:2052
 #, no-c-format
 msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
-msgstr ""
+msgstr "%L处数组节实参由于 VOLATILE 属性而与非假定外形虚参‘%s’不兼容"
 
-#: fortran/interface.c:2104
+#: fortran/interface.c:2071
 #, no-c-format
 msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
-msgstr ""
+msgstr "%L处指针数组的实参由于 VOLATILE 属性要求一个假定外形或指针数组虚参‘%s’"
 
-#: fortran/interface.c:2134
+#: fortran/interface.c:2101
 #, no-c-format
 msgid "Missing actual argument for argument '%s' at %L"
 msgstr "参数‘%s’在%L处缺少实参"
 
-#: fortran/interface.c:2320
+#: fortran/interface.c:2287
 #, no-c-format
 msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
-msgstr ""
+msgstr "%5$L处同样的实际参数与 INTENT(%1$s) 实参‘%2$s’和 INTENT(%3$s)实参‘%4$s’相关联"
 
-#: fortran/interface.c:2376
+#: fortran/interface.c:2343
 #, no-c-format
 msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
-msgstr ""
+msgstr "%L处过程实参是 INTENT(IN) 而接口指定了 INTENT(%s)"
 
-#: fortran/interface.c:2386
+#: fortran/interface.c:2353
 #, no-c-format
 msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
-msgstr ""
+msgstr "%L处的过程参数对于 PURE 过程是局部的,但被传递给一个 INTENT(%2s) 参数"
 
-#: fortran/interface.c:2394
+#: fortran/interface.c:2361
 #, no-c-format
 msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
-msgstr ""
+msgstr "%L处的过程参数对于 PURE 过程是局部的,但是有 POINTER 属性"
 
-#: fortran/interface.c:2417
+#: fortran/interface.c:2387
 #, no-c-format
 msgid "Procedure '%s' called with an implicit interface at %L"
 msgstr "调用过程‘%s’带隐式接口,位于 %L"
 
-#: fortran/interface.c:2442
-#, fuzzy, no-c-format
+#: fortran/interface.c:2398
+#, no-c-format
 msgid "Keyword argument requires explicit interface for procedure '%s' at %L"
-msgstr "%2$L处关键字实参‘%1$s’不在过程里"
+msgstr "%2$L处过程‘%1$s’的关键字参数要求显式的接口"
 
-#: fortran/interface.c:2676
+#: fortran/interface.c:2430
 #, no-c-format
-msgid "Function '%s' called in lieu of an operator at %L must be PURE"
-msgstr ""
+msgid "Procedure pointer component '%s' called with an implicit interface at %L"
+msgstr "%2$L调用过程指针组件‘%1$s’时有隐式接口"
+
+#: fortran/interface.c:2441
+#, no-c-format
+msgid "Keyword argument requires explicit interface for procedure pointer component '%s' at %L"
+msgstr "%2$L处过程指针组件‘%1$s’的关键字实参需要显式接口"
 
-#: fortran/interface.c:2756
+#: fortran/interface.c:2920
 #, no-c-format
 msgid "Entity '%s' at %C is already present in the interface"
-msgstr ""
+msgstr "%2$C处实体‘%1$s’已经出现在接口中"
 
-#: fortran/intrinsic.c:840
+#: fortran/intrinsic.c:961
 #, no-c-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."
-msgstr ""
+msgstr "%2$L处内建的‘%1$s’不包含在选中的标准中,但是 %3$s 和‘%4$s’将按声明为 EXTERNAL 来处理。使用一个适当的 -std=* 选项或定义 -fall-intrinsics 以允许这个建函数。"
 
-#: fortran/intrinsic.c:3079
+#: fortran/intrinsic.c:3241
 #, no-c-format
 msgid "Too many arguments in call to '%s' at %L"
 msgstr "%2$L处对‘%1$s’的调用给出的参数太多"
 
-#: fortran/intrinsic.c:3094
-#, fuzzy, no-c-format
+#: fortran/intrinsic.c:3256
+#, no-c-format
 msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
-msgstr "%L处上下文中不允许实参列表函数"
+msgstr "参数列表函数 %%VAL、%%LOC 或 %%REF 在%L处该上下文中不被允许"
 
-#: fortran/intrinsic.c:3097
+#: fortran/intrinsic.c:3259
 #, no-c-format
 msgid "Can't find keyword named '%s' in call to '%s' at %L"
 msgstr "%3$L处对‘%2$s’的调用中找不到名为‘%1$s’的关键字"
 
-#: fortran/intrinsic.c:3104
+#: fortran/intrinsic.c:3266
 #, no-c-format
 msgid "Argument '%s' is appears twice in call to '%s' at %L"
-msgstr ""
+msgstr "%3$L处参数‘%1$s’在调用‘%2$s’时出现两次"
 
-#: fortran/intrinsic.c:3118
+#: fortran/intrinsic.c:3280
 #, no-c-format
 msgid "Missing actual argument '%s' in call to '%s' at %L"
 msgstr "缺少实参‘%s’,在调用‘%s’时,位于 %L"
 
-#: fortran/intrinsic.c:3133
+#: fortran/intrinsic.c:3295
 #, no-c-format
 msgid "ALTERNATE RETURN not permitted at %L"
 msgstr "%L 不允许有 ALTERNATIVE RETURN"
 
-#: fortran/intrinsic.c:3190
+#: fortran/intrinsic.c:3352
 #, no-c-format
 msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
-msgstr ""
+msgstr "%3$L处对‘%2$s’的调用中参数‘%1$s’的类型应该是‘%4$s’,而非‘%5$s’"
 
-#: fortran/intrinsic.c:3559
-#, fuzzy, no-c-format
+#: fortran/intrinsic.c:3717
+#, no-c-format
 msgid "Intrinsic '%s' (is %s) is used at %L"
-msgstr "%3$L处 %2$s 分句中 的Cray 指针目标‘%1$s’"
+msgstr "%3$L处使用了内建的‘%1$s’(是 %2$s)"
 
-#: fortran/intrinsic.c:3623
+#: fortran/intrinsic.c:3781
 #, no-c-format
 msgid "Fortran 2003: Function '%s' as initialization expression at %L"
 msgstr "Fortran 2003:函数‘%s’在%L处用作初始化表达式"
 
-#: fortran/intrinsic.c:3699
+#: fortran/intrinsic.c:3857
 #, no-c-format
 msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
-msgstr ""
+msgstr "Fortran 2003:作为初始表达式的基本函数在%L处使用了非整数或非字符的参数"
 
-#: fortran/intrinsic.c:3760
+#: fortran/intrinsic.c:3918
 #, no-c-format
 msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
-msgstr ""
+msgstr "在%2$L处调用内建‘%1$s’的子例程不是 PURE"
 
-#: fortran/intrinsic.c:3832
+#: fortran/intrinsic.c:3990
 #, no-c-format
 msgid "Extension: Conversion from %s to %s at %L"
 msgstr "扩展:从 %s 到 %s,位于 %L"
 
-#: fortran/intrinsic.c:3835
+#: fortran/intrinsic.c:3993
 #, no-c-format
 msgid "Conversion from %s to %s at %L"
 msgstr "从 %s 转换到 %s,位于 %L"
 
-#: fortran/intrinsic.c:3882
+#: fortran/intrinsic.c:4041
 #, no-c-format
 msgid "Can't convert %s to %s at %L"
 msgstr "不能将 %s 转换为 %s,于 %L"
 
-#: fortran/intrinsic.c:3978
+#: fortran/intrinsic.c:4135
 #, no-c-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."
-msgstr ""
+msgstr "%L处声明的‘%s’可能掩盖同名的内建函数。调用内建函数可能需要显式的 INTRINSIC 声明。"
 
-#: fortran/intrinsic.c:3983
+#: fortran/intrinsic.c:4140
 #, no-c-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."
-msgstr ""
+msgstr "%2$L处声明的‘%1$s’也是一个内建函数的名字。它只能通过一个显式接口或声明 EXTERNAL 来调用。"
 
-#: fortran/io.c:164 fortran/primary.c:768
+#: fortran/io.c:167 fortran/primary.c:771
 #, no-c-format
 msgid "Extension: backslash character at %C"
 msgstr "扩展:%C处的反斜杠字符"
 
-#: fortran/io.c:198 fortran/io.c:201
+#: fortran/io.c:203 fortran/io.c:206
 #, no-c-format
 msgid "Extension: Tab character in format at %C"
 msgstr "扩展:%C处格式中的制表符"
 
-#: fortran/io.c:445
-#, fuzzy, no-c-format
+#: fortran/io.c:452
+#, no-c-format
 msgid "Fortran 2003: DP format specifier not allowed at %C"
-msgstr "Fortran 2003:%C处的 IMPORT 语句"
+msgstr "Fortran 2003:不允许在%C处使用 DP 格式限定符"
 
-#: fortran/io.c:452
-#, fuzzy, no-c-format
+#: fortran/io.c:459
+#, no-c-format
 msgid "Fortran 2003: DC format specifier not allowed at %C"
-msgstr "Fortran 2003:%C处的 VALUE 语句"
+msgstr "Fortran 2003:不允许在%C处使用 DC 格式限定符"
 
-#: fortran/io.c:488
+#: fortran/io.c:548
 msgid "Positive width required"
 msgstr "需要正的宽度"
 
-#: fortran/io.c:489
+#: fortran/io.c:549
 msgid "Nonnegative width required"
 msgstr "需要非负的宽度"
 
-#: fortran/io.c:490
-#, fuzzy
+#: fortran/io.c:550
 msgid "Unexpected element '%c' in format string at %L"
-msgstr "非预期的格式字符串结尾"
+msgstr "%2$L处格式字符串中非预期的元素‘%1$c’"
 
-#: fortran/io.c:492
+#: fortran/io.c:552
 msgid "Unexpected end of format string"
 msgstr "非预期的格式字符串结尾"
 
-#: fortran/io.c:493
-#, fuzzy
+#: fortran/io.c:553
 msgid "Zero width in format descriptor"
-msgstr "%s 格式字符串中域宽为 0"
+msgstr "格式描述中域宽为 0"
 
-#: fortran/io.c:512
+#: fortran/io.c:573
 msgid "Missing leading left parenthesis"
 msgstr "缺少前导左括号"
 
-#: fortran/io.c:559
+#: fortran/io.c:602
+msgid "Left parenthesis required after '*'"
+msgstr "‘*’后需要左括号"
+
+#: fortran/io.c:633
 msgid "Expected P edit descriptor"
 msgstr "需要 P 编辑描述符"
 
 #. P requires a prior number.
-#: fortran/io.c:567
+#: fortran/io.c:641
 msgid "P descriptor requires leading scale factor"
 msgstr "P 描述符需要前导因子"
 
-#. X requires a prior number if we're being pedantic.
-#: fortran/io.c:572
+#: fortran/io.c:648
 #, no-c-format
-msgid "Extension: X descriptor requires leading space count at %C"
-msgstr "扩展:%C 的 X 描述符需要前导空格数量"
+msgid "Extension: X descriptor requires leading space count at %L"
+msgstr "扩展:X 描述符在%L需要前导空格数量"
 
-#: fortran/io.c:596
+#: fortran/io.c:678
 #, no-c-format
-msgid "Extension: $ descriptor at %C"
-msgstr "扩展:%C处的 $ 描述符"
+msgid "Extension: $ descriptor at %L"
+msgstr "扩展:%L处的 $ 描述符"
 
-#: fortran/io.c:601
+#: fortran/io.c:683
 #, no-c-format
-msgid "$ should be the last specifier in format at %C"
-msgstr "$ 必须是%C处最后一个格式限定符"
+msgid "$ should be the last specifier in format at %L"
+msgstr "$ 必须是%L处最后一个格式限定符"
 
-#: fortran/io.c:650
-msgid "Repeat count cannot follow P descriptor"
-msgstr "重复记数不能在 P 描述符之后"
+#: fortran/io.c:736 fortran/io.c:750
+msgid "Comma required after P descriptor"
+msgstr "P 描述符后需要逗号"
 
-#: fortran/io.c:665
-#, fuzzy
+#: fortran/io.c:764
 msgid "Positive width required with T descriptor"
-msgstr "需要正的宽度"
+msgstr "T 描述符需要正的宽度"
 
-#: fortran/io.c:680
+#: fortran/io.c:781
 #, no-c-format
-msgid "Extension: Missing positive width after L descriptor at %C"
-msgstr "扩展:%C处的 L 描述符需要正的宽度"
+msgid "Extension: Missing positive width after L descriptor at %L"
+msgstr "扩展:%L处的 L 描述符后缺少正的宽度"
 
-#: fortran/io.c:723
-#, fuzzy, no-c-format
-msgid "Fortran 2008: 'G0' in format at %C"
-msgstr "Fortran 2003:%L处的 IOMSG 标记"
+#: fortran/io.c:825
+#, no-c-format
+msgid "Fortran 2008: 'G0' in format at %L"
+msgstr "Fortran 2008:%L处格式中的‘G0’"
+
+#: fortran/io.c:843
+msgid "E specifier not allowed with g0 descriptor"
+msgstr "g0 描述符不允许有 E 限定符"
+
+#: fortran/io.c:853
+#, no-c-format
+msgid "Positive width required in format specifier %s at %L"
+msgstr "%2$L处的格式指定 %1$s 需要正的宽度"
 
-#: fortran/io.c:751 fortran/io.c:753 fortran/io.c:814 fortran/io.c:816
+#: fortran/io.c:869 fortran/io.c:876
 #, no-c-format
-msgid "Period required in format specifier at %C"
-msgstr "%C处的格式限定符需要句点"
+msgid "Period required in format specifier %s at %L"
+msgstr "%2$L处的格式限定符%1$s中需要句号"
 
-#: fortran/io.c:785
+#: fortran/io.c:913
 msgid "Positive exponent width required"
 msgstr "需要正的指数宽度"
 
-#: fortran/io.c:834
+#: fortran/io.c:943
+msgid "Period required in format specifier"
+msgstr "格式限定符中需要句号"
+
+#: fortran/io.c:948
 #, no-c-format
-msgid "The H format specifier at %C is a Fortran 95 deleted feature"
-msgstr ""
+msgid "Period required in format specifier at %L"
+msgstr "%L处的格式限定符需要句号"
+
+#: fortran/io.c:970
+#, no-c-format
+msgid "The H format specifier at %L is a Fortran 95 deleted feature"
+msgstr "%L处的 H 格式限定符已在 Fortran 95 中被删除"
 
-#: fortran/io.c:919 fortran/io.c:976
+#: fortran/io.c:1058 fortran/io.c:1121
 #, no-c-format
-msgid "Extension: Missing comma at %C"
-msgstr "扩展:%C处缺少逗号"
+msgid "Extension: Missing comma at %L"
+msgstr "扩展:%L处缺少逗号"
 
-#: fortran/io.c:989
-#, fuzzy, no-c-format
+#: fortran/io.c:1140
+#, no-c-format
 msgid "%s in format string at %L"
-msgstr "%s 出现在%C处的格式字符串中"
+msgstr "%s 出现在%L处的格式字符串中"
 
-#: fortran/io.c:1034
-#, fuzzy, no-c-format
+#: fortran/io.c:1185
+#, no-c-format
 msgid "Format statement in module main block at %C"
-msgstr "忽略%C处的错误语句标号"
+msgstr "%C处模块主块中的格式语句"
 
-#: fortran/io.c:1040
+#: fortran/io.c:1191
 #, no-c-format
 msgid "Missing format label at %C"
 msgstr "%C处缺少格式标号"
 
-#: fortran/io.c:1100 fortran/io.c:1131 fortran/io.c:1193
-#, fuzzy, no-c-format
+#: fortran/io.c:1251 fortran/io.c:1282 fortran/io.c:1344
+#, no-c-format
 msgid "Invalid value for %s specification at %C"
-msgstr "重复 %s 指定,于 %C"
+msgstr "%2$C处‘%1$s’规格无效"
 
-#: fortran/io.c:1106 fortran/io.c:1137
+#: fortran/io.c:1257 fortran/io.c:1288
 #, no-c-format
 msgid "Duplicate %s specification at %C"
-msgstr "重复 %s 指定,于 %C"
+msgstr "%2$C处重复的 %1$s 规格"
 
-#: fortran/io.c:1144
-#, fuzzy, no-c-format
+#: fortran/io.c:1295
+#, no-c-format
 msgid "Variable %s cannot be INTENT(IN) at %C"
-msgstr "%C处的变量标记不能是 INTENT(IN)"
+msgstr "%2$C处的变量 %1$s 不能是 INTENT(IN)"
 
-#: fortran/io.c:1151
-#, fuzzy, no-c-format
+#: fortran/io.c:1302
+#, no-c-format
 msgid "Variable %s cannot be assigned in PURE procedure at %C"
-msgstr "变量标记不能被赋予%C处的 PURE 过程"
+msgstr "变量 %s 在%C处的 PURE 过程中不能被赋值"
 
-#: fortran/io.c:1199
+#: fortran/io.c:1350
 #, no-c-format
 msgid "Duplicate %s label specification at %C"
-msgstr "重复的 %s 标号指定,位于 %C"
+msgstr "%2$C处重复的 %1$s 标号规格"
 
-#: fortran/io.c:1219
+#: fortran/io.c:1370
 #, no-c-format
 msgid "Constant expression in FORMAT tag at %L must be of type default CHARACTER"
 msgstr "%L处 FORMAT 标记中的常量表达式默认类型必须为 CHARACTER"
 
-#: fortran/io.c:1232
-#, fuzzy, no-c-format
+#: fortran/io.c:1386
+#, no-c-format
 msgid "FORMAT tag at %L must be of type CHARACTER or INTEGER"
-msgstr "%s 标记在%L处必须具有类型 %s 或 %s"
+msgstr "%L处 FORMAT 标记必须具有类型 CHARACTER 或 INTEGER"
 
-#: fortran/io.c:1238
+#: fortran/io.c:1392
 #, no-c-format
 msgid "Deleted feature: ASSIGNED variable in FORMAT tag at %L"
 msgstr "已删除的特性:%L处 FORMAT 标记中有 ASSIGNED 变量"
 
-#: fortran/io.c:1244
+#: fortran/io.c:1398
 #, no-c-format
 msgid "Variable '%s' at %L has not been assigned a format label"
 msgstr "变量‘%s’在 %L 尚未分配到格式标号"
 
-#: fortran/io.c:1251
+#: fortran/io.c:1405
 #, no-c-format
 msgid "Scalar '%s' in FORMAT tag at %L is not an ASSIGNED variable"
-msgstr ""
-
-#: fortran/io.c:1264
-#, no-c-format
-msgid "Extension: Character array in FORMAT tag at %L"
-msgstr "扩展:%L处的 FORMAT 标记中有字符数组"
+msgstr "%2$L处的 FORMAT 标记中的标量‘%1$s’不是一个 ASSIGNED 变量"
 
-#: fortran/io.c:1270
+#: fortran/io.c:1417
 #, no-c-format
 msgid "Extension: Non-character in FORMAT tag at %L"
 msgstr "扩展:%L处的 FORMAT 标记中有非字符"
 
-#: fortran/io.c:1295
+#: fortran/io.c:1423
+#, no-c-format
+msgid "Non-character assumed shape array element in FORMAT tag at %L"
+msgstr "%L处的 FORMAT 标记中假定外形数组中有非字符元素"
+
+#: fortran/io.c:1430
+#, no-c-format
+msgid "Non-character assumed size array element in FORMAT tag at %L"
+msgstr "%L处的 FORMAT 标记中假定大小数组中有非字符元素"
+
+#: fortran/io.c:1437
+#, no-c-format
+msgid "Non-character pointer array element in FORMAT tag at %L"
+msgstr "%L处的 FORMAT 标记中有非字符指针数组元素"
+
+#: fortran/io.c:1463
 #, no-c-format
 msgid "%s tag at %L must be of type %s"
 msgstr "%s 标记在%L处必须具有类型 %s"
 
-#: fortran/io.c:1302
+#: fortran/io.c:1470
 #, no-c-format
 msgid "%s tag at %L must be scalar"
 msgstr "%s 标记在%L处必须是标量"
 
-#: fortran/io.c:1308
+#: fortran/io.c:1476
 #, no-c-format
 msgid "Fortran 2003: IOMSG tag at %L"
 msgstr "Fortran 2003:%L处的 IOMSG 标记"
 
-#: fortran/io.c:1316
+#: fortran/io.c:1484
 #, no-c-format
 msgid "Fortran 95 requires default INTEGER in %s tag at %L"
 msgstr "Fortran 95 在%2$L处的 %1$s 标记中需要默认的 INTEGER"
 
-#: fortran/io.c:1324
+#: fortran/io.c:1492
 #, no-c-format
 msgid "Extension: CONVERT tag at %L"
 msgstr "扩展:%L处的 CONVERT 标记"
 
-#: fortran/io.c:1505 fortran/io.c:1513
+#: fortran/io.c:1678 fortran/io.c:1686
 #, no-c-format
 msgid "Fortran 2003: %s specifier in %s statement at %C has value '%s'"
 msgstr "Fortran 2003:%3$C 处 %2$s 语句中的 %1$s 限定符值为‘%4$s’"
 
-#: fortran/io.c:1532 fortran/io.c:1540
+#: fortran/io.c:1705 fortran/io.c:1713
 #, no-c-format
 msgid "Extension: %s specifier in %s statement at %C has value '%s'"
-msgstr ""
+msgstr "扩展:为%3$C处 %2$s 语句中的 %1$s 指定了值‘%4$s’"
 
-#: fortran/io.c:1553 fortran/io.c:1561
-#, fuzzy, no-c-format
+#: fortran/io.c:1726 fortran/io.c:1734
+#, no-c-format
 msgid "%s specifier in %s statement at %C has invalid value '%s'"
-msgstr "DATA 语句不允许出现在%C处的 PURE 过程中"
+msgstr "为%3$C处 %2$s 语句中 %1$s 指定了非法的值‘%4$s’"
 
-#: fortran/io.c:1616
+#: fortran/io.c:1789
 #, no-c-format
 msgid "OPEN statement not allowed in PURE procedure at %C"
 msgstr "OPEN 语句不允许出现在%C处的 PURE 过程中"
 
-#: fortran/io.c:1649
+#: fortran/io.c:1800
+#, no-c-format
+msgid "UNIT specifier not allowed with NEWUNIT at %C"
+msgstr "不能为%C处的 NEWUNIT 指定 UNIT"
+
+#: fortran/io.c:1808
+#, no-c-format
+msgid "NEWUNIT specifier must have FILE= or STATUS='scratch' at %C"
+msgstr "%C处的 NEWUNIT 限定符必须有 FILE= 或 STATUS='scratch'"
+
+#: fortran/io.c:1842
 #, no-c-format
 msgid "Fortran 2003: ASYNCHRONOUS= at %C not allowed in Fortran 95"
-msgstr ""
+msgstr "Fortran 2003:%C处的 ASYNCHRONOUS= 不允许用在 Fortran 95 中"
 
-#: fortran/io.c:1667 fortran/io.c:3045
+#: fortran/io.c:1860 fortran/io.c:3274
 #, no-c-format
 msgid "Fortran 2003: BLANK= at %C not allowed in Fortran 95"
-msgstr ""
+msgstr "Fortran 2003:%C处的 BLANK= 不允许用在 Fortran 95 中"
 
-#: fortran/io.c:1685 fortran/io.c:3024
+#: fortran/io.c:1878 fortran/io.c:3253
 #, no-c-format
 msgid "Fortran 2003: DECIMAL= at %C not allowed in Fortran 95"
-msgstr ""
+msgstr "Fortran 2003:%C处的 DECIMAL= 不允许用在 Fortran 95 中"
 
-#: fortran/io.c:1703 fortran/io.c:3135
+#: fortran/io.c:1896 fortran/io.c:3361
 #, no-c-format
 msgid "Fortran 2003: DELIM= at %C not allowed in Fortran 95"
-msgstr ""
+msgstr "Fortran 2003:%C处的 DELIM= 不允许用在 Fortran 95 中"
 
-#: fortran/io.c:1721
+#: fortran/io.c:1914
 #, no-c-format
 msgid "Fortran 2003: ENCODING= at %C not allowed in Fortran 95"
-msgstr ""
+msgstr "Fortran 2003:%C处的 ENCODING= 不允许用在 Fortran 95 中"
 
-#. When implemented, change the following to use gfc_notify_std F2003.
-#: fortran/io.c:1773
-#, fuzzy, no-c-format
-msgid "Fortran F2003: ROUND= specifier at %C not implemented"
-msgstr "Fortran 2003:%C处的派生类型定义没有组件"
+#: fortran/io.c:1965
+#, no-c-format
+msgid "Fortran F2003: ROUND= at %C not allowed in Fortran 95"
+msgstr "Fortran 2003:%C处的 ROUND= 不允许用在 Fortran 95 中"
 
-#: fortran/io.c:1792
+#: fortran/io.c:1985
 #, no-c-format
 msgid "Fortran 2003: SIGN= at %C not allowed in Fortran 95"
-msgstr ""
+msgstr "Fortran 2003:%C处的 SIGN= 不允许用在 Fortran 95 中"
 
-#: fortran/io.c:2005
+#: fortran/io.c:2198
 #, no-c-format
 msgid "CLOSE statement not allowed in PURE procedure at %C"
 msgstr "CLOSE 语句不允许出现在%C处的 PURE 过程中"
 
-#: fortran/io.c:2142 fortran/match.c:1948
-#, fuzzy, no-c-format
+#: fortran/io.c:2245
+#, no-c-format
+msgid "UNIT number in CLOSE statement at %L must be non-negative"
+msgstr "%L处 CLOSE 语句中的 UNIT 数必须是非负的"
+
+#: fortran/io.c:2343 fortran/match.c:1976
+#, no-c-format
 msgid "%s statement not allowed in PURE procedure at %C"
-msgstr "OPEN 语句不允许出现在%C处的 PURE 过程中"
+msgstr "%s 语句不允许出现在%C处的 PURE 程序中"
 
-#: fortran/io.c:2198
+#: fortran/io.c:2375 fortran/io.c:2783
+#, no-c-format
+msgid "UNIT number in statement at %L must be non-negative"
+msgstr "%L处的语句中 UNIT 数必须为非负的数"
+
+#: fortran/io.c:2407
 #, no-c-format
 msgid "Fortran 2003: FLUSH statement at %C"
 msgstr "Fortran 2003:%C处的 FLUSH 语句"
 
-#: fortran/io.c:2254
+#: fortran/io.c:2463
 #, no-c-format
 msgid "Duplicate UNIT specification at %C"
-msgstr "%C处重复的 UNIT 指定"
+msgstr "%C处重复的 UNIT 规格"
 
-#: fortran/io.c:2314
+#: fortran/io.c:2523
 #, no-c-format
 msgid "Duplicate format specification at %C"
-msgstr "%C处重复的格式指定"
+msgstr "%C处重复的格式规格"
 
-#: fortran/io.c:2331
+#: fortran/io.c:2540
 #, no-c-format
 msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
 msgstr "符号‘%s’在名字列表‘%s’是 INTENT(IN),位于 %C"
 
-#: fortran/io.c:2367
+#: fortran/io.c:2576
 #, no-c-format
 msgid "Duplicate NML specification at %C"
-msgstr "%C处重复的 NML 指定"
+msgstr "%C处重复的 NML 规格"
 
-#: fortran/io.c:2376
+#: fortran/io.c:2585
 #, no-c-format
 msgid "Symbol '%s' at %C must be a NAMELIST group name"
-msgstr ""
+msgstr "%2$C处的符号‘%1$s’必须是个 NAMELIST 组名"
 
-#: fortran/io.c:2441
+#: fortran/io.c:2650
 #, no-c-format
 msgid "END tag at %C not allowed in output statement"
 msgstr "%C处的 END 标记不允许出现在输出语句中"
 
-#: fortran/io.c:2517
+#: fortran/io.c:2721
+#, no-c-format
+msgid "UNIT not specified at %L"
+msgstr "%L没有指定 UNIT"
+
+#: fortran/io.c:2733
 #, no-c-format
 msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
-msgstr "%L处指定的 UNIT 必须是 INTEGER 表达式或一个 CHARACTER 变量"
+msgstr "%L处的 UNIT 规格必须是 INTEGER 表达式或一个 CHARACTER 变量"
 
-#: fortran/io.c:2542
-#, fuzzy, no-c-format
+#: fortran/io.c:2758
+#, no-c-format
 msgid "Invalid form of WRITE statement at %L, UNIT required"
-msgstr "%C处 PROGRAM 语句格式无效"
+msgstr "%L处 WRITE 语句形式无效,需要 UNIT"
 
-#: fortran/io.c:2553
+#: fortran/io.c:2769
 #, no-c-format
 msgid "Internal unit with vector subscript at %L"
-msgstr "%L处内部单位带量下标"
+msgstr "%L处内部单位带量下标"
 
-#: fortran/io.c:2560
+#: fortran/io.c:2776
 #, no-c-format
 msgid "External IO UNIT cannot be an array at %L"
 msgstr "%L处的外部 IO UNIT 不能是数组"
 
-#: fortran/io.c:2565
-#, fuzzy, no-c-format
+#: fortran/io.c:2788
+#, no-c-format
 msgid "Extension: Comma before i/o item list at %L"
-msgstr "扩展:%C处 i/o 项目表前的逗号"
+msgstr "扩展:%L处 i/o 项目列表前的逗号"
 
-#: fortran/io.c:2575
+#: fortran/io.c:2798
 #, no-c-format
 msgid "ERR tag label %d at %L not defined"
 msgstr "ERR 标号 %d 在%L处未定义"
 
-#: fortran/io.c:2587
+#: fortran/io.c:2810
 #, no-c-format
 msgid "END tag label %d at %L not defined"
 msgstr "END 标号 %d 在%L处未定义"
 
-#: fortran/io.c:2599
+#: fortran/io.c:2822
 #, no-c-format
 msgid "EOR tag label %d at %L not defined"
 msgstr "EOR 标号 %d 在%L处未定义"
 
-#: fortran/io.c:2609
+#: fortran/io.c:2832
 #, no-c-format
 msgid "FORMAT label %d at %L not defined"
 msgstr "FORMAT 标号 %d 在%L处未定义"
 
-#: fortran/io.c:2730
+#: fortran/io.c:2953
 #, no-c-format
 msgid "Syntax error in I/O iterator at %C"
 msgstr "%C处 I/O 游标语法错误"
 
-#: fortran/io.c:2761
+#: fortran/io.c:2984
 #, no-c-format
 msgid "Expected variable in READ statement at %C"
 msgstr "%C READ 语句需要变量"
 
-#: fortran/io.c:2767
+#: fortran/io.c:2990
 #, no-c-format
 msgid "Expected expression in %s statement at %C"
 msgstr "%2$C处需要 %1$s 语句"
 
-#: fortran/io.c:2777
+#: fortran/io.c:3000
 #, no-c-format
 msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
-msgstr ""
+msgstr "%2$C处输入列表中的变量‘%1$s’不能是 INTENT(IN)"
 
-#: fortran/io.c:2786
+#: fortran/io.c:3010
 #, no-c-format
 msgid "Cannot read to variable '%s' in PURE procedure at %C"
 msgstr "不能在%2$C处的 PURE 过程中读取变量‘%1$s’"
 
-#: fortran/io.c:2802
+#: fortran/io.c:3027
 #, no-c-format
 msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
-msgstr ""
+msgstr "%2$C处 PURE 过程中不能写入内部文件单元‘%1$s’"
 
 #. A general purpose syntax error.
-#: fortran/io.c:2863 fortran/io.c:3462 fortran/gfortran.h:2202
+#: fortran/io.c:3088 fortran/io.c:3692 fortran/gfortran.h:2364
 #, no-c-format
 msgid "Syntax error in %s statement at %C"
 msgstr "%s 语句在%C处语法错误"
 
-#: fortran/io.c:2944
-#, fuzzy, no-c-format
+#: fortran/io.c:3173
+#, no-c-format
 msgid "Fortran 2003: Internal file at %L with namelist"
-msgstr "Fortran 2003:%L处的 IOMSG 标记"
+msgstr "Fortran 2003:%L处内部文件有名字列表"
 
-#: fortran/io.c:2998
-#, fuzzy, no-c-format
+#: fortran/io.c:3227
+#, no-c-format
 msgid "ASYNCHRONOUS= specifier at %L must be an initialization expression"
-msgstr "KIND 参数 %s 在%L处必须是初始化表达式"
+msgstr "必须为%L处的 ASYNCHRONOUS= 指定一个初始化表达式"
 
-#: fortran/io.c:3066
+#: fortran/io.c:3295
 #, no-c-format
 msgid "Fortran 2003: PAD= at %C not allowed in Fortran 95"
-msgstr ""
+msgstr "Fortran 2003:%C处的 PAD= 不允许用在 Fortran 95 中"
 
-#. When implemented, change the following to use gfc_notify_std F2003.
-#. if (gfc_notify_std (GFC_STD_F2003, "Fortran 2003: ROUND= at %C "
-#. "not allowed in Fortran 95") == FAILURE)
-#. return MATCH_ERROR;
-#: fortran/io.c:3091
+#: fortran/io.c:3316
 #, no-c-format
-msgid "F2003 Feature: ROUND= specifier at %C not implemented"
-msgstr ""
+msgid "Fortran 2003: ROUND= at %C not allowed in Fortran 95"
+msgstr "Fortran 2003:%C处的 ROUND= 不允许用在 Fortran 95 中"
 
-#: fortran/io.c:3280
+#: fortran/io.c:3510
 #, no-c-format
 msgid "PRINT namelist at %C is an extension"
 msgstr "%C处的 PRINT 名字列表是一个扩展"
 
-#: fortran/io.c:3432
+#: fortran/io.c:3662
 #, no-c-format
 msgid "Expected comma in I/O list at %C"
 msgstr "%C处 I/O 列表中需要逗号"
 
-#: fortran/io.c:3496
+#: fortran/io.c:3726
 #, no-c-format
 msgid "PRINT statement at %C not allowed within PURE procedure"
 msgstr "PRINT 语句不允许出现在%C处的 PURE 过程中"
 
-#: fortran/io.c:3650 fortran/io.c:3701
+#: fortran/io.c:3882 fortran/io.c:3933
 #, no-c-format
 msgid "INQUIRE statement not allowed in PURE procedure at %C"
 msgstr "INQUIRE 语句不允许出现在%C处的 PURE 过程中"
 
-#: fortran/io.c:3677
+#: fortran/io.c:3909
 #, no-c-format
 msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
-msgstr ""
+msgstr "%C处的 INQUIRE 语句中 IOLENGTH 标记无效"
 
-#: fortran/io.c:3687 fortran/trans-io.c:1178
+#: fortran/io.c:3919 fortran/trans-io.c:1181
 #, no-c-format
 msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
-msgstr ""
+msgstr "%L处的 INQUIRE 语句不能包含 FILE 和 UNIT 限定符"
 
-#: fortran/io.c:3694
+#: fortran/io.c:3926
 #, no-c-format
 msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
 msgstr "%L处的 INQUIRE 语句需要 FILE 或 UNIT 限定符"
 
-#: fortran/io.c:3707
-#, fuzzy, no-c-format
+#: fortran/io.c:3939
+#, no-c-format
 msgid "INQUIRE statement at %L requires a PENDING= specifier with the ID= specifier"
-msgstr "%L处的 INQUIRE 语句需要 FILE 或 UNIT 限定符"
+msgstr "%L处的 INQUIRE 语句需要带有 ID= 指定的 PENDING="
 
-#: fortran/io.c:3866
+#: fortran/io.c:4096
 #, no-c-format
 msgid "Fortran 2003: WAIT at %C not allowed in Fortran 95"
-msgstr ""
+msgstr "Fortran 2003:%C处的 WAIT 不允许用在 Fortran 95 中"
 
-#: fortran/io.c:3872
-#, fuzzy, no-c-format
+#: fortran/io.c:4102
+#, no-c-format
 msgid "WAIT statement not allowed in PURE procedure at %C"
-msgstr "OPEN 语句不允许出现在%C处的 PURE 过程中"
+msgstr "%C处的 PURE 过程中不允许 WAIT 语句"
 
-#: fortran/match.c:158
-#, fuzzy, no-c-format
+#: fortran/match.c:161
+#, no-c-format
 msgid "Missing ')' in statement at or before %L"
-msgstr "%L 前语句中缺少‘)’"
+msgstr "语句在%L前缺少‘)’"
 
-#: fortran/match.c:163
-#, fuzzy, no-c-format
+#: fortran/match.c:166
+#, no-c-format
 msgid "Missing '(' in statement at or before %L"
-msgstr "%L 前语句中缺少‘(’"
+msgstr "语句在%L前缺少‘(’"
 
-#: fortran/match.c:360
+#: fortran/match.c:363
 #, no-c-format
 msgid "Integer too large at %C"
 msgstr "%C处整数太大"
 
-#: fortran/match.c:453 fortran/parse.c:598
+#: fortran/match.c:456 fortran/parse.c:631
 #, no-c-format
 msgid "Too many digits in statement label at %C"
 msgstr "%C处语句标号中数字太多"
 
-#: fortran/match.c:459
+#: fortran/match.c:462
 #, no-c-format
 msgid "Statement label at %C is zero"
 msgstr "%C处的语句标号为零"
 
-#: fortran/match.c:492
+#: fortran/match.c:495
 #, no-c-format
 msgid "Label name '%s' at %C is ambiguous"
 msgstr "标号名‘%s’在%C处有歧义"
 
-#: fortran/match.c:498
+#: fortran/match.c:501
 #, no-c-format
 msgid "Duplicate construct label '%s' at %C"
 msgstr "重复的构造标号‘%s’出现在%C处"
 
-#: fortran/match.c:529
+#: fortran/match.c:532
 #, no-c-format
 msgid "Invalid character in name at %C"
 msgstr "%C处的名字中有非法字符"
 
-#: fortran/match.c:542 fortran/match.c:623
+#: fortran/match.c:545 fortran/match.c:626
 #, no-c-format
 msgid "Name at %C is too long"
 msgstr "%C 的名字太长"
 
-#: fortran/match.c:553
+#: fortran/match.c:556
 #, no-c-format
 msgid "Invalid character '$' at %C. Use -fdollar-ok to allow it as an extension"
-msgstr ""
+msgstr "%C处无效的字符‘$’。使用 -fdollar-ok 以允许它作为一个扩展"
 
-#: fortran/match.c:604 fortran/match.c:652
+#: fortran/match.c:607 fortran/match.c:655
 #, no-c-format
 msgid "Invalid C name in NAME= specifier at %C"
 msgstr "%C处 NAME= 限定符中 C 名字无效"
 
-#: fortran/match.c:643
-#, fuzzy, no-c-format
+#: fortran/match.c:646
+#, no-c-format
 msgid "Embedded space in NAME= specifier at %C"
-msgstr "%C处的格式限定符需要句点"
+msgstr "%C处 NAME= 限定符中嵌入了空白"
 
-#: fortran/match.c:968
+#: fortran/match.c:971
 #, no-c-format
 msgid "Loop variable at %C cannot be a sub-component"
 msgstr "%C处的循环变量不能是一个子组件"
 
-#: fortran/match.c:974
+#: fortran/match.c:977
 #, no-c-format
 msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
 msgstr "循环变量‘%s’在%C处不能是 INTENT(IN)"
 
-#: fortran/match.c:1007
+#: fortran/match.c:1010
 #, no-c-format
 msgid "Expected a step value in iterator at %C"
 msgstr "%C处的迭代子需要一个步进值"
 
-#: fortran/match.c:1019
+#: fortran/match.c:1022
 #, no-c-format
 msgid "Syntax error in iterator at %C"
 msgstr "%C处游标语法错误"
 
-#: fortran/match.c:1260
+#: fortran/match.c:1263
 #, no-c-format
 msgid "Invalid form of PROGRAM statement at %C"
 msgstr "%C处 PROGRAM 语句格式无效"
 
-#: fortran/match.c:1385 fortran/match.c:1466
+#: fortran/match.c:1389 fortran/match.c:1470
 #, no-c-format
-msgid "Obsolescent: arithmetic IF statement at %C"
-msgstr "已过时:%C处的算术 IF 语句"
+msgid "Obsolescent feature: Arithmetic IF statement at %C"
+msgstr "已过时的特性:%C处的算术 IF 语句"
 
-#: fortran/match.c:1441
+#: fortran/match.c:1445
 #, no-c-format
 msgid "Syntax error in IF-expression at %C"
 msgstr "%C处 IF 表达式语法错误"
 
-#: fortran/match.c:1452
+#: fortran/match.c:1456
 #, no-c-format
 msgid "Block label not appropriate for arithmetic IF statement at %C"
-msgstr ""
+msgstr "%C处的块标号不适于算术 IF 语句"
 
-#: fortran/match.c:1490
-#, fuzzy, no-c-format
+#: fortran/match.c:1494
+#, no-c-format
 msgid "Block label is not appropriate for IF statement at %C"
-msgstr "已过时:%C处的算术 IF 语句"
+msgstr "%C处的块标号不适于 IF 语句"
 
-#: fortran/match.c:1570 fortran/primary.c:2881
+#: fortran/match.c:1574 fortran/primary.c:3007
 #, no-c-format
 msgid "Cannot assign to a named constant at %C"
 msgstr "无法赋值给%C处的有名常量"
 
-#: fortran/match.c:1580
+#: fortran/match.c:1584
 #, no-c-format
 msgid "Unclassifiable statement in IF-clause at %C"
 msgstr "%C处 IF 子句中有无法归类的语句"
 
-#: fortran/match.c:1587
+#: fortran/match.c:1591
 #, no-c-format
 msgid "Syntax error in IF-clause at %C"
 msgstr "%C处 IF 语句语法错误"
 
-#: fortran/match.c:1631
+#: fortran/match.c:1635
 #, no-c-format
 msgid "Unexpected junk after ELSE statement at %C"
 msgstr "%C处 ELSE 语句后有非预期的垃圾字符"
 
-#: fortran/match.c:1637 fortran/match.c:1672
+#: fortran/match.c:1641 fortran/match.c:1676
 #, no-c-format
 msgid "Label '%s' at %C doesn't match IF label '%s'"
-msgstr ""
+msgstr "%2$C处标号‘%1$s’与 IF 标号‘%3$s’不匹配"
 
-#: fortran/match.c:1666
+#: fortran/match.c:1670
 #, no-c-format
 msgid "Unexpected junk after ELSE IF statement at %C"
 msgstr "%C处 ELSE IF 语句后有非预期的垃圾字符"
 
-#: fortran/match.c:1834
-#, fuzzy, no-c-format
+#: fortran/match.c:1862
+#, no-c-format
 msgid "Name '%s' in %s statement at %C is not a loop name"
-msgstr "DATA 语句不允许出现在%C处的 PURE 过程中"
+msgstr "%3$C处 %2$s 语句中的名字‘%1$s’不是一个循环名"
 
-#: fortran/match.c:1850
+#: fortran/match.c:1878
 #, no-c-format
 msgid "%s statement at %C is not within a loop"
 msgstr "%s 语句在%C处不在循环内"
 
-#: fortran/match.c:1853
+#: fortran/match.c:1881
 #, no-c-format
 msgid "%s statement at %C is not within loop '%s'"
 msgstr "%s 语句在%C处不在循环‘%s’内"
 
-#: fortran/match.c:1861
+#: fortran/match.c:1889
 #, no-c-format
 msgid "%s statement at %C leaving OpenMP structured block"
 msgstr "%s 语句在%C处离开 OpenMP 结构块"
 
-#: fortran/match.c:1874
+#: fortran/match.c:1902
 #, no-c-format
 msgid "EXIT statement at %C terminating !$OMP DO loop"
 msgstr "%C处的 EXIT 语句终结了 !$OMP DO 循环"
 
-#: fortran/match.c:1926
+#: fortran/match.c:1954
 #, no-c-format
 msgid "Too many digits in STOP code at %C"
 msgstr "%C处 STOP 代码中数字太多"
 
-#: fortran/match.c:1979
+#: fortran/match.c:2007
 #, no-c-format
 msgid "Deleted feature: PAUSE statement at %C"
 msgstr "已删除的特性:%C处的 PAUSE 语句"
 
-#: fortran/match.c:2027
+#: fortran/match.c:2055
 #, no-c-format
 msgid "Deleted feature: ASSIGN statement at %C"
 msgstr "已删除的特性:%C处的 ASSIGN 语句"
 
-#: fortran/match.c:2073
+#: fortran/match.c:2101
 #, no-c-format
 msgid "Deleted feature: Assigned GOTO statement at %C"
 msgstr "已删除的特性:%C处赋值 GOTO 语句"
 
-#: fortran/match.c:2120 fortran/match.c:2172
+#: fortran/match.c:2148 fortran/match.c:2200
 #, no-c-format
 msgid "Statement label list in GOTO at %C cannot be empty"
-msgstr ""
+msgstr "%C处 GOTO 中的语句标号列表不能为空"
 
-#: fortran/match.c:2256
+#: fortran/match.c:2210
 #, no-c-format
-msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
-msgstr ""
+msgid "Obsolescent feature: Computed GOTO at %C"
+msgstr "已过时的特性:%C处的计算转移 GOTO 语句"
+
+#. Enforce F03:C476.
+#: fortran/match.c:2273
+#, no-c-format
+msgid "'%s' at %L is not an accessible derived type"
+msgstr "‘%s’在%L处不是一个可访问的派生类型"
+
+#: fortran/match.c:2351
+#, no-c-format
+msgid "Derived type '%s' at %L may not be ABSTRACT"
+msgstr "%2$L处派生类型‘%1$s’不能是 ABSTRACT"
+
+#: fortran/match.c:2369
+#, no-c-format
+msgid "Invalid type-spec at %C"
+msgstr "%C处类型指定无效"
+
+#: fortran/match.c:2422
+#, no-c-format
+msgid "Fortran 2003: typespec in ALLOCATE at %L"
+msgstr "Fortran 2003:%L处 ALLOCATE 中有 typespec"
+
+#: fortran/match.c:2454
+#, no-c-format
+msgid "Bad allocate-object at %C for a PURE procedure"
+msgstr "%C处 PURE 过程中分配对象错误"
+
+#: fortran/match.c:2465
+#, no-c-format
+msgid "Type of entity at %L is type incompatible with typespec"
+msgstr "%L处实体类型与 typepec 类型不兼容"
+
+#: fortran/match.c:2473
+#, no-c-format
+msgid "Kind type parameter for entity at %L differs from the kind type parameter of the typespec"
+msgstr "%L实体的种别类型参数与类型限定中的种别类型参数不同"
+
+#: fortran/match.c:2500 fortran/match.c:2755
+#, no-c-format
+msgid "Allocate-object at %C is not a nonprocedure pointer or an allocatable variable"
+msgstr "%C处的分配对象不是一个非过程指针或可分配的变量"
+
+#: fortran/match.c:2518 fortran/match.c:2772
+#, no-c-format
+msgid "Redundant STAT tag found at %L "
+msgstr "%L处有多余的 STAT 标记"
+
+#: fortran/match.c:2537
+#, no-c-format
+msgid "Fortran 2003: ERRMSG tag at %L"
+msgstr "Fortran 2003:%L处的 ERRMSG 标记"
+
+#: fortran/match.c:2544 fortran/match.c:2798
+#, no-c-format
+msgid "Redundant ERRMSG tag found at %L "
+msgstr "%L有多余的 ERRMSG 标记"
+
+#: fortran/match.c:2560
+#, no-c-format
+msgid "Fortran 2003: SOURCE tag at %L"
+msgstr "Fortran 2003:%L处的 SOURCE 标记"
+
+#: fortran/match.c:2567
+#, no-c-format
+msgid "Redundant SOURCE tag found at %L "
+msgstr "%L有多余的 SOURCE 标记"
+
+#: fortran/match.c:2574
+#, no-c-format
+msgid "SOURCE tag at %L conflicts with the typespec at %L"
+msgstr "%L处的 SOURCE 标记与%L处的类型指定冲突"
+
+#: fortran/match.c:2581
+#, no-c-format
+msgid "SOURCE tag at %L requires only a single entity in the allocation-list"
+msgstr "%L处的 SOURCE 标记在分配列表中只需要一个单独的实体"
 
-#: fortran/match.c:2324
+#: fortran/match.c:2653
 #, no-c-format
 msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
-msgstr ""
+msgstr "%C处PURE 过程 NULLIFY 中非法的变量"
 
-#: fortran/match.c:2401
+#: fortran/match.c:2739
 #, no-c-format
-msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
-msgstr ""
+msgid "Illegal allocate-object at %C for a PURE procedure"
+msgstr "%C处 PURE 过程中的分配对象非法"
+
+#: fortran/match.c:2792
+#, no-c-format
+msgid "Fortran 2003: ERRMSG at %L"
+msgstr "Fortran 2003:%L处的 ERRMSG"
 
-#: fortran/match.c:2453
+#: fortran/match.c:2852
 #, no-c-format
 msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
 msgstr "%C处的替代 RETURN 语句只允许出现在 SUBROUTINE 中"
 
-#: fortran/match.c:2484
+#: fortran/match.c:2857
+#, no-c-format
+msgid "Obsolescent feature: Alternate RETURN at %C"
+msgstr "已过时的特性:%C处交替的 RETURN"
+
+#: fortran/match.c:2887
 #, no-c-format
 msgid "Extension: RETURN statement in main program at %C"
 msgstr "扩展:%C处 RETURN 语句出现在主程序中"
 
-#: fortran/match.c:2515
-#, fuzzy, no-c-format
+#: fortran/match.c:2915
+#, no-c-format
 msgid "Expected component reference at %C"
-msgstr "%Cå¤\84é\9c\80è¦\81ç»\93æ\9e\84ç»\84件å\90\8d"
+msgstr "%Cå¤\84é\9c\80è¦\81ç»\84件å¼\95ç\94¨"
 
-#: fortran/match.c:2521
+#: fortran/match.c:2921
 #, no-c-format
 msgid "Junk after CALL at %C"
-msgstr ""
+msgstr "%C处在 CALL 以后有垃圾字符"
 
-#: fortran/match.c:2527
-#, fuzzy, no-c-format
-msgid "Expected type-bound procedure reference at %C"
-msgstr "参数‘%s’在%L处需要一个过程"
+#: fortran/match.c:2931
+#, no-c-format
+msgid "Expected type-bound procedure or procedure pointer component at %C"
+msgstr "%C处需要一个类型限定的过程或过程指针组件"
 
-#: fortran/match.c:2745
+#: fortran/match.c:3150
 #, no-c-format
 msgid "Syntax error in common block name at %C"
 msgstr "%C处公共块名语法错误"
 
-#: fortran/match.c:2781
+#: fortran/match.c:3186
 #, no-c-format
 msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
 msgstr "符号‘%s’在%C处已经是一个非 COMMON 的外部符号"
@@ -6927,122 +7527,152 @@ msgstr "符号‘%s’在%C处已经是一个非 COMMON 的外部符号"
 #. If we find an error, just print it and continue,
 #. cause it's just semantic, and we can see if there
 #. are more errors.
-#: fortran/match.c:2840
+#: fortran/match.c:3245
 #, no-c-format
 msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
-msgstr ""
+msgstr "%4$C处公共块‘%3$s’中的%2$L处的变量‘%1$s’必须声明为有与 C 可互操作的种别,因为公共块‘%5$s’是 bind(c)"
 
-#: fortran/match.c:2849
+#: fortran/match.c:3254
 #, no-c-format
 msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
-msgstr ""
+msgstr "%3$C处的公共块‘%2$s’中的变量‘%1$s’不能是 bind(c),因为它不是全局的"
 
-#: fortran/match.c:2856
+#: fortran/match.c:3261
 #, no-c-format
 msgid "Symbol '%s' at %C is already in a COMMON block"
 msgstr "符号‘%s’在%C处已经在一个 COMMON 块中"
 
-#: fortran/match.c:2864
+#: fortran/match.c:3269
 #, no-c-format
 msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
-msgstr ""
+msgstr "%2$C处已初始化的符号‘%1$s’仅可以是在 BLOCK DATA 中的 COMMON"
 
-#: fortran/match.c:2891
+#: fortran/match.c:3296
 #, no-c-format
 msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
-msgstr ""
+msgstr "%2$C处 COMMON 中符号‘%1$s’的数组规格必须是显式的"
 
-#: fortran/match.c:2901
+#: fortran/match.c:3306
 #, no-c-format
 msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
-msgstr ""
+msgstr "%2$C处 COMMON 中的符号‘%1$s’不能是个 POINTER 数组"
 
-#: fortran/match.c:2933
+#: fortran/match.c:3338
 #, no-c-format
 msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
-msgstr ""
+msgstr "%3$C处 COMMON 块‘%2$s’的中符号‘%1$s’间接地等价于另一个 COMMON 块‘%4$s’"
 
-#: fortran/match.c:3041
+#: fortran/match.c:3446
 #, no-c-format
 msgid "Namelist group name '%s' at %C already has a basic type of %s"
-msgstr ""
+msgstr "%2$C处的组名列表‘%1$s’已经有一个基本类型 %3$s"
 
-#: fortran/match.c:3049
+#: fortran/match.c:3454
 #, no-c-format
 msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
-msgstr ""
+msgstr "%2$C处组名列表‘%1$s’已经为 USE 相关因此不能被重新指定。"
 
-#: fortran/match.c:3076
-#, fuzzy, no-c-format
+#: fortran/match.c:3481
+#, no-c-format
 msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
-msgstr "%C处的空数组构造不被允许"
+msgstr "%3$C处名字列表‘%2$s’中的假定大小数组‘%1$s’不被允许"
 
-#: fortran/match.c:3083
-#, fuzzy, no-c-format
+#: fortran/match.c:3488
+#, no-c-format
 msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
-msgstr "%C处的空数组构造不被允许"
+msgstr "%3$C处名字列表‘%2$s’中假定字符长度‘%1$s’不被允许"
 
-#: fortran/match.c:3210
+#: fortran/match.c:3615
 #, no-c-format
 msgid "Derived type component %C is not a permitted EQUIVALENCE member"
-msgstr ""
+msgstr "派生类型组件%C不是允许的 EQUIVALENCE 成员"
 
-#: fortran/match.c:3218
+#: fortran/match.c:3623
 #, no-c-format
 msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
-msgstr ""
+msgstr "%C处 EQUIVALENCE 中的数组引用不能是个数组段"
 
-#: fortran/match.c:3246
+#: fortran/match.c:3651
 #, no-c-format
 msgid "EQUIVALENCE at %C requires two or more objects"
-msgstr ""
+msgstr "%C处的 EQUIVALENCE 需要两个或更多的对象"
 
-#: fortran/match.c:3260
+#: fortran/match.c:3665
 #, no-c-format
 msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
-msgstr ""
+msgstr "%3$C处的 EQUIVALENCE 试图间接地重叠 COMMON 块 %1$s 和 %2$s"
 
-#: fortran/match.c:3386
+#: fortran/match.c:3678
+#, no-c-format
+msgid "Expecting a comma in EQUIVALENCE at %C"
+msgstr "%C处 EQUIVALENCE 中需要逗号"
+
+#: fortran/match.c:3794
 #, no-c-format
 msgid "Statement function at %L is recursive"
 msgstr "%L处的语句函数是递归的"
 
-#: fortran/match.c:3474
+#: fortran/match.c:3800
+#, no-c-format
+msgid "Obsolescent feature: Statement function at %C"
+msgstr "已过时的特性:%C处的语句函数"
+
+#: fortran/match.c:3886
 #, no-c-format
 msgid "Expected initialization expression in CASE at %C"
 msgstr "%C处 CASE 中需要初始化表达式"
 
-#: fortran/match.c:3497
-#, fuzzy, no-c-format
-msgid "Expected the name of the SELECT CASE construct at %C"
-msgstr "%C 需要一个无名接口"
+#: fortran/match.c:3918
+#, no-c-format
+msgid "Expected block name '%s' of SELECT construct at %C"
+msgstr "%C处 SELECT 构造中需要块名‘%s’"
+
+#: fortran/match.c:4039
+#, no-c-format
+msgid "Selector in SELECT TYPE at %C is not a named variable; use associate-name=>"
+msgstr "%C处 SELECT TYPE 中的选择子不是一个有名变量;请使用 associate-name=>"
 
-#: fortran/match.c:3509
+#: fortran/match.c:4047
 #, no-c-format
-msgid "Expected case name of '%s' at %C"
-msgstr "%C处需要‘%s’的 case 名"
+msgid "Selector shall be polymorphic in SELECT TYPE statement at %C"
+msgstr "%C处 SELECT TYPE 语句中的选择子应该是多态的"
 
-#: fortran/match.c:3553
+#: fortran/match.c:4075
 #, no-c-format
 msgid "Unexpected CASE statement at %C"
 msgstr "%C处非预期的 CASE 语句"
 
-#: fortran/match.c:3605
+#: fortran/match.c:4127
 #, no-c-format
-msgid "Syntax error in CASE-specification at %C"
-msgstr "%C CASE 指定语法错误"
+msgid "Syntax error in CASE specification at %C"
+msgstr "%C处 CASE 规格语法错误"
 
-#: fortran/match.c:3725
+#: fortran/match.c:4145
+#, no-c-format
+msgid "Unexpected TYPE IS statement at %C"
+msgstr "%C处非预期的 TYPE IS 语句"
+
+#: fortran/match.c:4178
+#, no-c-format
+msgid "Syntax error in TYPE IS specification at %C"
+msgstr "%C处 TYPE IS 规格语法错误"
+
+#: fortran/match.c:4250
+#, no-c-format
+msgid "Syntax error in CLASS IS specification at %C"
+msgstr "%C处 CLASS IS 规格语法错误"
+
+#: fortran/match.c:4372
 #, no-c-format
 msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
 msgstr "%C处的 ELSEWHERE 语句不在 WHERE 块中"
 
-#: fortran/match.c:3763
+#: fortran/match.c:4410
 #, no-c-format
 msgid "Label '%s' at %C doesn't match WHERE label '%s'"
-msgstr ""
+msgstr "%2$C处的标号‘%1$s’不匹配 WHERE 标号‘%3$s’"
 
-#: fortran/match.c:3863
+#: fortran/match.c:4510
 #, no-c-format
 msgid "Syntax error in FORALL iterator at %C"
 msgstr "%C处 FORALL 游标语法错误"
@@ -7055,25 +7685,25 @@ msgstr "%C 表达式语法错误"
 #: fortran/matchexp.c:72
 #, no-c-format
 msgid "Bad character '%c' in OPERATOR name at %C"
-msgstr ""
+msgstr "%2$C 处 OPERATOR 名字中有错误的字符‘%1$c’"
 
 #: fortran/matchexp.c:80
 #, no-c-format
 msgid "The name '%s' cannot be used as a defined operator at %C"
 msgstr "名字‘%s’在%C处不能用作已定义的运算符"
 
-#: fortran/matchexp.c:180
+#: fortran/matchexp.c:177
 #, no-c-format
 msgid "Expected a right parenthesis in expression at %C"
 msgstr "%C处表达式中需要右括号"
 
-#: fortran/matchexp.c:305
+#: fortran/matchexp.c:302
 #, no-c-format
 msgid "Expected exponent in expression at %C"
 msgstr "%C处表达式中需要指数部分"
 
-#: fortran/matchexp.c:343 fortran/matchexp.c:348 fortran/matchexp.c:452
-#: fortran/matchexp.c:457
+#: fortran/matchexp.c:340 fortran/matchexp.c:345 fortran/matchexp.c:449
+#: fortran/matchexp.c:454
 #, no-c-format
 msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
 msgstr "扩展:%C处单目运算符出现在算术运算符之后"
@@ -7083,243 +7713,268 @@ msgstr "扩展:%C处单目运算符出现在算术运算符之后"
 msgid "Out of memory-- malloc() failed"
 msgstr "内存不足 -- malloc() 失败"
 
-#: fortran/module.c:505
-#, fuzzy, no-c-format
+#: fortran/module.c:519
+#, no-c-format
 msgid "Fortran 2003: module nature in USE statement at %C"
-msgstr "Fortran 2003:%C处的 FLUSH 语句"
+msgstr "Fortran 2003:%C处的 USE 语句中模块本性"
 
-#: fortran/module.c:517
+#: fortran/module.c:531
 #, no-c-format
 msgid "Module nature in USE statement at %C shall be either INTRINSIC or NON_INTRINSIC"
-msgstr ""
+msgstr "%C处 USE 语句中的模块本性应该是 INTRINSIC 或 NON_INTRINSIC 中的一个"
 
-#: fortran/module.c:530
+#: fortran/module.c:544
 #, no-c-format
 msgid "\"::\" was expected after module nature at %C but was not found"
-msgstr ""
+msgstr "%C处在模块本性后需要“::”"
 
-#: fortran/module.c:539
+#: fortran/module.c:553
 #, no-c-format
 msgid "Fortran 2003: \"USE :: module\" at %C"
 msgstr "Fortran 2003:%C处的“USE :: module”"
 
-#: fortran/module.c:593
+#: fortran/module.c:607
 #, no-c-format
 msgid "Missing generic specification in USE statement at %C"
-msgstr ""
+msgstr "%C处的 USE 语句缺少泛型规格"
 
-#: fortran/module.c:601
-#, fuzzy, no-c-format
+#: fortran/module.c:615
+#, no-c-format
 msgid "Fortran 2003: Renaming operators in USE statements at %C"
-msgstr "Fortran 2003:%C处的 FLUSH 语句"
+msgstr "Fortran 2003:%C处的 USE 语句中更名运算符"
 
-#: fortran/module.c:643
-#, fuzzy, no-c-format
+#: fortran/module.c:657
+#, no-c-format
 msgid "The name '%s' at %C has already been used as an external module name."
-msgstr "类型‘%s’(位于 %C)不能与内建类型重名"
+msgstr "%2$C处的名字‘%1$s’已经被用作外部模块名。"
 
-#: fortran/module.c:921
+#: fortran/module.c:934
 #, no-c-format
 msgid "Reading module %s at line %d column %d: %s"
 msgstr "读出模块 %s,于行 %d 列 %d:%s"
 
-#: fortran/module.c:925
+#: fortran/module.c:938
 #, no-c-format
 msgid "Writing module %s at line %d column %d: %s"
 msgstr "读入模块 %s,于行 %d 列 %d:%s"
 
-#: fortran/module.c:929
+#: fortran/module.c:942
 #, no-c-format
 msgid "Module %s at line %d column %d: %s"
 msgstr "模块 %s 位于行 %d 列 %d:%s"
 
-#: fortran/module.c:969
+#: fortran/module.c:982
 msgid "Unexpected EOF"
 msgstr "非预期的文件结束"
 
-#: fortran/module.c:1001
+#: fortran/module.c:1014
 msgid "Unexpected end of module in string constant"
 msgstr "字符串常量中出现非预期的模块结束"
 
-#: fortran/module.c:1055
+#: fortran/module.c:1068
 msgid "Integer overflow"
 msgstr "整数溢出"
 
-#: fortran/module.c:1086
+#: fortran/module.c:1099
 msgid "Name too long"
 msgstr "名字太长"
 
-#: fortran/module.c:1193
+#: fortran/module.c:1206
 msgid "Bad name"
 msgstr "错误的名字"
 
-#: fortran/module.c:1237
+#: fortran/module.c:1250
 msgid "Expected name"
 msgstr "需要名字"
 
-#: fortran/module.c:1240
+#: fortran/module.c:1253
 msgid "Expected left parenthesis"
 msgstr "需要左圆括号"
 
-#: fortran/module.c:1243
+#: fortran/module.c:1256
 msgid "Expected right parenthesis"
 msgstr "需要右圆括号"
 
-#: fortran/module.c:1246
+#: fortran/module.c:1259
 msgid "Expected integer"
 msgstr "需要整数"
 
-#: fortran/module.c:1249
+#: fortran/module.c:1262
 msgid "Expected string"
 msgstr "需要字符串"
 
-#: fortran/module.c:1273
+#: fortran/module.c:1286
 msgid "find_enum(): Enum not found"
 msgstr "find_enum():找不到枚举"
 
-#: fortran/module.c:1287
+#: fortran/module.c:1300
 #, no-c-format
 msgid "Error writing modules file: %s"
 msgstr "写入模块文件时出错:%s"
 
-#: fortran/module.c:1836
+#: fortran/module.c:1883
 msgid "Expected attribute bit name"
 msgstr "需要属性位名"
 
-#: fortran/module.c:2661
+#: fortran/module.c:2739
 msgid "Expected integer string"
 msgstr "需要整数字符串"
 
-#: fortran/module.c:2665
+#: fortran/module.c:2743
 msgid "Error converting integer"
 msgstr "转换整数时出错"
 
-#: fortran/module.c:2687
+#: fortran/module.c:2765
 msgid "Expected real string"
 msgstr "需要实数字符串"
 
-#: fortran/module.c:2889
+#: fortran/module.c:2967
 msgid "Expected expression type"
 msgstr "需要表达式类型"
 
-#: fortran/module.c:2943
+#: fortran/module.c:3021
 msgid "Bad operator"
 msgstr "错误的运算符"
 
-#: fortran/module.c:3032
+#: fortran/module.c:3110
 msgid "Bad type in constant expression"
 msgstr "常量表达式中类型错误"
 
-#: fortran/module.c:3073
+#: fortran/module.c:3152
 #, no-c-format
 msgid "Namelist %s cannot be renamed by USE association to %s"
-msgstr ""
+msgstr "名字列表 %s 不能为对 %s 的 USE 关联来更名"
 
-#: fortran/module.c:4244
+#: fortran/module.c:4436
 #, no-c-format
 msgid "Symbol '%s' referenced at %L not found in module '%s'"
 msgstr "%2$L处引用的符号‘%1$s’在模块‘%3$s’中找不到"
 
-#: fortran/module.c:4251
+#: fortran/module.c:4443
 #, no-c-format
 msgid "User operator '%s' referenced at %L not found in module '%s'"
-msgstr ""
+msgstr "%2$L处引用的用户运算符‘%1$s’在模块‘%3$s’中找不到"
 
-#: fortran/module.c:4256
+#: fortran/module.c:4448
 #, no-c-format
 msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
-msgstr ""
+msgstr "%2$L处引用的内建运算符‘%1$s’在模块‘%3$s’中找不到"
 
-#: fortran/module.c:4805
+#: fortran/module.c:5057
 #, no-c-format
 msgid "Can't open module file '%s' for writing at %C: %s"
 msgstr "不能打开模块文件‘%s’写入,在%C处:%s"
 
-#: fortran/module.c:4843
+#: fortran/module.c:5095
 #, no-c-format
 msgid "Error writing module file '%s' for writing: %s"
 msgstr "写入模块文件‘%s’时出错:%s"
 
-#: fortran/module.c:4873 fortran/module.c:4955
+#: fortran/module.c:5104
+#, no-c-format
+msgid "Can't delete module file '%s': %s"
+msgstr "无法删除模块文件‘%s’:%s"
+
+#: fortran/module.c:5107
+#, no-c-format
+msgid "Can't rename module file '%s' to '%s': %s"
+msgstr "无法将模块文件‘%s’重命名为‘%s’:%s"
+
+#: fortran/module.c:5113
+#, no-c-format
+msgid "Can't delete temporary module file '%s': %s"
+msgstr "无法删除临时模块文件‘%s’:%s"
+
+#: fortran/module.c:5133 fortran/module.c:5216
 #, no-c-format
 msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
-msgstr ""
+msgstr "%2$L处引用的符号‘%1$s’在内建模块 ISO_C_BINDING 中不存在."
 
-#: fortran/module.c:4986
+#: fortran/module.c:5251
 #, no-c-format
 msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
-msgstr ""
+msgstr "%2$L处引用的符号‘%1$s’在内建模块 ISO_C_BINDING 中找不到"
 
-#: fortran/module.c:5008
+#: fortran/module.c:5273
 #, no-c-format
 msgid "Symbol '%s' already declared"
 msgstr "符号‘%s’已经被声明过"
 
-#: fortran/module.c:5063
+#: fortran/module.c:5328
 #, no-c-format
 msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
-msgstr ""
+msgstr "%2$C处对内建模块‘%1$s’的使用与以前使用的非内建模块名字冲突"
 
-#: fortran/module.c:5076
+#: fortran/module.c:5341
 #, no-c-format
 msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
-msgstr ""
+msgstr "%2$L处引用的符号‘%1$s’在内建模块 ISO_FORTRAN_ENV 中不存在"
 
-#: fortran/module.c:5084
+#: fortran/module.c:5349
 #, no-c-format
 msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
-msgstr ""
+msgstr "%L处在内建模块 ISO_FORTRAN_ENV 中对 NUMERIC_STORAGE_SIZE 命名常数的使用与选项 %s 不兼容"
 
-#: fortran/module.c:5112
+#: fortran/module.c:5377
 #, no-c-format
 msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
-msgstr ""
+msgstr "%C处在内建模块 ISO_FORTRAN_ENV 中对 NUMERIC_STORAGE_SIZE 命名常数的使用与选项 %s 不兼容"
 
-#: fortran/module.c:5128
+#: fortran/module.c:5393
 #, no-c-format
 msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
-msgstr ""
+msgstr "%2$L处引用的符号‘%1$s’在内建模块 ISO_FORTRAN_ENV 中找不到"
 
-#: fortran/module.c:5162
+#: fortran/module.c:5427
 #, no-c-format
 msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
-msgstr ""
+msgstr "Fortran 2003:%C 处的 ISO_FORTRAN_ENV 内建模块"
 
-#: fortran/module.c:5170
+#: fortran/module.c:5435
 #, no-c-format
 msgid "Fortran 2003: ISO_C_BINDING module at %C"
 msgstr "Fortran 2003:%C处的 ISO_C_BINDING 模块"
 
-#: fortran/module.c:5180
+#: fortran/module.c:5445
 #, no-c-format
 msgid "Can't find an intrinsic module named '%s' at %C"
-msgstr ""
+msgstr "%2$C处无法找到名为‘%1$s’的内建模块"
 
-#: fortran/module.c:5185
+#: fortran/module.c:5450
 #, no-c-format
 msgid "Can't open module file '%s' for reading at %C: %s"
 msgstr "无法打开模块文件‘%s’读取,在%C处:%s"
 
-#: fortran/module.c:5193
+#: fortran/module.c:5458
 #, no-c-format
 msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
-msgstr ""
+msgstr "%2$C处对非内建模块‘%1$s’的使用与之前对内建模块名字的使用相冲突"
 
-#: fortran/module.c:5208
+#: fortran/module.c:5473
 msgid "Unexpected end of module"
 msgstr "非预期的模块结束"
 
-#: fortran/module.c:5213
+#: fortran/module.c:5478
 #, no-c-format
 msgid "File '%s' opened at %C is not a GFORTRAN module file"
-msgstr ""
+msgstr "%2$C处打开的文件的‘%1$s’并非一个 GFORTRAN 模块文件"
+
+#: fortran/module.c:5485
+#, no-c-format
+msgid "Parse error when checking module version for file '%s' opened at %C"
+msgstr "当为在%2$C处打开的文件‘%1$s’检查模块版本时语法分析错误"
+
+#: fortran/module.c:5490
+#, no-c-format
+msgid "Wrong module version '%s' (expected '"
+msgstr "错误的模块版本‘%s’(需要‘"
 
-#: fortran/module.c:5223
+#: fortran/module.c:5503
 #, no-c-format
 msgid "Can't USE the same module we're building!"
 msgstr "不能 USE 我们正在构建的模块!"
 
-#: fortran/openmp.c:134 fortran/openmp.c:562
+#: fortran/openmp.c:134 fortran/openmp.c:563
 #, no-c-format
 msgid "COMMON block /%s/ not found at %C"
 msgstr "没有在%C处发现 COMMON 块 /%s/"
@@ -7330,678 +7985,688 @@ msgid "Syntax error in OpenMP variable list at %C"
 msgstr "%C处的 OpenMP 变量列表语法错误"
 
 #: fortran/openmp.c:293
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "%s is not INTRINSIC procedure name at %C"
-msgstr "通用函数‘%s’(于%L处)不是一个内建函数"
+msgstr "%2$C处 %1$s 不是 INTRINSIC 过程名"
 
 #: fortran/openmp.c:404
 #, no-c-format
 msgid "COLLAPSE clause argument not constant positive integer at %C"
-msgstr ""
+msgstr "%C处的 COLLAPSE 分句参数不是正整数常量"
 
-#: fortran/openmp.c:541
+#: fortran/openmp.c:542
 #, no-c-format
 msgid "Threadprivate variable at %C is an element of a COMMON block"
-msgstr ""
+msgstr " %C 处线程局部变量是个 COMMON 块的元素"
 
-#: fortran/openmp.c:581
+#: fortran/openmp.c:582
 #, no-c-format
 msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
 msgstr "%C处 !$OMP THREADPRIVATE 列表语法错误"
 
-#: fortran/openmp.c:759 fortran/resolve.c:6365 fortran/resolve.c:6718
+#: fortran/openmp.c:760 fortran/resolve.c:7646 fortran/resolve.c:8036
 #, no-c-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
-msgstr ""
+msgstr "%L处的 IF 分句需要一个标量 LOGICAL 表达式"
 
-#: fortran/openmp.c:767
+#: fortran/openmp.c:768
 #, no-c-format
 msgid "NUM_THREADS clause at %L requires a scalar INTEGER expression"
-msgstr ""
+msgstr "%L处的 NUM_THREADS 分句需要一个标量 INTEGER 表达式"
 
-#: fortran/openmp.c:775
+#: fortran/openmp.c:776
 #, no-c-format
 msgid "SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression"
-msgstr ""
+msgstr "%L处的 SCHEDULE 分句的 chunk_size 需要一个标量 INTEGER 表达式"
 
-#: fortran/openmp.c:815
-#, fuzzy, no-c-format
+#: fortran/openmp.c:816
+#, no-c-format
 msgid "Object '%s' is not a variable at %L"
-msgstr "%2$C处的‘%1$s’不是一个变量"
+msgstr "%2$L处对象‘%1$s’不是一个变量"
 
-#: fortran/openmp.c:823 fortran/openmp.c:833 fortran/openmp.c:840
-#: fortran/openmp.c:850
+#: fortran/openmp.c:824 fortran/openmp.c:834 fortran/openmp.c:841
+#: fortran/openmp.c:851
 #, no-c-format
 msgid "Symbol '%s' present on multiple clauses at %L"
-msgstr ""
+msgstr "%2$L处符号‘%1$s’出现在多个分句上"
 
-#: fortran/openmp.c:873
+#: fortran/openmp.c:874
 #, no-c-format
 msgid "Non-THREADPRIVATE object '%s' in COPYIN clause at %L"
-msgstr ""
+msgstr "%2$L处 COPYIN 分句中的非 THREADPRIVATE 对象‘%1$s’"
 
-#: fortran/openmp.c:876
-#, fuzzy, no-c-format
+#: fortran/openmp.c:877
+#, no-c-format
 msgid "COPYIN clause object '%s' at %L has ALLOCATABLE components"
-msgstr "该场合对象“%1”是未定义的。"
+msgstr "%2$L处 COPYIN 分句对象‘%1$s’有 ALLOCATABLE 组件"
 
-#: fortran/openmp.c:884
-#, fuzzy, no-c-format
+#: fortran/openmp.c:885
+#, no-c-format
 msgid "Assumed size array '%s' in COPYPRIVATE clause at %L"
-msgstr "%C处的空数组构造不被允许"
+msgstr "%2$L处 COPYPRIVATE 分句中有假定大小的数组‘%1$s’"
 
-#: fortran/openmp.c:887
-#, fuzzy, no-c-format
+#: fortran/openmp.c:888
+#, no-c-format
 msgid "COPYPRIVATE clause object '%s' at %L has ALLOCATABLE components"
-msgstr "该场合对象“%1”是未定义的。"
+msgstr "%2$L处 COPYPRIVATE 分句对象‘%1$s’有 ALLOCATABLE 组件"
 
-#: fortran/openmp.c:895
+#: fortran/openmp.c:896
 #, no-c-format
 msgid "THREADPRIVATE object '%s' in SHARED clause at %L"
-msgstr ""
+msgstr "%2$L处 SHARED 分句中的 THREADPRIVATE 对象‘%1$s’"
 
-#: fortran/openmp.c:898
-#, fuzzy, no-c-format
+#: fortran/openmp.c:899
+#, no-c-format
 msgid "Cray pointee '%s' in SHARED clause at %L"
-msgstr "%C处对指针的初始化不允许出现在 PURE 过程中"
+msgstr "%2$L处 SHARED 分句中为 Cray 指针引用的‘%1$s’"
 
-#: fortran/openmp.c:906
-#, fuzzy, no-c-format
+#: fortran/openmp.c:907
+#, no-c-format
 msgid "THREADPRIVATE object '%s' in %s clause at %L"
-msgstr "%C处 IF 语句语法错误"
+msgstr "%3$L处 %2$s 分句中的 THREADPRIVATE 对象‘%1$s’"
 
-#: fortran/openmp.c:909
+#: fortran/openmp.c:910
 #, no-c-format
 msgid "Cray pointee '%s' in %s clause at %L"
 msgstr "%3$L处 %2$s 分句中 的Cray 指针目标‘%1$s’"
 
-#: fortran/openmp.c:914
-#, fuzzy, no-c-format
+#: fortran/openmp.c:915
+#, no-c-format
 msgid "POINTER object '%s' in %s clause at %L"
-msgstr "%C处 IF 语句语法错误"
+msgstr "%3$L处 %2$s 分句中的 POINTER 对象‘%1$s’"
 
-#: fortran/openmp.c:919
-#, fuzzy, no-c-format
+#: fortran/openmp.c:920
+#, no-c-format
 msgid "%s clause object '%s' has ALLOCATABLE components at %L"
-msgstr "该场合对象“%1”是未定义的。"
+msgstr "%3$L处 %1$s 分句对象‘%2$s’有 ALLOCATABLE 组件"
 
-#: fortran/openmp.c:922
+#: fortran/openmp.c:923
 #, no-c-format
 msgid "Cray pointer '%s' in %s clause at %L"
 msgstr "%3$L处 %2$s 分句中的 Cray 指针‘%1$s’"
 
-#: fortran/openmp.c:926
+#: fortran/openmp.c:927
 #, no-c-format
 msgid "Assumed size array '%s' in %s clause at %L"
 msgstr "%3$L处 %2$s 分句中假定大小的数组‘%1$s’"
 
-#: fortran/openmp.c:931
+#: fortran/openmp.c:932
 #, no-c-format
 msgid "Variable '%s' in %s clause is used in NAMELIST statement at %L"
-msgstr ""
+msgstr "%2$s 分句中的变量‘%1$s’被用在%3$L处的 NAMELIST 语句中"
 
-#: fortran/openmp.c:940
+#: fortran/openmp.c:941
 #, no-c-format
 msgid "%c REDUCTION variable '%s' at %L must be of numeric type, got %s"
 msgstr "%c REDUCTION 变量‘%s’在%L处必须具有数字类型而非 %s"
 
-#: fortran/openmp.c:951
+#: fortran/openmp.c:952
 #, no-c-format
 msgid "%s REDUCTION variable '%s' must be LOGICAL at %L"
 msgstr "%s REDUCTION 变量‘%s’在%L处类型必须为 LOGICAL"
 
-#: fortran/openmp.c:962
+#: fortran/openmp.c:963
 #, no-c-format
 msgid "%s REDUCTION variable '%s' must be INTEGER or REAL at %L"
 msgstr "%s REDUCTION 变量‘%s’在%L处类型必须为 INTEGER 或者 REAL"
 
-#: fortran/openmp.c:971
+#: fortran/openmp.c:972
 #, no-c-format
 msgid "%s REDUCTION variable '%s' must be INTEGER at %L"
 msgstr "%s REDUCTION 变量‘%s’在%L处类型必须为 INTEGER"
 
-#: fortran/openmp.c:1083
+#: fortran/openmp.c:1084
 #, no-c-format
 msgid "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L"
 msgstr "%L处 !$OMP ATOMIC 语句必须设定一个内建类型的标量值"
 
-#: fortran/openmp.c:1123
+#: fortran/openmp.c:1124
 #, no-c-format
 msgid "!$OMP ATOMIC assignment operator must be +, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L"
 msgstr "%L处 !$OMP ATOMIC 赋值运算符必须是 +、*、-、/、.AND.、.OR.、.EQV. 或 .NEQV."
 
-#: fortran/openmp.c:1171
+#: fortran/openmp.c:1172
 #, no-c-format
 msgid "!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L"
 msgstr "%L处 !$OMP ATOMIC 赋值形式必须为“变量 = 变量 运算符 表达式”或“变量 = 表达式 运算符 变量”"
 
-#: fortran/openmp.c:1185
+#: fortran/openmp.c:1186
 #, no-c-format
 msgid "!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op (expr) at %L"
 msgstr "%L处 !$OMP ATOMIC“变量 = 变量 运算符 表达式”与“变量 = 变量 运算符 (表达式)”在数学上不等价"
 
-#: fortran/openmp.c:1217
+#: fortran/openmp.c:1218
 #, no-c-format
 msgid "expr in !$OMP ATOMIC assignment var = var op expr must be scalar and cannot reference var at %L"
 msgstr "%L处 !$OMP ATOMIC 赋值“变量 = 变量 运算符 表达式”中的“表达式”必须是标量并且不能引用“变量”"
 
-#: fortran/openmp.c:1241
+#: fortran/openmp.c:1242
 #, no-c-format
 msgid "!$OMP ATOMIC assignment intrinsic IAND, IOR or IEOR must have two arguments at %L"
 msgstr "%L处 !$OMP ATOMIC 赋值内建函数 IAND、IOR 或 IEOR 必须带两个实参"
 
-#: fortran/openmp.c:1248
+#: fortran/openmp.c:1249
 #, no-c-format
 msgid "!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L"
 msgstr "%L处!$OMP ATOMIC 赋值内建函数必须是 MIN、MAX、IAND、IOR 或 IEOR"
 
-#: fortran/openmp.c:1264
+#: fortran/openmp.c:1265
 #, no-c-format
 msgid "!$OMP ATOMIC intrinsic arguments except one must not reference '%s' at %L"
 msgstr "!$OMP ATOMIC 内建函数的实参除一个以外不能在%2$L处引用‘%1$s’"
 
-#: fortran/openmp.c:1267
+#: fortran/openmp.c:1268
 #, no-c-format
 msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L"
 msgstr "%L处 !$OMP ATOMIC 内建函数的实参必须是标量"
 
-#: fortran/openmp.c:1273
+#: fortran/openmp.c:1274
 #, no-c-format
 msgid "First or last !$OMP ATOMIC intrinsic argument must be '%s' at %L"
 msgstr "第一个或最后一个 !$OMP ATOMIC 内建函数实参在%2$L处必须是‘%1$s’"
 
-#: fortran/openmp.c:1291
+#: fortran/openmp.c:1292
 #, no-c-format
 msgid "!$OMP ATOMIC assignment must have an operator or intrinsic on right hand side at %L"
 msgstr "%L处 !$OMP ATOMIC 赋值的右手边必须有一个运算符或内建函数"
 
-#: fortran/openmp.c:1426
+#: fortran/openmp.c:1427
 #, no-c-format
 msgid "!$OMP DO cannot be a DO WHILE or DO without loop control at %L"
 msgstr "%L处 !$OMP DO 不能是一个 DO WHILE 或不带循环控制的 DO"
 
-#: fortran/openmp.c:1432
+#: fortran/openmp.c:1433
 #, no-c-format
 msgid "!$OMP DO iteration variable must be of type integer at %L"
 msgstr "%L处 !$OMP DO 迭代变量必须具有整数类型"
 
-#: fortran/openmp.c:1436
+#: fortran/openmp.c:1437
 #, no-c-format
 msgid "!$OMP DO iteration variable must not be THREADPRIVATE at %L"
 msgstr "%L处 !$OMP DO 迭代变量不能是 THREADPRIVATE"
 
-#: fortran/openmp.c:1444
+#: fortran/openmp.c:1445
 #, no-c-format
 msgid "!$OMP DO iteration variable present on clause other than PRIVATE or LASTPRIVATE at %L"
 msgstr "%L处 !$OMP DO 迭代变量出现在非 PRIVATE 或 LASTPRIVATE 分句中"
 
-#: fortran/openmp.c:1462
+#: fortran/openmp.c:1463
 #, no-c-format
 msgid "!$OMP DO collapsed loops don't form rectangular iteration space at %L"
-msgstr ""
+msgstr "%L处 !$OMP DO 折叠的循环不形成矩形迭代空间"
 
-#: fortran/openmp.c:1476
+#: fortran/openmp.c:1477
 #, no-c-format
 msgid "collapsed !$OMP DO loops not perfectly nested at %L"
-msgstr ""
+msgstr "折叠的 !$OMP DO 循环没有完美的嵌套于%L处"
 
-#: fortran/openmp.c:1485 fortran/openmp.c:1492
+#: fortran/openmp.c:1486 fortran/openmp.c:1493
 #, no-c-format
 msgid "not enough DO loops for collapsed !$OMP DO at %L"
-msgstr ""
-
-#: fortran/options.c:233
-#, no-c-format
-msgid "Option -fwhole-program is not supported for Fortran"
-msgstr "Fortran 不支持 -fwhole-program 选项"
+msgstr "%L处折叠的 !$OMP DO 没有足够的 DO 循环"
 
-#: fortran/options.c:287
+#: fortran/options.c:308
 #, no-c-format
 msgid "Reading file '%s' as free form"
 msgstr "将文件‘%s’按自由格式读入"
 
-#: fortran/options.c:297
+#: fortran/options.c:318
 #, no-c-format
 msgid "'-fd-lines-as-comments' has no effect in free form"
 msgstr "‘-fd-lines-as-comments’在自由格式上不起作用"
 
-#: fortran/options.c:300
+#: fortran/options.c:321
 #, no-c-format
 msgid "'-fd-lines-as-code' has no effect in free form"
 msgstr "‘-fd-lines-as-code’在自由格式上不起作用"
 
-#: fortran/options.c:318
+#: fortran/options.c:339
 #, no-c-format
 msgid "Flag -fno-automatic overwrites -fmax-stack-var-size=%d"
 msgstr "选项 -fno-automatic 覆盖了 -fmax-stack-var-size=%d"
 
-#: fortran/options.c:321
+#: fortran/options.c:342
 #, no-c-format
 msgid "Flag -fno-automatic overwrites -frecursive"
 msgstr "选项 -fno-automatic 覆盖了 -frecursive"
 
-#: fortran/options.c:323
+#: fortran/options.c:344
 #, no-c-format
 msgid "Flag -fno-automatic overwrites -frecursive implied by -fopenmp"
 msgstr "选项 -fno-automatic 覆盖了为 -fopenmp 所隐式打开的 -frecursive "
 
-#: fortran/options.c:327
+#: fortran/options.c:348
 #, no-c-format
 msgid "Flag -frecursive overwrites -fmax-stack-var-size=%d"
 msgstr "选项 -frecursive 覆盖了 -fmax-stack-var-size=%d"
 
-#: fortran/options.c:331
+#: fortran/options.c:352
 #, no-c-format
 msgid "Flag -fmax-stack-var-size=%d overwrites -frecursive implied by -fopenmp"
 msgstr "选项 -fmax-stack-var-size=%d 覆盖了为-fopenmp 所隐式打开的 -frecursive"
 
-#: fortran/options.c:404
-#, fuzzy, no-c-format
+#: fortran/options.c:428
+#, no-c-format
 msgid "gfortran: Only one -J option allowed"
-msgstr "gfortran:只允许使用一个 -M 选项\n"
+msgstr "gfortran:只允许使用一个 -J 选项"
 
-#: fortran/options.c:447
+#: fortran/options.c:471
 #, no-c-format
 msgid "Argument to -ffpe-trap is not valid: %s"
 msgstr "-ffpe-trap 的参数无效:%s"
 
-#: fortran/options.c:600
+#: fortran/options.c:509
+#, no-c-format
+msgid "Argument to -fcheck is not valid: %s"
+msgstr "-fcheck  的参数无效:%s"
+
+#: fortran/options.c:662
 #, no-c-format
 msgid "Fixed line length must be at least seven."
 msgstr "固定格式的行长至少为七。"
 
-#: fortran/options.c:618
+#: fortran/options.c:680
 #, no-c-format
 msgid "Free line length must be at least three."
 msgstr "自由格式的行长至少为三。"
 
-#: fortran/options.c:632
+#: fortran/options.c:698
 #, no-c-format
 msgid "-static-libgfortran is not supported in this configuration"
 msgstr "-static-libgfortran 在此配置下不受支持"
 
-#: fortran/options.c:680
+#: fortran/options.c:746
 #, no-c-format
 msgid "Maximum supported identifier length is %d"
 msgstr "支持的标识符的最大长度为 %d"
 
-#: fortran/options.c:712
+#: fortran/options.c:778
 #, no-c-format
 msgid "Unrecognized option to -finit-logical: %s"
 msgstr "-finit-logical 选项无法识别:-%s"
 
-#: fortran/options.c:726
+#: fortran/options.c:794
 #, no-c-format
 msgid "Unrecognized option to -finit-real: %s"
 msgstr "-finit-real 选项无法识别:-%s"
 
-#: fortran/options.c:742
+#: fortran/options.c:810
 #, no-c-format
 msgid "The value of n in -finit-character=n must be between 0 and 127"
 msgstr "-finit-character=n 中 n 的值必须在 0 和 127 之间"
 
-#: fortran/options.c:833
+#: fortran/options.c:901
 #, no-c-format
 msgid "Maximum subrecord length cannot exceed %d"
 msgstr "子记录长度不能超过 %d"
 
-#: fortran/parse.c:454
+#: fortran/parse.c:459
 #, no-c-format
 msgid "Unclassifiable statement at %C"
 msgstr "%C 语句无法归类"
 
-#: fortran/parse.c:478
+#: fortran/parse.c:483
 #, no-c-format
 msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
 msgstr "%C处的 OpenMP 指示不能出现在 PURE 或 ELEMENTAL 过程中"
 
-#: fortran/parse.c:559
+#: fortran/parse.c:564
 #, no-c-format
 msgid "Unclassifiable OpenMP directive at %C"
 msgstr "%C处的 OpenMP 指示无法分类"
 
-#: fortran/parse.c:601 fortran/parse.c:742
+#: fortran/parse.c:592
+#, no-c-format
+msgid "Unclassifiable GCC directive at %C"
+msgstr "%C处的 GCC 指示无法分类"
+
+#: fortran/parse.c:634 fortran/parse.c:803
 #, no-c-format
 msgid "Zero is not a valid statement label at %C"
 msgstr "零不是%C处的一个有效的语句标号"
 
-#: fortran/parse.c:608 fortran/parse.c:734
+#: fortran/parse.c:641 fortran/parse.c:795
 #, no-c-format
 msgid "Non-numeric character in statement label at %C"
 msgstr "%C处语句标号中出现非数字字符"
 
-#: fortran/parse.c:620 fortran/parse.c:656 fortran/parse.c:782
+#: fortran/parse.c:653 fortran/parse.c:707 fortran/parse.c:843
 #, no-c-format
 msgid "Semicolon at %C needs to be preceded by statement"
 msgstr "%C处分号前必须是一个语句"
 
-#: fortran/parse.c:628 fortran/parse.c:794
+#: fortran/parse.c:661 fortran/parse.c:855
 #, no-c-format
-msgid "Ignoring statement label in empty statement at %C"
-msgstr "忽略%C处空语句中的语句标量"
+msgid "Ignoring statement label in empty statement at %L"
+msgstr "忽略%L处空语句中的语句标号"
 
-#: fortran/parse.c:721 fortran/parse.c:761
+#: fortran/parse.c:782 fortran/parse.c:822
 #, no-c-format
 msgid "Bad continuation line at %C"
 msgstr "%C处错误的续行"
 
-#: fortran/parse.c:821
-#, no-c-format
-msgid "Line truncated at %C"
-msgstr "行在%C处被截断"
-
-#: fortran/parse.c:1008
+#: fortran/parse.c:1069
 #, no-c-format
 msgid "FORMAT statement at %L does not have a statement label"
 msgstr "%L处 FORMAT 语句没有语句标号"
 
-#: fortran/parse.c:1080
+#: fortran/parse.c:1141
 msgid "arithmetic IF"
 msgstr "算术 IF"
 
-#: fortran/parse.c:1086
+#: fortran/parse.c:1147
 msgid "attribute declaration"
 msgstr "属性声明"
 
-#: fortran/parse.c:1116
+#: fortran/parse.c:1180
 msgid "data declaration"
 msgstr "数据声明"
 
-#: fortran/parse.c:1125
+#: fortran/parse.c:1189
 msgid "derived type declaration"
 msgstr "派生的类型声明"
 
-#: fortran/parse.c:1207
+#: fortran/parse.c:1274
 msgid "block IF"
 msgstr "块 IF"
 
-#: fortran/parse.c:1216
+#: fortran/parse.c:1283
 msgid "implied END DO"
 msgstr "暗示的 END DO"
 
-#: fortran/parse.c:1292
+#: fortran/parse.c:1359
 msgid "assignment"
 msgstr "赋值"
 
-#: fortran/parse.c:1295
+#: fortran/parse.c:1362
 msgid "pointer assignment"
 msgstr "指针赋值"
 
-#: fortran/parse.c:1304
+#: fortran/parse.c:1380
 msgid "simple IF"
 msgstr "简单的 IF"
 
-#: fortran/parse.c:1533
+#: fortran/parse.c:1621
 #, no-c-format
 msgid "Unexpected %s statement at %C"
 msgstr "%2$C处有非预期的 %1$s 语句"
 
-#: fortran/parse.c:1673
+#: fortran/parse.c:1768
 #, no-c-format
 msgid "%s statement at %C cannot follow %s statement at %L"
 msgstr "%s 语句在%C处不能跟随 %s 语句在%L处"
 
-#: fortran/parse.c:1690
+#: fortran/parse.c:1785
 #, no-c-format
 msgid "Unexpected end of file in '%s'"
 msgstr "‘%s’中非预期的文件结尾"
 
-#: fortran/parse.c:1722
-#, fuzzy, no-c-format
+#: fortran/parse.c:1817
+#, no-c-format
 msgid "Derived-type '%s' with SEQUENCE must not have a CONTAINS section at %C"
-msgstr "非预期的 %s 语句出现在%C处的 CONTAINS 段中"
+msgstr "%2$C处带有 SEQUENCE 派生类型‘%1$s’不能有 CONTAINS 节"
 
-#: fortran/parse.c:1725
-#, fuzzy, no-c-format
+#: fortran/parse.c:1820
+#, no-c-format
 msgid "Derived-type '%s' with BIND(C) must not have a CONTAINS section at %C"
-msgstr "非预期的 %s 语句出现在%C处的 CONTAINS 段中"
+msgstr "带 BIND(C) 的派生类‘%s’在%C处不能有 CONTAINS 节"
 
-#: fortran/parse.c:1745
+#: fortran/parse.c:1840
 #, no-c-format
 msgid "Components in TYPE at %C must precede CONTAINS"
-msgstr ""
+msgstr "%C处 TYPE 中的组件必须先于 CONTAINS"
 
-#: fortran/parse.c:1750
-#, fuzzy, no-c-format
+#: fortran/parse.c:1845
+#, no-c-format
 msgid "Fortran 2003:  Type-bound procedure at %C"
-msgstr "Fortran 2003:%C处的“USE :: module”"
+msgstr "Fortran 2003:%C处的类型限定过程"
 
-#: fortran/parse.c:1759
-#, fuzzy, no-c-format
+#: fortran/parse.c:1854
+#, no-c-format
 msgid "Fortran 2003:  GENERIC binding at %C"
-msgstr "Fortran 2003:%L处的 IOMSG 标记"
+msgstr "Fortran 2003:%L处的 GENERIC 绑定"
 
-#: fortran/parse.c:1769
-#, fuzzy, no-c-format
+#: fortran/parse.c:1864
+#, no-c-format
 msgid "Fortran 2003:  FINAL procedure declaration at %C"
-msgstr "Fortran 2003:%C处的 VALUE 属性"
+msgstr "Fortran 2003:%C处的的 FINAL 过程声明"
 
-#: fortran/parse.c:1781
-#, fuzzy, no-c-format
+#: fortran/parse.c:1876
+#, no-c-format
 msgid "Fortran 2008: Derived type definition at %C with empty CONTAINS section"
-msgstr "Fortran 2003:%C处的派生类型定义没有组件"
+msgstr "Fortran 2008:%C的派生类型定义有空的 CONTAINS 节"
 
-#: fortran/parse.c:1792 fortran/parse.c:1903
+#: fortran/parse.c:1887 fortran/parse.c:1993
 #, no-c-format
 msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
-msgstr ""
+msgstr "%C处 TYPE 中的 PRIVATE 语句必须在 MODULE 中"
 
-#: fortran/parse.c:1800
-#, fuzzy, no-c-format
+#: fortran/parse.c:1895
+#, no-c-format
 msgid "PRIVATE statement at %C must precede procedure bindings"
-msgstr "PRINT 语句不允许出现在%C处的 PURE 过程中"
+msgstr "%C 处 PRIVATE 语句必须先于过程绑定"
 
-#: fortran/parse.c:1808 fortran/parse.c:1919
+#: fortran/parse.c:1903 fortran/parse.c:2009
 #, no-c-format
 msgid "Duplicate PRIVATE statement at %C"
 msgstr "%C处重复的 PRIVATE 语句"
 
-#: fortran/parse.c:1818
-#, fuzzy, no-c-format
+#: fortran/parse.c:1913
+#, no-c-format
 msgid "SEQUENCE statement at %C must precede CONTAINS"
-msgstr "%C处重复的 SEQUENCE 语句"
+msgstr "%C处 SEQUENCE 语句必须先于 CONTAINS"
 
-#: fortran/parse.c:1823
+#: fortran/parse.c:1918
 #, no-c-format
 msgid "Already inside a CONTAINS block at %C"
-msgstr ""
-
-#: fortran/parse.c:1878
-#, no-c-format
-msgid "PROCEDURE binding at %C must be inside CONTAINS"
-msgstr ""
+msgstr "%C处已在一个 CONTAINS 块内部 "
 
-#: fortran/parse.c:1883
+#: fortran/parse.c:1973
 #, no-c-format
 msgid "FINAL declaration at %C must be inside CONTAINS"
-msgstr ""
+msgstr "%C处的 FINAL 声明必须在 CONTAINS 内"
 
-#: fortran/parse.c:1892
+#: fortran/parse.c:1982
 #, no-c-format
 msgid "Fortran 2003: Derived type definition at %C without components"
 msgstr "Fortran 2003:%C处的派生类型定义没有组件"
 
-#: fortran/parse.c:1911
+#: fortran/parse.c:2001
 #, no-c-format
 msgid "PRIVATE statement at %C must precede structure components"
-msgstr ""
+msgstr "%C处 PRIVATE 语句必须先于结构组件"
 
-#: fortran/parse.c:1932
+#: fortran/parse.c:2022
 #, no-c-format
 msgid "SEQUENCE statement at %C must precede structure components"
-msgstr ""
+msgstr "%C处 SEQUENCE 语句必须先于结构组件"
 
-#: fortran/parse.c:1939
+#: fortran/parse.c:2029
 #, no-c-format
 msgid "SEQUENCE attribute at %C already specified in TYPE statement"
-msgstr ""
+msgstr "%C处 SEQUENCE 属性已经在 TYPE 语句中指定"
 
-#: fortran/parse.c:1944
+#: fortran/parse.c:2034
 #, no-c-format
 msgid "Duplicate SEQUENCE statement at %C"
 msgstr "%C处重复的 SEQUENCE 语句"
 
-#: fortran/parse.c:1955
-#, fuzzy, no-c-format
+#: fortran/parse.c:2045
+#, no-c-format
 msgid "Fortran 2003:  CONTAINS block in derived type definition at %C"
-msgstr "Fortran 2003:%C处的派生类型定义没有组件"
+msgstr "Fortran 2003:%C处的派生类型定义中的 CONTAINS 块"
 
-#: fortran/parse.c:2046
+#: fortran/parse.c:2135
 #, no-c-format
 msgid "ENUM declaration at %C has no ENUMERATORS"
-msgstr ""
+msgstr "%C处的 ENUM 声明没有 ENUMERATORS"
 
-#: fortran/parse.c:2140
+#: fortran/parse.c:2221
 #, no-c-format
 msgid "Unexpected %s statement in INTERFACE block at %C"
 msgstr "非预期的 %s 语句出现在%C处的 INTERFACE 块中"
 
-#: fortran/parse.c:2166
+#: fortran/parse.c:2247
 #, no-c-format
 msgid "SUBROUTINE at %C does not belong in a generic function interface"
-msgstr ""
+msgstr "%C处的 SUBROUTINE 不属于一个泛型函数接口"
 
-#: fortran/parse.c:2170
+#: fortran/parse.c:2251
 #, no-c-format
 msgid "FUNCTION at %C does not belong in a generic subroutine interface"
-msgstr ""
+msgstr "%C处的 FUNCTION 不属于一个泛型函数接口"
 
-#: fortran/parse.c:2180
-#, fuzzy, no-c-format
+#: fortran/parse.c:2261
+#, no-c-format
 msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
-msgstr "类型‘%s’(位于 %C)不能与内建类型重名"
+msgstr "%2$C处的 ABSTRACT INTERFACE 的名字‘%1$s’不能与内建类型一样"
 
-#: fortran/parse.c:2211
+#: fortran/parse.c:2292
 #, no-c-format
 msgid "Unexpected %s statement at %C in INTERFACE body"
 msgstr "非预期的 %s 语句出现在%C处的 INTERFACE 体中"
 
-#: fortran/parse.c:2225
-#, fuzzy, no-c-format
+#: fortran/parse.c:2310
+#, no-c-format
 msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
-msgstr "名字‘%s’(位于 %C)是一个过程的名字"
+msgstr "%2$L处 INTERFACE 过程‘%1$s’有与外围过程相同的名字"
 
-#: fortran/parse.c:2410
+#: fortran/parse.c:2431
+#, no-c-format
+msgid "%s statement is not allowed inside of BLOCK at %C"
+msgstr "%s 语句不能用在%C处 BLOCK 内"
+
+#: fortran/parse.c:2517
 #, no-c-format
 msgid "%s statement must appear in a MODULE"
 msgstr "%s 语句必须出现在 MODULE 中"
 
-#: fortran/parse.c:2417
+#: fortran/parse.c:2524
 #, no-c-format
 msgid "%s statement at %C follows another accessibility specification"
-msgstr ""
+msgstr "%2$C处 %1$s 语句出现在其他访问规格之后"
 
-#: fortran/parse.c:2467
-#, fuzzy, no-c-format
+#: fortran/parse.c:2574
+#, no-c-format
 msgid "Bad kind expression for function '%s' at %L"
-msgstr "不能解析函数‘%s’,于%L处"
+msgstr "%2$L处的函数‘%1$s’种类表达式错误"
 
-#: fortran/parse.c:2471
-#, fuzzy, no-c-format
+#: fortran/parse.c:2578
+#, no-c-format
 msgid "The type for function '%s' at %L is not accessible"
-msgstr "函数‘%s’中的替代返回限定符在%L处不被允许"
+msgstr "%2$L处函数‘%1$s’的类型是不可访问的"
 
-#: fortran/parse.c:2529
+#: fortran/parse.c:2636
 #, no-c-format
 msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
-msgstr ""
+msgstr "%C处的 ELSEWHERE 语句出现在未屏蔽的 ELSEWHERE 之后"
 
-#: fortran/parse.c:2550
+#: fortran/parse.c:2657
 #, no-c-format
 msgid "Unexpected %s statement in WHERE block at %C"
 msgstr "非预期的 %s 语句出现在%C处的 WHERE 块中"
 
-#: fortran/parse.c:2609
+#: fortran/parse.c:2716
 #, no-c-format
 msgid "Unexpected %s statement in FORALL block at %C"
 msgstr "非预期的 %s 语句出现在%C处的 FORALL 块中"
 
-#: fortran/parse.c:2660
+#: fortran/parse.c:2767
 #, no-c-format
 msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
 msgstr "%C处的 ELSE IF 语句不能出现在%L处的 ELSE 语句之后"
 
-#: fortran/parse.c:2678
+#: fortran/parse.c:2785
 #, no-c-format
 msgid "Duplicate ELSE statements at %L and %C"
 msgstr "%L 和%C处重复的 ELSE 语句"
 
-#: fortran/parse.c:2739
+#: fortran/parse.c:2846
 #, no-c-format
 msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
-msgstr ""
+msgstr "%C处 SELECT CASE 之后需要 CASE 或 END SELECT 语句"
 
-#: fortran/parse.c:2797
+#: fortran/parse.c:2929
+#, no-c-format
+msgid "Expected TYPE IS, CLASS IS or END SELECT statement following SELECT TYPE at %C"
+msgstr "%C处的 SELECT TYPE 之后需要 TYPE IS、CLASS IS 或 END SELECT 语句"
+
+#: fortran/parse.c:2991
 #, no-c-format
 msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
 msgstr "变量‘%s’(位于 %C)不能在从 %L 开始的循环的内部重定义"
 
-#: fortran/parse.c:2831
+#: fortran/parse.c:3024
 #, no-c-format
 msgid "End of nonblock DO statement at %C is within another block"
 msgstr "%C处结束的非块 DO 语句在另一个块当中"
 
-#: fortran/parse.c:2840
+#: fortran/parse.c:3033
 #, no-c-format
 msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
 msgstr "%C处结束的非块 DO 语句与另一个 DO 循环交错"
 
-#: fortran/parse.c:2889
+#: fortran/parse.c:3089
+#, no-c-format
+msgid "Fortran 2008: BLOCK construct at %C"
+msgstr "Fortran 2008:%C处的 BLOCK 结构"
+
+#: fortran/parse.c:3147
 #, no-c-format
 msgid "Statement label in ENDDO at %C doesn't match DO label"
 msgstr "%C处 ENDDO 中的语句标号与 DO 标号不匹配"
 
-#: fortran/parse.c:2905
+#: fortran/parse.c:3163
 #, no-c-format
-msgid "named block DO at %L requires matching ENDDO name"
-msgstr ""
+msgid "Named block DO at %L requires matching ENDDO name"
+msgstr "%L处有名的块 DO 需要匹配的 ENDDO 名"
 
-#: fortran/parse.c:3164
+#: fortran/parse.c:3422
 #, no-c-format
 msgid "Name after !$omp critical and !$omp end critical does not match at %C"
 msgstr "%C处 !$omp critical 和 !$omp end critical 后的名字不匹配"
 
-#: fortran/parse.c:3220
+#: fortran/parse.c:3478
 #, no-c-format
 msgid "%s statement at %C cannot terminate a non-block DO loop"
-msgstr ""
+msgstr "%2$C处的 %1$s 语句不能终止一个不成块的 DO 循环"
 
-#: fortran/parse.c:3407
+#: fortran/parse.c:3668
 #, no-c-format
 msgid "Contained procedure '%s' at %C is already ambiguous"
-msgstr ""
+msgstr "%2$C处包含的过程‘%1$s’已经有歧义"
 
-#: fortran/parse.c:3457
+#: fortran/parse.c:3718
 #, no-c-format
 msgid "Unexpected %s statement in CONTAINS section at %C"
 msgstr "非预期的 %s 语句出现在%C处的 CONTAINS 段中"
 
-#: fortran/parse.c:3481
-#, fuzzy, no-c-format
+#: fortran/parse.c:3742
+#, no-c-format
 msgid "Fortran 2008: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
-msgstr "Fortran 2003:%C处的 BOZ 用在了 DATA 语句之外"
+msgstr "Fortran 2008:%C处 CONTAINS 语句没有 FUNCTION 或 SUBROUTINE 语句"
 
-#: fortran/parse.c:3552
+#: fortran/parse.c:3819
 #, no-c-format
 msgid "CONTAINS statement at %C is already in a contained program unit"
-msgstr ""
+msgstr "%C处的 CONTAINS 语句已经在包含的程序单元中"
 
-#: fortran/parse.c:3601
+#: fortran/parse.c:3868
 #, no-c-format
 msgid "Global name '%s' at %L is already being used as a %s at %L"
-msgstr ""
+msgstr "%2$L处的名字‘%1$s’已经在%4$L处被用作 %3$s"
 
-#: fortran/parse.c:3622
+#: fortran/parse.c:3889
 #, no-c-format
 msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
-msgstr ""
+msgstr "%C处空白 BLOCK DATA 与%L处先前的 BLOCK DATA 冲突"
 
-#: fortran/parse.c:3648
+#: fortran/parse.c:3915
 #, no-c-format
 msgid "Unexpected %s statement in BLOCK DATA at %C"
 msgstr "非预期的 %s 语句出现在%C处的 BLOCK DATA 块中"
 
-#: fortran/parse.c:3691
+#: fortran/parse.c:3958
 #, no-c-format
 msgid "Unexpected %s statement in MODULE at %C"
 msgstr "非预期的 %s 语句出现在%C处的 MODULE 中"
@@ -8009,2231 +8674,2426 @@ msgstr "非预期的 %s 语句出现在%C处的 MODULE 中"
 #. If we see a duplicate main program, shut down.  If the second
 #. instance is an implied main program, i.e. data decls or executable
 #. statements, we're in for lots of errors.
-#: fortran/parse.c:3874
+#: fortran/parse.c:4275
 #, no-c-format
 msgid "Two main PROGRAMs at %L and %C"
 msgstr "%L 和%C处有两个主 PROGRAM"
 
-#: fortran/primary.c:90
+#: fortran/primary.c:93
 #, no-c-format
 msgid "Missing kind-parameter at %C"
 msgstr "%C处缺少种别参数"
 
-#: fortran/primary.c:214
+#: fortran/primary.c:217
 #, no-c-format
 msgid "Integer kind %d at %C not available"
 msgstr "整数种别 %d 在%C处不可用"
 
-#: fortran/primary.c:222
+#: fortran/primary.c:225
 #, no-c-format
 msgid "Integer too big for its kind at %C. This check can be disabled with the option -fno-range-check"
-msgstr ""
+msgstr "%C整数相对其种别而言太大。这一检查可用 -fno-range-check 选项禁用"
 
-#: fortran/primary.c:251
+#: fortran/primary.c:254
 #, no-c-format
 msgid "Extension: Hollerith constant at %C"
 msgstr "扩展:%C处的荷勒瑞斯常量"
 
-#: fortran/primary.c:263
+#: fortran/primary.c:266
 #, no-c-format
 msgid "Invalid Hollerith constant: %L must contain at least one character"
 msgstr "无效的荷勒瑞斯常量:%L 必须包含至少一个字符"
 
-#: fortran/primary.c:269
+#: fortran/primary.c:272
 #, no-c-format
 msgid "Invalid Hollerith constant: Integer kind at %L should be default"
 msgstr "无效的荷勒瑞斯常量:%L处的整数种别应当是默认的"
 
-#: fortran/primary.c:286
-#, fuzzy, no-c-format
+#: fortran/primary.c:289
+#, no-c-format
 msgid "Invalid Hollerith constant at %L contains a wide character"
-msgstr "无效的荷勒瑞斯常量:%L 必须包含至少一个字符"
+msgstr "%L处无效的荷勒瑞斯常量包含一个宽字符"
 
-#: fortran/primary.c:367
+#: fortran/primary.c:370
 #, no-c-format
 msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
 msgstr "扩展:%C处的十六进制常量使用了非标准语法"
 
-#: fortran/primary.c:377
-#, fuzzy, no-c-format
+#: fortran/primary.c:380
+#, no-c-format
 msgid "Empty set of digits in BOZ constant at %C"
-msgstr "%C处的复常量语法错误"
+msgstr "%C处 BOZ 常量中的数字符集合为空"
 
-#: fortran/primary.c:383
+#: fortran/primary.c:386
 #, no-c-format
 msgid "Illegal character in BOZ constant at %C"
 msgstr "%C处的 BOZ 常量中有非法字符"
 
-#: fortran/primary.c:406
+#: fortran/primary.c:409
 #, no-c-format
 msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
 msgstr "扩展:%C处的 BOZ 常量使用了非标准的后序语法。"
 
-#: fortran/primary.c:437
+#: fortran/primary.c:440
 #, no-c-format
 msgid "Integer too big for integer kind %i at %C"
 msgstr "%2$C处的整数对其种别 %1$i 来说太大"
 
-#: fortran/primary.c:443
+#: fortran/primary.c:446
 #, no-c-format
 msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
 msgstr "Fortran 2003:%C处的 BOZ 用在了 DATA 语句之外"
 
-#: fortran/primary.c:543
+#: fortran/primary.c:546
 #, no-c-format
 msgid "Missing exponent in real number at %C"
 msgstr "%C处实数缺少指数部分"
 
-#: fortran/primary.c:599
+#: fortran/primary.c:602
 #, no-c-format
 msgid "Real number at %C has a 'd' exponent and an explicit kind"
-msgstr ""
+msgstr "%C处的实数有一个‘d’指数和一个显式的种别"
 
-#: fortran/primary.c:612
+#: fortran/primary.c:615
 #, no-c-format
 msgid "Invalid real kind %d at %C"
 msgstr "无效的实型种别 %d,在%C处"
 
-#: fortran/primary.c:626
+#: fortran/primary.c:629
 #, no-c-format
 msgid "Real constant overflows its kind at %C"
 msgstr "%C处实常数上溢其种别"
 
-#: fortran/primary.c:631
+#: fortran/primary.c:634
 #, no-c-format
 msgid "Real constant underflows its kind at %C"
 msgstr "%C处实常数下溢其种别"
 
-#: fortran/primary.c:723
+#: fortran/primary.c:726
 #, no-c-format
 msgid "Syntax error in SUBSTRING specification at %C"
-msgstr "%C SUBSTRING 指定语法错误"
+msgstr "%C处 SUBSTRING 规格语法错误"
 
-#: fortran/primary.c:935
+#: fortran/primary.c:938
 #, no-c-format
 msgid "Invalid kind %d for CHARACTER constant at %C"
 msgstr "CHARACTER 常量的种别 %d 无效,在%C处"
 
-#: fortran/primary.c:956
+#: fortran/primary.c:959
 #, no-c-format
 msgid "Unterminated character constant beginning at %C"
 msgstr "开始于 %C 的未终结的字符常量"
 
-#: fortran/primary.c:997
+#: fortran/primary.c:1000
 #, no-c-format
 msgid "Character '%s' in string at %C is not representable in character kind %d"
-msgstr ""
+msgstr "%2$C处字符串中的字符‘%1$s’在字符种别 %3$d 中不可表示"
 
-#: fortran/primary.c:1080
+#: fortran/primary.c:1083
 #, no-c-format
 msgid "Bad kind for logical constant at %C"
 msgstr "%C处逻辑常量的种别错误"
 
-#: fortran/primary.c:1119
+#: fortran/primary.c:1122
 #, no-c-format
 msgid "Expected PARAMETER symbol in complex constant at %C"
-msgstr ""
+msgstr "%C处复数常量中需要 PARAMETER 符号"
 
-#: fortran/primary.c:1125
+#: fortran/primary.c:1128
 #, no-c-format
 msgid "Numeric PARAMETER required in complex constant at %C"
-msgstr ""
+msgstr "%C处数值 PARAMETER 要求复数常量"
 
-#: fortran/primary.c:1131
+#: fortran/primary.c:1134
 #, no-c-format
 msgid "Scalar PARAMETER required in complex constant at %C"
-msgstr ""
+msgstr "%C处标量 PARAMETER 要求复数常量"
 
-#: fortran/primary.c:1135
+#: fortran/primary.c:1138
 #, no-c-format
 msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
 msgstr "Fortran 2003:%C处复数常量中的 PARAMETER 符号"
 
-#: fortran/primary.c:1165
+#: fortran/primary.c:1168
 #, no-c-format
 msgid "Error converting PARAMETER constant in complex constant at %C"
-msgstr ""
+msgstr "%C处在复数常量中转换 PARAMETER 常量时出错"
 
-#: fortran/primary.c:1294
+#: fortran/primary.c:1297
 #, no-c-format
 msgid "Syntax error in COMPLEX constant at %C"
 msgstr "%C处的复常量语法错误"
 
-#: fortran/primary.c:1475
+#: fortran/primary.c:1503
 #, no-c-format
 msgid "Keyword '%s' at %C has already appeared in the current argument list"
 msgstr "关键字‘%s’在%C处已经出现在当前实参列表中"
 
-#: fortran/primary.c:1539
+#: fortran/primary.c:1567
 #, no-c-format
 msgid "Extension: argument list function at %C"
 msgstr "扩展:%C处的参数列表函数"
 
-#: fortran/primary.c:1606
+#: fortran/primary.c:1634
 #, no-c-format
 msgid "Expected alternate return label at %C"
 msgstr "%C处需要替代的返回标号"
 
-#: fortran/primary.c:1624
+#: fortran/primary.c:1652
 #, no-c-format
 msgid "Missing keyword name in actual argument list at %C"
-msgstr ""
+msgstr "%C处的实参数列中缺少关键字名"
 
-#: fortran/primary.c:1669
+#: fortran/primary.c:1697
 #, no-c-format
 msgid "Syntax error in argument list at %C"
 msgstr "%C处的参数列表语法错误"
 
-#: fortran/primary.c:1764
+#: fortran/primary.c:1802
 #, no-c-format
 msgid "Expected structure component name at %C"
 msgstr "%C处需要结构组件名"
 
-#: fortran/primary.c:1801
-#, fuzzy, no-c-format
+#: fortran/primary.c:1846
+#, no-c-format
 msgid "Expected argument list at %C"
-msgstr "%C处形参列表中有非预期的垃圾字符"
+msgstr "%C处需要实参列表"
 
-#: fortran/primary.c:2095
-#, fuzzy, no-c-format
+#: fortran/primary.c:2196
+#, no-c-format
 msgid "Fortran 2003: Structure constructor with missing optional arguments at %C"
-msgstr "Fortran 2003:%2$L处的‘%1$s’内建函数有 KIND 实参"
+msgstr "Fortran 2003:%C处的结构构造函数丢失可选的参数"
 
-#: fortran/primary.c:2103
-#, fuzzy, no-c-format
+#: fortran/primary.c:2204
+#, no-c-format
 msgid "No initializer for component '%s' given in the structure constructor at %C!"
-msgstr "%C处结构构造中组件太少"
+msgstr "%C处结构构造函数中没有给出组件‘%1$s’的初始值设定"
 
-#: fortran/primary.c:2159
-#, fuzzy, no-c-format
+#: fortran/primary.c:2260
+#, no-c-format
 msgid "Can't construct ABSTRACT type '%s' at %C"
-msgstr "重复的构造标号‘%s’出现在%C处"
+msgstr "%2$C处无法构建 ABSTRACT 类型‘%1$s’"
 
-#: fortran/primary.c:2187
-#, fuzzy, no-c-format
+#: fortran/primary.c:2288
+#, no-c-format
 msgid "Fortran 2003: Structure constructor with named arguments at %C"
-msgstr "Fortran 2003:%2$L处的‘%1$s’内建函数有 KIND 实参"
+msgstr "Fortran 2003:%C处的结构构造函数有有名的参数"
 
-#: fortran/primary.c:2202
+#: fortran/primary.c:2303
 #, no-c-format
 msgid "Component initializer without name after component named %s at %C!"
-msgstr ""
+msgstr "%2$C处名为 %s 的组合之后的组件初始值设定没有名字!"
 
-#: fortran/primary.c:2205
-#, fuzzy, no-c-format
+#: fortran/primary.c:2306
+#, no-c-format
 msgid "Too many components in structure constructor at %C!"
-msgstr "%C处结构构造的组件太多"
+msgstr "%C处结构构造函数中组件太多!"
 
-#: fortran/primary.c:2238
-#, fuzzy, no-c-format
+#: fortran/primary.c:2339
+#, no-c-format
 msgid "Component '%s' is initialized twice in the structure constructor at %C!"
-msgstr "%C处结构构造中组件太少"
+msgstr "%2$C处结构构造函数中组件‘%1$s’被初始化两次!"
 
-#: fortran/primary.c:2294
+#: fortran/primary.c:2395
 #, no-c-format
 msgid "component '%s' at %L has already been set by a parent derived type constructor"
-msgstr ""
+msgstr "%2$L处的组件‘%1$s’已被基类派生类型构造函数所设置"
 
-#: fortran/primary.c:2317
+#: fortran/primary.c:2418
 #, no-c-format
 msgid "Syntax error in structure constructor at %C"
 msgstr "%C 结构构造语法错误"
 
-#: fortran/primary.c:2407
+#: fortran/primary.c:2534
 #, no-c-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)"
-msgstr ""
+msgstr "%2$C处的‘%1$s’是一个递归函数的名字同时也是返回值变量。请为直接递归使用一个显式的 RESULT 变量(12.5.2.1)"
 
-#: fortran/primary.c:2529
+#: fortran/primary.c:2653
 #, no-c-format
 msgid "Unexpected use of subroutine name '%s' at %C"
 msgstr "对子进程名‘%s’非预期的使用,在%C处"
 
-#: fortran/primary.c:2560
+#: fortran/primary.c:2684
 #, no-c-format
 msgid "Statement function '%s' requires argument list at %C"
 msgstr "语句函数‘%s’在%C处缺少参数列表"
 
-#: fortran/primary.c:2563
+#: fortran/primary.c:2687
 #, no-c-format
 msgid "Function '%s' requires an argument list at %C"
 msgstr "函数‘%s’在 %C 需要参数列表"
 
-#: fortran/primary.c:2608
+#: fortran/primary.c:2734
 #, no-c-format
 msgid "Missing argument to '%s' at %C"
 msgstr "‘%s’在%C处缺少实参"
 
-#: fortran/primary.c:2749
+#: fortran/primary.c:2875
 #, no-c-format
 msgid "Missing argument list in function '%s' at %C"
 msgstr "函数‘%s’在%C处缺少参数列表"
 
-#: fortran/primary.c:2777
+#: fortran/primary.c:2903
 #, no-c-format
 msgid "Symbol at %C is not appropriate for an expression"
 msgstr "%C处的符号不适用于表达式"
 
-#: fortran/primary.c:2845
+#: fortran/primary.c:2971
 #, no-c-format
 msgid "Assigning to PROTECTED variable at %C"
 msgstr "%L处向 PROTECTED 变量赋值"
 
-#: fortran/primary.c:2879
+#: fortran/primary.c:3005
 #, no-c-format
 msgid "Named constant at %C in an EQUIVALENCE"
 msgstr "%C处有名常量出现在 EQUIVALENCE 中"
 
-#: fortran/primary.c:2914
+#: fortran/primary.c:3038
 #, no-c-format
 msgid "'%s' at %C is not a variable"
 msgstr "%2$C处的‘%1$s’不是一个变量"
 
-#: fortran/resolve.c:98
-#, fuzzy, no-c-format
+#: fortran/resolve.c:111
+#, no-c-format
 msgid "'%s' at %L is of the ABSTRACT type '%s'"
-msgstr "%s 标记在%L处必须具有类型 %s"
+msgstr "%2$L处的‘%1$s’具有 ABSTRACT 类型‘%3$s’"
 
-#: fortran/resolve.c:101
+#: fortran/resolve.c:114
 #, no-c-format
 msgid "ABSTRACT type '%s' used at %L"
-msgstr ""
+msgstr "%2$L处使用了 ABSTRACT 类型‘%1$s’"
 
-#: fortran/resolve.c:151
+#: fortran/resolve.c:164
 #, no-c-format
 msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
 msgstr "元素子进程‘%s’中的替代返回限定符在%L处不被允许"
 
-#: fortran/resolve.c:155
+#: fortran/resolve.c:168
 #, no-c-format
 msgid "Alternate return specifier in function '%s' at %L is not allowed"
 msgstr "函数‘%s’中的替代返回限定符在%L处不被允许"
 
-#: fortran/resolve.c:168
+#: fortran/resolve.c:181
 #, no-c-format
 msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
-msgstr ""
+msgstr "%2$L处 PURE 过程的哑过程‘%1$s’必须也是 PURE"
 
-#: fortran/resolve.c:175
-#, fuzzy, no-c-format
+#: fortran/resolve.c:188
+#, no-c-format
 msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
-msgstr "初始化不允许出现在%C处的 PURE 过程中"
+msgstr "%L处的哑过程不允许出现在 ELEMENTAL 过程中"
 
-#: fortran/resolve.c:188 fortran/resolve.c:1205
+#: fortran/resolve.c:201 fortran/resolve.c:1414
 #, no-c-format
 msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
-msgstr ""
+msgstr "%2$L处对‘%1$s’的引用找不到特定的 INTRINSIC 过程"
 
-#: fortran/resolve.c:236
-#, fuzzy, no-c-format
+#: fortran/resolve.c:249
+#, no-c-format
 msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
-msgstr "%L 定义赋值的第二个参数必须是 INTENT(IN)"
+msgstr "%3$L处纯函数‘%2$s’的实参‘%1$s’必须是 INTENT(IN)"
 
-#: fortran/resolve.c:241
+#: fortran/resolve.c:254
 #, no-c-format
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
-msgstr ""
+msgstr "%3$L处纯子进程‘%2$s’的参数‘%1$s’必须指定其 INTENT"
 
-#: fortran/resolve.c:250
+#: fortran/resolve.c:263
 #, no-c-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr "元素过程的实参‘%s’在%L处必须是标量"
 
-#: fortran/resolve.c:257
+#: fortran/resolve.c:270
 #, no-c-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
-msgstr ""
+msgstr "%2$L处基本过程的参数‘%1$s’不能有 POINTER 属性"
 
-#: fortran/resolve.c:265
-#, fuzzy, no-c-format
+#: fortran/resolve.c:278
+#, no-c-format
 msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
-msgstr "初始化不允许出现在%C处的 PURE 过程中"
+msgstr "%3$L处哑过程‘%1$s’不能出现在基本过程‘%2$s’中"
 
-#: fortran/resolve.c:277
+#: fortran/resolve.c:290
 #, no-c-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr "语句函数的实参‘%s’在%L处必须是标量"
 
-#: fortran/resolve.c:287
-#, fuzzy, no-c-format
+#: fortran/resolve.c:300
+#, no-c-format
 msgid "Character-valued argument '%s' of statement function at %L must have constant length"
-msgstr "语句函数的实参‘%s’在%L处必须是标量"
+msgstr "%2$L处语句函数有字符值的参数‘%1$s’必须有常量长度"
 
-#: fortran/resolve.c:344
+#: fortran/resolve.c:357
 #, no-c-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr "%2$L处的包含函数‘%1$s’没有隐式类型"
 
-#: fortran/resolve.c:347
-#, fuzzy, no-c-format
+#: fortran/resolve.c:360
+#, no-c-format
 msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
-msgstr "函数‘%s’在%L处没有 IMPLICIT 类型"
+msgstr "%3$L处包含函数‘%2$s’的结果‘%1$s’没有 IMPLICIT 类型"
 
-#: fortran/resolve.c:364
-#, fuzzy, no-c-format
-msgid "Character-valued internal function '%s' at %L must not be assumed length"
-msgstr "语句函数‘%s’在%L处不允许用作实参"
+#: fortran/resolve.c:386
+msgid "module procedure"
+msgstr "模块过程"
 
-#: fortran/resolve.c:535
-#, fuzzy, no-c-format
+#: fortran/resolve.c:387
+msgid "internal function"
+msgstr "内部函数"
+
+#: fortran/resolve.c:384
+#, no-c-format
+msgid "Character-valued %s '%s' at %L must not be assumed length"
+msgstr "%3$L处有字符值的 %1$s‘%2$s’不能是假定长度的"
+
+#: fortran/resolve.c:559
+#, no-c-format
 msgid "Function %s at %L has entries with mismatched array specifications"
-msgstr "不一致的实例变量指定"
+msgstr "%2$L处函数‘%1$s’有不匹配的数组规格说明"
 
-#: fortran/resolve.c:552
+#: fortran/resolve.c:576
 #, no-c-format
 msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
-msgstr ""
+msgstr "扩展:%2$L处函数 %1$s 有返回不同字符串长度的变量的表项"
 
-#: fortran/resolve.c:579
+#: fortran/resolve.c:603
 #, no-c-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr "%3$L处函数 %2$s 的返回值 %1$s 不能是一个数组"
 
-#: fortran/resolve.c:583
+#: fortran/resolve.c:607
 #, no-c-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr "%3$L处函数 %2$s 中入口返回值 %1$s 不能是一个数组"
 
-#: fortran/resolve.c:590
+#: fortran/resolve.c:614
 #, no-c-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr "%3$L处函数 %2$s 的返回值 %1$s 不能是一个指针"
 
-#: fortran/resolve.c:594
+#: fortran/resolve.c:618
 #, no-c-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr "%3$L处函数 %2$s 中入口返回值 %1$s 不能是一个指针"
 
-#: fortran/resolve.c:632
+#: fortran/resolve.c:656
 #, no-c-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr "%4$L处函数 %2$s 的返回值 %1$s 不能具有 %3$s 具型"
 
-#: fortran/resolve.c:637
+#: fortran/resolve.c:661
 #, no-c-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr "%4$L处函数 %2$s 中入口返回值 %1$s 不能具有 %3$s 具型"
 
-#: fortran/resolve.c:695
+#: fortran/resolve.c:719
 #, no-c-format
 msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
-msgstr ""
+msgstr "%2$L处变量‘%s’在 COMMON中,但其初始化仅容许出现在 BLOCK DATA 中"
 
-#: fortran/resolve.c:699
+#: fortran/resolve.c:723
 #, no-c-format
 msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
-msgstr ""
+msgstr "%2$L处被初始化的变量‘%1$s’是在一个空白 COMMON 中,但是初始化仅容许出现在有名公用块中"
 
-#: fortran/resolve.c:710
+#: fortran/resolve.c:734
 #, no-c-format
 msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
-msgstr ""
+msgstr "%2$L处 COMMON 中的派生类型变量‘%1$s’既没有 SEQUENCE 也没有 BIND(C) 属性"
 
-#: fortran/resolve.c:714
+#: fortran/resolve.c:738
 #, no-c-format
 msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
-msgstr ""
+msgstr "%2$L处 COMMON 中的派生类型变量‘%1$s’有一个可分配的最终组件"
 
-#: fortran/resolve.c:718
-#, fuzzy, no-c-format
+#: fortran/resolve.c:742
+#, no-c-format
 msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
-msgstr "外部对象‘%s’在%L处不能有初始值设定"
+msgstr "%2$L处 COMMON 中的派生类型变量‘%1$s’不能有默认的初始值设定"
 
-#: fortran/resolve.c:745
+#: fortran/resolve.c:772
 #, no-c-format
 msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
 msgstr "%2$L处的 COMMON 块‘%1$s’在%3$L处被用作 PARAMETER"
 
-#: fortran/resolve.c:749
+#: fortran/resolve.c:776
 #, no-c-format
 msgid "COMMON block '%s' at %L is also an intrinsic procedure"
-msgstr ""
+msgstr "%2$L处的 COMMON 块‘%s’也是一个内建过程"
 
-#: fortran/resolve.c:753
+#: fortran/resolve.c:780
 #, no-c-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
-msgstr ""
+msgstr "Fortran 2003:%2$L处的 COMMON 块‘%1$s’也是一个函数返回值"
 
-#: fortran/resolve.c:758
+#: fortran/resolve.c:785
 #, no-c-format
 msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
-msgstr ""
+msgstr "Fortran 2003:%2$L处的 COMMON 块‘%1$s’也是一个全局过程"
 
-#: fortran/resolve.c:820
-#, fuzzy, no-c-format
+#: fortran/resolve.c:847
+#, no-c-format
 msgid "Components of structure constructor '%s' at %L are PRIVATE"
-msgstr "%C处结构构造中组件太少"
+msgstr "%2$L处结构构造函数‘%1$s’的组件为 PRIVATE"
 
-#: fortran/resolve.c:842
+#: fortran/resolve.c:869
 #, no-c-format
 msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
-msgstr ""
+msgstr "%L处的派生类型构造函数中元素的秩与该组件(%d/%d)的不匹配"
 
-#: fortran/resolve.c:855
+#: fortran/resolve.c:882
 #, no-c-format
 msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
-msgstr ""
+msgstr "%L处指针组件‘%s’的派生类型构造函数中的元素是 %s 但应该是 %s"
 
-#: fortran/resolve.c:868
+#: fortran/resolve.c:899
 #, no-c-format
 msgid "The NULL in the derived type constructor at %L is being applied to component '%s', which is neither a POINTER nor ALLOCATABLE"
-msgstr ""
+msgstr "%L处派生类型构造函数中的 NULL 被用在既不是一个指针也不是 ALLOCATABLE 的组件‘%s’上"
 
-#: fortran/resolve.c:882
+#: fortran/resolve.c:913
 #, no-c-format
 msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
-msgstr ""
+msgstr "%L处指针组件‘%s’的派生类型构造函数中的元素应该是 POINTER 或 TARGET"
 
-#: fortran/resolve.c:1003
+#: fortran/resolve.c:1034
 #, no-c-format
 msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
-msgstr ""
+msgstr "最后一维的上限必须出现在对在%2$L处假定大小数组‘%1$s’的引用中"
 
-#: fortran/resolve.c:1065
+#: fortran/resolve.c:1096
 #, no-c-format
 msgid "'%s' at %L is ambiguous"
 msgstr "‘%s’(位于 %L)有歧义"
 
-#: fortran/resolve.c:1069
-#, fuzzy, no-c-format
+#: fortran/resolve.c:1100
+#, no-c-format
 msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
-msgstr "语句函数‘%s’在%L处不允许用作实参"
+msgstr "GENERIC 过程‘%s’在%L处不允许用作实参"
+
+#: fortran/resolve.c:1202
+#, no-c-format
+msgid "Type specified for intrinsic function '%s' at %L is ignored"
+msgstr "%2$L处为内建函数‘%1$s’指定的类型被忽略"
 
-#: fortran/resolve.c:1100 fortran/resolve.c:5928 fortran/resolve.c:6683
+#: fortran/resolve.c:1215
+#, no-c-format
+msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+msgstr "%2$L处的内建子例程‘%1$s’不应该有类型限定符"
+
+#: fortran/resolve.c:1226
+#, no-c-format
+msgid "'%s' declared INTRINSIC at %L does not exist"
+msgstr "%2$L 处‘%1$s’声明的 INTRINSIC 不存在"
+
+#: fortran/resolve.c:1237
+#, no-c-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."
+msgstr "在%2$L处由内建函数‘%1$s’声明的 INTRINSIC 在当前的标准设置中是不可用的,但在 %3$s 下可用。使用一个适当的 -std=* 选项或启用 -fall-intrinsics 以便使用它。"
+
+#: fortran/resolve.c:1273
+#, no-c-format
+msgid "Non-RECURSIVE procedure '%s' at %L is possibly calling itself recursively.  Declare it RECURSIVE or use -frecursive"
+msgstr "%2$L处非 RECURSIVE 过程‘%1$s’可能递归地调用它自己。请将它声明为 RECURSIVE 或使用 -frecursive"
+
+#: fortran/resolve.c:1307 fortran/resolve.c:7213 fortran/resolve.c:8001
 #, no-c-format
 msgid "Label %d referenced at %L is never defined"
 msgstr "标号 %d(引用自 %L)从未被定义"
 
-#: fortran/resolve.c:1145
+#: fortran/resolve.c:1366
 #, no-c-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr "语句函数‘%s’在%L处不允许用作实参"
 
-#: fortran/resolve.c:1153
+#: fortran/resolve.c:1374
 #, no-c-format
 msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
 msgstr "内建函数‘%s’在%L处不允许用作实参"
 
-#: fortran/resolve.c:1160
+#: fortran/resolve.c:1381
 #, no-c-format
 msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
 msgstr "内部过程‘%s’在%L处不允许用作实参"
 
-#: fortran/resolve.c:1166
-#, fuzzy, no-c-format
-msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
-msgstr "语句函数‘%s’在%L处不允许用作实参"
-
-#: fortran/resolve.c:1183
+#: fortran/resolve.c:1387
 #, no-c-format
-msgid "Reference to ENTRY '%s' at %L is recursive, but procedure '%s' is not declared as RECURSIVE"
-msgstr ""
+msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+msgstr "ELEMENTAL 非 INTRINSIC 过程‘%s’不允许在%L处作为实际参数"
 
-#: fortran/resolve.c:1224
+#: fortran/resolve.c:1436
 #, no-c-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "符号‘%s’(位于 %L)有歧义"
 
-#: fortran/resolve.c:1273
+#: fortran/resolve.c:1487
 #, no-c-format
 msgid "By-value argument at %L is not of numeric type"
 msgstr "%L处按值传递的实参不具有数字类型"
 
-#: fortran/resolve.c:1280
+#: fortran/resolve.c:1494
 #, no-c-format
 msgid "By-value argument at %L cannot be an array or an array section"
 msgstr "%L处按值传递的实参不能是数组或数组段"
 
-#: fortran/resolve.c:1294
+#: fortran/resolve.c:1508
 #, no-c-format
 msgid "By-value argument at %L is not allowed in this context"
 msgstr "%L处上下文中不允许使用按值传递的实参"
 
-#: fortran/resolve.c:1306
+#: fortran/resolve.c:1520
 #, no-c-format
 msgid "Passing internal procedure at %L by location not allowed"
 msgstr "不允许按位置传递%L处的内部过程"
 
-#: fortran/resolve.c:1431
+#: fortran/resolve.c:1645
 #, no-c-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)"
-msgstr ""
+msgstr "%2$L处的‘%1$s’是个数组且是可选的;如果它缺失, 它不能是一个 ELEMENTAL 过程的实际参数,除非有一个具有相同秩的非可选的参数(12.4.1.5)"
 
-#: fortran/resolve.c:1453
+#: fortran/resolve.c:1668
 msgid "elemental procedure"
 msgstr "基本过程"
 
-#: fortran/resolve.c:1470
+#: fortran/resolve.c:1684
 #, no-c-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"
-msgstr ""
+msgstr "%1$L处 ELEMENTAL 子程序‘%4$s’的 INTENT(%2$s) 哑‘%3$s’的实际参数是一个标量,但是另一个实际参数是一个数组"
 
-#: fortran/resolve.c:1607
+#: fortran/resolve.c:1830
+#, no-c-format
+msgid "The reference to function '%s' at %L either needs an explicit INTERFACE or the rank is incorrect"
+msgstr "%2$L处对函数‘%1$s’的引用或者需要一个显式的 INTERFACE 或者秩不正确"
+
+#: fortran/resolve.c:1930
 #, no-c-format
 msgid "There is no specific function for the generic '%s' at %L"
-msgstr ""
+msgstr "%2$L处的泛型‘%1$s’没有指定的函数"
 
-#: fortran/resolve.c:1616
+#: fortran/resolve.c:1939
 #, no-c-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
-msgstr ""
+msgstr "%2$L处泛型函数‘%1$s’与特定的内建接口不一致"
 
-#: fortran/resolve.c:1671
+#: fortran/resolve.c:1977
 #, no-c-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
-msgstr ""
+msgstr "%2$L处的函数‘%1$s’是 INTRINSIC,但与内建函数不兼容"
 
-#: fortran/resolve.c:1717
+#: fortran/resolve.c:2026
 #, no-c-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr "不能解析 %2$L处的函数‘%1$s’"
 
-#: fortran/resolve.c:1773 fortran/resolve.c:10177
+#: fortran/resolve.c:2082 fortran/resolve.c:12033
 #, no-c-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr "%2$L处的函数‘%1$s’没有隐式类型"
 
-#: fortran/resolve.c:1984
+#: fortran/resolve.c:2291
 #, no-c-format
 msgid "Argument to '%s' at %L is not a variable"
 msgstr "%2$L处‘%1$s’的实参不是一个变量"
 
-#: fortran/resolve.c:2056
+#: fortran/resolve.c:2339
 #, no-c-format
 msgid "More actual than formal arguments in '%s' call at %L"
 msgstr "%2$L处‘%1$s’调用过程时实参比形参多"
 
-#: fortran/resolve.c:2068
+#: fortran/resolve.c:2348
 #, no-c-format
 msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
-msgstr ""
+msgstr "%3$L处‘%2$s’的参数‘%1$s’必须是一个 TARGET 或者相关联的指针"
 
-#: fortran/resolve.c:2094
+#: fortran/resolve.c:2371
 #, no-c-format
 msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
-msgstr ""
+msgstr "%3$L用作‘%2$s’的参数的可分配变量‘%1$s’不能是大小为零的数组"
 
-#: fortran/resolve.c:2111
+#: fortran/resolve.c:2388
 #, no-c-format
 msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
-msgstr ""
+msgstr "%2$L处假定外形数组‘%1$s’不能是过程‘%3$s’的参数,因为该过程是不能与 C 互操作的"
 
-#: fortran/resolve.c:2121
+#: fortran/resolve.c:2398
 #, no-c-format
 msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
-msgstr ""
+msgstr "%2$L处延迟外形数组‘%1$s’不能是过程‘%3$s’的参数,因为它不能与 C 互操作"
 
-#: fortran/resolve.c:2144 fortran/resolve.c:2183
-#, fuzzy, no-c-format
+#: fortran/resolve.c:2421 fortran/resolve.c:2458
+#, no-c-format
 msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
-msgstr "%s 的参数(位于 %L)长度必须为 1"
+msgstr "%3$L处的‘%2$s’的 CHARACTER 参数‘%1$s’长度必须为 1"
 
 #. Case 1c, section 15.1.2.5, J3/04-007: an associated
 #. scalar pointer.
-#: fortran/resolve.c:2159
+#: fortran/resolve.c:2434
 #, no-c-format
 msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
 msgstr "%3$L处‘%2$s’的实参‘%1$s’必须是一个关联的标量指针"
 
-#: fortran/resolve.c:2175
+#: fortran/resolve.c:2450
 #, no-c-format
 msgid "Parameter '%s' to '%s' at %L must be a scalar"
 msgstr "%3$L处‘%2$s’的形参‘%1$s’必须是一个标量"
 
 #. TODO: Update this error message to allow for procedure
 #. pointers once they are implemented.
-#: fortran/resolve.c:2197
+#: fortran/resolve.c:2472
 #, no-c-format
 msgid "Parameter '%s' to '%s' at %L must be a procedure"
 msgstr "%3$L处‘%2$s’的形参‘%1$s’必须是一个过程"
 
-#: fortran/resolve.c:2205
+#: fortran/resolve.c:2480
 #, no-c-format
 msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
 msgstr "%3$L处‘%2$s’的形参‘%1$s’必须为 BIND(C)"
 
-#: fortran/resolve.c:2251
-#, fuzzy, no-c-format
-msgid "Intrinsic subroutine '%s' used as a function at %L"
-msgstr "内建函数‘%s’在%L处不能有初始值设定"
-
-#: fortran/resolve.c:2258
+#: fortran/resolve.c:2531
 #, no-c-format
 msgid "'%s' at %L is not a function"
 msgstr "%2$L处的‘%1$s’不是一个函数"
 
-#: fortran/resolve.c:2264
+#: fortran/resolve.c:2539 fortran/resolve.c:3153
 #, no-c-format
 msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
-msgstr ""
+msgstr "%2$L处的 ABSTRACT INTERFACE‘%1$s’不能被引用"
 
 #. Internal procedures are taken care of in resolve_contained_fntype.
-#: fortran/resolve.c:2309
+#: fortran/resolve.c:2585
 #, no-c-format
 msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
-msgstr ""
+msgstr "函数‘%s’被声明为 CHARACTER(*)从而不能被使用在%L处,因为它不是一个虚参"
 
-#: fortran/resolve.c:2362
+#: fortran/resolve.c:2638
 #, no-c-format
 msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
-msgstr ""
+msgstr "%2$L处用户定义的非 ELEMENTAL 函数‘%1$s’不容许出现在 WORKSHARE 构造中"
 
-#: fortran/resolve.c:2412
+#: fortran/resolve.c:2688
 #, no-c-format
 msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
-msgstr ""
+msgstr "%2$L处对非 PURE 函数‘%1$s’的引用出现在 FORALL %3$s 中"
 
-#: fortran/resolve.c:2419
+#: fortran/resolve.c:2695
 #, no-c-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
-msgstr ""
+msgstr "%2$L处对‘%1$s’的函数引用是在一个 PURE 过程内的对非 PURE 过程的引用"
 
-#: fortran/resolve.c:2434
+#: fortran/resolve.c:2711
 #, no-c-format
-msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
-msgstr "函数‘%s’(位于 %L)不能调用其自身,因为它并非 RECURSIVE"
+msgid "ENTRY '%s' at %L cannot be called recursively, as function '%s' is not RECURSIVE"
+msgstr "%2$L处 ENTRY‘%1$s’不能递归调用,因为函数‘%3$s’并非 RECURSIVE"
 
-#: fortran/resolve.c:2442
+#: fortran/resolve.c:2715
 #, no-c-format
-msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
-msgstr ""
+msgid "Function '%s' at %L cannot be called recursively, as it is not RECURSIVE"
+msgstr "%2$L处的函数‘%1$s’不能被递归调用,因为它并非 RECURSIVE"
 
-#: fortran/resolve.c:2489
+#: fortran/resolve.c:2763
 #, no-c-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
-msgstr ""
+msgstr "%2$L处 FORALL 块内对‘%1$s’子例程的调用不是 PURE"
 
-#: fortran/resolve.c:2492
+#: fortran/resolve.c:2766
 #, no-c-format
 msgid "Subroutine call to '%s' at %L is not PURE"
-msgstr ""
+msgstr "%2$L处调用‘%1$s’的子例程不是 PURE"
 
-#: fortran/resolve.c:2555
-#, fuzzy, no-c-format
+#: fortran/resolve.c:2829
+#, no-c-format
 msgid "There is no specific subroutine for the generic '%s' at %L"
-msgstr "对子进程名‘%s’非预期的使用,在%C处"
+msgstr "泛型‘%s’在%L处没有特定的子进程"
 
-#: fortran/resolve.c:2564
+#: fortran/resolve.c:2838
 #, no-c-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
-msgstr ""
+msgstr "%2$L处泛型子进程‘%1$s’与一个内建子进程接口不一致"
 
-#: fortran/resolve.c:2672
-#, fuzzy, no-c-format
+#: fortran/resolve.c:2946
+#, no-c-format
 msgid "Missing SHAPE parameter for call to %s at %L"
-msgstr "缺少实参‘%s’,在调用‘%s’时,位于 %L"
+msgstr "%2$L处调用‘%1$s’时缺少 SHAPE 实参"
 
-#: fortran/resolve.c:2680
+#: fortran/resolve.c:2954
 #, no-c-format
 msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
-msgstr ""
+msgstr "%2$L处调用‘%1$s’的 SHAPE 参数必须是一个秩为 1 的 INTEGER 数组"
 
-#: fortran/resolve.c:2764
+#: fortran/resolve.c:3021
 #, no-c-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
-msgstr ""
+msgstr "%2$L处的子进程‘%1$s’是 INTRINSIC,但与内建函数不兼容"
 
-#: fortran/resolve.c:2808
+#: fortran/resolve.c:3065
 #, no-c-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
-msgstr ""
+msgstr "不能解决%2$L处的指定子例程‘%1$s’"
 
-#: fortran/resolve.c:2868
+#: fortran/resolve.c:3125
 #, no-c-format
 msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
-msgstr ""
+msgstr "%2$L处的‘%1$s’的类型与%3$L处 CALL 的类型不一致"
 
-#: fortran/resolve.c:2899
+#: fortran/resolve.c:3163
 #, no-c-format
-msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
-msgstr ""
+msgid "ENTRY '%s' at %L cannot be called recursively, as subroutine '%s' is not RECURSIVE"
+msgstr "%2$L处 ENTRY‘%1$s’不能被递归调用,因为子进程‘%3$s’并非 RECURSIVE"
 
-#: fortran/resolve.c:2907
+#: fortran/resolve.c:3167
 #, no-c-format
-msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
-msgstr ""
+msgid "SUBROUTINE '%s' at %L cannot be called recursively, as it is not RECURSIVE"
+msgstr "%2$L处 SUBROUTINE‘%1$s’不能递归调用,因为它并非 RECURSIVE"
 
-#: fortran/resolve.c:2982
+#: fortran/resolve.c:3245
 #, no-c-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "%L 和%L处的操作数外形不相容"
 
-#: fortran/resolve.c:3033
+#: fortran/resolve.c:3296
 #, c-format
 msgid "Invalid context for NULL() pointer at %%L"
 msgstr "%%L处 NULL() 指针上下文无效"
 
-#: fortran/resolve.c:3049
+#: fortran/resolve.c:3312
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr "单目数值运算符‘%s’(位于 %%L)的操作数为 %s"
 
-#: fortran/resolve.c:3065
+#: fortran/resolve.c:3328
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr "二元数值运算符‘%s’(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:3080
+#: fortran/resolve.c:3343
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr "字符串毗连运算符(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:3099
+#: fortran/resolve.c:3362
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr "逻辑运算符‘%s’(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:3113
+#: fortran/resolve.c:3376
 #, c-format
 msgid "Operand of .not. operator at %%L is %s"
 msgstr "%%L处的 .not. 运算符的操作数为 %s"
 
-#: fortran/resolve.c:3127
+#: fortran/resolve.c:3390
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "%L处复数不能比较大小"
 
-#: fortran/resolve.c:3156
+#: fortran/resolve.c:3419
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr "%%L处逻辑值必须与 %s 比较,而不是 %s"
 
-#: fortran/resolve.c:3162
+#: fortran/resolve.c:3425
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr "比较运算符‘%s’(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:3170
+#: fortran/resolve.c:3433
 #, c-format
 msgid "Unknown operator '%s' at %%L"
-msgstr "未知的操作符‘%s’在 %%L处"
+msgstr "未知的运算符‘%s’在 %%L处"
 
-#: fortran/resolve.c:3172
+#: fortran/resolve.c:3435
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr "用户运算符‘%s’(位于 %%L)的操作数为 %s"
 
-#: fortran/resolve.c:3175
+#: fortran/resolve.c:3438
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr "用户运算符‘%s’(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:3261
-#, fuzzy, c-format
+#: fortran/resolve.c:3524
+#, c-format
 msgid "Inconsistent ranks for operator at %%L and %%L"
-msgstr "%L 和%L处的操作数秩不一致"
+msgstr "%%L和%%L处的操作数的秩不一致"
 
-#: fortran/resolve.c:3458
+#: fortran/resolve.c:3727
 #, no-c-format
 msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "%1$L处数组引用在第 %4$d 维中越界(%2$ld < %3$ld)"
 
-#: fortran/resolve.c:3466
+#: fortran/resolve.c:3735
 #, no-c-format
 msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "%1$L处数组引用在第 %4$d 维中越界(%2$ld > %3$ld)"
 
-#: fortran/resolve.c:3485
+#: fortran/resolve.c:3754
 #, no-c-format
 msgid "Illegal stride of zero at %L"
 msgstr "%L 零间隔非法"
 
-#: fortran/resolve.c:3502
+#: fortran/resolve.c:3771
 #, no-c-format
 msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "%1$L处数组下限引用在第 %4$d 维中越界(%2$ld < %3$ld)"
 
-#: fortran/resolve.c:3510
+#: fortran/resolve.c:3779
 #, no-c-format
 msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "%1$L处数组下限引用在第 %4$d 维中越界(%2$ld > %3$ld)"
 
-#: fortran/resolve.c:3526
+#: fortran/resolve.c:3795
 #, no-c-format
 msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
 msgstr "%1$L处数组上限引用在第 %4$d 维中越界(%2$ld < %3$ld)"
 
-#: fortran/resolve.c:3535
+#: fortran/resolve.c:3804
 #, no-c-format
 msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
 msgstr "%1$L处数组上限引用在第 %4$d 维中越界(%2$ld > %3$ld)"
 
-#: fortran/resolve.c:3574
+#: fortran/resolve.c:3843
 #, no-c-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
-msgstr ""
+msgstr "%L处未指定假定大小数组段的最右端上限"
 
-#: fortran/resolve.c:3584
+#: fortran/resolve.c:3853
 #, no-c-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr "%L处数组引用中秩不匹配(%d/%d)"
 
-#: fortran/resolve.c:3612
+#: fortran/resolve.c:3881
 #, no-c-format
 msgid "Array index at %L must be scalar"
 msgstr "%L处数组索引必须是标量"
 
-#: fortran/resolve.c:3618
-#, fuzzy, no-c-format
+#: fortran/resolve.c:3887
+#, no-c-format
 msgid "Array index at %L must be of INTEGER type, found %s"
-msgstr "%L处数组索引必须具有 INTEGER 类型"
+msgstr "%L处数组索引必须具有 INTEGER 类型而不是 %s"
 
-#: fortran/resolve.c:3624
+#: fortran/resolve.c:3893
 #, no-c-format
 msgid "Extension: REAL array index at %L"
 msgstr "扩展:%L处的 REAL 数组索引"
 
-#: fortran/resolve.c:3654
+#: fortran/resolve.c:3923
 #, no-c-format
 msgid "Argument dim at %L must be scalar"
 msgstr "%L 实参维数必须是标量"
 
-#: fortran/resolve.c:3661
+#: fortran/resolve.c:3930
 #, no-c-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr "%L处实参维数必须具有 INTEGER 类型"
 
-#: fortran/resolve.c:3782
+#: fortran/resolve.c:4054
 #, no-c-format
 msgid "Array index at %L is an array of rank %d"
 msgstr "%L处数组索引是一个秩为 %d 的数组"
 
-#: fortran/resolve.c:3819
+#: fortran/resolve.c:4093
 #, no-c-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr "%L处的子字符串起始索引类型必须为 INTEGER"
 
-#: fortran/resolve.c:3826
+#: fortran/resolve.c:4100
 #, no-c-format
 msgid "Substring start index at %L must be scalar"
 msgstr "%L处的子字符串起始索引必须是标量"
 
-#: fortran/resolve.c:3835
+#: fortran/resolve.c:4109
 #, no-c-format
 msgid "Substring start index at %L is less than one"
 msgstr "%L处的子字符串起始索引小于 1"
 
-#: fortran/resolve.c:3848
+#: fortran/resolve.c:4122
 #, no-c-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr "%L处的子字符串终止索引类型必须为 INTEGER"
 
-#: fortran/resolve.c:3855
+#: fortran/resolve.c:4129
 #, no-c-format
 msgid "Substring end index at %L must be scalar"
 msgstr "%L处的子字符串终止索引必须是标量"
 
-#: fortran/resolve.c:3865
+#: fortran/resolve.c:4139
 #, no-c-format
 msgid "Substring end index at %L exceeds the string length"
 msgstr "%L处的子字符串终止索引超过了字符串长度"
 
-#: fortran/resolve.c:4003
+#: fortran/resolve.c:4149
+#, no-c-format
+msgid "Substring end index at %L is too large"
+msgstr "%L处子串结束索引太大"
+
+#: fortran/resolve.c:4285
 #, no-c-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
-msgstr ""
+msgstr "%L处对有非零秩的部分引用的右侧的组件不能有 POINTER 属性"
 
-#: fortran/resolve.c:4010
+#: fortran/resolve.c:4292
 #, no-c-format
 msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
-msgstr ""
+msgstr "%L处对有非零秩的部分引用的右侧的组件不能有 ALLOCATABLE 属性"
 
-#: fortran/resolve.c:4029
+#: fortran/resolve.c:4311
 #, no-c-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
-msgstr ""
+msgstr "%L处不能指定两个或以上秩不为零的部分引用"
 
-#: fortran/resolve.c:4208
+#: fortran/resolve.c:4494
 #, no-c-format
 msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
-msgstr ""
+msgstr "用在一个规格说明表达式中的变量‘%s’在%L处的引用出现在该变量是其参数的 ENTRY 语句之前"
 
-#: fortran/resolve.c:4213
+#: fortran/resolve.c:4499
 #, no-c-format
 msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
-msgstr ""
+msgstr "变量‘%s’在%L处的使用出现在该变量是其参数的 ENTRY 语句之前"
 
-#: fortran/resolve.c:4455
-#, fuzzy, no-c-format
+#: fortran/resolve.c:4786 fortran/resolve.c:4858
+#, no-c-format
 msgid "Passed-object at %L must be scalar"
-msgstr "%s 标记在%L处必须是标量"
+msgstr "%L处传递的对象必须是标量"
+
+#: fortran/resolve.c:4887
+#, no-c-format
+msgid "Base object for type-bound procedure call at %L is of ABSTRACT type '%s'"
+msgstr "%L处类型限定过程调用的基类型是 ABSTRACT 类型‘%s’"
 
 #. Nothing matching found!
-#: fortran/resolve.c:4565
+#: fortran/resolve.c:4989
 #, no-c-format
 msgid "Found no matching specific binding for the call to the GENERIC '%s' at %L"
-msgstr ""
+msgstr "%2$L处对 GENERIC‘%1$s’的调用没有找到匹配特别的限定"
 
-#: fortran/resolve.c:4585
-#, fuzzy, no-c-format
+#. To resolve class member calls, we borrow this bit
+#. of code to select the specific procedures.
+#: fortran/resolve.c:5009 fortran/resolve.c:5062
+#, no-c-format
 msgid "'%s' at %L should be a SUBROUTINE"
-msgstr "‘%s’在%L处不是一个 VALUE"
+msgstr "%2$L处的‘%1$s’应该是一个 SUBROUTINE"
 
-#: fortran/resolve.c:4621
-#, fuzzy, no-c-format
+#: fortran/resolve.c:5054
+#, no-c-format
 msgid "'%s' at %L should be a FUNCTION"
-msgstr "%2$L处的用户运算符‘%1$s’必须是一个 FUNCTION"
+msgstr "%2$L处的‘%1$s’应该是一个 FUNCTION"
+
+#: fortran/resolve.c:5137
+#, no-c-format
+msgid "no typebound available procedure named '%s' at %L"
+msgstr "%2$L处没有类型绑定的名为‘%1$s’的可用过程"
 
-#: fortran/resolve.c:4757
+#: fortran/resolve.c:5598
 #, no-c-format
 msgid "%s at %L must be a scalar"
 msgstr "%s (%L处)必须是一个标量"
 
-#: fortran/resolve.c:4767
+#: fortran/resolve.c:5608
 #, no-c-format
 msgid "Deleted feature: %s at %L must be integer"
 msgstr "已删除的特性:%s 在%L处必须是一个整数"
 
-#: fortran/resolve.c:4771 fortran/resolve.c:4778
+#: fortran/resolve.c:5612 fortran/resolve.c:5619
 #, no-c-format
 msgid "%s at %L must be INTEGER"
 msgstr "%s (%L处)必须是 INTEGER"
 
-#: fortran/resolve.c:4798
+#: fortran/resolve.c:5639
 #, no-c-format
 msgid "Cannot assign to loop variable in PURE procedure at %L"
 msgstr "不能在%L处的 PURE 过程中为循环变量赋值"
 
-#: fortran/resolve.c:4822
+#: fortran/resolve.c:5663
 #, no-c-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr "%L处的 DO 循环中的步进表达式不能为零"
 
-#: fortran/resolve.c:4898
+#: fortran/resolve.c:5698
+#, no-c-format
+msgid "DO loop at %L will be executed zero times"
+msgstr "%L处的 DO 循环会被执行零次"
+
+#: fortran/resolve.c:5759
 #, no-c-format
 msgid "FORALL index-name at %L must be a scalar INTEGER"
 msgstr "%L处 FORALL 索引名必须是一个标量整数"
 
-#: fortran/resolve.c:4903
+#: fortran/resolve.c:5764
 #, no-c-format
 msgid "FORALL start expression at %L must be a scalar INTEGER"
 msgstr "%L处 FORALL 起始表达式必须是一个标量整数"
 
-#: fortran/resolve.c:4910
+#: fortran/resolve.c:5771
 #, no-c-format
 msgid "FORALL end expression at %L must be a scalar INTEGER"
 msgstr "%L处 FORALL 结束表达式必须是一个标量整数"
 
-#: fortran/resolve.c:4918
+#: fortran/resolve.c:5779
 #, no-c-format
 msgid "FORALL stride expression at %L must be a scalar %s"
 msgstr "%L处 FORALL 间隔表达式必须是一个标量 %s"
 
-#: fortran/resolve.c:4923
+#: fortran/resolve.c:5784
 #, no-c-format
 msgid "FORALL stride expression at %L cannot be zero"
 msgstr "%L处 FORALL 间隔表达式不能是零"
 
-#: fortran/resolve.c:4939
-#, fuzzy, no-c-format
+#: fortran/resolve.c:5800
+#, no-c-format
 msgid "FORALL index '%s' may not appear in triplet specification at %L"
-msgstr "变量‘%s’不能出现在%L处的表达式中"
+msgstr "FORALL 索引‘%s’不能出现在%L处的三元组规格说明中"
 
-#: fortran/resolve.c:5019
+#: fortran/resolve.c:5900 fortran/resolve.c:6115
 #, no-c-format
-msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
-msgstr ""
+msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
+msgstr "%L处的分配对象必须是 ALLOCATABLE 或 POINTER"
 
-#: fortran/resolve.c:5026
+#: fortran/resolve.c:5906
 #, no-c-format
 msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
 msgstr "不能在%2$L处释放 INTENT(IN)变量‘%1$s’"
 
-#: fortran/resolve.c:5130
+#: fortran/resolve.c:5979
 #, no-c-format
-msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
-msgstr ""
+msgid "Source-expr at %L must be scalar or have the same rank as the allocate-object at %L"
+msgstr "%L处的源表达式必须是标量或者与%L处的分配对象有相同的秩"
 
-#: fortran/resolve.c:5166
+#: fortran/resolve.c:6007
 #, no-c-format
-msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
-msgstr ""
+msgid "Source-expr at %L and allocate-object at %L must have the same shape"
+msgstr "%L处的源表达式和%L处的分配对象必须有相同的外形"
+
+#: fortran/resolve.c:6126
+#, no-c-format
+msgid "Type of entity at %L is type incompatible with source-expr at %L"
+msgstr "%L处实体的类型与%L处的源表达式类型不兼容"
+
+#: fortran/resolve.c:6139
+#, no-c-format
+msgid "The allocate-object at %L and the source-expr at %L shall have the same kind type parameter"
+msgstr "%L处的分配对象和%L处的源表达式应该有相同的种别类型参数"
 
-#: fortran/resolve.c:5174
+#: fortran/resolve.c:6148
+#, no-c-format
+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:6155
 #, no-c-format
 msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
 msgstr "不能在%2$L处分配 INTENT(IN)变量‘%1$s’"
 
-#: fortran/resolve.c:5198
+#: fortran/resolve.c:6167
 #, no-c-format
 msgid "Array specification required in ALLOCATE statement at %L"
-msgstr ""
+msgstr "%L处的 ALLOCATE 语句中需要数组规格说明"
 
-#: fortran/resolve.c:5228
+#: fortran/resolve.c:6197
 #, no-c-format
 msgid "Bad array specification in ALLOCATE statement at %L"
-msgstr ""
+msgstr "%L处的 ALLOCATE 语句中有错误的数组规格"
 
-#: fortran/resolve.c:5248
+#: fortran/resolve.c:6217
 #, no-c-format
 msgid "'%s' must not appear in the array specification at %L in the same ALLOCATE statement where it is itself allocated"
-msgstr ""
+msgstr "‘%s’不能出现在%L处其自身被分配的 ALLOCATE 语句的数组规格说明中"
 
-#: fortran/resolve.c:5271
-#, fuzzy, no-c-format
-msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
-msgstr "循环变量‘%s’在%C处不能是 INTENT(IN)"
+#: fortran/resolve.c:6242
+#, no-c-format
+msgid "Stat-variable '%s' at %L cannot be INTENT(IN)"
+msgstr "%2$L处 stat 变量‘%1$s’不能是 INTENT(IN)"
 
-#: fortran/resolve.c:5275
-#, fuzzy, no-c-format
-msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
-msgstr "DATA 语句不允许出现在%C处的 PURE 过程中"
+#: fortran/resolve.c:6246
+#, no-c-format
+msgid "Illegal stat-variable at %L for a PURE procedure"
+msgstr "%L处 PURE 过程非法 stat 变量"
 
-#: fortran/resolve.c:5280
-#, fuzzy, no-c-format
-msgid "STAT tag in %s statement at %L must be of type INTEGER"
-msgstr "%L处的子字符串起始索引类型必须为 INTEGER"
+#: fortran/resolve.c:6253
+#, no-c-format
+msgid "Stat-variable at %L must be a scalar INTEGER variable"
+msgstr "%L处 stat 变量必须是一个标量 INTEGER 变量"
+
+#: fortran/resolve.c:6258
+#, no-c-format
+msgid "Stat-variable at %L shall not be %sd within the same %s statement"
+msgstr "%1$L处的统计变量不能在同一个 %3$s 语句中被 %2$s"
+
+#: fortran/resolve.c:6266
+#, no-c-format
+msgid "ERRMSG at %L is useless without a STAT tag"
+msgstr "%L处的 ERRMSG 没有 STAT 标记所以不起作用"
+
+#: fortran/resolve.c:6270
+#, no-c-format
+msgid "Errmsg-variable '%s' at %L cannot be INTENT(IN)"
+msgstr "错误信息变量‘%s’在%L处不能是 INTENT(IN)"
+
+#: fortran/resolve.c:6274
+#, no-c-format
+msgid "Illegal errmsg-variable at %L for a PURE procedure"
+msgstr "%L处 PURE 过程非法 errmsg 变量"
+
+#: fortran/resolve.c:6282
+#, no-c-format
+msgid "Errmsg-variable at %L must be a scalar CHARACTER variable"
+msgstr "%L处错误信息变量必须是一个标量 CHARACTER 变量"
+
+#: fortran/resolve.c:6287
+#, no-c-format
+msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
+msgstr "%1$L处的错误信息变量不能在同一 %3$s 语句中被 %2$s"
+
+#: fortran/resolve.c:6305
+#, no-c-format
+msgid "Allocate-object at %L also appears at %L"
+msgstr "%L处分配的对象也出现在%L处"
 
 #. The cases overlap, or they are the same
 #. element in the list.  Either way, we must
 #. issue an error and get the next case from P.
 #. FIXME: Sort P and Q by line number.
-#: fortran/resolve.c:5443
+#: fortran/resolve.c:6472
 #, no-c-format
 msgid "CASE label at %L overlaps with CASE label at %L"
-msgstr ""
+msgstr "%L处的 CASE 标号与%L处的 CASE 标号重叠"
 
-#: fortran/resolve.c:5494
+#: fortran/resolve.c:6523
 #, no-c-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "%L处 CASE 语句中的表达式必须具有 %s 类型"
 
-#: fortran/resolve.c:5505
-#, fuzzy, no-c-format
+#: fortran/resolve.c:6534
+#, no-c-format
 msgid "Expression in CASE statement at %L must be of kind %d"
-msgstr "%L处 CASE 语句中的表达式种类必须为 %d"
+msgstr "%L 处 CASE 语句中的表达式种别必须为 %d"
 
-#: fortran/resolve.c:5517
+#: fortran/resolve.c:6546
 #, no-c-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr "%L处 CASE 语句中的表达式必须为标量"
 
-#: fortran/resolve.c:5563
+#: fortran/resolve.c:6592
 #, no-c-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr "%L处计算转移 GOTO 语句的选择表达式必须是一个标量整数表达式"
 
-#: fortran/resolve.c:5581
+#: fortran/resolve.c:6610
 #, no-c-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr "%L处 SELECT 语句的实参不能是 %s"
 
-#: fortran/resolve.c:5590
+#: fortran/resolve.c:6619
 #, no-c-format
 msgid "Argument of SELECT statement at %L must be a scalar expression"
 msgstr "%L处 SELECT 语句中的实参必须为标量"
 
-#: fortran/resolve.c:5655
+#: fortran/resolve.c:6684 fortran/resolve.c:6906
 #, no-c-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
-msgstr ""
+msgstr "%L处的 DEFAULT CASE 为%L处的第二个 DEFAULT CASE 所跟随"
 
-#: fortran/resolve.c:5681
+#: fortran/resolve.c:6710
 #, no-c-format
 msgid "Logical range in CASE statement at %L is not allowed"
-msgstr ""
+msgstr "%L处 CASE 语句中的逻辑范围是不被允许的"
 
-#: fortran/resolve.c:5693
+#: fortran/resolve.c:6722
 #, no-c-format
 msgid "constant logical value in CASE statement is repeated at %L"
-msgstr ""
+msgstr "%L处 CASE 语句中的常量逻辑值重复"
 
-#: fortran/resolve.c:5707
+#: fortran/resolve.c:6736
 #, no-c-format
 msgid "Range specification at %L can never be matched"
-msgstr ""
+msgstr "%L处范围规格无法匹配"
 
-#: fortran/resolve.c:5810
+#: fortran/resolve.c:6839
 #, no-c-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
-msgstr ""
+msgstr "%L处逻辑 SELECT CASE 块有多于两个的情况"
 
-#: fortran/resolve.c:5848
+#: fortran/resolve.c:6884
+#, no-c-format
+msgid "Derived type '%s' at %L must be extensible"
+msgstr "%2$L处派生类型‘%1$s’必须是可扩展的"
+
+#: fortran/resolve.c:6894
+#, no-c-format
+msgid "Derived type '%s' at %L must be an extension of '%s'"
+msgstr "%2$L处派生类型‘%1$s’必须是‘%3$s’的一个扩展"
+
+#: fortran/resolve.c:7040
+#, no-c-format
+msgid "Double CLASS IS block in SELECT TYPE statement at %L"
+msgstr "%L处 SELECT TYPE 语句中有双重的 CLASS IS 块"
+
+#: fortran/resolve.c:7135
 #, no-c-format
 msgid "Data transfer element at %L cannot have POINTER components"
-msgstr ""
+msgstr "%L处数据传输元素不能有 POINTER 组件"
 
-#: fortran/resolve.c:5855
+#: fortran/resolve.c:7142
 #, no-c-format
 msgid "Data transfer element at %L cannot have ALLOCATABLE components"
-msgstr ""
+msgstr "%L处数据传输元素不能有 ALLOCATABLE 组件"
 
-#: fortran/resolve.c:5862
+#: fortran/resolve.c:7149
 #, no-c-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
-msgstr ""
+msgstr "%L处数据传输元素不能有 PRIVATE 组件"
 
-#: fortran/resolve.c:5871
+#: fortran/resolve.c:7158
 #, no-c-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
-msgstr ""
+msgstr "%L处数据传输元素不能是对一个假定大小数组的全引用"
 
-#: fortran/resolve.c:5935
+#: fortran/resolve.c:7220
 #, no-c-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
-msgstr ""
+msgstr "%L处的语句对%L处的分支语句而言不是一个有效的分支目标语句"
 
-#: fortran/resolve.c:5944
-#, fuzzy, no-c-format
+#: fortran/resolve.c:7229
+#, no-c-format
 msgid "Branch at %L may result in an infinite loop"
-msgstr "%L处的分支导致无穷循环"
+msgstr "%Lå¤\84ç\9a\84å\88\86æ\94¯å\8f¯è\83½å¯¼è\87´æ\97 ç©·å¾ªç\8e¯"
 
 #. The label is not in an enclosing block, so illegal.  This was
 #. allowed in Fortran 66, so we allow it as extension.  No
 #. further checks are necessary in this case.
-#: fortran/resolve.c:5957
+#: fortran/resolve.c:7257
 #, no-c-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
-msgstr ""
-
-#: fortran/resolve.c:5972 fortran/resolve.c:5986
-#, no-c-format
-msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
-msgstr "已删除的特性:%L处的 GOTO 跳转到%L处结构的 END"
+msgstr "%L处的标号与%L处 GOTO 语句不在相同的块中"
 
-#: fortran/resolve.c:6063
+#: fortran/resolve.c:7332
 #, no-c-format
 msgid "WHERE mask at %L has inconsistent shape"
-msgstr ""
+msgstr "%L处的 WHERE 掩码外形不一致"
 
-#: fortran/resolve.c:6079
+#: fortran/resolve.c:7348
 #, no-c-format
 msgid "WHERE assignment target at %L has inconsistent shape"
-msgstr ""
+msgstr "%L处 WHERE 赋值目标外形不一致"
 
-#: fortran/resolve.c:6087 fortran/resolve.c:6174
+#: fortran/resolve.c:7356 fortran/resolve.c:7443
 #, no-c-format
 msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
-msgstr ""
+msgstr "%L处 WHERE 中用户定义的非 ELEMENTAL 用户赋值"
 
-#: fortran/resolve.c:6097 fortran/resolve.c:6184
+#: fortran/resolve.c:7366 fortran/resolve.c:7453
 #, no-c-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr "%L处在 WHERE 内不支持的语句"
 
-#: fortran/resolve.c:6128
+#: fortran/resolve.c:7397
 #, no-c-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "%L处向 FORALL 索引变量赋值"
 
-#: fortran/resolve.c:6137
+#: fortran/resolve.c:7406
 #, no-c-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"
-msgstr ""
+msgstr "%2$L处带索引‘%1$s’的 FORALL 没有被用在赋值的左侧,所以可能导致对这个对象的多个赋值"
 
-#: fortran/resolve.c:6306
+#: fortran/resolve.c:7575
 #, no-c-format
 msgid "An outer FORALL construct already has an index with this name %L"
-msgstr ""
+msgstr "%L处外部 FORALL 构造已经有一个同名的索引"
 
-#: fortran/resolve.c:6373
+#: fortran/resolve.c:7654
 #, no-c-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr "%L处的 WHERE/ELSEWHERE 子句需要一个 LOGICAL 数组"
 
-#: fortran/resolve.c:6435
-#, fuzzy, no-c-format
-msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
-msgstr "%L处定义赋值的第二个参数必须是 INTENT(IN)"
-
-#: fortran/resolve.c:6508
-#, fuzzy, no-c-format
+#: fortran/resolve.c:7806
+#, no-c-format
 msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
-msgstr "CHARACTER 表达式在%L处被截断(%d/%d)"
+msgstr "CHARACTER 表达式在%3$L处赋值时将被截断(%1$d/%2$d)"
 
-#: fortran/resolve.c:6533
+#: fortran/resolve.c:7831
 #, no-c-format
 msgid "Cannot assign to variable '%s' in PURE procedure at %L"
-msgstr ""
+msgstr "不能在%2$L处的 PURE 过程中为变量‘%1$s’赋值"
 
-#: fortran/resolve.c:6545
+#: fortran/resolve.c:7843
 #, no-c-format
 msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
-msgstr ""
+msgstr "%L处一个非纯变量在 PURE 过程中被赋值给带有 POINTER 组件派生类型变量(12.6)"
+
+#: fortran/resolve.c:7854
+#, no-c-format
+msgid "Variable must not be polymorphic in assignment at %L"
+msgstr "%L处赋值中的变量类型不能是多态的"
 
-#: fortran/resolve.c:6651
+#: fortran/resolve.c:7964
 #, no-c-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr "ASSIGNED GOTO 语句在%L处需要一个 INTEGER 变量"
 
-#: fortran/resolve.c:6654
-#, fuzzy, no-c-format
+#: fortran/resolve.c:7967
+#, no-c-format
 msgid "Variable '%s' has not been assigned a target label at %L"
-msgstr "变量‘%s’在 %L 尚未分配到格式标号"
+msgstr "变量‘%s’在 %L 尚未指派目标标号"
 
-#: fortran/resolve.c:6665
+#: fortran/resolve.c:7978
 #, no-c-format
 msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
 msgstr "%L处的替代 RETURN 语句需要一个 SCALAR-INTEGER 返回限定符"
 
-#: fortran/resolve.c:6691
+#: fortran/resolve.c:8009
 #, no-c-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
-msgstr ""
+msgstr "%L处的 ASSIGN 语句需要一个默认标量 INTEGER 变量"
 
-#: fortran/resolve.c:6706
+#: fortran/resolve.c:8024
 #, no-c-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
-msgstr ""
+msgstr "%L处的算术 IF 语句要求一个数字表达式"
 
-#: fortran/resolve.c:6752
+#: fortran/resolve.c:8087
 #, no-c-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
-msgstr ""
+msgstr "%L处 DO WHILE 循环的退出条件必须是一个标量 LOGICAL 表达式"
 
-#: fortran/resolve.c:6834
+#: fortran/resolve.c:8169
 #, no-c-format
 msgid "FORALL mask clause at %L requires a LOGICAL expression"
 msgstr "%L处的 FORMALL 掩码子句需要一个 LOGICAL 表达式"
 
-#: fortran/resolve.c:6906 fortran/resolve.c:6962
+#: fortran/resolve.c:8241 fortran/resolve.c:8297
 #, no-c-format
 msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
-msgstr ""
+msgstr "%3$L处公共块‘%2$s’的绑定标号‘%1$s’与 %5$L 处的全局实体‘%4$s’冲突"
 
 #. Common block names match but binding labels do not.
-#: fortran/resolve.c:6927
+#: fortran/resolve.c:8262
 #, no-c-format
 msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
-msgstr ""
+msgstr "%3$L处公共块‘%2$s’的绑定标号‘%1$s’与%6$L处公共块‘%5$s’的绑定标记‘%4$s’不匹配"
 
-#: fortran/resolve.c:6974
+#: fortran/resolve.c:8309
 #, no-c-format
 msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
-msgstr ""
+msgstr "%3$L处公共块‘%2$s’的绑定标号‘%1$s’与 %5$L 处的全局实体‘%4$s’冲突"
 
 #. Make sure global procedures don't collide with anything.
-#: fortran/resolve.c:7026
+#: fortran/resolve.c:8361
 #, no-c-format
 msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
-msgstr ""
+msgstr "%2$L处的绑定标号‘%1$s’与 %4$L 处的全局实体‘%3$s’冲突"
 
 #. Make sure procedures in interface bodies don't collide.
-#: fortran/resolve.c:7039
+#: fortran/resolve.c:8374
 #, no-c-format
 msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
-msgstr ""
+msgstr "%2$L处接口体内的绑定标号‘%1$s’与%4L处的全局实体‘%3$s’冲突"
 
-#: fortran/resolve.c:7052
+#: fortran/resolve.c:8387
 #, no-c-format
 msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
-msgstr ""
+msgstr "%2$L处的捆绑标号‘%1$s’与 %4$L 处的全局实体‘%3$s’冲突"
 
-#: fortran/resolve.c:7129
+#: fortran/resolve.c:8464
 #, no-c-format
 msgid "CHARACTER variable has zero length at %L"
 msgstr "%L处的 CHARACTER 变量长度为零"
 
-#: fortran/resolve.c:7416
+#: fortran/resolve.c:8475
+#, no-c-format
+msgid "String length at %L is too large"
+msgstr "%L处字符串太长"
+
+#: fortran/resolve.c:8777
 #, no-c-format
 msgid "Allocatable array '%s' at %L must have a deferred shape"
 msgstr "可分配的数组‘%s’在%L处必须有延迟的外形"
 
-#: fortran/resolve.c:7419
+#: fortran/resolve.c:8781
 #, no-c-format
 msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
-msgstr ""
+msgstr "%2$L处标量对象‘%1$s’不能为 ALLOCATABLE"
 
-#: fortran/resolve.c:7426
+#: fortran/resolve.c:8789
 #, no-c-format
 msgid "Array pointer '%s' at %L must have a deferred shape"
 msgstr "数组指针‘%s’在%L处必须有延迟的外形"
 
-#: fortran/resolve.c:7437
+#: fortran/resolve.c:8800
 #, no-c-format
 msgid "Array '%s' at %L cannot have a deferred shape"
 msgstr "数组‘%s’在%L处不能有延迟的外形"
 
-#: fortran/resolve.c:7465
+#: fortran/resolve.c:8828
 #, no-c-format
 msgid "The type '%s' cannot be host associated at %L because it is blocked by an incompatible object of the same name declared at %L"
-msgstr ""
+msgstr "‘%s’在%L处不能是主机相关的,因为它被在%L处声明的一个不兼容的同名对象所阻碍"
 
-#: fortran/resolve.c:7488
-#, fuzzy, no-c-format
+#: fortran/resolve.c:8851
+#, no-c-format
 msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
-msgstr "%L 指定了重复的 SAVE 属性"
+msgstr "%2$L处的对象‘%1$s’为默认初始化组件必须有 SAVE 属性"
+
+#: fortran/resolve.c:8862
+#, no-c-format
+msgid "Type '%s' of CLASS variable '%s' at %L is not extensible"
+msgstr "%3$L处 CLASS 变量‘%2$s’的类型‘%1$s’不能被扩展"
+
+#: fortran/resolve.c:8872
+#, no-c-format
+msgid "CLASS variable '%s' at %L must be dummy, allocatable or pointer"
+msgstr "%2$L处的 CLASS 变量‘%1$s’必须是哑元、可分配的或者指针"
 
 #. The shape of a main program or module array needs to be
 #. constant.
-#: fortran/resolve.c:7535
+#: fortran/resolve.c:8919
 #, no-c-format
 msgid "The module or main program array '%s' at %L must have constant shape"
 msgstr "%2$L处的模块或主程序数组‘%1$s’必须有常量外形"
 
-#: fortran/resolve.c:7548
+#: fortran/resolve.c:8932
 #, no-c-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
-msgstr ""
+msgstr "%L处假定字符长度的实体必须是个虚参或是个 PARAMETER"
 
-#: fortran/resolve.c:7567
+#: fortran/resolve.c:8951
 #, no-c-format
 msgid "'%s' at %L must have constant character length in this context"
 msgstr "变量‘%s’在%L处上下文中字符长度必须为常量"
 
-#: fortran/resolve.c:7603
+#: fortran/resolve.c:8987
 #, no-c-format
 msgid "Allocatable '%s' at %L cannot have an initializer"
 msgstr "可分配的‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:7606
+#: fortran/resolve.c:8990
 #, no-c-format
 msgid "External '%s' at %L cannot have an initializer"
 msgstr "外部‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:7610
+#: fortran/resolve.c:8994
 #, no-c-format
 msgid "Dummy '%s' at %L cannot have an initializer"
 msgstr "哑元‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:7613
+#: fortran/resolve.c:8997
 #, no-c-format
 msgid "Intrinsic '%s' at %L cannot have an initializer"
 msgstr "内建函数‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:7616
+#: fortran/resolve.c:9000
 #, no-c-format
 msgid "Function result '%s' at %L cannot have an initializer"
 msgstr "函数结果‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:7619
+#: fortran/resolve.c:9003
 #, no-c-format
 msgid "Automatic array '%s' at %L cannot have an initializer"
 msgstr "自动数组‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:7642
+#: fortran/resolve.c:9026
 #, no-c-format
 msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
-msgstr ""
+msgstr "尽管没有被引用,%2$L处的‘%1$s’的接口也有歧义"
 
-#: fortran/resolve.c:7661
+#: fortran/resolve.c:9045
 #, no-c-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
-msgstr ""
+msgstr "%2$L处有字符值的语句函数‘%1$s’必须有常量长度"
 
-#: fortran/resolve.c:7669
+#: fortran/resolve.c:9053
 #, no-c-format
 msgid "Automatic character length function '%s' at %L must have an explicit interface"
 msgstr "%2$L处的自动字符长度函数‘%1$s’必须有一个显式的接口"
 
-#: fortran/resolve.c:7694
+#: fortran/resolve.c:9078
 #, no-c-format
 msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
-msgstr ""
+msgstr "Fortran 2003:%3$L处‘%1$s’是 PRIVATE 类型因而不能是 PUBLIC 类型‘%2$s’的虚参"
 
-#: fortran/resolve.c:7717 fortran/resolve.c:7742
+#: fortran/resolve.c:9101 fortran/resolve.c:9126
 #, no-c-format
 msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
-msgstr ""
+msgstr "Fortran 2003: %3$L处 PUBLIC 接口‘%2$s’中的过程‘%1$s’有 PRIVATE 的虚参‘%4$s’"
 
-#: fortran/resolve.c:7760
+#: fortran/resolve.c:9144
 #, no-c-format
 msgid "Function '%s' at %L cannot have an initializer"
 msgstr "函数‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:7769
+#: fortran/resolve.c:9153
 #, no-c-format
 msgid "External object '%s' at %L may not have an initializer"
 msgstr "外部对象‘%s’在%L处不能有初始值设定"
 
-#: fortran/resolve.c:7777
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9161
+#, no-c-format
 msgid "ELEMENTAL function '%s' at %L must have a scalar result"
-msgstr "语句函数的实参‘%s’在%L处必须是标量"
+msgstr "%2$L处 ELEMENTAL 函数‘%1$s’必须有一个标量返回值"
 
-#: fortran/resolve.c:7798
+#: fortran/resolve.c:9182
 #, no-c-format
 msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
 msgstr "CHARACTER(*) 函数‘%s’在%L处不能为数组值"
 
-#: fortran/resolve.c:7802
+#: fortran/resolve.c:9186
 #, no-c-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
 msgstr "指定CHARACTER(*) 函数‘%s’在%L处不能为指针值"
 
-#: fortran/resolve.c:7806
+#: fortran/resolve.c:9190
 #, no-c-format
 msgid "CHARACTER(*) function '%s' at %L cannot be pure"
 msgstr "CHARACTER(*) 函数‘%s’在%L处不能为纯函数"
 
-#: fortran/resolve.c:7810
+#: fortran/resolve.c:9194
 #, no-c-format
 msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr "CHARACTER(*) 函数‘%s’在%L处不能是递归的"
 
-#: fortran/resolve.c:7819
+#: fortran/resolve.c:9203
 #, no-c-format
-msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
-msgstr ""
+msgid "Obsolescent feature: CHARACTER(*) function '%s' at %L"
+msgstr "已过时的特性:%2$L处的 CHARACTER(*) 函数‘%1$s’"
 
-#: fortran/resolve.c:7872
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9258
+#, no-c-format
 msgid "PROCEDURE attribute conflicts with SAVE attribute in '%s' at %L"
-msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
+msgstr "PROCEDURE 属性与%2$L处‘%1$s’中的 SAVE 属性冲突"
 
-#: fortran/resolve.c:7879
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9264
+#, no-c-format
 msgid "PROCEDURE attribute conflicts with INTENT attribute in '%s' at %L"
-msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
+msgstr "PROCEDURE 属性与%2$L处‘%1$s’中的 INTENT 属性冲突"
+
+#: fortran/resolve.c:9270
+#, no-c-format
+msgid "PROCEDURE attribute conflicts with RESULT attribute in '%s' at %L"
+msgstr "PROCEDURE 属性与在%2$L处‘%1$s’中的 RESULT 属性冲突"
+
+#: fortran/resolve.c:9278
+#, no-c-format
+msgid "EXTERNAL attribute conflicts with FUNCTION attribute in '%s' at %L"
+msgstr "EXTERNAL 属性与在%2$L处‘%1$s’中的 FUNCTION 属性冲突"
+
+#: fortran/resolve.c:9284
+#, no-c-format
+msgid "Procedure pointer result '%s' at %L is missing the pointer attribute"
+msgstr "%2$L处过程指针结果‘%1$s’缺少指针属性"
 
-#: fortran/resolve.c:7923
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9330
+#, no-c-format
 msgid "FINAL procedure '%s' at %L is not a SUBROUTINE"
-msgstr "%2$L处的用户运算符‘%1$s’必须是一个 FUNCTION"
+msgstr "%2$L处 FINAL 过程‘%1$s’不是一个 SUBROUTINE"
 
-#: fortran/resolve.c:7931
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9338
+#, no-c-format
 msgid "FINAL procedure at %L must have exactly one argument"
-msgstr "%2$L处的用户运算符‘%1$s’必须至少有一个实参"
+msgstr "%L处的 FINAL 过程有且只有一个参数"
 
-#: fortran/resolve.c:7940
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9347
+#, no-c-format
 msgid "Argument of FINAL procedure at %L must be of type '%s'"
-msgstr "%L处 ICHAR 的参数长度必须为 1"
+msgstr "%L处 FINAL 过程的参数必须是‘%s’类型"
 
-#: fortran/resolve.c:7948
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9355
+#, no-c-format
 msgid "Argument of FINAL procedure at %L must not be a POINTER"
-msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须是一个 POINTER"
+msgstr "%L处 FINAL 过程的参数必须不是 POINTER"
 
-#: fortran/resolve.c:7954
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9361
+#, no-c-format
 msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
-msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’必须为 ALLOCATABLE"
+msgstr "%L处 FINAL 过程的参数必须不是 ALLOCATABLE"
 
-#: fortran/resolve.c:7960
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9367
+#, no-c-format
 msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
-msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’不能为可选的"
+msgstr "%L处 FINAL 过程的参数必须不是 OPTIONAL"
 
-#: fortran/resolve.c:7968
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9375
+#, no-c-format
 msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
-msgstr "%L处运算符接口的第一个参数必须是 INTENT(IN)"
+msgstr "%L处 FINAL 过程的参数必须不是 INTENT(OUT)"
 
-#: fortran/resolve.c:7976
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9383
+#, no-c-format
 msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
-msgstr "%2$L处的用户运算符‘%1$s’必须至少有一个实参"
+msgstr "%L处的非标量 FINAL 过程应当有假定外形的参数"
 
-#: fortran/resolve.c:7995
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9402
+#, no-c-format
 msgid "FINAL procedure '%s' declared at %L has the same rank (%d) as '%s'"
-msgstr "名字‘%s’(位于 %C)是一个过程的名字"
+msgstr "%2$L处声明的 FINAL 过程‘%1$s’有与‘%4$s’相同的秩(%3$d)"
 
-#: fortran/resolve.c:8028
+#: fortran/resolve.c:9435
 #, no-c-format
 msgid "Only array FINAL procedures declared for derived type '%s' defined at %L, suggest also scalar one"
-msgstr ""
+msgstr "仅为定义在%2$L处的派生类型‘%1$s’声明了数组 FINAL 过程,建议也定义一个标量过程"
 
 #. TODO:  Remove this error when finalization is finished.
-#: fortran/resolve.c:8033
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9440
+#, no-c-format
 msgid "Finalization at %L is not yet implemented"
-msgstr "初始化不允许出现在%C处的 PURE 过程中"
+msgstr "%L处的终结化还未实现"
 
-#: fortran/resolve.c:8059
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9466
+#, no-c-format
 msgid "Can't overwrite GENERIC '%s' at %L"
-msgstr "不能将 %s 转换为 %s,于 %L"
+msgstr "不能覆盖%2$L处的 GENERIC‘%1$s’"
 
-#: fortran/resolve.c:8071
+#: fortran/resolve.c:9478
 #, no-c-format
 msgid "'%s' at %L overrides a procedure binding declared NON_OVERRIDABLE"
-msgstr ""
+msgstr "%2$L处的‘%1$s’覆盖了一个绑定声明为 NON_OVERRIDABLE 的过程"
+
+#: fortran/resolve.c:9486
+#, no-c-format
+msgid "'%s' at %L must not be DEFERRED as it overrides a non-DEFERRED binding"
+msgstr "%2$L处的‘%s’不能是 DEFERRED,因为它覆盖了一个非 DEFERRED 绑定"
 
-#: fortran/resolve.c:8079
+#: fortran/resolve.c:9494
 #, no-c-format
 msgid "'%s' at %L overrides a PURE procedure and must also be PURE"
-msgstr ""
+msgstr "%2$L处的‘%1$s’覆盖了一个 PURE 过程因此必须也是 PURE"
 
-#: fortran/resolve.c:8088
+#: fortran/resolve.c:9503
 #, no-c-format
 msgid "'%s' at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL"
-msgstr ""
+msgstr "%2$L处的‘%1$s’覆盖了一个 ELEMENTAL 过程因此也必须是 ELEMENTAL"
 
-#: fortran/resolve.c:8094
+#: fortran/resolve.c:9509
 #, no-c-format
 msgid "'%s' at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, either"
-msgstr ""
+msgstr "%2$L处的‘%1$s’覆盖了一个非 ELEMENTAL 过程因此必须也不是 ELEMENTAL"
 
-#: fortran/resolve.c:8103
+#: fortran/resolve.c:9518
 #, no-c-format
 msgid "'%s' at %L overrides a SUBROUTINE and must also be a SUBROUTINE"
-msgstr ""
+msgstr "%2$L处的‘%1$s’覆盖了一个 SUBROUTINE 因此也必须是 SUBROUTINE"
 
-#: fortran/resolve.c:8114
+#: fortran/resolve.c:9529
 #, no-c-format
 msgid "'%s' at %L overrides a FUNCTION and must also be a FUNCTION"
-msgstr ""
+msgstr "%2$L处的‘%1$s’覆盖了一个 FUNCTION 因此也必须是 FUNCTION"
 
-#: fortran/resolve.c:8125
+#: fortran/resolve.c:9540
 #, no-c-format
 msgid "'%s' at %L and the overridden FUNCTION should have matching result types"
-msgstr ""
+msgstr "%2$L处的‘%1$s’和它覆盖的 FUNCTION 应该有匹配的返回类型"
 
-#: fortran/resolve.c:8136
+#: fortran/resolve.c:9551
 #, no-c-format
 msgid "'%s' at %L overrides a PUBLIC procedure and must not be PRIVATE"
-msgstr ""
+msgstr "%2$L处的‘%1$s’覆盖了一个 PUBLIC 过程因此必须不是 PRIVATE"
 
-#: fortran/resolve.c:8165
+#: fortran/resolve.c:9580
 #, no-c-format
 msgid "Dummy argument '%s' of '%s' at %L should be named '%s' as to match the corresponding argument of the overridden procedure"
-msgstr ""
+msgstr "%3$L处‘%2$s’的虚参‘%1$s’应该命名为‘%4$s’以匹配被覆盖过程的相应参数"
 
-#: fortran/resolve.c:8178
+#: fortran/resolve.c:9593
 #, no-c-format
-msgid "Types mismatch for dummy argument '%s' of '%s' %L in in respect to the overridden procedure"
-msgstr ""
+msgid "Types mismatch for dummy argument '%s' of '%s' %L in respect to the overridden procedure"
+msgstr "%3$L处‘%2$s’的虚参‘%1$s’相对于覆盖过程类型不匹配"
 
-#: fortran/resolve.c:8188
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9603
+#, no-c-format
 msgid "'%s' at %L must have the same number of formal arguments as the overridden procedure"
-msgstr "名字‘%s’(位于 %C)是一个过程的名字"
+msgstr "%2$L处的‘%1$s’必须有与被覆盖的过程相同数量的形式参数"
 
-#: fortran/resolve.c:8197
+#: fortran/resolve.c:9612
 #, no-c-format
 msgid "'%s' at %L overrides a NOPASS binding and must also be NOPASS"
-msgstr ""
+msgstr "%2$L处的‘%1$s’覆盖了一个 NOPASS 绑定因此必须也是 NOPASS"
 
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:9623
 #, no-c-format
 msgid "'%s' at %L overrides a binding with PASS and must also be PASS"
-msgstr ""
+msgstr "%2$L处的‘%1$s’覆盖了一个具有 PASS 的绑定因此也必须是 PASS"
 
-#: fortran/resolve.c:8215
+#: fortran/resolve.c:9630
 #, no-c-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"
-msgstr ""
+msgstr "%2$L处的‘%1$s’的传递对象虚参必须与被覆盖的过程传递对象的虚参位置相同"
 
-#: fortran/resolve.c:8246
+#: fortran/resolve.c:9664
 #, no-c-format
 msgid "'%s' and '%s' can't be mixed FUNCTION/SUBROUTINE for GENERIC '%s' at %L"
-msgstr ""
+msgstr "%4$L处‘%1$s’和‘%2$s’对 GENERIC‘%3$s’不能是混合的 FUNCTION/SUBROUTINE"
 
-#: fortran/resolve.c:8255
+#: fortran/resolve.c:9673
 #, no-c-format
 msgid "'%s' and '%s' for GENERIC '%s' at %L are ambiguous"
-msgstr ""
+msgstr "%4$L处 GENERIC‘%3$s’的‘%1$s’和‘%2$s’有歧义"
 
-#: fortran/resolve.c:8324
+#: fortran/resolve.c:9732
 #, no-c-format
 msgid "Undefined specific binding '%s' as target of GENERIC '%s' at %L"
-msgstr ""
+msgstr "未定义的指定绑定‘%1$s’用作%3$L处的 GENERIC‘%2$s’的目标"
 
-#: fortran/resolve.c:8336
+#: fortran/resolve.c:9744
 #, no-c-format
 msgid "GENERIC '%s' at %L must target a specific binding, '%s' is GENERIC, too"
-msgstr ""
+msgstr "%2$L处 GENERIC‘%1$s’必须定位一个特定的绑定,‘%3$s’也是 GENERIC"
 
-#: fortran/resolve.c:8366
+#: fortran/resolve.c:9774
 #, no-c-format
 msgid "GENERIC '%s' at %L can't overwrite specific binding with the same name"
-msgstr ""
+msgstr "%2$L处 GENERIC‘%1$s’无法覆盖同名的特定绑定"
+
+#: fortran/resolve.c:9830
+#, no-c-format
+msgid "Type-bound operator at %L can't be NOPASS"
+msgstr "%L处类型限定的操作数不能是 NOPASS"
 
-#: fortran/resolve.c:8424
-#, fuzzy, no-c-format
+#: fortran/resolve.c:9993
+#, no-c-format
 msgid "'%s' must be a module procedure or an external procedure with an explicit interface at %L"
-msgstr "调用过程‘%s’带隐式接口,位于 %L"
+msgstr "%2$L处的‘%1$s’必须是一个模块过程或带有显式接口的外部过程"
 
-#: fortran/resolve.c:8461
-#, fuzzy, no-c-format
+#: fortran/resolve.c:10030
+#, no-c-format
 msgid "Procedure '%s' with PASS(%s) at %L has no argument '%s'"
-msgstr "符号‘%s’在%L处已经有了显式接口"
+msgstr "%3$L处有 PASS(%2$s)的过程‘%1$s’没有参数‘%4$s’"
 
-#: fortran/resolve.c:8475
-#, fuzzy, no-c-format
+#: fortran/resolve.c:10044
+#, no-c-format
 msgid "Procedure '%s' with PASS at %L must have at least one argument"
-msgstr "%2$L处的用户运算符‘%1$s’必须至少有一个实参"
+msgstr "%2$L处有 PASS 的过程‘%1$s’必须至少带一个参数"
 
-#: fortran/resolve.c:8487
-#, fuzzy, no-c-format
-msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
-msgstr "%3$L处内建函数‘%2$s’的实参‘%1$s’不能是派生类型"
+#: fortran/resolve.c:10055 fortran/resolve.c:10424
+#, no-c-format
+msgid "Non-polymorphic passed-object dummy argument of '%s' at %L"
+msgstr "%2$L处非多态的传递对象虚参‘%1$s’"
 
-#: fortran/resolve.c:8493
+#: fortran/resolve.c:10063
 #, no-c-format
-msgid "Polymorphic entities are not yet implemented, non-polymorphic passed-object dummy argument of '%s' at %L accepted"
-msgstr ""
+msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived-type '%s'"
+msgstr " %4$L处的具有 PASS(%3$s) 的‘%2$s’的参数‘%1$s’必须具有派生类型‘%5$s’"
 
-#: fortran/resolve.c:8518
-#, fuzzy, no-c-format
+#: fortran/resolve.c:10091
+#, no-c-format
 msgid "Procedure '%s' at %L has the same name as a component of '%s'"
-msgstr "名字‘%s’(位于 %C)是一个过程的名字"
+msgstr "%2$L处过程‘%1$s’和‘%3$s’的组件重名"
 
-#: fortran/resolve.c:8527
-#, fuzzy, no-c-format
+#: fortran/resolve.c:10100
+#, no-c-format
 msgid "Procedure '%s' at %L has the same name as an inherited component of '%s'"
-msgstr "名字‘%s’(位于 %C)是一个过程的名字"
+msgstr "%2$L处过程‘%1$s’和‘%3$s’的继承组件重名"
+
+#: fortran/resolve.c:10187
+#, no-c-format
+msgid "Derived-type '%s' declared at %L must be ABSTRACT because '%s' is DEFERRED and not overridden"
+msgstr "%2$L处声明的派生类型‘%1$s’必须是 ABSTRACT,因为‘%3$s’是 DEFERRED 且没有被覆盖"
 
-#: fortran/resolve.c:8595
+#: fortran/resolve.c:10248
 #, no-c-format
 msgid "Non-extensible derived-type '%s' at %L must not be ABSTRACT"
-msgstr ""
+msgstr "%2$L处不能扩展的派生类型‘%1$s’不能是 ABSTRACT"
 
-#: fortran/resolve.c:8612
-#, fuzzy, no-c-format
+#: fortran/resolve.c:10258
+#, no-c-format
+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 语句中被声明"
+
+#: fortran/resolve.c:10319
+#, no-c-format
+msgid "Interface '%s' of procedure pointer component '%s' at %L must be explicit"
+msgstr "%3$L处过程指针组件‘%2$s’的接口‘%1$s’必须是显式的"
+
+#: fortran/resolve.c:10358
+#, no-c-format
+msgid "Procedure pointer component '%s' with PASS(%s) at %L has no argument '%s'"
+msgstr "%3$L处带有 PASS(%2$s)的过程指针组件‘%1$s’没有参数‘%4$s’"
+
+#: fortran/resolve.c:10372
+#, no-c-format
+msgid "Procedure pointer component '%s' with PASS at %L must have at least one argument"
+msgstr "%2$L处的具有 PASS 的过程指针组件‘%1$s’必须至少有一个实参"
+
+#: fortran/resolve.c:10388
+#, no-c-format
+msgid "Argument '%s' of '%s' with PASS(%s) at %L must be of the derived type '%s'"
+msgstr "%4$L处具有 PASS(%3$s) 的‘%2$s’的参数‘%1$s’必须有派生类型‘%5$s’"
+
+#: fortran/resolve.c:10398
+#, no-c-format
+msgid "Argument '%s' of '%s' with PASS(%s) at %L must be scalar"
+msgstr "%4$L 处的具有 PASS(%3$s) 的‘%2$s’的参数‘%1$s’必须是标量"
+
+#: fortran/resolve.c:10407
+#, no-c-format
+msgid "Argument '%s' of '%s' with PASS(%s) at %L may not have the POINTER attribute"
+msgstr "%4$L处带有 PASS(%3$s)的‘%2$s’的参数‘%1s’不能有 POINTER 属性"
+
+#: fortran/resolve.c:10416
+#, no-c-format
+msgid "Argument '%s' of '%s' with PASS(%s) at %L may not be ALLOCATABLE"
+msgstr "%4$L处带有 PASS(%3$s)的‘%2$s’的参数‘%1s’不能是 ALLOCATABLE"
+
+#: fortran/resolve.c:10439
+#, no-c-format
 msgid "Component '%s' of '%s' at %L has the same name as an inherited type-bound procedure"
-msgstr "名字‘%s’(位于 %C)是一个过程的名字"
+msgstr "%3$L处‘%2$s’的组件‘%1$s’与一个继承的类型限定过程同名"
 
-#: fortran/resolve.c:8624
-#, fuzzy, no-c-format
+#: fortran/resolve.c:10451
+#, no-c-format
 msgid "Character length of component '%s' needs to be a constant specification expression at %L"
-msgstr "假定字符长度变量‘%s’在%L处的常量表达式中"
+msgstr "%2$L处组件‘%1$s’的字符长度必须是一个常量规格表达式"
 
-#: fortran/resolve.c:8639
+#: fortran/resolve.c:10466
 #, no-c-format
-msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
-msgstr ""
+msgid "Fortran 2003: the component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+msgstr "Fortran 2003:%3$L处组合‘%1$s’是一个 PRIVATE 类型,因此不能是 PUBLIC‘%2$s’的组合"
 
-#: fortran/resolve.c:8649
-#, fuzzy, no-c-format
+#: fortran/resolve.c:10476
+#, no-c-format
 msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
-msgstr "%C处的组件必须有 POINTER 属性"
+msgstr "%2$L处声明的有 SEQUENCE 类型的组件 %1$s 没有 SEQUENCE 属性"
 
-#: fortran/resolve.c:8660
+#: fortran/resolve.c:10487
 #, no-c-format
 msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
-msgstr ""
+msgstr "%3$L处‘%2$s’的指针组件‘%1$s’类型尚未声明"
+
+#: fortran/resolve.c:10498
+#, no-c-format
+msgid "Component '%s' with CLASS at %L must be allocatable or pointer"
+msgstr "%2$L处具有 CLASS 的组件‘%1$s’必须是可分配的或指针"
 
-#: fortran/resolve.c:8688
-#, fuzzy, no-c-format
+#: fortran/resolve.c:10526
+#, no-c-format
 msgid "Component '%s' of '%s' at %L must have constant array bounds"
-msgstr "内建函数‘%s’ 于%L处必须有至少两个实参"
+msgstr "%3$L处‘%2$s’的组件‘%1$s’必须有常量数组界限"
 
-#: fortran/resolve.c:8729
+#: fortran/resolve.c:10571
 #, no-c-format
 msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
-msgstr ""
+msgstr "%3$L处 NAMELIST 对象‘%1$s’声明为 PRIVATE 因此不能是 PUBLIC 名字列表‘%2$s’的成员"
 
-#: fortran/resolve.c:8739
+#: fortran/resolve.c:10581
 #, no-c-format
 msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
-msgstr ""
+msgstr "%3$L处 NAMELIST 对象‘%1$s’有使用相关的 PRIVATE 组件因此不能是 NAMELIST‘%2$s’的成员"
 
-#: fortran/resolve.c:8752
+#: fortran/resolve.c:10594
 #, no-c-format
 msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
-msgstr ""
+msgstr "%3$L处 NAMELIST 对象‘%1$s’有 PRIVATE 组件因此不能是 PUBLIC 名字列表‘%2$s’的成员"
 
-#: fortran/resolve.c:8764
+#: fortran/resolve.c:10606
 #, no-c-format
 msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
-msgstr ""
+msgstr "%3$L处 NAMELIST 数组对象‘%1$s’在名字列表‘%2$s’不能有假定外形"
 
-#: fortran/resolve.c:8773
+#: fortran/resolve.c:10615
 #, no-c-format
 msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
-msgstr ""
+msgstr "%3$L处 NAMELIST 数组对象‘%1$s’在名字列表‘%2$s’必须有常外形"
 
-#: fortran/resolve.c:8785
+#: fortran/resolve.c:10627
 #, no-c-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
-msgstr ""
+msgstr "%3$L处 NAMELIST 数组对象‘%1$s’在名字列表‘%2$s’必须有 ALLOCATABLE 组件"
 
-#: fortran/resolve.c:8793
+#: fortran/resolve.c:10635
 #, no-c-format
 msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
-msgstr ""
+msgstr "%3$L处 NAMELIST 数组对象‘%1$s’在名字列表‘%2$s’不能有 POINTER 组件"
 
-#: fortran/resolve.c:8819
-#, fuzzy, no-c-format
+#: fortran/resolve.c:10661
+#, no-c-format
 msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
-msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
+msgstr "PROCEDURE 属性与%2$L处‘%1$s’中的 NAMELIST 属性冲突"
 
-#: fortran/resolve.c:8838
-#, fuzzy, no-c-format
+#: fortran/resolve.c:10680
+#, no-c-format
 msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
-msgstr "数组‘%s’在%L处不能有延迟的外形"
+msgstr "%2$L处的参数数组‘%1$s’不能是自动的或有延迟的外形"
 
-#: fortran/resolve.c:8849
+#: fortran/resolve.c:10692
 #, no-c-format
 msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
-msgstr ""
+msgstr "%2$L处隐式类型的 PARAMETER‘%1$s’与随后的 IMPLICIT 类型不匹配"
 
-#: fortran/resolve.c:8860
+#: fortran/resolve.c:10703
 #, no-c-format
 msgid "Incompatible derived type in PARAMETER at %L"
-msgstr ""
-
-#: fortran/resolve.c:8919
-#, fuzzy, no-c-format
-msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
-msgstr "内部过程‘%s’在%L处不允许用作实参"
-
-#: fortran/resolve.c:8967
-#, fuzzy, no-c-format
-msgid "Interface '%s' of procedure '%s' at %L must be explicit"
-msgstr "元素过程的实参‘%s’在%L处必须是标量"
-
-#: fortran/resolve.c:9000
-#, fuzzy, no-c-format
-msgid "Type specified for intrinsic function '%s' at %L is ignored"
-msgstr "函数‘%s’中的替代返回限定符在%L处不被允许"
+msgstr "%L处 PARAMETER 中派生类型不兼容"
 
-#: fortran/resolve.c:9007
-#, fuzzy, no-c-format
-msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
-msgstr "内建函数‘%s’在%L处不能有初始值设定"
+#: fortran/resolve.c:10766
+#, no-c-format
+msgid "PROCEDURE '%s' at %L may not be used as its own interface"
+msgstr "%2$L处的 PROCEDURE‘%1$s’不能被用作其自身的接口"
 
-#: fortran/resolve.c:9014
-#, fuzzy, no-c-format
-msgid "'%s' declared INTRINSIC at %L does not exist"
-msgstr "%2$L处的 COMMON‘%1$s’并不存在"
+#: fortran/resolve.c:10772
+#, no-c-format
+msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
+msgstr "为过程‘%2$s’在%3$L处使用的接口‘%1$s’是在之后的 PROCEDURE 语句中声明的"
 
-#: fortran/resolve.c:9023
+#: fortran/resolve.c:10825
 #, no-c-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."
-msgstr ""
+msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+msgstr "%3$L处过程‘%2$s’的接口‘%1$s’必须是显式的"
 
-#: fortran/resolve.c:9067
+#: fortran/resolve.c:10892
 #, no-c-format
 msgid "Assumed size array at %L must be a dummy argument"
-msgstr "%L处假定大小的数组必须是一个哑元"
+msgstr "%L处假定大小的数组必须是一个虚参"
 
-#: fortran/resolve.c:9070
+#: fortran/resolve.c:10895
 #, no-c-format
 msgid "Assumed shape array at %L must be a dummy argument"
-msgstr "%L处假定外形的数组必须是一个哑元"
+msgstr "%L处假定外形的数组必须是一个虚参"
 
-#: fortran/resolve.c:9082
+#: fortran/resolve.c:10907
 #, no-c-format
 msgid "Symbol at %L is not a DUMMY variable"
 msgstr "%L处的符号不是一个 DUMMY 变量"
 
-#: fortran/resolve.c:9088
+#: fortran/resolve.c:10913
 #, no-c-format
 msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
-msgstr ""
+msgstr "%2$L 处的“%1$s”不能有 VALUE 属性,因为它不是个虚参"
 
-#: fortran/resolve.c:9098
-#, fuzzy, no-c-format
+#: fortran/resolve.c:10923
+#, no-c-format
 msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
-msgstr "语句函数的实参‘%s’在%L处必须是标量"
+msgstr "%2$L处带 VALUE 属性的字符哑元‘%1$s’必须具有常数长度"
 
-#: fortran/resolve.c:9107
+#: fortran/resolve.c:10932
 #, no-c-format
 msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
-msgstr ""
+msgstr "%2$L处带 VALUE 属性与 C 可互操作的字符哑元‘%1$s’长度必须为 1"
 
-#: fortran/resolve.c:9133
+#: fortran/resolve.c:10958
 #, no-c-format
 msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
-msgstr ""
+msgstr "%2$L处变量‘%1$s’不能是 BIND(C) 因为它既不是一个 COMMON 块也不是于模块级作用域声明的"
 
-#: fortran/resolve.c:9186
+#: fortran/resolve.c:11011
 #, no-c-format
 msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
-msgstr ""
+msgstr "%2$L处派生类型‘%1$s’的类型‘%3$s’尚未定义"
 
-#: fortran/resolve.c:9226
-#, fuzzy, no-c-format
+#: fortran/resolve.c:11052
+#, no-c-format
 msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
-msgstr "函数‘%s’在%L处没有 IMPLICIT 类型"
+msgstr "Fortran 2003:%3$L处 PUBLIC %1$s‘%2$s’具有 PRIVATE 派生类型‘%4$s’"
 
-#: fortran/resolve.c:9245
+#: fortran/resolve.c:11071
 #, no-c-format
 msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
-msgstr ""
+msgstr "%2$L处INTENT(OUT) 虚参‘%1$s’是 ASSUMED SIZE,所以不能有一个默认初始值设定"
 
-#: fortran/resolve.c:9304
+#: fortran/resolve.c:11145
 #, no-c-format
 msgid "Threadprivate at %L isn't SAVEd"
 msgstr "%L处的线程私有变量未被保存"
 
-#: fortran/resolve.c:9389
+#: fortran/resolve.c:11233
 #, no-c-format
 msgid "BLOCK DATA element '%s' at %L must be in COMMON"
-msgstr ""
+msgstr "%2$L处 BLOCK DATA 元素‘%1$s’必须在 COMMON 中"
 
-#: fortran/resolve.c:9395
+#: fortran/resolve.c:11239
 #, no-c-format
 msgid "DATA array '%s' at %L must be specified in a previous declaration"
-msgstr ""
+msgstr "%2$L处 BLOCK DATA 元素‘%1$s’必在前一个声明中指定"
 
-#: fortran/resolve.c:9440
+#: fortran/resolve.c:11255
+#, no-c-format
+msgid "DATA element '%s' at %L is a pointer and so must be a full array"
+msgstr "%2$L处的 DATA 元素‘%1$s’是一个指针所以必须是一个完全的数组"
+
+#: fortran/resolve.c:11301
 #, no-c-format
 msgid "Nonconstant array section at %L in DATA statement"
-msgstr ""
+msgstr "%L处 DATA 语句中有非常量数组段"
 
-#: fortran/resolve.c:9453
+#: fortran/resolve.c:11314
 #, no-c-format
 msgid "DATA statement at %L has more variables than values"
 msgstr "%L处的 DATA 语名中变量比值多"
 
-#: fortran/resolve.c:9547
+#: fortran/resolve.c:11408
 #, no-c-format
 msgid "iterator start at %L does not simplify"
 msgstr "%L处游标起始不能简化"
 
-#: fortran/resolve.c:9554
+#: fortran/resolve.c:11415
 #, no-c-format
 msgid "iterator end at %L does not simplify"
 msgstr "%L处游标结束不能简化"
 
-#: fortran/resolve.c:9561
+#: fortran/resolve.c:11422
 #, no-c-format
 msgid "iterator step at %L does not simplify"
 msgstr "%L处游标步进不能简化"
 
-#: fortran/resolve.c:9687
+#: fortran/resolve.c:11548
 #, no-c-format
 msgid "DATA statement at %L has more values than variables"
 msgstr "%L处的 DATA 语句中值比变量多"
 
-#: fortran/resolve.c:9778
+#: fortran/resolve.c:11639
 #, no-c-format
 msgid "Label %d at %L defined but not used"
 msgstr "标号 %d 于 %L 经定义但未被使用"
 
-#: fortran/resolve.c:9783
+#: fortran/resolve.c:11644
 #, no-c-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "标号 %d 于 %L 经定义但无法被使用"
 
-#: fortran/resolve.c:9868
+#: fortran/resolve.c:11728
 #, no-c-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
-msgstr ""
+msgstr "%2$L处的派生类型变量‘%1$s’必须有 SEQUENCE 属性方能成为 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:9877
+#: fortran/resolve.c:11737
 #, no-c-format
 msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
-msgstr ""
+msgstr "%2$L处的派生类型变量‘%1$s’必须没有 ALLOCATABLE 组件方能成为一个 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:9885
+#: fortran/resolve.c:11745
 #, no-c-format
 msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
-msgstr ""
+msgstr "%2$L处的默认初始化的派生类型变量‘%1$s’不能成为 EQUIVALENCE 对象,因为它在 COMMON 中有变量"
 
-#: fortran/resolve.c:9902
+#: fortran/resolve.c:11761
 #, no-c-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
-msgstr ""
+msgstr "%2$L处的带指针组件的派生类型变量‘%1$s’不能成为一个 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:10007
+#: fortran/resolve.c:11863
 #, no-c-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr "%L处 EQUIVALENCE 语句语法错误"
 
-#: fortran/resolve.c:10022
+#: fortran/resolve.c:11878
 #, no-c-format
 msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
-msgstr ""
+msgstr "%L处 EQUIVALENCE 集中的对象必须都带有或者都不带有 PROTECTED 属性"
 
-#: fortran/resolve.c:10034
+#: fortran/resolve.c:11890
 #, no-c-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
-msgstr ""
+msgstr "%2$L处的公共块成员‘%1$s’不能在纯过程‘%3$s’中成为一个 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:10043
+#: fortran/resolve.c:11899
 #, no-c-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr "%2$L处的有名常量‘%1$s’不能是一个 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:10122
+#: fortran/resolve.c:11978
 #, no-c-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
-msgstr ""
+msgstr "%2$L处有非常量界限的数组‘%1$s’不能是一个 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:10133
+#: fortran/resolve.c:11989
 #, no-c-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
-msgstr ""
+msgstr "%2$L处结构组件‘%1$s’不能是一个 EQUIVALENCE 对象"
 
-#: fortran/resolve.c:10144
+#: fortran/resolve.c:12000
 #, no-c-format
 msgid "Substring at %L has length zero"
 msgstr "%L 的子字符串长度为零"
 
-#: fortran/resolve.c:10188
-#, fuzzy, no-c-format
+#: fortran/resolve.c:12044
+#, no-c-format
 msgid "Fortran 2003: PUBLIC function '%s' at %L of PRIVATE type '%s'"
-msgstr "函数‘%s’在%L处没有 IMPLICIT 类型"
+msgstr "Fortran 2003:%2$L处 PRIVATE 类型‘%3$s’的 PUBLIC 函数‘%1$s’"
 
-#: fortran/resolve.c:10201
+#: fortran/resolve.c:12057
 #, no-c-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr "%2$L处的 ENTRY‘%1$s’没有隐式类型"
 
-#: fortran/resolve.c:10227
+#: fortran/resolve.c:12074
 #, no-c-format
 msgid "User operator procedure '%s' at %L must be a FUNCTION"
 msgstr "%2$L处的用户运算符‘%1$s’必须是一个 FUNCTION"
 
-#: fortran/resolve.c:10234
+#: fortran/resolve.c:12084
 #, no-c-format
 msgid "User operator procedure '%s' at %L cannot be assumed character length"
-msgstr ""
+msgstr "%2$L处用户运算符过程‘%1$s’不能有假定字符长度"
 
-#: fortran/resolve.c:10240
+#: fortran/resolve.c:12092
 #, no-c-format
 msgid "User operator procedure '%s' at %L must have at least one argument"
 msgstr "%2$L处的用户运算符‘%1$s’必须至少有一个实参"
 
-#: fortran/resolve.c:10250
+#: fortran/resolve.c:12106
 #, no-c-format
 msgid "First argument of operator interface at %L cannot be optional"
 msgstr "%L处运算符接口的第一个参数不能是可选的"
 
-#: fortran/resolve.c:10262
+#: fortran/resolve.c:12124
 #, no-c-format
 msgid "Second argument of operator interface at %L cannot be optional"
 msgstr "%L处运算符接口的第二个参数不能是可选的"
 
-#: fortran/resolve.c:10266
+#: fortran/resolve.c:12131
 #, no-c-format
 msgid "Operator interface at %L must have, at most, two arguments"
 msgstr "%L处的运算符接口必须有至多两个实参"
 
-#: fortran/resolve.c:10320
+#: fortran/resolve.c:12203
 #, no-c-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
-msgstr ""
+msgstr "%2$L处 PURE 过程中包含的过程‘%1$s’必须也是 PURE"
 
-#: fortran/scanner.c:727
+#: fortran/scanner.c:760
 #, no-c-format
 msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
-msgstr ""
+msgstr "%C处的 !$OMP 开始了一个注释行,因为它既不是由一个空白符跟随也不是一个续行"
 
-#: fortran/scanner.c:1030 fortran/scanner.c:1154
-#, fuzzy, no-c-format
+#: fortran/scanner.c:1078 fortran/scanner.c:1221
+#, no-c-format
 msgid "Limit of %d continuations exceeded in statement at %C"
-msgstr "%C处错误的续行"
+msgstr "%2$C处语句超出 %1$d 个续行的限制"
 
-#: fortran/scanner.c:1078
+#: fortran/scanner.c:1090 fortran/scanner.c:1177
+#, no-c-format
+msgid "Line truncated at %L"
+msgstr "行在%L处被截断"
+
+#: fortran/scanner.c:1137
 #, no-c-format
 msgid "Missing '&' in continued character constant at %C"
 msgstr "%C处的延续字符常量缺少‘&’"
 
-#: fortran/scanner.c:1304
+#: fortran/scanner.c:1371
 #, no-c-format
 msgid "Nonconforming tab character at %C"
 msgstr "%C处的制表符不相容"
 
-#: fortran/scanner.c:1392 fortran/scanner.c:1395
+#: fortran/scanner.c:1459 fortran/scanner.c:1462
 #, no-c-format
 msgid "'&' not allowed by itself in line %d"
 msgstr "行 %d 中不允许出现游离的‘&’"
 
-#: fortran/scanner.c:1439
+#: fortran/scanner.c:1509
 #, no-c-format
 msgid "Nonconforming tab character in column %d of line %d"
 msgstr "第 %d 列第 %d 行有不相容的制表符"
 
-#: fortran/scanner.c:1644
+#: fortran/scanner.c:1717
 #, no-c-format
 msgid "%s:%d: file %s left but not entered"
 msgstr "%s:%d:文件 %s 被留下但未进入"
 
-#: fortran/scanner.c:1678
+#: fortran/scanner.c:1751
 #, no-c-format
 msgid "%s:%d: Illegal preprocessor directive"
-msgstr "%s:%dï¼\9aæ\97 æ\95\88ç\9a\84é¢\84å\8c\85å\90«æ\8c\87示"
+msgstr "%s:%dï¼\9aæ\97 æ\95\88ç\9a\84é¢\84å¤\84ç\90\86æ\8c\87令"
 
-#: fortran/scanner.c:1796
+#: fortran/scanner.c:1869
 #, no-c-format
 msgid "Can't open file '%s'"
 msgstr "无法打开文件‘%s’"
 
-#: fortran/simplify.c:82
+#: fortran/simplify.c:86
 #, no-c-format
 msgid "Result of %s overflows its kind at %L"
 msgstr "%s 的结果在%L处上溢其种别"
 
-#: fortran/simplify.c:87
+#: fortran/simplify.c:91
 #, no-c-format
 msgid "Result of %s underflows its kind at %L"
-msgstr "%s 的结果在%L处下溢其种"
+msgstr "%s 的结果在%L处下溢其种"
 
-#: fortran/simplify.c:92
+#: fortran/simplify.c:96
 #, no-c-format
 msgid "Result of %s is NaN at %L"
 msgstr "%s 的结果在%L处为 NaN"
 
-#: fortran/simplify.c:96
+#: fortran/simplify.c:100
 #, no-c-format
 msgid "Result of %s gives range error for its kind at %L"
 msgstr "%s 的结果在%L处为其种别给出范围错误"
 
-#: fortran/simplify.c:119
+#: fortran/simplify.c:123
 #, no-c-format
 msgid "KIND parameter of %s at %L must be an initialization expression"
 msgstr "KIND 参数 %s 在%L处必须是初始化表达式"
 
-#: fortran/simplify.c:127
+#: fortran/simplify.c:131
 #, no-c-format
 msgid "Invalid KIND parameter of %s at %L"
 msgstr "%s 位于 %L 的 KIND 参数无效"
 
-#: fortran/simplify.c:276
-#, fuzzy, no-c-format
+#: fortran/simplify.c:680
+#, no-c-format
 msgid "Argument of %s function at %L is negative"
-msgstr "%L处的语句函数是递归的"
+msgstr "%2$L处 %1$s 函数的参数是负的"
 
-#: fortran/simplify.c:283
-#, fuzzy, no-c-format
+#: fortran/simplify.c:687
+#, no-c-format
 msgid "Argument of %s function at %L outside of range [0,127]"
-msgstr "%L处 ACHAR 函数的实参不在 [0,127] 范围内"
+msgstr "%2$L处 %1$s 函数的参数不在[0,127]范围内"
 
-#: fortran/simplify.c:301
+#: fortran/simplify.c:705
 #, no-c-format
 msgid "Argument of %s function at %L is too large for the collating sequence of kind %d"
-msgstr ""
+msgstr "%2$L处的 %1$s 函数的参数对于种别为 %3$d 的对比序列来说太大"
 
-#: fortran/simplify.c:337
+#: fortran/simplify.c:744
 #, no-c-format
 msgid "Argument of ACOS at %L must be between -1 and 1"
 msgstr "%L处 ACOS 的参数必须在 -1 和 1 之间"
 
-#: fortran/simplify.c:359
+#: fortran/simplify.c:780
 #, no-c-format
 msgid "Argument of ACOSH at %L must not be less than 1"
 msgstr "%L处 ACOSH 的参数必须不小于 1"
 
-#: fortran/simplify.c:576
+#: fortran/simplify.c:1049
 #, no-c-format
 msgid "Argument of ASIN at %L must be between -1 and 1"
 msgstr "%L处 ASIN 的参数必须在 -1 和 1 之间"
 
-#: fortran/simplify.c:632
+#: fortran/simplify.c:1146
 #, no-c-format
 msgid "Argument of ATANH at %L must be inside the range -1 to 1"
 msgstr "%L处 ATANH 的参数必须在 -1 和 1 之间"
 
-#: fortran/simplify.c:655
+#: fortran/simplify.c:1180
 #, no-c-format
 msgid "If first argument of ATAN2 %L is zero, then the second argument must not be zero"
 msgstr "如果 ATAN2 %L 的第一个参数为 0,第二个参数必须不为 0"
 
-#: fortran/simplify.c:1462
+#: fortran/simplify.c:2221
 #, no-c-format
 msgid "Argument of IACHAR at %L must be of length one"
 msgstr "%L处 IACHAR 的参数长度必须为 1"
 
-#: fortran/simplify.c:1469
+#: fortran/simplify.c:2228
 #, no-c-format
 msgid "Argument of IACHAR function at %L outside of range 0..127"
 msgstr "%L处 IACHAR 函数的实参不在 0..127 范围内"
 
-#: fortran/simplify.c:1508
+#: fortran/simplify.c:2267
 #, no-c-format
 msgid "Invalid second argument of IBCLR at %L"
 msgstr "%L处 IBCLR 的第二个参数无效"
 
-#: fortran/simplify.c:1516
+#: fortran/simplify.c:2275
 #, no-c-format
 msgid "Second argument of IBCLR exceeds bit size at %L"
-msgstr "%L处IBCLR 的第二个参数超过位大小"
+msgstr "%L处 IBCLR 的第二个参数超过位大小"
 
-#: fortran/simplify.c:1550
+#: fortran/simplify.c:2309
 #, no-c-format
 msgid "Invalid second argument of IBITS at %L"
 msgstr "%L处 IBITS 的第二个参数无效"
 
-#: fortran/simplify.c:1556
+#: fortran/simplify.c:2315
 #, no-c-format
 msgid "Invalid third argument of IBITS at %L"
 msgstr "%L处 IBITS 的第三个参数无效"
 
-#: fortran/simplify.c:1566
+#: fortran/simplify.c:2325
 #, no-c-format
 msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
-msgstr ""
+msgstr "%L处 IBSET 的第二个和第三个参数的总和超过位大小"
 
-#: fortran/simplify.c:1613
+#: fortran/simplify.c:2372
 #, no-c-format
 msgid "Invalid second argument of IBSET at %L"
 msgstr "%L处 IBSET 的第二个参数无效"
 
-#: fortran/simplify.c:1621
+#: fortran/simplify.c:2380
 #, no-c-format
 msgid "Second argument of IBSET exceeds bit size at %L"
-msgstr ""
+msgstr "%L处 IBSET 的第二个参数超过位大小"
 
-#: fortran/simplify.c:1651
+#: fortran/simplify.c:2410
 #, no-c-format
 msgid "Argument of ICHAR at %L must be of length one"
 msgstr "%L处 ICHAR 的参数长度必须为 1"
 
-#: fortran/simplify.c:1854
+#: fortran/simplify.c:2613
 #, no-c-format
 msgid "Argument of INT at %L is not a valid type"
 msgstr "%L处 INT 的实参类型无效"
 
-#: fortran/simplify.c:1885
+#: fortran/simplify.c:2644
 #, no-c-format
 msgid "Argument of %s at %L is not a valid type"
 msgstr "%s 的实参在%L处类型无效"
 
-#: fortran/simplify.c:1982
+#: fortran/simplify.c:2789
 #, no-c-format
 msgid "Invalid second argument of ISHFT at %L"
 msgstr "%L处 ISHFT 的第二个参数无效"
 
-#: fortran/simplify.c:1997
+#: fortran/simplify.c:2804
 #, no-c-format
 msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
-msgstr ""
+msgstr "%L处 ISHFT 的第二个参数大小超过位大小"
 
-#: fortran/simplify.c:2061
+#: fortran/simplify.c:2868
 #, no-c-format
 msgid "Invalid second argument of ISHFTC at %L"
 msgstr "%L处 ISHFTC 的第二个参数无效"
 
-#: fortran/simplify.c:2075
+#: fortran/simplify.c:2882
 #, no-c-format
 msgid "Invalid third argument of ISHFTC at %L"
 msgstr "%L处 ISHFTC 的第三个参数无效"
 
-#: fortran/simplify.c:2081
+#: fortran/simplify.c:2888
 #, no-c-format
 msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
-msgstr ""
+msgstr "%L处 ISHFTC 的第三个参数大小超过第一个实参的 BIT_SIZE"
 
-#: fortran/simplify.c:2097
+#: fortran/simplify.c:2904
 #, no-c-format
 msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
-msgstr ""
+msgstr "%L处 ISHFTC 的第二个参数大小超过第三个实参"
 
-#: fortran/simplify.c:2100
+#: fortran/simplify.c:2907
 #, no-c-format
 msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
-msgstr ""
+msgstr "%L处 ISHFTC 的第二个参数大小超过第一个实参的 BIT_SIZE"
 
-#: fortran/simplify.c:2171
+#: fortran/simplify.c:2978
 #, no-c-format
 msgid "Argument of KIND at %L is a DERIVED type"
 msgstr "%L处 KIND 的实参具有 DERIVED 类型"
 
-#: fortran/simplify.c:2362
+#: fortran/simplify.c:3190
 #, no-c-format
 msgid "DIM argument at %L is out of bounds"
 msgstr "%L处的 DIM 参数越界"
 
-#: fortran/simplify.c:2534
+#: fortran/simplify.c:3376
 #, no-c-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr "%L处 LOG 的实参不可以小于或等于零"
 
-#: fortran/simplify.c:2547
+#: fortran/simplify.c:3389
 #, no-c-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr "%L处 LOG 的复数实参不可为零"
 
-#: fortran/simplify.c:2588
+#: fortran/simplify.c:3436
 #, no-c-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr "%L处 LOG10 的实参不可以小于或等于零"
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:2869
+#: fortran/simplify.c:3807
 #, no-c-format
 msgid "Second argument MOD at %L is zero"
 msgstr "%L处 MOD 的第二个参数为 0"
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:2880
+#: fortran/simplify.c:3818
 #, no-c-format
 msgid "Second argument of MOD at %L is zero"
 msgstr "%L处 MOD 的第二个参数为 0"
@@ -10241,563 +11101,557 @@ msgstr "%L处 MOD 的第二个参数为 0"
 #. Result is processor-dependent. This processor just opts
 #. to not handle it at all.
 #. Result is processor-dependent.
-#: fortran/simplify.c:2922 fortran/simplify.c:2934
+#: fortran/simplify.c:3860 fortran/simplify.c:3872
 #, no-c-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr "%L处 MODULO 的第二个参数为 0"
 
-#: fortran/simplify.c:2980
+#: fortran/simplify.c:3918
 #, no-c-format
 msgid "Second argument of NEAREST at %L shall not be zero"
 msgstr "%L处 NEAREST 的第二个参数不能为 0"
 
-#: fortran/simplify.c:3015
+#: fortran/simplify.c:3954
 #, no-c-format
 msgid "Result of NEAREST is NaN at %L"
 msgstr "NEAREST 的结果在%L处为 NaN"
 
-#: fortran/simplify.c:3296
+#: fortran/simplify.c:4332
 #, no-c-format
 msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
-msgstr ""
+msgstr "%L处内建 REPEAT 的 NCOPIES 实参是负的"
 
-#: fortran/simplify.c:3351
+#: fortran/simplify.c:4387
 #, no-c-format
 msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
-msgstr ""
-
-#: fortran/simplify.c:3465
-#, no-c-format
-msgid "Integer too large in shape specification at %L"
-msgstr "%L处外形指定中整数太大"
-
-#: fortran/simplify.c:3473
-#, no-c-format
-msgid "Too many dimensions in shape specification for RESHAPE at %L"
-msgstr "%L 为 RESHAPE 指定的维数太多"
-
-#: fortran/simplify.c:3481
-#, no-c-format
-msgid "Shape specification at %L cannot be negative"
-msgstr "%L处外形指定不能为负数"
-
-#: fortran/simplify.c:3493
-#, no-c-format
-msgid "Shape specification at %L cannot be the null array"
-msgstr ""
-
-#: fortran/simplify.c:3514
-#, no-c-format
-msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
-msgstr ""
-
-#: fortran/simplify.c:3521
-#, no-c-format
-msgid "Error in ORDER parameter of RESHAPE at %L"
-msgstr ""
-
-#: fortran/simplify.c:3529
-#, no-c-format
-msgid "ORDER parameter of RESHAPE at %L is out of range"
-msgstr ""
-
-#: fortran/simplify.c:3539
-#, no-c-format
-msgid "Invalid permutation in ORDER parameter at %L"
-msgstr ""
-
-#: fortran/simplify.c:3598
-#, no-c-format
-msgid "PAD parameter required for short SOURCE parameter at %L"
-msgstr ""
+msgstr "%L处内建 REPEAT 的 NCOPIES 实参太大"
 
-#: fortran/simplify.c:3717
+#: fortran/simplify.c:4659
 #, no-c-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr "%L处 SCALE 的结果上溢其种别"
 
-#: fortran/simplify.c:4351
+#: fortran/simplify.c:5423
 #, no-c-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr "%L处 SQRT 的参数为负"
 
-#: fortran/simplify.c:4506
+#: fortran/simplify.c:5623
 #, no-c-format
 msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
-msgstr ""
+msgstr "%L处内建 TRANSFER 有部分未定义的结果:源尺寸 %ld < 结果尺寸 %ld"
 
-#: fortran/simplify.c:4871
+#: fortran/simplify.c:6078
 #, no-c-format
 msgid "Character '%s' in string at %L cannot be converted into character kind %d"
-msgstr ""
+msgstr "%2L$处字符串中的字符‘%1$s’不能被转换成字符种别 %3$d"
 
-#: fortran/symbol.c:121
+#: fortran/symbol.c:133
 #, no-c-format
 msgid "Duplicate IMPLICIT NONE statement at %C"
 msgstr "%C处 IMPLICIT NONE 语句重复"
 
-#: fortran/symbol.c:161
+#: fortran/symbol.c:173
 #, no-c-format
 msgid "Letter '%c' already set in IMPLICIT statement at %C"
 msgstr "字母‘%c’已在%C处的隐式语句中被设定"
 
-#: fortran/symbol.c:183
+#: fortran/symbol.c:195
 #, no-c-format
 msgid "Cannot specify IMPLICIT at %C after IMPLICIT NONE"
-msgstr ""
+msgstr "在 IMPLICIT NONE 后不能在%C处指定 IMPLICIT"
 
-#: fortran/symbol.c:193
+#: fortran/symbol.c:205
 #, no-c-format
 msgid "Letter %c already has an IMPLICIT type at %C"
 msgstr "字母 %c 在%C处已经有了一个隐式类型"
 
-#: fortran/symbol.c:249
+#: fortran/symbol.c:261
 #, no-c-format
 msgid "Symbol '%s' at %L has no IMPLICIT type"
 msgstr "%2$L处的符号‘%1$s’没有隐式类型"
 
 #. BIND(C) variables should not be implicitly declared.
-#: fortran/symbol.c:269
+#: fortran/symbol.c:278
 #, no-c-format
 msgid "Implicitly declared BIND(C) variable '%s' at %L may not be C interoperable"
 msgstr "%2$L处隐式声明的 BIND(C) 变量‘%1$s’不能与 C 互操作"
 
 #. Dummy args to a BIND(C) routine may not be interoperable if
 #. they are implicitly typed.
-#: fortran/symbol.c:283
-#, fuzzy, no-c-format
+#: fortran/symbol.c:292
+#, no-c-format
 msgid "Implicitly declared variable '%s' at %L may not be C interoperable but it is a dummy argument to the BIND(C) procedure '%s' at %L"
-msgstr "%2$L处隐式声明的 BIND(C) 变量‘%1$s’不能与 C 互操作,但它是%4$L处 BIND(C) 过程‘%3$s’的一个哑元实参"
+msgstr "%2$L处隐式声明的变量‘%1$s’不能与 C 互操作,但它是%4$L处的 BIND(C) 过程‘%3$s’的虚参"
 
-#: fortran/symbol.c:324
+#: fortran/symbol.c:333
 #, no-c-format
 msgid "Function result '%s' at %L has no IMPLICIT type"
 msgstr "%2$L处的函数返回值‘%1$s’处没有隐式类型"
 
-#: fortran/symbol.c:403
+#: fortran/symbol.c:412
 #, no-c-format
 msgid "%s attribute not allowed in BLOCK DATA program unit at %L"
 msgstr "%s 属性在%L处不允许出现在 BLOCAK DATA 程序单元中"
 
-#: fortran/symbol.c:607
-#, fuzzy, no-c-format
+#: fortran/symbol.c:467
+#, no-c-format
+msgid "Fortran 2003: Procedure pointer at %C"
+msgstr "Fortran 2003:%C处的过程指针"
+
+#: fortran/symbol.c:617
+#, no-c-format
 msgid "%s attribute applied to %s %s at %L"
-msgstr "%s 属性与 %s 属性在%L处冲突"
+msgstr "%1$s 属性应用于%4$L处的 %2$s %3$s"
 
-#: fortran/symbol.c:614
+#: fortran/symbol.c:624
 #, no-c-format
 msgid "BIND(C) applied to %s %s at %L"
-msgstr ""
+msgstr "BIND(C) 应用于%3$L处的 %1$s %2$s"
 
-#: fortran/symbol.c:711 fortran/symbol.c:1364
+#: fortran/symbol.c:725 fortran/symbol.c:1387
 #, no-c-format
 msgid "%s attribute conflicts with %s attribute at %L"
 msgstr "%s 属性与 %s 属性在%L处冲突"
 
-#: fortran/symbol.c:714
+#: fortran/symbol.c:728
 #, no-c-format
 msgid "%s attribute conflicts with %s attribute in '%s' at %L"
 msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
 
-#: fortran/symbol.c:722
+#: fortran/symbol.c:736
 #, no-c-format
 msgid "Fortran 2003: %s attribute with %s attribute at %L"
 msgstr "Fortran 2003:%s 属性与 %s 属性在%L处"
 
-#: fortran/symbol.c:728
+#: fortran/symbol.c:742
 #, no-c-format
 msgid "Fortran 2003: %s attribute with %s attribute in '%s' at %L"
 msgstr "Fortran 2003:%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
 
-#: fortran/symbol.c:772
+#: fortran/symbol.c:786
 #, no-c-format
 msgid "Cannot change attributes of USE-associated symbol at %L"
 msgstr "不能改变%L处 USE 关联的符号的属性"
 
-#: fortran/symbol.c:775
+#: fortran/symbol.c:789
 #, no-c-format
 msgid "Cannot change attributes of USE-associated symbol %s at %L"
 msgstr "不能改变%2$L处 USE 关联的符号‘%1$s’的属性"
 
-#: fortran/symbol.c:791
+#: fortran/symbol.c:805
 #, no-c-format
 msgid "Duplicate %s attribute specified at %L"
 msgstr "重复的 %s 属性在%L处被指定"
 
-#: fortran/symbol.c:824
+#: fortran/symbol.c:847
 #, no-c-format
 msgid "ALLOCATABLE specified outside of INTERFACE body at %L"
-msgstr ""
+msgstr "%L 处 ALLOCATABLE 指定在 INTERFACE 体之外"
 
-#: fortran/symbol.c:850
+#: fortran/symbol.c:873
 #, no-c-format
 msgid "DIMENSION specified for '%s' outside its INTERFACE body at %L"
-msgstr ""
+msgstr "%2$L处为‘%1$s’的 DIMENSION 指定在其 INTERFACE 体之外"
 
-#: fortran/symbol.c:968
+#: fortran/symbol.c:991
 #, no-c-format
 msgid "Cray Pointee at %L appears in multiple pointer() statements"
-msgstr ""
+msgstr "%L处 Cray 指针指向的对象出现在多个 pointer() 语句中"
 
-#: fortran/symbol.c:987
+#: fortran/symbol.c:1010
 #, no-c-format
 msgid "Duplicate PROTECTED attribute specified at %L"
 msgstr "%L处指定了重复的 PROTECTED 属性"
 
-#: fortran/symbol.c:1020
+#: fortran/symbol.c:1043
 #, no-c-format
 msgid "SAVE attribute at %L cannot be specified in a PURE procedure"
 msgstr "%L处 PURE 过程不能指定 SAVE 属性"
 
-#: fortran/symbol.c:1028
+#: fortran/symbol.c:1051
 #, no-c-format
 msgid "Duplicate SAVE attribute specified at %L"
 msgstr "%L 指定了重复的 SAVE 属性"
 
-#: fortran/symbol.c:1049
+#: fortran/symbol.c:1072
 #, no-c-format
 msgid "Duplicate VALUE attribute specified at %L"
 msgstr "%L处指定了重复的 VALUE 属性"
 
-#: fortran/symbol.c:1069
+#: fortran/symbol.c:1092
 #, no-c-format
 msgid "Duplicate VOLATILE attribute specified at %L"
 msgstr "%L处指定了重复的 VOLATILE 属性"
 
-#: fortran/symbol.c:1360
+#: fortran/symbol.c:1383
 #, no-c-format
 msgid "%s attribute of '%s' conflicts with %s attribute at %L"
 msgstr "‘%2$s’的 %1$s 属性与%4$L处的 %3$s 属性冲突"
 
-#: fortran/symbol.c:1394
+#: fortran/symbol.c:1417
 #, no-c-format
 msgid "%s procedure at %L is already declared as %s procedure"
-msgstr ""
+msgstr "%2$L处的 %1$s 过程已经被声明为 %3$s 过程"
 
-#: fortran/symbol.c:1429
+#: fortran/symbol.c:1452
 #, no-c-format
 msgid "INTENT (%s) conflicts with INTENT(%s) at %L"
 msgstr "INTENT (%s) 与 INTENT(%s) 在 %L 冲突"
 
-#: fortran/symbol.c:1453
+#: fortran/symbol.c:1476
 #, no-c-format
 msgid "ACCESS specification at %L was already specified"
-msgstr ""
+msgstr "%L处的 ACCESS 规格已经被指定"
 
-#: fortran/symbol.c:1470
+#: fortran/symbol.c:1493
 #, no-c-format
 msgid "Duplicate BIND attribute specified at %L"
 msgstr "%L处指定了重复的 BIND 属性"
 
-#: fortran/symbol.c:1477
+#: fortran/symbol.c:1500
 #, no-c-format
 msgid "Fortran 2003: BIND(C) at %L"
 msgstr "Fortran 2003:%L处的 BIND(C)"
 
-#: fortran/symbol.c:1494
-#, fuzzy, no-c-format
+#: fortran/symbol.c:1517
+#, no-c-format
 msgid "Duplicate EXTENDS attribute specified at %L"
-msgstr "%L处指定了重复的 BIND 属性"
+msgstr "%L处指定了重复的 EXTENDS 属性"
 
-#: fortran/symbol.c:1498
-#, fuzzy, no-c-format
+#: fortran/symbol.c:1521
+#, no-c-format
 msgid "Fortran 2003: EXTENDS at %L"
-msgstr "Fortran 2003:%L处的 BIND(C)"
+msgstr "Fortran 2003:%L处的 EXTENDS"
 
-#: fortran/symbol.c:1520
+#: fortran/symbol.c:1543
 #, no-c-format
 msgid "Symbol '%s' at %L already has an explicit interface"
 msgstr "符号‘%s’在%L处已经有了显式接口"
 
-#: fortran/symbol.c:1527
+#: fortran/symbol.c:1550
 #, no-c-format
 msgid "'%s' at %L has attributes specified outside its INTERFACE body"
-msgstr ""
+msgstr "%2$L处的‘%1$s’有在其 INTERFACE 体外指定的属性"
+
+#: fortran/symbol.c:1583
+#, no-c-format
+msgid "Symbol '%s' at %L already has basic type of %s"
+msgstr "符号‘%s’在%L处已经有了基本类型 %s"
+
+#: fortran/symbol.c:1590
+#, no-c-format
+msgid "Procedure '%s' at %L may not have basic type of %s"
+msgstr "%2$L处过程‘%1$s’不能有基本类型 %3$s"
 
-#: fortran/symbol.c:1574
+#: fortran/symbol.c:1602
 #, no-c-format
 msgid "Symbol '%s' at %L cannot have a type"
 msgstr "%2$L处的符号‘%1$s’不能有类型"
 
-#: fortran/symbol.c:1733
+#: fortran/symbol.c:1765
 #, no-c-format
 msgid "Component '%s' at %C already declared at %L"
 msgstr "%2$C处的组件‘%1$s’已于 %3$L处被声明"
 
-#: fortran/symbol.c:1744
-#, fuzzy, no-c-format
+#: fortran/symbol.c:1776
+#, no-c-format
 msgid "Component '%s' at %C already in the parent type at %L"
-msgstr "%2$C处的组件‘%1$s’已于 %3$L处被声明"
+msgstr "%2$C处的组件‘%1$s’已在%3$L处的父类中"
 
-#: fortran/symbol.c:1819
+#: fortran/symbol.c:1852
 #, no-c-format
 msgid "Symbol '%s' at %C is ambiguous"
 msgstr "符号‘%s’在%C处有歧义"
 
-#: fortran/symbol.c:1851
+#: fortran/symbol.c:1884
 #, no-c-format
 msgid "Derived type '%s' at %C is being used before it is defined"
-msgstr ""
+msgstr "%2$C处的派生类型‘%1$s’在定义前使用"
 
-#: fortran/symbol.c:1892
+#: fortran/symbol.c:1925
 #, no-c-format
 msgid "'%s' at %C is not a member of the '%s' structure"
 msgstr "‘%s’在%C处不是‘%s’结构的成员"
 
-#: fortran/symbol.c:1900
+#: fortran/symbol.c:1933
 #, no-c-format
 msgid "Component '%s' at %C is a PRIVATE component of '%s'"
 msgstr "组件‘%s’在%C处是‘%s’的 PRIVATE 组件"
 
-#: fortran/symbol.c:1910
-#, fuzzy, no-c-format
+#: fortran/symbol.c:1943
+#, no-c-format
 msgid "All components of '%s' are PRIVATE in structure constructor at %C"
-msgstr "%C处结构构造中组件太少"
+msgstr "%2$C处结构构造器中‘%1$s’所有的组件都是 PRIVATE"
 
-#: fortran/symbol.c:2039
+#: fortran/symbol.c:2079
 #, no-c-format
 msgid "Duplicate statement label %d at %L and %L"
 msgstr "重复的语句标号 %d 出现在 %L 和%L处"
 
-#: fortran/symbol.c:2049
+#: fortran/symbol.c:2089
 #, no-c-format
 msgid "Label %d at %C already referenced as branch target"
-msgstr ""
+msgstr "%2$C处的标号 %1$d 已作为分支目标引用"
 
-#: fortran/symbol.c:2058
+#: fortran/symbol.c:2098
 #, no-c-format
 msgid "Label %d at %C already referenced as a format label"
-msgstr ""
+msgstr "%2$C处的标号 %1$d 已作为格式标号引用"
 
-#: fortran/symbol.c:2100
+#: fortran/symbol.c:2140
 #, no-c-format
 msgid "Label %d at %C previously used as a FORMAT label"
-msgstr ""
+msgstr "%2$C处的标号 %1$d 先前用作 FORMAT 标号"
 
-#: fortran/symbol.c:2108
+#: fortran/symbol.c:2148
 #, no-c-format
 msgid "Label %d at %C previously used as branch target"
-msgstr ""
+msgstr "%2$C处的标号 %1$d 先前用作分支目标"
 
-#: fortran/symbol.c:2420
+#: fortran/symbol.c:2463
 #, no-c-format
 msgid "Name '%s' at %C is an ambiguous reference to '%s' from module '%s'"
-msgstr ""
+msgstr "%2$C处的名字‘%1$s’是从模块‘%4$s’对‘%3$s’有歧义的引用"
 
-#: fortran/symbol.c:2423
+#: fortran/symbol.c:2466
 #, no-c-format
 msgid "Name '%s' at %C is an ambiguous reference to '%s' from current program unit"
-msgstr ""
+msgstr "%2$C处的名字‘%1$s’是从当前程序单元对‘%3$s’有歧义的引用"
 
 #. Symbol is from another namespace.
-#: fortran/symbol.c:2567
+#: fortran/symbol.c:2625
 #, no-c-format
 msgid "Symbol '%s' at %C has already been host associated"
-msgstr ""
+msgstr "%2$C处符号‘%1$s’已经与主机相关联"
 
-#: fortran/symbol.c:3336
+#: fortran/symbol.c:3459
 #, no-c-format
 msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
-msgstr ""
+msgstr "%2$L处声明的派生类型‘%1$s’必须使用 BIND 属性方可与 C 互操作"
 
-#: fortran/symbol.c:3347
+#: fortran/symbol.c:3470
 #, no-c-format
 msgid "Derived type '%s' at %L is empty"
 msgstr "派生类型‘%s’在%L处是空的"
 
-#: fortran/symbol.c:3364
+#: fortran/symbol.c:3487
 #, no-c-format
 msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
-msgstr ""
+msgstr "%2$L处的组件‘%1$s’不能有 POINTER 属性,因为它是%4$L处派生类型 BIND(C)‘%3$s’的成员"
+
+#: fortran/symbol.c:3497
+#, no-c-format
+msgid "Procedure pointer component '%s' at %L cannot be a member of the BIND(C) derived type '%s' at %L"
+msgstr "%2$L 处的过程指针组件‘%1$s’不能是%4$L处 BIND(C) 派生类型‘%3$s’的成员"
 
-#: fortran/symbol.c:3376
+#: fortran/symbol.c:3508
 #, no-c-format
 msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
-msgstr ""
+msgstr "%2$L处的组件‘%1$s’不能有 ALLOCATABLE 属性,因为它是%4$L处派生类型 BIND(C)‘%3$s’的成员"
 
 #. If the derived type is bind(c), all fields must be
 #. interop.
-#: fortran/symbol.c:3415
+#: fortran/symbol.c:3546
 #, no-c-format
 msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
-msgstr ""
+msgstr "%3$L处的派生类型‘%2$s’的组件‘%1$s’不能与 C 互操作,即使派生类型‘%4$s’是 BIND(C)"
 
 #. If derived type is param to bind(c) routine, or to one
 #. of the iso_c_binding procs, it must be interoperable, so
 #. all fields must interop too.
-#: fortran/symbol.c:3424
+#: fortran/symbol.c:3555
 #, no-c-format
 msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
-msgstr ""
+msgstr "%3$L处派生类型‘%2$s’中的组件‘%1$s’不能与 C 互操作"
 
-#: fortran/symbol.c:3438
-#, fuzzy, no-c-format
+#: fortran/symbol.c:3569
+#, no-c-format
 msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
-msgstr "%qD不能在命名空间声明"
+msgstr "%2$L处派生类型‘%1$s’不能同时被声明为具有 PRIVATE 和 BIND(C)属性"
 
-#: fortran/symbol.c:3446
-#, fuzzy, no-c-format
+#: fortran/symbol.c:3577
+#, no-c-format
 msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
-msgstr "%L 指定了重复的 SAVE 属性"
+msgstr "%2$L处派生类型‘%1$s’不能有 SEQUENCE 属性,因为它是 BIND(C)"
 
-#: fortran/symbol.c:4261
+#: fortran/symbol.c:4507
 #, no-c-format
 msgid "Symbol '%s' is used before it is typed at %L"
-msgstr ""
+msgstr "%2$L处符号‘%1$s’在指定类型之前被使用"
 
-#: fortran/symbol.c:4267
-#, fuzzy, no-c-format
+#: fortran/symbol.c:4513
+#, no-c-format
 msgid "Extension: Symbol '%s' is used before it is typed at %L"
-msgstr "扩展:%C处 i/o 项目表前的逗号"
+msgstr "扩展:%2$L处符号‘%1$s’在指定类型之前被使用"
 
-#: fortran/symbol.c:4318
+#: fortran/symbol.c:4852 fortran/symbol.c:4926
 #, no-c-format
-msgid "'%s' of '%s' is PRIVATE at %C"
-msgstr ""
+msgid "'%s' of '%s' is PRIVATE at %L"
+msgstr "‘%2$s’的‘%1$s’在%3$L处是 PRIVATE"
 
-#: fortran/target-memory.c:610
+#: fortran/target-memory.c:659
 #, no-c-format
 msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
-msgstr ""
+msgstr "%L 处  EQUIVALENCE 中不等的初始值设定重叠"
 
-#: fortran/target-memory.c:697
+#: fortran/target-memory.c:746
 #, no-c-format
 msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
-msgstr ""
+msgstr "%L处的 BOZ 常数太大(%ld 对 %ld 位)"
 
-#: fortran/trans-array.c:641 fortran/trans-array.c:4368
-#: fortran/trans-array.c:5299 fortran/trans-intrinsic.c:3635
-#, fuzzy, no-c-format
+#: fortran/trans-array.c:705 fortran/trans-array.c:4545
+#: fortran/trans-array.c:5580 fortran/trans-intrinsic.c:4291
+#, no-c-format
 msgid "Creating array temporary at %L"
-msgstr "生成%qT的数组"
+msgstr "在%L处建立临时数组"
 
 #. Problems occur when we get something like
 #. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/trans-array.c:3951
+#: fortran/trans-array.c:4112
 #, no-c-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"
-msgstr ""
+msgstr "%L处数组构造函数中的元素数超过容许的上限 %d。请参见 -fmax-array-constructor 选项"
 
-#: fortran/trans-array.c:5296
+#: fortran/trans-array.c:5577
 #, no-c-format
 msgid "Creating array temporary at %L for argument '%s'"
-msgstr ""
+msgstr "%L处为变量‘%s’建立临时数组"
 
-#: fortran/trans-common.c:399
+#: fortran/trans-common.c:400
 #, no-c-format
 msgid "Named COMMON block '%s' at %L shall be of the same size"
-msgstr ""
+msgstr "%2$L处的 COMMON 块‘%1$s’应该有同样的大小"
 
-#: fortran/trans-common.c:838
+#: fortran/trans-common.c:839
 #, no-c-format
 msgid "Bad array reference at %L"
 msgstr "%L处数组引用错误"
 
-#: fortran/trans-common.c:846
+#: fortran/trans-common.c:847
 #, no-c-format
 msgid "Illegal reference type at %L as EQUIVALENCE object"
-msgstr ""
+msgstr "%L处的非法引用类型作为 EQUIVALENCE 对象"
 
-#: fortran/trans-common.c:886
+#: fortran/trans-common.c:887
 #, no-c-format
 msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
-msgstr ""
+msgstr "涉及%2$L处的‘%1$s’和%4$L处的‘%3$s’的等价规则不一致"
 
 #. Aligning this field would misalign a previous field.
-#: fortran/trans-common.c:1019
+#: fortran/trans-common.c:1020
 #, no-c-format
 msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
-msgstr ""
+msgstr "%2$L处声明的变量‘%1$s’的等价设置违反了对齐需求"
 
-#: fortran/trans-common.c:1086
+#: fortran/trans-common.c:1087
 #, no-c-format
 msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
-msgstr ""
+msgstr "%3$L处‘%1$s’的等价设置不匹配 COMMON ‘%2$s’的次序"
 
-#: fortran/trans-common.c:1101
+#: fortran/trans-common.c:1102
 #, no-c-format
 msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
-msgstr ""
+msgstr "%3$L处‘%1$s’的等价设置造成了 COMMON‘%2$s’的一个无效的扩展"
 
-#: fortran/trans-common.c:1116
+#: fortran/trans-common.c:1117
 #, no-c-format
 msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L; reorder elements or use -fno-align-commons"
-msgstr ""
+msgstr "%4$L处 COMMON‘%3$s’中‘%2$s’之前需要填充 %1$d 字节; 重排序元素或使用 -fno-align-commons"
 
-#: fortran/trans-common.c:1121
+#: fortran/trans-common.c:1122
 #, no-c-format
 msgid "Padding of %d bytes required before '%s' in COMMON at %L; reorder elements or use -fno-align-commons"
-msgstr ""
+msgstr "%3$L处 COMMON 中‘%2$s’之前需要填充 %1$d 字节; 重排序元素或使用 -fno-align-commons"
 
-#: fortran/trans-common.c:1149
+#: fortran/trans-common.c:1145
 #, no-c-format
 msgid "COMMON '%s' at %L does not exist"
 msgstr "%2$L处的 COMMON‘%1$s’并不存在"
 
-#: fortran/trans-common.c:1157
+#: fortran/trans-common.c:1153
 #, no-c-format
 msgid "COMMON '%s' at %L requires %d bytes of padding at start; reorder elements or use -fno-align-commons"
-msgstr ""
+msgstr "%2$L处的 COMMON‘%1$s’需要 %3$d 字节填充在开始处;重排序元素或使用 -fno-align-commons"
 
-#: fortran/trans-common.c:1161
+#: fortran/trans-common.c:1157
 #, no-c-format
 msgid "COMMON at %L requires %d bytes of padding at start; reorder elements or use -fno-align-commons"
-msgstr ""
+msgstr "%L处的 COMMON 需要 %d 字节填充在开始处;重排序元素或使用 -fno-align-commons"
 
-#: fortran/trans-const.c:290
+#: fortran/trans-const.c:294
 #, no-c-format
 msgid "Assigning value other than 0 or 1 to LOGICAL has undefined result at %L"
-msgstr ""
+msgstr "%L处向 LOGICAL 赋 0 或 1 以外的值有未定义的结果"
+
+#: fortran/trans-const.c:358
+#, no-c-format
+msgid "non-constant initialization expression at %L"
+msgstr "%L处非常量初始化表达式"
 
-#: fortran/trans-decl.c:2835 fortran/trans-decl.c:3858
-#, fuzzy, no-c-format
+#: fortran/trans-decl.c:3085 fortran/trans-decl.c:4408
+#, no-c-format
 msgid "Return value of function '%s' at %L not set"
-msgstr "%2$L处的BIND(C) 函数‘%1$s’不能返回一个数组"
+msgstr "%2$L处函数‘%1$s’的返回值没有设置"
 
-#: fortran/trans-decl.c:3493
-#, fuzzy, no-c-format
+#: fortran/trans-decl.c:3782
+#, no-c-format
 msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
-msgstr "‘%s’哑元实参在%L处不能是 INTENT(OUT)"
+msgstr "%2$L处的虚参‘%1$s’被声明为 INTENT(OUT),但没有设置"
 
-#: fortran/trans-decl.c:3497
+#: fortran/trans-decl.c:3787
 #, no-c-format
 msgid "Unused dummy argument '%s' at %L"
-msgstr "%2$L处声明了未使用的哑元实参‘%1$s’"
+msgstr "%2$L处声明了未使用的参‘%1$s’"
 
-#: fortran/trans-decl.c:3503
+#: fortran/trans-decl.c:3793
 #, no-c-format
 msgid "Unused variable '%s' declared at %L"
 msgstr "%2$L处声明了未使用的变量‘%1$s’"
 
-#: fortran/trans-decl.c:3535
+#: fortran/trans-decl.c:3841
 #, no-c-format
 msgid "Unused parameter '%s' declared at %L"
 msgstr "%2$L处声明了未使用的参数‘%1$s’"
 
-#: fortran/trans-decl.c:3549
-#, fuzzy, no-c-format
+#: fortran/trans-decl.c:3855
+#, no-c-format
 msgid "Return value '%s' of function '%s' declared at %L not set"
-msgstr "%2$L处的BIND(C) 函数‘%1$s’不能返回一个数组"
+msgstr "%3$L处声明的的函数‘%2$s’的返回值‘%1$s’没有设置"
+
+#: fortran/trans-decl.c:3963
+#, c-format
+msgid "Actual string length does not match the declared one for dummy argument '%s' (%ld/%ld)"
+msgstr "字符串的实际长度不匹配其虚参声明‘%s’(%ld/%ld)"
+
+#: fortran/trans-decl.c:3971
+#, c-format
+msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)"
+msgstr "字符串的实际长度短于其虚参声明‘%s’(%ld/%ld)"
 
-#: fortran/trans-expr.c:2391
+#: fortran/trans-expr.c:1616
+msgid "internal error: bad hash value in dynamic dispatch"
+msgstr "内部错误:动态分发时散列值错误"
+
+#: fortran/trans-expr.c:2530
 #, no-c-format
 msgid "Unknown argument list function at %L"
 msgstr "%L处参数列表函数未知"
 
-#: fortran/trans-intrinsic.c:853
+#: fortran/trans-intrinsic.c:888
 #, no-c-format
 msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
 msgstr "%2$L处‘%1$s’内建函数的‘dim’实参不是一个有效的维数索引"
 
-#: fortran/trans-io.c:2006
+#: fortran/trans-io.c:2017
 #, no-c-format
 msgid "Derived type '%s' at %L has PRIVATE components"
 msgstr "%2$L处派生类型‘%1$s’有私有组件"
 
-#: fortran/trans-stmt.c:462
+#: fortran/trans-stmt.c:484
 #, no-c-format
 msgid "An alternate return at %L without a * dummy argument"
-msgstr "%L 不带 * 哑实参的替代返回"
+msgstr "%L 不带 * 参的替代返回"
 
 #: fortran/trans.c:50
 msgid "Array bound mismatch"
@@ -10811,36 +11665,35 @@ msgstr "对数组的引用超出范围"
 msgid "Incorrect function return value"
 msgstr "不正确的函数返回值"
 
-#: fortran/trans.c:515 fortran/trans.c:935
+#: fortran/trans.c:521 fortran/trans.c:951
 msgid "Attempt to allocate a negative amount of memory."
 msgstr "试图分配负数大小的内存"
 
-#: fortran/trans.c:533
+#: fortran/trans.c:541
 msgid "Memory allocation failed"
 msgstr "内存分配失败"
 
-#: fortran/trans.c:615
+#: fortran/trans.c:624
 msgid "Attempt to allocate negative amount of memory. Possible integer overflow"
 msgstr "试图分配负数大小的内存。可能有整数溢出"
 
-#: fortran/trans.c:646 fortran/trans.c:952
+#: fortran/trans.c:658 fortran/trans.c:970
 msgid "Out of memory"
 msgstr "内存不足"
 
-#: fortran/trans.c:737
-#, fuzzy, c-format
+#: fortran/trans.c:750
+#, c-format
 msgid "Attempting to allocate already allocated array '%s'"
-msgstr "试图分配已经分配的数组"
+msgstr "试图分配已经分配的数组‘%s’"
 
-#: fortran/trans.c:743
-#, fuzzy
+#: fortran/trans.c:756
 msgid "Attempting to allocate already allocatedarray"
 msgstr "试图分配已经分配的数组"
 
-#: fortran/trans.c:852
-#, fuzzy, c-format
+#: fortran/trans.c:867
+#, c-format
 msgid "Attempt to DEALLOCATE unallocated '%s'"
-msgstr "试图释放已经释放的内存。"
+msgstr "试图 DEALLOCATE 未分配的‘%s’"
 
 #: java/jcf-dump.c:1068
 #, c-format
@@ -10964,12 +11817,12 @@ msgstr "jcf-dump:未指定类\n"
 msgid "Cannot open '%s' for output.\n"
 msgstr "不能为输出打开‘%s’。\n"
 
-#: java/jcf-dump.c:1323
+#: java/jcf-dump.c:1322
 #, c-format
 msgid "bad format of .zip/.jar archive\n"
 msgstr ".zip/.jar 文件格式错误\n"
 
-#: java/jcf-dump.c:1441
+#: java/jcf-dump.c:1440
 #, c-format
 msgid "Bad byte codes.\n"
 msgstr "错误的字节码。\n"
@@ -10989,156 +11842,95 @@ msgstr "%s:无法打开输出文件:%s\n"
 msgid "%s: Failed to close output file %s\n"
 msgstr "%s:无法关闭输出文件 %s\n"
 
-#: java/jvspec.c:409
+#: java/jvspec.c:406
 #, c-format
 msgid "can't specify '-D' without '--main'\n"
 msgstr "不使用‘--main’则无法指定‘-D’\n"
 
-#: java/jvspec.c:412
+#: java/jvspec.c:409
 #, c-format
 msgid "'%s' is not a valid class name"
 msgstr "‘%s’不是有效的类名"
 
-#: java/jvspec.c:418
+#: java/jvspec.c:415
 #, c-format
 msgid "--resource requires -o"
 msgstr "--resource 需要 -o"
 
-#: java/jvspec.c:432
+#: java/jvspec.c:429
 #, c-format
 msgid "cannot specify both -C and -o"
 msgstr "不能同时指定 -C 和 -o"
 
-#: java/jvspec.c:444
+#: java/jvspec.c:441
 #, c-format
 msgid "cannot create temporary file"
 msgstr "无法建立临时文件"
 
-#: java/jvspec.c:466
+#: java/jvspec.c:463
 #, c-format
 msgid "using both @FILE with multiple files not implemented"
 msgstr "使用 @FILE 和多个文件尚未实现"
 
-#: java/jvspec.c:588
+#: java/jvspec.c:585
 #, c-format
 msgid "cannot specify 'main' class when not linking"
 msgstr "不链接时无法指定‘main’类"
 
-#: java/jvspec.c:80 gcc.c:828
-msgid "-pg and -fomit-frame-pointer are incompatible"
-msgstr "-pg 和 -fomit-frame-pointer 互不兼容"
-
-#: config/linux.h:106 config/linux.h:108 config/rs6000/sysv4.h:902
-#: config/rs6000/sysv4.h:904 config/rs6000/linux64.h:345
-#: config/rs6000/linux64.h:347 config/alpha/linux-elf.h:33
-#: config/alpha/linux-elf.h:35
-msgid "-mglibc and -muclibc used together"
-msgstr "-mglibc 和 -muclibc 不能一起使用"
-
-#: config/lynx.h:70
-msgid "cannot use mthreads and mlegacy-threads together"
-msgstr "不能同时使用 mthreads 和 mlegacy-threads"
-
-#: config/lynx.h:95
-msgid "cannot use mshared and static together"
-msgstr "不能同时使用 mshared 和 static"
-
-#: config/sparc/linux64.h:165 config/sparc/linux64.h:176
-#: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
-#: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
-msgid "may not use both -m32 and -m64"
-msgstr "不能同时使用 -m32 和 -m64"
-
-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
-msgid "does not support multilib"
-msgstr "不支持 multilib"
-
-#: config/mips/mips.h:1171 config/arc/arc.h:61
-msgid "may not use both -EB and -EL"
-msgstr "不能同时使用 -EB 和 -EL"
-
-#: config/mips/r3900.h:34
-msgid "-mhard-float not supported"
-msgstr "不支持 -mhard-float"
-
-#: config/mips/r3900.h:36
-msgid "-msingle-float and -msoft-float cannot both be specified"
-msgstr "不能同时指定 -msingle-float 和 -msoft-float"
-
-#: config/i386/mingw32.h:85 config/i386/cygwin.h:74
-msgid "shared and mdll are not compatible"
-msgstr "shared 和 mdll 互不兼容"
-
-#: gcc.c:800
-msgid "GCC does not support -C or -CC without -E"
-msgstr "GCC 只允许 -E 与 -C 或 -CC 合用"
-
-#: gcc.c:1013
-msgid "-E or -x required when input is from standard input"
-msgstr "当输入来自标准输入设备时,需要 -E 或 -x"
-
-#: fortran/lang-specs.h:45 fortran/lang-specs.h:58
-#, fuzzy
-msgid "gfortran does not support -E without -cpp"
-msgstr "GCC 只允许 -E 与 -C 或 -CC 合用"
-
-#: config/bfin/elf.h:31
-#, fuzzy
-msgid "no processor type specified for linking"
-msgstr "spec 文件没有对链接的设定"
-
-#: config/vxworks.h:71
-msgid "-Xbind-now and -Xbind-lazy are incompatible"
-msgstr "-Xbind-now 与 -Xbind-lazy 不兼容"
-
-#: config/vax/netbsd-elf.h:41
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "-shared 选项目前在 VAX ELF 下不受支持"
-
-#: config/i386/cygwin.h:28
-msgid "mno-cygwin and mno-win32 are not compatible"
-msgstr "mno-cygwin 和 mno-win32 互不兼容"
+#: config/vax/vax.h:50 config/vax/vax.h:51
+msgid "profiling not supported with -mg\n"
+msgstr "取样不支持 -mg\n"
 
-#: config/i386/nwld.h:34
-msgid "Static linking is not supported.\n"
-msgstr "不支持静态链接。\n"
+#: config/i386/linux-unwind.h:186
+msgid "ax ; {int $0x80 | syscall"
+msgstr "ax ; {int $0x80 | syscall"
 
-#: config/darwin.h:269
+#: config/darwin.h:306
 msgid "-current_version only allowed with -dynamiclib"
 msgstr "-current_version 只能和 -dynamiclib 一起使用"
 
-#: config/darwin.h:271
+#: config/darwin.h:308
 msgid "-install_name only allowed with -dynamiclib"
 msgstr "-install_name 只能和 -dynamiclib 一起使用"
 
-#: config/darwin.h:276
+#: config/darwin.h:313
 msgid "-bundle not allowed with -dynamiclib"
 msgstr "-bundle 不允许与 -dynamiclib 一起使用"
 
-#: config/darwin.h:277
+#: config/darwin.h:314
 msgid "-bundle_loader not allowed with -dynamiclib"
 msgstr "-bundle_loader 不能和 -dynamiclib 一起使用"
 
-#: config/darwin.h:278
+#: config/darwin.h:315
 msgid "-client_name not allowed with -dynamiclib"
 msgstr "-client_name 不能和 -dynamiclib 一起使用"
 
-#: config/darwin.h:283
+#: config/darwin.h:320
 msgid "-force_flat_namespace not allowed with -dynamiclib"
 msgstr "-force_flat_namespace 不能和 -dynamiclib 一起使用"
 
-#: config/darwin.h:285
+#: config/darwin.h:322
 msgid "-keep_private_externs not allowed with -dynamiclib"
 msgstr "-keep_private_externs 不能和 -dynamiclib 一起使用"
 
-#: config/darwin.h:286
+#: config/darwin.h:323
 msgid "-private_bundle not allowed with -dynamiclib"
 msgstr "-private_bundle 不能和 -dynamiclib 一起使用"
 
-#: config/mcore/mcore.h:56
+#: config/rs6000/sysv4.h:907 config/rs6000/sysv4.h:909
+#: config/rs6000/linux64.h:354 config/rs6000/linux64.h:356
+#: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35 config/linux.h:111
+#: config/linux.h:113
+msgid "-mglibc and -muclibc used together"
+msgstr "-mglibc 和 -muclibc 不能一起使用"
+
+#: config/mcore/mcore.h:54
 msgid "the m210 does not have little endian support"
-msgstr "m210 不支持低位字节在前"
+msgstr "m210 不支持小端在前"
+
+#: config/arc/arc.h:61 config/mips/mips.h:1230
+msgid "may not use both -EB and -EL"
+msgstr "不能同时使用 -EB 和 -EL"
 
 #: java/lang-specs.h:33
 msgid "-fjni and -femit-class-files are incompatible"
@@ -11152,37 +11944,105 @@ msgstr "-fjni 与 -femit-class-file 不兼容"
 msgid "-femit-class-file should used along with -fsyntax-only"
 msgstr "-femit-class-file 应当与 -fsyntax-only 一起使用"
 
-#: config/sh/sh.h:461
+#: config/sparc/sol2-bi.h:212 config/sparc/sol2-bi.h:217
+#: config/sparc/sol2-gld-bi.h:40 config/sparc/sol2-gld-bi.h:45
+msgid "does not support multilib"
+msgstr "不支持 multilib"
+
+#: config/sparc/sol2-bi.h:240 config/sparc/sol2-bi.h:250
+#: config/sparc/linux64.h:165 config/sparc/linux64.h:176
+#: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+msgid "may not use both -m32 and -m64"
+msgstr "不能同时使用 -m32 和 -m64"
+
+#: gcc.c:865
+msgid "GCC does not support -C or -CC without -E"
+msgstr "GCC 只允许 -E 与 -C 或 -CC 合用"
+
+#: gcc.c:893 java/jvspec.c:81 ada/gcc-interface/lang-specs.h:33
+msgid "-pg and -fomit-frame-pointer are incompatible"
+msgstr "-pg 和 -fomit-frame-pointer 互不兼容"
+
+#: gcc.c:1086
+msgid "-E or -x required when input is from standard input"
+msgstr "当输入来自标准输入设备时,需要 -E 或 -x"
+
+#: config/bfin/elf.h:54
+msgid "no processor type specified for linking"
+msgstr "没有指定链接用的处理器类型"
+
+#: config/i386/mingw-w64.h:61 config/i386/mingw32.h:81
+#: config/i386/cygwin.h:123
+msgid "shared and mdll are not compatible"
+msgstr "shared 和 mdll 互不兼容"
+
+#: config/sh/sh.h:463
 msgid "SH2a does not support little-endian"
-msgstr "SH2a 不支持低位字节在前"
+msgstr "SH2a 不支持小端在前"
+
+#: config/rs6000/darwin.h:95
+msgid " conflicting code gen style switches are used"
+msgstr "使用了相互冲突的代码生成风格"
+
+#: config/rx/rx.h:61
+msgid "-mas100-syntax is incompatible with -gdwarf"
+msgstr "-mas100-syntax 与 -gdwarf 不兼容"
 
-#: config/arm/arm.h:148
+#: config/arm/arm.h:154
 msgid "-msoft-float and -mhard_float may not be used together"
 msgstr "-msoft-float 和 -mhard_float 不能一起使用"
 
-#: config/arm/arm.h:150
+#: config/arm/arm.h:156
 msgid "-mbig-endian and -mlittle-endian may not be used together"
 msgstr "-mbig-endian 和 -mlittle-endian 不能一起使用"
 
+#: config/vxworks.h:71
+msgid "-Xbind-now and -Xbind-lazy are incompatible"
+msgstr "-Xbind-now 与 -Xbind-lazy 不兼容"
+
 #: config/cris/cris.h:207
 msgid "Do not specify both -march=... and -mcpu=..."
 msgstr "不能同时指定 -march=... 和 -mcpu=..."
 
-#: config/vax/vax.h:49 config/vax/vax.h:50
-msgid "profiling not supported with -mg\n"
-msgstr "取样不支持 -mg\n"
+#: config/i386/nwld.h:34
+msgid "Static linking is not supported.\n"
+msgstr "不支持静态链接。\n"
+
+#: config/i386/cygwin.h:28
+msgid "mno-cygwin and mno-win32 are not compatible"
+msgstr "mno-cygwin 和 mno-win32 互不兼容"
 
 #: config/s390/tpf.h:119
 msgid "static is not supported on TPF-OS"
 msgstr "TPF-OS 不支持 static"
 
-#: config/rs6000/darwin.h:95
-msgid " conflicting code gen style switches are used"
-msgstr " 冲突的代码生成选项"
+#: config/mips/r3900.h:34
+msgid "-mhard-float not supported"
+msgstr "不支持 -mhard-float"
 
-#: java/lang.opt:65
-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
-msgstr "使用不建议的编译器特性、类、方法或字段时给出警告"
+#: config/mips/r3900.h:36
+msgid "-msingle-float and -msoft-float cannot both be specified"
+msgstr "不能同时指定 -msingle-float 和 -msoft-float"
+
+#: config/vax/netbsd-elf.h:51
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr "-shared 选项目前在 VAX ELF 下不受支持"
+
+#: fortran/lang-specs.h:55 fortran/lang-specs.h:69
+msgid "gfortran does not support -E without -cpp"
+msgstr "gfortran 不支持单独使用 -E 而不带 -cpp"
+
+#: config/lynx.h:70
+msgid "cannot use mthreads and mlegacy-threads together"
+msgstr "不能同时使用 mthreads 和 mlegacy-threads"
+
+#: config/lynx.h:95
+msgid "cannot use mshared and static together"
+msgstr "不能同时使用 mshared 和 static"
+
+#: ada/gcc-interface/lang-specs.h:34
+msgid "-c or -S required for Ada"
+msgstr "Ada 需要指定 -c 或 -S"
 
 #: java/lang.opt:69
 msgid "Warn if deprecated empty statements are found"
@@ -11277,14 +12137,18 @@ msgid "Call a library routine to do integer divisions"
 msgstr "调用一个库子程序来完成整数除法"
 
 #: java/lang.opt:197
+msgid "Generate code for built-in atomic operations"
+msgstr "为内建原子操作生成代码"
+
+#: java/lang.opt:201
 msgid "Generated should be loaded by bootstrap loader"
 msgstr "生成的类可被自举加载"
 
-#: java/lang.opt:201
+#: java/lang.opt:205
 msgid "Set the source language version"
 msgstr "设定源语言版本"
 
-#: java/lang.opt:205
+#: java/lang.opt:209
 msgid "Set the target VM version"
 msgstr "指定目标虚拟机的版本"
 
@@ -11292,39 +12156,30 @@ msgstr "指定目标虚拟机的版本"
 msgid "Specify options to GNAT"
 msgstr "指定传递给 GNAT 的选项"
 
-#: fortran/lang.opt:53
-msgid "Add a directory for INCLUDE and MODULE searching"
-msgstr "将一个目录添加到 INCLUDE 和 MODULE 搜索路径中"
-
 #: fortran/lang.opt:57
 msgid "Put MODULE files in 'directory'"
 msgstr "将 MODULE 文件放入‘directory’"
 
 #: fortran/lang.opt:73
 msgid "Warn about possible aliasing of dummy arguments"
-msgstr "为可能的哑元重叠给出警告"
+msgstr "为可能的虚参重叠给出警告"
 
 #: fortran/lang.opt:77
 msgid "Warn about alignment of COMMON blocks"
-msgstr ""
+msgstr "对 COMMON 块对齐的警告"
 
 #: fortran/lang.opt:81
 msgid "Warn about missing ampersand in continued character constants"
 msgstr "若延续字符常量中缺少 & 则给出警告"
 
 #: fortran/lang.opt:85
-#, fuzzy
 msgid "Warn about creation of array temporaries"
-msgstr "å½\93å\9c¨ç®\97æ\9c¯è¡¨è¾¾å¼\8f中使ç\94¨å\87½æ\95°æ\8c\87é\92\88时给出警告"
+msgstr "å\88\9b建临æ\97¶æ\95°ç»\84时给出警告"
 
 #: fortran/lang.opt:89
 msgid "Warn about truncated character expressions"
 msgstr "对被截断的字符表达式给出警告"
 
-#: fortran/lang.opt:93
-msgid "Warn about implicit conversion"
-msgstr "对隐式转换给出警告"
-
 #: fortran/lang.opt:97
 msgid "Warn about calls with implicit interface"
 msgstr "对带有隐式接口的调用给出警告"
@@ -11334,9 +12189,8 @@ msgid "Warn about truncated source lines"
 msgstr "对被截断的源文件行给出警告"
 
 #: fortran/lang.opt:105
-#, fuzzy
 msgid "Warn on intrinsics not part of the selected standard"
-msgstr "%2$L处的内建函数‘%1$s’不为所选择的标准所包含"
+msgstr "当内建函数不是所选标准的一部分时给出警告"
 
 #: fortran/lang.opt:113
 msgid "Warn about \"suspicious\" constructs"
@@ -11352,7 +12206,7 @@ msgstr "数字常量表达式下溢时警告"
 
 #: fortran/lang.opt:125
 msgid "Warn if a user-procedure has the same name as an intrinsic"
-msgstr ""
+msgstr "如果用户过程有与内建过程相同的名字则警告"
 
 #: fortran/lang.opt:129
 msgid "Enable preprocessing"
@@ -11362,13 +12216,9 @@ msgstr "启用预处理"
 msgid "Disable preprocessing"
 msgstr "禁用预处理"
 
-#: fortran/lang.opt:137
-msgid "Dump details about macro names and definitions during preprocessing"
-msgstr ""
-
 #: fortran/lang.opt:141
 msgid "Enable alignment of COMMON blocks"
-msgstr ""
+msgstr "对齐 COMMON 块"
 
 #: fortran/lang.opt:145
 msgid "All intrinsics procedures are available regardless of selected standard"
@@ -11376,7 +12226,7 @@ msgstr "无论选择何种标准,所有内建过程均可用"
 
 #: fortran/lang.opt:153
 msgid "Do not treat local variables and COMMON blocks as if they were named in SAVE statements"
-msgstr ""
+msgstr "不把局部变量 和 COMMON 块如它们在 SAVE 语句中被命名那样来处理"
 
 #: fortran/lang.opt:157
 msgid "Specify that backslash in string introduces an escape character"
@@ -11384,7 +12234,7 @@ msgstr "指定字符串中的反斜杠引入一个转义字符"
 
 #: fortran/lang.opt:161
 msgid "Produce a backtrace when a runtime error is encountered"
-msgstr ""
+msgstr "遇到运行时错误时打印函数调用回溯"
 
 #: fortran/lang.opt:165
 msgid "-fblas-matmul-limit=<n>        Size of the smallest matrix for which matmul will use BLAS"
@@ -11392,15 +12242,15 @@ msgstr "-fblas-matmul-limit=<n>        使用 BLAS 进行矩阵乘法的矩阵
 
 #: fortran/lang.opt:169
 msgid "Produce a warning at runtime if a array temporary has been created for a procedure argument"
-msgstr ""
+msgstr "对为过程实参而临时创建的数组产生一个运行时警告"
 
 #: fortran/lang.opt:173
 msgid "Use big-endian format for unformatted files"
-msgstr "为未格式化的文件使用高位字节在前的格式"
+msgstr "为未格式化的文件使用大端在前的格式"
 
 #: fortran/lang.opt:177
 msgid "Use little-endian format for unformatted files"
-msgstr "为未格式化的文件使用低位字节在前的格式"
+msgstr "为未格式化的文件使用小端在前的格式"
 
 #: fortran/lang.opt:181
 msgid "Use native format for unformatted files"
@@ -11448,7 +12298,7 @@ msgstr "解析后显示代码树"
 
 #: fortran/lang.opt:225
 msgid "Specify that an external BLAS library should be used for matmul calls on large-size arrays"
-msgstr ""
+msgstr "为大尺寸数组调用 matmul 时应当使用一个外部 BLAS 库"
 
 #: fortran/lang.opt:229
 msgid "Use f2c calling convention"
@@ -11532,20 +12382,12 @@ msgstr "以字节大小表示的可以被放入堆栈的数组的最大大小"
 
 #: fortran/lang.opt:309
 msgid "Set default accessibility of module entities to PRIVATE."
-msgstr ""
-
-#: fortran/lang.opt:313
-msgid "Enable OpenMP (also sets frecursive)"
-msgstr "启用 OpenMP(同时设定 -frecursive)"
+msgstr "将模块实体的默认访问权限设置为 PRIVATE。"
 
 #: fortran/lang.opt:317
 msgid "Try to lay out derived types as compactly as possible"
 msgstr "为派生类型使用尽可能紧实的布局"
 
-#: fortran/lang.opt:321
-msgid "Treat the input file as preprocessed"
-msgstr "将输入文件当作已经预处理过的"
-
 #: fortran/lang.opt:325
 msgid "Enable range checking during compilation"
 msgstr "启用编译时范围检查"
@@ -11564,46 +12406,49 @@ msgstr "在堆栈上分配局部变量以允许间接递归"
 
 #: fortran/lang.opt:341
 msgid "Copy array sections into a contiguous block on procedure entry"
-msgstr ""
+msgstr "在过程入口处将数组段复制到一个连续的块中"
 
 #: fortran/lang.opt:345
+msgid "Specify which runtime checks are to be performed"
+msgstr "指定要进行哪种运行时检查"
+
+#: fortran/lang.opt:349
 msgid "Append a second underscore if the name already contains an underscore"
 msgstr "当名字已经包含一个下划线时添加第二个下划线"
 
-#: fortran/lang.opt:349 c.opt:729
-msgid "Use the narrowest integer type possible for enumeration types"
-msgstr "为枚举类型使用尽可能窄的整数类型"
-
-#: fortran/lang.opt:353
+#: fortran/lang.opt:357
 msgid "Apply negative sign to zero values"
 msgstr "在零值前使用负号"
 
-#: fortran/lang.opt:357
+#: fortran/lang.opt:361
 msgid "Append underscores to externally visible names"
 msgstr "为外部可见的名字添加下划线"
 
-#: fortran/lang.opt:393
+#: fortran/lang.opt:365
+msgid "Compile all program units at once and check all interfaces"
+msgstr "立即编译所有程序单元并检查接口"
+
+#: fortran/lang.opt:405
 msgid "Statically link the GNU Fortran helper library (libgfortran)"
 msgstr "静态链接 GNU Fortran 助手库(libgfortran)"
 
-#: fortran/lang.opt:397
+#: fortran/lang.opt:409
 msgid "Conform to the ISO Fortran 2003 standard"
 msgstr "遵循 ISO Fortran 2003 标准"
 
-#: fortran/lang.opt:401
-#, fuzzy
+#: fortran/lang.opt:413
 msgid "Conform to the ISO Fortran 2008 standard"
-msgstr "遵循 ISO Fortran 2003 标准"
+msgstr "遵循 ISO Fortran 2008 标准"
 
-#: fortran/lang.opt:405
+#: fortran/lang.opt:417
 msgid "Conform to the ISO Fortran 95 standard"
 msgstr "遵循 ISO Fortran 95 标准"
 
-#: fortran/lang.opt:409
+#: fortran/lang.opt:421
 msgid "Conform to nothing in particular"
 msgstr "不特别遵循任何标准"
 
-#: fortran/lang.opt:413
+#: fortran/lang.opt:425
 msgid "Accept extensions to support legacy code"
 msgstr "接受一定的扩展以支持传统的代码"
 
@@ -11661,7 +12506,7 @@ msgstr "为计数指令架构扩展生成代码"
 
 #: config/alpha/alpha.opt:78
 msgid "Emit code using explicit relocation directives"
-msgstr ""
+msgstr "生成使用显式重定位指示的指令"
 
 #: config/alpha/alpha.opt:82
 msgid "Emit 16-bit relocations to the small data areas"
@@ -11717,7 +12562,7 @@ msgstr "控制浮点异常的精度"
 msgid "Tune expected memory latency"
 msgstr "调整预期内存延迟"
 
-#: config/alpha/alpha.opt:134 config/ia64/ia64.opt:93
+#: config/alpha/alpha.opt:134 config/ia64/ia64.opt:111
 #: config/rs6000/sysv4.opt:32
 msgid "Specify bit size of immediate TLS offsets"
 msgstr "指定线程局部存储偏移量立即数的位大小"
@@ -11796,7 +12641,7 @@ msgstr "使用 64 个通用寄存器"
 
 #: config/frv/frv.opt:116
 msgid "Enable use of GPREL for read-only data in FDPIC"
-msgstr ""
+msgstr "为在 FDPIC 中的只读数据启用 GPREL"
 
 #: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
 #: config/pdp11/pdp11.opt:71
@@ -11873,7 +12718,7 @@ msgstr "让 gas 打印 tomcat 统计"
 
 #: config/frv/frv.opt:195
 msgid "Link with the library-pic libraries"
-msgstr ""
+msgstr "与 library-pic 库链接"
 
 #: config/frv/frv.opt:199
 msgid "Allow branches to be packed with other instructions"
@@ -11905,7 +12750,7 @@ msgstr "启用 TPF-OS 追踪代码"
 
 #: config/s390/tpf.opt:27
 msgid "Specify main object for TPF-OS"
-msgstr ""
+msgstr "指定 TPF-OS 的主对象"
 
 #: config/s390/s390.opt:23
 msgid "31 bit ABI"
@@ -11921,7 +12766,7 @@ msgstr "为给定的 CPU 生成代码"
 
 #: config/s390/s390.opt:35
 msgid "Maintain backchain pointer"
-msgstr "维护链回上层堆栈框架的指针"
+msgstr "维护链回上层栈帧的指针"
 
 #: config/s390/s390.opt:39
 msgid "Additional debug prints"
@@ -11957,14 +12802,14 @@ msgstr "禁用硬件浮点单元"
 
 #: config/s390/s390.opt:79
 msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
-msgstr ""
+msgstr "设置在陷阱指令被触发前留在堆栈中最大字节数"
 
 #: config/s390/s390.opt:83
 msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
 msgstr "在函数前言中生成额外代码以捕获堆栈大小越限"
 
-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
-#: config/i386/i386.opt:229 config/rs6000/rs6000.opt:226 config/spu/spu.opt:84
+#: config/s390/s390.opt:87 config/ia64/ia64.opt:115 config/sparc/sparc.opt:95
+#: config/i386/i386.opt:229 config/rs6000/rs6000.opt:274 config/spu/spu.opt:84
 msgid "Schedule code for given CPU"
 msgstr "为指定的 CPU 优化代码"
 
@@ -11992,157 +12837,168 @@ msgstr "生成 ILP32 代码"
 msgid "Generate LP64 code"
 msgstr "生成 LP64 代码"
 
-#: config/ia64/ia64.opt:3
+#: config/ia64/ia64.opt:21
 msgid "Generate big endian code"
-msgstr "生成高位字节在前的代码"
+msgstr "生成大端在前的代码"
 
-#: config/ia64/ia64.opt:7
+#: config/ia64/ia64.opt:25
 msgid "Generate little endian code"
-msgstr "生成低位字节在前的代码"
+msgstr "生成小端在前的代码"
 
-#: config/ia64/ia64.opt:11
+#: config/ia64/ia64.opt:29
 msgid "Generate code for GNU as"
 msgstr "为 GNU as 生成代码"
 
-#: config/ia64/ia64.opt:15
+#: config/ia64/ia64.opt:33
 msgid "Generate code for GNU ld"
 msgstr "为 GNU ld 生成代码"
 
-#: config/ia64/ia64.opt:19
+#: config/ia64/ia64.opt:37
 msgid "Emit stop bits before and after volatile extended asms"
 msgstr "在 volatile 扩展汇编块前后加上停止位"
 
-#: config/ia64/ia64.opt:23
+#: config/ia64/ia64.opt:41
 msgid "Use in/loc/out register names"
 msgstr "使用 in/loc/out 寄存器名"
 
-#: config/ia64/ia64.opt:30
+#: config/ia64/ia64.opt:48
 msgid "Enable use of sdata/scommon/sbss"
 msgstr "启用 sdata/scommon/sbss"
 
-#: config/ia64/ia64.opt:34
+#: config/ia64/ia64.opt:52
 msgid "Generate code without GP reg"
 msgstr "生成不使用 GP 寄存器的代码"
 
-#: config/ia64/ia64.opt:38
+#: config/ia64/ia64.opt:56
 msgid "gp is constant (but save/restore gp on indirect calls)"
 msgstr "gp 是常量(但当间接调用时保存/恢复 gp)"
 
-#: config/ia64/ia64.opt:42
+#: config/ia64/ia64.opt:60
 msgid "Generate self-relocatable code"
 msgstr "生成自身重定位代码"
 
-#: config/ia64/ia64.opt:46
+#: config/ia64/ia64.opt:64
 msgid "Generate inline floating point division, optimize for latency"
 msgstr "生成内联浮点除法,为最小延迟优化"
 
-#: config/ia64/ia64.opt:50
+#: config/ia64/ia64.opt:68
 msgid "Generate inline floating point division, optimize for throughput"
 msgstr "生成内联浮点除法,为最大吞吐量优化"
 
-#: config/ia64/ia64.opt:57
+#: config/ia64/ia64.opt:75
 msgid "Generate inline integer division, optimize for latency"
 msgstr "生成内联的整数除法,为最小延迟优化"
 
-#: config/ia64/ia64.opt:61
+#: config/ia64/ia64.opt:79
 msgid "Generate inline integer division, optimize for throughput"
 msgstr "生成内联的整数除法,为最大吞吐量优化"
 
-#: config/ia64/ia64.opt:65
+#: config/ia64/ia64.opt:83
 msgid "Do not inline integer division"
 msgstr "不内联整数除法"
 
-#: config/ia64/ia64.opt:69
+#: config/ia64/ia64.opt:87
 msgid "Generate inline square root, optimize for latency"
 msgstr "生成内联的平方根,为最小延迟优化"
 
-#: config/ia64/ia64.opt:73
+#: config/ia64/ia64.opt:91
 msgid "Generate inline square root, optimize for throughput"
 msgstr "生成内联的平方根,为最大吞吐量优化"
 
-#: config/ia64/ia64.opt:77
+#: config/ia64/ia64.opt:95
 msgid "Do not inline square root"
 msgstr "不内联平方根函数"
 
-#: config/ia64/ia64.opt:81
+#: config/ia64/ia64.opt:99
 msgid "Enable Dwarf 2 line debug info via GNU as"
 msgstr "启用经由 GNU as 的 Dwarf 2 行调试信息"
 
-#: config/ia64/ia64.opt:85
+#: config/ia64/ia64.opt:103
 msgid "Enable earlier placing stop bits for better scheduling"
 msgstr "及早放置停止位,以取得更好的调度效果"
 
-#: config/ia64/ia64.opt:89 config/spu/spu.opt:72 config/sh/sh.opt:253
+#: config/ia64/ia64.opt:107 config/spu/spu.opt:72 config/sh/sh.opt:253
 #: config/pa/pa.opt:51
 msgid "Specify range of registers to make fixed"
-msgstr ""
+msgstr "指定不使用的寄存器范围"
 
-#: config/ia64/ia64.opt:101
+#: config/ia64/ia64.opt:119
 msgid "Use data speculation before reload"
 msgstr "在重加载前使用数据投机"
 
-#: config/ia64/ia64.opt:105
+#: config/ia64/ia64.opt:123
 msgid "Use data speculation after reload"
 msgstr "在重加载后使用数据投机"
 
-#: config/ia64/ia64.opt:109
+#: config/ia64/ia64.opt:127
 msgid "Use control speculation"
 msgstr "使用控制投机"
 
-#: config/ia64/ia64.opt:113
+#: config/ia64/ia64.opt:131
 msgid "Use in block data speculation before reload"
 msgstr "在重加载前使用块中数据投机"
 
-#: config/ia64/ia64.opt:117
+#: config/ia64/ia64.opt:135
 msgid "Use in block data speculation after reload"
 msgstr "在重加载后使用块中数据投机"
 
-#: config/ia64/ia64.opt:121
+#: config/ia64/ia64.opt:139
 msgid "Use in block control speculation"
 msgstr "使用块中控制投机"
 
-#: config/ia64/ia64.opt:125
+#: config/ia64/ia64.opt:143
 msgid "Use simple data speculation check"
 msgstr "使用简单数据投机检查"
 
-#: config/ia64/ia64.opt:129
+#: config/ia64/ia64.opt:147
 msgid "Use simple data speculation check for control speculation"
 msgstr "为控制投机使用简单数据投机检查"
 
-#: config/ia64/ia64.opt:133
+#: config/ia64/ia64.opt:151
 msgid "If set, data speculative instructions will be chosen for schedule only if there are no other choices at the moment "
 msgstr "设定后,仅当别无选择时才在调度中使用数据投机指令"
 
-#: config/ia64/ia64.opt:137
+#: config/ia64/ia64.opt:155
 msgid "If set, control speculative instructions will be chosen for schedule only if there are no other choices at the moment "
 msgstr "设定后,仅当别无选择时才在调度中使用控制投机指令"
 
-#: config/ia64/ia64.opt:141
+#: config/ia64/ia64.opt:159
 msgid "Count speculative dependencies while calculating priority of instructions"
 msgstr "计算指令优先级时计入投机依赖"
 
-#: config/ia64/ia64.opt:145
-#, fuzzy
+#: config/ia64/ia64.opt:163
 msgid "Place a stop bit after every cycle when scheduling"
-msgstr "及早放置停止位,以取得更好的调度效果"
+msgstr "调度时在每周期后都放置停止位"
 
-#: config/ia64/ia64.opt:149
+#: config/ia64/ia64.opt:167
 msgid "Assume that floating-point stores and loads are not likely to cause conflict when placed into one instruction group"
-msgstr ""
+msgstr "假定浮点存储和装载放在一个指令组时不太会引起冲突"
 
-#: config/ia64/ia64.opt:153
+#: config/ia64/ia64.opt:171
 msgid "Soft limit on number of memory insns per instruction group, giving lower priority to subsequent memory insns attempting to schedule in the same insn group. Frequently useful to prevent cache bank conflicts.  Default value is 1"
-msgstr ""
+msgstr "一个指令组中内存指令数目的软性限制,同一指令组中后续的内存指令将在调度时被调低优先级。经常被用于防止缓存组冲突。默认值为 1"
 
-#: config/ia64/ia64.opt:157
+#: config/ia64/ia64.opt:175
 msgid "Disallow more than `msched-max-memory-insns' in instruction group. Otherwise, limit is `soft' (prefer non-memory operations when limit is reached)"
-msgstr ""
+msgstr "一个指令组中至多有‘msched-max-memory-insns’条指令。否则,限定值是`软的' (当达到限定值时优先选择非内存操作)"
 
-#: config/ia64/ia64.opt:161
+#: config/ia64/ia64.opt:179
 msgid "Don't generate checks for control speculation in selective scheduling"
-msgstr ""
+msgstr "在选择性调度中不为控制投机生成检查"
 
-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23
+#: config/ia64/ia64.opt:183
+msgid "Enable fused multiply/add and multiply/subtract instructions"
+msgstr "启用融合的乘加和乘减指令"
+
+#: config/ia64/vms_symvec_libgcc_s.opt:3
+msgid "! It would be better to auto-generate this file."
+msgstr "! 最好自动生成此文件。"
+
+#: config/ia64/vms_symvec_libgcc_s.opt:7
+msgid "SYMBOL_VECTOR=(__divdi3=PROCEDURE)"
+msgstr "SYMBOL_VECTOR=(__divdi3=PROCEDURE)"
+
+#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mep/mep.opt:138
 msgid "Use simulator runtime"
 msgstr "使用仿真器运行时"
 
@@ -12168,11 +13024,11 @@ msgstr "memreg 字节数(默认:16,范围:0..16)"
 
 #: config/sparc/little-endian.opt:23
 msgid "Generate code for little-endian"
-msgstr "生成低位字节在前的代码"
+msgstr "生成小端在前的代码"
 
 #: config/sparc/little-endian.opt:27
 msgid "Generate code for big-endian"
-msgstr "生成高位字节在前的代码"
+msgstr "生成大端在前的代码"
 
 #: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
 msgid "Use hardware FP"
@@ -12238,7 +13094,7 @@ msgstr "为结构使用更强的对齐以使用双字复制"
 msgid "Optimize tail call instructions in assembler and linker"
 msgstr "在汇编器和链接器中优化尾调用指令"
 
-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:270
 msgid "Use features of and schedule code for given CPU"
 msgstr "使用指定 CPU 的特性和调度代码"
 
@@ -12308,7 +13164,7 @@ msgstr "不调用任何清空缓存的陷阱"
 
 #: config/m32r/m32r.opt:82
 msgid "Small data area: none, sdata, use"
-msgstr ""
+msgstr "小数据区域: none、sdata、use"
 
 #: config/m68k/m68k.opt:23
 msgid "Generate code for a 520X"
@@ -12464,7 +13320,11 @@ msgstr "为指定的目标 CPU 或架构优化"
 
 #: config/m68k/m68k.opt:184
 msgid "Support more than 8192 GOT entries on ColdFire"
-msgstr ""
+msgstr "在 ColdFire 上支持超过 8192 个 GOT 条目"
+
+#: config/m68k/m68k.opt:188
+msgid "Support TLS segment larger than 64K"
+msgstr "支持大于 64K 的 TLS 段"
 
 #: config/m68k/ieee.opt:24 config/i386/i386.opt:137
 msgid "Use IEEE math for fp comparisons"
@@ -12478,6 +13338,10 @@ msgstr "忽略(已过时)"
 msgid "Warn about none ISO msvcrt scanf/printf width extensions"
 msgstr "对非 ISO 标准的 msvcrt scanf/printf 宽度扩展给出警告"
 
+#: config/i386/mingw.opt:27
+msgid "For nested functions on stack executable permission is set."
+msgstr "为嵌套函数设定可执行堆栈权限。"
+
 #: config/i386/i386.opt:61
 msgid "sizeof(long double) is 16"
 msgstr "sizeof(long double) 等于 16"
@@ -12576,7 +13440,7 @@ msgstr "假定栈对齐到 2 的此次方上"
 
 #: config/i386/i386.opt:185
 msgid "Use push instructions to save outgoing arguments"
-msgstr "使用 push 指令保存参数"
+msgstr "使用 push 指令保存输出参数"
 
 #: config/i386/i386.opt:189
 msgid "Use red-zone in the x86-64 code"
@@ -12615,111 +13479,127 @@ msgstr "使用给定的线程局部存储模式"
 msgid "Use direct references against %gs when accessing tls data"
 msgstr "当访问线程局部数据时直接引用 %gs"
 
-#: config/i386/i386.opt:233
-msgid "Vector library ABI to use"
-msgstr "指定要使用的矢量库 ABI"
+#: config/i386/i386.opt:233 config/mips/mips.opt:23
+msgid "Generate code that conforms to the given ABI"
+msgstr "生成遵循给定 ABI 的代码"
 
 #: config/i386/i386.opt:237
+msgid "Vector library ABI to use"
+msgstr "指定要使用的向量库 ABI"
+
+#: config/i386/i386.opt:241
 msgid "Generate reciprocals instead of divss and sqrtss."
 msgstr "生成倒数指令而不是 divss 和 sqrtss。"
 
-#: config/i386/i386.opt:241
+#: config/i386/i386.opt:245
 msgid "Generate cld instruction in the function prologue."
 msgstr "在函数序言中生成 cld 指令"
 
-#: config/i386/i386.opt:248
-msgid "Enable automatic generation of fused floating point multiply-add instructions"
-msgstr "自动生成融和浮点乘加指令"
-
-#: config/i386/i386.opt:256
+#: config/i386/i386.opt:251
 msgid "Generate 32bit i386 code"
 msgstr "生成 32 位 i386 代码"
 
-#: config/i386/i386.opt:260
+#: config/i386/i386.opt:255
 msgid "Generate 64bit x86-64 code"
 msgstr "生成 64 位 x86-64 代码"
 
-#: config/i386/i386.opt:264
+#: config/i386/i386.opt:259
 msgid "Support MMX built-in functions"
 msgstr "支持 MMX 内建函数"
 
-#: config/i386/i386.opt:268
+#: config/i386/i386.opt:263
 msgid "Support 3DNow! built-in functions"
 msgstr "支持 3DNow! 内建函数"
 
-#: config/i386/i386.opt:272
+#: config/i386/i386.opt:267
 msgid "Support Athlon 3Dnow! built-in functions"
 msgstr "支持扩展 3DNow! 内建函数"
 
-#: config/i386/i386.opt:276
+#: config/i386/i386.opt:271
 msgid "Support MMX and SSE built-in functions and code generation"
 msgstr "支持 MMX 和 SSE 内建函数及代码生成"
 
-#: config/i386/i386.opt:280
+#: config/i386/i386.opt:275
 msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
 msgstr "支持 MMX、SSE 和 SSE2 内建函数及代码生成"
 
-#: config/i386/i386.opt:284
+#: config/i386/i386.opt:279
 msgid "Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation"
 msgstr "支持 MMX、SSE、SSE2 和 SSE3 内建函数及代码生成"
 
-#: config/i386/i386.opt:288
+#: config/i386/i386.opt:283
 msgid "Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation"
 msgstr "支持 MMX、SSE、SSE2、SSE3 和 SSSE3 内建函数及代码生成"
 
-#: config/i386/i386.opt:292
+#: config/i386/i386.opt:287
 msgid "Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code generation"
 msgstr "支持 MMX、SSE、SSE2、SSE3、SSSE3 和 SSE4.1 内建函数及代码生成"
 
-#: config/i386/i386.opt:296 config/i386/i386.opt:300
+#: config/i386/i386.opt:291 config/i386/i386.opt:295
 msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation"
 msgstr "支持 MMX、SSE、SSE2、SSE3、SSSE3、SSE4.1 和 SSE4.2 内建函数及代码生成"
 
-#: config/i386/i386.opt:304
+#: config/i386/i386.opt:299
 msgid "Do not support SSE4.1 and SSE4.2 built-in functions and code generation"
 msgstr "不支持 SSE4.1 和 SSE4.2 内建函数及代码生成"
 
-#: config/i386/i386.opt:308
+#: config/i386/i386.opt:303
 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 内建函数及代码生成"
 
-#: config/i386/i386.opt:312
+#: config/i386/i386.opt:307
 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 内建函数及代码生成"
 
-#: config/i386/i386.opt:316
+#: config/i386/i386.opt:311
 msgid "Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation"
 msgstr "支持 MMX、SSE、SSE2、SSE3 和 SSE4A 内建函数及代码生成"
 
-#: config/i386/i386.opt:320
-msgid "Support SSE5 built-in functions and code generation"
-msgstr "支持 SSE5 内建函数及代码生成"
+#: config/i386/i386.opt:315
+msgid "Support FMA4 built-in functions and code generation "
+msgstr "支持 FMA4 内建函数及代码生成"
+
+#: config/i386/i386.opt:319
+msgid "Support XOP built-in functions and code generation "
+msgstr "支持 XOP 内建函数及代码生成"
 
-#: config/i386/i386.opt:324
+#: config/i386/i386.opt:323
+msgid "Support LWP built-in functions and code generation "
+msgstr "支持 LWP 内建函数及代码生成"
+
+#: config/i386/i386.opt:327
 msgid "Support code generation of Advanced Bit Manipulation (ABM) instructions."
 msgstr "支持生成高级位操作(ABM)指令。"
 
-#: config/i386/i386.opt:328
+#: config/i386/i386.opt:331
 msgid "Support code generation of popcnt instruction."
 msgstr "支持生成 popcnt 指令。"
 
-#: config/i386/i386.opt:332
+#: config/i386/i386.opt:335
 msgid "Support code generation of cmpxchg16b instruction."
 msgstr "支持生成 cmpxchg16b 指令。"
 
-#: config/i386/i386.opt:336
+#: config/i386/i386.opt:339
 msgid "Support code generation of sahf instruction in 64bit x86-64 code."
 msgstr "支持在 x86-64 模式下生成 sahf 指令。"
 
-#: config/i386/i386.opt:340
+#: config/i386/i386.opt:343
+msgid "Support code generation of movbe instruction."
+msgstr "支持生成 movbe 指令。"
+
+#: config/i386/i386.opt:347
+msgid "Support code generation of crc32 instruction."
+msgstr "支持生成 crc32 指令。"
+
+#: config/i386/i386.opt:351
 msgid "Support AES built-in functions and code generation"
 msgstr "支持 AES 内建函数及代码生成"
 
-#: config/i386/i386.opt:344
+#: config/i386/i386.opt:355
 msgid "Support PCLMUL built-in functions and code generation"
 msgstr "支持 PCLMUL 内建函数及代码生成"
 
-#: config/i386/i386.opt:348
+#: config/i386/i386.opt:359
 msgid "Encode SSE instructions with VEX prefix"
 msgstr "支持带 VEX 前缀的 SSE 指令"
 
@@ -12751,19 +13631,27 @@ msgstr "设定 Windows 定义"
 msgid "Create GUI application"
 msgstr "创建图形界面程序"
 
-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
-msgid "Support message passing with the Parallel Environment"
-msgstr ""
+#: config/i386/cygming.opt:51
+msgid "Use the GNU extension to the PE format for aligned common data"
+msgstr "使用 PE 格式的 GNU 扩展来对齐 common 数据"
+
+#: config/i386/cygming.opt:55
+msgid "Compile code that relies on Cygwin DLL wrappers to support C++ operator new/delete replacement"
+msgstr "生成依赖 Cygwin DLL 包装的代码以支持对 C++ 运算符 new/delete 的替换"
 
-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+#: config/i386/mingw-w64.opt:23
+msgid "Use unicode startup and define UNICODE macro"
+msgstr "使用 unicode 启动并且定义 UNICODE 宏"
+
+#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:195
 msgid "Conform more closely to IBM XLC semantics"
 msgstr "尽量接近 IBM XLC 语义"
 
-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:128
+#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:129
 msgid "Generate 64-bit code"
 msgstr "生成 64 位代码"
 
-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:132
+#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:133
 msgid "Generate 32-bit code"
 msgstr "生成 32 位代码"
 
@@ -12860,159 +13748,170 @@ msgid "Do not use hardware floating point"
 msgstr "不使用硬件浮点单元"
 
 #: config/rs6000/rs6000.opt:116
+msgid "Use PowerPC V2.06 popcntd instruction"
+msgstr "使用 PowerPC V2.06 popcntd 指令"
+
+#: config/rs6000/rs6000.opt:120
+msgid "Use vector/scalar (VSX) instructions"
+msgstr "使用向量/标量(VSX)指令"
+
+#: config/rs6000/rs6000.opt:160
 msgid "Do not generate load/store with update instructions"
 msgstr "不生成带更新的加载/存储指令"
 
-#: config/rs6000/rs6000.opt:120
+#: config/rs6000/rs6000.opt:164
 msgid "Generate load/store with update instructions"
 msgstr "生成带更新的加载/存储指令"
 
-#: config/rs6000/rs6000.opt:124
-msgid "Do not generate fused multiply/add instructions"
-msgstr "不生成融合的乘/加指令"
+#: config/rs6000/rs6000.opt:168
+msgid "Avoid generation of indexed load/store instructions when possible"
+msgstr "尽可能避免生成变址装载/存储指令"
 
-#: config/rs6000/rs6000.opt:128
+#: config/rs6000/rs6000.opt:172
 msgid "Generate fused multiply/add instructions"
 msgstr "生成融合的乘/加指令"
 
-#: config/rs6000/rs6000.opt:132
+#: config/rs6000/rs6000.opt:176
+msgid "Mark __tls_get_addr calls with argument info"
+msgstr "用实参信息标注对 __tls_get_addr 的调用"
+
+#: config/rs6000/rs6000.opt:183
 msgid "Schedule the start and end of the procedure"
 msgstr "调度过程的起始与终止"
 
-#: config/rs6000/rs6000.opt:139
+#: config/rs6000/rs6000.opt:187
 msgid "Return all structures in memory (AIX default)"
 msgstr "所有结构在内存中返回 (AIX 默认)"
 
-#: config/rs6000/rs6000.opt:143
+#: config/rs6000/rs6000.opt:191
 msgid "Return small structures in registers (SVR4 default)"
 msgstr "小结构在寄存器中返回 (SVR4 默认)"
 
-#: config/rs6000/rs6000.opt:151
+#: config/rs6000/rs6000.opt:199
 msgid "Generate software reciprocal sqrt for better throughput"
 msgstr "为优化吞吐量生成软件平方根倒数"
 
-#: config/rs6000/rs6000.opt:155
+#: config/rs6000/rs6000.opt:203
 msgid "Do not place floating point constants in TOC"
 msgstr "不在 TOC 中存放浮点常量"
 
-#: config/rs6000/rs6000.opt:159
+#: config/rs6000/rs6000.opt:207
 msgid "Place floating point constants in TOC"
 msgstr "在 TOC 中存放浮点常量"
 
-#: config/rs6000/rs6000.opt:163
+#: config/rs6000/rs6000.opt:211
 msgid "Do not place symbol+offset constants in TOC"
 msgstr "不在 TOC 中存放符号+偏移量常量"
 
-#: config/rs6000/rs6000.opt:167
+#: config/rs6000/rs6000.opt:215
 msgid "Place symbol+offset constants in TOC"
 msgstr "在 TOC 中存放符号+偏移量常量"
 
-#: config/rs6000/rs6000.opt:178
+#: config/rs6000/rs6000.opt:226
 msgid "Use only one TOC entry per procedure"
 msgstr "为每个过程只使用一个 TOC 条目"
 
-#: config/rs6000/rs6000.opt:182
+#: config/rs6000/rs6000.opt:230
 msgid "Put everything in the regular TOC"
 msgstr "所有东西都放进常规 TOC 中"
 
-#: config/rs6000/rs6000.opt:186
+#: config/rs6000/rs6000.opt:234
 msgid "Generate VRSAVE instructions when generating AltiVec code"
 msgstr "生成 AltiVec 代码时生成 VRSAVE 指令"
 
-#: config/rs6000/rs6000.opt:190
+#: config/rs6000/rs6000.opt:238
 msgid "Deprecated option.  Use -mvrsave/-mno-vrsave instead"
 msgstr "不建议使用的选项。请改用 -mvrsave/-mno-vrsave"
 
-#: config/rs6000/rs6000.opt:194
+#: config/rs6000/rs6000.opt:242
 msgid "Generate isel instructions"
 msgstr "生成 isel 指令"
 
-#: config/rs6000/rs6000.opt:198
+#: config/rs6000/rs6000.opt:246
 msgid "Deprecated option.  Use -misel/-mno-isel instead"
 msgstr "不建议使用的选项。请改用 -misel/-mno-isel"
 
-#: config/rs6000/rs6000.opt:202
+#: config/rs6000/rs6000.opt:250
 msgid "Generate SPE SIMD instructions on E500"
 msgstr "在 E500 上生成 SPE SIMD 指令"
 
-#: config/rs6000/rs6000.opt:206
+#: config/rs6000/rs6000.opt:254
 msgid "Generate PPC750CL paired-single instructions"
 msgstr "生成 PPC750CL 配对单精度指令"
 
-#: config/rs6000/rs6000.opt:210
+#: config/rs6000/rs6000.opt:258
 msgid "Deprecated option.  Use -mspe/-mno-spe instead"
 msgstr "不建议使用的选项。请改用 -mspe/-mno-spe"
 
-#: config/rs6000/rs6000.opt:214
+#: config/rs6000/rs6000.opt:262
 msgid "Enable debug output"
 msgstr "启用调试输出"
 
-#: config/rs6000/rs6000.opt:218
+#: config/rs6000/rs6000.opt:266
 msgid "Specify ABI to use"
 msgstr "指定要使用的 ABI"
 
-#: config/rs6000/rs6000.opt:230
+#: config/rs6000/rs6000.opt:278
 msgid "Select full, part, or no traceback table"
 msgstr "选择全部、部分或不需要回溯表"
 
-#: config/rs6000/rs6000.opt:234
+#: config/rs6000/rs6000.opt:282
 msgid "Avoid all range limits on call instructions"
 msgstr "为调用指令避免一切范围限制"
 
-#: config/rs6000/rs6000.opt:238
+#: config/rs6000/rs6000.opt:286
 msgid "Generate Cell microcode"
 msgstr "生成 Cell 微代码"
 
-#: config/rs6000/rs6000.opt:242
-#, fuzzy
+#: config/rs6000/rs6000.opt:290
 msgid "Warn when a Cell microcoded instruction is emitted"
-msgstr "当所有构造函数和析构函数都是私有时给出警告"
+msgstr "生成 Cell 微代码时给出警告"
 
-#: config/rs6000/rs6000.opt:246
+#: config/rs6000/rs6000.opt:294
 msgid "Warn about deprecated 'vector long ...' AltiVec type usage"
 msgstr "遇到不建议使用的‘vector long ...’AltiVec 类型时给出警告"
 
-#: config/rs6000/rs6000.opt:250
+#: config/rs6000/rs6000.opt:298
 msgid "Select GPR floating point method"
 msgstr "选择通用寄存器浮点方法"
 
-#: config/rs6000/rs6000.opt:254
+#: config/rs6000/rs6000.opt:302
 msgid "Specify size of long double (64 or 128 bits)"
 msgstr "指定 long double 的大小(64 或 128 位)"
 
-#: config/rs6000/rs6000.opt:258
+#: config/rs6000/rs6000.opt:306
 msgid "Determine which dependences between insns are considered costly"
 msgstr "指定指令间的哪些依赖关系将被认为是有开销的"
 
-#: config/rs6000/rs6000.opt:262
+#: config/rs6000/rs6000.opt:310
 msgid "Specify which post scheduling nop insertion scheme to apply"
-msgstr ""
+msgstr "指定要应用的调度后 NOP 插入机制"
 
-#: config/rs6000/rs6000.opt:266
+#: config/rs6000/rs6000.opt:314
 msgid "Specify alignment of structure fields default/natural"
-msgstr ""
+msgstr "指定结构字段默认或自然的对齐"
 
-#: config/rs6000/rs6000.opt:270
+#: config/rs6000/rs6000.opt:318
 msgid "Specify scheduling priority for dispatch slot restricted insns"
-msgstr ""
+msgstr "指定分配槽受限的指令的调度优先级"
 
-#: config/rs6000/rs6000.opt:274
+#: config/rs6000/rs6000.opt:322
 msgid "Single-precision floating point unit"
 msgstr "单精度浮点单元"
 
-#: config/rs6000/rs6000.opt:278
+#: config/rs6000/rs6000.opt:326
 msgid "Double-precision floating point unit"
 msgstr "双精度浮点单元"
 
-#: config/rs6000/rs6000.opt:282
+#: config/rs6000/rs6000.opt:330
 msgid "Floating point unit does not support divide & sqrt"
 msgstr "浮点单元不支持除法和开方"
 
-#: config/rs6000/rs6000.opt:286
+#: config/rs6000/rs6000.opt:334
 msgid "Specify FP (sp, dp, sp-lite, dp-lite) (implies -mxilinx-fpu)"
-msgstr ""
+msgstr "指定 FP (sp、dp、sp-lite、dp-lite)(同时指定了 -mxilinx-fpu)"
 
-#: config/rs6000/rs6000.opt:290
+#: config/rs6000/rs6000.opt:338
 msgid "Specify Xilinx FPU."
 msgstr "指定 Xilinx FPU。"
 
@@ -13024,9 +13923,13 @@ msgstr "为 64 位指针编译"
 msgid "Compile for 32-bit pointers"
 msgstr "为 32 位指针编译"
 
+#: config/rs6000/aix64.opt:32
+msgid "Support message passing with the Parallel Environment"
+msgstr "支持并行环境下的消息传送"
+
 #: config/rs6000/linux64.opt:24
 msgid "Call mcount for profiling before a function prologue"
-msgstr ""
+msgstr "为取样在函数前言中调用 mcount"
 
 #: config/rs6000/sysv4.opt:24
 msgid "Select ABI calling convention"
@@ -13034,7 +13937,7 @@ msgstr "选择 ABI 调用约定"
 
 #: config/rs6000/sysv4.opt:28
 msgid "Select method for sdata handling"
-msgstr ""
+msgstr "为处理 sdata 选择方法"
 
 #: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
 msgid "Align to the base type of the bit-field"
@@ -13046,15 +13949,15 @@ msgstr "生成运行时可重定位的代码"
 
 #: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
 msgid "Produce little endian code"
-msgstr "生成低位字节在前的代码"
+msgstr "生成小端在前的代码"
 
 #: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
 msgid "Produce big endian code"
-msgstr "生成高位字节在前的代码"
+msgstr "生成大端在前的代码"
 
 #: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
-#: config/rs6000/sysv4.opt:124 config/rs6000/sysv4.opt:136
+#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:125
+#: config/rs6000/sysv4.opt:137
 msgid "no description yet"
 msgstr "尚未描述"
 
@@ -13074,41 +13977,45 @@ msgstr "允许位段跨越字边界"
 msgid "Use alternate register names"
 msgstr "使用另一套寄存器名"
 
-#: config/rs6000/sysv4.opt:104
+#: config/rs6000/sysv4.opt:101
+msgid "Use default method for sdata handling"
+msgstr "处理 sdata 使用默认的方法"
+
+#: config/rs6000/sysv4.opt:105
 msgid "Link with libsim.a, libc.a and sim-crt0.o"
 msgstr "与 libsim.a,libc.a 和 sim-crt0.o 链接"
 
-#: config/rs6000/sysv4.opt:108
+#: config/rs6000/sysv4.opt:109
 msgid "Link with libads.a, libc.a and crt0.o"
 msgstr "与 libads.a,libc.a 和 crt0.o 链接"
 
-#: config/rs6000/sysv4.opt:112
+#: config/rs6000/sysv4.opt:113
 msgid "Link with libyk.a, libc.a and crt0.o"
 msgstr "与 libyk.a,libc.a 和 crt0.o 链接"
 
-#: config/rs6000/sysv4.opt:116
+#: config/rs6000/sysv4.opt:117
 msgid "Link with libmvme.a, libc.a and crt0.o"
 msgstr "与 libmvme.a,libc.a 和 crt0.o 链接"
 
-#: config/rs6000/sysv4.opt:120
+#: config/rs6000/sysv4.opt:121
 msgid "Set the PPC_EMB bit in the ELF flags header"
 msgstr "在 ELF 标记头中指定 PPC_EMB 位"
 
-#: config/rs6000/sysv4.opt:140
+#: config/rs6000/sysv4.opt:141
 msgid "Generate code to use a non-exec PLT and GOT"
 msgstr "生成的代码使用不可执行 PLT 和 GOT"
 
-#: config/rs6000/sysv4.opt:144
+#: config/rs6000/sysv4.opt:145
 msgid "Generate code for old exec BSS PLT"
 msgstr "为旧的可执行 BSS PLT 生成代码"
 
 #: config/spu/spu.opt:20
 msgid "Emit warnings when run-time relocations are generated"
-msgstr ""
+msgstr "生成运行时重定位时给出警告"
 
 #: config/spu/spu.opt:24
 msgid "Emit errors when run-time relocations are generated"
-msgstr ""
+msgstr "生成运行时重定位时给出错误"
 
 #: config/spu/spu.opt:28
 msgid "Specify cost of branches (Default 20)"
@@ -13124,7 +14031,7 @@ msgstr "所有为 DMA 所影响的内存必须被标为 volatile"
 
 #: config/spu/spu.opt:40 config/spu/spu.opt:44
 msgid "Insert nops when it might improve performance by allowing dual issue (default)"
-msgstr ""
+msgstr "可能因允许双发射而改善性能时插入 nop(默认)"
 
 #: config/spu/spu.opt:48
 msgid "Use standard main function as entry for startup"
@@ -13135,14 +14042,12 @@ msgid "Generate branch hints for branches"
 msgstr "为跳转生成暗示"
 
 #: config/spu/spu.opt:56
-#, fuzzy
 msgid "Maximum number of nops to insert for a hint (Default 2)"
-msgstr "报告错误数量的上限值"
+msgstr "为实现跳转提示插入的 nop 的最大数(默认 2)"
 
 #: config/spu/spu.opt:60
-#, fuzzy
 msgid "Approximate maximum number of instructions to allow between a hint and its branch [125]"
-msgstr "单个循环中考虑展开的最大指令数"
+msgstr "跳转提示和其分支之间所允许的大致最大指令数[125]"
 
 #: config/spu/spu.opt:64
 msgid "Generate code for 18 bit addressing"
@@ -13154,7 +14059,27 @@ msgstr "为 32 位寻址生成代码"
 
 #: config/spu/spu.opt:76
 msgid "Insert hbrp instructions after hinted branch targets to avoid the SPU hang issue"
-msgstr ""
+msgstr "在提示分支目标后插入 hbrp 指令以避免 SPU 死锁"
+
+#: config/spu/spu.opt:88
+msgid "Access variables in 32-bit PPU objects (default)"
+msgstr "在 32 位 PPU 对象访问变量(默认)"
+
+#: config/spu/spu.opt:92
+msgid "Access variables in 64-bit PPU objects"
+msgstr "在 64 位 PPU 对象访问变量"
+
+#: config/spu/spu.opt:96
+msgid "Allow conversions between __ea and generic pointers (default)"
+msgstr "支持在 __ea 和普通指针之间的转换(默认)"
+
+#: config/spu/spu.opt:100
+msgid "Size (in KB) of software data cache"
+msgstr "以 KB 表示的软件数据缓存的大小"
+
+#: config/spu/spu.opt:104
+msgid "Atomically write back software data cache lines (default)"
+msgstr "原子化对软件数据缓存的写回操作(默认)"
 
 #: config/mcore/mcore.opt:23
 msgid "Generate code for the M*Core M210"
@@ -13165,50 +14090,46 @@ msgid "Generate code for the M*Core M340"
 msgstr "为 M*Core M340 生成代码"
 
 #: config/mcore/mcore.opt:31
-msgid "Set maximum alignment to 4"
-msgstr "设定最大对齐边界为 4"
-
-#: config/mcore/mcore.opt:35
 msgid "Force functions to be aligned to a 4 byte boundary"
 msgstr "将函数强行对齐到 4 字节边界上"
 
-#: config/mcore/mcore.opt:39
-msgid "Set maximum alignment to 8"
-msgstr "设定最大对齐边界为 8"
-
-#: config/mcore/mcore.opt:43 config/score/score.opt:23
+#: config/mcore/mcore.opt:35 config/score/score.opt:23
 msgid "Generate big-endian code"
-msgstr "生成高位字节在前的代码"
+msgstr "生成大端在前的代码"
 
-#: config/mcore/mcore.opt:47
+#: config/mcore/mcore.opt:39
 msgid "Emit call graph information"
 msgstr "生成调用图信息"
 
-#: config/mcore/mcore.opt:51
+#: config/mcore/mcore.opt:43
 msgid "Use the divide instruction"
 msgstr "使用除法指令"
 
-#: config/mcore/mcore.opt:55
+#: config/mcore/mcore.opt:47
 msgid "Inline constants if it can be done in 2 insns or less"
 msgstr "当常量可以为两个以下的指令生成时内联常量"
 
-#: config/mcore/mcore.opt:59 config/score/score.opt:27
+#: config/mcore/mcore.opt:51 config/score/score.opt:27
 msgid "Generate little-endian code"
-msgstr "生成低位字节在前的代码"
+msgstr "生成小端在前的代码"
 
-#: config/mcore/mcore.opt:67
+#: config/mcore/mcore.opt:56 config/fr30/fr30.opt:27
+msgid "Assume that run-time support has been provided, so omit -lsim from the linker command line"
+msgstr "假定运行时支持已被提供,因此从链接器命令行省略 -lsim"
+
+#: config/mcore/mcore.opt:60
 msgid "Use arbitrary sized immediates in bit operations"
 msgstr "在位操作中使用任意大小的立即数"
 
-#: config/mcore/mcore.opt:71
+#: config/mcore/mcore.opt:64
 msgid "Prefer word accesses over byte accesses"
 msgstr "尽量按字访问而不是按字节访问"
 
-#: config/mcore/mcore.opt:75
+#: config/mcore/mcore.opt:68
 msgid "Set the maximum amount for a single stack increment operation"
-msgstr ""
+msgstr "设定单个堆栈增量操作运算总量的上限"
 
-#: config/mcore/mcore.opt:79
+#: config/mcore/mcore.opt:72
 msgid "Always treat bitfields as int-sized"
 msgstr "总认为位段长与 int 相同"
 
@@ -13241,20 +14162,20 @@ msgid "Generate SH2 code"
 msgstr "生成 SH2 代码"
 
 #: config/sh/sh.opt:52
-msgid "Generate SH2a code"
-msgstr "生成 SH2a 代码"
+msgid "Generate default double-precision SH2a-FPU code"
+msgstr "生成默认的双精度 SH2a-FPU 代码"
 
 #: config/sh/sh.opt:56
 msgid "Generate SH2a FPU-less code"
 msgstr "生成不带 FPU 的 SH2a 代码"
 
 #: config/sh/sh.opt:60
-msgid "Generate default single-precision SH2a code"
-msgstr "生成默认的单精度 SH2a 代码"
+msgid "Generate default single-precision SH2a-FPU code"
+msgstr "生成默认的单精度 SH4a-FPU 代码"
 
 #: config/sh/sh.opt:64
-msgid "Generate only single-precision SH2a code"
-msgstr "只生成单精度 SH2a 代码"
+msgid "Generate only single-precision SH2a-FPU code"
+msgstr "只生成单精度 SH4a-FPU 代码"
 
 #: config/sh/sh.opt:68
 msgid "Generate SH2e code"
@@ -13394,7 +14315,7 @@ msgstr "避免过度展开循环以免撇出目标寄存器,除非展开的收
 
 #: config/sh/sh.opt:209
 msgid "Generate code in big endian mode"
-msgstr "生成高位字节在前的代码"
+msgstr "生成大端在前的代码"
 
 #: config/sh/sh.opt:213
 msgid "Generate 32-bit offsets in switch tables"
@@ -13413,104 +14334,104 @@ msgid "Enable cbranchdi4 pattern"
 msgstr "启用 cbranchdi4 样式"
 
 #: config/sh/sh.opt:229
-msgid "Expand cbranchdi4 pattern early into separate comparisons and branches."
-msgstr "及早将 cbranchdi4 样式展开到不同的比较和跳转中。"
+msgid "Emit cmpeqdi_t pattern even when -mcbranchdi is in effect."
+msgstr "生成 cmpeqdi_t 样式,即使 -mcbranchdi 起作用。"
 
 #: config/sh/sh.opt:233
-msgid "Emit cmpeqdi_t pattern even when -mcbranchdi and -mexpand-cbranchdi are in effect."
-msgstr "生成 cmpeqdi_t 样式,即使 -mcbranchdi 和 -mexpand-cbranchdi 起作用。"
-
-#: config/sh/sh.opt:237
 msgid "Enable SH5 cut2 workaround"
 msgstr "启用 SH5 cut2 变通"
 
-#: config/sh/sh.opt:241
+#: config/sh/sh.opt:237
 msgid "Align doubles at 64-bit boundaries"
 msgstr "在 64 位边界上对齐双精度变量"
 
-#: config/sh/sh.opt:245
+#: config/sh/sh.opt:241
 msgid "Division strategy, one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call, inv:call2, inv:fp, call-div1, call-fp, call-table"
 msgstr "除法策略,可以是以下之一:call、call2、fp、inv、inv:minlat、inv20u、inv20l、inv:call、inv:call2、inv:fp、call-div1、call-fp 或 call-table"
 
-#: config/sh/sh.opt:249
+#: config/sh/sh.opt:245
 msgid "Specify name for 32 bit signed division function"
 msgstr "指定 32 位有符号除法函数的名称"
 
-#: config/sh/sh.opt:260
+#: config/sh/sh.opt:249
+msgid "Enable the use of 64-bit floating point registers in fmov instructions.  See -mdalign if 64-bit alignment is required."
+msgstr "在 fmov 指令中启用 64 位浮点寄存器。如需要 64 位对齐请参见 -mdalign。"
+
+#: config/sh/sh.opt:257
 msgid "Enable the use of the fused floating point multiply-accumulate operation"
 msgstr "启用对融合浮点乘加指令的使用"
 
-#: config/sh/sh.opt:264
+#: config/sh/sh.opt:261
 msgid "Cost to assume for gettr insn"
 msgstr "为 gettr 指令设定的开销"
 
-#: config/sh/sh.opt:268 config/sh/sh.opt:318
+#: config/sh/sh.opt:265 config/sh/sh.opt:315
 msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
 msgstr "遒循 Renesas(先前被称作 Hitachi)/SuperH 调用约定"
 
-#: config/sh/sh.opt:272
+#: config/sh/sh.opt:269
 msgid "Increase the IEEE compliance for floating-point code"
 msgstr "让浮点代码更加遵循 IEEE 标准"
 
-#: config/sh/sh.opt:276
+#: config/sh/sh.opt:273
 msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
 msgstr "为 SHmedia32/SHcompact 启用变址寻址"
 
-#: config/sh/sh.opt:280
+#: config/sh/sh.opt:277
 msgid "inline code to invalidate instruction cache entries after setting up nested function trampolines"
 msgstr "设定嵌套函数蹦床后内联代码以清洗指令缓存"
 
-#: config/sh/sh.opt:284
+#: config/sh/sh.opt:281
 msgid "Assume symbols might be invalid"
 msgstr "假定符号可能无效"
 
-#: config/sh/sh.opt:288
+#: config/sh/sh.opt:285
 msgid "Annotate assembler instructions with estimated addresses"
-msgstr "使用估算的地址标记汇编指令"
+msgstr "使用估算的地址评注汇编指令"
 
-#: config/sh/sh.opt:292
+#: config/sh/sh.opt:289
 msgid "Generate code in little endian mode"
-msgstr "生成低位字节在前的代码"
+msgstr "生成小端在前的代码"
 
-#: config/sh/sh.opt:296
+#: config/sh/sh.opt:293
 msgid "Mark MAC register as call-clobbered"
 msgstr "将 MAC 寄存器标记为调用篡改的"
 
-#: config/sh/sh.opt:302
+#: config/sh/sh.opt:299
 msgid "Make structs a multiple of 4 bytes (warning: ABI altered)"
 msgstr "令结构体大小为 4 字节的整数倍(警告:改变了 ABI)"
 
-#: config/sh/sh.opt:306
+#: config/sh/sh.opt:303
 msgid "Emit function-calls using global offset table when generating PIC"
 msgstr "生成 PIC 时使用全局偏移表进行函数调用"
 
-#: config/sh/sh.opt:310
+#: config/sh/sh.opt:307
 msgid "Assume pt* instructions won't trap"
 msgstr "假定 pt* 指令不会导致陷阱"
 
-#: config/sh/sh.opt:314
+#: config/sh/sh.opt:311
 msgid "Shorten address references during linking"
 msgstr "在链接时缩短地址引用"
 
-#: config/sh/sh.opt:322
-msgid "Deprecated. Use -Os instead"
+#: config/sh/sh.opt:319
+msgid "Deprecated.  Use -Os instead"
 msgstr "不建议使用。请改用 -Os"
 
-#: config/sh/sh.opt:326
+#: config/sh/sh.opt:323
 msgid "Cost to assume for a multiply insn"
 msgstr "为乘法指令设定的开销"
 
-#: config/sh/sh.opt:330
+#: config/sh/sh.opt:327
 msgid "Don't generate privileged-mode only code; implies -mno-inline-ic_invalidate if the inline code would not work in user mode."
-msgstr ""
+msgstr "不生成仅特权模式的代码;如果在用户模式中内联代码不工作则包含 -mno-inline-ic_invalidate。"
 
-#: config/sh/sh.opt:336
+#: config/sh/sh.opt:333
 msgid "Pretend a branch-around-a-move is a conditional move."
 msgstr "将数据传输周围的跳转认为是条件转移。"
 
 #: config/sh/superh.opt:6
 msgid "Board name [and memory region]."
-msgstr ""
+msgstr "板名字[和内存区域]。"
 
 #: config/sh/superh.opt:10
 msgid "Runtime name."
@@ -13534,7 +14455,7 @@ msgstr "在浮点寄存器中传递浮点参数"
 
 #: config/arm/arm.opt:38
 msgid "Generate APCS conformant stack frames"
-msgstr "生成与 APCS 相容的堆栈框架"
+msgstr "生成与 APCS 相容的栈帧"
 
 #: config/arm/arm.opt:42
 msgid "Generate re-entrant, PIC code"
@@ -13542,7 +14463,7 @@ msgstr "生成可重入的 PIC 代码"
 
 #: config/arm/arm.opt:56
 msgid "Assume target CPU is configured as big endian"
-msgstr "假定目标 CPU 被配置为高位字节在前"
+msgstr "假定目标 CPU 被配置为大端在前"
 
 #: config/arm/arm.opt:60
 msgid "Thumb: Assume non-static functions may be called from ARM code"
@@ -13564,85 +14485,89 @@ msgstr "指定目标 CPU 的名称"
 msgid "Specify if floating point hardware should be used"
 msgstr "指定是否应当使用硬件浮点"
 
-#: config/arm/arm.opt:90
+#: config/arm/arm.opt:83
+msgid "Specify the __fp16 floating-point format"
+msgstr "指定 __fp16 浮点格式"
+
+#: config/arm/arm.opt:94
 msgid "Specify the name of the target floating point hardware/format"
 msgstr "指定目标浮点硬件/格式的名称"
 
-#: config/arm/arm.opt:94
+#: config/arm/arm.opt:98
 msgid "Alias for -mfloat-abi=hard"
 msgstr "-mfloat-abi=hard 的别名"
 
-#: config/arm/arm.opt:98
+#: config/arm/arm.opt:102
 msgid "Assume target CPU is configured as little endian"
-msgstr "假定目标 CPU 被配置为低位字节在前"
+msgstr "假定目标 CPU 被配置为小端在前"
 
-#: config/arm/arm.opt:102
+#: config/arm/arm.opt:106
 msgid "Generate call insns as indirect calls, if necessary"
 msgstr "如有必须,为调用指令生成间接调用"
 
-#: config/arm/arm.opt:106
+#: config/arm/arm.opt:110
 msgid "Specify the register to be used for PIC addressing"
 msgstr "指定用于 PIC 寻址的寄存器"
 
-#: config/arm/arm.opt:110
+#: config/arm/arm.opt:114
 msgid "Store function names in object code"
 msgstr "在目标文件中存储函数名"
 
-#: config/arm/arm.opt:114
+#: config/arm/arm.opt:118
 msgid "Permit scheduling of a function's prologue sequence"
 msgstr "允许调度函数前言序列"
 
-#: config/arm/arm.opt:118
+#: config/arm/arm.opt:122
 msgid "Do not load the PIC register in function prologues"
 msgstr "不在函数前言中加载 PIC 寄存器"
 
-#: config/arm/arm.opt:122
+#: config/arm/arm.opt:126
 msgid "Alias for -mfloat-abi=soft"
 msgstr "-mfloat-abi=soft 的别名"
 
-#: config/arm/arm.opt:126
+#: config/arm/arm.opt:130
 msgid "Specify the minimum bit alignment of structures"
 msgstr "为结构指定最小位对齐"
 
-#: config/arm/arm.opt:130
+#: config/arm/arm.opt:134
 msgid "Compile for the Thumb not the ARM"
 msgstr "为 Thumb 而不是 ARM 编译"
 
-#: config/arm/arm.opt:134
+#: config/arm/arm.opt:138
 msgid "Support calls between Thumb and ARM instruction sets"
 msgstr "支持 Thumb 和 ARM 指令集间互相调用g"
 
-#: config/arm/arm.opt:138
+#: config/arm/arm.opt:142
 msgid "Specify how to access the thread pointer"
 msgstr "指定如何访问线程指针"
 
-#: config/arm/arm.opt:142
+#: config/arm/arm.opt:146
 msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
-msgstr "Thumb:即使不需要也生成(非叶)堆栈框架"
+msgstr "Thumb:即使不需要也生成(非叶)栈帧"
 
-#: config/arm/arm.opt:146
+#: config/arm/arm.opt:150
 msgid "Thumb: Generate (leaf) stack frames even if not needed"
-msgstr "Thumb:即使不需要也生成(叶)堆栈框架"
+msgstr "Thumb:即使不需要也生成(叶)栈帧"
 
-#: config/arm/arm.opt:150
+#: config/arm/arm.opt:154
 msgid "Tune code for the given processor"
 msgstr "为指定的处理器优化代码"
 
-#: config/arm/arm.opt:154
+#: config/arm/arm.opt:158
 msgid "Assume big endian bytes, little endian words"
 msgstr "假定高位字节在前,低位字在前"
 
-#: config/arm/arm.opt:158
+#: config/arm/arm.opt:162
 msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
-msgstr "使用 Neon 四字(而非双字)寄存器来进行量化"
+msgstr "使用 Neon 四字(而非双字)寄存器来进行量化"
 
-#: config/arm/arm.opt:162
+#: config/arm/arm.opt:166
 msgid "Only generate absolute relocations on word sized values."
-msgstr ""
+msgstr "对字大小的值仅产生绝对重定位。"
 
-#: config/arm/arm.opt:166
+#: config/arm/arm.opt:170
 msgid "Avoid overlapping destination and address registers on LDRD instructions"
-msgstr ""
+msgstr "在 LDRD 指令中避免重叠的目标和地址寄存器"
 
 #: config/arm/pe.opt:23
 msgid "Ignore dllimport attribute for functions"
@@ -13728,29 +14653,21 @@ msgstr "使用 8 位‘int’类型"
 msgid "Change the stack pointer without disabling interrupts"
 msgstr "改变堆栈指针时不屏蔽中断"
 
-#: config/avr/avr.opt:42
-msgid "Do not generate tablejump insns"
-msgstr "不生成跳转表指令"
-
-#: config/avr/avr.opt:52
+#: config/avr/avr.opt:48
 msgid "Use rjmp/rcall (limited range) on >8K devices"
 msgstr "在 >8K 设备上使用 rjmp/rcall(范围受限)"
 
-#: config/avr/avr.opt:56
-msgid "Output instruction sizes to the asm file"
-msgstr "在汇编文件中输出指令大小"
-
-#: config/avr/avr.opt:60
+#: config/avr/avr.opt:52
 msgid "Change only the low 8 bits of the stack pointer"
 msgstr "只改变堆栈指针的低 8 位"
 
-#: config/avr/avr.opt:64
+#: config/avr/avr.opt:56
 msgid "Relax branches"
 msgstr "放宽跳转"
 
-#: config/avr/avr.opt:68
+#: config/avr/avr.opt:60
 msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
-msgstr ""
+msgstr "使链接器松驰机假定会发生程序计数器环绕"
 
 #: config/crx/crx.opt:23
 msgid "Support multiply accumulate instructions"
@@ -13762,7 +14679,7 @@ msgstr "不使用 push 指令保存函数参数"
 
 #: config/crx/crx.opt:31
 msgid "Restrict doloop to the given nesting level"
-msgstr ""
+msgstr "限制 doloop 的嵌套层次"
 
 #: config/pa/pa-hpux.opt:23
 msgid "Generate cpp defines for server IO"
@@ -13867,21 +14784,16 @@ msgstr "自动对齐跳转目标以减少分支开销"
 
 #: config/xtensa/xtensa.opt:39
 msgid "Intersperse literal pools with code in the text section"
-msgstr ""
+msgstr "在文本节中的代码节中点缀字面值的共享池"
 
 #: config/xtensa/xtensa.opt:43
-#, fuzzy
 msgid "Do not serialize volatile memory references with MEMW instructions"
-msgstr "不生成带更新的加载/存储指令"
+msgstr "用 MEMW 指令不串行化易失内存引用"
 
 #: config/stormy16/stormy16.opt:24
 msgid "Provide libraries for the simulator"
 msgstr "为仿真器提供库"
 
-#: config/mips/mips.opt:23
-msgid "Generate code that conforms to the given ABI"
-msgstr "生成遵循给定 ABI 的代码"
-
 #: config/mips/mips.opt:27
 msgid "Generate code that can be used in SVR4-style dynamic objects"
 msgstr "生成能用在 SVR4 风格动态目标文件中的代码"
@@ -13904,7 +14816,7 @@ msgstr "使用 Branch Likely 指令,忽略架构默认值"
 
 #: config/mips/mips.opt:47
 msgid "Switch on/off MIPS16 ASE on alternating functions for compiler testing"
-msgstr ""
+msgstr "为测试编译器为交替的函数切换 MIPS16 ASE 的使用"
 
 #: config/mips/mips.opt:51
 msgid "Trap on integer divide by zero"
@@ -13938,13 +14850,13 @@ msgstr "使用 MIPS-DSP 指令"
 msgid "Use MIPS-DSP REV 2 instructions"
 msgstr "使用 MIPS-DSP REV 2指令"
 
-#: config/mips/mips.opt:89
+#: config/mips/mips.opt:89 config/mep/mep.opt:80
 msgid "Use big-endian byte order"
-msgstr "令高位字节在前"
+msgstr "令大端在前"
 
-#: config/mips/mips.opt:93
+#: config/mips/mips.opt:93 config/mep/mep.opt:84
 msgid "Use little-endian byte order"
-msgstr "令低位字节在前"
+msgstr "令小端在前"
 
 #: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
 msgid "Use ROM instead of RAM"
@@ -14019,9 +14931,8 @@ msgid "Use GP-relative addressing to access small data"
 msgstr "使用 GP 相对寻址来访问小数据"
 
 #: config/mips/mips.opt:169
-#, fuzzy
 msgid "When generating -mabicalls code, allow executables to use PLTs and copy relocations"
-msgstr "生成 -mabicalls 代码时,使代码可用于共享库"
+msgstr "生成 -mabicalls 代码时,允许可执行程序使用 PLT 和复制重定位"
 
 #: config/mips/mips.opt:173
 msgid "Allow the use of hardware floating-point ABI and instructions"
@@ -14064,78 +14975,90 @@ msgid "Use a 64-bit long type"
 msgstr "使用 64 位 long 类型"
 
 #: config/mips/mips.opt:213
+msgid "Pass the address of the ra save location to _mcount in $12"
+msgstr "将保存 RA 的位置的地址传递给 $12 中的 _mcount"
+
+#: config/mips/mips.opt:217
 msgid "Don't optimize block moves"
 msgstr "不优化块移动"
 
-#: config/mips/mips.opt:217
+#: config/mips/mips.opt:221
 msgid "Use the mips-tfile postpass"
 msgstr "使用 mips-tfile 后处理"
 
-#: config/mips/mips.opt:221
+#: config/mips/mips.opt:225
 msgid "Allow the use of MT instructions"
 msgstr "允许使用 MT 指令"
 
-#: config/mips/mips.opt:225
+#: config/mips/mips.opt:229
 msgid "Do not use a cache-flushing function before calling stack trampolines"
 msgstr "在调用堆栈蹦床前不清洗缓存"
 
-#: config/mips/mips.opt:229
+#: config/mips/mips.opt:233
 msgid "Do not use MDMX instructions"
 msgstr "不使用 MDMX 指令"
 
-#: config/mips/mips.opt:233
+#: config/mips/mips.opt:237
 msgid "Generate normal-mode code"
 msgstr "生成普通模式的代码"
 
-#: config/mips/mips.opt:237
+#: config/mips/mips.opt:241
 msgid "Do not use MIPS-3D instructions"
 msgstr "不使用 MIPS-3D 指令"
 
-#: config/mips/mips.opt:241
+#: config/mips/mips.opt:245
 msgid "Use paired-single floating-point instructions"
 msgstr "使用配对的单精度浮点指令"
 
-#: config/mips/mips.opt:245
+#: config/mips/mips.opt:249
 msgid "Specify when r10k cache barriers should be inserted"
 msgstr "指定是否应当使用 r10k 缓存屏障"
 
-#: config/mips/mips.opt:249
+#: config/mips/mips.opt:253
+msgid "Try to allow the linker to turn PIC calls into direct calls"
+msgstr "允许链接器将 PIC 调用转化为直接调用"
+
+#: config/mips/mips.opt:257
 msgid "When generating -mabicalls code, make the code suitable for use in shared libraries"
 msgstr "生成 -mabicalls 代码时,使代码可用于共享库"
 
-#: config/mips/mips.opt:253
+#: config/mips/mips.opt:261
 msgid "Restrict the use of hardware floating-point instructions to 32-bit operations"
 msgstr "只为 32 位操作使用硬件浮点指令"
 
-#: config/mips/mips.opt:257
+#: config/mips/mips.opt:265
 msgid "Use SmartMIPS instructions"
 msgstr "使用 SmartMIPS 指令"
 
-#: config/mips/mips.opt:261
+#: config/mips/mips.opt:269
 msgid "Prevent the use of all hardware floating-point instructions"
 msgstr "不允许使用任何硬件浮点指令"
 
-#: config/mips/mips.opt:265
+#: config/mips/mips.opt:273
 msgid "Optimize lui/addiu address loads"
 msgstr "优化 lui/addiu 内存载入"
 
-#: config/mips/mips.opt:269
+#: config/mips/mips.opt:277
 msgid "Assume all symbols have 32-bit values"
 msgstr "假定所有符号都有 32 位值"
 
-#: config/mips/mips.opt:273
+#: config/mips/mips.opt:281
+msgid "Use synci instruction to invalidate i-cache"
+msgstr "使用 synci 来无效化指令缓存"
+
+#: config/mips/mips.opt:285
 msgid "Optimize the output for PROCESSOR"
 msgstr "为 PROCESSOR 优化输出"
 
-#: config/mips/mips.opt:277 config/iq2000/iq2000.opt:44
+#: config/mips/mips.opt:289 config/iq2000/iq2000.opt:44
 msgid "Put uninitialized constants in ROM (needs -membedded-data)"
 msgstr "将未初始化的常量放在 ROM 中(需要 -membedded-data)"
 
-#: config/mips/mips.opt:281
+#: config/mips/mips.opt:293
 msgid "Perform VR4130-specific alignment optimizations"
 msgstr "进行 VR4130 特定的对齐优化"
 
-#: config/mips/mips.opt:285
+#: config/mips/mips.opt:297
 msgid "Lift restrictions on GOT size"
 msgstr "消除 GOT 大小限制"
 
@@ -14227,6 +15150,10 @@ msgstr "为 UNIX 汇编器生成代码"
 msgid "Use VAXC structure conventions"
 msgstr "使用 VAXC 结构约定"
 
+#: config/vax/vax.opt:51
+msgid "Use new adddi3/subdi3 patterns"
+msgstr "使用新的 adddi3/subdi3 样式"
+
 #: config/cris/linux.opt:27
 msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
 msgstr "与 -fpic 和 -fPIC 同时使用时,不使用 GOTPLT 引用"
@@ -14249,7 +15176,7 @@ msgstr "在汇编代码中生成详细的调试信息"
 
 #: config/cris/cris.opt:71
 msgid "Do not use condition codes from normal instructions"
-msgstr ""
+msgstr "不使用一般指令中的条件码"
 
 #: config/cris/cris.opt:80
 msgid "Do not emit addressing modes with side-effect assignment"
@@ -14297,7 +15224,7 @@ msgstr "为指定的芯片或 CPU 版本调整对齐"
 
 #: config/cris/cris.opt:173
 msgid "Warn when a stackframe is larger than the specified size"
-msgstr "当堆栈框架大于指定值时给出警告"
+msgstr "当栈帧大于指定值时给出警告"
 
 #: config/h8300/h8300.opt:23
 msgid "Generate H8S code"
@@ -14373,7 +15300,7 @@ msgstr "使用占位程序完成函数前言/尾声"
 
 #: config/v850/v850.opt:55
 msgid "Set the max size of data eligible for the SDA area"
-msgstr ""
+msgstr "为 SDA 区域合格的数据设置最大尺寸"
 
 #: config/v850/v850.opt:59
 msgid "Enable the use of the short load instructions"
@@ -14385,7 +15312,7 @@ msgstr "与 -mep -mprolog-function 相同"
 
 #: config/v850/v850.opt:67
 msgid "Set the max size of data eligible for the TDA area"
-msgstr ""
+msgstr "为 TDA 区域合格的数据设置最大尺寸"
 
 #: config/v850/v850.opt:71
 msgid "Enforce strict alignment"
@@ -14405,7 +15332,7 @@ msgstr "为 v850e1 处理器编译"
 
 #: config/v850/v850.opt:90
 msgid "Set the max size of data eligible for the ZDA area"
-msgstr ""
+msgstr "为 ZDA 区域合格的数据设置最大尺寸"
 
 #: config/mmix/mmix.opt:24
 msgid "For intrinsics library: pass all parameters in registers"
@@ -14525,7 +15452,7 @@ msgstr "与快速浮点库链接"
 
 #: config/bfin/bfin.opt:81
 msgid "Do stack checking using bounds in L1 scratch memory"
-msgstr ""
+msgstr "使用 L1 草稿内存中的边界做堆栈检查"
 
 #: config/bfin/bfin.opt:85
 msgid "Enable multicore support"
@@ -14543,29 +15470,33 @@ msgstr "为 Core B 生成代码"
 msgid "Build for SDRAM"
 msgstr "为 SDRAM 生成代码"
 
+#: config/bfin/bfin.opt:101
+msgid "Assume ICPLBs are enabled at runtime."
+msgstr "假定在运行时 ICPLB 是被启用的。"
+
 #: config/picochip/picochip.opt:23
-msgid "Specify which type of AE to target. This option sets the mul-type"
-msgstr ""
+msgid "Specify which type of AE to target. This option sets the mul-type and byte-access."
+msgstr "指定去到目标的 AE 类型。这个选项设置 mul-type 和字节访问。"
 
-#: config/picochip/picochip.opt:28
+#: config/picochip/picochip.opt:27
 msgid "Specify which type of multiplication to use. Can be mem, mac or none."
-msgstr ""
+msgstr "指定使用的乘法类型。可以是 mem、mac 或 none。"
 
-#: config/picochip/picochip.opt:32
+#: config/picochip/picochip.opt:31
 msgid "Specify whether the byte access instructions should be used. Enabled by default."
-msgstr ""
+msgstr "指定是否应该使用字节访问指令。默认被启用。"
 
-#: config/picochip/picochip.opt:36
+#: config/picochip/picochip.opt:35
 msgid "Enable debug output to be generated."
 msgstr "启用调试输出"
 
-#: config/picochip/picochip.opt:40
-msgid "Allow a symbol value to be used as an immediate value in an"
-msgstr ""
+#: config/picochip/picochip.opt:39
+msgid "Allow a symbol value to be used as an immediate value in an instruction."
+msgstr "允许符号值在指令中被用作立即数。"
 
-#: config/picochip/picochip.opt:45
+#: config/picochip/picochip.opt:43
 msgid "Generate warnings when inefficient code is known to be generated."
-msgstr ""
+msgstr "产生低效代码时给出警告。"
 
 #: config/vxworks.opt:24
 msgid "Assume the VxWorks RTP environment"
@@ -14577,7 +15508,7 @@ msgstr "假定 VxWorks vThreads 环境"
 
 #: config/darwin.opt:23
 msgid "Generate code suitable for fast turn around debugging"
-msgstr ""
+msgstr "生成适合于快速转换调试的代码"
 
 #: config/darwin.opt:31
 msgid "The earliest MacOS X version on which this program will run"
@@ -14644,845 +15575,1089 @@ msgid "Support SCORE 3d ISA"
 msgstr "支持 SCORE 3d ISA"
 
 #: config/linux.opt:24
+msgid "Use GNU libc instead of uClibc"
+msgstr "用 GNU libc 代替 uClibc"
+
+#: config/linux.opt:28
 msgid "Use uClibc instead of GNU libc"
 msgstr "使用 uClibc 代替 GNU libc"
 
-#: config/linux.opt:28
-msgid "Use GNU libc instead of uClibc"
-msgstr "用 GNU libc 代替 uClibc"
+#: config/mep/mep.opt:21
+msgid "Enable absolute difference instructions"
+msgstr "启用绝对差指令"
+
+#: config/mep/mep.opt:25
+msgid "Enable all optional instructions"
+msgstr "启用所有可选指令"
+
+#: config/mep/mep.opt:29
+msgid "Enable average instructions"
+msgstr "启用均值指令"
+
+#: config/mep/mep.opt:33
+msgid "Variables this size and smaller go in the based section. (default 0)"
+msgstr "大小等于或小于设定值(默认为 0)的变量放在基本节中。"
+
+#: config/mep/mep.opt:37
+msgid "Enable bit manipulation instructions"
+msgstr "启用位操作指令"
+
+#: config/mep/mep.opt:41
+msgid "Section to put all const variables in (tiny, near, far) (no default)"
+msgstr "设置存放所有常变量的节(tiny、near 或 far)(没有默认值)"
+
+#: config/mep/mep.opt:45
+msgid "Enable clip instructions"
+msgstr "启用 clip 指令"
+
+#: config/mep/mep.opt:49
+msgid "Configuration name"
+msgstr "配置名"
+
+#: config/mep/mep.opt:53
+msgid "Enable MeP Coprocessor"
+msgstr "启用 MeP 协处理器"
+
+#: config/mep/mep.opt:57
+msgid "Enable MeP Coprocessor with 32-bit registers"
+msgstr "启用带有 32 位寄存器的 MeP 协处理器"
+
+#: config/mep/mep.opt:61
+msgid "Enable MeP Coprocessor with 64-bit registers"
+msgstr "启用带有 64 位寄存器的 MeP 协处理器"
+
+#: config/mep/mep.opt:65
+msgid "Enable IVC2 scheduling"
+msgstr "启用 IVC2 调度"
+
+#: config/mep/mep.opt:69
+msgid "Const variables default to the near section"
+msgstr "常变量默认位于 near 节"
+
+#: config/mep/mep.opt:76
+msgid "Enable 32-bit divide instructions"
+msgstr "启用 32 位除法指令"
+
+#: config/mep/mep.opt:88
+msgid "__io vars are volatile by default"
+msgstr "__io 变量默认为 volatile"
+
+#: config/mep/mep.opt:92
+msgid "All variables default to the far section"
+msgstr "所有变量默认位于 far 节中"
+
+#: config/mep/mep.opt:96
+msgid "Enable leading zero instructions"
+msgstr "启用前导零指令"
+
+#: config/mep/mep.opt:103
+msgid "All variables default to the near section"
+msgstr "所有变量默认位于 near 节中"
+
+#: config/mep/mep.opt:107
+msgid "Enable min/max instructions"
+msgstr "启用最小/最大值指令"
+
+#: config/mep/mep.opt:111
+msgid "Enable 32-bit multiply instructions"
+msgstr "启用 32 位乘法指令"
+
+#: config/mep/mep.opt:115
+msgid "Disable all optional instructions"
+msgstr "禁用所有可选指令"
+
+#: config/mep/mep.opt:122
+msgid "Allow gcc to use the repeat/erepeat instructions"
+msgstr "允许 gcc 使用 repeat/erepeat 指令"
+
+#: config/mep/mep.opt:126
+msgid "All variables default to the tiny section"
+msgstr "所有变量默认位于 tiny 节中"
+
+#: config/mep/mep.opt:130
+msgid "Enable saturation instructions"
+msgstr "启用饱和指令"
 
-#: c.opt:41
+#: config/mep/mep.opt:134
+msgid "Use sdram version of runtime"
+msgstr "使用 sdram 版本的运行时"
+
+#: config/mep/mep.opt:142
+msgid "Use simulator runtime without vectors"
+msgstr "使用不带向量的仿真器运行时"
+
+#: config/mep/mep.opt:146
+msgid "All functions default to the far section"
+msgstr "所有变量默认位于 far 节中"
+
+#: config/mep/mep.opt:150
+msgid "Variables this size and smaller go in the tiny section. (default 4)"
+msgstr "大小等于或小于设定值(默认 4)的变量放在 tiny 节中。"
+
+#: config/vms/vms.opt:21
+msgid "Malloc data into P2 space"
+msgstr "向 P2 空间 malloc 数据"
+
+#: config/vms/vms.opt:25
+msgid "Set name of main routine for the debugger"
+msgstr "为调试器设定主过程名"
+
+#: config/rx/rx.opt:24
+msgid "Stores doubles in 32 bits."
+msgstr "将双精度数存储为 32 位。"
+
+#: config/rx/rx.opt:28
+msgid "Store doubles in 64 bits.  This is the default."
+msgstr "将双精度数存储为 64 位。这是默认值。"
+
+#: config/rx/rx.opt:32
+msgid "Enable the use of RX FPU instructions."
+msgstr "启用 RX FPU 指令"
+
+#: config/rx/rx.opt:36
+msgid "Disable the use of RX FPU instructions."
+msgstr "禁用 RX FPU 指令"
+
+#: config/rx/rx.opt:42
+msgid "Specify the target RX cpu type."
+msgstr "选择目标 RX CPU 的类型"
+
+#: config/rx/rx.opt:46
+msgid "Alias for -mcpu."
+msgstr "-mcpu 的别名。"
+
+#: config/rx/rx.opt:52
+msgid "Data is stored in big-endian format."
+msgstr "数据被存储为大端在前的格式。"
+
+#: config/rx/rx.opt:56
+msgid "Data is stored in little-endian format.  (Default)."
+msgstr "数据被存储为小端在前的格式。(默认)"
+
+#: config/rx/rx.opt:62
+msgid "Maximum size of global and static variables which can be placed into the small data area."
+msgstr "能被放在小内存区的全局和静态变量的最大尺寸。"
+
+#: config/rx/rx.opt:68
+msgid "Use the simulator runtime."
+msgstr "使用仿真器运行时。"
+
+#: config/rx/rx.opt:74
+msgid "Generate assembler output that is compatible with the Renesas AS100 assembler.  This may restrict some of the compiler's capabilities.  The default is to generate GAS compatable syntax."
+msgstr "生成与 Renesas AS100 兼容的汇编输出。这可能会限制编译器的某些功能。默认是使用与 GAS 兼容的语法。"
+
+#: config/rx/rx.opt:80
+msgid "Enable linker relaxation."
+msgstr "使用更短的地址引用。"
+
+#: config/rx/rx.opt:86
+msgid "Maximum size in bytes of constant values allowed as operands."
+msgstr "用字节表示的能被用作操作数的常量的最大尺寸。"
+
+#: config/rx/rx.opt:92
+msgid "Specifies the number of registers to reserve for interrupt handlers."
+msgstr "指定保留给中断处理函数使用的寄存器的数量"
+
+#: config/rx/rx.opt:98
+msgid "Specifies whether interrupt functions should save and restore the accumulator register."
+msgstr "指定中断函数是否要保存和恢复累积寄存器。"
+
+#: config/lm32/lm32.opt:24
+msgid "Enable multiply instructions"
+msgstr "启用乘法指令"
+
+#: config/lm32/lm32.opt:28
+msgid "Enable divide and modulus instructions"
+msgstr "启用除法和求余指令"
+
+#: config/lm32/lm32.opt:32
+msgid "Enable barrel shift instructions"
+msgstr "启用桶型移位指令"
+
+#: config/lm32/lm32.opt:36
+msgid "Enable sign extend instructions"
+msgstr "启用符号扩展指令"
+
+#: config/lm32/lm32.opt:40
+msgid "Enable user-defined instructions"
+msgstr "启用用户自定义指令"
+
+#: c.opt:42
 msgid "Assert the <answer> to <question>.  Putting '-' before <question> disables the <answer> to <question>"
 msgstr "给出 <问题> 的 <答案>。在 <问题> 前加一个‘-’将禁用此 <答案>"
 
-#: c.opt:45
+#: c.opt:46
 msgid "Do not discard comments"
 msgstr "不丢弃注释"
 
-#: c.opt:49
+#: c.opt:50
 msgid "Do not discard comments in macro expansions"
 msgstr "展开宏时不丢弃注释"
 
-#: c.opt:53
+#: c.opt:54
 msgid "Define a <macro> with <val> as its value.  If just <macro> is given, <val> is taken to be 1"
 msgstr "将 <宏> 定义为 <值>。如果只给出了 <宏>,<值> 将被定为 1"
 
-#: c.opt:60
+#: c.opt:61
 msgid "Add <dir> to the end of the main framework include path"
 msgstr "将 <目录> 添加至主框架包含路径的末尾"
 
-#: c.opt:64
+#: c.opt:65
 msgid "Print the name of header files as they are used"
 msgstr "打印使用到的头文件名"
 
-#: c.opt:68 c.opt:874
+#: c.opt:69 c.opt:906
 msgid "Add <dir> to the end of the main include path"
 msgstr "将 <目录> 添加至主包含路径末尾"
 
-#: c.opt:72
+#: c.opt:73
 msgid "Generate make dependencies"
 msgstr "生成 make 依赖项"
 
-#: c.opt:76
+#: c.opt:77
 msgid "Generate make dependencies and compile"
 msgstr "生成 make 依赖规则并编译"
 
-#: c.opt:80
+#: c.opt:81
 msgid "Write dependency output to the given file"
 msgstr "将依赖项输出到给定文件"
 
-#: c.opt:84
+#: c.opt:85
 msgid "Treat missing header files as generated files"
 msgstr "将缺失的头文件看作生成的文件"
 
-#: c.opt:88
+#: c.opt:89
 msgid "Like -M but ignore system header files"
 msgstr "与 -M 类似但是忽略系统头文件"
 
-#: c.opt:92
+#: c.opt:93
 msgid "Like -MD but ignore system header files"
 msgstr "与 -MD 类似但是忽略系统头文件"
 
-#: c.opt:96
+#: c.opt:97
 msgid "Generate phony targets for all headers"
 msgstr "为所有头文件生成伪目标"
 
-#: c.opt:100
+#: c.opt:101
 msgid "Add a MAKE-quoted target"
 msgstr "添加一个 MAKE 括起的目标"
 
-#: c.opt:104
+#: c.opt:105
 msgid "Add an unquoted target"
 msgstr "添加一个不括起的目标"
 
-#: c.opt:108
+#: c.opt:109
 msgid "Do not generate #line directives"
 msgstr "不生成 #line 指令"
 
-#: c.opt:112
+#: c.opt:113
 msgid "Undefine <macro>"
 msgstr "取消定义 <宏>"
 
-#: c.opt:116
+#: c.opt:117
 msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
 msgstr "当结果与 ABI 相容的编译器的编译结果不同时给出警告"
 
-#: c.opt:120
+#: c.opt:124
 msgid "Warn about suspicious uses of memory addresses"
 msgstr "使用可疑的内存地址时给出警告"
 
-#: c.opt:124
+#: c.opt:128
 msgid "Enable most warning messages"
 msgstr "启用大部分警告信息"
 
-#: c.opt:128
+#: c.opt:132
 msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
 msgstr "当 Objective-C 赋值可能为垃圾回收所介入时给出警告"
 
-#: c.opt:132
+#: c.opt:136
 msgid "Warn about casting functions to incompatible types"
 msgstr "当把函数转换为不兼容类型时给出警告"
 
-#: c.opt:136
+#: c.opt:140
 msgid "Warn when a built-in preprocessor macro is undefined or redefined"
-msgstr ""
+msgstr "当内建预处理宏未定义或重定义时给出警告"
 
-#: c.opt:140
+#: c.opt:144
 msgid "Warn about C constructs that are not in the common subset of C and C++"
 msgstr "当在 C 语言中使用了 C 与 C++ 交集以外的构造时给出警告"
 
-#: c.opt:144
+#: c.opt:148
 msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
 msgstr "当 C++ 构造的意义在 ISO C++ 1998 和 ISO C++ 200x 中不同时给出警告"
 
-#: c.opt:148
+#: c.opt:152
 msgid "Warn about casts which discard qualifiers"
 msgstr "当类型转换丢失限定信息时给出警告"
 
-#: c.opt:152
+#: c.opt:156
 msgid "Warn about subscripts whose type is \"char\""
 msgstr "当下标类型为“char”时给出警告"
 
-#: c.opt:156
+#: c.opt:160
 msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
 msgstr "对能为\"longjmp\"或\"vfork\"所篡改的变量给出警告"
 
-#: c.opt:160
+#: c.opt:164
 msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
 msgstr "对可能嵌套的注释和长度超过一个物理行长的 C++ 注释给出警告"
 
-#: c.opt:164
+#: c.opt:168
 msgid "Synonym for -Wcomment"
 msgstr "-Wcomment 的同义词"
 
-#: c.opt:168
+#: c.opt:172
 msgid "Warn for implicit type conversions that may change a value"
 msgstr "当隐式类型转换可能改变值时给出警告"
 
-#: c.opt:172
+#: c.opt:176
 msgid "Warn for implicit type conversions between signed and unsigned integers"
 msgstr "为有符号和无符号整数间的隐式类型转换给出警告"
 
-#: c.opt:176
+#: c.opt:180
 msgid "Warn when all constructors and destructors are private"
 msgstr "当所有构造函数和析构函数都是私有时给出警告"
 
-#: c.opt:180
+#: c.opt:184
 msgid "Warn when a declaration is found after a statement"
 msgstr "当声明出现在语句后时给出警告"
 
-#: c.opt:184
-msgid "Warn about deprecated compiler features"
-msgstr "使用不建议的编译器特性时给出警告"
-
 #: c.opt:188
+msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+msgstr "使用不建议的编译器特性、类、方法或字段时给出警告"
+
+#: c.opt:192
 msgid "Warn about compile-time integer division by zero"
 msgstr "对编译时发现的零除给出警告"
 
-#: c.opt:192
+#: c.opt:196
 msgid "Warn about violations of Effective C++ style rules"
-msgstr "对不遵循 Effetive C++ 的风格给出警告"
+msgstr "对不遵循《Effetive C++》的风格给出警告"
 
-#: c.opt:196
+#: c.opt:200
 msgid "Warn about an empty body in an if or else statement"
 msgstr "当 if 或 else 语句体为空时给出警告"
 
-#: c.opt:200
+#: c.opt:204
 msgid "Warn about stray tokens after #elif and #endif"
 msgstr "当 #elif 和 #endif 后面跟有其他标识符时给出警告"
 
-#: c.opt:204
+#: c.opt:208
 msgid "Warn about comparison of different enum types"
 msgstr "对不同枚举类型之间的比较给出警告"
 
-#: c.opt:212
+#: c.opt:216
 msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
 msgstr "不建议使用此开关;请改用 -Werror=implicit-function-declaration"
 
-#: c.opt:216
+#: c.opt:220
 msgid "Warn if testing floating point numbers for equality"
 msgstr "当比较浮点数是否相等时给出警告"
 
-#: c.opt:220
+#: c.opt:224
 msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
 msgstr "对 printf/scanf/strftime/strfmon 中的格式字符串异常给出警告"
 
-#: c.opt:224
+#: c.opt:228
 msgid "Warn if passing too many arguments to a function for its format string"
 msgstr "当传递给格式字符串的实参太多时给出警告"
 
-#: c.opt:228
+#: c.opt:232
 msgid "Warn about format strings that are not literals"
 msgstr "当格式字符串不是字面值时给出警告"
 
-#: c.opt:232
+#: c.opt:236
 msgid "Warn about format strings that contain NUL bytes"
 msgstr "当格式字符串包含 NUL 字节时给出警告"
 
-#: c.opt:236
+#: c.opt:240
 msgid "Warn about possible security problems with format functions"
 msgstr "当使用格式字符串的函数可能导致安全问题时给出警告"
 
-#: c.opt:240
+#: c.opt:244
 msgid "Warn about strftime formats yielding 2-digit years"
 msgstr "当 strftime 格式给出 2 位记年时给出警告"
 
-#: c.opt:244
+#: c.opt:248
 msgid "Warn about zero-length formats"
 msgstr "对长度为 0 的格式字符串给出警告"
 
-#: c.opt:251
+#: c.opt:255
 msgid "Warn whenever type qualifiers are ignored."
 msgstr "当类型限定符被忽略时给出警告。"
 
-#: c.opt:255
+#: c.opt:259
 msgid "Warn about variables which are initialized to themselves"
 msgstr "对初始化为自身的变量给出警告。"
 
-#: c.opt:262
+#: c.opt:266
 msgid "Warn about implicit function declarations"
 msgstr "对隐式函数声明给出警告"
 
-#: c.opt:266
+#: c.opt:270
 msgid "Warn when a declaration does not specify a type"
 msgstr "当声明未指定类型时给出警告"
 
-#: c.opt:273
+#: c.opt:277
 msgid "Warn when there is a cast to a pointer from an integer of a different size"
 msgstr "当将一个大小不同的整数转换为指针时给出警告"
 
-#: c.opt:277
+#: c.opt:281
 msgid "Warn about invalid uses of the \"offsetof\" macro"
 msgstr "对“offsetof”宏无效的使用给出警告"
 
-#: c.opt:281
+#: c.opt:285
 msgid "Warn about PCH files that are found but not used"
 msgstr "在找到了 PCH 文件但未使用的情况给出警告"
 
-#: c.opt:285
+#: c.opt:289
+msgid "Warn when a jump misses a variable initialization"
+msgstr "当跳转略过变量初始化时给出警告"
+
+#: c.opt:293
+msgid "Warn when a logical operator is suspiciously always evaluating to true or false"
+msgstr "当逻辑操作结果似乎总为真或假时给出警告"
+
+#: c.opt:297
 msgid "Do not warn about using \"long long\" when -pedantic"
 msgstr "当使用 -pedantic 时不对“long long”给出警告"
 
-#: c.opt:289
+#: c.opt:301
 msgid "Warn about suspicious declarations of \"main\""
 msgstr "对可疑的“main”声明给出警告"
 
-#: c.opt:293
+#: c.opt:305
 msgid "Warn about possibly missing braces around initializers"
 msgstr "若初始值设定项中可能缺少花括号则给出警告"
 
-#: c.opt:297
+#: c.opt:309
 msgid "Warn about global functions without previous declarations"
 msgstr "当全局函数没有前向声明时给出警告"
 
-#: c.opt:301
+#: c.opt:313
 msgid "Warn about missing fields in struct initializers"
 msgstr "若结构初始值设定项中缺少字段则给出警告"
 
-#: c.opt:305
+#: c.opt:317
 msgid "Warn about functions which might be candidates for format attributes"
 msgstr "当函数可能是 format 属性的备选时给出警告"
 
-#: c.opt:309
+#: c.opt:321
 msgid "Warn about user-specified include directories that do not exist"
 msgstr "当用户给定的包含目录不存在时给出警告"
 
-#: c.opt:313
+#: c.opt:325
 msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
 msgstr "K&R 风格函数参数声明中未指定类型限定符时给出警告"
 
-#: c.opt:317
+#: c.opt:329
 msgid "Warn about global functions without prototypes"
 msgstr "全局函数没有原型时给出警告"
 
-#: c.opt:321
+#: c.opt:333
 msgid "Warn about use of multi-character character constants"
 msgstr "使用多字节字符集的字符常量时给出警告"
 
-#: c.opt:325
+#: c.opt:337
 msgid "Warn about \"extern\" declarations not at file scope"
 msgstr "当“extern”声明不在文件作用域时给出警告"
 
-#: c.opt:329
+#: c.opt:341
 msgid "Warn when non-templatized friend functions are declared within a template"
 msgstr "在模板内声明未模板化的友元函数时给出警告"
 
-#: c.opt:333
+#: c.opt:345
 msgid "Warn about non-virtual destructors"
 msgstr "当析构函数不是虚函数时给出警告"
 
-#: c.opt:337
+#: c.opt:349
 msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
 msgstr "当将 NULL 传递给需要非 NULL 的参数的函数时给出警告"
 
-#: c.opt:341
+#: c.opt:353
 msgid "Warn about non-normalised Unicode strings"
 msgstr "为未归一化的 Unicode 字符串给出警告"
 
-#: c.opt:345
+#: c.opt:357
 msgid "Warn if a C-style cast is used in a program"
 msgstr "程序使用 C 风格的类型转换时给出警告"
 
-#: c.opt:349
+#: c.opt:361
 msgid "Warn for obsolescent usage in a declaration"
 msgstr "对声明中的过时用法给出警告"
 
-#: c.opt:353
+#: c.opt:365
 msgid "Warn if an old-style parameter definition is used"
 msgstr "使用旧式形参定义时给出警告"
 
-#: c.opt:357
+#: c.opt:369
 msgid "Warn if a string is longer than the maximum portable length specified by the standard"
 msgstr "当字符串长度超过标准规定的可移植的最大长度时给出警告"
 
-#: c.opt:361
+#: c.opt:373
 msgid "Warn about overloaded virtual function names"
 msgstr "重载虚函数名时给出警告"
 
-#: c.opt:365
+#: c.opt:377
 msgid "Warn about overriding initializers without side effects"
-msgstr "è¦\86ç\9b\96æ\97 å\89¯ä½\9cç\94¨ç\9a\84å\88\9då§\8bå\8c\96设定时给出警告"
+msgstr "è¦\86ç\9b\96æ\97 å\89¯ä½\9cç\94¨ç\9a\84å\88\9då§\8bå\80¼设定时给出警告"
 
-#: c.opt:369
+#: c.opt:381
+msgid "Warn about packed bit-fields whose offset changed in GCC 4.4"
+msgstr "当紧实位段的偏移量因 GCC 4.4 而改变时给出警告"
+
+#: c.opt:385
 msgid "Warn about possibly missing parentheses"
 msgstr "可能缺少括号的情况下给出警告"
 
-#: c.opt:373
+#: c.opt:389
 msgid "Warn when converting the type of pointers to member functions"
 msgstr "当改变成员函数指针的类型时给出警告"
 
-#: c.opt:377
+#: c.opt:393
 msgid "Warn about function pointer arithmetic"
 msgstr "当在算术表达式中使用函数指针时给出警告"
 
-#: c.opt:381
+#: c.opt:397
 msgid "Warn when a pointer is cast to an integer of a different size"
 msgstr "将一个指针转换为大小不同的整数时给出警告"
 
-#: c.opt:385
+#: c.opt:401
 msgid "Warn about misuses of pragmas"
 msgstr "对错误使用的 pragma 加以警告"
 
-#: c.opt:389
+#: c.opt:405
 msgid "Warn if inherited methods are unimplemented"
 msgstr "当继承来的方法未被实现时给出警告"
 
-#: c.opt:393
+#: c.opt:409
 msgid "Warn about multiple declarations of the same object"
 msgstr "对同一个对象多次声明时给出警告"
 
-#: c.opt:397
+#: c.opt:413
 msgid "Warn when the compiler reorders code"
 msgstr "编译器将代码重新排序时给出警告"
 
-#: c.opt:401
+#: c.opt:417
 msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
 msgstr "当 C 函数的返回值默认为“int”,或者 C++ 函数的返回类型不一致时给出警告"
 
-#: c.opt:405
+#: c.opt:421
 msgid "Warn if a selector has multiple methods"
 msgstr "当选择子有多个方法时给出警告"
 
-#: c.opt:409
+#: c.opt:425
 msgid "Warn about possible violations of sequence point rules"
 msgstr "当可能违反定序点规则时给出警告"
 
-#: c.opt:413
+#: c.opt:429
 msgid "Warn about signed-unsigned comparisons"
 msgstr "在有符号和无符号数间进行比较时给出警告"
 
-#: c.opt:417
+#: c.opt:433
 msgid "Warn when overload promotes from unsigned to signed"
 msgstr "当重载将无符号数提升为有符号数时给出警告"
 
-#: c.opt:421
+#: c.opt:437
 msgid "Warn about uncasted NULL used as sentinel"
 msgstr "将未作转换的 NULL 用作哨兵时给出警告"
 
-#: c.opt:425
+#: c.opt:441
 msgid "Warn about unprototyped function declarations"
 msgstr "使用了非原型的函数声明时给出警告"
 
-#: c.opt:429
+#: c.opt:445
 msgid "Warn if type signatures of candidate methods do not match exactly"
 msgstr "当备选方法的类型签字不完全匹配时给出警告"
 
-#: c.opt:433
+#: c.opt:449
 msgid "Warn when __sync_fetch_and_nand and __sync_nand_and_fetch built-in functions are used"
-msgstr ""
+msgstr "当 __sync_fetch_and_nand 和 __sync_nand_and_fetch 内建函数被使用时给出警告"
 
-#: c.opt:437
+#: c.opt:453
 msgid "Deprecated.  This switch has no effect"
 msgstr "不建议使用。此开关不起作用。"
 
-#: c.opt:441 common.opt:198
-msgid "Do not suppress warnings from system headers"
-msgstr "不抑制系统头文件中的警告"
-
-#: c.opt:445
+#: c.opt:461
 msgid "Warn about features not present in traditional C"
 msgstr "使用了传统 C 不支持的特性时给出警告"
 
-#: c.opt:449
+#: c.opt:465
 msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
 msgstr "原型导致的类型转换与无原型时的类型转换不同时给出警告"
 
-#: c.opt:453
+#: c.opt:469
 msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
 msgstr "当三字母序列可能影响程序意义时给出警告"
 
-#: c.opt:457
+#: c.opt:473
 msgid "Warn about @selector()s without previously declared methods"
 msgstr "当使用 @selector() 却不作事先声明时给出警告"
 
-#: c.opt:461
+#: c.opt:477
 msgid "Warn if an undefined macro is used in an #if directive"
 msgstr "当 #if 指令中用到未定义的宏时给出警告"
 
-#: c.opt:465
+#: c.opt:481
 msgid "Warn about unrecognized pragmas"
 msgstr "对无法识别的 pragma 加以警告"
 
-#: c.opt:469
+#: c.opt:485
+msgid "Warn about unsuffixed float constants"
+msgstr "对不带后缀的浮点常量给出警告"
+
+#: c.opt:489
 msgid "Warn about macros defined in the main file that are not used"
 msgstr "当定义在主文件中的宏未被使用时给出警告"
 
-#: c.opt:473
+#: c.opt:493
+msgid "Warn if a caller of a function, marked with attribute warn_unused_result, does not use its return value"
+msgstr "当一个带有 warn_unused_result 属性的函数的调用者未使用前者的返回值时给出警告"
+
+#: c.opt:497
 msgid "Do not warn about using variadic macros when -pedantic"
 msgstr "指定 -pedantic 时不为可变参数宏给出警告"
 
-#: c.opt:477
+#: c.opt:501
 msgid "Warn if a variable length array is used"
 msgstr "使用变长数组时警告"
 
-#: c.opt:481
+#: c.opt:505
 msgid "Warn when a register variable is declared volatile"
 msgstr "当一个寄存器变量被声明为 volatile 时给出警告"
 
-#: c.opt:485
+#: c.opt:509
 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."
-msgstr "在 C++ 中,非零值表示将字面字符串转换为‘char *’时给出警告。在 C 中,给出相似的警行,但这种类型转换并未为 ISO C 标准所不鼓励。"
+msgstr "在 C++ 中,非零值表示将字面字符串转换为‘char *’时给出警告。在 C 中,给出相似的警告,但这种类型转换是符合 ISO C 标准的。"
 
-#: c.opt:489
+#: c.opt:513
 msgid "Warn when a pointer differs in signedness in an assignment"
 msgstr "赋值时如指针符号不一致则给出警告"
 
-#: c.opt:493
+#: c.opt:517
 msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
 msgstr "-std=c89 (对 C 来说) 或 -std=c++98 (对 C++ 来说)的同义词"
 
-#: c.opt:501
+#: c.opt:525
 msgid "Enforce class member access control semantics"
 msgstr "执行类成员访问控制语义"
 
-#: c.opt:508
+#: c.opt:532
 msgid "Change when template instances are emitted"
 msgstr "使用不同的模板实例化实现"
 
-#: c.opt:512
+#: c.opt:536
 msgid "Recognize the \"asm\" keyword"
 msgstr "识别“asm”关键字"
 
-#: c.opt:516
+#: c.opt:540
 msgid "Recognize built-in functions"
 msgstr "识别内建函数"
 
-#: c.opt:523
+#: c.opt:547
 msgid "Check the return value of new"
 msgstr "检查 new 的返回值"
 
-#: c.opt:527
+#: c.opt:551
 msgid "Allow the arguments of the '?' operator to have different types"
 msgstr "允许‘?’运算符的参数有不同的类型"
 
-#: c.opt:531
+#: c.opt:555
 msgid "Reduce the size of object files"
 msgstr "减小目标文件"
 
-#: c.opt:535
+#: c.opt:559
 msgid "Use class <name> for constant strings"
 msgstr "使用 <名> 作为常量字符串类的名称"
 
-#: c.opt:539
+#: c.opt:563
+msgid "disable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list"
+msgstr "禁用为模板类型参数从花括号中的初始值设定列表演绎 std::initializer_list"
+
+#: c.opt:567
 msgid "Inline member functions by default"
 msgstr "默认内联成员函数"
 
-#: c.opt:543
+#: c.opt:571
 msgid "Preprocess directives only."
 msgstr "仅预处理指示。"
 
-#: c.opt:547
+#: c.opt:575
 msgid "Permit '$' as an identifier character"
 msgstr "允许‘$’作为标识符的一部分"
 
-#: c.opt:554
+#: c.opt:582
 msgid "Generate code to check exception specifications"
 msgstr "生成检查异常规范的代码"
 
-#: c.opt:561
+#: c.opt:589
 msgid "Convert all strings and character constants to character set <cset>"
 msgstr "将所有字符串和字符常量转换到 <字符集>"
 
-#: c.opt:565
+#: c.opt:593
 msgid "Permit universal character names (\\u and \\U) in identifiers"
 msgstr "允许标识符中出现 Unicode 字符名(\\u 和 \\U)"
 
-#: c.opt:569
+#: c.opt:597
 msgid "Specify the default character set for source files"
 msgstr "指定源代码的默认字符集"
 
-#: c.opt:577
+#: c.opt:605
 msgid "Scope of for-init-statement variables is local to the loop"
 msgstr "for 循环初始化中定义的变量作用域局限于循环内"
 
-#: c.opt:581
+#: c.opt:609
 msgid "Do not assume that standard C libraries and \"main\" exist"
 msgstr "不假定标准 C 库和“main”存在"
 
-#: c.opt:585
+#: c.opt:613
 msgid "Recognize GNU-defined keywords"
 msgstr "识别 GNU 定义的关键字"
 
-#: c.opt:589
+#: c.opt:617
 msgid "Generate code for GNU runtime environment"
 msgstr "为 GNU 运行时环境生成代码"
 
-#: c.opt:593
+#: c.opt:621
 msgid "Use traditional GNU semantics for inline functions"
 msgstr "为内联函数使用传统的 GNU 语义"
 
-#: c.opt:606
+#: c.opt:634
 msgid "Assume normal C execution environment"
 msgstr "假定一般的 C 执行环境"
 
-#: c.opt:610
+#: c.opt:638
 msgid "Enable support for huge objects"
 msgstr "启用对巨型对象的支持"
 
-#: c.opt:614
+#: c.opt:642
 msgid "Export functions even if they can be inlined"
 msgstr "导出被内联的函数"
 
-#: c.opt:618
+#: c.opt:646
 msgid "Emit implicit instantiations of inline templates"
 msgstr "允许内联模板隐式实例化"
 
-#: c.opt:622
+#: c.opt:650
 msgid "Emit implicit instantiations of templates"
 msgstr "允许模板隐式实例化"
 
-#: c.opt:626
+#: c.opt:654
 msgid "Inject friend functions into enclosing namespace"
 msgstr "将友元函数声明视作包含它的命名空间中的有效声明"
 
-#: c.opt:633
+#: c.opt:661
 msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
-msgstr "允许具有不同元素数量和/或元素类型的量间的转换"
+msgstr "允许具有不同元素数量和/或元素类型的量间的转换"
 
-#: c.opt:637
+#: c.opt:665
 msgid "Don't warn about uses of Microsoft extensions"
 msgstr "使用微软扩展时不给出警告"
 
-#: c.opt:647
+#: c.opt:675
 msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
 msgstr "为 NeXT (苹果 Mac OS X) 运行时环境生成代码"
 
-#: c.opt:651
+#: c.opt:679
 msgid "Assume that receivers of Objective-C messages may be nil"
 msgstr "假定 Objective-C 消息的接受者可能是 nil"
 
-#: c.opt:663
+#: c.opt:691
 msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
 msgstr "如果需要,生成特殊的 Objective-C 方法来初始化/析构非简单旧数据 C++ 变量"
 
-#: c.opt:667
+#: c.opt:695
 msgid "Allow fast jumps to the message dispatcher"
 msgstr "允许快速跳转至消息分发者"
 
-#: c.opt:673
+#: c.opt:701
 msgid "Enable Objective-C exception and synchronization syntax"
 msgstr "启用 Objective-C 异常和同步语法"
 
-#: c.opt:677
+#: c.opt:705
 msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
 msgstr "在 Objective-C/Objective-C++ 程序中启用垃圾收集"
 
-#: c.opt:682
+#: c.opt:710
 msgid "Enable Objective-C setjmp exception handling runtime"
 msgstr "启用 Objective-C setjmp 异常处理运行时"
 
-#: c.opt:686
-msgid "Enable OpenMP"
-msgstr "启用 OpenMP"
+#: c.opt:714
+msgid "Enable OpenMP (implies -frecursive in Fortran)"
+msgstr "启用 OpenMP(对 Fortran 而言也同时设定 -frecursive)"
 
-#: c.opt:690
+#: c.opt:718
 msgid "Recognize C++ keywords like \"compl\" and \"xor\""
 msgstr "识别“compl”、“xor”等 C++ 关键词"
 
-#: c.opt:694
+#: c.opt:722
 msgid "Enable optional diagnostics"
 msgstr "启动可选的诊断信息"
 
-#: c.opt:701
+#: c.opt:729
 msgid "Look for and use PCH files even when preprocessing"
 msgstr "即使在预处理时也搜索并使用 PCH 文件"
 
-#: c.opt:705
+#: c.opt:733
 msgid "Downgrade conformance errors to warnings"
 msgstr "将兼容性错误降格为警告"
 
-#: c.opt:709
+#: c.opt:737
 msgid "Treat the input file as already preprocessed"
 msgstr "将输入文件当作已经预处理过的"
 
-#: c.opt:713
+#: c.opt:741
+msgid "-fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments"
+msgstr "-fno-pretty-templates 不使用模板签名加实参的方式美化模板特例化的打印"
+
+#: c.opt:745
 msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
 msgstr "指定对象文件可能在运行时被换入以允许“修复并继续”调试模式"
 
-#: c.opt:717
+#: c.opt:749
 msgid "Enable automatic template instantiation"
 msgstr "启用模板自动实例化"
 
-#: c.opt:721
+#: c.opt:753
 msgid "Generate run time type descriptor information"
 msgstr "生成运行时类型描述信息"
 
-#: c.opt:725
+#: c.opt:757
 msgid "Use the same size for double as for float"
 msgstr "令 double 使用 float 的大小"
 
-#: c.opt:733
+#: c.opt:761
+msgid "Use the narrowest integer type possible for enumeration types"
+msgstr "为枚举类型使用尽可能窄的整数类型"
+
+#: c.opt:765
 msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
 msgstr "强制指定“wchar_t”的内在类型为“unsigned short”"
 
-#: c.opt:737
+#: c.opt:769
 msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
 msgstr "没有给定“signed”或“unsigned”时将位段视作有符号的"
 
-#: c.opt:741
+#: c.opt:773
 msgid "Make \"char\" signed by default"
 msgstr "使“char”类型默认为有符号"
 
-#: c.opt:748
+#: c.opt:780
 msgid "Display statistics accumulated during compilation"
 msgstr "显示编译过程中累计的统计数字"
 
-#: c.opt:755
+#: c.opt:787
 msgid "Distance between tab stops for column reporting"
 msgstr "指定报告列号时制表位间的距离"
 
-#: c.opt:759
+#: c.opt:791
 msgid "Specify maximum template instantiation depth"
 msgstr "指定模板实例化的最大深度"
 
-#: c.opt:766
+#: c.opt:798
 msgid "Do not generate thread-safe code for initializing local statics"
 msgstr "不为局部静态变量生成线程安全的初始化代码"
 
-#: c.opt:770
+#: c.opt:802
 msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
 msgstr "未指定“signed”或“unsigned”时默认位段为无符号的"
 
-#: c.opt:774
+#: c.opt:806
 msgid "Make \"char\" unsigned by default"
 msgstr "使“char”类型默认为无符号"
 
-#: c.opt:778
+#: c.opt:810
 msgid "Use __cxa_atexit to register destructors"
 msgstr "将 __cxa_atexit 而非 atexit 登记为析构函数"
 
-#: c.opt:782
+#: c.opt:814
 msgid "Use __cxa_get_exception_ptr in exception handling"
 msgstr "在异常处理中使用 __cxa_get_exception_ptr"
 
-#: c.opt:786
+#: c.opt:818
 msgid "Marks all inlined methods as having hidden visibility"
 msgstr "将所有内联函数标记为具有隐藏的可见性"
 
-#: c.opt:790
+#: c.opt:822
 msgid "Changes visibility to match Microsoft Visual Studio by default"
 msgstr "默认使用与 Microsoft Visual Studio 匹配的可见性"
 
-#: c.opt:794
+#: c.opt:826
 msgid "Discard unused virtual functions"
 msgstr "抛弃未使用的虚函数"
 
-#: c.opt:798
+#: c.opt:830
 msgid "Implement vtables using thunks"
 msgstr "使用 thunk 技术实现 vtable"
 
-#: c.opt:802
+#: c.opt:834
 msgid "Emit common-like symbols as weak symbols"
 msgstr "将公共符号视作弱符号"
 
-#: c.opt:806
+#: c.opt:838
 msgid "Convert all wide strings and character constants to character set <cset>"
 msgstr "将所有宽字符串和字符常量都转换为 <cset>"
 
-#: c.opt:810
+#: c.opt:842
 msgid "Generate a #line directive pointing at the current working directory"
 msgstr "生成一个指向当前工作目录的 #line 预处理指令"
 
-#: c.opt:814
+#: c.opt:846
 msgid "Emit cross referencing information"
 msgstr "生成交叉引用信息"
 
-#: c.opt:818
+#: c.opt:850
 msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
 msgstr "为 Zero-Link 模式生成后期类查找(通过 objc_getClass())"
 
-#: c.opt:822
+#: c.opt:854
 msgid "Dump declarations to a .decl file"
 msgstr "将声明转储到一个 .decl 文件中"
 
-#: c.opt:826
+#: c.opt:858
 msgid "Aggressive reduced debug info for structs"
 msgstr "积极地缩减结构体的调试信息"
 
-#: c.opt:830
+#: c.opt:862
 msgid "Conservative reduced debug info for structs"
 msgstr "保守地缩减结构体的调试信息"
 
-#: c.opt:834
+#: c.opt:866
 msgid "Detailed reduced debug info for structs"
 msgstr "详细指定如何缩减结构体的调试信息"
 
-#: c.opt:838 c.opt:870
+#: c.opt:870 c.opt:902
 msgid "Add <dir> to the end of the system include path"
 msgstr "将 <目录> 添加至系统包含路径末尾"
 
-#: c.opt:842
+#: c.opt:874
 msgid "Accept definition of macros in <file>"
 msgstr "接受 <文件> 中定义的宏"
 
-#: c.opt:846
+#: c.opt:878
 msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
 msgstr "-imultilib <目录> 将 <目录> 设定为 multilib 的包含子目录"
 
-#: c.opt:850
+#: c.opt:882
 msgid "Include the contents of <file> before other files"
 msgstr "在包含其他文件之前先包含 <文件> 的内容"
 
-#: c.opt:854
+#: c.opt:886
 msgid "Specify <path> as a prefix for next two options"
 msgstr "将 <路径> 指定为下两个选项的前缀"
 
-#: c.opt:858
+#: c.opt:890
 msgid "Set <dir> to be the system root directory"
 msgstr "将 <目录> 设为系统根目录"
 
-#: c.opt:862
+#: c.opt:894
 msgid "Add <dir> to the start of the system include path"
 msgstr "将 <目录> 添加至系统包含路径开头"
 
-#: c.opt:866
+#: c.opt:898
 msgid "Add <dir> to the end of the quote include path"
 msgstr "将 <目录> 添加至引号包含路径末尾"
 
-#: c.opt:884
+#: c.opt:916
 msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
 msgstr "不搜索标准系统头文件目录(但仍将使用由 -isystem 指定的目录)"
 
-#: c.opt:888
+#: c.opt:920
 msgid "Do not search standard system include directories for C++"
 msgstr "不搜索 C++ 标准系统头文件目录"
 
-#: c.opt:904
+#: c.opt:936
 msgid "Generate C header of platform-specific features"
 msgstr "生成有平台相关特性的 C 头文件"
 
-#: c.opt:908
+#: c.opt:940
 msgid "Print a checksum of the executable for PCH validity checking, and stop"
 msgstr "打印出用于 PCH 有效性检查的可执行文件的校验和,然后退出"
 
-#: c.opt:912
+#: c.opt:944
 msgid "Remap file names when including files"
 msgstr "包含文件时映射短文件名"
 
-#: c.opt:916
+#: c.opt:948
 msgid "Conform to the ISO 1998 C++ standard"
 msgstr "遵循 ISO 1998 C++ 标准"
 
-#: c.opt:920
+#: c.opt:952
 msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
 msgstr "遵循 ISO 1998 C++ 标准,也支持可能集成在下一个 ISO C++ 标准中的扩展"
 
-#: c.opt:927 c.opt:962
+#: c.opt:959 c.opt:994
 msgid "Conform to the ISO 1990 C standard"
 msgstr "遵循 ISO 1990 C 标准"
 
-#: c.opt:931 c.opt:970
+#: c.opt:963 c.opt:1002
 msgid "Conform to the ISO 1999 C standard"
 msgstr "遵循 ISO 1999 C 标准"
 
-#: c.opt:935
+#: c.opt:967
 msgid "Deprecated in favor of -std=c99"
 msgstr "不建议使用,请改用 -std=c99"
 
-#: c.opt:939
+#: c.opt:971
 msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
 msgstr "遵循 ISO 1998 C++ 标准,也支持 GNU 扩展"
 
-#: c.opt:943
+#: c.opt:975
 msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
 msgstr "遵循 ISO 1998 C++ 标准,也支持 GNU 扩展和可能集成在下一代 ISO C++ 标准中的扩展"
 
-#: c.opt:950
+#: c.opt:982
 msgid "Conform to the ISO 1990 C standard with GNU extensions"
 msgstr "遵循 ISO 1990 C 标准,也支持 GNU 扩展"
 
-#: c.opt:954
+#: c.opt:986
 msgid "Conform to the ISO 1999 C standard with GNU extensions"
 msgstr "遵循 ISO 1999 C 标准,也支持 GNU 扩展"
 
-#: c.opt:958
+#: c.opt:990
 msgid "Deprecated in favor of -std=gnu99"
 msgstr "不建议使用,请改用 -std=gnu99"
 
-#: c.opt:966
+#: c.opt:998
 msgid "Conform to the ISO 1990 C standard as amended in 1994"
 msgstr "遵循 ISO 1990 C 标准于 1994 年修订的版本"
 
-#: c.opt:974
+#: c.opt:1006
 msgid "Deprecated in favor of -std=iso9899:1999"
 msgstr "不建议使用,为 -std=iso9899:1999 所取代"
 
-#: c.opt:978
+#: c.opt:1010
 msgid "Enable traditional preprocessing"
 msgstr "启用传统预处理"
 
-#: c.opt:982
+#: c.opt:1014
 msgid "Support ISO C trigraphs"
 msgstr "支持 ISO C 三元符"
 
-#: c.opt:986
+#: c.opt:1018
 msgid "Do not predefine system-specific and GCC-specific macros"
 msgstr "不预定义系统或 GCC 特定的宏"
 
-#: c.opt:990
+#: c.opt:1022
 msgid "Enable verbose output"
 msgstr "启用详细输出"
 
+#: lto/lang.opt:29
+msgid "Run the link-time optimizer in local transformation (LTRANS) mode."
+msgstr "在局部转化(LTRANS)模式下运行链接时优化器。"
+
+#: lto/lang.opt:33
+msgid "Specify a file to which a list of files output by LTRANS is written."
+msgstr "指定存放 LTRANS 输出的文件列表的文件。"
+
+#: lto/lang.opt:37
+msgid "Run the link-time optimizer in whole program analysis (WPA) mode."
+msgstr "在全程序分析(WPA)模式下运行链接时优化器。"
+
+#: lto/lang.opt:41
+msgid "The resolution file"
+msgstr "符号解析文件"
+
 #: common.opt:28
 msgid "Display this information"
 msgstr "显示此信息"
@@ -15495,1252 +16670,1354 @@ msgstr "显示一或多项特定类型选项的描述。<类型>可能是 optimi
 msgid "Alias for --help=target"
 msgstr "--help=target 的别名"
 
-#: common.opt:52
+#: common.opt:55
 msgid "Set parameter <param> to value.  See below for a complete list of parameters"
 msgstr "将参数 <参数> 设为给定 <值>。下面给出所有参数的列表"
 
-#: common.opt:59
+#: common.opt:62
 msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
 msgstr "将小于 <数> 字节的全局和静态数据放入一个特殊的节中(在某些目标机上)"
 
-#: common.opt:63
+#: common.opt:66
 msgid "Set optimization level to <number>"
 msgstr "将优化等级设为 <数>"
 
-#: common.opt:67
+#: common.opt:70
 msgid "Optimize for space rather than speed"
 msgstr "为最小空间而不是最大速度优化"
 
-#: common.opt:71
+#: common.opt:74
 msgid "This switch is deprecated; use -Wextra instead"
 msgstr "不建议使用此开关;请改用 -Wextra"
 
-#: common.opt:75
+#: common.opt:78
 msgid "Warn about returning structures, unions or arrays"
 msgstr "当返回结构、联合或数组时给出警告"
 
-#: common.opt:79
+#: common.opt:82
 msgid "Warn if an array is accessed out of bounds"
 msgstr "当数组访问越界时给出警告"
 
-#: common.opt:83
+#: common.opt:86
 msgid "Warn about inappropriate attribute usage"
 msgstr "当对属性的使用不合适时给出警告"
 
-#: common.opt:87
+#: common.opt:90
 msgid "Warn about pointer casts which increase alignment"
 msgstr "当转换指针类型导致对齐边界增长时给出警告"
 
-#: common.opt:91
+#: common.opt:94
 msgid "Warn about uses of __attribute__((deprecated)) declarations"
 msgstr "对 __attribute__((deprecated)) 声明给出警告"
 
-#: common.opt:95
+#: common.opt:98
 msgid "Warn when an optimization pass is disabled"
 msgstr "当某趟优化被禁用时给出警告"
 
-#: common.opt:99
-msgid "Warn on calls to these functions"
-msgstr "调用这些函数时给出警告"
-
-#: common.opt:103
+#: common.opt:102
 msgid "Treat all warnings as errors"
 msgstr "所有的警告都当作是错误"
 
-#: common.opt:107
+#: common.opt:106
 msgid "Treat specified warning as error"
 msgstr "将指定的警告当作错误"
 
-#: common.opt:111
+#: common.opt:110
 msgid "Print extra (possibly unwanted) warnings"
 msgstr "打印额外(可能您并不想要)的警告信息"
 
-#: common.opt:115
+#: common.opt:114
 msgid "Exit on the first error occurred"
 msgstr "发现第一个错误时即退出"
 
-#: common.opt:119
+#: common.opt:118
 msgid "-Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes"
-msgstr "-Wframe-larger-than=<N>          当一个函数的堆栈框架需要多于 <N> 字节的内存时给出警告"
+msgstr "-Wframe-larger-than=<N>          当一个函数的栈帧需要多于 <N> 字节的内存时给出警告"
 
-#: common.opt:123
+#: common.opt:122
 msgid "Warn when an inlined function cannot be inlined"
 msgstr "当内联函数无法被内联时给出警告"
 
-#: common.opt:130
+#: common.opt:129
 msgid "Warn if an object is larger than <number> bytes"
 msgstr "当目标文件大于 <n> 字节时给出警告"
 
-#: common.opt:134
-msgid "Warn when a logical operator is suspicously always evaluating to true or false"
-msgstr "当逻辑操作结果总为真或假时给出警告"
-
-#: common.opt:138
+#: common.opt:133
 msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
 msgstr "当循环因为不平凡的假定而不能被优化时给出警告"
 
-#: common.opt:142
+#: common.opt:137
 msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
 msgstr "当函数可能是 __attribute__((noreturn)) 的备选时给出警告"
 
-#: common.opt:146
+#: common.opt:141
 msgid "Warn about constructs not instrumented by -fmudflap"
-msgstr ""
+msgstr "当构造未被 -fmudflap 处理时给出警告"
 
-#: common.opt:150
+#: common.opt:145
 msgid "Warn about overflow in arithmetic expressions"
 msgstr "算术表示式溢出时给出警告"
 
-#: common.opt:154
+#: common.opt:149
 msgid "Warn when the packed attribute has no effect on struct layout"
 msgstr "当 packed 属性对结构布局不起作用时给出警告"
 
-#: common.opt:158
+#: common.opt:153
 msgid "Warn when padding is required to align structure members"
 msgstr "当需要填补才能对齐结构成员时给出警告"
 
-#: common.opt:162
+#: common.opt:157
 msgid "Warn when one local variable shadows another"
 msgstr "当一个局部变量掩盖了另一个局部变量时给出警告"
 
-#: common.opt:166
+#: common.opt:161
 msgid "Warn when not issuing stack smashing protection for some reason"
 msgstr "当因为某种原因堆栈保护失效时给出警告"
 
-#: common.opt:170 common.opt:174
+#: common.opt:165 common.opt:169
 msgid "Warn about code which might break strict aliasing rules"
 msgstr "当代码可能破坏强重叠规则时给出警告"
 
-#: common.opt:178 common.opt:182
+#: common.opt:173 common.opt:177
 msgid "Warn about optimizations that assume that signed overflow is undefined"
 msgstr "禁用假定有符号数溢出行为未被定义的优化"
 
-#: common.opt:186
+#: common.opt:181
 msgid "Warn about enumerated switches, with no default, missing a case"
 msgstr "当使用枚举类型作为开关变量,没有提供 default 分支,但又缺少某个 case 时给出警告"
 
-#: common.opt:190
+#: common.opt:185
 msgid "Warn about enumerated switches missing a \"default:\" statement"
 msgstr "当使用枚举类型作为开关变量,但没有提供“default”分支时给出警告"
 
-#: common.opt:194
+#: common.opt:189
 msgid "Warn about all enumerated switches missing a specific case"
 msgstr "当使用枚举类型作为开关变量但又缺少某个 case 时给出警告"
 
-#: common.opt:202
+#: common.opt:193
+msgid "Do not suppress warnings from system headers"
+msgstr "不抑制系统头文件中的警告"
+
+#: common.opt:197
 msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
 msgstr "当由于数据类型范围限制比较结果永远为真或假时给出警告"
 
-#: common.opt:206
+#: common.opt:201
 msgid "Warn about uninitialized automatic variables"
 msgstr "自动变量未初始化时警告"
 
-#: common.opt:210
+#: common.opt:205
 msgid "Warn about code that will never be executed"
 msgstr "存在永远不被执行的代码时警告"
 
-#: common.opt:214
+#: common.opt:209
 msgid "Enable all -Wunused- warnings"
 msgstr "启用所有关于“XX未使用”的警告"
 
-#: common.opt:218
+#: common.opt:213
 msgid "Warn when a function is unused"
 msgstr "有未使用的函数时警告"
 
-#: common.opt:222
+#: common.opt:217
 msgid "Warn when a label is unused"
 msgstr "有未使用的标号时警告"
 
-#: common.opt:226
+#: common.opt:221
 msgid "Warn when a function parameter is unused"
 msgstr "发现未使用的函数指针时给出警告"
 
-#: common.opt:230
+#: common.opt:225
 msgid "Warn when an expression value is unused"
 msgstr "当一个表达式的值未被使用时给出警告"
 
-#: common.opt:234
+#: common.opt:229
 msgid "Warn when a variable is unused"
 msgstr "有未使用的变量时警告"
 
-#: common.opt:238
+#: common.opt:233
 msgid "Warn instead of error in case profiles in -fprofile-use do not match"
 msgstr "当 -fprofile-use 中的样本不匹配时给出警告而非错误"
 
-#: common.opt:242
+#: common.opt:237
 msgid "Emit declaration information into <file>"
 msgstr "将声明信息写入 <文件>"
 
-#: common.opt:255
+#: common.opt:250
 msgid "Enable dumps from specific passes of the compiler"
 msgstr "为指定的某趟汇译启用内存转储"
 
-#: common.opt:259
+#: common.opt:254
 msgid "Set the file basename to be used for dumps"
 msgstr "设定内存转储使用的文件名前缀"
 
-#: common.opt:279
+#: common.opt:274
 msgid "Align the start of functions"
 msgstr "对齐函数入口"
 
-#: common.opt:286
+#: common.opt:281
 msgid "Align labels which are only reached by jumping"
 msgstr "对齐只能为跳转所到达的标号"
 
-#: common.opt:293
+#: common.opt:288
 msgid "Align all labels"
 msgstr "对齐所有的标号"
 
-#: common.opt:300
+#: common.opt:295
 msgid "Align the start of loops"
 msgstr "对齐循环入口"
 
-#: common.opt:315
+#: common.opt:310
 msgid "Specify that arguments may alias each other and globals"
 msgstr "指定实参可能互相重叠,也可能与全局数据重叠"
 
-#: common.opt:319
+#: common.opt:314
 msgid "Assume arguments may alias globals but not each other"
 msgstr "假定实参可能与全局数据重叠,但互相不重叠"
 
-#: common.opt:323
+#: common.opt:318
 msgid "Assume arguments alias neither each other nor globals"
 msgstr "假定实参既不互相重叠,也不与全局数据重叠"
 
-#: common.opt:327
+#: common.opt:322
 msgid "Assume arguments alias no other storage"
 msgstr "假定实参不与其他存储重叠"
 
-#: common.opt:331
+#: common.opt:326
 msgid "Generate unwind tables that are exact at each instruction boundary"
 msgstr "生成精确到每条指令边界的堆栈展开表"
 
-#: common.opt:335
+#: common.opt:330
 msgid "Generate auto-inc/dec instructions"
 msgstr "生成 auto-inc/dec指令"
 
-#: common.opt:343
+#: common.opt:338
 msgid "Generate code to check bounds before indexing arrays"
 msgstr "生成检查数组访问是否越界的代码"
 
-#: common.opt:347
+#: common.opt:342
 msgid "Replace add, compare, branch with branch on count register"
 msgstr "将加/减法、比较、跳转指令序列替换为根据计数寄存器跳转指令"
 
-#: common.opt:351
+#: common.opt:346
 msgid "Use profiling information for branch probabilities"
 msgstr "为分支概率使用取样信息"
 
-#: common.opt:355
+#: common.opt:350
 msgid "Perform branch target load optimization before prologue / epilogue threading"
 msgstr "在开始/结末线程前进行分支目标载入优化"
 
-#: common.opt:359
+#: common.opt:354
 msgid "Perform branch target load optimization after prologue / epilogue threading"
 msgstr "在开始/结末线程后进行分支目标载入优化"
 
-#: common.opt:363
+#: common.opt:358
 msgid "Restrict target load migration not to re-use registers in any basic block"
 msgstr "限制目标载入融合不重用任何基本块中的寄存器"
 
-#: common.opt:367
+#: common.opt:362
 msgid "Mark <register> as being preserved across functions"
 msgstr "认为 <寄存器> 跨越函数调用时值不变"
 
-#: common.opt:371
+#: common.opt:366
 msgid "Mark <register> as being corrupted by function calls"
 msgstr "认为 <寄存器> 的值将被函数调用所改变"
 
-#: common.opt:378
+#: common.opt:373
 msgid "Save registers around function calls"
 msgstr "函数调用前后保存/恢复寄存器值"
 
-#: common.opt:382
+#: common.opt:377
 msgid "Compare the results of several data dependence analyzers."
 msgstr "比较几个数据依赖分析的结果。"
 
-#: common.opt:386
+#: common.opt:381
 msgid "Do not put uninitialized globals in the common section"
 msgstr "不将未初始化的全局数据放在公共节中"
 
-#: common.opt:390
+#: common.opt:385
+msgid "-fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump"
+msgstr "-fcompare-debug[=<选项>] 分别在带与不带“选项”,例如 -gtoggle,的情况下编译,然后比较最后的指令输出"
+
+#: common.opt:389
+msgid "Run only the second compilation of -fcompare-debug"
+msgstr "只为 -fcompare-debug 运行第二遍编译"
+
+#: common.opt:393
 msgid "Do not perform optimizations increasing noticeably stack usage"
-msgstr ""
+msgstr "不进行可能导致堆栈使用明显增长的优化"
 
-#: common.opt:394
+#: common.opt:397
 msgid "Perform a register copy-propagation optimization pass"
 msgstr "进行一趟寄存器副本传递优化"
 
-#: common.opt:398
+#: common.opt:401
 msgid "Perform cross-jumping optimization"
 msgstr "进行跨跳转优化"
 
-#: common.opt:402
+#: common.opt:405
 msgid "When running CSE, follow jumps to their targets"
 msgstr "进行 CSE 时,跟随跳转至目标"
 
-#: common.opt:406
-msgid "When running CSE, follow conditional jumps"
-msgstr "进行 CSE 时,跟随条件跳转"
+#: common.opt:409 common.opt:538 common.opt:759 common.opt:1001
+#: common.opt:1122 common.opt:1181 common.opt:1240 common.opt:1256
+#: common.opt:1328
+msgid "Does nothing.  Preserved for backward compatibility."
+msgstr "不起作用。为向前兼容保留的选项。"
 
-#: common.opt:410
+#: common.opt:413
 msgid "Omit range reduction step when performing complex division"
 msgstr "当进行复数除法时省略缩减范围的步骤"
 
-#: common.opt:414
+#: common.opt:417
 msgid "Complex multiplication and division follow Fortran rules"
-msgstr ""
+msgstr "复数乘除遵循 Fortran 规则"
 
-#: common.opt:418
+#: common.opt:421
 msgid "Place data items into their own section"
 msgstr "将每个数据项分别放在它们各自的节中"
 
-#: common.opt:422
+#: common.opt:425
 msgid "List all available debugging counters with their limits and counts."
 msgstr "列出所有可用的调试计数器及其极限和计数。"
 
-#: common.opt:426
+#: common.opt:429
 msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...]    Set the debug counter limit.   "
 msgstr "-fdbg-cnt=<计数器>:<极限>[,<计数器>:<极限>,...]    设定调试计数器极限。"
 
-#: common.opt:430
+#: common.opt:433
 msgid "Map one directory name to another in debug information"
 msgstr "在调试信息中将一个目录名映射到另一个"
 
-#: common.opt:436
+#: common.opt:439
 msgid "Defer popping functions args from stack until later"
 msgstr "延迟将函数实参弹栈"
 
-#: common.opt:440
+#: common.opt:443
 msgid "Attempt to fill delay slots of branch instructions"
-msgstr "试图利用延迟转移指令后"
+msgstr "尝试填充分支指令的延迟槽"
 
-#: common.opt:444
+#: common.opt:447
 msgid "Delete useless null pointer checks"
 msgstr "删除无用的空指针检查"
 
-#: common.opt:448
+#: common.opt:451
 msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
-msgstr ""
+msgstr "指定在自动换行的诊断信息开始给出源位置的频率"
 
-#: common.opt:452
+#: common.opt:455
 msgid "Amend appropriate diagnostic messages with the command line option that controls them"
 msgstr "在诊断信息后输出控制它们的命令行选项"
 
-#: common.opt:456
+#: common.opt:459
 msgid "Dump various compiler internals to a file"
 msgstr "将一些编译器内部信息转储到一个文件里"
 
-#: common.opt:460
+#: common.opt:463
+msgid "Dump to filename the insns at the end of translation"
+msgstr "在翻译完毕后将指令输出到文件名中"
+
+#: common.opt:467
 msgid "Suppress output of addresses in debugging dumps"
 msgstr "在调试转储中不输出地址"
 
-#: common.opt:464
+#: common.opt:471
 msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
 msgstr "在调试转储中不输出指令数、行号标记和地址"
 
-#: common.opt:468
+#: common.opt:475
+msgid "Suppress output of previous and next insn numbers in debugging dumps"
+msgstr "在调试转储中不输出前一条和后一条指令号码"
+
+#: common.opt:479
 msgid "Enable CFI tables via GAS assembler directives."
-msgstr ""
+msgstr "用 GAS 汇编指示来启用 CFI 表"
 
-#: common.opt:472
+#: common.opt:483
 msgid "Perform early inlining"
 msgstr "进行早内联"
 
-#: common.opt:476
+#: common.opt:487
 msgid "Perform DWARF2 duplicate elimination"
 msgstr "进行 DWARF2 冗余消除"
 
-#: common.opt:480 common.opt:484
+#: common.opt:491
+msgid "Perform interprocedural reduction of aggregates"
+msgstr "为聚合类型进行跨进程标量替换"
+
+#: common.opt:495 common.opt:499
 msgid "Perform unused type elimination in debug info"
 msgstr "在调试信息中进行无用类型消除"
 
-#: common.opt:488
+#: common.opt:503
 msgid "Do not suppress C++ class debug information."
 msgstr "保留 C++ 类调试信息。"
 
-#: common.opt:492
+#: common.opt:507
+msgid "Generate debug information to support Identical Code Folding (ICF)"
+msgstr "生成必要的调试信息以支持相同代码折叠(ICF)"
+
+#: common.opt:511
 msgid "Enable exception handling"
 msgstr "启用异常处理"
 
-#: common.opt:496
+#: common.opt:515
 msgid "Perform a number of minor, expensive optimizations"
 msgstr "进行一些细微的、代价高昂的优化"
 
-#: common.opt:503
+#: common.opt:519
+msgid "Specify handling of excess floating-point precision"
+msgstr "指定如何处理有额外精度的浮点数"
+
+#: common.opt:526
 msgid "Assume no NaNs or infinities are generated"
 msgstr "假定结果不会是 NaN 或无穷大浮点数"
 
-#: common.opt:507
+#: common.opt:530
 msgid "Mark <register> as being unavailable to the compiler"
 msgstr "认为 <寄存器> 对编译器而言不可用"
 
-#: common.opt:511
+#: common.opt:534
 msgid "Don't allocate floats and doubles in extended-precision registers"
 msgstr "不将单精度和双精度浮点数分配到扩展精度的寄存器中"
 
-#: common.opt:515 common.opt:726 common.opt:947 common.opt:1103
-#: common.opt:1162 common.opt:1178 common.opt:1238
-msgid "Does nothing.  Preserved for backward compatibility."
-msgstr "不起作用。为向前兼容保留的选项。"
-
-#: common.opt:519
+#: common.opt:542
 msgid "Perform a forward propagation pass on RTL"
 msgstr "进行 RTL 上的前向传递"
 
-#: common.opt:526
+#: common.opt:549
 msgid "Allow function addresses to be held in registers"
 msgstr "允许将函数地址保存在寄存器中"
 
-#: common.opt:530
+#: common.opt:553
 msgid "Place each function into its own section"
 msgstr "将每个函数分别放在它们各自的节中"
 
-#: common.opt:534
+#: common.opt:557
 msgid "Perform global common subexpression elimination"
-msgstr "è¿\9bè¡\8cå\85¨å±\80å\85¬å\9b å¼\8fæ¶\88å\8e»"
+msgstr "è¿\9bè¡\8cå\85¨å±\80å\85¬å\85±å­\90表达å¼\8fæ¶\88é\99¤"
 
-#: common.opt:538
+#: common.opt:561
 msgid "Perform enhanced load motion during global common subexpression elimination"
-msgstr "å\9c¨å\85¨å±\80å\85¬å\9b å¼\8fæ¶\88å\8e»中进行增强的读转移优化"
+msgstr "å\9c¨å\85¨å±\80å\85¬å\85±å­\90表达å¼\8fæ¶\88é\99¤中进行增强的读转移优化"
 
-#: common.opt:542
+#: common.opt:565
 msgid "Perform store motion after global common subexpression elimination"
-msgstr "å\9c¨å\85¨å±\80å\85¬å\9b å¼\8fæ¶\88å\8e»后进行存储转移"
+msgstr "å\9c¨å\85¨å±\80å\85¬å\85±å­\90表达å¼\8fæ¶\88é\99¤后进行存储转移"
 
-#: common.opt:546
+#: common.opt:569
 msgid "Perform redundant load after store elimination in global common subexpression"
-msgstr "å\9c¨å\85¨å±\80å\85¬å\9b å¼\8fæ¶\88å\8e»中进行冗余的写后读消除"
+msgstr "å\9c¨å\85¨å±\80å\85¬å\85±å­\90表达å¼\8fæ¶\88é\99¤中进行冗余的写后读消除"
 
-#: common.opt:551
+#: common.opt:574
 msgid "Perform global common subexpression elimination after register allocation"
-msgstr "å\9c¨å\88\86é\85\8då¯\84å­\98å\99¨å\90\8eè¿\9bè¡\8cå\85¨å±\80å\85¬å\9b å¼\8fæ¶\88å\8e»"
+msgstr "å\9c¨å\88\86é\85\8då¯\84å­\98å\99¨å\90\8eè¿\9bè¡\8cå\85¨å±\80å\85¬å\85±å­\90表达å¼\8fæ¶\88é\99¤"
 
-#: common.opt:556
-#, fuzzy
+#: common.opt:580
 msgid "Enable in and out of Graphite representation"
-msgstr "删除死存储"
+msgstr "启用 Graphite 表示的输入输出"
+
+#: common.opt:584
+msgid "Enable Graphite Identity transformation"
+msgstr "启用 Graphite 身份转换"
 
-#: common.opt:560
+#: common.opt:588
+msgid "Mark all loops as parallel"
+msgstr "将所有循环标记为并行"
+
+#: common.opt:592
 msgid "Enable Loop Strip Mining transformation"
 msgstr "启用循环条带开采转换"
 
-#: common.opt:564
+#: common.opt:596
 msgid "Enable Loop Interchange transformation"
 msgstr "启用循环交换转换"
 
-#: common.opt:568
+#: common.opt:600
 msgid "Enable Loop Blocking transformation"
 msgstr "启用循环分块转换"
 
-#: common.opt:572
-#, fuzzy
-msgid "Enable Graphite Identity transformation"
-msgstr "生成调用图信息"
-
-#: common.opt:576
+#: common.opt:604
 msgid "Enable guessing of branch probabilities"
 msgstr "启用分支概率猜测"
 
-#: common.opt:584
+#: common.opt:612
 msgid "Process #ident directives"
 msgstr "处理 #ident 指令"
 
-#: common.opt:588
+#: common.opt:616
 msgid "Perform conversion of conditional jumps to branchless equivalents"
 msgstr "将条件跳转替换为没有跳转的等值表示"
 
-#: common.opt:592
+#: common.opt:620
 msgid "Perform conversion of conditional jumps to conditional execution"
 msgstr "将条件跳转替换为条件执行"
 
-#: common.opt:600
+#: common.opt:628
 msgid "Do not generate .size directives"
-msgstr "不生成 .size 指令"
+msgstr "不生成 .size 指令"
 
-#: common.opt:604
+#: common.opt:632
 msgid "Perform indirect inlining"
 msgstr "进行间接内联"
 
-#: common.opt:613
+#: common.opt:641
 msgid "Pay attention to the \"inline\" keyword"
 msgstr "不忽略“inline”关键字"
 
-#: common.opt:617
+#: common.opt:645
 msgid "Integrate simple functions into their callers when code size is known to not growth"
 msgstr "在不导致代码膨胀的情况下将简单函数集成到它们的调用者中"
 
-#: common.opt:621
+#: common.opt:649
 msgid "Integrate simple functions into their callers"
 msgstr "将简单函数集成到它们的调用者中"
 
-#: common.opt:625
+#: common.opt:653
 msgid "Integrate functions called once into their callers"
 msgstr "将只被调用一次的函数集成到它们的调用者中"
 
-#: common.opt:632
+#: common.opt:660
 msgid "Limit the size of inlined functions to <number>"
 msgstr "将内联函数的大小限制在 <数> 以内"
 
-#: common.opt:636
+#: common.opt:664
 msgid "Instrument function entry and exit with profiling calls"
 msgstr "在函数入口和出口加入取样调用"
 
-#: common.opt:640
+#: common.opt:668
 msgid "-finstrument-functions-exclude-function-list=name,...  Do not instrument listed functions"
 msgstr "-finstrument-functions-exclude-function-list=函数名,...  取样时排除列出的函数"
 
-#: common.opt:644
+#: common.opt:672
 msgid "-finstrument-functions-exclude-file-list=filename,...  Do not instrument functions listed in files"
 msgstr "-finstrument-functions-exclude-file-list=文件名,...  取样时排除列出的文件中的函数"
 
-#: common.opt:648
+#: common.opt:676
 msgid "Perform Interprocedural constant propagation"
 msgstr "进行进程间的复写传递"
 
-#: common.opt:652
+#: common.opt:680
 msgid "Perform cloning to make Interprocedural constant propagation stronger"
 msgstr "进行复制以使跨进程常量传递更有效"
 
-#: common.opt:656
+#: common.opt:684
 msgid "Discover pure and const functions"
 msgstr "发现纯函数和常函数"
 
-#: common.opt:660
+#: common.opt:688
 msgid "Perform interprocedural points-to analysis"
 msgstr "进行进程间的指向分析"
 
-#: common.opt:664
+#: common.opt:692
 msgid "Discover readonly and non addressable static variables"
 msgstr "发现只读和不可寻址静态变量"
 
-#: common.opt:668
+#: common.opt:696
 msgid "Type based escape and alias analysis"
 msgstr "基于类型的转义和别名分析"
 
-#: common.opt:672
+#: common.opt:700
 msgid "Perform matrix layout flattening and transposing based"
 msgstr "进行基于取样的矩阵布局平面化和转秩"
 
-#: common.opt:677
+#: common.opt:705
 msgid "Perform structure layout optimizations based"
 msgstr "进行基于取样的结构布局优化"
 
-#: common.opt:682
-msgid "Use integrated register allocator."
-msgstr "使用集成寄存器分配器。"
+#: common.opt:710
+msgid "-fira-algorithm=[CB|priority] Set the used IRA algorithm"
+msgstr "-fira-algorithm=|CB|priority] 设置使用的 IRA 算法"
 
-#: common.opt:686
-msgid "-fira-algorithm=[regional|CB|mixed] Set the used IRA algorithm"
-msgstr "-fira-algorithm=[regional|CB|mixed] 指定使用的 IRA 算法"
+#: common.opt:714
+msgid "-fira-region=[one|all|mixed] Set regions for IRA"
+msgstr "-fira-region=[one|all|mixed] 设置 IRA 的区域"
 
-#: common.opt:690
+#: common.opt:718
 msgid "Do optimistic coalescing."
 msgstr "启用乐观的接合。"
 
-#: common.opt:694
+#: common.opt:722
+msgid "Use IRA based register pressure calculation"
+msgstr "使用基于 IRA 的寄存器压力计算"
+
+#: common.opt:727
 msgid "Share slots for saving different hard registers."
-msgstr ""
+msgstr "为保存不同的硬寄存器的共享槽。"
 
-#: common.opt:698
+#: common.opt:731
 msgid "Share stack slots for spilled pseudo-registers."
-msgstr ""
+msgstr "为溢出的伪寄存器共享堆栈槽。"
 
-#: common.opt:702
+#: common.opt:735
 msgid "-fira-verbose=<number> Control IRA's level of diagnostic messages."
 msgstr "-fira-verbose=<数字>   控制 IRA 诊断信息的级别。"
 
-#: common.opt:706
+#: common.opt:739
 msgid "Optimize induction variables on trees"
 msgstr "在树上优化归纳变量"
 
-#: common.opt:710
+#: common.opt:743
 msgid "Use jump tables for sufficiently large switch statements"
 msgstr "为足够大的 switch 语句使用跳转表"
 
-#: common.opt:714
+#: common.opt:747
 msgid "Generate code for functions even if they are fully inlined"
 msgstr "为完全内联的函数生成代码"
 
-#: common.opt:718
+#: common.opt:751
 msgid "Emit static const variables even if they are not used"
 msgstr "保留未用到的静态常量"
 
-#: common.opt:722
+#: common.opt:755
 msgid "Give external symbols a leading underscore"
 msgstr "给外部符号添加起始的下划线"
 
-#: common.opt:730
+#: common.opt:763
+msgid "Enable link-time optimization."
+msgstr "启用链接时优化。"
+
+#: common.opt:768
+msgid "-flto-compression-level=<number> Use zlib compression level <number> for IL"
+msgstr "-flto-compression-level=<N> 为 IL 使用 zlib 压缩级别<N>"
+
+#: common.opt:772
+msgid "Report various link-time optimization statistics"
+msgstr "报告各种链接时优化统计"
+
+#: common.opt:776
 msgid "Set errno after built-in math functions"
 msgstr "执行内建数学函数后设置 errno"
 
-#: common.opt:734
+#: common.opt:780
 msgid "Report on permanent memory allocation"
 msgstr "报告永久性内存分配"
 
-#: common.opt:741
+#: common.opt:787
 msgid "Attempt to merge identical constants and constant variables"
 msgstr "试图合并相同的常量和常变量"
 
-#: common.opt:745
+#: common.opt:791
 msgid "Attempt to merge identical constants across compilation units"
 msgstr "试图合并不同编译单元中的相同常量"
 
-#: common.opt:749
+#: common.opt:795
 msgid "Attempt to merge identical debug strings across compilation units"
 msgstr "试图合并不同编译单元中的相同调试字符串"
 
-#: common.opt:753
+#: common.opt:799
 msgid "Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping"
 msgstr "t将诊断信息限制在每行 <数字> 个字符每行。0 取消自动换行"
 
-#: common.opt:757
+#: common.opt:803
 msgid "Perform SMS based modulo scheduling before the first scheduling pass"
 msgstr "在首趟调度前进行基于 SMS 的模调度"
 
-#: common.opt:761
+#: common.opt:807
 msgid "Perform SMS based modulo scheduling with register moves allowed"
 msgstr "进行基于 SMS 且允许寄存器转移的模调度"
 
-#: common.opt:765
+#: common.opt:811
 msgid "Move loop invariant computations out of loops"
 msgstr "将每次循环中不变的计算外提"
 
-#: common.opt:769
+#: common.opt:815
 msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
 msgstr "为单线程程序添加 mudflap 边界检查"
 
-#: common.opt:773
+#: common.opt:819
 msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
 msgstr "为多线程程序添加 mudflap 边界检查"
 
-#: common.opt:777
+#: common.opt:823
 msgid "Ignore read operations when inserting mudflap instrumentation"
 msgstr "插入 mudflag 时忽略读操作"
 
-#: common.opt:781
+#: common.opt:827
 msgid "Use the RTL dead code elimination pass"
 msgstr "使用 RTL 死代码清除"
 
-#: common.opt:785
+#: common.opt:831
 msgid "Use the RTL dead store elimination pass"
 msgstr "使用 RTL 死存储清除"
 
-#: common.opt:789
+#: common.opt:835
 msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
 msgstr "启用/禁用已经通过模调度的循环中的传统调度"
 
-#: common.opt:793
+#: common.opt:839
 msgid "Support synchronous non-call exceptions"
 msgstr "支持同步非调用异常"
 
-#: common.opt:797
+#: common.opt:843
 msgid "When possible do not generate stack frames"
-msgstr "尽可能不生成堆栈框架"
+msgstr "尽可能不生成栈帧"
 
-#: common.opt:801
+#: common.opt:847
 msgid "Do the full register move optimization pass"
 msgstr "进行全寄存器传送优化"
 
-#: common.opt:805
+#: common.opt:851
 msgid "Optimize sibling and tail recursive calls"
 msgstr "优化同级递归和尾递归"
 
-#: common.opt:809 common.opt:813
+#: common.opt:855 common.opt:859
 msgid "Report on memory allocation before interprocedural optimization"
 msgstr "在跨进程优化前报告内存分配"
 
-#: common.opt:817
+#: common.opt:863
 msgid "Pack structure members together without holes"
 msgstr "将结构成员不带间隔地紧实存放"
 
-#: common.opt:821
+#: common.opt:867
 msgid "Set initial maximum structure member alignment"
 msgstr "设定结构成员最大对齐边界的初始值"
 
-#: common.opt:825
+#: common.opt:871
 msgid "Return small aggregates in memory, not registers"
 msgstr "在内存而不是寄存器中返回小聚合"
 
-#: common.opt:829
+#: common.opt:875
 msgid "Perform loop peeling"
 msgstr "进行循环剥离"
 
-#: common.opt:833
+#: common.opt:879
 msgid "Enable machine specific peephole optimizations"
 msgstr "启用机器相关的窥孔优化"
 
-#: common.opt:837
+#: common.opt:883
 msgid "Enable an RTL peephole pass before sched2"
 msgstr "在 sched2 前进行一趟 RTL 窥孔优化"
 
-#: common.opt:841
+#: common.opt:887
 msgid "Generate position-independent code if possible (large mode)"
 msgstr "尽可能生成与位置无关的代码(大模式)"
 
-#: common.opt:845
+#: common.opt:891
 msgid "Generate position-independent code for executables if possible (large mode)"
 msgstr "为可执行文件尽可能生成与位置无关的代码(大模式)"
 
-#: common.opt:849
+#: common.opt:895
 msgid "Generate position-independent code if possible (small mode)"
 msgstr "尽可能生成与位置无关的代码(小模式)"
 
-#: common.opt:853
+#: common.opt:899
 msgid "Generate position-independent code for executables if possible (small mode)"
 msgstr "为可执行文件尽可能生成与位置无关的代码(小模式)"
 
-#: common.opt:857
+#: common.opt:903
+msgid "Specify a plugin to load"
+msgstr "指定要加载的插件"
+
+#: common.opt:907
+msgid "-fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin <name>"
+msgstr "-fplugin-arg-<插件>-<键>[=<值>] 为<插件>指定参数<键>=<值>"
+
+#: common.opt:911
 msgid "Run predictive commoning optimization."
 msgstr "启用预测公因子优化。"
 
-#: common.opt:861
+#: common.opt:915
 msgid "Generate prefetch instructions, if available, for arrays in loops"
 msgstr "如果可用,为循环中的数组生成预取指令"
 
-#: common.opt:865
+#: common.opt:919
 msgid "Enable basic program profiling code"
 msgstr "启用基本程序取样代码"
 
-#: common.opt:869
+#: common.opt:923
 msgid "Insert arc-based program profiling code"
 msgstr "插入基于弧的程序取样代码"
 
-#: common.opt:873
+#: common.opt:927
 msgid "Set the top-level directory for storing the profile data."
 msgstr "指定存储的取样数据的顶级目录"
 
-#: common.opt:878
+#: common.opt:932
 msgid "Enable correction of flow inconsistent profile data input"
-msgstr ""
+msgstr "启用对流不一致取样数据输入的修正"
 
-#: common.opt:882
+#: common.opt:936
 msgid "Enable common options for generating profile info for profile feedback directed optimizations"
 msgstr "启用一些公共选项来生成样本文件,以便进行基于取样的优化"
 
-#: common.opt:886
-#, fuzzy
+#: common.opt:940
 msgid "Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir="
-msgstr "启用一些公共选项来生成样本文件,以便进行基于取样的优化"
+msgstr "启用生成取样信息的公共选项以支持基于取样反馈的优化,同时设置 -fprofile-dir="
 
-#: common.opt:890
+#: common.opt:944
 msgid "Enable common options for performing profile feedback directed optimizations"
 msgstr "启用一些公共选项以进行基于取样的优化"
 
-#: common.opt:894
-#, fuzzy
+#: common.opt:948
 msgid "Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir="
-msgstr "启用一些公共选项以进行基于取样的优化"
+msgstr "启用公共选项以进行基于取样反馈的优化,同时设置 -fprofile-dir="
 
-#: common.opt:898
+#: common.opt:952
 msgid "Insert code to profile values of expressions"
 msgstr "为取样表达式的值插入相关代码"
 
-#: common.opt:905
+#: common.opt:959
 msgid "Make compile reproducible using <string>"
 msgstr "使用 <字符串> 作用随机数种子以使编译结果可以复现"
 
-#: common.opt:915
+#: common.opt:969
 msgid "Record gcc command line switches in the object file."
 msgstr "在目标文件中记录 gcc 命令行开关。"
 
-#: common.opt:919
+#: common.opt:973
 msgid "Return small aggregates in registers"
 msgstr "在寄存器中返回小聚合"
 
-#: common.opt:923
+#: common.opt:977
 msgid "Enables a register move optimization"
 msgstr "启用寄存器传送优化"
 
-#: common.opt:927
+#: common.opt:981
 msgid "Perform a register renaming optimization pass"
 msgstr "进行寄存器重命名优化"
 
-#: common.opt:931
+#: common.opt:985
 msgid "Reorder basic blocks to improve code placement"
 msgstr "基本块重新排序以改善代码布局"
 
-#: common.opt:935
+#: common.opt:989
 msgid "Reorder basic blocks and partition into hot and cold sections"
 msgstr "对基本块重新排序并划分为热区和冷区"
 
-#: common.opt:939
+#: common.opt:993
 msgid "Reorder functions to improve code placement"
 msgstr "函数重新排序以改善代码布局"
 
-#: common.opt:943
+#: common.opt:997
 msgid "Add a common subexpression elimination pass after loop optimizations"
-msgstr "å\9c¨å¾ªç\8e¯ä¼\98å\8c\96ç»\93æ\9d\9få\90\8eå¢\9eå\8a ä¸\80è¶\9få\85¬å\9b å¼\8fæ¶\88å\8e»"
+msgstr "å\9c¨å¾ªç\8e¯ä¼\98å\8c\96ç»\93æ\9d\9få\90\8eå¢\9eå\8a ä¸\80è¶\9få\85¬å\85±å­\90表达å¼\8fæ¶\88é\99¤"
 
-#: common.opt:951
+#: common.opt:1005
 msgid "Disable optimizations that assume default FP rounding behavior"
 msgstr "禁用假定默认浮点舍入行为的优化"
 
-#: common.opt:955
+#: common.opt:1009
 msgid "Enable scheduling across basic blocks"
 msgstr "启用基本块间的调度"
 
-#: common.opt:959
+#: common.opt:1013
+msgid "Enable register pressure sensitive insn scheduling"
+msgstr "启用对寄存器压力敏感的指令调度"
+
+#: common.opt:1017
 msgid "Allow speculative motion of non-loads"
 msgstr "允许非载入的投机移动"
 
-#: common.opt:963
+#: common.opt:1021
 msgid "Allow speculative motion of some loads"
 msgstr "允许一些载入的投机移动"
 
-#: common.opt:967
+#: common.opt:1025
 msgid "Allow speculative motion of more loads"
 msgstr "允许更多载入的投机移动"
 
-#: common.opt:971
+#: common.opt:1029
 msgid "Set the verbosity level of the scheduler"
 msgstr "指定调度器输出的冗余程度"
 
-#: common.opt:975
+#: common.opt:1033
 msgid "If scheduling post reload, do superblock scheduling"
 msgstr "在重载后调度中使用跨基本块调度"
 
-#: common.opt:979
+#: common.opt:1037
 msgid "If scheduling post reload, do trace scheduling"
-msgstr ""
+msgstr "如果在重新载入之后调度,则进行调度追踪"
 
-#: common.opt:983
+#: common.opt:1041
 msgid "Reschedule instructions before register allocation"
 msgstr "分配寄存器前重新调度指令"
 
-#: common.opt:987
+#: common.opt:1045
 msgid "Reschedule instructions after register allocation"
 msgstr "分配寄存器后重新调度指令"
 
-#: common.opt:994
+#: common.opt:1052
 msgid "Schedule instructions using selective scheduling algorithm"
-msgstr ""
+msgstr "用选择性调度算法调度指令"
 
-#: common.opt:998
-#, fuzzy
+#: common.opt:1056
 msgid "Run selective scheduling after reload"
-msgstr "在重加载后使用数据投机"
+msgstr "在重加载后使用选择性调度"
 
-#: common.opt:1002
+#: common.opt:1060
 msgid "Perform software pipelining of inner loops during selective scheduling"
-msgstr ""
+msgstr "在选择性调度中对内层循环进行软件流水化"
 
-#: common.opt:1006
+#: common.opt:1064
 msgid "Perform software pipelining of outer loops during selective scheduling"
-msgstr ""
+msgstr "在选择性调度中对外层循环进行软件流水化"
 
-#: common.opt:1010
+#: common.opt:1068
 msgid "Reschedule pipelined regions without pipelining"
-msgstr ""
+msgstr "重新调度没有被流水线化的流水线区域"
 
-#: common.opt:1016
+#: common.opt:1074
 msgid "Allow premature scheduling of queued insns"
 msgstr "允许对队列中的指令进行早调度"
 
-#: common.opt:1020
+#: common.opt:1078
 msgid "Set number of queued insns that can be prematurely scheduled"
-msgstr ""
+msgstr "指定能被早期调度的在排队中的指令的最大数量"
 
-#: common.opt:1028 common.opt:1032
+#: common.opt:1086 common.opt:1090
 msgid "Set dependence distance checking in premature scheduling of queued insns"
-msgstr ""
+msgstr "设置排队中指令的进行早调度的依赖距离检查"
 
-#: common.opt:1036
-msgid "Access data in the same section from shared anchor points"
-msgstr ""
+#: common.opt:1094
+msgid "Enable the group heuristic in the scheduler"
+msgstr "在调度器中启用组启发"
 
-#: common.opt:1040
-msgid "Perform sequence abstraction optimization on RTL"
-msgstr "在 RTL 级进行序列抽象优化"
+#: common.opt:1098
+msgid "Enable the critical path heuristic in the scheduler"
+msgstr "为调度器启用关键路径启发式发现"
 
-#: common.opt:1044
-msgid "Eliminate redundant sign extensions using LCM."
-msgstr "使ç\94¨ LCM æ¶\88é\99¤å¤\9aä½\99ç\9a\84符å\8f·æ\89©å±\95ã\80\82"
+#: common.opt:1102
+msgid "Enable the speculative instruction heuristic in the scheduler"
+msgstr "为è°\83度å\99¨å\90¯ç\94¨æ\8a\95æ\9cºæ\8c\87令å\90¯å\8f\91å¼\8få\8f\91ç\8e°"
 
-#: common.opt:1048
-msgid "Show column numbers in diagnostics, when available.  Default off"
-msgstr "å½\93å\8f¯ç\94¨æ\97¶å\9c¨è¯\8aæ\96­ä¿¡æ\81¯ä¸­ç»\99å\87ºè¡\8cå\8f·ã\80\82é»\98认å\85³é\97­"
+#: common.opt:1106
+msgid "Enable the rank heuristic in the scheduler"
+msgstr "å\9c¨è°\83度å\99¨ä¸­å\90¯ç\94¨ç§©å\90¯å\8f\91"
 
-#: common.opt:1052
+#: common.opt:1110
+msgid "Enable the last instruction heuristic in the scheduler"
+msgstr "为调度器启用最近指令启发式发现"
+
+#: common.opt:1114
+msgid "Enable the dependent count heuristic in the scheduler"
+msgstr "为调度器启用依赖计数启发式发现"
+
+#: common.opt:1118
+msgid "Access data in the same section from shared anchor points"
+msgstr "从共享的锚点访问在同样的节中的数据"
+
+#: common.opt:1126
+msgid "Show column numbers in diagnostics, when available.  Default on"
+msgstr "诊断信息中给出行号。默认打开"
+
+#: common.opt:1130
 msgid "Disable optimizations observable by IEEE signaling NaNs"
-msgstr "禁用为 IEEE 讯息 NaN 可见的优化"
+msgstr "禁用为 IEEE NaN 可见的优化"
 
-#: common.opt:1056
+#: common.opt:1134
 msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
-msgstr "禁用忽略 IEEE 符号的浮点优化"
+msgstr "禁用忽略 IEEE 中零的符号的浮点优化"
 
-#: common.opt:1060
+#: common.opt:1138
 msgid "Convert floating point constants to single precision constants"
 msgstr "将浮点常量转换为单精度常量"
 
-#: common.opt:1064
+#: common.opt:1142
 msgid "Split lifetimes of induction variables when loops are unrolled"
 msgstr "展开循环时分离归纳变量的生存期"
 
-#: common.opt:1068
+#: common.opt:1146
 msgid "Split wide types into independent registers"
 msgstr "将宽类型分割到独立的寄存器中"
 
-#: common.opt:1072
+#: common.opt:1150
 msgid "Apply variable expansion when loops are unrolled"
 msgstr "展开循环时也展开变量"
 
-#: common.opt:1076
+#: common.opt:1154
 msgid "Insert stack checking code into the program"
 msgstr "在程序中插入检查栈溢出的代码"
 
-#: common.opt:1080
-#, fuzzy
+#: common.opt:1158
 msgid "Insert stack checking code into the program.  Same as -fstack-check=specific"
-msgstr "在程序中插入检查栈溢出的代码"
+msgstr "在程序中插入检查栈溢出的代码。与 fstack-check=specific 相同"
 
-#: common.opt:1087
+#: common.opt:1165
 msgid "Trap if the stack goes past <register>"
 msgstr "当堆栈越过 <寄存器> 时引发陷阱"
 
-#: common.opt:1091
+#: common.opt:1169
 msgid "Trap if the stack goes past symbol <name>"
 msgstr "当堆栈越过 <name> 时引发陷阱"
 
-#: common.opt:1095
+#: common.opt:1173
 msgid "Use propolice as a stack protection method"
 msgstr "使用 propolice 来保护堆栈"
 
-#: common.opt:1099
+#: common.opt:1177
 msgid "Use a stack protection method for every function"
 msgstr "为每个函数使用堆栈保护机制"
 
-#: common.opt:1111
+#: common.opt:1189
 msgid "Assume strict aliasing rules apply"
 msgstr "假定应用强重叠规则"
 
-#: common.opt:1115
+#: common.opt:1193
 msgid "Treat signed overflow as undefined"
 msgstr "将有符号数溢出的行为视为未定义的"
 
-#: common.opt:1119
+#: common.opt:1197
 msgid "Check for syntax errors, then stop"
 msgstr "检查语法错误,然后停止"
 
-#: common.opt:1123
+#: common.opt:1201
 msgid "Create data files needed by \"gcov\""
 msgstr "生成“gcov”需要的数据文件"
 
-#: common.opt:1127
+#: common.opt:1205
 msgid "Perform jump threading optimizations"
 msgstr "进行跳转线程优化"
 
-#: common.opt:1131
+#: common.opt:1209
 msgid "Report the time taken by each compiler pass"
 msgstr "报告每趟汇编的耗时"
 
-#: common.opt:1135
+#: common.opt:1213
 msgid "Set the default thread-local storage code generation model"
 msgstr "设定默认的线程局部存储代码生成模式"
 
-#: common.opt:1139
+#: common.opt:1217
 msgid "Reorder top level functions, variables, and asms"
-msgstr "重新排序文件域的函数、变量和汇编"
+msgstr "重新排序文件作用域的函数、变量和汇编"
 
-#: common.opt:1143
+#: common.opt:1221
 msgid "Perform superblock formation via tail duplication"
 msgstr "通过尾复制进行超块合成"
 
-#: common.opt:1150
+#: common.opt:1228
 msgid "Assume floating-point operations can trap"
 msgstr "假定浮点运算可能引发陷阱"
 
-#: common.opt:1154
+#: common.opt:1232
 msgid "Trap for signed overflow in addition, subtraction and multiplication"
 msgstr "加法、减法或乘法溢出时激活陷阱"
 
-#: common.opt:1158
+#: common.opt:1236
 msgid "Enable SSA-CCP optimization on trees"
 msgstr "启用树上的 SSA-CCP 优化"
 
-#: common.opt:1166
+#: common.opt:1244
 msgid "Enable loop header copying on trees"
 msgstr "启用树上的循环不变量转移"
 
-#: common.opt:1170
+#: common.opt:1248
 msgid "Replace SSA temporaries with better names in copies"
 msgstr "将 SSA 临时变量重命名为更易理解的名称"
 
-#: common.opt:1174
+#: common.opt:1252
 msgid "Enable copy propagation on trees"
 msgstr "在树级别进行复写传递"
 
-#: common.opt:1182
+#: common.opt:1260
 msgid "Transform condition stores into unconditional ones"
 msgstr "将条件存储转换为非条件存储"
 
-#: common.opt:1186
-#, fuzzy
+#: common.opt:1264
 msgid "Perform conversions of switch initializations."
-msgstr "将条件跳转替换为条件执行"
+msgstr "转换开关初始化"
 
-#: common.opt:1190
+#: common.opt:1268
 msgid "Enable SSA dead code elimination optimization on trees"
 msgstr "启用树上的 SSA 死代码消除优化"
 
-#: common.opt:1194
+#: common.opt:1272
 msgid "Enable dominator optimizations"
 msgstr "启用主导优化"
 
-#: common.opt:1198
+#: common.opt:1276
 msgid "Enable dead store elimination"
 msgstr "删除死存储"
 
-#: common.opt:1202
+#: common.opt:1280
+msgid "Enable forward propagation on trees"
+msgstr "在树级别进行前向复写传递"
+
+#: common.opt:1284
 msgid "Enable Full Redundancy Elimination (FRE) on trees"
 msgstr "启用树上的完全冗余消除(FRE)"
 
-#: common.opt:1206
+#: common.opt:1288
 msgid "Enable loop distribution on trees"
 msgstr "在树上进行循环分配"
 
-#: common.opt:1210
+#: common.opt:1292
 msgid "Enable loop invariant motion on trees"
 msgstr "启用树上的循环不变量转移"
 
-#: common.opt:1214
+#: common.opt:1296
 msgid "Enable linear loop transforms on trees"
 msgstr "启用树上的线性循环变换"
 
-#: common.opt:1218
+#: common.opt:1300
 msgid "Create canonical induction variables in loops"
 msgstr "在循环中生成正规的归纳变量"
 
-#: common.opt:1222
+#: common.opt:1304
 msgid "Enable loop optimizations on tree level"
 msgstr "在树级别进行循环优化"
 
-#: common.opt:1226
+#: common.opt:1308
 msgid "Enable automatic parallelization of loops"
 msgstr "启用循环的自动并行化"
 
-#: common.opt:1230
+#: common.opt:1312
+msgid "Enable hoisting loads from conditional pointers."
+msgstr "为条件指针外提内存读取操作。"
+
+#: common.opt:1316
 msgid "Enable SSA-PRE optimization on trees"
 msgstr "启用树上的 SSA-PRE 优化"
 
-#: common.opt:1234
+#: common.opt:1320
+msgid "Perform function-local points-to analysis on trees."
+msgstr "在树上进行函数内的指向分析。"
+
+#: common.opt:1324
 msgid "Enable reassociation on tree level"
 msgstr "在树级别进行重结合"
 
-#: common.opt:1242
+#: common.opt:1332
 msgid "Enable SSA code sinking on trees"
 msgstr "启用树上的 SSA 代码下沉优化"
 
-#: common.opt:1246
+#: common.opt:1336
 msgid "Perform scalar replacement of aggregates"
 msgstr "为聚合类型进行标量替换"
 
-#: common.opt:1250
+#: common.opt:1340
 msgid "Replace temporary expressions in the SSA->normal pass"
 msgstr "在 SSA->normal 过程中替换临时表达式"
 
-#: common.opt:1254
+#: common.opt:1344
 msgid "Perform live range splitting during the SSA->normal pass"
 msgstr "在 SSA->normal 过程中分离活动范围"
 
-#: common.opt:1258
+#: common.opt:1348
 msgid "Perform Value Range Propagation on trees"
 msgstr "进行树上的值域传递"
 
-#: common.opt:1262
+#: common.opt:1352
 msgid "Compile whole compilation unit at a time"
 msgstr "一次编译一整个编译单元"
 
-#: common.opt:1266
+#: common.opt:1356
 msgid "Perform loop unrolling when iteration count is known"
 msgstr "展开所有迭代次数已知的循环"
 
-#: common.opt:1270
+#: common.opt:1360
 msgid "Perform loop unrolling for all loops"
 msgstr "展开所有循环"
 
-#: common.opt:1277
+#: common.opt:1367
 msgid "Allow loop optimizations to assume that the loops behave in normal way"
 msgstr "允许假定循环以“正常”方式动作的循环优化"
 
-#: common.opt:1281
+#: common.opt:1371
 msgid "Allow optimization for floating-point arithmetic which may change the"
 msgstr "允许可能因不同舍入模式而改变结果的浮点算术优化。"
 
-#: common.opt:1286
+#: common.opt:1376
 msgid "Same as -fassociative-math for expressions which include division."
 msgstr "与 -fassociative-math 相同,作用于包含除法的表达式。"
 
-#: common.opt:1294
+#: common.opt:1384
 msgid "Allow math optimizations that may violate IEEE or ISO standards"
 msgstr "允许可能违反 IEEE 或 ISO 标准的优化"
 
-#: common.opt:1298
+#: common.opt:1388
 msgid "Perform loop unswitching"
 msgstr "外提循环内的测试语句"
 
-#: common.opt:1302
+#: common.opt:1392
 msgid "Just generate unwind tables for exception handling"
 msgstr "仅为异常处理生成堆栈展开表"
 
-#: common.opt:1306
+#: common.opt:1399
 msgid "Perform variable tracking"
 msgstr "进行变量跟踪"
 
-#: common.opt:1310
+#: common.opt:1403
+msgid "Perform variable tracking by annotating assignments"
+msgstr "评注赋值以进行变量跟踪"
+
+#: common.opt:1407
+msgid "Toggle -fvar-tracking-assignments"
+msgstr "切换 -fvar-tracking-assignments"
+
+#: common.opt:1411
 msgid "Perform variable tracking and also tag variables that are uninitialized"
 msgstr "进行变量追踪并且标记未被初始化的变量"
 
-#: common.opt:1314
+#: common.opt:1415
 msgid "Enable loop vectorization on trees"
-msgstr "在树上进行循环矢量化"
+msgstr "在树上进行循环向量化"
+
+#: common.opt:1419
+msgid "Enable basic block vectorization (SLP) on trees"
+msgstr "在树上进行基本块向量化(SLP)"
 
-#: common.opt:1318
+#: common.opt:1423
 msgid "Enable use of cost model in vectorization"
-msgstr "启用量化开销模型"
+msgstr "启用量化开销模型"
 
-#: common.opt:1322
+#: common.opt:1427
 msgid "Enable loop versioning when doing loop vectorization on trees"
-msgstr "在树上进行循环量化时启用多版本循环"
+msgstr "在树上进行循环量化时启用多版本循环"
 
-#: common.opt:1326
+#: common.opt:1431
 msgid "Set the verbosity level of the vectorizer"
-msgstr "设置量化器输出的冗余程度"
+msgstr "设置量化器输出的冗余程度"
 
-#: common.opt:1330
+#: common.opt:1435
 msgid "Enable copy propagation of scalar-evolution information."
 msgstr "为标量演化信息进行复写传递。"
 
-#: common.opt:1340
+#: common.opt:1445
 msgid "Add extra commentary to assembler output"
 msgstr "为汇编输出添加额外注释"
 
-#: common.opt:1344
+#: common.opt:1449
 msgid "Set the default symbol visibility"
 msgstr "设置默认的符号可见性"
 
-#: common.opt:1349
+#: common.opt:1454
 msgid "Use expression value profiles in optimizations"
 msgstr "在优化中使用表达式值样本提供的信息"
 
-#: common.opt:1353
+#: common.opt:1458
 msgid "Construct webs and split unrelated uses of single variable"
 msgstr "建立关系网并且分离对同一变量的无关应用"
 
-#: common.opt:1357
+#: common.opt:1462
+msgid "Enable partitioned link-time optimization."
+msgstr "启用分拆链接器优化"
+
+#: common.opt:1466
 msgid "Enable conditional dead code elimination for builtin calls"
 msgstr "为内建函数启用有条件的死代码消除优化"
 
-#: common.opt:1361
+#: common.opt:1470
 msgid "Perform whole program optimizations"
 msgstr "进行全程序优化"
 
-#: common.opt:1365
+#: common.opt:1474
 msgid "Assume signed arithmetic overflow wraps around"
 msgstr "假定有符号运算溢出时回绕"
 
-#: common.opt:1369
+#: common.opt:1478
 msgid "Put zero initialized data in the bss section"
 msgstr "将初始化为零的数据存放在 bss 节中"
 
-#: common.opt:1373
+#: common.opt:1482
 msgid "Generate debug information in default format"
 msgstr "生成默认格式的调试信息"
 
-#: common.opt:1377
+#: common.opt:1486
 msgid "Generate debug information in COFF format"
 msgstr "生成 COFF 格式的调试信息"
 
-#: common.opt:1381
-msgid "Generate debug information in DWARF v2 format"
-msgstr "生成 DWARF v2 格式的调试信息"
+#: common.opt:1490
+msgid "Generate debug information in DWARF v2 (or later) format"
+msgstr "生成 DWARF v2(或更新)格式的调试信息"
 
-#: common.opt:1385
+#: common.opt:1494
 msgid "Generate debug information in default extended format"
 msgstr "生成默认扩展格式的调试信息"
 
-#: common.opt:1389
+#: common.opt:1498
 msgid "Generate debug information in STABS format"
 msgstr "生成 STABS 格式的调试信息"
 
-#: common.opt:1393
+#: common.opt:1502
 msgid "Generate debug information in extended STABS format"
 msgstr "生成扩展 STABS 格式的调试信息"
 
-#: common.opt:1397
+#: common.opt:1506
+msgid "Emit DWARF additions beyond selected version"
+msgstr "生成较所选版本更先进的 DWARF 附加信息"
+
+#: common.opt:1510
+msgid "Don't emit DWARF additions beyond selected version"
+msgstr "不生成较所选版本更先进的 DWARF 附加信息"
+
+#: common.opt:1514
+msgid "Toggle debug information generation"
+msgstr "切换调试信息生成"
+
+#: common.opt:1518
 msgid "Generate debug information in VMS format"
 msgstr "生成 VMS 格式的调试信息"
 
-#: common.opt:1401
+#: common.opt:1522
 msgid "Generate debug information in XCOFF format"
 msgstr "生成 XCOFF 格式的调试信息"
 
-#: common.opt:1405
+#: common.opt:1526
 msgid "Generate debug information in extended XCOFF format"
 msgstr "生成 XCOFF 扩展格式的调试信息"
 
-#: common.opt:1409
+#: common.opt:1530
 msgid "Place output into <file>"
 msgstr "将输出写入 <file>"
 
-#: common.opt:1413
+#: common.opt:1534
 msgid "Enable function profiling"
 msgstr "启用函数取样"
 
-#: common.opt:1417
+#: common.opt:1538
 msgid "Issue warnings needed for strict compliance to the standard"
 msgstr "给出标准指定的所有警告信息"
 
-#: common.opt:1421
+#: common.opt:1542
 msgid "Like -pedantic but issue them as errors"
 msgstr "与 -pedantic 类似,但将它们视作错误"
 
-#: common.opt:1425
+#: common.opt:1546
 msgid "Do not display functions compiled or elapsed time"
 msgstr "不显示编译的函数或逝去的时间"
 
-#: common.opt:1429
+#: common.opt:1550
 msgid "Display the compiler's version"
 msgstr "显示编译器版本"
 
-#: common.opt:1433
+#: common.opt:1554
 msgid "Suppress warnings"
 msgstr "不显示警告"
 
-#: common.opt:1437
+#: common.opt:1558
 msgid "Create a shared library"
 msgstr "生成一个共享库"
 
-#: common.opt:1441
+#: common.opt:1562
 msgid "Create a position independent executable"
 msgstr "生成位置无关可执行文件"
 
-#: attribs.c:284
+#: attribs.c:293
 #, gcc-internal-format
-msgid "%qs attribute directive ignored"
-msgstr "忽略%qs属性指定"
+msgid "%qE attribute directive ignored"
+msgstr "%qE属性指定被忽略"
 
-#: attribs.c:292
+#: attribs.c:301
 #, gcc-internal-format
-msgid "wrong number of arguments specified for %qs attribute"
-msgstr "为%qs属性给定的实参数目错误"
+msgid "wrong number of arguments specified for %qE attribute"
+msgstr "为%qE属性给定的实参数目错误"
 
-#: attribs.c:310
+#: attribs.c:319
 #, gcc-internal-format
-msgid "%qs attribute does not apply to types"
-msgstr "不能向类型添加属性%qs"
+msgid "%qE attribute does not apply to types"
+msgstr "不能向类型添加属性%qE"
 
-#: attribs.c:361
+#: attribs.c:370
 #, gcc-internal-format
-msgid "%qs attribute only applies to function types"
-msgstr "属性%qs只对函数类型起作用"
+msgid "%qE attribute only applies to function types"
+msgstr "%qE属性只能用于函数类型"
 
-#: attribs.c:371
+#: attribs.c:380
 #, gcc-internal-format
 msgid "type attributes ignored after type is already defined"
 msgstr "类型属性在定义后被忽略"
 
-#: bb-reorder.c:1879
+#: bb-reorder.c:1875
 #, gcc-internal-format
 msgid "multiple hot/cold transitions found (bb %i)"
 msgstr "发现多个热/冷转换(基本块 %i)"
@@ -16750,146 +18027,143 @@ msgstr "发现多个热/冷转换(基本块 %i)"
 msgid "branch target register load optimization is not intended to be run twice"
 msgstr "分支目的寄存器载入优化不应被运行两次"
 
-#: builtins.c:475
+#: builtins.c:496
 #, gcc-internal-format
 msgid "offset outside bounds of constant string"
 msgstr "偏移量越过字符串常量界"
 
-#: builtins.c:1038
+#: builtins.c:1060
 #, gcc-internal-format
 msgid "second argument to %<__builtin_prefetch%> must be a constant"
 msgstr "%<__builtin_prefetch%>的第二个实参必须是一个常量"
 
-#: builtins.c:1045
+#: builtins.c:1067
 #, gcc-internal-format
 msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
 msgstr "%<__builtin_prefetch%>的第二个实参无效;使用 0"
 
-#: builtins.c:1053
+#: builtins.c:1075
 #, gcc-internal-format
 msgid "third argument to %<__builtin_prefetch%> must be a constant"
 msgstr "%<__builtin_prefetch%>的第三个实参必须是一个常量"
 
-#: builtins.c:1060
+#: builtins.c:1082
 #, gcc-internal-format
 msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
 msgstr "%<__builtin_prefetch%>的第三个实参无效;使用 0"
 
-#: builtins.c:4632
+#: builtins.c:4296
 #, gcc-internal-format
 msgid "argument of %<__builtin_args_info%> must be constant"
 msgstr "%<__builtin_args_info%>的实参必须是常量"
 
-#: builtins.c:4638
+#: builtins.c:4302
 #, gcc-internal-format
 msgid "argument of %<__builtin_args_info%> out of range"
 msgstr "%<__builtin_args_info%>实参不在允许范围内"
 
-#: builtins.c:4644
+#: builtins.c:4308
 #, gcc-internal-format
 msgid "missing argument in %<__builtin_args_info%>"
 msgstr "%<__builtin_args_info%>缺少实参"
 
-#: builtins.c:4780 gimplify.c:2326
+#: builtins.c:4445 gimplify.c:2271
 #, gcc-internal-format
 msgid "too few arguments to function %<va_start%>"
 msgstr "给函数%<va_start%>的参数太少"
 
-#: builtins.c:4938
+#: builtins.c:4607
 #, gcc-internal-format
 msgid "first argument to %<va_arg%> not of type %<va_list%>"
 msgstr "给%<va_arg%>的第一个参数的类型不是%<va_list%>"
 
-#. Unfortunately, this is merely undefined, rather than a constraint
-#. violation, so we cannot make this an error.  If this call is never
-#. executed, the program is still strictly conforming.
-#: builtins.c:4953
+#: builtins.c:4623
 #, gcc-internal-format
 msgid "%qT is promoted to %qT when passed through %<...%>"
 msgstr "通过%<...%>传递时%qT被提升为%qT"
 
-#: builtins.c:4958
+#: builtins.c:4628
 #, gcc-internal-format
 msgid "(so you should pass %qT not %qT to %<va_arg%>)"
 msgstr "(因此您应该向%<va_arg%>传递%qT而不是%qT)"
 
 #. We can, however, treat "undefined" any way we please.
 #. Call abort to encourage the user to fix the program.
-#: builtins.c:4965 c-typeck.c:2427
+#: builtins.c:4635 c-typeck.c:2646
 #, gcc-internal-format
 msgid "if this code is reached, the program will abort"
 msgstr "如果执行到这段代码,程序将中止"
 
-#: builtins.c:5086
+#: builtins.c:4762
 #, gcc-internal-format
 msgid "invalid argument to %<__builtin_frame_address%>"
 msgstr "%<__builtin_frame_address%>的实参无效"
 
-#: builtins.c:5088
+#: builtins.c:4764
 #, gcc-internal-format
 msgid "invalid argument to %<__builtin_return_address%>"
 msgstr "%<__builtin_return_address%>的实参无效"
 
-#: builtins.c:5101
+#: builtins.c:4777
 #, gcc-internal-format
 msgid "unsupported argument to %<__builtin_frame_address%>"
 msgstr "%<__builtin_frame_address%>的实参不受支持"
 
-#: builtins.c:5103
+#: builtins.c:4779
 #, gcc-internal-format
 msgid "unsupported argument to %<__builtin_return_address%>"
 msgstr "%<__builtin_return_address%>的实参不受支持"
 
-#: builtins.c:5649
+#: builtins.c:5034
 #, gcc-internal-format
 msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
 msgstr "%<__builtin___clear_cache%>的两个参数必须都是指针"
 
-#: builtins.c:6011 builtins.c:6026
+#: builtins.c:5411 builtins.c:5425
 #, gcc-internal-format
 msgid "%qD changed semantics in GCC 4.4"
 msgstr "%qD在 GCC 4.4 中语义已经改变"
 
 #. All valid uses of __builtin_va_arg_pack () are removed during
 #. inlining.
-#: builtins.c:6412 expr.c:8051
+#: builtins.c:5815 expr.c:9220
 msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
 msgstr "%K对%<__builtin_va_arg_pack ()%>的使用无效"
 
 #. All valid uses of __builtin_va_arg_pack_len () are removed during
 #. inlining.
-#: builtins.c:6418
+#: builtins.c:5821
 msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
 msgstr "%K对%<__builtin_va_arg_pack_len ()%>的使用无效"
 
-#: builtins.c:6714
+#: builtins.c:6049
 #, gcc-internal-format
 msgid "%<__builtin_longjmp%> second argument must be 1"
 msgstr "%<__builtin_longjmp%>的第二个实参必须是 1"
 
-#: builtins.c:7348
+#: builtins.c:6654
 #, gcc-internal-format
 msgid "target format does not support infinity"
 msgstr "目标格式不支持无限大浮点数"
 
-#: builtins.c:11598
+#: builtins.c:11413
 #, gcc-internal-format
 msgid "%<va_start%> used in function with fixed args"
 msgstr "在定参数的函数中使用了%<va_start%>"
 
-#: builtins.c:11606
+#: builtins.c:11421
 #, gcc-internal-format
 msgid "wrong number of arguments to function %<va_start%>"
 msgstr "给函数%<va_start%>的参数数目不对"
 
 #. Evidently an out of date version of <stdarg.h>; can't validate
 #. va_start's second argument, but can still work as intended.
-#: builtins.c:11619
+#: builtins.c:11434
 #, gcc-internal-format
 msgid "%<__builtin_next_arg%> called without an argument"
 msgstr "调用%<__builtin_next_arg%>时没有给定实参"
 
-#: builtins.c:11624
+#: builtins.c:11439
 #, gcc-internal-format
 msgid "wrong number of arguments to function %<__builtin_next_arg%>"
 msgstr "给函数%<__builtin_next_arg%>的参数数目不对"
@@ -16899,909 +18173,939 @@ msgstr "给函数%<__builtin_next_arg%>的参数数目不对"
 #. argument.  We just warn and set the arg to be the last
 #. argument so that we will get wrong-code because of
 #. it.
-#: builtins.c:11651
+#: builtins.c:11469
 #, gcc-internal-format
 msgid "second parameter of %<va_start%> not last named argument"
 msgstr "%<va_start%>的第二个参数不是最后一个有名参数"
 
-#: builtins.c:11661
+#: builtins.c:11479
 #, gcc-internal-format
 msgid "undefined behaviour when second parameter of %<va_start%> is declared with %<register%> storage"
 msgstr "当%<va_start%>的第二个参数有%<register%>存储时行为未经定义"
 
-#: builtins.c:11776
+#: builtins.c:11595
 msgid "%Kfirst argument of %D must be a pointer, second integer constant"
 msgstr "%K%D 的第一个实参必须是一个指针,第二个必须是整常量"
 
-#: builtins.c:11789
+#: builtins.c:11608
 msgid "%Klast argument of %D is not integer constant between 0 and 3"
 msgstr "%K%D 的最后一个实参不是一个 0 到 3 之间的整常量"
 
-#: builtins.c:11833 builtins.c:11997 builtins.c:12056
+#: builtins.c:11653 builtins.c:11804 builtins.c:11861
 msgid "%Kcall to %D will always overflow destination buffer"
 msgstr "%K对 %D 的调用总是导致目标缓冲区溢出"
 
-#: builtins.c:11987
+#: builtins.c:11794
 msgid "%Kcall to %D might overflow destination buffer"
 msgstr "%K对 %D 的调用总是导致目标缓冲区溢出"
 
-#: builtins.c:12077
+#: builtins.c:11882
 msgid "%Kattempt to free a non-heap object %qD"
 msgstr "%K试图 free 不在堆上的对象%qD"
 
-#: builtins.c:12079
+#: builtins.c:11885
 msgid "%Kattempt to free a non-heap object"
 msgstr "%K试图 free 一个不在堆上的对象"
 
-#: c-common.c:1026
+#: c-common.c:1008
 #, gcc-internal-format
 msgid "%qD is not defined outside of function scope"
 msgstr "%qD在函数作用域外未被定义"
 
-#: c-common.c:1076
+#: c-common.c:1058
 #, gcc-internal-format
 msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
 msgstr "字符串长%qd比%qd(ISO C%d 被要求支持的最大长度) 还要长"
 
-#: c-common.c:1123 c-common.c:1135
+#: c-common.c:1551 c-common.c:1563
 #, gcc-internal-format
 msgid "overflow in constant expression"
 msgstr "常量表达式溢出"
 
-#: c-common.c:1157
+#: c-common.c:1586
 #, gcc-internal-format
 msgid "integer overflow in expression"
 msgstr "整数溢出"
 
-#: c-common.c:1161
+#: c-common.c:1591
 #, gcc-internal-format
 msgid "floating point overflow in expression"
 msgstr "表达式中浮点溢出"
 
-#: c-common.c:1165
+#: c-common.c:1595
 #, gcc-internal-format
 msgid "fixed-point overflow in expression"
 msgstr "表达式中定点溢出"
 
-#: c-common.c:1169
+#: c-common.c:1599
 #, gcc-internal-format
 msgid "vector overflow in expression"
-msgstr "量浮点溢出"
+msgstr "量浮点溢出"
 
-#: c-common.c:1174
+#: c-common.c:1605
 #, gcc-internal-format
 msgid "complex integer overflow in expression"
 msgstr "表达式中整复数溢出"
 
-#: c-common.c:1176
+#: c-common.c:1608
 #, gcc-internal-format
 msgid "complex floating point overflow in expression"
 msgstr "表达式中浮点复数溢出"
 
-#: c-common.c:1207
+#: c-common.c:1651
+#, gcc-internal-format
+msgid "logical %<or%> applied to non-boolean constant"
+msgstr "逻辑%<or%>被用在非布尔型常量上"
+
+#: c-common.c:1654
+#, gcc-internal-format
+msgid "logical %<and%> applied to non-boolean constant"
+msgstr "逻辑%<and%>被用在非布尔型常量上"
+
+#: c-common.c:1699
+#, gcc-internal-format
+msgid "logical %<or%> of collectively exhaustive tests is always true"
+msgstr "对两个互补的测试取逻辑%<or%>的结果永远为真"
+
+#: c-common.c:1703
 #, gcc-internal-format
-msgid "logical %<%s%> with non-zero constant will always evaluate as true"
-msgstr "对非零常量进行逻辑%<%s%>操作结果总为真"
+msgid "logical %<and%> of mutually exclusive tests is always false"
+msgstr "对两个互斥的测试取逻辑%<and%>的结果永远为假"
 
-#: c-common.c:1245
+#: c-common.c:1738
 #, gcc-internal-format
 msgid "type-punning to incomplete type might break strict-aliasing rules"
 msgstr "类型双关作用在不完全类型上可能破坏强重叠规则"
 
-#: c-common.c:1260
+#: c-common.c:1753
 #, gcc-internal-format
 msgid "dereferencing type-punned pointer will break strict-aliasing rules"
 msgstr "提领类型双关的指针将破坏强重叠规则"
 
-#: c-common.c:1267 c-common.c:1285
+#: c-common.c:1760 c-common.c:1778
 #, gcc-internal-format
 msgid "dereferencing type-punned pointer might break strict-aliasing rules"
 msgstr "提领类型双关的指针可能破坏强重叠规则"
 
-#: c-common.c:1316
+#: c-common.c:1809
 #, gcc-internal-format
 msgid "first argument of %q+D should be %<int%>"
 msgstr "%q+D的第一个参数的类型应该是%<int%>"
 
-#: c-common.c:1325
+#: c-common.c:1818
 #, gcc-internal-format
 msgid "second argument of %q+D should be %<char **%>"
 msgstr "%q+D的第二个参数类型应该是%<char **%>"
 
-#: c-common.c:1334
+#: c-common.c:1827
 #, gcc-internal-format
 msgid "third argument of %q+D should probably be %<char **%>"
 msgstr "%q+D如果有第三个参数,类型应该是%<char **%>"
 
-#: c-common.c:1344
+#: c-common.c:1837
 #, gcc-internal-format
 msgid "%q+D takes only zero or two arguments"
 msgstr "%q+D只带零或两个参数"
 
-#: c-common.c:1393
+#: c-common.c:1886
 #, gcc-internal-format
 msgid "use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts"
-msgstr "使用 -flax-vector-conversions 以允许元素类型或数量不同的量间的转换"
+msgstr "使用 -flax-vector-conversions 以允许元素类型或数量不同的量间的转换"
 
-#: c-common.c:1548
+#: c-common.c:2041
 #, gcc-internal-format
 msgid "conversion to %qT from boolean expression"
 msgstr "将布尔表达式转化为%qT"
 
-#: c-common.c:1570
+#: c-common.c:2063
 #, gcc-internal-format
 msgid "negative integer implicitly converted to unsigned type"
 msgstr "负整数隐式转换为无符号类型"
 
-#: c-common.c:1572
+#: c-common.c:2065
 #, gcc-internal-format
 msgid "conversion of unsigned constant value to negative integer"
 msgstr "将无符号常量转换为负整数"
 
-#: c-common.c:1599
+#: c-common.c:2092
 #, gcc-internal-format
 msgid "conversion to %qT alters %qT constant value"
 msgstr "向%qT的转换改变了%qT常量值"
 
-#: c-common.c:1691
+#: c-common.c:2184
 #, gcc-internal-format
 msgid "conversion to %qT from %qT may change the sign of the result"
 msgstr "%qT转换自%qT时可能会改变结果的符号"
 
-#: c-common.c:1723
+#: c-common.c:2216
 #, gcc-internal-format
 msgid "conversion to %qT from %qT may alter its value"
 msgstr "%qT转换自%qT时可能改变值"
 
-#: c-common.c:1751
+#: c-common.c:2244
 #, gcc-internal-format
 msgid "large integer implicitly truncated to unsigned type"
 msgstr "大整数隐式截断为无符号类型"
 
-#: c-common.c:1757 c-common.c:1764 c-common.c:1772
+#: c-common.c:2250 c-common.c:2257 c-common.c:2265
 #, gcc-internal-format
 msgid "overflow in implicit constant conversion"
 msgstr "隐式常量转换溢出"
 
-#: c-common.c:1928
+#: c-common.c:2438
 #, gcc-internal-format
 msgid "operation on %qE may be undefined"
 msgstr "%qE上的运算结果可能是未定义的"
 
-#: c-common.c:2229
+#: c-common.c:2746
 #, gcc-internal-format
 msgid "case label does not reduce to an integer constant"
 msgstr "case 标号不能还原为一个整常量"
 
-#: c-common.c:2269
+#: c-common.c:2786
 #, gcc-internal-format
 msgid "case label value is less than minimum value for type"
 msgstr "case 标号值比该类型的最小值还要小"
 
-#: c-common.c:2277
+#: c-common.c:2794
 #, gcc-internal-format
 msgid "case label value exceeds maximum value for type"
 msgstr "case 标号值比该类型的最大值还要大"
 
-#: c-common.c:2285
+#: c-common.c:2802
 #, gcc-internal-format
 msgid "lower value in case label range less than minimum value for type"
 msgstr "case 标号范围的下限值比该类型的最小值还要小"
 
-#: c-common.c:2294
+#: c-common.c:2811
 #, gcc-internal-format
 msgid "upper value in case label range exceeds maximum value for type"
 msgstr "case 标号范围的上限值比该类型的最大值还要大"
 
-#: c-common.c:2368
+#: c-common.c:2885
 #, gcc-internal-format
 msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
-msgstr "GCC 不支持整数类型和整数及分数位太多的定点类型间的操作符"
+msgstr "GCC 不支持整数类型和整数及分数位太多的定点类型间的运算符"
 
-#: c-common.c:2854
+#: c-common.c:3372
 #, gcc-internal-format
 msgid "invalid operands to binary %s (have %qT and %qT)"
 msgstr "双目运算符 %s 操作数(%qT和%qT)无效"
 
-#: c-common.c:3090
+#: c-common.c:3608
 #, gcc-internal-format
 msgid "comparison is always false due to limited range of data type"
 msgstr "由于数据类型范围限制,比较结果永远为假"
 
-#: c-common.c:3092
+#: c-common.c:3610
 #, gcc-internal-format
 msgid "comparison is always true due to limited range of data type"
 msgstr "由于数据类型范围限制,比较结果永远为真"
 
-#: c-common.c:3171
+#: c-common.c:3689
 #, gcc-internal-format
 msgid "comparison of unsigned expression >= 0 is always true"
 msgstr "无符号表达式永远大于或等于 0"
 
-#: c-common.c:3181
+#: c-common.c:3699
 #, gcc-internal-format
 msgid "comparison of unsigned expression < 0 is always false"
 msgstr "无符号表达式永远不小于 0"
 
-#: c-common.c:3222
+#: c-common.c:3741
 #, gcc-internal-format
 msgid "pointer of type %<void *%> used in arithmetic"
 msgstr "%<void *%>型指针用在了算术表达式中"
 
-#: c-common.c:3228
+#: c-common.c:3747
 #, gcc-internal-format
 msgid "pointer to a function used in arithmetic"
 msgstr "在算术表达式中使用了函数指针"
 
-#: c-common.c:3234
+#: c-common.c:3753
 #, gcc-internal-format
 msgid "pointer to member function used in arithmetic"
 msgstr "在算术表达式中使用了成员指针"
 
-#: c-common.c:3394
+#: c-common.c:3959
 #, gcc-internal-format
 msgid "the address of %qD will always evaluate as %<true%>"
 msgstr "%qD的地址总是等价为%<true%>"
 
-#: c-common.c:3470 cp/semantics.c:589 cp/typeck.c:6575
+#: c-common.c:4060 cp/semantics.c:595 cp/typeck.c:6921
 #, gcc-internal-format
 msgid "suggest parentheses around assignment used as truth value"
 msgstr "建议在用作真值的赋值语句前后加上括号"
 
-#: c-common.c:3549 c-typeck.c:8925
+#: c-common.c:4142 c-decl.c:3608 c-typeck.c:10243
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "错误地使用了%<restrict%>"
 
-#: c-common.c:3766
+#: c-common.c:4365
 #, gcc-internal-format
 msgid "invalid application of %<sizeof%> to a function type"
 msgstr "%<sizeof%>不能用于函数类型"
 
-#: c-common.c:3779
+#: c-common.c:4378
 #, gcc-internal-format
 msgid "invalid application of %qs to a void type"
 msgstr "%qs不能用于 void 类型"
 
-#: c-common.c:3787
+#: c-common.c:4386
 #, gcc-internal-format
 msgid "invalid application of %qs to incomplete type %qT "
 msgstr "%qs不能用于不完全的类型%qT"
 
-#: c-common.c:3828
+#: c-common.c:4428
 #, gcc-internal-format
 msgid "%<__alignof%> applied to a bit-field"
 msgstr "将%<__alignof%>用于位段"
 
-#: c-common.c:4449
+#: c-common.c:5137
 #, gcc-internal-format
 msgid "cannot disable built-in function %qs"
 msgstr "无法禁用内建函数%qs"
 
-#: c-common.c:4640
+#: c-common.c:5329
 #, gcc-internal-format
 msgid "pointers are not permitted as case values"
 msgstr "指针不能用作 case 常量"
 
-#: c-common.c:4647
+#: c-common.c:5336
 #, gcc-internal-format
 msgid "range expressions in switch statements are non-standard"
 msgstr "在 switch 语句中使用范围表达式不符合标准"
 
-#: c-common.c:4673
+#: c-common.c:5362
 #, gcc-internal-format
 msgid "empty range specified"
 msgstr "指定范围为空"
 
-#: c-common.c:4733
+#: c-common.c:5422
 #, gcc-internal-format
 msgid "duplicate (or overlapping) case value"
 msgstr "重复 (或重叠) 的 case 值"
 
-#: c-common.c:4734
+#: c-common.c:5424
 #, gcc-internal-format
-msgid "%Jthis is the first entry overlapping that value"
-msgstr "%J这是重叠此值的第一个条目"
+msgid "this is the first entry overlapping that value"
+msgstr "这是重叠此值的第一个条目"
 
-#: c-common.c:4738
+#: c-common.c:5428
 #, gcc-internal-format
 msgid "duplicate case value"
 msgstr "重复的 case 常量"
 
-#: c-common.c:4739
+#: c-common.c:5429
 #, gcc-internal-format
-msgid "%Jpreviously used here"
-msgstr "%J已经在这里使用过"
+msgid "previously used here"
+msgstr "在这里使用过"
 
-#: c-common.c:4743
+#: c-common.c:5433
 #, gcc-internal-format
 msgid "multiple default labels in one switch"
 msgstr "单个 switch 语句中出现了多个 default 标号"
 
-#: c-common.c:4744
+#: c-common.c:5435
 #, gcc-internal-format
-msgid "%Jthis is the first default label"
-msgstr "%J这是第一个默认标号"
+msgid "this is the first default label"
+msgstr "这是第一个默认标号"
 
-#: c-common.c:4795
+#: c-common.c:5487
 #, gcc-internal-format
-msgid "%Jcase value %qs not in enumerated type"
-msgstr "%Jcase 值%qs不在枚举类型内"
+msgid "case value %qs not in enumerated type"
+msgstr "case 值%qs不在枚举类型内"
 
-#: c-common.c:4799
+#: c-common.c:5492
 #, gcc-internal-format
-msgid "%Jcase value %qs not in enumerated type %qT"
-msgstr "%Jcase 值%qs不在枚举类型%qT内"
+msgid "case value %qs not in enumerated type %qT"
+msgstr "case 值%qs不在枚举类型%qT内"
 
-#: c-common.c:4858
+#: c-common.c:5551
 #, gcc-internal-format
-msgid "%Hswitch missing default case"
-msgstr "%Hswitch 没有默认 case"
+msgid "switch missing default case"
+msgstr "switch 没有默认 case"
 
-#: c-common.c:4929
+#: c-common.c:5623
 #, gcc-internal-format
-msgid "%Henumeration value %qE not handled in switch"
-msgstr "%Hswitch 没有处理枚举值%qE"
+msgid "enumeration value %qE not handled in switch"
+msgstr "switch 没有处理枚举值%qE"
 
-#: c-common.c:4964
+#: c-common.c:5649
 #, gcc-internal-format
 msgid "taking the address of a label is non-standard"
 msgstr "取标号的地址不符合标准"
 
-#: c-common.c:5118
+#: c-common.c:5822
 #, gcc-internal-format
 msgid "%qE attribute ignored for field of type %qT"
 msgstr "%qE属性为类型为%qT的字段所忽略"
 
-#: c-common.c:5129 c-common.c:5148 c-common.c:5166 c-common.c:5193
-#: c-common.c:5220 c-common.c:5246 c-common.c:5265 c-common.c:5289
-#: c-common.c:5312 c-common.c:5335 c-common.c:5356 c-common.c:5377
-#: c-common.c:5401 c-common.c:5427 c-common.c:5464 c-common.c:5491
-#: c-common.c:5534 c-common.c:5618 c-common.c:5648 c-common.c:5667
-#: c-common.c:6002 c-common.c:6061 c-common.c:6084 c-common.c:6148
-#: c-common.c:6266 c-common.c:6332 c-common.c:6376 c-common.c:6422
-#: c-common.c:6492 c-common.c:6516 c-common.c:6801 c-common.c:6824
-#: c-common.c:6863 c-common.c:6952 c-common.c:7092
+#: c-common.c:5833 c-common.c:5852 c-common.c:5870 c-common.c:5897
+#: c-common.c:5924 c-common.c:5950 c-common.c:5969 c-common.c:5986
+#: c-common.c:6010 c-common.c:6033 c-common.c:6056 c-common.c:6077
+#: c-common.c:6098 c-common.c:6122 c-common.c:6148 c-common.c:6185
+#: c-common.c:6212 c-common.c:6255 c-common.c:6339 c-common.c:6369
+#: c-common.c:6389 c-common.c:6727 c-common.c:6743 c-common.c:6791
+#: c-common.c:6814 c-common.c:6878 c-common.c:7006 c-common.c:7074
+#: c-common.c:7118 c-common.c:7166 c-common.c:7244 c-common.c:7268
+#: c-common.c:7554 c-common.c:7577 c-common.c:7616 c-common.c:7705
+#: c-common.c:7847 tree.c:5301 tree.c:5313 tree.c:5323 config/darwin.c:1437
+#: config/arm/arm.c:4564 config/arm/arm.c:4592 config/arm/arm.c:4609
+#: config/avr/avr.c:4697 config/h8300/h8300.c:5362 config/h8300/h8300.c:5386
+#: config/i386/i386.c:4448 config/i386/i386.c:25933 config/ia64/ia64.c:635
+#: config/m68hc11/m68hc11.c:1142 config/rs6000/rs6000.c:23369
+#: config/spu/spu.c:3919
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "%qE属性被忽略"
 
-#: c-common.c:5211 c-common.c:5237
+#: c-common.c:5915 c-common.c:5941
 #, gcc-internal-format
 msgid "%qE attribute conflicts with attribute %s"
 msgstr "%qE属性与 %s 属性冲突"
 
-#: c-common.c:5458
+#: c-common.c:6179
 #, gcc-internal-format
 msgid "%qE attribute have effect only on public objects"
 msgstr "%qE属性只能应用到公共对象上"
 
-#: c-common.c:5555
+#: c-common.c:6276
 #, gcc-internal-format
 msgid "destructor priorities are not supported"
 msgstr "不支持析构函数优先级"
 
-#: c-common.c:5557
+#: c-common.c:6278
 #, gcc-internal-format
 msgid "constructor priorities are not supported"
 msgstr "不支持构造函数优先级"
 
-#: c-common.c:5574
+#: c-common.c:6295
 #, gcc-internal-format
 msgid "destructor priorities from 0 to %d are reserved for the implementation"
 msgstr "析构函数优先级 0 到 %d 为实现所保留"
 
-#: c-common.c:5579
+#: c-common.c:6300
 #, gcc-internal-format
 msgid "constructor priorities from 0 to %d are reserved for the implementation"
 msgstr "构造函数优先级 0 到 %d 为实现所保留"
 
-#: c-common.c:5587
+#: c-common.c:6308
 #, gcc-internal-format
 msgid "destructor priorities must be integers from 0 to %d inclusive"
 msgstr "析构函数优先级必须为 0 到 %d 间的整数"
 
-#: c-common.c:5590
+#: c-common.c:6311
 #, gcc-internal-format
 msgid "constructor priorities must be integers from 0 to %d inclusive"
 msgstr "构造函数优先级必须为 0 到 %d 间的整数"
 
-#: c-common.c:5711
+#: c-common.c:6433
 #, gcc-internal-format
-msgid "unknown machine mode %qs"
-msgstr "未知的机器模式%qs"
+msgid "unknown machine mode %qE"
+msgstr "未知的机器模式%qE"
 
-#: c-common.c:5740
+#: c-common.c:6462
 #, gcc-internal-format
 msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
-msgstr "不建议在指定量类型时使用 __attribute__ ((mode))"
+msgstr "不建议在指定量类型时使用 __attribute__ ((mode))"
 
-#: c-common.c:5743
+#: c-common.c:6465
 #, gcc-internal-format
 msgid "use __attribute__ ((vector_size)) instead"
 msgstr "改用 __attribute__ ((vector_size))"
 
-#: c-common.c:5752
+#: c-common.c:6474
 #, gcc-internal-format
 msgid "unable to emulate %qs"
 msgstr "无法枚举%qs"
 
-#: c-common.c:5762
+#: c-common.c:6485
 #, gcc-internal-format
 msgid "invalid pointer mode %qs"
 msgstr "无效的指针模式%qs"
 
-#: c-common.c:5779
+#: c-common.c:6502
 #, gcc-internal-format
 msgid "signness of type and machine mode %qs don't match"
 msgstr "类型的符号与机器模式 %qs 不匹配"
 
-#: c-common.c:5790
+#: c-common.c:6513
 #, gcc-internal-format
 msgid "no data type for mode %qs"
 msgstr "没有模式为%qs的数据类型"
 
-#: c-common.c:5800
+#: c-common.c:6523
 #, gcc-internal-format
 msgid "cannot use mode %qs for enumeral types"
 msgstr "无法为枚举类型使用模式%qs"
 
-#: c-common.c:5827
+#: c-common.c:6550
 #, gcc-internal-format
 msgid "mode %qs applied to inappropriate type"
 msgstr "对不合适的类型应用模式%qs"
 
-#: c-common.c:5858
+#: c-common.c:6582
 #, gcc-internal-format
-msgid "%Jsection attribute cannot be specified for local variables"
-msgstr "%J不能为局部变量指定 section 属性"
+msgid "section attribute cannot be specified for local variables"
+msgstr "不能为局部变量指定节属性"
 
-#: c-common.c:5869 config/bfin/bfin.c:5274 config/bfin/bfin.c:5325
+#: c-common.c:6593 config/bfin/bfin.c:5647 config/bfin/bfin.c:5698
+#: config/bfin/bfin.c:5725 config/bfin/bfin.c:5738
 #, gcc-internal-format
 msgid "section of %q+D conflicts with previous declaration"
 msgstr "%q+D的节与早先的声明冲突"
 
-#: c-common.c:5877
-#, fuzzy, gcc-internal-format
+#: c-common.c:6601
+#, gcc-internal-format
 msgid "section of %q+D cannot be overridden"
-msgstr "%q+#D无法被重载"
+msgstr "节%q+D无法被重载"
 
-#: c-common.c:5885
+#: c-common.c:6609
 #, gcc-internal-format
 msgid "section attribute not allowed for %q+D"
 msgstr "%q+D不能有 section 属性"
 
-#: c-common.c:5891
+#: c-common.c:6616
 #, gcc-internal-format
-msgid "%Jsection attributes are not supported for this target"
-msgstr "%Jsection 属性在此目标机上不受支持"
+msgid "section attributes are not supported for this target"
+msgstr "此目标机不支持节属性"
 
-#: c-common.c:5923
+#: c-common.c:6648
 #, gcc-internal-format
 msgid "requested alignment is not a constant"
 msgstr "要求的对齐边界不是常量"
 
-#: c-common.c:5928
+#: c-common.c:6653
 #, gcc-internal-format
 msgid "requested alignment is not a power of 2"
 msgstr "要求的对齐边界不是 2 的某次方"
 
-#: c-common.c:5933
+#: c-common.c:6658
 #, gcc-internal-format
 msgid "requested alignment is too large"
 msgstr "要求的对齐边界太大"
 
-#: c-common.c:5959
+#: c-common.c:6684
 #, gcc-internal-format
 msgid "alignment may not be specified for %q+D"
 msgstr "不能为%q+D指定对齐"
 
-#: c-common.c:5966
+#: c-common.c:6691
 #, gcc-internal-format
 msgid "alignment for %q+D was previously specified as %d and may not be decreased"
 msgstr "%q+D的对齐边界先前被指定为 %d 而不能被减小"
 
-#: c-common.c:5970
+#: c-common.c:6695
 #, gcc-internal-format
 msgid "alignment for %q+D must be at least %d"
 msgstr "%q+D的对齐边界必须至少为 %d"
 
-#: c-common.c:5995
+#: c-common.c:6720
 #, gcc-internal-format
 msgid "inline function %q+D cannot be declared weak"
 msgstr "内联函数%q+D不能声明为有弱链接"
 
-#: c-common.c:6024
+#: c-common.c:6754
 #, gcc-internal-format
 msgid "%q+D defined both normally and as an alias"
 msgstr "%q+D既有正常定义又有别名定义"
 
-#: c-common.c:6040
+#: c-common.c:6770
 #, gcc-internal-format
 msgid "alias argument not a string"
 msgstr "alias 的参数不是一个字符串"
 
-#: c-common.c:6105
+#: c-common.c:6836
 #, gcc-internal-format
-msgid "%Jweakref attribute must appear before alias attribute"
-msgstr "%Jweakref 属性必须出现在 alias 属性前"
+msgid "weakref attribute must appear before alias attribute"
+msgstr "weakref 属性必须出现在 alias 属性前"
 
-#: c-common.c:6135
+#: c-common.c:6865
 #, gcc-internal-format
 msgid "%qE attribute ignored on non-class types"
 msgstr "%qE属性在不是类的类型上被忽略"
 
-#: c-common.c:6141
+#: c-common.c:6871
 #, gcc-internal-format
 msgid "%qE attribute ignored because %qT is already defined"
 msgstr "%qE属性被忽略,因为%qT已被定义"
 
-#: c-common.c:6154
+#: c-common.c:6884
 #, gcc-internal-format
 msgid "visibility argument not a string"
 msgstr "visibility 的实参不是一个字符串"
 
-#: c-common.c:6166
+#: c-common.c:6896
 #, gcc-internal-format
 msgid "%qE attribute ignored on types"
 msgstr "%qE属性在类型上被忽略"
 
-#: c-common.c:6182
+#: c-common.c:6912
 #, gcc-internal-format
 msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
 msgstr "visibility  的实参必须是“default”、“hidden”、“protected”或“internal”其中之一"
 
-#: c-common.c:6193
+#: c-common.c:6923
 #, gcc-internal-format
 msgid "%qD redeclared with different visibility"
 msgstr "%qD重声明时有不同的可见性"
 
-#: c-common.c:6196 c-common.c:6200
+#: c-common.c:6926 c-common.c:6930
 #, gcc-internal-format
 msgid "%qD was declared %qs which implies default visibility"
 msgstr "%qD声明为有默认可见性的%qs"
 
-#: c-common.c:6274
+#: c-common.c:7014
 #, gcc-internal-format
 msgid "tls_model argument not a string"
 msgstr "tls_model 的实参不是一个字符串"
 
-#: c-common.c:6287
+#: c-common.c:7027
 #, gcc-internal-format
 msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
 msgstr "tls_model 的实参必须是“local-exec”、“initial-exec”、“local-dynamic”或“global-dynamic”其中之一"
 
-#: c-common.c:6306 c-common.c:6396
+#: c-common.c:7047 c-common.c:7139 config/m32c/m32c.c:2853
 #, gcc-internal-format
-msgid "%J%qE attribute applies only to functions"
-msgstr "%J%qE属性只能应用到函数上"
+msgid "%qE attribute applies only to functions"
+msgstr "%qE属性只能用于函数"
 
-#: c-common.c:6311 c-common.c:6401
+#: c-common.c:7053 c-common.c:7145
 #, gcc-internal-format
-msgid "%Jcan%'t set %qE attribute after definition"
-msgstr "%J定义之后不能设定%qE属性"
+msgid "can%'t set %qE attribute after definition"
+msgstr "定义之后不能设定%qE属性"
 
-#: c-common.c:6357
+#: c-common.c:7099
 #, gcc-internal-format
 msgid "alloc_size parameter outside range"
 msgstr "alloc_size 参数越界"
 
-#: c-common.c:6490
+#: c-common.c:7202
+#, gcc-internal-format
+msgid "deprecated message is not a string"
+msgstr "过时消息不是一个字符串"
+
+#: c-common.c:7242
 #, gcc-internal-format
 msgid "%qE attribute ignored for %qE"
 msgstr "%qE属性为%qE所忽略"
 
-#: c-common.c:6549
+#: c-common.c:7302
 #, gcc-internal-format
 msgid "invalid vector type for attribute %qE"
-msgstr "属性%qE的量类型无效"
+msgstr "属性%qE的量类型无效"
 
-#: c-common.c:6555
+#: c-common.c:7308 ada/gcc-interface/utils.c:5479
+#: ada/gcc-interface/utils.c:5573
 #, gcc-internal-format
 msgid "vector size not an integral multiple of component size"
-msgstr "量大小不是组件大小的整数倍"
+msgstr "量大小不是组件大小的整数倍"
 
-#: c-common.c:6561
+#: c-common.c:7314 ada/gcc-interface/utils.c:5485
+#: ada/gcc-interface/utils.c:5579
 #, gcc-internal-format
 msgid "zero vector size"
-msgstr "量大小为 0"
+msgstr "量大小为 0"
 
-#: c-common.c:6569
+#: c-common.c:7322 ada/gcc-interface/utils.c:5493
+#: ada/gcc-interface/utils.c:5586
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
-msgstr "量中分量数不是 2 的某次方"
+msgstr "量中分量数不是 2 的某次方"
 
-#: c-common.c:6597
+#: c-common.c:7350 ada/gcc-interface/utils.c:5233
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "非空的属性在非原型中没有实参"
 
-#: c-common.c:6612
+#: c-common.c:7365 ada/gcc-interface/utils.c:5248
 #, gcc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "非空的实参 %lu 操作数号不对"
 
-#: c-common.c:6631
+#: c-common.c:7384 ada/gcc-interface/utils.c:5267
 #, gcc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "非空的实参操作数号越界(实参 %lu,操作数 %lu)"
 
-#: c-common.c:6639
+#: c-common.c:7392 ada/gcc-interface/utils.c:5275
 #, gcc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr "非空的实参 %lu 引用了非指针操作数 %lu"
 
-#: c-common.c:6715
+#: c-common.c:7468
 #, gcc-internal-format
 msgid "not enough variable arguments to fit a sentinel"
 msgstr "变量实参太少,不足以填满一个哨兵"
 
-#: c-common.c:6729
+#: c-common.c:7482
 #, gcc-internal-format
 msgid "missing sentinel in function call"
 msgstr "函数调用中缺少哨兵"
 
-#: c-common.c:6770
+#: c-common.c:7523
 #, gcc-internal-format
 msgid "null argument where non-null required (argument %lu)"
 msgstr "实参为 NULL,需要非 NULL 值(实参 %lu)"
 
-#: c-common.c:6835
+#: c-common.c:7588
 #, gcc-internal-format
 msgid "cleanup argument not an identifier"
 msgstr "cleanup 实参不是一个标识符"
 
-#: c-common.c:6842
+#: c-common.c:7595
 #, gcc-internal-format
 msgid "cleanup argument not a function"
 msgstr "cleanup 实参不是一个函数"
 
-#: c-common.c:6881
+#: c-common.c:7634
 #, gcc-internal-format
 msgid "%qE attribute requires prototypes with named arguments"
 msgstr "%qE属性需要带有名实参的原型"
 
-#: c-common.c:6892
+#: c-common.c:7645
 #, gcc-internal-format
 msgid "%qE attribute only applies to variadic functions"
 msgstr "%qE属性只能用于带可变参数函数"
 
-#: c-common.c:6904
+#: c-common.c:7657 ada/gcc-interface/utils.c:5321
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "要求的位置不是一个整数常量"
 
-#: c-common.c:6912
+#: c-common.c:7665 ada/gcc-interface/utils.c:5328
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr "要求的位置小于 0"
 
-#: c-common.c:7036
+#: c-common.c:7789
 #, gcc-internal-format
 msgid "Bad option %s to optimize attribute."
 msgstr "optimize 属性的选项 %s 无效。"
 
-#: c-common.c:7039
+#: c-common.c:7792
 #, gcc-internal-format
 msgid "Bad option %s to pragma attribute"
 msgstr "pragma attribute 选项 %s 无效"
 
-#: c-common.c:7232
+#: c-common.c:7987
 #, gcc-internal-format
 msgid "not enough arguments to function %qE"
 msgstr "提供给函数%qE的实参太少"
 
-#: c-common.c:7237 c-typeck.c:2540
+#: c-common.c:7992 c-typeck.c:2799
 #, gcc-internal-format
 msgid "too many arguments to function %qE"
 msgstr "提供给函数%qE的实参太多"
 
-#: c-common.c:7267 c-common.c:7313
+#: c-common.c:8022 c-common.c:8068
 #, gcc-internal-format
 msgid "non-floating-point argument in call to function %qE"
 msgstr "给予函数%qE的参数不是浮点数"
 
-#: c-common.c:7290
+#: c-common.c:8045
 #, gcc-internal-format
 msgid "non-floating-point arguments in call to function %qE"
 msgstr "给予函数%qE的参数不是浮点数"
 
-#: c-common.c:7306
+#: c-common.c:8061
 #, gcc-internal-format
 msgid "non-const integer argument %u in call to function %qE"
 msgstr "给予函数%2$qE的参数%1$u不是整型常量"
 
-#: c-common.c:7532
-#, gcc-internal-format
-msgid "%Hignoring return value of %qD, declared with attribute warn_unused_result"
-msgstr "%H忽略声明有 warn_unused_result 属性的%qD的返回值"
-
-#: c-common.c:7536
-#, gcc-internal-format
-msgid "%Hignoring return value of function declared with attribute warn_unused_result"
-msgstr "%H忽略声明有 warn_unused_result 属性的函数的返回值"
-
-#: c-common.c:7590
+#: c-common.c:8351
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to static data member %qD"
 msgstr "不能对静态数据成员%qD取%<offsetof%>"
 
-#: c-common.c:7595
+#: c-common.c:8356
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
 msgstr "%<operator[]%>重载后便不能使用%<offsetof%>"
 
-#: c-common.c:7616 cp/typeck.c:4622
+#: c-common.c:8363
+#, gcc-internal-format
+msgid "cannot apply %<offsetof%> to a non constant address"
+msgstr "不能为非常量地址应用%<offsetof%>"
+
+#: c-common.c:8376 cp/typeck.c:4877
 #, gcc-internal-format
 msgid "attempt to take address of bit-field structure member %qD"
 msgstr "试图取位段结构成员%qD的地址"
 
-#: c-common.c:7669
+#: c-common.c:8435
+#, gcc-internal-format
+msgid "index %E denotes an offset greater than size of %qT"
+msgstr "索引 %E 指定了一个大于%qT大小的偏移量"
+
+#: c-common.c:8472
 #, gcc-internal-format
 msgid "lvalue required as left operand of assignment"
 msgstr "赋值运算的左操作数必须是左值"
 
-#: c-common.c:7672
+#: c-common.c:8475
 #, gcc-internal-format
 msgid "lvalue required as increment operand"
 msgstr "自增操作数必须是左值"
 
-#: c-common.c:7675
+#: c-common.c:8478
 #, gcc-internal-format
 msgid "lvalue required as decrement operand"
 msgstr "自减操作数必须是左值"
 
-#: c-common.c:7678
+#: c-common.c:8481
 #, gcc-internal-format
 msgid "lvalue required as unary %<&%> operand"
 msgstr "单目%<&%>的操作数必须是左值"
 
-#: c-common.c:7681
+#: c-common.c:8484
 #, gcc-internal-format
 msgid "lvalue required in asm statement"
 msgstr "asm 语句中需要左值"
 
-#: c-common.c:7803
+#: c-common.c:8614
 #, gcc-internal-format
 msgid "size of array is too large"
 msgstr "数组太大"
 
-#: c-common.c:7839 c-common.c:7888 c-typeck.c:2730
+#: c-common.c:8650 c-common.c:8701 c-typeck.c:3023
 #, gcc-internal-format
 msgid "too few arguments to function %qE"
 msgstr "提供给函数%qE的实参太少"
 
-#: c-common.c:7856 c-typeck.c:4443
+#: c-common.c:8667 c-typeck.c:5351 config/mep/mep.c:6340
 #, gcc-internal-format
 msgid "incompatible type for argument %d of %qE"
 msgstr "%2$qE的第 %1$d 个实参类型不兼容"
 
-#: c-common.c:8048
+#: c-common.c:8864
 #, gcc-internal-format
 msgid "array subscript has type %<char%>"
 msgstr "数组下标类型为%<char%>"
 
-#: c-common.c:8083
+#: c-common.c:8899
 #, gcc-internal-format
 msgid "suggest parentheses around %<+%> inside %<<<%>"
 msgstr "建议在%<<<%>的操作数中出现的%<+%>前后加上括号"
 
-#: c-common.c:8086
+#: c-common.c:8902
 #, gcc-internal-format
 msgid "suggest parentheses around %<-%> inside %<<<%>"
 msgstr "建议在%<<<%>的操作数中出现的%<-%>前后加上括号"
 
-#: c-common.c:8092
+#: c-common.c:8908
 #, gcc-internal-format
 msgid "suggest parentheses around %<+%> inside %<>>%>"
 msgstr "建议在%<>>%>的操作数中出现的%<+%>前后加上括号"
 
-#: c-common.c:8095
+#: c-common.c:8911
 #, gcc-internal-format
 msgid "suggest parentheses around %<-%> inside %<>>%>"
 msgstr "建议在%<>>%>的操作数中出现的%<-%>前后加上括号"
 
-#: c-common.c:8101
+#: c-common.c:8917
 #, gcc-internal-format
 msgid "suggest parentheses around %<&&%> within %<||%>"
 msgstr "建议在%<||%>的操作数中出现的%<&&%>前后加上括号"
 
-#: c-common.c:8110
+#: c-common.c:8926
 #, gcc-internal-format
 msgid "suggest parentheses around arithmetic in operand of %<|%>"
 msgstr "建议在%<|%>的操作数中的算术表达式前后加上括号"
 
-#: c-common.c:8115
+#: c-common.c:8931
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<|%>"
 msgstr "建议在%<|%>的操作数中的比较表达式前后加上括号"
 
-#: c-common.c:8119
+#: c-common.c:8935
 #, gcc-internal-format
 msgid "suggest parentheses around operand of %<!%> or change %<|%> to %<||%> or %<!%> to %<~%>"
 msgstr "建议在%<!%>的操作数周围加上括号,或将%<|%>改为%<||%>,或将%<!%>改为%<~%>"
 
-#: c-common.c:8129
+#: c-common.c:8945
 #, gcc-internal-format
 msgid "suggest parentheses around arithmetic in operand of %<^%>"
 msgstr "建议在%<^%>的操作数中的算术表达式前后加上括号"
 
-#: c-common.c:8134
+#: c-common.c:8950
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<^%>"
 msgstr "建议在%<^%>的操作数中的比较表达式前后加上括号"
 
-#: c-common.c:8140
+#: c-common.c:8956
 #, gcc-internal-format
 msgid "suggest parentheses around %<+%> in operand of %<&%>"
 msgstr "建议在%<&%>的操作数中出现的%<+%>前后加上括号"
 
-#: c-common.c:8143
+#: c-common.c:8959
 #, gcc-internal-format
 msgid "suggest parentheses around %<-%> in operand of %<&%>"
 msgstr "建议在%<&%>的操作数中出现的%<-%>前后加上括号"
 
-#: c-common.c:8148
+#: c-common.c:8964
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<&%>"
 msgstr "建议在%<&%>的操作数中的比较表达式前后加上括号"
 
-#: c-common.c:8152
+#: c-common.c:8968
 #, gcc-internal-format
 msgid "suggest parentheses around operand of %<!%> or change %<&%> to %<&&%> or %<!%> to %<~%>"
 msgstr "建议在%<!%>的操作数周围加上括号,或将%<&%>改为%<&&%>,或将%<!%>改为%<~%>"
 
-#: c-common.c:8160
+#: c-common.c:8976
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<==%>"
 msgstr "建议在%<==%>的操作数的比较表达式前后加上括号"
 
-#: c-common.c:8166
+#: c-common.c:8982
 #, gcc-internal-format
 msgid "suggest parentheses around comparison in operand of %<!=%>"
 msgstr "建议在%<!=%>的操作数的比较前后加上括号"
 
-#: c-common.c:8175
+#: c-common.c:8993
 #, gcc-internal-format
 msgid "comparisons like %<X<=Y<=Z%> do not have their mathematical meaning"
 msgstr "形如%<X<=Y<=Z%>的比较并不具备其在数学上的意义"
 
-#: c-common.c:8190
+#: c-common.c:9008
 #, gcc-internal-format
 msgid "label %q+D defined but not used"
 msgstr "标号%q+D定义后未使用"
 
-#: c-common.c:8192
+#: c-common.c:9010
 #, gcc-internal-format
 msgid "label %q+D declared but not defined"
 msgstr "标号%q+D声明后未定义"
 
-#: c-common.c:8212
+#: c-common.c:9030
 #, gcc-internal-format
 msgid "division by zero"
 msgstr "被零除"
 
-#: c-common.c:8244
+#: c-common.c:9062
 #, gcc-internal-format
 msgid "comparison between types %qT and %qT"
 msgstr "在类型%qT和%qT间比较"
 
-#: c-common.c:8295
+#: c-common.c:9113
 #, gcc-internal-format
 msgid "comparison between signed and unsigned integer expressions"
 msgstr "在有符号和无符号整数表达式间比较"
 
-#: c-common.c:8346
+#: c-common.c:9164
 #, gcc-internal-format
 msgid "promoted ~unsigned is always non-zero"
 msgstr "提升后的 ~unsigned 总是非零值"
 
-#: c-common.c:8349
+#: c-common.c:9167
 #, gcc-internal-format
 msgid "comparison of promoted ~unsigned with constant"
 msgstr "比较常量和取反后又经提升的无符号数"
 
-#: c-common.c:8359
+#: c-common.c:9177
 #, gcc-internal-format
 msgid "comparison of promoted ~unsigned with unsigned"
 msgstr "比较无符号数和取反后又经提升的无符号数"
@@ -17811,115 +19115,130 @@ msgstr "比较无符号数和取反后又经提升的无符号数"
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:95 c-typeck.c:1783 c-typeck.c:4078 cp/typeck.c:1605
-#: cp/typeck.c:5873 cp/typeck.c:6483 fortran/convert.c:88
+#: c-convert.c:102 c-typeck.c:1900 c-typeck.c:4928 cp/typeck.c:1725
+#: cp/typeck.c:6201 cp/typeck.c:6826 fortran/convert.c:88
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "void 值未如预期地被忽略"
 
-#: c-convert.c:119 fortran/convert.c:121 java/typeck.c:151
+#: c-convert.c:156 fortran/convert.c:121 java/typeck.c:151
 #, gcc-internal-format
 msgid "conversion to non-scalar type requested"
 msgstr "请求转换到非标量类型"
 
-#: c-decl.c:549
+#: c-decl.c:696
 #, gcc-internal-format
 msgid "array %q+D assumed to have one element"
 msgstr "假定数组%q+D有一个元素"
 
-#: c-decl.c:654
+#: c-decl.c:737
+#, gcc-internal-format
+msgid "%qD is static but used in inline function %qD which is not static"
+msgstr "%qD是静态的,但却在非静态的内联函数%qD中被使用"
+
+#: c-decl.c:742
+#, gcc-internal-format
+msgid "%q+D is static but declared in inline function %qD which is not static"
+msgstr "%q+D是静态的,但却在非静态的内联函数%qD中被声明"
+
+#: c-decl.c:954
 #, gcc-internal-format
 msgid "GCC supports only %u nested scopes"
 msgstr "GCC 只支持 %u 个嵌套的作用域"
 
-#: c-decl.c:740 cp/decl.c:358
+#: c-decl.c:1102 cp/decl.c:357
 #, gcc-internal-format
 msgid "label %q+D used but not defined"
 msgstr "标号%q+D使用前未定义"
 
-#: c-decl.c:781
+#: c-decl.c:1147
 #, gcc-internal-format
 msgid "nested function %q+D declared but never defined"
 msgstr "嵌套函数%q+D声明过但从未定义"
 
-#: c-decl.c:791
+#: c-decl.c:1159
 #, gcc-internal-format
 msgid "inline function %q+D declared but never defined"
 msgstr "内联函数%q+D声明过但从未定义"
 
-#: c-decl.c:804 cp/decl.c:603
+#: c-decl.c:1174 cp/decl.c:600
 #, gcc-internal-format
 msgid "unused variable %q+D"
 msgstr "未使用的变量%q+D"
 
-#: c-decl.c:808
+#: c-decl.c:1178
 #, gcc-internal-format
 msgid "type of array %q+D completed incompatibly with implicit initialization"
 msgstr "数组%q+D类型与隐式初始化不兼容"
 
-#: c-decl.c:1032
+#: c-decl.c:1462 c-decl.c:5672 c-decl.c:6450 c-decl.c:7051
+#, gcc-internal-format
+msgid "originally defined here"
+msgstr "原先在这里定义"
+
+#: c-decl.c:1533
 #, gcc-internal-format
 msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
 msgstr "带有省略号的形参列表无法与空形参名列表声明匹配"
 
-#: c-decl.c:1039
+#: c-decl.c:1540
 #, gcc-internal-format
 msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
 msgstr "具有默认提升的实参类型不能匹配空参数名列表声明"
 
-#: c-decl.c:1080
+#: c-decl.c:1581
 #, gcc-internal-format
 msgid "prototype for %q+D declares more arguments than previous old-style definition"
 msgstr "%q+D的原型声明的参数多于先前旧式的定义"
 
-#: c-decl.c:1086
+#: c-decl.c:1587
 #, gcc-internal-format
 msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
 msgstr "%q+D的原型声明的参数少于先前旧式的定义"
 
-#: c-decl.c:1095
+#: c-decl.c:1596
 #, gcc-internal-format
 msgid "prototype for %q+D declares argument %d with incompatible type"
 msgstr "%q+D的原型对实参 %d 声明类型不兼容"
 
 #. If we get here, no errors were found, but do issue a warning
 #. for this poor-style construct.
-#: c-decl.c:1108
+#: c-decl.c:1609
 #, gcc-internal-format
 msgid "prototype for %q+D follows non-prototype definition"
 msgstr "%q+D的原型出现在非原型定义之后"
 
-#: c-decl.c:1123
+#: c-decl.c:1624
 #, gcc-internal-format
 msgid "previous definition of %q+D was here"
 msgstr "%q+D的上一个定义在此"
 
-#: c-decl.c:1125
+#: c-decl.c:1626
 #, gcc-internal-format
 msgid "previous implicit declaration of %q+D was here"
 msgstr "%q+D的上一个隐式声明在此"
 
-#: c-decl.c:1127
+#: c-decl.c:1628
 #, gcc-internal-format
 msgid "previous declaration of %q+D was here"
 msgstr "%q+D的上一个声明在此"
 
-#: c-decl.c:1167
+#: c-decl.c:1668
 #, gcc-internal-format
 msgid "%q+D redeclared as different kind of symbol"
 msgstr "%q+D被重新声明为不同意义的符号"
 
-#: c-decl.c:1171
+#: c-decl.c:1672
 #, gcc-internal-format
 msgid "built-in function %q+D declared as non-function"
 msgstr "内建函数%q+D未被声明为函数"
 
-#: c-decl.c:1174 c-decl.c:1294 c-decl.c:1960
+#: c-decl.c:1675 c-decl.c:1822 c-decl.c:2510
 #, gcc-internal-format
 msgid "declaration of %q+D shadows a built-in function"
 msgstr "%q+D的声明隐藏了一个内建函数"
 
-#: c-decl.c:1183
+#: c-decl.c:1684
 #, gcc-internal-format
 msgid "redeclaration of enumerator %q+D"
 msgstr "枚举%q+D重声明"
@@ -17927,264 +19246,309 @@ msgstr "枚举%q+D重声明"
 #. If types don't match for a built-in, throw away the
 #. built-in.  No point in calling locate_old_decl here, it
 #. won't print anything.
-#: c-decl.c:1204
+#: c-decl.c:1705
 #, gcc-internal-format
 msgid "conflicting types for built-in function %q+D"
 msgstr "与内建函数%q+D类型冲突"
 
-#: c-decl.c:1229 c-decl.c:1242 c-decl.c:1251
+#: c-decl.c:1730 c-decl.c:1743 c-decl.c:1779
 #, gcc-internal-format
 msgid "conflicting types for %q+D"
 msgstr "与%q+D类型冲突"
 
-#: c-decl.c:1249
+#: c-decl.c:1759
+#, gcc-internal-format
+msgid "conflicting named address spaces (generic vs %s) for %q+D"
+msgstr "为%2$q+D指定了冲突的有名寻址空间(泛型和 %1$s)"
+
+#: c-decl.c:1763
+#, gcc-internal-format
+msgid "conflicting named address spaces (%s vs generic) for %q+D"
+msgstr "为%2$q+D指定了冲突的有名寻址空间(%1$s 和泛型)"
+
+#: c-decl.c:1767
+#, gcc-internal-format
+msgid "conflicting named address spaces (%s vs %s) for %q+D"
+msgstr "为%3$q+D指定了冲突的有名寻址空间(%1$s和 %2$s)"
+
+#: c-decl.c:1776
 #, gcc-internal-format
 msgid "conflicting type qualifiers for %q+D"
 msgstr "%q+D的类型限定冲突"
 
 #. Allow OLDDECL to continue in use.
-#: c-decl.c:1269
+#: c-decl.c:1797
 #, gcc-internal-format
 msgid "redefinition of typedef %q+D"
 msgstr "typedef%q+D重定义"
 
-#: c-decl.c:1320 c-decl.c:1422
+#: c-decl.c:1848 c-decl.c:1951
 #, gcc-internal-format
 msgid "redefinition of %q+D"
 msgstr "%q+D重定义"
 
-#: c-decl.c:1355 c-decl.c:1460
+#: c-decl.c:1883 c-decl.c:1989
 #, gcc-internal-format
 msgid "static declaration of %q+D follows non-static declaration"
 msgstr "对%qD的静态声明出现在非静态声明之后"
 
-#: c-decl.c:1365 c-decl.c:1373 c-decl.c:1450 c-decl.c:1457
+#: c-decl.c:1893 c-decl.c:1901 c-decl.c:1979 c-decl.c:1986
 #, gcc-internal-format
 msgid "non-static declaration of %q+D follows static declaration"
 msgstr "对%q+D的静态声明出现在非静态声明之后"
 
-#: c-decl.c:1389
+#: c-decl.c:1917
 #, gcc-internal-format
 msgid "%<gnu_inline%> attribute present on %q+D"
 msgstr "%q+D上有%<gnu_inline%>属性"
 
-#: c-decl.c:1391
+#: c-decl.c:1920
 #, gcc-internal-format
-msgid "%Jbut not here"
-msgstr "%J但不是这里"
+msgid "but not here"
+msgstr "但不是这里"
 
-#: c-decl.c:1409
+#: c-decl.c:1938
 #, gcc-internal-format
 msgid "thread-local declaration of %q+D follows non-thread-local declaration"
 msgstr "%q+D的线程局部声明跟在其非线程局部声明之后"
 
-#: c-decl.c:1412
+#: c-decl.c:1941
 #, gcc-internal-format
 msgid "non-thread-local declaration of %q+D follows thread-local declaration"
 msgstr "%q+D的线程局部声明跟在其非线程局部声明之后"
 
-#: c-decl.c:1442
+#: c-decl.c:1971
 #, gcc-internal-format
 msgid "extern declaration of %q+D follows declaration with no linkage"
 msgstr "%q+D声明为没有外部链接的,之前却有外部声明"
 
-#: c-decl.c:1478
+#: c-decl.c:2007
 #, gcc-internal-format
 msgid "declaration of %q+D with no linkage follows extern declaration"
 msgstr "%q+D声明为没有外部链接的,之前却有外部声明"
 
-#: c-decl.c:1484
+#: c-decl.c:2013
 #, gcc-internal-format
 msgid "redeclaration of %q+D with no linkage"
 msgstr "%q+D重声明为没有外部链接"
 
-#: c-decl.c:1498
+#: c-decl.c:2039
 #, gcc-internal-format
 msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
 msgstr "对%q+D的再次声明中指定了不同的可见性 (保留原有的可见性)"
 
-#: c-decl.c:1509
+#: c-decl.c:2050
 #, gcc-internal-format
 msgid "inline declaration of %qD follows declaration with attribute noinline"
 msgstr "%q+D带有 noinline 属性的声明出现在其内联声明之后"
 
-#: c-decl.c:1516
+#: c-decl.c:2057
 #, gcc-internal-format
 msgid "declaration of %q+D with attribute noinline follows inline declaration "
 msgstr "%q+D带有 noinline 属性的声明出现在其内联声明之后"
 
-#: c-decl.c:1534
+#: c-decl.c:2075
 #, gcc-internal-format
 msgid "redefinition of parameter %q+D"
 msgstr "形参%q+D重定义"
 
-#: c-decl.c:1561
+#: c-decl.c:2102
 #, gcc-internal-format
 msgid "redundant redeclaration of %q+D"
 msgstr "对%q+D冗余的重声明"
 
-#: c-decl.c:1947
+#: c-decl.c:2497
 #, gcc-internal-format
 msgid "declaration of %q+D shadows previous non-variable"
 msgstr "%q+D的声明隐藏了先前的一个非变量声明"
 
-#: c-decl.c:1952
+#: c-decl.c:2502
 #, gcc-internal-format
 msgid "declaration of %q+D shadows a parameter"
 msgstr "%q+D的声明隐藏了一个形参"
 
-#: c-decl.c:1955
+#: c-decl.c:2505
 #, gcc-internal-format
 msgid "declaration of %q+D shadows a global declaration"
 msgstr "%q+D的声明隐藏了一个全局声明"
 
-#: c-decl.c:1965
+#: c-decl.c:2515
 #, gcc-internal-format
 msgid "declaration of %q+D shadows a previous local"
 msgstr "%q+D的声明隐藏了先前的一个局部变量"
 
-#: c-decl.c:1968 cp/name-lookup.c:1037 cp/name-lookup.c:1068
-#: cp/name-lookup.c:1076
+#: c-decl.c:2519 cp/name-lookup.c:1050 cp/name-lookup.c:1083
+#: cp/name-lookup.c:1092
 #, gcc-internal-format
-msgid "%Jshadowed declaration is here"
-msgstr "%J被隐藏的声明在这里"
+msgid "shadowed declaration is here"
+msgstr "被隐藏的声明在这里"
 
-#: c-decl.c:2160
+#: c-decl.c:2646
 #, gcc-internal-format
 msgid "nested extern declaration of %qD"
 msgstr "对%qD的嵌套的外部声明"
 
-#: c-decl.c:2326 c-decl.c:2329
+#: c-decl.c:2814 c-decl.c:2817
 #, gcc-internal-format
 msgid "implicit declaration of function %qE"
 msgstr "隐式声明函数%qE"
 
-#: c-decl.c:2391
+#: c-decl.c:2880
 #, gcc-internal-format
 msgid "incompatible implicit declaration of built-in function %qD"
 msgstr "隐式声明与内建函数%qD不兼容"
 
-#: c-decl.c:2400
+#: c-decl.c:2889
 #, gcc-internal-format
 msgid "incompatible implicit declaration of function %qD"
 msgstr "隐式声明与函数%qD不兼容"
 
-#: c-decl.c:2453
+#: c-decl.c:2942
 #, gcc-internal-format
-msgid "%H%qE undeclared here (not in a function)"
-msgstr "%H%qE未声明(不在函数内)"
+msgid "%qE undeclared here (not in a function)"
+msgstr "%qE未声明(不在函数内)"
 
-#: c-decl.c:2458
+#: c-decl.c:2947
 #, gcc-internal-format
-msgid "%H%qE undeclared (first use in this function)"
-msgstr "%H%qE未声明(在此函数内第一次使用)"
+msgid "%qE undeclared (first use in this function)"
+msgstr "%qE未声明(在此函数内第一次使用)"
 
-#: c-decl.c:2462
+#: c-decl.c:2951
 #, gcc-internal-format
-msgid "%H(Each undeclared identifier is reported only once"
-msgstr "%H(即使在一个函数内多次出现,每个未声明的标识符在其"
+msgid "(Each undeclared identifier is reported only once"
+msgstr "(即使在一个函数内多次出现,每个未声明的标识符在其"
 
-#: c-decl.c:2463
+#: c-decl.c:2952
 #, gcc-internal-format
-msgid "%Hfor each function it appears in.)"
-msgstr "%H所在的函数内也只报告一次。)"
+msgid "for each function it appears in.)"
+msgstr "所在的函数内也只报告一次。)"
 
-#: c-decl.c:2501 cp/decl.c:2404
+#: c-decl.c:3001 cp/decl.c:2436
 #, gcc-internal-format
 msgid "label %qE referenced outside of any function"
 msgstr "标号%qE在所有函数外被引用"
 
-#: c-decl.c:2543
+#: c-decl.c:3037
 #, gcc-internal-format
-msgid "duplicate label declaration %qE"
-msgstr "重复的标号定义%qE"
+msgid "jump into scope of identifier with variably modified type"
+msgstr "跳至具有可变类型的标识符的作用域中"
 
-#: c-decl.c:2579
+#: c-decl.c:3040
 #, gcc-internal-format
-msgid "%Hduplicate label %qD"
-msgstr "%H重复的标号%qD"
+msgid "jump skips variable initialization"
+msgstr "跳转略过了变量初始化"
 
-#: c-decl.c:2589
+#: c-decl.c:3041 c-decl.c:3097 c-decl.c:3182
 #, gcc-internal-format
-msgid "%Jjump into statement expression"
-msgstr "%J跳转至语句表达式中"
+msgid "label %qD defined here"
+msgstr "标号%qD在此定义"
 
-#: c-decl.c:2591
+#: c-decl.c:3042 c-decl.c:3306
 #, gcc-internal-format
-msgid "%Jjump into scope of identifier with variably modified type"
-msgstr "%J跳至具有可变类型的标识符的作用域中"
+msgid "%qD declared here"
+msgstr "%qD在此声明"
 
-#: c-decl.c:2606
+#: c-decl.c:3096 c-decl.c:3181
 #, gcc-internal-format
-msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
-msgstr "%H传统 C 不为标号提供一个单独的命名空间,标识符%qE冲突"
+msgid "jump into statement expression"
+msgstr "跳转至语句表达式中"
 
-#: c-decl.c:2681
+#: c-decl.c:3118
 #, gcc-internal-format
-msgid "%H%qE defined as wrong kind of tag"
-msgstr "%H%qE定义为类型错误的标记"
+msgid "duplicate label declaration %qE"
+msgstr "重复的标号定义%qE"
 
-#: c-decl.c:2904
+#: c-decl.c:3212 cp/decl.c:2745
 #, gcc-internal-format
-msgid "unnamed struct/union that defines no instances"
-msgstr "未定义任何实例的无名结构/联合"
+msgid "duplicate label %qD"
+msgstr "重复的标号%qD"
+
+#: c-decl.c:3243
+#, gcc-internal-format
+msgid "traditional C lacks a separate namespace for labels, identifier %qE conflicts"
+msgstr "传统 C 不为标号提供一个单独的命名空间,标识符%qE冲突"
+
+#: c-decl.c:3304
+#, gcc-internal-format
+msgid "switch jumps over variable initialization"
+msgstr "switch 跳过了变量初始化"
+
+#: c-decl.c:3305 c-decl.c:3316
+#, gcc-internal-format
+msgid "switch starts here"
+msgstr "开关语句从此开始"
+
+#: c-decl.c:3315
+#, gcc-internal-format
+msgid "switch jumps into statement expression"
+msgstr "开关跳转至语句表达式中"
+
+#: c-decl.c:3386
+#, gcc-internal-format
+msgid "%qE defined as wrong kind of tag"
+msgstr "%qE定义为类型错误的标记"
+
+#: c-decl.c:3618
+#, gcc-internal-format
+msgid "unnamed struct/union that defines no instances"
+msgstr "未定义任何实例的无名结构/联合"
 
-#: c-decl.c:2913
+#: c-decl.c:3627
 #, gcc-internal-format
 msgid "empty declaration with storage class specifier does not redeclare tag"
 msgstr "带有存储类的空声明没有重声明标记"
 
-#: c-decl.c:2925
+#: c-decl.c:3640
 #, gcc-internal-format
 msgid "empty declaration with type qualifier does not redeclare tag"
 msgstr "带有类型限定的空声明没有重声明标记"
 
-#: c-decl.c:2947 c-decl.c:2954
+#: c-decl.c:3662 c-decl.c:3669
 #, gcc-internal-format
 msgid "useless type name in empty declaration"
 msgstr "空声明中类型名无用"
 
-#: c-decl.c:2962
+#: c-decl.c:3677
 #, gcc-internal-format
 msgid "%<inline%> in empty declaration"
 msgstr "%<inline%>用于空声明中"
 
-#: c-decl.c:2968
+#: c-decl.c:3683
 #, gcc-internal-format
 msgid "%<auto%> in file-scope empty declaration"
 msgstr "文件作用域中出现%<auto%>空声明"
 
-#: c-decl.c:2974
+#: c-decl.c:3689
 #, gcc-internal-format
 msgid "%<register%> in file-scope empty declaration"
 msgstr "文件作用域中出现%<register%>空声明"
 
-#: c-decl.c:2980
+#: c-decl.c:3695
 #, gcc-internal-format
 msgid "useless storage class specifier in empty declaration"
 msgstr "空声明中指定存储类无用"
 
-#: c-decl.c:2986
+#: c-decl.c:3701
 #, gcc-internal-format
 msgid "useless %<__thread%> in empty declaration"
 msgstr "空声明中%<__thread%>无用"
 
-#: c-decl.c:2994
+#: c-decl.c:3710
 #, gcc-internal-format
 msgid "useless type qualifier in empty declaration"
 msgstr "空声明中类型限定无用"
 
-#: c-decl.c:3001 c-parser.c:1170
+#: c-decl.c:3717 c-parser.c:1198
 #, gcc-internal-format
 msgid "empty declaration"
 msgstr "空声明"
 
-#: c-decl.c:3068
+#: c-decl.c:3788
 #, gcc-internal-format
 msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
 msgstr "ISO C90 不支持在形参数组声明中使用%<static%>或类型限定符"
 
-#: c-decl.c:3072
+#: c-decl.c:3792
 #, gcc-internal-format
 msgid "ISO C90 does not support %<[*]%> array declarators"
 msgstr "ISO C90 不支持%<[*]%>数组声明"
@@ -18192,721 +19556,856 @@ msgstr "ISO C90 不支持%<[*]%>数组声明"
 #. C99 6.7.5.2p4
 #. A function definition isn't function prototype scope C99 6.2.1p4.
 #. C99 6.7.5.2p4
-#: c-decl.c:3079 c-decl.c:5006
+#: c-decl.c:3799 c-decl.c:6046
 #, gcc-internal-format
 msgid "%<[*]%> not allowed in other than function prototype scope"
 msgstr "%<[*]%>不能用于函数原型以外"
 
-#: c-decl.c:3181
+#: c-decl.c:3912
 #, gcc-internal-format
 msgid "%q+D is usually a function"
 msgstr "%q+D通常是一个函数"
 
-#: c-decl.c:3190 cp/decl2.c:776
+#: c-decl.c:3921
 #, gcc-internal-format
 msgid "typedef %qD is initialized (use __typeof__ instead)"
 msgstr "typedef%qD被初始化(改用 __typeof__)"
 
-#: c-decl.c:3195
+#: c-decl.c:3926
 #, gcc-internal-format
 msgid "function %qD is initialized like a variable"
 msgstr "函数%qD像变量一样被初始化"
 
 #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
-#: c-decl.c:3201
+#: c-decl.c:3932
 #, gcc-internal-format
 msgid "parameter %qD is initialized"
 msgstr "形参%qD已初始化"
 
-#: c-decl.c:3226
+#: c-decl.c:3957
 #, gcc-internal-format
 msgid "variable %qD has initializer but incomplete type"
 msgstr "变量%qD有初始值设定但类型不完全"
 
-#: c-decl.c:3315 c-decl.c:6116 cp/decl.c:4086 cp/decl.c:11420
+#: c-decl.c:4046 cp/decl.c:4164 cp/decl.c:11705
 #, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "为内联函数%q+D给定了 noinline 属性"
 
-#: c-decl.c:3328
-#, gcc-internal-format
-msgid "%q+D is static but declared in inline function %qD which is not static"
-msgstr "%q+D是静态的,但却在非静态的内联函数%qD中被声明"
-
-#: c-decl.c:3419
+#: c-decl.c:4143
 #, gcc-internal-format
 msgid "initializer fails to determine size of %q+D"
 msgstr "初始值设定无法决定%q+D的大小"
 
-#: c-decl.c:3424
+#: c-decl.c:4148
 #, gcc-internal-format
 msgid "array size missing in %q+D"
 msgstr "在%q+D中缺少数组大小"
 
-#: c-decl.c:3436
+#: c-decl.c:4160
 #, gcc-internal-format
 msgid "zero or negative size array %q+D"
 msgstr "数组%q+D大小为 0 或负"
 
-#: c-decl.c:3491 varasm.c:2111
+#: c-decl.c:4215 varasm.c:2139
 #, gcc-internal-format
 msgid "storage size of %q+D isn%'t known"
 msgstr "%q+D的存储大小未知"
 
-#: c-decl.c:3502
+#: c-decl.c:4226
 #, gcc-internal-format
 msgid "storage size of %q+D isn%'t constant"
 msgstr "%q+D的存储大小不是常量"
 
-#: c-decl.c:3549
+#: c-decl.c:4273
 #, gcc-internal-format
 msgid "ignoring asm-specifier for non-static local variable %q+D"
 msgstr "为非静态局部变量%q+D忽略了 asm 限定符"
 
-#: c-decl.c:3577 fortran/f95-lang.c:624
+#: c-decl.c:4301
 #, gcc-internal-format
 msgid "cannot put object with volatile field into register"
 msgstr "不能将带有 volatile 字段的对象放入寄存器"
 
-#: c-decl.c:3703
+#: c-decl.c:4391
+#, gcc-internal-format
+msgid "uninitialized const %qD is invalid in C++"
+msgstr "未初始化的常量%qD在C++中是无效的"
+
+#: c-decl.c:4437
 #, gcc-internal-format
 msgid "ISO C forbids forward parameter declarations"
 msgstr "ISO C 不允许前向参数声明"
 
-#: c-decl.c:3822
+#: c-decl.c:4523
+#, gcc-internal-format
+msgid "defining a type in a compound literal is invalid in C++"
+msgstr "C++ 不允许在组合字面常量中定义类型"
+
+#: c-decl.c:4576
 #, gcc-internal-format
 msgid "bit-field %qs width not an integer constant"
 msgstr "位段%qs的宽度不是一个整数常量"
 
-#: c-decl.c:3830
+#: c-decl.c:4584
 #, gcc-internal-format
 msgid "negative width in bit-field %qs"
 msgstr "位段%qs宽度为负"
 
-#: c-decl.c:3835
+#: c-decl.c:4589
 #, gcc-internal-format
 msgid "zero width for bit-field %qs"
 msgstr "位段%qs宽度为 0"
 
-#: c-decl.c:3845
+#: c-decl.c:4599
 #, gcc-internal-format
 msgid "bit-field %qs has invalid type"
 msgstr "位段%qs类型无效"
 
-#: c-decl.c:3855
+#: c-decl.c:4609
 #, gcc-internal-format
 msgid "type of bit-field %qs is a GCC extension"
 msgstr "位段类型%qs是一个 GCC 扩展"
 
-#: c-decl.c:3861
+#: c-decl.c:4615
 #, gcc-internal-format
 msgid "width of %qs exceeds its type"
 msgstr "%qs的宽度超过它自身的类型"
 
-#: c-decl.c:3874
+#: c-decl.c:4628
 #, gcc-internal-format
 msgid "%qs is narrower than values of its type"
 msgstr "%qs比其类型的值要窄"
 
-#: c-decl.c:3892
+#: c-decl.c:4647
 #, gcc-internal-format
-msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
-msgstr "ISO C90 不允许数组%qs,因为不能计算其大小"
+msgid "ISO C90 forbids array %qE whose size can%'t be evaluated"
+msgstr "ISO C90 不允许数组%qE,因为不能计算其大小"
 
-#: c-decl.c:3896
+#: c-decl.c:4651
 #, gcc-internal-format
 msgid "ISO C90 forbids array whose size can%'t be evaluated"
 msgstr "ISO C90 不允许任何不能确定大小的数组"
 
-#: c-decl.c:3902
+#: c-decl.c:4658
 #, gcc-internal-format
-msgid "ISO C90 forbids variable length array %qs"
-msgstr "ISO C90 不允许变长数组%qs"
+msgid "ISO C90 forbids variable length array %qE"
+msgstr "ISO C90 不允许变长数组%qE"
 
-#: c-decl.c:3905
+#: c-decl.c:4661
 #, gcc-internal-format
 msgid "ISO C90 forbids variable length array"
 msgstr "ISO C90 不允许变长数组"
 
-#: c-decl.c:3914
+#: c-decl.c:4670
 #, gcc-internal-format
-msgid "the size of array %qs can%'t be evaluated"
-msgstr "æ\95°ç»\84%qsç\9a\84大å°\8fä¸\8dè\83½è¢«ç¡®å®\9a"
+msgid "the size of array %qE can%'t be evaluated"
+msgstr "æ\97 æ³\95ä¼°ç®\97æ\95°ç»\84%qEç\9a\84大å°\8f"
 
-#: c-decl.c:3918
+#: c-decl.c:4674
 #, gcc-internal-format
 msgid "the size of array can %'t be evaluated"
 msgstr "数组大小不能确定"
 
-#: c-decl.c:3924
+#: c-decl.c:4680
 #, gcc-internal-format
-msgid "variable length array %qs is used"
-msgstr "使用了变长数组%qs"
+msgid "variable length array %qE is used"
+msgstr "使用了变长数组%qE"
 
-#: c-decl.c:3928 cp/decl.c:7220
+#: c-decl.c:4684 cp/decl.c:7348
 #, gcc-internal-format
 msgid "variable length array is used"
 msgstr "使用了变长数组"
 
-#: c-decl.c:4050 c-decl.c:4331
+#: c-decl.c:4862 c-decl.c:5208 c-decl.c:5218
 #, gcc-internal-format
-msgid "variably modified %qs at file scope"
-msgstr "文件域可变类型的%qs"
+msgid "variably modified %qE at file scope"
+msgstr "文件域中的动态可变的%qE"
 
-#: c-decl.c:4068
+#: c-decl.c:4864
 #, gcc-internal-format
-msgid "type defaults to %<int%> in declaration of %qs"
-msgstr "在%qs的声明中,类型默认为%<int%>"
+msgid "variably modified field at file scope"
+msgstr "文件域中的动态可变字段"
 
-#: c-decl.c:4096
+#: c-decl.c:4884
+#, gcc-internal-format
+msgid "type defaults to %<int%> in declaration of %qE"
+msgstr "在%qE的声明中,类型默认为%<int%>"
+
+#: c-decl.c:4888
+#, gcc-internal-format
+msgid "type defaults to %<int%> in type name"
+msgstr "类型名中类型默认为%<int%>"
+
+#: c-decl.c:4921
 #, gcc-internal-format
 msgid "duplicate %<const%>"
 msgstr "重复的%<const%>"
 
-#: c-decl.c:4098
+#: c-decl.c:4923
 #, gcc-internal-format
 msgid "duplicate %<restrict%>"
 msgstr "重复的%<restrict%>"
 
-#: c-decl.c:4100
+#: c-decl.c:4925
 #, gcc-internal-format
 msgid "duplicate %<volatile%>"
 msgstr "重复的%<volatile%>"
 
-#: c-decl.c:4120
+#: c-decl.c:4929
+#, gcc-internal-format
+msgid "conflicting named address spaces (%s vs %s)"
+msgstr "冲突的有名地址空间(%s和%s)"
+
+#: c-decl.c:4951
 #, gcc-internal-format
 msgid "function definition declared %<auto%>"
 msgstr "函数声明定义为%<auto%>"
 
-#: c-decl.c:4122
+#: c-decl.c:4953
 #, gcc-internal-format
 msgid "function definition declared %<register%>"
 msgstr "函数声明定义为%<register%>"
 
-#: c-decl.c:4124
+#: c-decl.c:4955
 #, gcc-internal-format
 msgid "function definition declared %<typedef%>"
 msgstr "函数声明定义为%<typedef%>"
 
-#: c-decl.c:4126
+#: c-decl.c:4957
 #, gcc-internal-format
 msgid "function definition declared %<__thread%>"
 msgstr "函数声明定义为%<__thread%>"
 
-#: c-decl.c:4142
+#: c-decl.c:4974
 #, gcc-internal-format
-msgid "storage class specified for structure field %qs"
-msgstr "为结构字段%qs指定了存储类"
+msgid "storage class specified for structure field %qE"
+msgstr "为结构字段%qE指定了存储类"
 
-#: c-decl.c:4146 cp/decl.c:8113
+#: c-decl.c:4977
 #, gcc-internal-format
-msgid "storage class specified for parameter %qs"
-msgstr "为形参%qs指定了存储类"
+msgid "storage class specified for structure field"
+msgstr "为结构字段指定了存储类"
 
-#: c-decl.c:4149 cp/decl.c:8115
+#: c-decl.c:4981
+#, gcc-internal-format
+msgid "storage class specified for parameter %qE"
+msgstr "为形参%qE指定了存储类"
+
+#: c-decl.c:4984
+#, gcc-internal-format
+msgid "storage class specified for unnamed parameter"
+msgstr "为无名形参指定了存储类"
+
+#: c-decl.c:4987 cp/decl.c:8284
 #, gcc-internal-format
 msgid "storage class specified for typename"
 msgstr "为类型名指定了存储类"
 
-#: c-decl.c:4166 cp/decl.c:9393
+#: c-decl.c:5004
 #, gcc-internal-format
-msgid "%qs initialized and declared %<extern%>"
-msgstr "%qs已初始化,却又被声明为%<extern%>"
+msgid "%qE initialized and declared %<extern%>"
+msgstr "%qE已初始化,却又被声明为%<extern%>"
 
-#: c-decl.c:4169 cp/decl.c:9397
+#: c-decl.c:5008
 #, gcc-internal-format
-msgid "%qs has both %<extern%> and initializer"
-msgstr "%qs既有%<extern%>又有初始值设定"
+msgid "%qE has both %<extern%> and initializer"
+msgstr "%qE既有%<extern%>又有初始值设定"
 
-#: c-decl.c:4174
+#: c-decl.c:5013
 #, gcc-internal-format
-msgid "file-scope declaration of %qs specifies %<auto%>"
-msgstr "文件作用域中%qs的声明指定了%<auto%>"
+msgid "file-scope declaration of %qE specifies %<auto%>"
+msgstr "文件作用域声明%qE指定了%<auto%>"
 
-#: c-decl.c:4177
+#: c-decl.c:5017
 #, gcc-internal-format
-msgid "file-scope declaration of %qs specifies %<register%>"
-msgstr "文件作用域中%qs的声明指定了%<register%>"
+msgid "file-scope declaration of %qE specifies %<register%>"
+msgstr "文件作用域声明%qE指定了%<register%>"
 
-#: c-decl.c:4182 cp/decl.c:8126
+#: c-decl.c:5022
 #, gcc-internal-format
-msgid "nested function %qs declared %<extern%>"
-msgstr "嵌套函数%qs被声明为%<extern%>"
+msgid "nested function %qE declared %<extern%>"
+msgstr "嵌套函数%qE被声明为%<extern%>"
 
-#: c-decl.c:4185 cp/decl.c:8136
+#: c-decl.c:5025
 #, gcc-internal-format
-msgid "function-scope %qs implicitly auto and declared %<__thread%>"
-msgstr "函数作用域的%qs隐式为 auto,却被声明为%<__thread%>"
+msgid "function-scope %qE implicitly auto and declared %<__thread%>"
+msgstr "函数作用域的%qE隐式为 auto,却被声明为%<__thread%>"
 
 #. Only the innermost declarator (making a parameter be of
 #. array type which is converted to pointer type)
 #. may have static or type qualifiers.
-#: c-decl.c:4232 c-decl.c:4476
+#: c-decl.c:5072 c-decl.c:5400
 #, gcc-internal-format
 msgid "static or type qualifiers in non-parameter array declarator"
 msgstr "static 或类型限定符出现在非形参数组声明中"
 
-#: c-decl.c:4279
+#: c-decl.c:5120
+#, gcc-internal-format
+msgid "declaration of %qE as array of voids"
+msgstr "%qE声明为 void 的数组"
+
+#: c-decl.c:5122
+#, gcc-internal-format
+msgid "declaration of type name as array of voids"
+msgstr "类型名声明为 void 的数组"
+
+#: c-decl.c:5129
 #, gcc-internal-format
-msgid "declaration of %qs as array of voids"
-msgstr "%qs声明为 void 的数组"
+msgid "declaration of %qE as array of functions"
+msgstr "%qE声明为函数的数组"
 
-#: c-decl.c:4285
+#: c-decl.c:5132
 #, gcc-internal-format
-msgid "declaration of %qs as array of functions"
-msgstr "%qs声明为函数的数组"
+msgid "declaration of type name as array of functions"
+msgstr "类型名声明为函数的数组"
 
-#: c-decl.c:4291
+#: c-decl.c:5139 c-decl.c:6837
 #, gcc-internal-format
 msgid "invalid use of structure with flexible array member"
 msgstr "对包含可变数组成员的结构的无效使用"
 
-#: c-decl.c:4311
+#: c-decl.c:5165
 #, gcc-internal-format
-msgid "size of array %qs has non-integer type"
-msgstr "数组%qs的大小的类型不是整数"
+msgid "size of array %qE has non-integer type"
+msgstr "数组%qE的大小的类型不是整数"
 
-#: c-decl.c:4317
+#: c-decl.c:5169
 #, gcc-internal-format
-msgid "ISO C forbids zero-size array %qs"
-msgstr "ISO C 不允许大小为 0 的数组%qs"
+msgid "size of unnamed array has non-integer type"
+msgstr "无名数组的大小的类型不是整数"
 
-#: c-decl.c:4324
+#: c-decl.c:5179
 #, gcc-internal-format
-msgid "size of array %qs is negative"
-msgstr "数组%qs的大小为负"
+msgid "ISO C forbids zero-size array %qE"
+msgstr "ISO C 不允许大小为 0 的数组%qE"
 
-#: c-decl.c:4378 c-decl.c:4637 cp/decl.c:8642
+#: c-decl.c:5182
 #, gcc-internal-format
-msgid "size of array %qs is too large"
-msgstr "数组%qs太大"
+msgid "ISO C forbids zero-size array"
+msgstr "ISO C 不允许大小为 0 的数组"
+
+#: c-decl.c:5191
+#, gcc-internal-format
+msgid "size of array %qE is negative"
+msgstr "数组%qE的大小为负"
+
+#: c-decl.c:5193
+#, gcc-internal-format
+msgid "size of unnamed array is negative"
+msgstr "无名数组的大小为负"
+
+#: c-decl.c:5269 c-decl.c:5631
+#, gcc-internal-format
+msgid "size of array %qE is too large"
+msgstr "数组%qE太大"
+
+#: c-decl.c:5272 c-decl.c:5633
+#, gcc-internal-format
+msgid "size of unnamed array is too large"
+msgstr "无名数组太大"
 
-#: c-decl.c:4390
+#: c-decl.c:5309
 #, gcc-internal-format
 msgid "ISO C90 does not support flexible array members"
 msgstr "ISO C90 不允许可变数组成员"
 
 #. C99 6.7.5.2p4
-#: c-decl.c:4403 c-parser.c:4957
+#: c-decl.c:5330
 #, gcc-internal-format
-msgid "%<[*]%> not allowed in other than a declaration"
-msgstr "%<[*]%>只能用在声明中"
+msgid "%<[*]%> not in a declaration"
+msgstr "%<[*]%>在声明中"
 
-#: c-decl.c:4426
+#: c-decl.c:5343
 #, gcc-internal-format
 msgid "array type has incomplete element type"
 msgstr "数组元素的类型不完全"
 
-#: c-decl.c:4508 cp/decl.c:8231
+#: c-decl.c:5433
 #, gcc-internal-format
-msgid "%qs declared as function returning a function"
-msgstr "%qs声明为返回一个函数的函数"
+msgid "%qE declared as function returning a function"
+msgstr "%qE声明为返回一个函数的函数"
 
-#: c-decl.c:4513 cp/decl.c:8236
+#: c-decl.c:5436
 #, gcc-internal-format
-msgid "%qs declared as function returning an array"
-msgstr "%qs声明为返回一个数组的函数"
+msgid "type name declared as function returning a function"
+msgstr "类型名声明为返回一个数组的函数"
+
+#: c-decl.c:5443
+#, gcc-internal-format
+msgid "%qE declared as function returning an array"
+msgstr "%qE声明为返回一个数组的函数"
+
+#: c-decl.c:5446
+#, gcc-internal-format
+msgid "type name declared as function returning an array"
+msgstr "类型名声明为返回一个数组的函数"
 
-#: c-decl.c:4536
+#: c-decl.c:5476
 #, gcc-internal-format
 msgid "function definition has qualified void return type"
 msgstr "函数定义有限定的 void 返回类型"
 
-#: c-decl.c:4539 cp/decl.c:8220
+#: c-decl.c:5479 cp/decl.c:8390
 #, gcc-internal-format
 msgid "type qualifiers ignored on function return type"
 msgstr "忽略函数返回类型的类型限定"
 
-#: c-decl.c:4569 c-decl.c:4651 c-decl.c:4741 c-decl.c:4830
+#: c-decl.c:5509 c-decl.c:5647 c-decl.c:5757 c-decl.c:5850
 #, gcc-internal-format
 msgid "ISO C forbids qualified function types"
 msgstr "ISO C 不允许使用 const 或 volatile 限定函数类型"
 
-#: c-decl.c:4659
+#: c-decl.c:5576
+#, gcc-internal-format
+msgid "%qs combined with %<auto%> qualifier for %qE"
+msgstr "%qs和%<auto%>限定符同时用于%qE"
+
+#: c-decl.c:5580
+#, gcc-internal-format
+msgid "%qs combined with %<register%> qualifier for %qE"
+msgstr "%qs和%<register%>限定符同时用于%qE"
+
+#: c-decl.c:5586
+#, gcc-internal-format
+msgid "%qs specified for auto variable %qE"
+msgstr "为 auto 变量%2$qE指定了%1$qs"
+
+#: c-decl.c:5602
+#, gcc-internal-format
+msgid "%qs specified for parameter %qE"
+msgstr "为形参%2$qE指定了%1$qs"
+
+#: c-decl.c:5605
+#, gcc-internal-format
+msgid "%qs specified for unnamed parameter"
+msgstr "为无名形参指定了%qs"
+
+#: c-decl.c:5611
+#, gcc-internal-format
+msgid "%qs specified for structure field %qE"
+msgstr "为结构字段%2$qE指定了%1$qs"
+
+#: c-decl.c:5614
+#, gcc-internal-format
+msgid "%qs specified for structure field"
+msgstr "为结构字段指定了%qs"
+
+#: c-decl.c:5655
 #, gcc-internal-format
 msgid "typedef %q+D declared %<inline%>"
 msgstr "typedef%q+D声明为%<inline%>"
 
-#: c-decl.c:4675
+#: c-decl.c:5691
 #, gcc-internal-format
 msgid "ISO C forbids const or volatile function types"
 msgstr "ISO C 不允许使用 const 或 volatile 限定函数类型"
 
-#: c-decl.c:4686
+#. C99 6.7.2.1p8
+#: c-decl.c:5701
 #, gcc-internal-format
 msgid "a member of a structure or union cannot have a variably modified type"
 msgstr "结构或联合成员不能具有可变类型"
 
-#: c-decl.c:4702
+#: c-decl.c:5718 cp/decl.c:7570
 #, gcc-internal-format
-msgid "variable or field %qs declared void"
-msgstr "变量或字段%qs声明为 void"
+msgid "variable or field %qE declared void"
+msgstr "变量或字段%qE声明为 void"
 
-#: c-decl.c:4733
+#: c-decl.c:5749
 #, gcc-internal-format
 msgid "attributes in parameter array declarator ignored"
 msgstr "出现在形参数组声明中的属性被忽略"
 
-#: c-decl.c:4767
+#: c-decl.c:5783
 #, gcc-internal-format
 msgid "parameter %q+D declared %<inline%>"
 msgstr "形参%q+D声明为%<inline%>"
 
-#: c-decl.c:4780
+#: c-decl.c:5796
 #, gcc-internal-format
-msgid "field %qs declared as a function"
-msgstr "字段%qs声明为一个函数"
+msgid "field %qE declared as a function"
+msgstr "字段%qE声明为一个函数"
 
-#: c-decl.c:4786
+#: c-decl.c:5803
 #, gcc-internal-format
-msgid "field %qs has incomplete type"
-msgstr "字段%qs的类型不完全"
+msgid "field %qE has incomplete type"
+msgstr "字段%qE的类型不完全"
 
-#: c-decl.c:4803 c-decl.c:4813 c-decl.c:4816
+#: c-decl.c:5805
 #, gcc-internal-format
-msgid "invalid storage class for function %qs"
-msgstr "函数%qs的存储类无效"
+msgid "unnamed field has incomplete type"
+msgstr "无名字段类型不完全"
 
-#: c-decl.c:4836
+#: c-decl.c:5822 c-decl.c:5833 c-decl.c:5836
+#, gcc-internal-format
+msgid "invalid storage class for function %qE"
+msgstr "函数%qE存储类无效"
+
+#: c-decl.c:5856
 #, gcc-internal-format
 msgid "%<noreturn%> function returns non-void value"
 msgstr "%<noreturn%>函数返回了一个非 void 的返回值"
 
-#: c-decl.c:4872
+#: c-decl.c:5892
 #, gcc-internal-format
 msgid "cannot inline function %<main%>"
 msgstr "不能内联%<main%>函数"
 
-#: c-decl.c:4901
+#: c-decl.c:5921
 #, gcc-internal-format
 msgid "variable previously declared %<static%> redeclared %<extern%>"
 msgstr "先前被声明为%<static%>的变量重声明为%<extern%>"
 
-#: c-decl.c:4911
+#: c-decl.c:5931
 #, gcc-internal-format
 msgid "variable %q+D declared %<inline%>"
 msgstr "变量%q+D声明为%<inline%>"
 
-#. C99 6.7.5.2p2
-#: c-decl.c:4942
+#: c-decl.c:5966
+#, gcc-internal-format
+msgid "non-nested function with variably modified type"
+msgstr "非嵌套函数有动态可变类型"
+
+#: c-decl.c:5968
 #, gcc-internal-format
 msgid "object with variably modified type must have no linkage"
 msgstr "可变类型对象不能有外部链接"
 
-#: c-decl.c:5011 c-decl.c:6210
+#: c-decl.c:6051 c-decl.c:7467
 #, gcc-internal-format
 msgid "function declaration isn%'t a prototype"
 msgstr "函数声明不是一个原型"
 
-#: c-decl.c:5019
+#: c-decl.c:6059
 #, gcc-internal-format
 msgid "parameter names (without types) in function declaration"
 msgstr "函数声明中出现形参名却未指定类型"
 
-#: c-decl.c:5052
+#: c-decl.c:6094
 #, gcc-internal-format
 msgid "parameter %u (%q+D) has incomplete type"
 msgstr "形参 %u (%q+D) 的类型不完全"
 
-#: c-decl.c:5055
+#: c-decl.c:6098
 #, gcc-internal-format
-msgid "%Jparameter %u has incomplete type"
-msgstr "%J参数 %u 类型不完全"
+msgid "parameter %u has incomplete type"
+msgstr "形参 %u 的类型不完全"
 
-#: c-decl.c:5064
+#: c-decl.c:6108
 #, gcc-internal-format
 msgid "parameter %u (%q+D) has void type"
 msgstr "形参 %u (%q+D)类型为 void"
 
-#: c-decl.c:5067
+#: c-decl.c:6112
 #, gcc-internal-format
-msgid "%Jparameter %u has void type"
-msgstr "%J形参 %u 类型为 void"
+msgid "parameter %u has void type"
+msgstr "第 %u 个参数类型为 void"
 
-#: c-decl.c:5129
+#: c-decl.c:6182
 #, gcc-internal-format
 msgid "%<void%> as only parameter may not be qualified"
 msgstr "%<void%>作为仅有的参数时不能被限定"
 
-#: c-decl.c:5133 c-decl.c:5167
+#: c-decl.c:6186 c-decl.c:6220
 #, gcc-internal-format
 msgid "%<void%> must be the only parameter"
 msgstr "%<void%>必须是仅有的形参"
 
-#: c-decl.c:5161
+#: c-decl.c:6214
 #, gcc-internal-format
 msgid "parameter %q+D has just a forward declaration"
 msgstr "形参%q+D有一个前向声明"
 
 #. The %s will be one of 'struct', 'union', or 'enum'.
-#: c-decl.c:5206
+#: c-decl.c:6259
 #, gcc-internal-format
 msgid "%<%s %E%> declared inside parameter list"
 msgstr "%<%s %E%>在形参表内部声明"
 
 #. The %s will be one of 'struct', 'union', or 'enum'.
-#: c-decl.c:5210
+#: c-decl.c:6263
 #, gcc-internal-format
 msgid "anonymous %s declared inside parameter list"
 msgstr "在形参列表中声明了匿名 %s"
 
-#: c-decl.c:5215
+#: c-decl.c:6268
 #, gcc-internal-format
 msgid "its scope is only this definition or declaration, which is probably not what you want"
 msgstr "它的作用域仅限于此定义或声明,这可能并不是您想要的"
 
-#: c-decl.c:5349
+#: c-decl.c:6361
+#, gcc-internal-format
+msgid "enum type defined here"
+msgstr "枚举类型在此定义"
+
+#: c-decl.c:6367
+#, gcc-internal-format
+msgid "struct defined here"
+msgstr "结构在此定义"
+
+#: c-decl.c:6373
+#, gcc-internal-format
+msgid "union defined here"
+msgstr "联合在此定义"
+
+#: c-decl.c:6446
 #, gcc-internal-format
 msgid "redefinition of %<union %E%>"
 msgstr "%<union %E%>重定义"
 
-#: c-decl.c:5351
+#: c-decl.c:6448
 #, gcc-internal-format
 msgid "redefinition of %<struct %E%>"
 msgstr "%<struct %E%>重定义"
 
-#: c-decl.c:5356
+#: c-decl.c:6457
 #, gcc-internal-format
 msgid "nested redefinition of %<union %E%>"
 msgstr "嵌套的%<union %E%>重定义"
 
-#: c-decl.c:5358
+#: c-decl.c:6459
 #, gcc-internal-format
 msgid "nested redefinition of %<struct %E%>"
 msgstr "嵌套的%<struct %E%>重定义"
 
-#: c-decl.c:5436 cp/decl.c:3824
+#: c-decl.c:6491 c-decl.c:7069
+#, gcc-internal-format
+msgid "defining type in %qs expression is invalid in C++"
+msgstr "C++ 不允许在%qs表达式中定义类型"
+
+#: c-decl.c:6558 cp/decl.c:3900
 #, gcc-internal-format
 msgid "declaration does not declare anything"
 msgstr "没有声明任何东西"
 
-#: c-decl.c:5439
+#: c-decl.c:6561
 #, gcc-internal-format
 msgid "ISO C doesn%'t support unnamed structs/unions"
-msgstr "ISO C 不支持名结构/联合"
+msgstr "ISO C 不支持名结构/联合"
 
-#: c-decl.c:5483 c-decl.c:5499
+#: c-decl.c:6624 c-decl.c:6640
 #, gcc-internal-format
 msgid "duplicate member %q+D"
 msgstr "重复的成员%q+D"
 
-#: c-decl.c:5538
+#: c-decl.c:6743
 #, gcc-internal-format
 msgid "union has no named members"
 msgstr "联合包含无名成员"
 
-#: c-decl.c:5540
+#: c-decl.c:6745
 #, gcc-internal-format
 msgid "union has no members"
 msgstr "联合体没有成员"
 
-#: c-decl.c:5545
+#: c-decl.c:6750
 #, gcc-internal-format
 msgid "struct has no named members"
 msgstr "结构不包含任何有名成员"
 
-#: c-decl.c:5547
+#: c-decl.c:6752
 #, gcc-internal-format
 msgid "struct has no members"
 msgstr "结构体没有成员"
 
-#: c-decl.c:5609
-#, gcc-internal-format
-msgid "%Jflexible array member in union"
-msgstr "%J联合中出现可变数组成员"
-
-#: c-decl.c:5614
+#: c-decl.c:6817
 #, gcc-internal-format
-msgid "%Jflexible array member not at end of struct"
-msgstr "%J结构中的可变数组成员没有出现在结构的末尾"
+msgid "flexible array member in union"
+msgstr "联合和可变数组成员"
 
-#: c-decl.c:5619
+#: c-decl.c:6823
 #, gcc-internal-format
-msgid "%Jflexible array member in otherwise empty struct"
-msgstr "%J可变数组是结构中的唯一成员"
+msgid "flexible array member not at end of struct"
+msgstr "可变数组成员没有出现在结构的末尾"
 
-#: c-decl.c:5627
+#: c-decl.c:6829
 #, gcc-internal-format
-msgid "%Jinvalid use of structure with flexible array member"
-msgstr "%J对包含可变数组成员的结构的无效使用"
+msgid "flexible array member in otherwise empty struct"
+msgstr "可变数组是结构中的唯一成员"
 
-#: c-decl.c:5736
+#: c-decl.c:6946
 #, gcc-internal-format
 msgid "union cannot be made transparent"
 msgstr "联合不能成为透明的"
 
-#: c-decl.c:5807
+#: c-decl.c:7042
 #, gcc-internal-format
 msgid "nested redefinition of %<enum %E%>"
 msgstr "嵌套的%<enum %E%>重定义"
 
 #. This enum is a named one that has been declared already.
-#: c-decl.c:5814
+#: c-decl.c:7049
 #, gcc-internal-format
 msgid "redeclaration of %<enum %E%>"
 msgstr "%<enum %E%>重声明"
 
-#: c-decl.c:5877
+#: c-decl.c:7124
 #, gcc-internal-format
 msgid "enumeration values exceed range of largest integer"
 msgstr "枚举值超过了最大整数类型可表示的范围"
 
-#: c-decl.c:5894
+#: c-decl.c:7141
 #, gcc-internal-format
 msgid "specified mode too small for enumeral values"
 msgstr "指定的模式对枚举值来说太小"
 
-#: c-decl.c:5991
+#: c-decl.c:7245 c-decl.c:7261
 #, gcc-internal-format
 msgid "enumerator value for %qE is not an integer constant"
 msgstr "%qE的枚举值不是一个整数常量"
 
-#: c-decl.c:6008
+#: c-decl.c:7256
+#, gcc-internal-format
+msgid "enumerator value for %qE is not an integer constant expression"
+msgstr "%qE的枚举值不是一个整数常量"
+
+#: c-decl.c:7280
 #, gcc-internal-format
 msgid "overflow in enumeration values"
 msgstr "枚举值溢出"
 
-#: c-decl.c:6016
+#: c-decl.c:7288
 #, gcc-internal-format
 msgid "ISO C restricts enumerator values to range of %<int%>"
 msgstr "ISO C 将枚举值限制在%<int%>范围内"
 
-#: c-decl.c:6134
+#: c-decl.c:7373
+#, gcc-internal-format
+msgid "inline function %qD given attribute noinline"
+msgstr "内联函数%qD给定了非内联属性"
+
+#: c-decl.c:7391
 #, gcc-internal-format
 msgid "return type is an incomplete type"
 msgstr "返回不完全的类型"
 
-#: c-decl.c:6144
+#: c-decl.c:7401
 #, gcc-internal-format
 msgid "return type defaults to %<int%>"
 msgstr "返回类型默认为%<int%>"
 
-#: c-decl.c:6217
+#: c-decl.c:7475
 #, gcc-internal-format
-msgid "no previous prototype for %q+D"
-msgstr "%q+D先前没有原型"
+msgid "no previous prototype for %qD"
+msgstr "%qD先前没有原型"
 
-#: c-decl.c:6226
+#: c-decl.c:7484
 #, gcc-internal-format
-msgid "%q+D was used with no prototype before its definition"
-msgstr "%q+D定义前没有原型"
+msgid "%qD was used with no prototype before its definition"
+msgstr "使用%qD时先前既没有原型也没有定义"
 
-#: c-decl.c:6232 cp/decl.c:11561
+#: c-decl.c:7491
 #, gcc-internal-format
-msgid "no previous declaration for %q+D"
-msgstr "%q+D先前没有声明过"
+msgid "no previous declaration for %qD"
+msgstr "%qD先前没有声明"
 
-#: c-decl.c:6242
+#: c-decl.c:7501
 #, gcc-internal-format
-msgid "%q+D was used with no declaration before its definition"
-msgstr "%q+D的内联声明出现在其定义之后"
+msgid "%qD was used with no declaration before its definition"
+msgstr "使用%qD时先前既没有声明也没有定义"
 
-#: c-decl.c:6265
+#: c-decl.c:7524
 #, gcc-internal-format
-msgid "return type of %q+D is not %<int%>"
-msgstr "%q+D的返回类型不是%<int%>"
+msgid "return type of %qD is not %<int%>"
+msgstr "%qD的返回类型不是%<int%>"
 
-#: c-decl.c:6270
+#: c-decl.c:7530
 #, gcc-internal-format
-msgid "%q+D is normally a non-static function"
-msgstr "%q+D通常是一个非静态的函数"
+msgid "%qD is normally a non-static function"
+msgstr "%qD通常不是一个静态函数"
 
-#: c-decl.c:6304
+#: c-decl.c:7565
 #, gcc-internal-format
-msgid "%Jold-style parameter declarations in prototyped function definition"
-msgstr "%J原型函数定义中使用了旧式参数声明"
+msgid "old-style parameter declarations in prototyped function definition"
+msgstr "原型函数定义中使用了旧式参数声明"
 
-#: c-decl.c:6318
+#: c-decl.c:7579
 #, gcc-internal-format
-msgid "%Jtraditional C rejects ISO C style function definitions"
-msgstr "%J传统 C 不接受 ISO C 风格的函数定义"
+msgid "traditional C rejects ISO C style function definitions"
+msgstr "传统 C 不接受 ISO C 风格的函数定义"
 
-#: c-decl.c:6334
+#: c-decl.c:7595
 #, gcc-internal-format
-msgid "%Jparameter name omitted"
-msgstr "%J省略了形参的名字"
+msgid "parameter name omitted"
+msgstr "省略的形参名"
 
-#: c-decl.c:6368
+#: c-decl.c:7630
 #, gcc-internal-format
-msgid "%Jold-style function definition"
-msgstr "%J旧式的函数定义"
+msgid "old-style function definition"
+msgstr "旧式的函数定义"
 
-#: c-decl.c:6377
+#: c-decl.c:7639
 #, gcc-internal-format
-msgid "%Jparameter name missing from parameter list"
-msgstr "%J形参列表中缺少形参名"
+msgid "parameter name missing from parameter list"
+msgstr "形参列表中缺少形参名"
 
-#: c-decl.c:6388
+#: c-decl.c:7651
 #, gcc-internal-format
-msgid "%q+D declared as a non-parameter"
-msgstr "%q+D声明为非形参"
+msgid "%qD declared as a non-parameter"
+msgstr "%qD没有声明为一个参数"
 
-#: c-decl.c:6393
+#: c-decl.c:7657
 #, gcc-internal-format
-msgid "multiple parameters named %q+D"
-msgstr "多个名为%q+D的形参"
+msgid "multiple parameters named %qD"
+msgstr "多个名为%qD的形参"
 
-#: c-decl.c:6401
+#: c-decl.c:7666
 #, gcc-internal-format
-msgid "parameter %q+D declared with void type"
-msgstr "形参%q+D声明为 void 类型"
+msgid "parameter %qD declared with void type"
+msgstr "形参%qD被声明为有 void 类型"
 
-#: c-decl.c:6418 c-decl.c:6420
+#: c-decl.c:7695 c-decl.c:7699
 #, gcc-internal-format
-msgid "type of %q+D defaults to %<int%>"
-msgstr "类型%q+D默认为%<int%>"
+msgid "type of %qD defaults to %<int%>"
+msgstr "%qD的类型默认为%<int%>"
 
-#: c-decl.c:6439
+#: c-decl.c:7719
 #, gcc-internal-format
-msgid "parameter %q+D has incomplete type"
-msgstr "形参%q+D的类型不完全"
+msgid "parameter %qD has incomplete type"
+msgstr "形参%qD类型不完全"
 
-#: c-decl.c:6445
+#: c-decl.c:7726
 #, gcc-internal-format
-msgid "declaration for parameter %q+D but no such parameter"
-msgstr "声æ\98\8eç\9a\84å\8f\82æ\95°%q+D不存在"
+msgid "declaration for parameter %qD but no such parameter"
+msgstr "声æ\98\8eç\9a\84å½¢å\8f\82%qD不存在"
 
-#: c-decl.c:6495
+#: c-decl.c:7778
 #, gcc-internal-format
 msgid "number of arguments doesn%'t match built-in prototype"
 msgstr "实参个数与内建原型不符"
 
-#: c-decl.c:6499
+#: c-decl.c:7789
 #, gcc-internal-format
 msgid "number of arguments doesn%'t match prototype"
 msgstr "实参数目与原型不符"
 
-#: c-decl.c:6500 c-decl.c:6552
+#: c-decl.c:7792 c-decl.c:7834 c-decl.c:7848
 #, gcc-internal-format
-msgid "%Hprototype declaration"
-msgstr "%H原型声明"
+msgid "prototype declaration"
+msgstr "原型声明"
 
-#: c-decl.c:6534
+#: c-decl.c:7826
 #, gcc-internal-format
 msgid "promoted argument %qD doesn%'t match built-in prototype"
 msgstr "提升后的实参%qD与内建原型不符"
 
-#: c-decl.c:6538
+#: c-decl.c:7831
 #, gcc-internal-format
 msgid "promoted argument %qD doesn%'t match prototype"
 msgstr "提升后的实参%qD与原型不符"
 
-#: c-decl.c:6541
-#, gcc-internal-format
-msgid "prototype declaration"
-msgstr "原型声明"
-
-#: c-decl.c:6547
+#: c-decl.c:7841
 #, gcc-internal-format
 msgid "argument %qD doesn%'t match built-in prototype"
 msgstr "实参%qD与内建原型不符"
 
-#: c-decl.c:6551
+#: c-decl.c:7846
 #, gcc-internal-format
 msgid "argument %qD doesn%'t match prototype"
 msgstr "实参%qD与原型不符"
 
-#: c-decl.c:6760 cp/decl.c:12260
+#: c-decl.c:8030 cp/decl.c:12551
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "在有返回值的函数中未发现 return 语句"
@@ -18914,442 +20413,162 @@ msgstr "在有返回值的函数中未发现 return 语句"
 #. If we get here, declarations have been used in a for loop without
 #. the C99 for loop scope.  This doesn't make much sense, so don't
 #. allow it.
-#: c-decl.c:6833
+#: c-decl.c:8102
 #, gcc-internal-format
 msgid "%<for%> loop initial declarations are only allowed in C99 mode"
 msgstr "只允许在 C99 模式下使用%<for%>循环初始化声明"
 
-#: c-decl.c:6837
+#: c-decl.c:8107
 #, gcc-internal-format
 msgid "use option -std=c99 or -std=gnu99 to compile your code"
 msgstr "使用 -std=c99 或 -std=gnu99 来编译您的代码"
 
-#: c-decl.c:6868
+#: c-decl.c:8141
 #, gcc-internal-format
-msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
-msgstr "在%<for%>循环初始声明中声明了静态变量%q+D"
+msgid "declaration of static variable %qD in %<for%> loop initial declaration"
+msgstr "在%<for%>循环初始声明中声明了静态变量%qD"
 
-#: c-decl.c:6871
+#: c-decl.c:8145
 #, gcc-internal-format
-msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
-msgstr "在%<for%>循环初始声明中声明了%<extern%>变量%q+D"
+msgid "declaration of %<extern%> variable %qD in %<for%> loop initial declaration"
+msgstr "在%<for%>循环初始声明中声明了%<extern%>变量%qD"
 
-#: c-decl.c:6876
+#: c-decl.c:8152
 #, gcc-internal-format
 msgid "%<struct %E%> declared in %<for%> loop initial declaration"
 msgstr "%<struct %E%>声明于%<for%>循环初始声明中"
 
-#: c-decl.c:6880
+#: c-decl.c:8157
 #, gcc-internal-format
 msgid "%<union %E%> declared in %<for%> loop initial declaration"
 msgstr "%<union %E%>声明于%<for%>循环初始声明中"
 
-#: c-decl.c:6884
+#: c-decl.c:8161
 #, gcc-internal-format
 msgid "%<enum %E%> declared in %<for%> loop initial declaration"
 msgstr "%<enum %E%>声明于%<for%>循环初始声明中"
 
-#: c-decl.c:6888
+#: c-decl.c:8165
+#, gcc-internal-format
+msgid "declaration of non-variable %qD in %<for%> loop initial declaration"
+msgstr "在%<for%>循环初始声明中声明了非变量%qD"
+
+#: c-decl.c:8416
 #, gcc-internal-format
-msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
-msgstr "在%<for%>循环初始声明中声明了非变量%q+D"
+msgid "incompatible address space qualifiers %qs and %qs"
+msgstr "不兼容的地址空间限定符%qs和%qs"
 
-#: c-decl.c:7171 c-decl.c:7413 c-decl.c:7709
+#: c-decl.c:8455 c-decl.c:8752 c-decl.c:9118
 #, gcc-internal-format
 msgid "duplicate %qE"
 msgstr "重复的%qE"
 
-#: c-decl.c:7196 c-decl.c:7423 c-decl.c:7610
+#: c-decl.c:8481 c-decl.c:8763 c-decl.c:8995
 #, gcc-internal-format
 msgid "two or more data types in declaration specifiers"
 msgstr "声明指定了两个以上的数据类型"
 
-#: c-decl.c:7208
+#: c-decl.c:8493 cp/parser.c:2185
 #, gcc-internal-format
 msgid "%<long long long%> is too long for GCC"
 msgstr "%<long long long%>对 GCC 来说太长了"
 
-#: c-decl.c:7215 c-decl.c:7513
-#, gcc-internal-format
-msgid "both %<long long%> and %<double%> in declaration specifiers"
-msgstr "声明中同时使用了%<long long%>和%<double%>"
-
-#: c-decl.c:7220
+#: c-decl.c:8506
 #, gcc-internal-format
 msgid "ISO C90 does not support %<long long%>"
 msgstr "ISO C90 不支持%<long long%>"
 
-#: c-decl.c:7225 c-decl.c:7254
-#, gcc-internal-format
-msgid "both %<long%> and %<short%> in declaration specifiers"
-msgstr "声明中同时使用了%<long%>和%<short%>"
-
-#: c-decl.c:7228 c-decl.c:7430
-#, gcc-internal-format
-msgid "both %<long%> and %<void%> in declaration specifiers"
-msgstr "声明中同时使用了%<long%>和%<void%>"
-
-#: c-decl.c:7231 c-decl.c:7452
-#, gcc-internal-format
-msgid "both %<long%> and %<_Bool%> in declaration specifiers"
-msgstr "声明中同时使用了%<long%>和%<_Bool%>"
-
-#: c-decl.c:7234 c-decl.c:7474
-#, gcc-internal-format
-msgid "both %<long%> and %<char%> in declaration specifiers"
-msgstr "声明中同时使用了%<long%>和%<char%>"
-
-#: c-decl.c:7237 c-decl.c:7494
-#, gcc-internal-format
-msgid "both %<long%> and %<float%> in declaration specifiers"
-msgstr "声明中同时使用了%<long%>和%<float%>"
-
-#: c-decl.c:7240
-#, gcc-internal-format
-msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
-msgstr "声明中同时使用了%<long%>和%<_Decimal32%>"
-
-#: c-decl.c:7243
-#, gcc-internal-format
-msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
-msgstr "声明中同时使用了%<long%>和%<_Decimal64%>"
-
-#: c-decl.c:7246
-#, gcc-internal-format
-msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
-msgstr "声明中同时使用了%<long%>和%<_Decimal128%>"
-
-#: c-decl.c:7257 c-decl.c:7433
-#, gcc-internal-format
-msgid "both %<short%> and %<void%> in declaration specifiers"
-msgstr "声明中同时使用了%<short%>和%<void%>"
-
-#: c-decl.c:7260 c-decl.c:7455
-#, gcc-internal-format
-msgid "both %<short%> and %<_Bool%> in declaration specifiers"
-msgstr "声明中同时使用了%<short%>和%<_Bool%>"
-
-#: c-decl.c:7263 c-decl.c:7477
-#, gcc-internal-format
-msgid "both %<short%> and %<char%> in declaration specifiers"
-msgstr "声明中同时使用了%<short%>和%<char%>"
-
-#: c-decl.c:7266 c-decl.c:7497
-#, gcc-internal-format
-msgid "both %<short%> and %<float%> in declaration specifiers"
-msgstr "声明中同时使用了%<short%>和%<float%>"
-
-#: c-decl.c:7269 c-decl.c:7516
-#, gcc-internal-format
-msgid "both %<short%> and %<double%> in declaration specifiers"
-msgstr "声明中同时使用了%<short%>和%<double%>"
-
-#: c-decl.c:7272
-#, gcc-internal-format
-msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
-msgstr "声明中同时使用了%<short%>和%<_Decimal32%>"
-
-#: c-decl.c:7275
-#, gcc-internal-format
-msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
-msgstr "声明中同时使用了%<short%>和%<_Decimal64%>"
-
-#: c-decl.c:7278
-#, gcc-internal-format
-msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
-msgstr "声明中同时使用了%<short%>和%<_Decimal128%>"
-
-#: c-decl.c:7286 c-decl.c:7315
-#, gcc-internal-format
-msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
-msgstr "声明中同时使用了%<signed%>和%<unsigned%>"
-
-#: c-decl.c:7289 c-decl.c:7436
-#, gcc-internal-format
-msgid "both %<signed%> and %<void%> in declaration specifiers"
-msgstr "声明中同时使用了%<signed%>和%<void%>"
-
-#: c-decl.c:7292 c-decl.c:7458
-#, gcc-internal-format
-msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
-msgstr "声明中同时使用了%<signed%>和%<_Bool%>"
-
-#: c-decl.c:7295 c-decl.c:7500
-#, gcc-internal-format
-msgid "both %<signed%> and %<float%> in declaration specifiers"
-msgstr "声明中同时使用了%<signed%>和%<float%>"
-
-#: c-decl.c:7298 c-decl.c:7519
-#, gcc-internal-format
-msgid "both %<signed%> and %<double%> in declaration specifiers"
-msgstr "声明中同时使用了%<signed%>和%<double%>"
-
-#: c-decl.c:7301
-#, gcc-internal-format
-msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
-msgstr "声明中同时使用了%<signed%>和%<_Decimal32%>"
-
-#: c-decl.c:7304
-#, gcc-internal-format
-msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
-msgstr "声明中同时使用了%<signed%>和%<_Decimal64%>"
-
-#: c-decl.c:7307
-#, gcc-internal-format
-msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
-msgstr "声明中同时使用了%<signed%>和%<_Decimal128%>"
-
-#: c-decl.c:7318 c-decl.c:7439
-#, gcc-internal-format
-msgid "both %<unsigned%> and %<void%> in declaration specifiers"
-msgstr "声明中同时使用了%<unsigned%>和%<void%>"
-
-#: c-decl.c:7321 c-decl.c:7461
-#, gcc-internal-format
-msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
-msgstr "声明中同时使用了%<unsigned%>和%<_Bool%>"
-
-#: c-decl.c:7324 c-decl.c:7503
-#, gcc-internal-format
-msgid "both %<unsigned%> and %<float%> in declaration specifiers"
-msgstr "声明中同时使用了%<unsigned%>和%<float%>"
-
-#: c-decl.c:7327 c-decl.c:7522
-#, gcc-internal-format
-msgid "both %<unsigned%> and %<double%> in declaration specifiers"
-msgstr "声明中同时使用了%<unsigned%>和%<double%>"
-
-#: c-decl.c:7330
-#, gcc-internal-format
-msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
-msgstr "声明中同时使用了%<unsigned%>和%<_Decimal32%>"
-
-#: c-decl.c:7333
-#, gcc-internal-format
-msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
-msgstr "声明中同时使用了%<unsigned%>和%<_Decimal64%>"
-
-#: c-decl.c:7336
-#, gcc-internal-format
-msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
-msgstr "声明中同时使用了%<unsigned%>和%<_Decimal128%>"
-
-#: c-decl.c:7344
+#: c-decl.c:8664
 #, gcc-internal-format
 msgid "ISO C90 does not support complex types"
 msgstr "ISO C90 不支持复数类型"
 
-#: c-decl.c:7346 c-decl.c:7442
-#, gcc-internal-format
-msgid "both %<complex%> and %<void%> in declaration specifiers"
-msgstr "声明中同时使用了%<complex%>和%<void%>"
-
-#: c-decl.c:7349 c-decl.c:7464
-#, gcc-internal-format
-msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
-msgstr "声明中同时使用了%<complex%>和%<_Bool%>"
-
-#: c-decl.c:7352
-#, gcc-internal-format
-msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
-msgstr "声明中同时使用了%<complex%>和%<_Decimal32%>"
-
-#: c-decl.c:7355
-#, gcc-internal-format
-msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
-msgstr "声明中同时使用了%<complex%>和%<_Decimal64%>"
-
-#: c-decl.c:7358
-#, gcc-internal-format
-msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
-msgstr "声明中同时使用了%<complex%>和%<_Decimal128%>"
-
-#: c-decl.c:7361
-#, gcc-internal-format
-msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
-msgstr "声明中同时使用了%<complex%>和%<_Fract%>"
-
-#: c-decl.c:7364
-#, gcc-internal-format
-msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
-msgstr "声明中同时使用了%<complex%>和%<_Accum%>"
-
-#: c-decl.c:7367
-#, gcc-internal-format
-msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
-msgstr "声明中同时使用了%<complex%>和%<_Sat%>"
-
-#: c-decl.c:7374
+#: c-decl.c:8703
 #, gcc-internal-format
 msgid "ISO C does not support saturating types"
 msgstr "ISO C 不支持饱和类型"
 
-#: c-decl.c:7376 c-decl.c:7445
-#, gcc-internal-format
-msgid "both %<_Sat%> and %<void%> in declaration specifiers"
-msgstr "声明中同时使用了%<_Sat%>和%<void%>"
-
-#: c-decl.c:7379 c-decl.c:7467
-#, gcc-internal-format
-msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
-msgstr "声明中同时使用了%<_Sat%>和%<_Bool%>"
-
-#: c-decl.c:7382 c-decl.c:7480
-#, gcc-internal-format
-msgid "both %<_Sat%> and %<char%> in declaration specifiers"
-msgstr "声明中同时使用了%<_Sat%>和%<char%>"
-
-#: c-decl.c:7385 c-decl.c:7487
-#, gcc-internal-format
-msgid "both %<_Sat%> and %<int%> in declaration specifiers"
-msgstr "声明中同时使用了%<_Sat%>和%<int%>"
-
-#: c-decl.c:7388 c-decl.c:7506
-#, gcc-internal-format
-msgid "both %<_Sat%> and %<float%> in declaration specifiers"
-msgstr "声明中同时使用了%<_Sat%>和%<float%>"
-
-#: c-decl.c:7391 c-decl.c:7525
-#, gcc-internal-format
-msgid "both %<_Sat%> and %<double%> in declaration specifiers"
-msgstr "声明中同时使用了%<_Sat%>和%<double%>"
-
-#: c-decl.c:7394
-#, gcc-internal-format
-msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
-msgstr "声明中同时使用了%<_Sat%>和%<_Decimal32%>"
-
-#: c-decl.c:7397
-#, gcc-internal-format
-msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
-msgstr "声明中同时使用了%<_Sat%>和%<_Decimal64%>"
-
-#: c-decl.c:7400
-#, gcc-internal-format
-msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
-msgstr "声明中同时使用了%<_Sat%>和%<_Decimal128%>"
-
-#: c-decl.c:7403
-#, gcc-internal-format
-msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
-msgstr "声明中同时使用了%<_Sat%>和%<complex%>"
-
-#: c-decl.c:7542
-#, gcc-internal-format
-msgid "both %<long long%> and %<%s%> in declaration specifiers"
-msgstr "声明中同时使用了%<long long%>和%<%s%>"
-
-#: c-decl.c:7545
-#, gcc-internal-format
-msgid "both %<long%> and %<%s%> in declaration specifiers"
-msgstr "声明中同时使用了%<long%>和%<%s%>"
-
-#: c-decl.c:7548
-#, gcc-internal-format
-msgid "both %<short%> and %<%s%> in declaration specifiers"
-msgstr "声明中同时使用了%<short%>和%<%s%>"
-
-#: c-decl.c:7551
-#, gcc-internal-format
-msgid "both %<signed%> and %<%s%> in declaration specifiers"
-msgstr "声明中同时使用了%<signed%>和%<%s%>"
-
-#: c-decl.c:7554
-#, gcc-internal-format
-msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
-msgstr "声明中同时使用了%<unsigned%>和%<%s%>"
-
-#: c-decl.c:7557 c-decl.c:7583
-#, gcc-internal-format
-msgid "both %<complex%> and %<%s%> in declaration specifiers"
-msgstr "声明中同时使用了%<complex%>和%<%s%>"
-
-#: c-decl.c:7560
-#, gcc-internal-format
-msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
-msgstr "声明中同时使用了%<_Sat%>和%<%s%>"
-
-#: c-decl.c:7570
-#, gcc-internal-format
-msgid "decimal floating point not supported for this target"
-msgstr "十进制浮点在此目标机上不受支持"
-
-#: c-decl.c:7572
+#: c-decl.c:8954
 #, gcc-internal-format
 msgid "ISO C does not support decimal floating point"
 msgstr "ISO C 不支持十进制浮点数"
 
-#: c-decl.c:7591
+#: c-decl.c:8976 c-decl.c:9179 c-parser.c:5372
 #, gcc-internal-format
 msgid "fixed-point types not supported for this target"
 msgstr "定点类型在此目标机上不受支持"
 
-#: c-decl.c:7593
+#: c-decl.c:8978
 #, gcc-internal-format
 msgid "ISO C does not support fixed-point types"
 msgstr "ISO C 不支持定点类型"
 
-#: c-decl.c:7627
+#: c-decl.c:9012
+#, gcc-internal-format
+msgid "C++ lookup of %qD would return a field, not a type"
+msgstr "%qD的 C++ 查询会返回一个字段而非类型"
+
+#: c-decl.c:9025
 #, gcc-internal-format
 msgid "%qE fails to be a typedef or built in type"
 msgstr "%qE不是一个 typedef 类型,也不是一个内建类型"
 
-#: c-decl.c:7660
+#: c-decl.c:9069
 #, gcc-internal-format
 msgid "%qE is not at beginning of declaration"
 msgstr "%qE没有出现在声明的开头"
 
-#: c-decl.c:7674
+#: c-decl.c:9083
 #, gcc-internal-format
 msgid "%<__thread%> used with %<auto%>"
 msgstr "%<__thread%>与%<auto%>一起使用"
 
-#: c-decl.c:7676
+#: c-decl.c:9085
 #, gcc-internal-format
 msgid "%<__thread%> used with %<register%>"
 msgstr "%<__thread%>与%<register%>一起使用"
 
-#: c-decl.c:7678
+#: c-decl.c:9087
 #, gcc-internal-format
 msgid "%<__thread%> used with %<typedef%>"
 msgstr "%<__thread%>与%<typedef%>一起使用"
 
-#: c-decl.c:7689
+#: c-decl.c:9098
 #, gcc-internal-format
 msgid "%<__thread%> before %<extern%>"
 msgstr "%<__thread%>出现在%<extern%>之前"
 
-#: c-decl.c:7698
+#: c-decl.c:9107
 #, gcc-internal-format
 msgid "%<__thread%> before %<static%>"
 msgstr "%<__thread%>出现在%<static%>之前"
 
-#: c-decl.c:7714
+#: c-decl.c:9123
 #, gcc-internal-format
 msgid "multiple storage classes in declaration specifiers"
 msgstr "声明指定了多个存储类"
 
-#: c-decl.c:7721
+#: c-decl.c:9130
 #, gcc-internal-format
 msgid "%<__thread%> used with %qE"
 msgstr "%<__thread%>与%qE一起使用"
 
-#: c-decl.c:7768
+#: c-decl.c:9177
 #, gcc-internal-format
 msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
 msgstr "%<_Sat%>使用时缺少%<_Fract%>或%<_Accum%>"
 
-#: c-decl.c:7780
+#: c-decl.c:9191
 #, gcc-internal-format
 msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
 msgstr "ISO C 不支持单独用%<complex%>表示%<double complex%>"
 
-#: c-decl.c:7825 c-decl.c:7851
+#: c-decl.c:9236 c-decl.c:9262
 #, gcc-internal-format
 msgid "ISO C does not support complex integer types"
 msgstr "ISO C 不支持复整数"
 
-#: c-decl.c:8001 toplev.c:836
+#: c-decl.c:9416 toplev.c:862
 #, gcc-internal-format
 msgid "%q+F used but never defined"
 msgstr "%q+F使用过但从未定义"
@@ -19389,293 +20608,293 @@ msgstr "%<...%>操作数号不对"
 msgid "format string argument follows the args to be formatted"
 msgstr "格式字符串出现在待格式化的实参之后"
 
-#: c-format.c:933
+#: c-format.c:923
 #, gcc-internal-format
 msgid "function might be possible candidate for %qs format attribute"
 msgstr "函数可能是%qsformat 属性的备选"
 
-#: c-format.c:1025 c-format.c:1046 c-format.c:2065
+#: c-format.c:1015 c-format.c:1036 c-format.c:2060
 #, gcc-internal-format
 msgid "missing $ operand number in format"
 msgstr "格式字符串缺少 $ 操作数号"
 
-#: c-format.c:1055
+#: c-format.c:1045
 #, gcc-internal-format
 msgid "%s does not support %%n$ operand number formats"
 msgstr "%s 不支持 %%n$ 操作数号格式字符串"
 
-#: c-format.c:1062
+#: c-format.c:1052
 #, gcc-internal-format
 msgid "operand number out of range in format"
 msgstr "格式字符中操作数号越界"
 
-#: c-format.c:1085
+#: c-format.c:1075
 #, gcc-internal-format
 msgid "format argument %d used more than once in %s format"
 msgstr "格式实参 %d 在 %s 格式字符串中使用不止一次"
 
-#: c-format.c:1117
+#: c-format.c:1107
 #, gcc-internal-format
 msgid "$ operand number used after format without operand number"
 msgstr "$ 操作数号在不使用操作数号的格式后被使用"
 
-#: c-format.c:1148
+#: c-format.c:1138
 #, gcc-internal-format
 msgid "format argument %d unused before used argument %d in $-style format"
 msgstr "格式实参 %d 在被使用的 $ 风格的格式实参 %d 前未被使用"
 
-#: c-format.c:1243
+#: c-format.c:1233
 #, gcc-internal-format
 msgid "format not a string literal, format string not checked"
 msgstr "格式字符串不是一个字面字符串,格式字符串未被检查"
 
-#: c-format.c:1258 c-format.c:1261
+#: c-format.c:1248 c-format.c:1251
 #, gcc-internal-format
 msgid "format not a string literal and no format arguments"
 msgstr "格式字符串不是一个字面字符串而且没有待格式化的实参"
 
-#: c-format.c:1264
+#: c-format.c:1254
 #, gcc-internal-format
 msgid "format not a string literal, argument types not checked"
 msgstr "格式字符串不是一个字面字符串,没有进行实参类型检查"
 
-#: c-format.c:1277
+#: c-format.c:1267
 #, gcc-internal-format
 msgid "too many arguments for format"
 msgstr "提供给格式字符串的实参太多"
 
-#: c-format.c:1280
+#: c-format.c:1270
 #, gcc-internal-format
 msgid "unused arguments in $-style format"
 msgstr "$ 风格的格式字符串中有未使用的实参"
 
-#: c-format.c:1283
+#: c-format.c:1273
 #, gcc-internal-format
 msgid "zero-length %s format string"
 msgstr "格式字符串 %s 长度为 0"
 
-#: c-format.c:1287
+#: c-format.c:1277
 #, gcc-internal-format
 msgid "format is a wide character string"
 msgstr "格式字符串是一个宽字符串"
 
-#: c-format.c:1290
+#: c-format.c:1280
 #, gcc-internal-format
 msgid "unterminated format string"
 msgstr "未终止的格式字符串"
 
-#: c-format.c:1498
+#: c-format.c:1489
 #, gcc-internal-format
 msgid "embedded %<\\0%> in format"
 msgstr "格式字符串嵌有%<\\0%>"
 
-#: c-format.c:1513
+#: c-format.c:1504
 #, gcc-internal-format
 msgid "spurious trailing %<%%%> in format"
 msgstr "格式字符串尾有可疑的%<%%%>"
 
-#: c-format.c:1557 c-format.c:1828
+#: c-format.c:1548 c-format.c:1823
 #, gcc-internal-format
 msgid "repeated %s in format"
 msgstr "格式字符串中有重复的 %s"
 
-#: c-format.c:1570
+#: c-format.c:1561
 #, gcc-internal-format
 msgid "missing fill character at end of strfmon format"
 msgstr "strfmon 格式字符串末尾缺少填充字符"
 
-#: c-format.c:1614 c-format.c:1716 c-format.c:2012 c-format.c:2077
+#: c-format.c:1605 c-format.c:1708 c-format.c:2007 c-format.c:2072
 #, gcc-internal-format
 msgid "too few arguments for format"
 msgstr "格式字符串实参太少"
 
-#: c-format.c:1655
+#: c-format.c:1647
 #, gcc-internal-format
 msgid "zero width in %s format"
 msgstr "%s 格式字符串中域宽为 0"
 
-#: c-format.c:1673
+#: c-format.c:1665
 #, gcc-internal-format
 msgid "empty left precision in %s format"
 msgstr "%s 格式字符串中左精度为空"
 
-#: c-format.c:1746
+#: c-format.c:1739
 #, gcc-internal-format
 msgid "empty precision in %s format"
 msgstr "%s 格式字符串中精度为空"
 
-#: c-format.c:1812
+#: c-format.c:1807
 #, gcc-internal-format
 msgid "%s does not support the %qs %s length modifier"
 msgstr "%s 不支持%qs%s 长度修饰符"
 
-#: c-format.c:1845
+#: c-format.c:1840
 #, gcc-internal-format
 msgid "conversion lacks type at end of format"
 msgstr "格式字符串末尾的转换缺少类型"
 
-#: c-format.c:1856
+#: c-format.c:1851
 #, gcc-internal-format
 msgid "unknown conversion type character %qc in format"
 msgstr "格式字符串中出现无效的类型转换字符%qc"
 
-#: c-format.c:1859
+#: c-format.c:1854
 #, gcc-internal-format
 msgid "unknown conversion type character 0x%x in format"
 msgstr "格式字符串中出现无效的类型转换字符 0x%x"
 
-#: c-format.c:1866
+#: c-format.c:1861
 #, gcc-internal-format
 msgid "%s does not support the %<%%%c%> %s format"
 msgstr "%s 不支持%<%%%c%>%s 格式"
 
-#: c-format.c:1882
+#: c-format.c:1877
 #, gcc-internal-format
 msgid "%s used with %<%%%c%> %s format"
 msgstr "%s 与%<%%%c%>%s 格式并用"
 
-#: c-format.c:1891
+#: c-format.c:1886
 #, gcc-internal-format
 msgid "%s does not support %s"
 msgstr "%s 不支持 %s"
 
-#: c-format.c:1901
+#: c-format.c:1896
 #, gcc-internal-format
 msgid "%s does not support %s with the %<%%%c%> %s format"
 msgstr "%s 不支持 %s 出现在%<%%%c%>%s 格式字符串中"
 
-#: c-format.c:1937
+#: c-format.c:1932
 #, gcc-internal-format
 msgid "%s ignored with %s and %<%%%c%> %s format"
 msgstr "%s 与 %s 和%<%%%c%>%s 格式字符串合用时被忽略"
 
-#: c-format.c:1941
+#: c-format.c:1936
 #, gcc-internal-format
 msgid "%s ignored with %s in %s format"
 msgstr "%s 和 %s 出现在 %s 格式字符串中时被忽略"
 
-#: c-format.c:1948
+#: c-format.c:1943
 #, gcc-internal-format
 msgid "use of %s and %s together with %<%%%c%> %s format"
 msgstr "同时使用 %s 和 %s,在%<%%%c%>%s 格式字符串中"
 
-#: c-format.c:1952
+#: c-format.c:1947
 #, gcc-internal-format
 msgid "use of %s and %s together in %s format"
 msgstr "同时使用 %s 和 %s,在 %s 格式字符串中"
 
-#: c-format.c:1971
+#: c-format.c:1966
 #, gcc-internal-format
 msgid "%<%%%c%> yields only last 2 digits of year in some locales"
 msgstr "%<%%%c%>在某些区域设定下只给出 2 位表示的年份"
 
-#: c-format.c:1974
+#: c-format.c:1969
 #, gcc-internal-format
 msgid "%<%%%c%> yields only last 2 digits of year"
 msgstr "%<%%%c%>只给出 2 位表示的年份"
 
 #. The end of the format string was reached.
-#: c-format.c:1991
+#: c-format.c:1986
 #, gcc-internal-format
 msgid "no closing %<]%> for %<%%[%> format"
 msgstr "%<%%[%>格式没有相应的%<]%>"
 
-#: c-format.c:2005
+#: c-format.c:2000
 #, gcc-internal-format
 msgid "use of %qs length modifier with %qc type character"
 msgstr "将%qs长度修饰符和%qc类型字符一起使用"
 
-#: c-format.c:2027
+#: c-format.c:2022
 #, gcc-internal-format
 msgid "%s does not support the %<%%%s%c%> %s format"
 msgstr "%s 不支持%<%%%s%c%>%s 格式"
 
-#: c-format.c:2044
+#: c-format.c:2039
 #, gcc-internal-format
 msgid "operand number specified with suppressed assignment"
 msgstr "为格式字符串指定的操作数号取消了赋值"
 
-#: c-format.c:2047
+#: c-format.c:2042
 #, gcc-internal-format
 msgid "operand number specified for format taking no argument"
 msgstr "为格式字符串指定的操作数号不带参数"
 
-#: c-format.c:2180
+#: c-format.c:2178
 #, gcc-internal-format
 msgid "writing through null pointer (argument %d)"
 msgstr "对空指针指向内容的写操作(实参 %d)"
 
-#: c-format.c:2188
+#: c-format.c:2186
 #, gcc-internal-format
 msgid "reading through null pointer (argument %d)"
 msgstr "对空指针指向内容的读操作(实参 %d)"
 
-#: c-format.c:2208
+#: c-format.c:2206
 #, gcc-internal-format
 msgid "writing into constant object (argument %d)"
 msgstr "对常量对象的写操作(实参 %d)"
 
-#: c-format.c:2219
+#: c-format.c:2217
 #, gcc-internal-format
 msgid "extra type qualifiers in format argument (argument %d)"
 msgstr "格式字符串实参 %d 有多余的类型限定"
 
-#: c-format.c:2330
+#: c-format.c:2334
 #, gcc-internal-format
 msgid "%s should have type %<%s%s%>, but argument %d has type %qT"
 msgstr "%s 的类型应当是%<%s%s%>,但实参 %d 的类型却是%qT"
 
-#: c-format.c:2334
+#: c-format.c:2338
 #, gcc-internal-format
 msgid "format %q.*s expects type %<%s%s%>, but argument %d has type %qT"
 msgstr "格式%q.*s需要类型%<%s%s%>,但实参 %d 的类型为%qT"
 
-#: c-format.c:2342
+#: c-format.c:2346
 #, gcc-internal-format
 msgid "%s should have type %<%T%s%>, but argument %d has type %qT"
 msgstr "%s 的类型应该是%<%T%s%>,但实参 %d 的类型为%qT"
 
-#: c-format.c:2346
+#: c-format.c:2350
 #, gcc-internal-format
 msgid "format %q.*s expects type %<%T%s%>, but argument %d has type %qT"
 msgstr "格式%q.*s需要类型%<%T%s%>,但实参 %d 的类型为%qT"
 
-#: c-format.c:2405 c-format.c:2411 c-format.c:2562
+#: c-format.c:2409 c-format.c:2415 c-format.c:2566
 #, gcc-internal-format
 msgid "%<__gcc_host_wide_int__%> is not defined as a type"
 msgstr "%<__gcc_host_wide_int__%>未被定义为一个类型"
 
-#: c-format.c:2418 c-format.c:2572
+#: c-format.c:2422 c-format.c:2576
 #, gcc-internal-format
 msgid "%<__gcc_host_wide_int__%> is not defined as %<long%> or %<long long%>"
 msgstr "%<__gcc_host_wide_int__%>未被定义为%<long%>或%<long long%>"
 
-#: c-format.c:2468
+#: c-format.c:2472
 #, gcc-internal-format
 msgid "%<locus%> is not defined as a type"
 msgstr "%<locus%>未被定义为一个类型"
 
-#: c-format.c:2521
+#: c-format.c:2525
 #, gcc-internal-format
 msgid "%<location_t%> is not defined as a type"
 msgstr "%<location_t%>未被定义为一个类型"
 
-#: c-format.c:2538
+#: c-format.c:2542
 #, gcc-internal-format
 msgid "%<tree%> is not defined as a type"
 msgstr "%<tree%>未被定义为一个类型"
 
-#: c-format.c:2543
+#: c-format.c:2547
 #, gcc-internal-format
 msgid "%<tree%> is not defined as a pointer type"
 msgstr "%<tree%>未被定义为一个指针类型"
 
-#: c-format.c:2850
+#: c-format.c:2818
 #, gcc-internal-format
 msgid "args to be formatted is not %<...%>"
 msgstr "待格式化的实参不是%<...%>"
 
-#: c-format.c:2862
+#: c-format.c:2830
 #, gcc-internal-format
 msgid "strftime formats cannot format arguments"
 msgstr "strftime 格式字符串无法格式化实参"
@@ -19687,301 +20906,306 @@ msgstr "预处理器生成的嵌套 C 头 错误"
 
 #: c-lex.c:267
 #, gcc-internal-format
-msgid "%Hignoring #pragma %s %s"
-msgstr "%H忽略 #pragma %s %s"
+msgid "ignoring #pragma %s %s"
+msgstr "忽略 #pragma %s %s"
 
 #. ... or not.
-#: c-lex.c:382
+#: c-lex.c:383
 #, gcc-internal-format
-msgid "%Hstray %<@%> in program"
-msgstr "%H程序中有游离的%<@%>"
+msgid "stray %<@%> in program"
+msgstr "程序中有游离的 %<@%>"
 
-#: c-lex.c:397
+#: c-lex.c:398
 #, gcc-internal-format
 msgid "stray %qs in program"
 msgstr "程序中有游离的%qs"
 
-#: c-lex.c:407
+#: c-lex.c:408
 #, gcc-internal-format
 msgid "missing terminating %c character"
 msgstr "缺少结尾的 %c 字符"
 
-#: c-lex.c:409
+#: c-lex.c:410
 #, gcc-internal-format
 msgid "stray %qc in program"
 msgstr "程序中有游离的%qc"
 
-#: c-lex.c:411
+#: c-lex.c:412
 #, gcc-internal-format
 msgid "stray %<\\%o%> in program"
 msgstr "程序中有游离的%<\\%o%>"
 
-#: c-lex.c:570
+#: c-lex.c:572
 #, gcc-internal-format
 msgid "this decimal constant is unsigned only in ISO C90"
-msgstr "è¿\99个å°\8f数常量仅 ISO C90 中是无符号的"
+msgstr "è¿\99个å\8d\81è¿\9bå\88数常量仅 ISO C90 中是无符号的"
 
-#: c-lex.c:574
+#: c-lex.c:576
 #, gcc-internal-format
 msgid "this decimal constant would be unsigned in ISO C90"
 msgstr "这个小数常量在 ISO C90 中将是无符号的"
 
-#: c-lex.c:590
+#: c-lex.c:633
 #, gcc-internal-format
-msgid "integer constant is too large for %qs type"
-msgstr "对%qs类型而言整数常量太大"
+msgid "unsuffixed float constant"
+msgstr "无后缀的浮点常量"
 
-#: c-lex.c:639
+#: c-lex.c:665
 #, gcc-internal-format
 msgid "unsupported non-standard suffix on floating constant"
 msgstr "不被支持的非标准浮点常量后缀"
 
-#: c-lex.c:645
+#: c-lex.c:671
 #, gcc-internal-format
 msgid "non-standard suffix on floating constant"
 msgstr "非标准的浮点常量后缀"
 
-#: c-lex.c:687 c-lex.c:689
+#: c-lex.c:725 c-lex.c:727
 #, gcc-internal-format
 msgid "floating constant exceeds range of %qT"
 msgstr "浮点常量超出%qT的范围"
 
-#: c-lex.c:697
+#: c-lex.c:736
 #, gcc-internal-format
 msgid "floating constant truncated to zero"
 msgstr "浮点常量向零截断"
 
-#: c-lex.c:888
+#: c-lex.c:933 cp/parser.c:3003
 #, gcc-internal-format
 msgid "unsupported non-standard concatenation of string literals"
 msgstr "不受支持的非标准字面字符串毗连"
 
-#: c-lex.c:910
+#: c-lex.c:955
 #, gcc-internal-format
 msgid "traditional C rejects string constant concatenation"
 msgstr "传统 C 不接受字符串常量毗连"
 
-#: c-omp.c:119
+#: c-omp.c:126
 #, gcc-internal-format
 msgid "invalid expression type for %<#pragma omp atomic%>"
 msgstr "%<#pragma omp atomic%>表达式类型无效"
 
-#: c-omp.c:245
+#: c-omp.c:260 cp/semantics.c:4478
 #, gcc-internal-format
 msgid "invalid type for iteration variable %qE"
 msgstr "迭代变量%qE类型无效"
 
-#: c-omp.c:258
+#: c-omp.c:273
 #, gcc-internal-format
 msgid "%qE is not initialized"
 msgstr "%qE未经初始化"
 
-#: c-omp.c:270
+#: c-omp.c:290 cp/semantics.c:4393
 #, gcc-internal-format
 msgid "missing controlling predicate"
 msgstr "缺少控制谓词"
 
-#: c-omp.c:331
+#: c-omp.c:368 cp/semantics.c:4150
 #, gcc-internal-format
 msgid "invalid controlling predicate"
 msgstr "无效的控制谓词"
 
-#: c-omp.c:338
+#: c-omp.c:375 cp/semantics.c:4399
 #, gcc-internal-format
 msgid "missing increment expression"
 msgstr "缺少自增语句"
 
-#: c-omp.c:404
+#: c-omp.c:444 cp/semantics.c:4255
 #, gcc-internal-format
 msgid "invalid increment expression"
 msgstr "无效的自增语句"
 
-#: c-opts.c:150
+#: c-opts.c:151
 #, gcc-internal-format
 msgid "no class name specified with %qs"
 msgstr "%qs没有指定类名"
 
-#: c-opts.c:154
+#: c-opts.c:155
 #, gcc-internal-format
 msgid "assertion missing after %qs"
 msgstr "%qs后断言"
 
-#: c-opts.c:159
+#: c-opts.c:160
 #, gcc-internal-format
 msgid "macro name missing after %qs"
 msgstr "%qs后缺少宏名"
 
-#: c-opts.c:168
+#: c-opts.c:169
 #, gcc-internal-format
 msgid "missing path after %qs"
 msgstr "%qs后缺少路径"
 
-#: c-opts.c:177
+#: c-opts.c:178
 #, gcc-internal-format
 msgid "missing filename after %qs"
 msgstr "%qs后缺少文件名"
 
-#: c-opts.c:182
+#: c-opts.c:183
 #, gcc-internal-format
 msgid "missing makefile target after %qs"
 msgstr "%qs后缺少 makefile 目标"
 
-#: c-opts.c:321
+#: c-opts.c:326
 #, gcc-internal-format
 msgid "-I- specified twice"
 msgstr "-I- 指定了两次"
 
-#: c-opts.c:324
+#: c-opts.c:329
 #, gcc-internal-format
 msgid "obsolete option -I- used, please use -iquote instead"
 msgstr "使用了过时的选项 -I-,请改用 -iquote"
 
-#: c-opts.c:495
+#: c-opts.c:513
 #, gcc-internal-format
 msgid "argument %qs to %<-Wnormalized%> not recognized"
 msgstr "实参%qs(给予%<-Wnormalized%>)无法识别"
 
-#: c-opts.c:582
+#: c-opts.c:596
 #, gcc-internal-format
 msgid "switch %qs is no longer supported"
 msgstr "开关%qs不再被支持"
 
-#: c-opts.c:689
+#: c-opts.c:703
 #, gcc-internal-format
 msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
 msgstr "-fhandle-exceptions 已被重命名为 -fexceptions (并且现在默认为开)"
 
-#: c-opts.c:1025
+#: c-opts.c:1042
+#, gcc-internal-format
+msgid "-fexcess-precision=standard for C++"
+msgstr "对 C++ 而言 -fexcess-precision=standard"
+
+#: c-opts.c:1055
 #, gcc-internal-format
 msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
 msgstr "-fno-gnu89-inline 仅在 GNU99 或 C99 模式下支持"
 
-#: c-opts.c:1094
+#: c-opts.c:1134
 #, gcc-internal-format
 msgid "-Wformat-y2k ignored without -Wformat"
 msgstr "-Wformat-y2k 未与 -Wformat 一起使用,已忽略"
 
-#: c-opts.c:1096
+#: c-opts.c:1136
 #, gcc-internal-format
 msgid "-Wformat-extra-args ignored without -Wformat"
 msgstr "-Wformat-extra-args 未与 -Wformat 一起使用,已忽略"
 
-#: c-opts.c:1098
+#: c-opts.c:1138
 #, gcc-internal-format
 msgid "-Wformat-zero-length ignored without -Wformat"
 msgstr "-Wformat-zero-length 未与 -Wformat 一起使用,已忽略"
 
-#: c-opts.c:1100
+#: c-opts.c:1140
 #, gcc-internal-format
 msgid "-Wformat-nonliteral ignored without -Wformat"
 msgstr "-Wformat-nonliteral 未与 -Wformat 一起使用,已忽略"
 
-#: c-opts.c:1102
+#: c-opts.c:1142
 #, gcc-internal-format
 msgid "-Wformat-contains-nul ignored without -Wformat"
 msgstr "-Wformat-contains-nul 未与 -Wformat 一起使用,已忽略"
 
-#: c-opts.c:1104
+#: c-opts.c:1144
 #, gcc-internal-format
 msgid "-Wformat-security ignored without -Wformat"
 msgstr "-Wformat-security 未与 -Wformat 一起使用,已忽略"
 
-#: c-opts.c:1128
+#: c-opts.c:1168
 #, gcc-internal-format
 msgid "opening output file %s: %m"
 msgstr "打开输出文件 %s:%m"
 
-#: c-opts.c:1133
+#: c-opts.c:1173
 #, gcc-internal-format
 msgid "too many filenames given.  Type %s --help for usage"
 msgstr "给定了太多文件名。试用 %s --help 以了解用法"
 
-#: c-opts.c:1217
+#: c-opts.c:1253
 #, gcc-internal-format
 msgid "The C parser does not support -dy, option ignored"
 msgstr "C 解析器不支持 -dy,选项已忽略"
 
-#: c-opts.c:1221
+#: c-opts.c:1257
 #, gcc-internal-format
 msgid "The Objective-C parser does not support -dy, option ignored"
 msgstr "Objective-C 解析器不支持 -dy,已忽略"
 
-#: c-opts.c:1224
+#: c-opts.c:1260
 #, gcc-internal-format
 msgid "The C++ parser does not support -dy, option ignored"
 msgstr "C++ 解析器不支持 -dy,选项已忽略"
 
-#: c-opts.c:1228
+#: c-opts.c:1264
 #, gcc-internal-format
 msgid "The Objective-C++ parser does not support -dy, option ignored"
 msgstr "Objective-C++ 解析器不支持 -dy,已忽略"
 
-#: c-opts.c:1278
+#: c-opts.c:1315
 #, gcc-internal-format
 msgid "opening dependency file %s: %m"
 msgstr "打开依赖文件 %s:%m"
 
-#: c-opts.c:1288
+#: c-opts.c:1325
 #, gcc-internal-format
 msgid "closing dependency file %s: %m"
 msgstr "关闭依赖文件 %s:%m"
 
-#: c-opts.c:1291
+#: c-opts.c:1328
 #, gcc-internal-format
 msgid "when writing output to %s: %m"
 msgstr "当写入输出到 %s 时:%m"
 
-#: c-opts.c:1371
+#: c-opts.c:1408
 #, gcc-internal-format
 msgid "to generate dependencies you must specify either -M or -MM"
 msgstr "要生成依赖项,您必须指定 -M 或 -MM"
 
-#: c-opts.c:1394
+#: c-opts.c:1431
 #, gcc-internal-format
 msgid "-MG may only be used with -M or -MM"
 msgstr "-MG 只能与 -M 或 -MM 一起使用"
 
-#: c-opts.c:1423
+#: c-opts.c:1461
 #, gcc-internal-format
 msgid "-fdirectives-only is incompatible with -Wunused_macros"
 msgstr "-fdirectives-only 与 -Wunused_macros 不兼容"
 
-#: c-opts.c:1425
+#: c-opts.c:1463
 #, gcc-internal-format
 msgid "-fdirectives-only is incompatible with -traditional"
 msgstr "-fdirectives-only 与 -traditional 不兼容"
 
-#: c-opts.c:1563
+#: c-opts.c:1601
 #, gcc-internal-format
 msgid "too late for # directive to set debug directory"
 msgstr "使用 # 指示设定调试目录太迟"
 
-#: c-parser.c:226
+#: c-parser.c:232
 #, gcc-internal-format
-msgid "identifier %qs conflicts with C++ keyword"
-msgstr "标识符%qs与 C++ 关键字冲突"
+msgid "identifier %qE conflicts with C++ keyword"
+msgstr "标识符%qE与 C++ 关键字冲突"
 
-#: c-parser.c:971
+#: c-parser.c:996
 #, gcc-internal-format
 msgid "ISO C forbids an empty translation unit"
 msgstr "ISO C 不允许翻译单元为空"
 
-#: c-parser.c:1056 c-parser.c:6085
+#: c-parser.c:1082 c-parser.c:6474
 #, gcc-internal-format
 msgid "ISO C does not allow extra %<;%> outside of a function"
 msgstr "ISO C 不支持在函数外使用多余的%<;%>"
 
-#: c-parser.c:1158 c-parser.c:6643
+#: c-parser.c:1186 c-parser.c:7036
 #, gcc-internal-format
 msgid "expected declaration specifiers"
 msgstr "需要指定声明"
 
-#: c-parser.c:1206
+#: c-parser.c:1234
 #, gcc-internal-format
 msgid "data definition has no type or storage class"
 msgstr "数据定义时没有类型或存储类"
 
-#: c-parser.c:1260
+#: c-parser.c:1292
 #, gcc-internal-format
 msgid "expected %<,%> or %<;%>"
 msgstr "需要%<,%>或%<;%>"
@@ -19989,187 +21213,187 @@ msgstr "需要%<,%>或%<;%>"
 #. This can appear in many cases looking nothing like a
 #. function definition, so we don't give a more specific
 #. error suggesting there was one.
-#: c-parser.c:1267 c-parser.c:1283
+#: c-parser.c:1299 c-parser.c:1315
 #, gcc-internal-format
 msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
 msgstr "需要%<=%>,%<,%>,%<;%>,%<asm%>或%<__attribute__%>"
 
-#: c-parser.c:1275
+#: c-parser.c:1307
 #, gcc-internal-format
 msgid "ISO C forbids nested functions"
 msgstr "ISO C 不允许嵌套函数"
 
-#: c-parser.c:1641 c-parser.c:2454 c-parser.c:3091 c-parser.c:3343
-#: c-parser.c:4277 c-parser.c:4877 c-parser.c:5284 c-parser.c:5305
-#: c-parser.c:5422 c-parser.c:5574 c-parser.c:5591 c-parser.c:5727
-#: c-parser.c:5739 c-parser.c:5764 c-parser.c:5898 c-parser.c:5927
-#: c-parser.c:5935 c-parser.c:5963 c-parser.c:5977 c-parser.c:6193
-#: c-parser.c:6292 c-parser.c:6813 c-parser.c:7514
+#: c-parser.c:1710 c-parser.c:2530 c-parser.c:3181 c-parser.c:3450
+#: c-parser.c:4438 c-parser.c:4528 c-parser.c:5146 c-parser.c:5585
+#: c-parser.c:5607 c-parser.c:5714 c-parser.c:5911 c-parser.c:5940
+#: c-parser.c:6116 c-parser.c:6128 c-parser.c:6153 c-parser.c:6287
+#: c-parser.c:6316 c-parser.c:6324 c-parser.c:6352 c-parser.c:6366
+#: c-parser.c:6582 c-parser.c:6681 c-parser.c:7210 c-parser.c:7938
 #, gcc-internal-format
 msgid "expected identifier"
 msgstr "需要标识符"
 
-#: c-parser.c:1674 cp/parser.c:11882
+#: c-parser.c:1743 cp/parser.c:12724
 #, gcc-internal-format
 msgid "comma at end of enumerator list"
 msgstr "枚举表以逗号结尾"
 
-#: c-parser.c:1680
+#: c-parser.c:1749
 #, gcc-internal-format
 msgid "expected %<,%> or %<}%>"
 msgstr "需要%<,%>或%<}%>"
 
-#: c-parser.c:1694 c-parser.c:1877 c-parser.c:6052
+#: c-parser.c:1765 c-parser.c:1960 c-parser.c:6441
 #, gcc-internal-format
 msgid "expected %<{%>"
 msgstr "需要%<{%>"
 
-#: c-parser.c:1706
+#: c-parser.c:1779
 #, gcc-internal-format
 msgid "ISO C forbids forward references to %<enum%> types"
 msgstr "ISO C 不允许%<enum%>类型的前向引用"
 
-#: c-parser.c:1812
+#: c-parser.c:1893
 #, gcc-internal-format
 msgid "expected class name"
 msgstr "需要类名"
 
-#: c-parser.c:1831 c-parser.c:5831
+#: c-parser.c:1912 c-parser.c:6220
 #, gcc-internal-format
 msgid "extra semicolon in struct or union specified"
 msgstr "为联合或结构指定了多余的分号"
 
-#: c-parser.c:1860
+#: c-parser.c:1941
 #, gcc-internal-format
 msgid "no semicolon at end of struct or union"
 msgstr "结构或联合后没有分号"
 
-#: c-parser.c:1863
+#: c-parser.c:1944
 #, gcc-internal-format
 msgid "expected %<;%>"
 msgstr "需要%<;%>"
 
-#: c-parser.c:1942 c-parser.c:2920
+#: c-parser.c:2027 c-parser.c:3006
 #, gcc-internal-format
 msgid "expected specifier-qualifier-list"
 msgstr "需要指定符-限制符列表"
 
-#: c-parser.c:1952
+#: c-parser.c:2037
 #, gcc-internal-format
 msgid "ISO C forbids member declarations with no members"
 msgstr "ISO C 不允许不含成员的成员声明"
 
-#: c-parser.c:2028
+#: c-parser.c:2113
 #, gcc-internal-format
 msgid "expected %<,%>, %<;%> or %<}%>"
 msgstr "需要%<,%>、%<;%>或%<}%>"
 
-#: c-parser.c:2035
+#: c-parser.c:2120
 #, gcc-internal-format
 msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
 msgstr "需要%<:%>,%<,%>,%<;%>,%<}%>或%<__attribute__%>"
 
-#: c-parser.c:2086
+#: c-parser.c:2173
 #, gcc-internal-format
 msgid "%<typeof%> applied to a bit-field"
 msgstr "为位段使用%<typeof%>"
 
-#: c-parser.c:2322
+#: c-parser.c:2397
 #, gcc-internal-format
 msgid "expected identifier or %<(%>"
 msgstr "需要标识符或%<(%>"
 
-#: c-parser.c:2524
+#: c-parser.c:2600
 #, gcc-internal-format
 msgid "ISO C requires a named argument before %<...%>"
 msgstr "ISO C 要求在%<...%>前有一个有名参数"
 
-#: c-parser.c:2630
+#: c-parser.c:2708
 #, gcc-internal-format
 msgid "expected declaration specifiers or %<...%>"
 msgstr "需要指定声明或%<...%>"
 
-#: c-parser.c:2681
+#: c-parser.c:2759
 #, gcc-internal-format
 msgid "wide string literal in %<asm%>"
 msgstr "%<asm%>中出现宽字面字符串"
 
-#: c-parser.c:2687 c-parser.c:6698
+#: c-parser.c:2765 c-parser.c:7091 cp/parser.c:22949
 #, gcc-internal-format
 msgid "expected string literal"
 msgstr "需要字面字符串"
 
-#: c-parser.c:3012
+#: c-parser.c:3099
 #, gcc-internal-format
 msgid "ISO C forbids empty initializer braces"
 msgstr "ISO C 不允许用初始值设定中有空的花括号对"
 
-#: c-parser.c:3058
+#: c-parser.c:3147
 #, gcc-internal-format
 msgid "obsolete use of designated initializer with %<:%>"
 msgstr "使用%<:%>来指定元素初始值的作法已过时"
 
-#: c-parser.c:3188
+#: c-parser.c:3282
 #, gcc-internal-format
 msgid "ISO C forbids specifying range of elements to initialize"
 msgstr "ISO C 不允许在初始化指定元素的范围"
 
-#: c-parser.c:3201
+#: c-parser.c:3295
 #, gcc-internal-format
 msgid "ISO C90 forbids specifying subobject to initialize"
 msgstr "ISO C90 不允许指定子对象的初始值"
 
-#: c-parser.c:3208
+#: c-parser.c:3302
 #, gcc-internal-format
 msgid "obsolete use of designated initializer without %<=%>"
 msgstr "过时的用法,应使用%<=%>来指定元素初始值"
 
-#: c-parser.c:3214
+#: c-parser.c:3309
 #, gcc-internal-format
 msgid "expected %<=%>"
 msgstr "需要%<=%>"
 
-#: c-parser.c:3358
+#: c-parser.c:3465
 #, gcc-internal-format
 msgid "ISO C forbids label declarations"
 msgstr "HISO C 不允许标号声明"
 
-#: c-parser.c:3363 c-parser.c:3439
+#: c-parser.c:3471 c-parser.c:3551
 #, gcc-internal-format
 msgid "expected declaration or statement"
 msgstr "需要声明或语句"
 
-#: c-parser.c:3393 c-parser.c:3421
+#: c-parser.c:3503 c-parser.c:3532
 #, gcc-internal-format
 msgid "ISO C90 forbids mixed declarations and code"
 msgstr "ISO C90 不允许混合使用声明和代码"
 
-#: c-parser.c:3446
+#: c-parser.c:3559
 #, gcc-internal-format
 msgid "expected %<}%> before %<else%>"
 msgstr "%<else%>前需要%<}%>"
 
-#: c-parser.c:3451
+#: c-parser.c:3564 cp/parser.c:7910
 #, gcc-internal-format
 msgid "%<else%> without a previous %<if%>"
 msgstr "%<else%>之前没有%<if%>"
 
-#: c-parser.c:3467
+#: c-parser.c:3581
 #, gcc-internal-format
 msgid "label at end of compound statement"
 msgstr "标号位于复合语句末尾"
 
-#: c-parser.c:3510
+#: c-parser.c:3626
 #, gcc-internal-format
 msgid "expected %<:%> or %<...%>"
 msgstr "需要%<:%>或%<...%>"
 
-#: c-parser.c:3544
+#: c-parser.c:3659
 #, gcc-internal-format
 msgid "a label can only be part of a statement and a declaration is not a statement"
 msgstr "标号只能是语句的一部分,而声明并非语句"
 
-#: c-parser.c:3706
+#: c-parser.c:3823
 #, gcc-internal-format
 msgid "expected identifier or %<*%>"
 msgstr "需要标识符或%<*%>"
@@ -20178,277 +21402,282 @@ msgstr "需要标识符或%<*%>"
 #. c_parser_skip_until_found stops at a closing nesting
 #. delimiter without consuming it, but here we need to consume
 #. it to proceed further.
-#: c-parser.c:3768
+#: c-parser.c:3887
 #, gcc-internal-format
 msgid "expected statement"
 msgstr "需要语句"
 
-#: c-parser.c:3863 cp/parser.c:7228
+#: c-parser.c:3985 cp/parser.c:7992
 #, gcc-internal-format
 msgid "suggest braces around empty body in an %<if%> statement"
 msgstr "建议在空的%<if%>语句体周围加上花括号"
 
-#: c-parser.c:3889 cp/parser.c:7249
+#: c-parser.c:4013 cp/parser.c:8015
 #, gcc-internal-format
 msgid "suggest braces around empty body in an %<else%> statement"
 msgstr "建议在空的%<else%>语句体周围加上花括号"
 
-#: c-parser.c:4009
+#: c-parser.c:4144
 #, gcc-internal-format
 msgid "suggest braces around empty body in %<do%> statement"
 msgstr "建议在空的%<do%>语句体周围加上花括号"
 
-#: c-parser.c:4162
+#: c-parser.c:4305
 #, gcc-internal-format
 msgid "%E qualifier ignored on asm"
 msgstr "%E 限定在 asm 上被忽略"
 
-#: c-parser.c:4450
+#: c-parser.c:4656
 #, gcc-internal-format
 msgid "ISO C forbids omitting the middle term of a ?: expression"
 msgstr "ISO C 不允许省略 ?: 表达式中的第二项"
 
-#: c-parser.c:4846
+#: c-parser.c:5111
 #, gcc-internal-format
 msgid "traditional C rejects the unary plus operator"
 msgstr "传统 C 不接受单目 + 运算符"
 
-#: c-parser.c:4970
+#: c-parser.c:5235
 #, gcc-internal-format
 msgid "%<sizeof%> applied to a bit-field"
 msgstr "对位段使用%<sizeof%>"
 
-#: c-parser.c:5118 c-parser.c:5464 c-parser.c:5486
+#: c-parser.c:5401 c-parser.c:5751 c-parser.c:5771
 #, gcc-internal-format
 msgid "expected expression"
 msgstr "需要表达式"
 
-#: c-parser.c:5145
+#: c-parser.c:5427
 #, gcc-internal-format
 msgid "braced-group within expression allowed only inside a function"
 msgstr "表达式中的花括号组只允许出现在函数中"
 
-#: c-parser.c:5159
+#: c-parser.c:5440
 #, gcc-internal-format
 msgid "ISO C forbids braced-groups within expressions"
 msgstr "ISO C 不允许在表达式中使用花括号组"
 
-#: c-parser.c:5346
+#: c-parser.c:5645
 #, gcc-internal-format
 msgid "first argument to %<__builtin_choose_expr%> not a constant"
 msgstr "%<__builtin_choose_expr%>的第一个实参不是一个常量"
 
-#: c-parser.c:5515
+#: c-parser.c:5806
 #, gcc-internal-format
 msgid "compound literal has variable size"
 msgstr "复合字面值有可变的大小"
 
-#: c-parser.c:5523
+#: c-parser.c:5817
+#, gcc-internal-format
+msgid "compound literal qualified by address-space qualifier"
+msgstr "组合字面常量有地址空间限定"
+
+#: c-parser.c:5822
 #, gcc-internal-format
 msgid "ISO C90 forbids compound literals"
 msgstr "ISO C90 不允许复合字面值"
 
-#: c-parser.c:6048
+#: c-parser.c:6437
 #, gcc-internal-format
 msgid "extra semicolon in method definition specified"
 msgstr "为方法定义指定了多余的分号"
 
-#: c-parser.c:6592
+#: c-parser.c:6985 cp/parser.c:22993
 #, gcc-internal-format
 msgid "%<#pragma omp barrier%> may only be used in compound statements"
 msgstr "%<#pragma omp barrier%>只能用在复合语句中"
 
-#: c-parser.c:6603
+#: c-parser.c:6996 cp/parser.c:23008
 #, gcc-internal-format
 msgid "%<#pragma omp flush%> may only be used in compound statements"
 msgstr "%<#pragma omp flush%>只能用在复合语句中"
 
-#: c-parser.c:6614
+#: c-parser.c:7007 cp/parser.c:23024
 #, gcc-internal-format
 msgid "%<#pragma omp taskwait%> may only be used in compound statements"
 msgstr "%<#pragma omp taskwait%>只能用在复合语句中"
 
-#: c-parser.c:6627
+#: c-parser.c:7020 cp/parser.c:23052
 #, gcc-internal-format
 msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
 msgstr "%<#pragma omp section%>只能用在%<#pragma omp sections%>结构中"
 
-#: c-parser.c:6633
+#: c-parser.c:7026 cp/parser.c:22983
 #, gcc-internal-format
 msgid "%<#pragma GCC pch_preprocess%> must be first"
 msgstr "%<#pragma GCC pch_preprocess%>必须是第一个"
 
-#: c-parser.c:6791
+#: c-parser.c:7185 cp/parser.c:21272
 #, gcc-internal-format
 msgid "too many %qs clauses"
 msgstr "太多的%qs子句"
 
-#: c-parser.c:6887
-#, fuzzy, gcc-internal-format
+#: c-parser.c:7287 cp/parser.c:21386
+#, gcc-internal-format
 msgid "collapse argument needs positive constant integer expression"
-msgstr "在有符号和无符号整数表达式间比较"
+msgstr "折叠参数需要正整常量表达式"
 
-#: c-parser.c:6952
+#: c-parser.c:7353
 #, gcc-internal-format
 msgid "expected %<none%> or %<shared%>"
 msgstr "需要%<none%>或%<shared%>"
 
-#: c-parser.c:6995
+#: c-parser.c:7397
 #, gcc-internal-format
 msgid "expected %<(%>"
 msgstr "需要%<(%>"
 
-#: c-parser.c:7039 c-parser.c:7223
+#: c-parser.c:7444 c-parser.c:7636
 #, gcc-internal-format
 msgid "expected integer expression"
 msgstr "需要整数表达式"
 
-#: c-parser.c:7049
+#: c-parser.c:7456
 #, gcc-internal-format
 msgid "%<num_threads%> value must be positive"
 msgstr "%<num_threads%>值必须为正"
 
-#: c-parser.c:7129
+#: c-parser.c:7539
 #, gcc-internal-format
 msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
 msgstr "需要%<+%>、%<*%>、%<-%>、%<&%>、%<^%>、%<|%>、%<&&%>或%<||%>"
 
-#: c-parser.c:7214
+#: c-parser.c:7627 cp/parser.c:21674
 #, gcc-internal-format
 msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
 msgstr "调度%<runtime%>不接受一个%<chunk_size%>参数"
 
-#: c-parser.c:7218
+#: c-parser.c:7631 cp/parser.c:21677
 #, gcc-internal-format
 msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
 msgstr "调度%<auto%>不接受一个%<chunk_size%>参数"
 
-#: c-parser.c:7236
+#: c-parser.c:7649
 #, gcc-internal-format
 msgid "invalid schedule kind"
 msgstr "无效的调度类型"
 
-#: c-parser.c:7354
+#: c-parser.c:7769
 #, gcc-internal-format
 msgid "expected %<#pragma omp%> clause"
 msgstr "需要%<#pragma omp%>子句"
 
-#: c-parser.c:7363
+#: c-parser.c:7778 cp/parser.c:21825
 #, gcc-internal-format
 msgid "%qs is not valid for %qs"
 msgstr "%qs对%qs而言无效"
 
-#: c-parser.c:7464
+#: c-parser.c:7882
 #, gcc-internal-format
 msgid "invalid operator for %<#pragma omp atomic%>"
-msgstr "%<#pragma omp atomic%>操作符无效"
+msgstr "%<#pragma omp atomic%>运算符无效"
 
-#: c-parser.c:7517 c-parser.c:7537
+#: c-parser.c:7941 c-parser.c:7962
 #, gcc-internal-format
 msgid "expected %<(%> or end of line"
 msgstr "需要%<(%>或行尾"
 
-#: c-parser.c:7569
+#: c-parser.c:7996
 #, gcc-internal-format
 msgid "for statement expected"
 msgstr "需要 for 语句"
 
-#: c-parser.c:7619
+#: c-parser.c:8049 cp/semantics.c:4383 cp/semantics.c:4453
 #, gcc-internal-format
 msgid "expected iteration declaration or initialization"
 msgstr "需要迭代声明或初始化"
 
-#: c-parser.c:7684
+#: c-parser.c:8129
 #, gcc-internal-format
 msgid "not enough perfectly nested loops"
 msgstr "不够完美的嵌套循环"
 
-#: c-parser.c:7732
+#: c-parser.c:8182 cp/parser.c:22530
 #, gcc-internal-format
 msgid "collapsed loops not perfectly nested"
 msgstr "折叠的循环没有完美的嵌套"
 
-#: c-parser.c:7769 cp/pt.c:10362
+#: c-parser.c:8220 cp/parser.c:22374 cp/parser.c:22412 cp/pt.c:11173
 #, gcc-internal-format
 msgid "iteration variable %qD should not be firstprivate"
 msgstr "迭代变量%qD不应当是 firstprivate"
 
-#: c-parser.c:7919
+#: c-parser.c:8382
 #, gcc-internal-format
 msgid "expected %<#pragma omp section%> or %<}%>"
 msgstr "需要%<#pragma omp section%>或%<}%>"
 
-#: c-parser.c:8189
+#: c-parser.c:8665
 #, gcc-internal-format
 msgid "%qD is not a variable"
 msgstr "%qD不是一个变量"
 
-#: c-parser.c:8191 cp/semantics.c:3787
+#: c-parser.c:8667 cp/semantics.c:4008
 #, gcc-internal-format
 msgid "%qE declared %<threadprivate%> after first use"
 msgstr "%qE在其首次使用后被声明为%<threadprivate%>"
 
-#: c-parser.c:8193 cp/semantics.c:3789
+#: c-parser.c:8669 cp/semantics.c:4010
 #, gcc-internal-format
 msgid "automatic variable %qE cannot be %<threadprivate%>"
 msgstr "自动变量%qE不能是%<threadprivate%>"
 
-#: c-parser.c:8197 cp/semantics.c:3791
+#: c-parser.c:8673 cp/semantics.c:4012
 #, gcc-internal-format
 msgid "%<threadprivate%> %qE has incomplete type"
 msgstr "%<threadprivate%>%qE的类型不完全"
 
-#: c-pch.c:131
+#: c-pch.c:132
 #, gcc-internal-format
 msgid "can%'t create precompiled header %s: %m"
 msgstr "无法创建预编译头 %s:%m"
 
-#: c-pch.c:152
+#: c-pch.c:153
 #, gcc-internal-format
 msgid "can%'t write to %s: %m"
 msgstr "无法写入 %s:%m"
 
-#: c-pch.c:158
+#: c-pch.c:159
 #, gcc-internal-format
 msgid "%qs is not a valid output file"
 msgstr "%qs不是一个有效的输出文件"
 
-#: c-pch.c:187 c-pch.c:202 c-pch.c:216
+#: c-pch.c:188 c-pch.c:203 c-pch.c:217
 #, gcc-internal-format
 msgid "can%'t write %s: %m"
 msgstr "无法写入 %s:%m"
 
-#: c-pch.c:192 c-pch.c:209
+#: c-pch.c:193 c-pch.c:210
 #, gcc-internal-format
 msgid "can%'t seek in %s: %m"
 msgstr "无法在 %s 中定位:%m"
 
-#: c-pch.c:200 c-pch.c:242 c-pch.c:283 c-pch.c:334
+#: c-pch.c:201 c-pch.c:243 c-pch.c:284 c-pch.c:335
 #, gcc-internal-format
 msgid "can%'t read %s: %m"
 msgstr "无法读取 %s:%m"
 
-#: c-pch.c:465
+#: c-pch.c:466
 #, gcc-internal-format
 msgid "pch_preprocess pragma should only be used with -fpreprocessed"
 msgstr "pch_preprocess pragma 只应与 -fpreprocessed 并用"
 
-#: c-pch.c:466
+#: c-pch.c:467
 #, gcc-internal-format
 msgid "use #include instead"
 msgstr "改用 #include"
 
-#: c-pch.c:472
+#: c-pch.c:473
 #, gcc-internal-format
 msgid "%s: couldn%'t open PCH file: %m"
 msgstr "%s:无法打开 PCH 文件:%m"
 
-#: c-pch.c:477
+#: c-pch.c:478
 #, gcc-internal-format
 msgid "use -Winvalid-pch for more information"
 msgstr "使用 -Winvalid-pch 以获得更多信息"
 
-#: c-pch.c:478
+#: c-pch.c:479
 #, gcc-internal-format
 msgid "%s: PCH file was invalid"
 msgstr "%s:PCH 文件无效"
@@ -20460,8 +21689,8 @@ msgstr "#pragma pack (pop) 没有相匹配的 #pragma pack (push)"
 
 #: c-pragma.c:115
 #, gcc-internal-format
-msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s)"
-msgstr "#pragma pack(pop, %s) 没有相匹配的 #pragma pack(push, %s)"
+msgid "#pragma pack(pop, %E) encountered without matching #pragma pack(push, %E)"
+msgstr "#pragma pack (pop, %E) 没有相匹配的 #pragma pack(push,%E)"
 
 #: c-pragma.c:129
 #, gcc-internal-format
@@ -20500,8 +21729,8 @@ msgstr "%<#pragma pack(pop[, id])%>格式错误 - 已忽略"
 
 #: c-pragma.c:183
 #, gcc-internal-format
-msgid "unknown action %qs for %<#pragma pack%> - ignored"
-msgstr "%<#pragma pack%>动作%qs无效 - 已忽略"
+msgid "unknown action %qE for %<#pragma pack%> - ignored"
+msgstr "%<#pragma pack%>动作%qE无效 - 已忽略"
 
 #: c-pragma.c:212
 #, gcc-internal-format
@@ -20518,368 +21747,363 @@ msgstr "指定了 -fpack-struct 时 #pragma pack 无效  - 已忽略"
 msgid "alignment must be a small power of two, not %d"
 msgstr "对齐边界必须是 2 的较小次方,而不是 %d"
 
-#: c-pragma.c:291
+#: c-pragma.c:268
 #, gcc-internal-format
-msgid "missing %<(%> after %<#pragma push_macro%> - ignored"
-msgstr "%<#pragma push_macro%>后缺少%<(%>,忽略"
+msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+msgstr "在第一次使用后应用 #pragma weak%q+D导致不可预知的后果"
 
-#: c-pragma.c:299
+#: c-pragma.c:343 c-pragma.c:348
 #, gcc-internal-format
-msgid "invalid constant in %<#pragma push_macro%> - ignored"
-msgstr "%<#pragma push_macro%>中有无效常量 - 已忽略"
+msgid "malformed #pragma weak, ignored"
+msgstr "#pragma weak 格式错误,已忽略"
 
-#: c-pragma.c:302
-#, gcc-internal-format
-msgid "missing %<)%> after %<#pragma push_macro%> - ignored"
-msgstr "%<#pragma push_macro%>后缺少%<)%>,忽略"
-
-#: c-pragma.c:305
-#, gcc-internal-format
-msgid "junk at end of %<#pragma push_macro%>"
-msgstr "%<#pragma push_macro%>末尾有垃圾字符"
-
-#: c-pragma.c:348
-#, gcc-internal-format
-msgid "missing %<(%> after %<#pragma pop_macro%> - ignored"
-msgstr "%<#pragma pop_macro%>后缺少%<(%>,忽略"
-
-#: c-pragma.c:356
-#, gcc-internal-format
-msgid "invalid constant in %<#pragma pop_macro%> - ignored"
-msgstr "%<#pragma pop_macro%>中有无效常量 - 已忽略"
-
-#: c-pragma.c:359
-#, gcc-internal-format
-msgid "missing %<)%> after %<#pragma pop_macro%> - ignored"
-msgstr "%<#pragma pop_macro%>后缺少%<)%>,忽略"
-
-#: c-pragma.c:362
-#, gcc-internal-format
-msgid "junk at end of %<#pragma pop_macro%>"
-msgstr "%<#pragma pop_macro%>末尾有垃圾字符"
-
-#: c-pragma.c:408
-#, gcc-internal-format
-msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
-msgstr "在第一次使用后应用 #pragma weak%q+D导致不可预知的后果"
-
-#: c-pragma.c:482 c-pragma.c:487
-#, gcc-internal-format
-msgid "malformed #pragma weak, ignored"
-msgstr "#pragma weak 格式错误,已忽略"
-
-#: c-pragma.c:491
+#: c-pragma.c:352
 #, gcc-internal-format
 msgid "junk at end of %<#pragma weak%>"
 msgstr "%<#pragma weak%>末尾有垃圾字符"
 
-#: c-pragma.c:559 c-pragma.c:561
+#: c-pragma.c:420 c-pragma.c:422
 #, gcc-internal-format
 msgid "malformed #pragma redefine_extname, ignored"
 msgstr "#pragma redefine_extname 格式错误,已忽略"
 
-#: c-pragma.c:564
+#: c-pragma.c:425
 #, gcc-internal-format
 msgid "junk at end of %<#pragma redefine_extname%>"
 msgstr "%<#pragma redefine_extname%>末尾有垃圾字符"
 
-#: c-pragma.c:570
-#, gcc-internal-format
-msgid "#pragma redefine_extname not supported on this target"
-msgstr "#pragma redefine_extname 在此目标机上不受支持"
-
-#: c-pragma.c:587 c-pragma.c:674
+#: c-pragma.c:440 c-pragma.c:527
 #, gcc-internal-format
 msgid "#pragma redefine_extname ignored due to conflict with previous rename"
 msgstr "#pragma redefine_extname 因与先前的 rename 冲突而被忽略"
 
-#: c-pragma.c:610
+#: c-pragma.c:463
 #, gcc-internal-format
 msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
 msgstr "#pragma redefine_extname 因与先前的 #pragma redefine_extname 冲突而被忽略"
 
-#: c-pragma.c:629
+#: c-pragma.c:482
 #, gcc-internal-format
 msgid "malformed #pragma extern_prefix, ignored"
 msgstr "#pragma extern_prefix 格式错误,已忽略"
 
-#: c-pragma.c:632
+#: c-pragma.c:485
 #, gcc-internal-format
 msgid "junk at end of %<#pragma extern_prefix%>"
 msgstr "%<#pragma extern_prefix%>末尾有垃圾字符"
 
-#: c-pragma.c:639
+#: c-pragma.c:492
 #, gcc-internal-format
 msgid "#pragma extern_prefix not supported on this target"
 msgstr "#pragma extern_prefix 在此目标机上不受支持"
 
-#: c-pragma.c:665
+#: c-pragma.c:518
 #, gcc-internal-format
 msgid "asm declaration ignored due to conflict with previous rename"
 msgstr "asm 声明因与先前的 rename 冲突而被忽略"
 
-#: c-pragma.c:696
+#: c-pragma.c:549
 #, gcc-internal-format
 msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
 msgstr "#pragma redefine_extname 因与 __asm__ declaration 冲突而被忽略"
 
-#: c-pragma.c:758
+#: c-pragma.c:612
 #, gcc-internal-format
 msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
 msgstr "#pragma GCC visibility push() 必须指定 default、internal、hidden 或 protected"
 
-#: c-pragma.c:793
+#: c-pragma.c:654
 #, gcc-internal-format
 msgid "#pragma GCC visibility must be followed by push or pop"
 msgstr "#pragma GCC visibility 后面必须跟 push 或 pop"
 
-#: c-pragma.c:799
+#: c-pragma.c:660
 #, gcc-internal-format
 msgid "no matching push for %<#pragma GCC visibility pop%>"
 msgstr "没有与%<#pragma GCC visibility pop%>对应的 push"
 
-#: c-pragma.c:806 c-pragma.c:813
+#: c-pragma.c:665 c-pragma.c:672
 #, gcc-internal-format
 msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
 msgstr "%<#pragma GCC visibility push%>缺少%<(%>- 已忽略"
 
-#: c-pragma.c:809
+#: c-pragma.c:668
 #, gcc-internal-format
 msgid "malformed #pragma GCC visibility push"
 msgstr "#pragma GCC visibility push 格式错误"
 
-#: c-pragma.c:817
+#: c-pragma.c:676
 #, gcc-internal-format
 msgid "junk at end of %<#pragma GCC visibility%>"
 msgstr "%<#pragma GCC visibility%>末尾有垃圾字符"
 
-#: c-pragma.c:833
+#: c-pragma.c:692
 #, gcc-internal-format
 msgid "#pragma GCC diagnostic not allowed inside functions"
 msgstr "#pragma GCC diagnostic 不允许用在函数体中"
 
-#: c-pragma.c:839
+#: c-pragma.c:698
 #, gcc-internal-format
 msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
 msgstr "%<#pragma GCC diagnostic%>后缺少 error、warning 或 ignored"
 
-#: c-pragma.c:848
+#: c-pragma.c:707
 #, gcc-internal-format
 msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
 msgstr "%<#pragma GCC diagnostic%>后需要 error、warning 或 ignored"
 
-#: c-pragma.c:852
+#: c-pragma.c:711
 #, gcc-internal-format
 msgid "missing option after %<#pragma GCC diagnostic%> kind"
 msgstr "%<#pragma GCC diagnostic%>后选项缺失"
 
-#: c-pragma.c:866
+#: c-pragma.c:725
 #, gcc-internal-format
 msgid "unknown option after %<#pragma GCC diagnostic%> kind"
 msgstr "%<#pragma GCC diagnostic%>后选项未知"
 
-#: c-pragma.c:879
+#: c-pragma.c:738
 #, gcc-internal-format
 msgid "#pragma GCC option is not allowed inside functions"
 msgstr "#pragma GCC option 不允许用在函数中"
 
-#: c-pragma.c:892
+#: c-pragma.c:751
 #, gcc-internal-format
 msgid "%<#pragma GCC option%> is not a string"
 msgstr "%<#pragma GCC option%>不是个字符串"
 
-#: c-pragma.c:919
+#: c-pragma.c:778
 #, gcc-internal-format
 msgid "%<#pragma GCC target (string [,string]...)%> does not have a final %<)%>."
 msgstr "%<#pragma GCC target (字符串[,字符串]...)%>缺少最后的%<)%>。"
 
-#: c-pragma.c:925
+#: c-pragma.c:784
 #, gcc-internal-format
 msgid "#pragma GCC target string... is badly formed"
 msgstr "#pragma GCC target 字符串...格式不正确"
 
-#: c-pragma.c:948
+#: c-pragma.c:807
 #, gcc-internal-format
 msgid "#pragma GCC optimize is not allowed inside functions"
 msgstr "#pragma GCC optimize 不允许用在函数中"
 
-#: c-pragma.c:961
+#: c-pragma.c:820
 #, gcc-internal-format
 msgid "%<#pragma GCC optimize%> is not a string or number"
 msgstr "%<#pragma GCC optimize%>不是字符串或数字"
 
-#: c-pragma.c:987
+#: c-pragma.c:846
 #, gcc-internal-format
 msgid "%<#pragma GCC optimize (string [,string]...)%> does not have a final %<)%>."
 msgstr "%<#pragma GCC optimize (字符串 [,字符串]...)%>缺少最后的%<)%>。"
 
-#: c-pragma.c:993
+#: c-pragma.c:852
 #, gcc-internal-format
 msgid "#pragma GCC optimize string... is badly formed"
 msgstr "#pragma GCC optimize 字符串...格式不正确"
 
-#: c-pragma.c:1036
+#: c-pragma.c:894
 #, gcc-internal-format
 msgid "junk at end of %<#pragma push_options%>"
 msgstr "%<#pragma push_options%>末尾有垃圾字符"
 
-#: c-pragma.c:1066
+#: c-pragma.c:924
 #, gcc-internal-format
 msgid "junk at end of %<#pragma pop_options%>"
 msgstr "%<#pragma pop_options%>末尾有垃圾字符"
 
-#: c-pragma.c:1073
+#: c-pragma.c:931
 #, gcc-internal-format
 msgid "%<#pragma GCC pop_options%> without a corresponding %<#pragma GCC push_options%>"
 msgstr "%<#pragma GCC pop_options%>缺少相应的%<#pragma GCC push_options%>"
 
-#: c-pragma.c:1114
+#: c-pragma.c:972
 #, gcc-internal-format
 msgid "junk at end of %<#pragma reset_options%>"
 msgstr "%<#pragma reset_options%>末尾有垃圾字符"
 
-#: c-pragma.c:1151 c-pragma.c:1158
+#: c-pragma.c:1009 c-pragma.c:1016
 #, gcc-internal-format
 msgid "expected a string after %<#pragma message%>"
 msgstr "%<#pragma message%>后需要一个字符串"
 
-#: c-pragma.c:1153
+#: c-pragma.c:1011
 #, gcc-internal-format
 msgid "malformed %<#pragma message%>, ignored"
 msgstr "%<#pragma message%>格式错误,已忽略"
 
-#: c-pragma.c:1163
+#: c-pragma.c:1021
 #, gcc-internal-format
 msgid "junk at end of %<#pragma message%>"
 msgstr "%<#pragma message%>末尾有垃圾字符"
 
-#: c-pragma.c:1166
+#: c-pragma.c:1024
 #, gcc-internal-format
 msgid "#pragma message: %s"
 msgstr "#pragma message:%s"
 
-#: c-typeck.c:173
+#: c-pragma.c:1061
+#, gcc-internal-format
+msgid "invalid location for %<pragma %s%>, ignored"
+msgstr "%<pragma %s%>位置错误,已忽略"
+
+#: c-pragma.c:1068 c-pragma.c:1082
+#, gcc-internal-format
+msgid "malformed %<#pragma %s%>, ignored"
+msgstr "%<#pragma %s%>格式错误,已忽略"
+
+#: c-pragma.c:1088
+#, gcc-internal-format
+msgid "junk at end of %<#pragma %s%>"
+msgstr "%<#pragma %s%>末尾有垃圾"
+
+#: c-pragma.c:1106
+#, gcc-internal-format
+msgid "%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported for C++"
+msgstr "%<#pragma STDC FLOAT_CONST_DECIMAL64%> 不为 C++ 所支持"
+
+#: c-pragma.c:1115
+#, gcc-internal-format
+msgid "%<#pragma STDC FLOAT_CONST_DECIMAL64%> is not supported on this target"
+msgstr "%<#pragma STDC FLOAT_CONST_DECIMAL64%> 在此目标机上不受支持"
+
+#: c-pragma.c:1121
+#, gcc-internal-format
+msgid "ISO C does not support %<#pragma STDC FLOAT_CONST_DECIMAL64%>"
+msgstr "ISO C 不支持%<#pragma STDC FLOAT_CONST_DECIMAL64%>"
+
+#: c-typeck.c:215
 #, gcc-internal-format
 msgid "%qD has an incomplete type"
 msgstr "%qD类型不完全"
 
-#: c-typeck.c:194 cp/call.c:2914
+#: c-typeck.c:236 cp/call.c:3097
 #, gcc-internal-format
 msgid "invalid use of void expression"
 msgstr "对 void 表达式的使用无效"
 
-#: c-typeck.c:202
+#: c-typeck.c:244
 #, gcc-internal-format
 msgid "invalid use of flexible array member"
 msgstr "对可变数组成员的使用无效"
 
-#: c-typeck.c:208
+#: c-typeck.c:250
 #, gcc-internal-format
 msgid "invalid use of array with unspecified bounds"
 msgstr "对未指定边界的数组的使用无效"
 
-#: c-typeck.c:216
+#: c-typeck.c:258
 #, gcc-internal-format
 msgid "invalid use of undefined type %<%s %E%>"
 msgstr "对未定义类型%<%s %E%>的使用无效"
 
 #. If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL.
-#: c-typeck.c:220
+#: c-typeck.c:262
 #, gcc-internal-format
 msgid "invalid use of incomplete typedef %qD"
 msgstr "对不完全的 typedef%qD的使用无效"
 
-#: c-typeck.c:473 c-typeck.c:498
+#: c-typeck.c:328
+#, gcc-internal-format
+msgid "%qT and %qT are in disjoint named address spaces"
+msgstr "%qT和%qT在不相交的有名地址空间里"
+
+#: c-typeck.c:570 c-typeck.c:595
 #, gcc-internal-format
 msgid "function types not truly compatible in ISO C"
 msgstr "函数类型与 ISO C 不完全兼容"
 
-#: c-typeck.c:626
+#: c-typeck.c:739
 #, gcc-internal-format
 msgid "can%'t mix operands of decimal float and vector types"
-msgstr "十进制浮点和量类型不能同时作操作数"
+msgstr "十进制浮点和量类型不能同时作操作数"
 
-#: c-typeck.c:631
+#: c-typeck.c:744
 #, gcc-internal-format
 msgid "can%'t mix operands of decimal float and complex types"
 msgstr "十进制浮点和复数类型不能同时作操作数"
 
-#: c-typeck.c:636
+#: c-typeck.c:749
 #, gcc-internal-format
 msgid "can%'t mix operands of decimal float and other float types"
 msgstr "十进制浮点与其他浮点类型不能同时作操作数"
 
-#: c-typeck.c:1042
+#: c-typeck.c:1194
 #, gcc-internal-format
 msgid "types are not quite compatible"
 msgstr "类型不完全兼容"
 
-#: c-typeck.c:1365
+#: c-typeck.c:1198
+#, gcc-internal-format
+msgid "pointer target types incompatible in C++"
+msgstr "指针目标类型在 C++ 中不兼容"
+
+#: c-typeck.c:1528
 #, gcc-internal-format
 msgid "function return types not compatible due to %<volatile%>"
 msgstr "由于%<volatile%>,函数返回类型不兼容"
 
-#: c-typeck.c:1524 c-typeck.c:2887
+#: c-typeck.c:1690 c-typeck.c:3233
 #, gcc-internal-format
 msgid "arithmetic on pointer to an incomplete type"
 msgstr "在指向不完全类型的指针上执行算术运算"
 
-#: c-typeck.c:1920
+#: c-typeck.c:2043
 #, gcc-internal-format
 msgid "%qT has no member named %qE"
 msgstr "%qT没有名为%qE的成员"
 
-#: c-typeck.c:1961
+#: c-typeck.c:2097
 #, gcc-internal-format
 msgid "request for member %qE in something not a structure or union"
 msgstr "在非结构或联合中请求成员%qE"
 
-#: c-typeck.c:2010
+#: c-typeck.c:2146
 #, gcc-internal-format
 msgid "dereferencing pointer to incomplete type"
 msgstr "提领指向不完全类型的指针"
 
-#: c-typeck.c:2014
+#: c-typeck.c:2150
 #, gcc-internal-format
 msgid "dereferencing %<void *%> pointer"
 msgstr "提领%<void *%>指针"
 
-#: c-typeck.c:2033
+#: c-typeck.c:2169
 #, gcc-internal-format
 msgid "invalid type argument of %qs (have %qT)"
 msgstr "%qs(有%qT)的实参类型无效"
 
-#: c-typeck.c:2064 cp/typeck.c:2669
+#: c-typeck.c:2200 cp/typeck.c:2816
 #, gcc-internal-format
 msgid "subscripted value is neither array nor pointer"
 msgstr "下标运算的左操作数既非数组也非指针"
 
-#: c-typeck.c:2075 cp/typeck.c:2584 cp/typeck.c:2674
+#: c-typeck.c:2211 cp/typeck.c:2731 cp/typeck.c:2821
 #, gcc-internal-format
 msgid "array subscript is not an integer"
 msgstr "数组下标不是一个整数"
 
-#: c-typeck.c:2081
+#: c-typeck.c:2217
 #, gcc-internal-format
 msgid "subscripted value is pointer to function"
 msgstr "下标运算的左操作数是函数指针"
 
-#: c-typeck.c:2129
+#: c-typeck.c:2265
 #, gcc-internal-format
 msgid "ISO C forbids subscripting %<register%> array"
 msgstr "ISO C 不允许按下标访问%<register%>数组"
 
-#: c-typeck.c:2132
+#: c-typeck.c:2268
 #, gcc-internal-format
 msgid "ISO C90 forbids subscripting non-lvalue array"
 msgstr "ISO C90 不允许非左值的数组作为下标运算的左操作数"
 
-#: c-typeck.c:2249
+#: c-typeck.c:2376
 #, gcc-internal-format
-msgid "%qD is static but used in inline function %qD which is not static"
-msgstr "%qD是静态的,但却在非静态的内联函数%qD中被使用"
+msgid "enum constant defined here"
+msgstr "枚举常量在此定义"
 
-#: c-typeck.c:2397
+#: c-typeck.c:2607
 #, gcc-internal-format
 msgid "called object %qE is not a function"
 msgstr "被调用的对象%qE不是一个函数"
@@ -20887,802 +22111,835 @@ msgstr "被调用的对象%qE不是一个函数"
 #. This situation leads to run-time undefined behavior.  We can't,
 #. therefore, simply error unless we can prove that all possible
 #. executions of the program must execute the code.
-#: c-typeck.c:2424
+#: c-typeck.c:2643
 #, gcc-internal-format
 msgid "function called through a non-compatible type"
 msgstr "函数经由不兼容的类型调用"
 
-#: c-typeck.c:2561
+#: c-typeck.c:2657 c-typeck.c:2711
+#, gcc-internal-format
+msgid "function with qualified void return type called"
+msgstr "调用了有限定 void 返回类型的函数"
+
+#: c-typeck.c:2834
 #, gcc-internal-format
 msgid "type of formal parameter %d is incomplete"
 msgstr "实参 %d 的类型不完全"
 
-#: c-typeck.c:2574
+#: c-typeck.c:2849
 #, gcc-internal-format
 msgid "passing argument %d of %qE as integer rather than floating due to prototype"
 msgstr "根据原型,实参 %d (%qE) 将作为整数而不是浮点数传递"
 
-#: c-typeck.c:2579
+#: c-typeck.c:2854
 #, gcc-internal-format
 msgid "passing argument %d of %qE as integer rather than complex due to prototype"
 msgstr "根据原型,实参 %d (%qE) 将作为整数而不是复数传递"
 
-#: c-typeck.c:2584
+#: c-typeck.c:2859
 #, gcc-internal-format
 msgid "passing argument %d of %qE as complex rather than floating due to prototype"
 msgstr "根据原型,实参 %d (%qE) 将作为复数而不是浮点数传递"
 
-#: c-typeck.c:2589
+#: c-typeck.c:2864
 #, gcc-internal-format
 msgid "passing argument %d of %qE as floating rather than integer due to prototype"
 msgstr "根据原型,实参 %d (%qE) 将作为浮点数而不是整数传递"
 
-#: c-typeck.c:2594
+#: c-typeck.c:2869
 #, gcc-internal-format
 msgid "passing argument %d of %qE as complex rather than integer due to prototype"
 msgstr "根据原型,实参 %d (%qE) 将作为复数而不是整数传递"
 
-#: c-typeck.c:2599
+#: c-typeck.c:2874
 #, gcc-internal-format
 msgid "passing argument %d of %qE as floating rather than complex due to prototype"
 msgstr "根据原型,实参 %d (%qE) 将作为浮点数而不是复数传递"
 
-#: c-typeck.c:2612
+#: c-typeck.c:2887
 #, gcc-internal-format
 msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
 msgstr "根据原型,实参 %d (%qE) 将作为%<float%>而不是%<double%>传递"
 
-#: c-typeck.c:2637
+#: c-typeck.c:2912
 #, gcc-internal-format
 msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
 msgstr "根据原型,实参 %d (%qE)将作为%qT而不是%qT传递"
 
-#: c-typeck.c:2658
+#: c-typeck.c:2934
 #, gcc-internal-format
 msgid "passing argument %d of %qE with different width due to prototype"
 msgstr "根据原型,实参 %d (%qE) 将以不同的宽度传递"
 
-#: c-typeck.c:2681
+#: c-typeck.c:2958
 #, gcc-internal-format
 msgid "passing argument %d of %qE as unsigned due to prototype"
 msgstr "根据原型,实参 %d (%qE) 将作用无符号数传递"
 
-#: c-typeck.c:2685
+#: c-typeck.c:2963
 #, gcc-internal-format
 msgid "passing argument %d of %qE as signed due to prototype"
 msgstr "根据原型,实参 %d (%qE) 将作为有符号数传递"
 
-#: c-typeck.c:2800 c-typeck.c:2804
+#: c-typeck.c:3103 c-typeck.c:3108
 #, gcc-internal-format
 msgid "comparison with string literal results in unspecified behavior"
 msgstr "与字面字符串比较的结构是不可预测的"
 
-#: c-typeck.c:2828
+#: c-typeck.c:3122
+#, gcc-internal-format
+msgid "comparison between %qT and %qT"
+msgstr "在%qT和%qT间比较"
+
+#: c-typeck.c:3174
 #, gcc-internal-format
 msgid "pointer of type %<void *%> used in subtraction"
 msgstr "在减法中使用类型为%<void *%>的指针"
 
-#: c-typeck.c:2831
+#: c-typeck.c:3177
 #, gcc-internal-format
 msgid "pointer to a function used in subtraction"
 msgstr "函数指针不能相减"
 
-#: c-typeck.c:2946
-#, gcc-internal-format
-msgid "wrong type argument to unary plus"
-msgstr "单目加的操作数类型错误"
-
-#: c-typeck.c:2959
-#, gcc-internal-format
-msgid "wrong type argument to unary minus"
-msgstr "单目减的操作数类型错误"
-
-#: c-typeck.c:2979
+#: c-typeck.c:3341
 #, gcc-internal-format
 msgid "ISO C does not support %<~%> for complex conjugation"
 msgstr "ISO C 不支持用 %<~%> 求共轭复数"
 
-#: c-typeck.c:2985
-#, gcc-internal-format
-msgid "wrong type argument to bit-complement"
-msgstr "按位取反的实参类型错误"
-
-#: c-typeck.c:2993
+#: c-typeck.c:3380
 #, gcc-internal-format
-msgid "wrong type argument to abs"
-msgstr "不能对该类型的实参求绝对值"
+msgid "wrong type argument to unary exclamation mark"
+msgstr "单目 ! 的实参类型无效"
 
-#: c-typeck.c:3005
+#: c-typeck.c:3444
 #, gcc-internal-format
-msgid "wrong type argument to conjugation"
-msgstr "不能对该类型的实参求共轭"
+msgid "increment of enumeration value is invalid in C++"
+msgstr "C++ 中枚举自增操作无效"
 
-#: c-typeck.c:3018
+#: c-typeck.c:3447
 #, gcc-internal-format
-msgid "wrong type argument to unary exclamation mark"
-msgstr "单目 ! 的实参类型无效"
+msgid "decrement of enumeration value is invalid in C++"
+msgstr "C++ 中枚举自减操作无效"
 
-#: c-typeck.c:3055
+#: c-typeck.c:3460
 #, gcc-internal-format
 msgid "ISO C does not support %<++%> and %<--%> on complex types"
 msgstr "ISO C 不支持对复数类型进行%<++%>或%<--%>操作"
 
-#: c-typeck.c:3074 c-typeck.c:3106
+#: c-typeck.c:3479 c-typeck.c:3511
 #, gcc-internal-format
 msgid "wrong type argument to increment"
 msgstr "该类型不支持自增"
 
-#: c-typeck.c:3076 c-typeck.c:3109
+#: c-typeck.c:3481 c-typeck.c:3514
 #, gcc-internal-format
 msgid "wrong type argument to decrement"
 msgstr "该类型不支持自减"
 
-#: c-typeck.c:3096
+#: c-typeck.c:3501
 #, gcc-internal-format
 msgid "increment of pointer to unknown structure"
 msgstr "自增指向未知结构的指针"
 
-#: c-typeck.c:3099
+#: c-typeck.c:3504
 #, gcc-internal-format
 msgid "decrement of pointer to unknown structure"
 msgstr "自减指向未知结构的指针"
 
-#: c-typeck.c:3308
+#: c-typeck.c:3581
+#, gcc-internal-format
+msgid "taking address of expression of type %<void%>"
+msgstr "取一个类型为%<void%>的表达式的地址"
+
+#: c-typeck.c:3750
 #, gcc-internal-format
 msgid "assignment of read-only member %qD"
 msgstr "向只读成员%qD赋值"
 
-#: c-typeck.c:3309
+#: c-typeck.c:3751
 #, gcc-internal-format
 msgid "increment of read-only member %qD"
 msgstr "令只读成员%qD自增"
 
-#: c-typeck.c:3310
+#: c-typeck.c:3752
 #, gcc-internal-format
 msgid "decrement of read-only member %qD"
 msgstr "令只读成员%qD自减"
 
-#: c-typeck.c:3311
+#: c-typeck.c:3753
 #, gcc-internal-format
 msgid "read-only member %qD used as %<asm%> output"
 msgstr "只读成员%qD用作%<asm%>的输出"
 
-#: c-typeck.c:3315
+#: c-typeck.c:3757 cp/typeck2.c:141
 #, gcc-internal-format
 msgid "assignment of read-only variable %qD"
 msgstr "向只读变量%qD赋值"
 
-#: c-typeck.c:3316
+#: c-typeck.c:3758 cp/typeck2.c:145
 #, gcc-internal-format
 msgid "increment of read-only variable %qD"
 msgstr "令只读变量%qD自增"
 
-#: c-typeck.c:3317
+#: c-typeck.c:3759 cp/typeck2.c:147
 #, gcc-internal-format
 msgid "decrement of read-only variable %qD"
 msgstr "令只读成员%qD自增"
 
-#: c-typeck.c:3318
+#: c-typeck.c:3760
 #, gcc-internal-format
 msgid "read-only variable %qD used as %<asm%> output"
 msgstr "只读变量%qD被用作%<asm%>的输出"
 
-#: c-typeck.c:3321
+#: c-typeck.c:3763 c-typeck.c:3779 cp/typeck2.c:196
 #, gcc-internal-format
 msgid "assignment of read-only location %qE"
 msgstr "向只读位置%qE赋值"
 
-#: c-typeck.c:3322
+#: c-typeck.c:3764 c-typeck.c:3782 cp/typeck2.c:200
 #, gcc-internal-format
 msgid "increment of read-only location %qE"
 msgstr "令只读位置%qE自增"
 
-#: c-typeck.c:3323
+#: c-typeck.c:3765 c-typeck.c:3785 cp/typeck2.c:202
 #, gcc-internal-format
 msgid "decrement of read-only location %qE"
 msgstr "令只读位置%qE自减"
 
-#: c-typeck.c:3324
+#: c-typeck.c:3766
 #, gcc-internal-format
 msgid "read-only location %qE used as %<asm%> output"
 msgstr "只读位置%qE用作%<asm%>的输出"
 
-#: c-typeck.c:3360
+#: c-typeck.c:3825
 #, gcc-internal-format
 msgid "cannot take address of bit-field %qD"
 msgstr "无法取得位段%qD的地址"
 
-#: c-typeck.c:3388
+#: c-typeck.c:3853
 #, gcc-internal-format
 msgid "global register variable %qD used in nested function"
 msgstr "嵌套函数中使用了全局寄存器变量%qD"
 
-#: c-typeck.c:3391
+#: c-typeck.c:3856
 #, gcc-internal-format
 msgid "register variable %qD used in nested function"
 msgstr "嵌套函数中使用了寄存器变量%qD"
 
-#: c-typeck.c:3396
+#: c-typeck.c:3861
 #, gcc-internal-format
 msgid "address of global register variable %qD requested"
 msgstr "要求全局寄存器变量%qD的地址"
 
-#: c-typeck.c:3398
+#: c-typeck.c:3863
 #, gcc-internal-format
 msgid "address of register variable %qD requested"
 msgstr "要求寄存器变量%qD的地址。"
 
-#: c-typeck.c:3444
+#: c-typeck.c:3930
 #, gcc-internal-format
 msgid "non-lvalue array in conditional expression"
 msgstr "非左值数组出现在条件表达式中"
 
-#: c-typeck.c:3492
-#, gcc-internal-format
-msgid "signed and unsigned type in conditional expression"
-msgstr "有符号和无符号类型一起出现在条件表达式中"
-
-#: c-typeck.c:3500
+#: c-typeck.c:4058
 #, gcc-internal-format
 msgid "ISO C forbids conditional expr with only one void side"
 msgstr "ISO C 不允许条件表达式仅有一边为空"
 
-#: c-typeck.c:3515 c-typeck.c:3524
+#: c-typeck.c:4075
+#, gcc-internal-format
+msgid "pointers to disjoint address spaces used in conditional expression"
+msgstr "条件表达式中使用了指向不相交地址空间的指针"
+
+#: c-typeck.c:4083 c-typeck.c:4092
 #, gcc-internal-format
 msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
 msgstr "ISO C 不允许在条件表达式中同时使用%<void *%>和函数指针"
 
-#: c-typeck.c:3532
+#: c-typeck.c:4103
 #, gcc-internal-format
 msgid "pointer type mismatch in conditional expression"
 msgstr "条件表达式指针类型不匹配"
 
-#: c-typeck.c:3540 c-typeck.c:3551
+#: c-typeck.c:4112 c-typeck.c:4123
 #, gcc-internal-format
 msgid "pointer/integer type mismatch in conditional expression"
 msgstr "条件表达式中指针/整数类型不匹配"
 
-#: c-typeck.c:3565
+#: c-typeck.c:4137
 #, gcc-internal-format
 msgid "type mismatch in conditional expression"
 msgstr "条件表达式中类型不匹配"
 
-#: c-typeck.c:3606
+#: c-typeck.c:4233
 #, gcc-internal-format
 msgid "left-hand operand of comma expression has no effect"
 msgstr "逗号表达式的左操作数不起作用"
 
-#: c-typeck.c:3643
+#: c-typeck.c:4301
+#, gcc-internal-format
+msgid "cast adds new qualifiers to function type"
+msgstr "类型转换为函数类型添加了新的限定"
+
+#: c-typeck.c:4307
+#, gcc-internal-format
+msgid "cast discards qualifiers from pointer target type"
+msgstr "类型转换丢弃了指针目标类型的限定"
+
+#: c-typeck.c:4377
 #, gcc-internal-format
 msgid "cast specifies array type"
 msgstr "类型转换指定了数组类型"
 
-#: c-typeck.c:3649
+#: c-typeck.c:4383
 #, gcc-internal-format
 msgid "cast specifies function type"
 msgstr "类型转换指定了函数类型"
 
-#: c-typeck.c:3665
+#: c-typeck.c:4399
 #, gcc-internal-format
 msgid "ISO C forbids casting nonscalar to the same type"
 msgstr "ISO C 不允许将非标量转换为其自身类型"
 
-#: c-typeck.c:3682
+#: c-typeck.c:4415
 #, gcc-internal-format
 msgid "ISO C forbids casts to union type"
 msgstr "ISO C 不允许转换为联合类型"
 
-#: c-typeck.c:3689
+#: c-typeck.c:4422
 #, gcc-internal-format
 msgid "cast to union type from type not present in union"
 msgstr "类型转换的源类型未出现在联合中"
 
-#: c-typeck.c:3735
+#: c-typeck.c:4457
 #, gcc-internal-format
-msgid "cast adds new qualifiers to function type"
-msgstr "类型转换为函数类型添加了新的限定"
+msgid "cast to %s address space pointer from disjoint generic address space pointer"
+msgstr "将不相交的普通地址空间指针转换为 %s 地址空间指针"
 
-#. There are qualifiers present in IN_OTYPE that are not
-#. present in IN_TYPE.
-#: c-typeck.c:3740
+#: c-typeck.c:4462
 #, gcc-internal-format
-msgid "cast discards qualifiers from pointer target type"
-msgstr "类型转换丢弃了指针目标类型的限定"
+msgid "cast to generic address space pointer from disjoint %s address space pointer"
+msgstr "将不相交的 %s 地址空间指针转换为普通地址空间指针"
+
+#: c-typeck.c:4467
+#, gcc-internal-format
+msgid "cast to %s address space pointer from disjoint %s address space pointer"
+msgstr "将不相交的 %2$s 地址空间指针转换为 %1$s 地址空间指针"
 
-#: c-typeck.c:3756
+#: c-typeck.c:4487
 #, gcc-internal-format
 msgid "cast increases required alignment of target type"
 msgstr "类型转换增大了目标类型的对齐需求"
 
-#: c-typeck.c:3767
+#: c-typeck.c:4498
 #, gcc-internal-format
 msgid "cast from pointer to integer of different size"
 msgstr "将一个指针转换为大小不同的整数"
 
-#: c-typeck.c:3771
+#: c-typeck.c:4503
 #, gcc-internal-format
 msgid "cast from function call of type %qT to non-matching type %qT"
 msgstr "从类型为%qT的函数调用转换到不匹配的类型%qT"
 
-#: c-typeck.c:3779
+#: c-typeck.c:4512
 #, gcc-internal-format
 msgid "cast to pointer from integer of different size"
 msgstr "将一个整数转换为大小不同的指针"
 
-#: c-typeck.c:3793
+#: c-typeck.c:4526
 #, gcc-internal-format
 msgid "ISO C forbids conversion of function pointer to object pointer type"
 msgstr "ISO C 不允许将一个函数指针转换为一个对象指针"
 
-#: c-typeck.c:3802
+#: c-typeck.c:4535
 #, gcc-internal-format
 msgid "ISO C forbids conversion of object pointer to function pointer type"
 msgstr "ISO C 不允许将一个对象指针转换为一个函数指针"
 
+#: c-typeck.c:4617
+#, gcc-internal-format
+msgid "defining a type in a cast is invalid in C++"
+msgstr "C++ 禁止在类型转换中定义类型"
+
+#: c-typeck.c:4742 c-typeck.c:4909
+#, gcc-internal-format
+msgid "enum conversion in assignment is invalid in C++"
+msgstr "C++ 禁止在赋值时进行枚举转换"
+
 #. This macro is used to emit diagnostics to ensure that all format
 #. strings are complete sentences, visible to gettext and checked at
 #. compile time.
-#: c-typeck.c:4013 c-typeck.c:4446
+#: c-typeck.c:4847 c-typeck.c:5354
 #, gcc-internal-format
 msgid "expected %qT but argument is of type %qT"
 msgstr "需要类型%qT,但实参的类型为%qT"
 
-#: c-typeck.c:4092
+#: c-typeck.c:4907
+#, gcc-internal-format
+msgid "enum conversion when passing argument %d of %qE is invalid in C++"
+msgstr "C++ 禁止在传递%2$qE的第 %1$d 个参数时进行枚举转换"
+
+#: c-typeck.c:4913
+#, gcc-internal-format
+msgid "enum conversion in return is invalid in C++"
+msgstr "C++ 禁止在返回时进行枚举转换"
+
+#: c-typeck.c:4942
 #, gcc-internal-format
 msgid "cannot pass rvalue to reference parameter"
 msgstr "不能将右值传递给引用参数"
 
-#: c-typeck.c:4206 c-typeck.c:4375
+#: c-typeck.c:5071 c-typeck.c:5276
 #, gcc-internal-format
 msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
 msgstr "传递%2$qE的第 %1$d 个实参时从未限定的函数指针构造了限定的函数指针"
 
-#: c-typeck.c:4209 c-typeck.c:4378
+#: c-typeck.c:5074 c-typeck.c:5279
 #, gcc-internal-format
 msgid "assignment makes qualified function pointer from unqualified"
 msgstr "将未限定的函数指针赋予限定的函数指针"
 
-#: c-typeck.c:4212 c-typeck.c:4380
+#: c-typeck.c:5077 c-typeck.c:5281
 #, gcc-internal-format
 msgid "initialization makes qualified function pointer from unqualified"
 msgstr "返回时将未限定的函数指针赋给限定的函数指针"
 
-#: c-typeck.c:4215 c-typeck.c:4382
+#: c-typeck.c:5080 c-typeck.c:5283
 #, gcc-internal-format
 msgid "return makes qualified function pointer from unqualified"
 msgstr "返回时将未限定的函数指针赋给限定的函数指针"
 
-#: c-typeck.c:4220 c-typeck.c:4340
+#: c-typeck.c:5086 c-typeck.c:5240
 #, gcc-internal-format
 msgid "passing argument %d of %qE discards qualifiers from pointer target type"
 msgstr "传递%2$qE的第 %1$d 个实参时丢弃了指针目标类型的限定"
 
-#: c-typeck.c:4222 c-typeck.c:4342
+#: c-typeck.c:5088 c-typeck.c:5242
 #, gcc-internal-format
 msgid "assignment discards qualifiers from pointer target type"
 msgstr "赋值丢弃了指针目标类型的限定"
 
-#: c-typeck.c:4224 c-typeck.c:4344
+#: c-typeck.c:5090 c-typeck.c:5244
 #, gcc-internal-format
 msgid "initialization discards qualifiers from pointer target type"
 msgstr "初始化丢弃了指针目标类型的限定"
 
-#: c-typeck.c:4226 c-typeck.c:4346
+#: c-typeck.c:5092 c-typeck.c:5246
 #, gcc-internal-format
 msgid "return discards qualifiers from pointer target type"
 msgstr "返回时丢弃了指针目标类型的限定"
 
-#: c-typeck.c:4234
+#: c-typeck.c:5100
 #, gcc-internal-format
 msgid "ISO C prohibits argument conversion to union type"
 msgstr "ISO C 不允许将实参转换为联合"
 
-#: c-typeck.c:4267
+#: c-typeck.c:5136
 #, gcc-internal-format
 msgid "request for implicit conversion from %qT to %qT not permitted in C++"
 msgstr "C++ 中不允许从%qT到%qT的隐式转换"
 
-#: c-typeck.c:4279
+#: c-typeck.c:5148
+#, gcc-internal-format
+msgid "passing argument %d of %qE from pointer to non-enclosed address space"
+msgstr "传递%2$qE的第 %1$d 个参数时从指针转换为未被包围的地址空间"
+
+#: c-typeck.c:5152
+#, gcc-internal-format
+msgid "assignment from pointer to non-enclosed address space"
+msgstr "将指针赋值给未被包围的地址空间"
+
+#: c-typeck.c:5156
+#, gcc-internal-format
+msgid "initialization from pointer to non-enclosed address space"
+msgstr "从指针向未被包围的地址空间初始化"
+
+#: c-typeck.c:5160
+#, gcc-internal-format
+msgid "return from pointer to non-enclosed address space"
+msgstr "返回时将指针赋值给未被包围的地址空间"
+
+#: c-typeck.c:5178
 #, gcc-internal-format
 msgid "argument %d of %qE might be a candidate for a format attribute"
 msgstr "%2$qE的第 %1$d 个实参可能是 format 属性的备选"
 
-#: c-typeck.c:4285
+#: c-typeck.c:5184
 #, gcc-internal-format
 msgid "assignment left-hand side might be a candidate for a format attribute"
 msgstr "赋值的左手边可能是 format 属性的备选时"
 
-#: c-typeck.c:4290
+#: c-typeck.c:5189
 #, gcc-internal-format
 msgid "initialization left-hand side might be a candidate for a format attribute"
 msgstr "初始化的左手边可能是 format 属性的备选时"
 
-#: c-typeck.c:4295
+#: c-typeck.c:5194
 #, gcc-internal-format
 msgid "return type might be a candidate for a format attribute"
 msgstr "返回类型可能是 format 属性的备选"
 
-#: c-typeck.c:4319
+#: c-typeck.c:5218
 #, gcc-internal-format
 msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
 msgstr "ISO C 不允许将%2$qE的第 %1$d 个实参在函数指针和%<void *%>间传递"
 
-#: c-typeck.c:4322
+#: c-typeck.c:5221
 #, gcc-internal-format
 msgid "ISO C forbids assignment between function pointer and %<void *%>"
 msgstr "ISO C 不允许在函数指针和%<void *%>间赋值"
 
-#: c-typeck.c:4324
+#: c-typeck.c:5223
 #, gcc-internal-format
 msgid "ISO C forbids initialization between function pointer and %<void *%>"
 msgstr "ISO C 不允许在函数指针和%<void *%>间初始化"
 
-#: c-typeck.c:4326
+#: c-typeck.c:5225
 #, gcc-internal-format
 msgid "ISO C forbids return between function pointer and %<void *%>"
 msgstr "ISO C 不允许在函数指针和%<void *%>间返回"
 
-#: c-typeck.c:4357
+#: c-typeck.c:5257
 #, gcc-internal-format
 msgid "pointer targets in passing argument %d of %qE differ in signedness"
-msgstr "传递%2$qE的参数 %1$d 给指针时,目标与指针符号不一致"
+msgstr "传递%2$qE的第 %1$d 个参数给指针时,目标与指针符号不一致"
 
-#: c-typeck.c:4359
+#: c-typeck.c:5259
 #, gcc-internal-format
 msgid "pointer targets in assignment differ in signedness"
 msgstr "对指针赋值时目标与指针符号不一致"
 
-#: c-typeck.c:4361
+#: c-typeck.c:5261
 #, gcc-internal-format
 msgid "pointer targets in initialization differ in signedness"
 msgstr "初始化指针时目标与指针符号不一致"
 
-#: c-typeck.c:4363
+#: c-typeck.c:5263
 #, gcc-internal-format
 msgid "pointer targets in return differ in signedness"
 msgstr "返回指针时目标与指针符号不一致"
 
-#: c-typeck.c:4390
+#: c-typeck.c:5291
 #, gcc-internal-format
 msgid "passing argument %d of %qE from incompatible pointer type"
 msgstr "传递%2$qE的第 %1$d 个参数时在不兼容的指针类型间转换"
 
-#: c-typeck.c:4392
+#: c-typeck.c:5293
 #, gcc-internal-format
 msgid "assignment from incompatible pointer type"
 msgstr "从不兼容的指针类型赋值"
 
-#: c-typeck.c:4393
+#: c-typeck.c:5294
 #, gcc-internal-format
 msgid "initialization from incompatible pointer type"
 msgstr "从不兼容的指针类型初始化"
 
-#: c-typeck.c:4395
+#: c-typeck.c:5296
 #, gcc-internal-format
 msgid "return from incompatible pointer type"
 msgstr "返回了不兼容的指针类型"
 
-#: c-typeck.c:4413
+#: c-typeck.c:5314
 #, gcc-internal-format
 msgid "passing argument %d of %qE makes pointer from integer without a cast"
 msgstr "传递%2$qE的第 %1$d 个参数时将整数赋给指针,未作类型转换"
 
-#: c-typeck.c:4415
+#: c-typeck.c:5316
 #, gcc-internal-format
 msgid "assignment makes pointer from integer without a cast"
 msgstr "赋值时将整数赋给指针,未作类型转换"
 
-#: c-typeck.c:4417
+#: c-typeck.c:5318
 #, gcc-internal-format
 msgid "initialization makes pointer from integer without a cast"
 msgstr "初始化时将整数赋给指针,未作类型转换"
 
-#: c-typeck.c:4419
+#: c-typeck.c:5320
 #, gcc-internal-format
 msgid "return makes pointer from integer without a cast"
 msgstr "返回时将整数赋给指针,未作类型转换"
 
-#: c-typeck.c:4427
+#: c-typeck.c:5328
 #, gcc-internal-format
 msgid "passing argument %d of %qE makes integer from pointer without a cast"
 msgstr "传递%2$qE的第 %1$d 个参数时将指针赋给整数,未作类型转换"
 
-#: c-typeck.c:4429
+#: c-typeck.c:5330
 #, gcc-internal-format
 msgid "assignment makes integer from pointer without a cast"
 msgstr "赋值时将指针赋给整数,未作类型转换"
 
-#: c-typeck.c:4431
+#: c-typeck.c:5332
 #, gcc-internal-format
 msgid "initialization makes integer from pointer without a cast"
 msgstr "初始化将指针赋给整数,未作类型转换"
 
-#: c-typeck.c:4433
+#: c-typeck.c:5334
 #, gcc-internal-format
 msgid "return makes integer from pointer without a cast"
 msgstr "返回时将指针赋给整数,未作类型转换"
 
-#: c-typeck.c:4449
+#: c-typeck.c:5357
 #, gcc-internal-format
 msgid "incompatible types when assigning to type %qT from type %qT"
 msgstr "将%2$qT赋值给%1$qT时类型不兼容"
 
-#: c-typeck.c:4453
+#: c-typeck.c:5362
 #, gcc-internal-format
 msgid "incompatible types when initializing type %qT using type %qT"
 msgstr "用%2$qT初始化%1$qT时类型不兼容"
 
-#: c-typeck.c:4457
+#: c-typeck.c:5367
 #, gcc-internal-format
 msgid "incompatible types when returning type %qT but %qT was expected"
 msgstr "将%qT返回为%qT时类型不兼容"
 
-#: c-typeck.c:4514
+#: c-typeck.c:5431
 #, gcc-internal-format
 msgid "traditional C rejects automatic aggregate initialization"
 msgstr "传统 C 不接受自动的聚合初始化"
 
-#: c-typeck.c:4685 c-typeck.c:4701 c-typeck.c:4718
+#: c-typeck.c:5604 c-typeck.c:5620 c-typeck.c:5637
 #, gcc-internal-format
 msgid "(near initialization for %qs)"
 msgstr "(在%qs的初始化附近)"
 
-#: c-typeck.c:5273 cp/decl.c:5124
+#: c-typeck.c:6240 cp/decl.c:5217
 #, gcc-internal-format
 msgid "opaque vector types cannot be initialized"
-msgstr "不透明的量类型不能被初始化"
+msgstr "不透明的量类型不能被初始化"
 
-#: c-typeck.c:5898
+#: c-typeck.c:6905
 #, gcc-internal-format
 msgid "unknown field %qE specified in initializer"
 msgstr "初始值设定项里有未知的字段%qE"
 
-#: c-typeck.c:6793
+#: c-typeck.c:7884
 #, gcc-internal-format
 msgid "traditional C rejects initialization of unions"
 msgstr "传统 C 不接受对联合的初始化"
 
-#: c-typeck.c:7104
-#, gcc-internal-format
-msgid "jump into statement expression"
-msgstr "跳转至语句表达式中"
-
-#: c-typeck.c:7110
-#, gcc-internal-format
-msgid "jump into scope of identifier with variably modified type"
-msgstr "跳至具有可变类型的标识符的作用域中"
-
-#: c-typeck.c:7146
+#: c-typeck.c:8223
 #, gcc-internal-format
 msgid "ISO C forbids %<goto *expr;%>"
 msgstr "ISO C++ 不允许%<goto *expr;%>"
 
-#: c-typeck.c:7161 cp/typeck.c:6757
+#: c-typeck.c:8245 cp/typeck.c:7109
 #, gcc-internal-format
 msgid "function declared %<noreturn%> has a %<return%> statement"
 msgstr "被声明为%<noreturn%>的函数却有%<return%>语句"
 
-#: c-typeck.c:7170
+#: c-typeck.c:8268
 #, gcc-internal-format
 msgid "%<return%> with no value, in function returning non-void"
 msgstr "在有返回值的的函数中,%<return%>不带返回值"
 
-#: c-typeck.c:7180
+#: c-typeck.c:8278
 #, gcc-internal-format
 msgid "%<return%> with a value, in function returning void"
 msgstr "在无返回值的函数中,%<return%>带返回值"
 
-#: c-typeck.c:7182
+#: c-typeck.c:8280
 #, gcc-internal-format
 msgid "ISO C forbids %<return%> with expression, in function returning void"
 msgstr "ISO C 不允许在无返回值的函数中%<return%>带返回值"
 
-#: c-typeck.c:7239
+#: c-typeck.c:8341
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "函数返回局部变量的地址"
 
-#: c-typeck.c:7314 cp/semantics.c:949
+#: c-typeck.c:8414 cp/semantics.c:953
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "switch 语句中的值不是一个整数"
 
-#: c-typeck.c:7326
+#: c-typeck.c:8427
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr "在 ISO C 中,%<long%>开关表达式不被转换为%<int%>"
 
-#: c-typeck.c:7369
-#, gcc-internal-format
-msgid "case label in statement expression not containing enclosing switch statement"
-msgstr "case 标号出现在没有 switch 语句的语句表达式中"
-
-#: c-typeck.c:7372
-#, gcc-internal-format
-msgid "%<default%> label in statement expression not containing enclosing switch statement"
-msgstr "%<default%>标号出现在没有相应 switch 语句的语句表达式中"
-
-#: c-typeck.c:7378
-#, gcc-internal-format
-msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
-msgstr "case 标号出现在没有包含的 switch 语句的可变类型标识符作用域中"
-
-#: c-typeck.c:7381
+#: c-typeck.c:8463 c-typeck.c:8471
 #, gcc-internal-format
-msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
-msgstr "%<default%>标号出现在没有包含的 switch 语句的可变类型标识符的作用域中"
+msgid "case label is not an integer constant expression"
+msgstr "case 标号不是一个整数常量表达式"
 
-#: c-typeck.c:7385
+#: c-typeck.c:8477 cp/parser.c:7750
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr "case 标号出现在开关语句外"
 
-#: c-typeck.c:7387
+#: c-typeck.c:8479
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr "%<default%>标号未出现在 switch 语句内"
 
-#: c-typeck.c:7464
+#: c-typeck.c:8562 cp/parser.c:8041
 #, gcc-internal-format
-msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
-msgstr "%H建议显式地使用花括号以避免出现有歧义的%<else%>"
+msgid "suggest explicit braces to avoid ambiguous %<else%>"
+msgstr "建议显式地使用花括号以避免出现有歧义的%<else%>"
 
-#: c-typeck.c:7573 cp/cp-gimplify.c:92
+#: c-typeck.c:8671 cp/cp-gimplify.c:92 cp/parser.c:8391
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr "break 语句不在循环或开关语句内"
 
-#: c-typeck.c:7575
+#: c-typeck.c:8673 cp/parser.c:8412
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "continue 语句出现在循环以外"
 
-#: c-typeck.c:7580
+#: c-typeck.c:8678 cp/parser.c:8402
 #, gcc-internal-format
 msgid "break statement used with OpenMP for loop"
 msgstr "OpenMP for 循环中使用了 break 语句"
 
-#: c-typeck.c:7606
+#: c-typeck.c:8704 cp/cp-gimplify.c:412
 #, gcc-internal-format
-msgid "%Hstatement with no effect"
-msgstr "%H语句不起作用"
+msgid "statement with no effect"
+msgstr "语句不起作用"
 
-#: c-typeck.c:7628
+#: c-typeck.c:8728
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "表达式语句类型不完全"
 
-#: c-typeck.c:8200 cp/typeck.c:3446
+#: c-typeck.c:9305 cp/typeck.c:3688
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "右移次数为负"
 
-#: c-typeck.c:8207 cp/typeck.c:3452
+#: c-typeck.c:9316 cp/typeck.c:3695
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "右移次数大于或等于类型宽度"
 
-#: c-typeck.c:8229 cp/typeck.c:3473
+#: c-typeck.c:9342 cp/typeck.c:3717
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "左移次数为负"
 
-#: c-typeck.c:8232 cp/typeck.c:3478
+#: c-typeck.c:9349 cp/typeck.c:3723
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "左移次数大于或等于类型宽度"
 
-#: c-typeck.c:8251 cp/typeck.c:3524
+#: c-typeck.c:9369 cp/typeck.c:3769
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr "使用 == 或 != 比较浮点数是不安全的"
 
-#: c-typeck.c:8275 c-typeck.c:8282
+#: c-typeck.c:9397 c-typeck.c:9485
+#, gcc-internal-format
+msgid "comparison of pointers to disjoint address spaces"
+msgstr "比较指向不相交的地址空间的指针"
+
+#: c-typeck.c:9404 c-typeck.c:9410
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr "ISO C 不允许在%<void *%>和函数指针间比较"
 
-#: c-typeck.c:8289 c-typeck.c:8351
+#: c-typeck.c:9417 c-typeck.c:9495
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr "比较不相关的指针时缺少类型转换"
 
-#: c-typeck.c:8299 c-typeck.c:8308 cp/typeck.c:3547 cp/typeck.c:3559
+#: c-typeck.c:9431 c-typeck.c:9440 cp/typeck.c:3792 cp/typeck.c:3804
 #, gcc-internal-format
 msgid "the address of %qD will never be NULL"
 msgstr "%qD的地址永远不会为 NULL"
 
-#: c-typeck.c:8315 c-typeck.c:8320 c-typeck.c:8373 c-typeck.c:8378
+#: c-typeck.c:9447 c-typeck.c:9452 c-typeck.c:9517 c-typeck.c:9522
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "比较指针和整数"
 
-#: c-typeck.c:8342
+#: c-typeck.c:9478
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr "在完全和不完全指针间比较"
 
-#: c-typeck.c:8344
+#: c-typeck.c:9480
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr "ISO C 不允许函数指针间比较大小"
 
-#: c-typeck.c:8359 c-typeck.c:8362 c-typeck.c:8368
+#: c-typeck.c:9503 c-typeck.c:9506 c-typeck.c:9512
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "指针与整数 0 比较大小"
 
-#: c-typeck.c:8546
+#: c-typeck.c:9834
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr "需要标量时使用了不能被转换为指针的数组"
 
-#: c-typeck.c:8550
+#: c-typeck.c:9838
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr "需要标量时使用了结构类型"
 
-#: c-typeck.c:8554
+#: c-typeck.c:9842
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr "需要标量时使用了联合类型"
 
-#: c-typeck.c:8690 cp/semantics.c:3670
+#: c-typeck.c:9999 cp/semantics.c:3891
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction%>"
 msgstr "%qE的类型对%<reduction%>无效"
 
-#: c-typeck.c:8724 cp/semantics.c:3683
+#: c-typeck.c:10034 cp/semantics.c:3904
 #, gcc-internal-format
 msgid "%qE has invalid type for %<reduction(%s)%>"
 msgstr "%qE的类型对%<reduction(%s)%>无效"
 
-#: c-typeck.c:8740 cp/semantics.c:3693
+#: c-typeck.c:10051 cp/semantics.c:3914
 #, gcc-internal-format
 msgid "%qE must be %<threadprivate%> for %<copyin%>"
 msgstr "%qE必须是%<threadprivate%>方可%<copyin%>"
 
-#: c-typeck.c:8749 cp/semantics.c:3490
+#: c-typeck.c:10061 cp/semantics.c:3711
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %qs"
 msgstr "%qE在子句%qs中不是一个变量"
 
-#: c-typeck.c:8756 c-typeck.c:8776 c-typeck.c:8796
+#: c-typeck.c:10069 c-typeck.c:10091 c-typeck.c:10113
 #, gcc-internal-format
 msgid "%qE appears more than once in data clauses"
 msgstr "%qE在数据子句中多次出现"
 
-#: c-typeck.c:8770 cp/semantics.c:3513
+#: c-typeck.c:10084 cp/semantics.c:3734
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<firstprivate%>"
 msgstr "%qE在子句%<firstprivate%>中不是一个变量"
 
-#: c-typeck.c:8790 cp/semantics.c:3535
+#: c-typeck.c:10106 cp/semantics.c:3756
 #, gcc-internal-format
 msgid "%qE is not a variable in clause %<lastprivate%>"
 msgstr "%qE在子句%<lastprivate%>中不是一个变量"
 
-#: c-typeck.c:8850 cp/semantics.c:3734
+#: c-typeck.c:10168 cp/semantics.c:3955
 #, gcc-internal-format
 msgid "%qE is predetermined %qs for %qs"
 msgstr "%qE可被预先确定为%qs,为%qs"
 
-#: calls.c:2049
+#: c-typeck.c:10257
 #, gcc-internal-format
-msgid "function call has aggregate value"
-msgstr "函数调用有聚合类型"
+msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
+msgstr "C++ 在%<va_arg%>中需要提升后的类型而不是枚举"
 
-#: cfgexpand.c:298
+#: calls.c:2050
 #, gcc-internal-format
-msgid "Unrecognized GIMPLE statement during RTL expansion"
-msgstr ""
+msgid "function call has aggregate value"
+msgstr "函数调用有聚合类型"
 
-#: cfgexpand.c:2343
+#: cfgexpand.c:3534
 #, gcc-internal-format
 msgid "not protecting local variables: variable length buffer"
 msgstr "没有保护局部变量:可变长度的缓冲区"
 
-#: cfgexpand.c:2346
+#: cfgexpand.c:3537
 #, gcc-internal-format
 msgid "not protecting function: no buffer at least %d bytes long"
 msgstr "没有保护函数:没有至少有 %d 字节长的缓冲区"
@@ -21735,9 +22992,9 @@ msgstr "verify_flow_info:边 %i->%i %i 计数错"
 #: cfghooks.c:183
 #, gcc-internal-format
 msgid "verify_flow_info: Basic block %d succ edge is corrupted"
-msgstr ""
+msgstr "verify_flow_info:基本块 %d 的 succ 边已损坏"
 
-#: cfghooks.c:197 cfgrtl.c:1835
+#: cfghooks.c:197
 #, gcc-internal-format
 msgid "wrong amount of branch edges after unconditional jump %i"
 msgstr "非条件跳转 %i 之后的分支边数不对"
@@ -21782,467 +23039,527 @@ msgstr "%s 不支持 redirect_edge_and_branch_force"
 msgid "%s does not support split_block"
 msgstr "%s 不支持 split_block"
 
-#: cfghooks.c:482
+#: cfghooks.c:483
 #, gcc-internal-format
 msgid "%s does not support move_block_after"
 msgstr "%s 不支持t move_block_after"
 
-#: cfghooks.c:495
+#: cfghooks.c:496
 #, gcc-internal-format
 msgid "%s does not support delete_basic_block"
 msgstr "%s 不支持 delete_basic_block"
 
-#: cfghooks.c:545
+#: cfghooks.c:546
 #, gcc-internal-format
 msgid "%s does not support split_edge"
 msgstr "%s 不支持 split_edge"
 
-#: cfghooks.c:618
+#: cfghooks.c:619
 #, gcc-internal-format
 msgid "%s does not support create_basic_block"
 msgstr "%s 不支持 create_basic_block"
 
-#: cfghooks.c:646
+#: cfghooks.c:647
 #, gcc-internal-format
 msgid "%s does not support can_merge_blocks_p"
 msgstr "%s 不支持 can_merge_blocks_p"
 
-#: cfghooks.c:657
+#: cfghooks.c:658
 #, gcc-internal-format
 msgid "%s does not support predict_edge"
 msgstr "%s 不支持 predict_edge"
 
-#: cfghooks.c:666
+#: cfghooks.c:667
 #, gcc-internal-format
 msgid "%s does not support predicted_by_p"
 msgstr "%s 不支持 predicted_by_p"
 
-#: cfghooks.c:680
+#: cfghooks.c:681
 #, gcc-internal-format
 msgid "%s does not support merge_blocks"
 msgstr "%s 不支持 merge_blocks"
 
-#: cfghooks.c:733
+#: cfghooks.c:734
 #, gcc-internal-format
 msgid "%s does not support make_forwarder_block"
 msgstr "%s 不支持 make_forwarder_block"
 
-#: cfghooks.c:880
+#: cfghooks.c:881
 #, gcc-internal-format
 msgid "%s does not support can_duplicate_block_p"
 msgstr "%s 不支持 can_duplicate_block_p"
 
-#: cfghooks.c:902
+#: cfghooks.c:903
 #, gcc-internal-format
 msgid "%s does not support duplicate_block"
 msgstr "%s 不支持 duplicate_block"
 
-#: cfghooks.c:979
+#: cfghooks.c:980
 #, gcc-internal-format
 msgid "%s does not support block_ends_with_call_p"
 msgstr "%s 不支持 block_ends_with_call_p"
 
-#: cfghooks.c:990
+#: cfghooks.c:991
 #, gcc-internal-format
 msgid "%s does not support block_ends_with_condjump_p"
 msgstr "%s 不支持 block_ends_with_condjump_p"
 
-#: cfghooks.c:1008
+#: cfghooks.c:1009
 #, gcc-internal-format
 msgid "%s does not support flow_call_edges_add"
 msgstr "%s 不支持 flow_call_edges_add"
 
-#: cfgloop.c:1344
+#: cfgloop.c:1346
 #, gcc-internal-format
 msgid "size of loop %d should be %d, not %d"
 msgstr "循环 %d 的大小应该为 %d,而不是%d"
 
-#: cfgloop.c:1358
+#: cfgloop.c:1360
 #, gcc-internal-format
 msgid "bb %d do not belong to loop %d"
 msgstr "基本块 %d 不属于循环 %d"
 
-#: cfgloop.c:1373
+#: cfgloop.c:1375
 #, gcc-internal-format
 msgid "loop %d's header does not have exactly 2 entries"
 msgstr "循环 %d 的头并非只有 2 个入口"
 
-#: cfgloop.c:1380
+#: cfgloop.c:1382
 #, gcc-internal-format
 msgid "loop %d's latch does not have exactly 1 successor"
-msgstr "循环 %d 的锁存并非只有一个后继"
+msgstr "循环 %d 的回边并非只有一个后继"
 
-#: cfgloop.c:1385
+#: cfgloop.c:1387
 #, gcc-internal-format
 msgid "loop %d's latch does not have header as successor"
-msgstr "循环 %d 的锁存的后继不是头"
+msgstr "循环 %d 的回边的后继不是头"
 
-#: cfgloop.c:1390
+#: cfgloop.c:1392
 #, gcc-internal-format
 msgid "loop %d's latch does not belong directly to it"
-msgstr "循环 %d 的锁存并非直接属于该循环"
+msgstr "循环 %d 的回边并非直接属于该循环"
 
-#: cfgloop.c:1396
+#: cfgloop.c:1398
 #, gcc-internal-format
 msgid "loop %d's header does not belong directly to it"
 msgstr "循环 %d 的头并非直接属于该循环 "
 
-#: cfgloop.c:1402
+#: cfgloop.c:1404
 #, gcc-internal-format
 msgid "loop %d's latch is marked as part of irreducible region"
-msgstr "循环 %d 的锁存被标记为属于一个不可归约区域"
+msgstr "循环 %d 的回边被标记为属于一个不可归约区域"
 
-#: cfgloop.c:1435
+#: cfgloop.c:1437
 #, gcc-internal-format
 msgid "basic block %d should be marked irreducible"
 msgstr "基本块 %d 应被标记为不可归约的"
 
-#: cfgloop.c:1441
+#: cfgloop.c:1443
 #, gcc-internal-format
 msgid "basic block %d should not be marked irreducible"
 msgstr "基本块 %d 不应被标记为不可归约的"
 
-#: cfgloop.c:1449
+#: cfgloop.c:1451
 #, gcc-internal-format
 msgid "edge from %d to %d should be marked irreducible"
 msgstr "从 %d 到 %d 的边应被标记为不可归约的"
 
-#: cfgloop.c:1456
+#: cfgloop.c:1458
 #, gcc-internal-format
 msgid "edge from %d to %d should not be marked irreducible"
 msgstr "从 %d 到 %d 的边不应被标记为不可归约的"
 
-#: cfgloop.c:1471
+#: cfgloop.c:1473
 #, gcc-internal-format
 msgid "corrupted head of the exits list of loop %d"
-msgstr ""
+msgstr "循环 %d 的退出列表头已损坏"
 
-#: cfgloop.c:1489
+#: cfgloop.c:1491
 #, gcc-internal-format
 msgid "corrupted exits list of loop %d"
-msgstr ""
+msgstr "循环 %d 的出口列表已损坏"
 
-#: cfgloop.c:1498
+#: cfgloop.c:1500
 #, gcc-internal-format
 msgid "nonempty exits list of loop %d, but exits are not recorded"
-msgstr ""
+msgstr "循环 %d 退出列表非空,但是退出未被记录"
 
-#: cfgloop.c:1524
+#: cfgloop.c:1526
 #, gcc-internal-format
 msgid "Exit %d->%d not recorded"
-msgstr ""
+msgstr "退出 %d->%d 未被记录"
 
-#: cfgloop.c:1542
+#: cfgloop.c:1544
 #, gcc-internal-format
 msgid "Wrong list of exited loops for edge  %d->%d"
-msgstr ""
+msgstr "边 %d->%d 已退出的循环列表错误"
 
-#: cfgloop.c:1551
+#: cfgloop.c:1553
 #, gcc-internal-format
 msgid "Too many loop exits recorded"
 msgstr "记录了太多的循环出口"
 
-#: cfgloop.c:1562
+#: cfgloop.c:1564
 #, gcc-internal-format
 msgid "%d exits recorded for loop %d (having %d exits)"
-msgstr ""
+msgstr "循环 %2$d 记录了 %1$d 个退出(有 %3$d 个退出)"
 
-#: cfgrtl.c:1729
+#: cfgrtl.c:1817
 #, gcc-internal-format
 msgid "BB_RTL flag not set for block %d"
-msgstr ""
+msgstr "块 %d 没有设置 BB_RTL 标志"
 
-#: cfgrtl.c:1736
+#: cfgrtl.c:1824
 #, gcc-internal-format
 msgid "insn %d basic block pointer is %d, should be %d"
-msgstr ""
+msgstr "指令 %d 基本块指针是 %d,应该是 %d"
 
-#: cfgrtl.c:1747
+#: cfgrtl.c:1835
 #, gcc-internal-format
 msgid "insn %d in header of bb %d has non-NULL basic block"
-msgstr ""
+msgstr "基本块 %2$d 头中的指令 %1$d 有非空的基本块"
 
-#: cfgrtl.c:1755
+#: cfgrtl.c:1843
 #, gcc-internal-format
 msgid "insn %d in footer of bb %d has non-NULL basic block"
-msgstr ""
+msgstr "基本块 %2$d 尾中的指令 %1$d 有非空的基本块"
 
-#: cfgrtl.c:1777
+#: cfgrtl.c:1865
 #, gcc-internal-format
 msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
 msgstr "verify_flow_info:REG_BR_PROB 不匹配 cfg %wi %i"
 
-#: cfgrtl.c:1792
+#: cfgrtl.c:1880
 #, gcc-internal-format
 msgid "fallthru edge crosses section boundary (bb %i)"
-msgstr ""
+msgstr "直通边越过了节分界(基本块 %i)"
 
-#: cfgrtl.c:1817
+#: cfgrtl.c:1904
 #, gcc-internal-format
 msgid "missing REG_EH_REGION note in the end of bb %i"
-msgstr ""
+msgstr "基本块 %i 结尾缺少 REG_EH_REGION 记录"
+
+#: cfgrtl.c:1909
+#, gcc-internal-format
+msgid "too many eh edges %i"
+msgstr "eh 边缘 %i 太多"
 
-#: cfgrtl.c:1825
+#: cfgrtl.c:1917
 #, gcc-internal-format
 msgid "too many outgoing branch edges from bb %i"
-msgstr ""
+msgstr "从基本块 %i 分出太多的分支边"
 
-#: cfgrtl.c:1830
+#: cfgrtl.c:1922
 #, gcc-internal-format
 msgid "fallthru edge after unconditional jump %i"
 msgstr "非条件跳转 %i 之后的直通边"
 
-#: cfgrtl.c:1841
+#: cfgrtl.c:1927
+#, gcc-internal-format
+msgid "wrong number of branch edges after unconditional jump %i"
+msgstr "非条件跳转 %i 之后的分支边数不对"
+
+#: cfgrtl.c:1934
 #, gcc-internal-format
 msgid "wrong amount of branch edges after conditional jump %i"
 msgstr "条件跳转 %i 之后的分支边数不对"
 
-#: cfgrtl.c:1847
+#: cfgrtl.c:1940
 #, gcc-internal-format
 msgid "call edges for non-call insn in bb %i"
-msgstr ""
+msgstr "在基本块 %i 中非调用指令的调用边"
 
-#: cfgrtl.c:1856
+#: cfgrtl.c:1949
 #, gcc-internal-format
 msgid "abnormal edges for no purpose in bb %i"
-msgstr ""
+msgstr "在基本块 %i 中无用途的反常边"
 
-#: cfgrtl.c:1868
+#: cfgrtl.c:1961
 #, gcc-internal-format
 msgid "insn %d inside basic block %d but block_for_insn is NULL"
-msgstr ""
+msgstr "指令 %d 在基本块 %d 内,但 block_for_insn 为 NULL"
 
-#: cfgrtl.c:1872
+#: cfgrtl.c:1965
 #, gcc-internal-format
 msgid "insn %d inside basic block %d but block_for_insn is %i"
 msgstr "指令 %d 在基本块 %d 内,但 block_for_insn 却为 %i"
 
-#: cfgrtl.c:1886 cfgrtl.c:1896
+#: cfgrtl.c:1979 cfgrtl.c:1989
 #, gcc-internal-format
 msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
 msgstr "块 %d 缺少 NOTE_INSN_BASIC_BLOCK"
 
-#: cfgrtl.c:1909
+#: cfgrtl.c:2002
 #, gcc-internal-format
 msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
 msgstr "NOTE_INSN_BASIC_BLOCK %d 在基本块 %d 中间"
 
-#: cfgrtl.c:1919
+#: cfgrtl.c:2012
 #, gcc-internal-format
 msgid "in basic block %d:"
 msgstr "在基本块 %d 中:"
 
-#: cfgrtl.c:1972 cfgrtl.c:2062
+#: cfgrtl.c:2065 cfgrtl.c:2157
 #, gcc-internal-format
 msgid "insn %d outside of basic blocks has non-NULL bb field"
 msgstr "基本块外指令 %d 有非 NULL 的 bb 域"
 
-#: cfgrtl.c:1980
+#: cfgrtl.c:2073
 #, gcc-internal-format
 msgid "end insn %d for block %d not found in the insn stream"
-msgstr ""
+msgstr "块 %2$d 的结束指令 %1$d 在指令流中找不到"
 
-#: cfgrtl.c:1993
+#: cfgrtl.c:2086
 #, gcc-internal-format
 msgid "insn %d is in multiple basic blocks (%d and %d)"
-msgstr ""
+msgstr "指令 %d 在多个基本块内(%d 和 %d)"
 
-#: cfgrtl.c:2005
+#: cfgrtl.c:2098
 #, gcc-internal-format
 msgid "head insn %d for block %d not found in the insn stream"
-msgstr ""
+msgstr "块 %2$d 的头指令 %1$d 在指令流中找不到"
 
-#: cfgrtl.c:2025
+#: cfgrtl.c:2117
 #, gcc-internal-format
 msgid "missing barrier after block %i"
 msgstr "块 %i 后缺少屏障"
 
-#: cfgrtl.c:2038
+#: cfgrtl.c:2133
 #, gcc-internal-format
 msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
-msgstr ""
+msgstr "verify_flow_info:直通边 %i->%i 块不正确"
 
-#: cfgrtl.c:2047
+#: cfgrtl.c:2142
 #, gcc-internal-format
 msgid "verify_flow_info: Incorrect fallthru %i->%i"
 msgstr "verify_flow_info:错误的直通边 %i->%i"
 
-#: cfgrtl.c:2080
+#: cfgrtl.c:2175
 #, gcc-internal-format
 msgid "basic blocks not laid down consecutively"
-msgstr ""
+msgstr "基本块不连贯"
 
-#: cfgrtl.c:2119
+#: cfgrtl.c:2212
 #, gcc-internal-format
 msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
-msgstr ""
+msgstr "指令链中记录的基本块数 (%d) != n_basic_blocks (%d)"
 
-#: cgraph.c:1267
+#: cgraph.c:1754
 #, gcc-internal-format
 msgid "%D renamed after being referenced in assembly"
 msgstr "%D 在汇编中被引用后又被重命名"
 
-#: cgraphunit.c:572
+#: cgraphunit.c:585
 #, gcc-internal-format
 msgid "aux field set for edge %s->%s"
 msgstr "为边 %s->%s 设定辅助域"
 
-#: cgraphunit.c:578
+#: cgraphunit.c:592
 #, gcc-internal-format
 msgid "Execution count is negative"
 msgstr "执行次数为负"
 
-#: cgraphunit.c:585
+#: cgraphunit.c:597
+#, gcc-internal-format
+msgid "Externally visible inline clone"
+msgstr "外部可见的内联代码"
+
+#: cgraphunit.c:602
+#, gcc-internal-format
+msgid "Inline clone with address taken"
+msgstr "内联已被取地址的克隆"
+
+#: cgraphunit.c:607
+#, gcc-internal-format
+msgid "Inline clone is needed"
+msgstr "需要内联克隆"
+
+#: cgraphunit.c:614
 #, gcc-internal-format
 msgid "caller edge count is negative"
 msgstr "调用边计数为负"
 
-#: cgraphunit.c:590
+#: cgraphunit.c:619
 #, gcc-internal-format
 msgid "caller edge frequency is negative"
 msgstr "调用边频率为负"
 
-#: cgraphunit.c:595
+#: cgraphunit.c:624
 #, gcc-internal-format
 msgid "caller edge frequency is too large"
 msgstr "调用边频率太大"
 
-#: cgraphunit.c:604
+#: cgraphunit.c:633
+#, gcc-internal-format
+msgid "caller edge frequency %i does not match BB freqency %i"
+msgstr "调用边频率 %i 与基本块频率 %i 不匹配"
+
+#: cgraphunit.c:645
 #, gcc-internal-format
 msgid "inlined_to pointer is wrong"
 msgstr "inlined_to pointer 错误"
 
-#: cgraphunit.c:609
+#: cgraphunit.c:650
 #, gcc-internal-format
 msgid "multiple inline callers"
 msgstr "多个内联调用者"
 
-#: cgraphunit.c:616
+#: cgraphunit.c:657
 #, gcc-internal-format
 msgid "inlined_to pointer set for noninline callers"
 msgstr "为非内联的调用者设定了 inlined_to pointer"
 
-#: cgraphunit.c:622
+#: cgraphunit.c:663
 #, gcc-internal-format
 msgid "inlined_to pointer is set but no predecessors found"
 msgstr "设定了 inlined_to 指针却找不到前驱"
 
-#: cgraphunit.c:627
+#: cgraphunit.c:668
 #, gcc-internal-format
 msgid "inlined_to pointer refers to itself"
 msgstr "inlined_to pointer 指向自身"
 
-#: cgraphunit.c:637
+#: cgraphunit.c:674
 #, gcc-internal-format
 msgid "node not found in cgraph_hash"
 msgstr "cgraph_hash 中找不到节点"
 
-#: cgraphunit.c:666
+#: cgraphunit.c:686
+#, gcc-internal-format
+msgid "node has wrong clone_of"
+msgstr "节点有错误的 clone_of"
+
+#: cgraphunit.c:698
+#, gcc-internal-format
+msgid "node has wrong clone list"
+msgstr "节点的克隆列表不正确"
+
+#: cgraphunit.c:704
+#, gcc-internal-format
+msgid "node is in clone list but it is not clone"
+msgstr "节点在克隆列表中,但并不是克隆"
+
+#: cgraphunit.c:709
+#, gcc-internal-format
+msgid "node has wrong prev_clone pointer"
+msgstr "节点的 prev_clone 指针错误"
+
+#: cgraphunit.c:714
+#, gcc-internal-format
+msgid "double linked list of clones corrupted"
+msgstr "双向克隆链接列表已损坏"
+
+#: cgraphunit.c:744
 #, gcc-internal-format
 msgid "shared call_stmt:"
 msgstr "共享的 call_stmt:"
 
-#: cgraphunit.c:673
+#: cgraphunit.c:750
+#, gcc-internal-format
+msgid "edge points to same body alias:"
+msgstr "边指向同一函数体的别名:"
+
+#: cgraphunit.c:756
 #, gcc-internal-format
 msgid "edge points to wrong declaration:"
 msgstr "边指向错误的声明:"
 
-#: cgraphunit.c:682
+#: cgraphunit.c:765
 #, gcc-internal-format
 msgid "missing callgraph edge for call stmt:"
-msgstr ""
+msgstr "调用语句缺少 callgraph 边:"
 
-#: cgraphunit.c:698
+#: cgraphunit.c:781
 #, gcc-internal-format
 msgid "edge %s->%s has no corresponding call_stmt"
 msgstr "边 %s->%s 没有对应的 call_stmt"
 
-#: cgraphunit.c:710
+#: cgraphunit.c:793
 #, gcc-internal-format
 msgid "verify_cgraph_node failed"
 msgstr "verify_cgraph_node 失败"
 
-#: cgraphunit.c:803 cgraphunit.c:826
+#: cgraphunit.c:896 cgraphunit.c:916
 #, gcc-internal-format
-msgid "%J%<externally_visible%> attribute have effect only on public objects"
-msgstr "%J%<externally_visible%>属性只对公共对象有效"
+msgid "%<externally_visible%> attribute have effect only on public objects"
+msgstr "%<externally_visible%>属性只对公共对象有效"
 
-#: cgraphunit.c:1018
+#: cgraphunit.c:1126
 #, gcc-internal-format
 msgid "failed to reclaim unneeded function"
 msgstr "无法收回不需要的函数"
 
-#: cgraphunit.c:1343
+#: cgraphunit.c:1855
 #, gcc-internal-format
 msgid "nodes with unreleased memory found"
-msgstr ""
+msgstr "找到未释放内存的节点"
 
-#: collect2.c:1209
+#: collect2.c:1505 opts.c:1137
+#, gcc-internal-format
+msgid "LTO support has not been enabled in this configuration"
+msgstr "LTO 支持在此配置下未被启用"
+
+#: collect2.c:1598
 #, gcc-internal-format
 msgid "unknown demangling style '%s'"
 msgstr "未知的解修饰风格‘%s’"
 
-#: collect2.c:1532
+#: collect2.c:1956 lto/lto.c:1211
 #, gcc-internal-format
 msgid "%s terminated with signal %d [%s]%s"
 msgstr "%s 以信号 %d [%s]%s 退出。"
 
-#: collect2.c:1550
-#, gcc-internal-format
-msgid "%s returned %d exit status"
-msgstr "%s 以返回值 %d 退出"
-
-#: collect2.c:2261
+#: collect2.c:2758
 #, gcc-internal-format
 msgid "cannot find 'ldd'"
 msgstr "找不到‘ldd’"
 
-#: convert.c:69
+#: convert.c:89
 #, gcc-internal-format
 msgid "cannot convert to a pointer type"
 msgstr "无法转换为指针类型"
 
-#: convert.c:364
+#: convert.c:390
 #, gcc-internal-format
 msgid "pointer value used where a floating point value was expected"
 msgstr "需要浮点数值时使用了指针值"
 
-#: convert.c:368
+#: convert.c:394
 #, gcc-internal-format
 msgid "aggregate value used where a float was expected"
 msgstr "需要浮点数时使用了聚合值"
 
-#: convert.c:393
+#: convert.c:419
 #, gcc-internal-format
 msgid "conversion to incomplete type"
 msgstr "转换为不完全类型"
 
-#: convert.c:762 convert.c:838
+#: convert.c:829 convert.c:905
 #, gcc-internal-format
 msgid "can't convert between vector values of different size"
-msgstr "不能在不同大小的量类型间进行转换"
+msgstr "不能在不同大小的量类型间进行转换"
 
-#: convert.c:768
+#: convert.c:835
 #, gcc-internal-format
 msgid "aggregate value used where an integer was expected"
 msgstr "需要整数时使用了聚合值"
 
-#: convert.c:818
+#: convert.c:885
 #, gcc-internal-format
 msgid "pointer value used where a complex was expected"
 msgstr "需要复数时使用了指针值"
 
-#: convert.c:822
+#: convert.c:889
 #, gcc-internal-format
 msgid "aggregate value used where a complex was expected"
 msgstr "需要复数时使用了聚合值"
 
-#: convert.c:844
+#: convert.c:911
 #, gcc-internal-format
 msgid "can't convert value to a vector"
-msgstr "不能将值转换为量"
+msgstr "不能将值转换为量"
 
-#: convert.c:883
+#: convert.c:950
 #, gcc-internal-format
 msgid "aggregate value used where a fixed-point was expected"
 msgstr "需要定点数时使用了聚合值"
@@ -22260,14 +23577,14 @@ msgstr "%qs的版本是%q.*s,需要的版本%q.*s"
 #: coverage.c:276 coverage.c:284
 #, gcc-internal-format
 msgid "coverage mismatch for function %u while reading execution counters"
-msgstr ""
+msgstr "读取执行计数器时函数 %u 覆盖不匹配"
 
-#: coverage.c:278 coverage.c:373
+#: coverage.c:278 coverage.c:372
 #, gcc-internal-format
 msgid "checksum is %x instead of %x"
 msgstr "检验和是 %x 而不是 %x"
 
-#: coverage.c:286 coverage.c:375
+#: coverage.c:286 coverage.c:374
 #, gcc-internal-format
 msgid "number of counters is %d instead of %d"
 msgstr "计数器的数量是 %d 而不是 %d"
@@ -22284,95 +23601,100 @@ msgstr "%qs溢出"
 
 #: coverage.c:350
 #, gcc-internal-format
-msgid "no coverage for function %qs found"
-msgstr "找不到函数%qs的覆盖信息"
+msgid "no coverage for function %qE found"
+msgstr "找不到函数 %qE 的覆盖信息"
 
-#: coverage.c:364 coverage.c:367
+#: coverage.c:363 coverage.c:366
 #, gcc-internal-format
-msgid "coverage mismatch for function %qs while reading counter %qs"
-msgstr "读取计数%2$qs时函数%1$qs的代码覆盖不匹配"
+msgid "coverage mismatch for function %qE while reading counter %qs"
+msgstr "读取计数%2$qs时函数%1$qE的代码覆盖不匹配"
 
-#: coverage.c:383
+#: coverage.c:382
 #, gcc-internal-format
 msgid "coverage mismatch ignored due to -Wcoverage-mismatch"
-msgstr ""
+msgstr "由于 -Wcoverage-mismatch 忽略覆盖率不匹配"
 
-#: coverage.c:385
+#: coverage.c:384
 #, gcc-internal-format
 msgid "execution counts estimated"
 msgstr "预计执行次数"
 
-#: coverage.c:388
+#: coverage.c:387
 #, gcc-internal-format
 msgid "this can result in poorly optimized code"
 msgstr "这将导致欠优化的代码"
 
-#: coverage.c:568
+#: coverage.c:570
 #, gcc-internal-format
 msgid "cannot open %s"
 msgstr "不能打开 %s"
 
-#: coverage.c:603
+#: coverage.c:605
 #, gcc-internal-format
 msgid "error writing %qs"
 msgstr "写入%qs时错误"
 
-#: dbgcnt.c:134
+#: dbgcnt.c:135
 #, gcc-internal-format
 msgid "Can not find a valid counter:value pair:"
-msgstr ""
+msgstr "不能找到一个有效的计数器:值对:"
 
-#: dbgcnt.c:135
+#: dbgcnt.c:136
 #, gcc-internal-format
 msgid "-fdbg-cnt=%s"
 msgstr "-fdbg-cnt=%s"
 
-#: dbgcnt.c:136
+#: dbgcnt.c:137
 #, gcc-internal-format
 msgid "          %s"
 msgstr "          %s"
 
-#: dbxout.c:3227
+#: dbxout.c:3258
 #, gcc-internal-format
 msgid "common symbol debug info is not structured as symbol+offset"
-msgstr ""
+msgstr "公共符号调试信息没有构造为符号+偏移的形式"
 
-#: diagnostic.c:712
+#: diagnostic.c:728
 #, gcc-internal-format
 msgid "in %s, at %s:%d"
 msgstr "在 %s 中,于 %s:%d"
 
-#: dominance.c:984
+#: dominance.c:1010
 #, gcc-internal-format
 msgid "dominator of %d status unknown"
 msgstr "%d 的主导者状态未知"
 
-#: dominance.c:991
+#: dominance.c:1017
 #, gcc-internal-format
 msgid "dominator of %d should be %d, not %d"
 msgstr "%d 的主导者应该为 %d,而不是 %d"
 
-#: dwarf2out.c:4467
+#: dwarf2out.c:4014
+#, gcc-internal-format
+msgid "Multiple EH personalities are supported only with assemblers supporting .cfi.personality directive."
+msgstr "多个 EH 个性需要汇编器支持 .cfi.personality 指示。"
+
+#: dwarf2out.c:5392
 #, gcc-internal-format
 msgid "DW_LOC_OP %s not implemented"
-msgstr ""
+msgstr "DW_LOC_OP %s 尚未实现"
 
-#: emit-rtl.c:2365
+#: emit-rtl.c:2460
 #, gcc-internal-format
 msgid "invalid rtl sharing found in the insn"
 msgstr "指令中有无效的 RTL 共享"
 
-#: emit-rtl.c:2367
+#: emit-rtl.c:2462
 #, gcc-internal-format
 msgid "shared rtx"
 msgstr "共享的 rtx"
 
-#: emit-rtl.c:2369
+#: emit-rtl.c:2464
 #, gcc-internal-format
 msgid "internal consistency failure"
 msgstr "内部一致性错误"
 
-#: emit-rtl.c:3429
+#: emit-rtl.c:3626
 #, gcc-internal-format
 msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
 msgstr "ICE:需要 emit_jump_insn 时使用了 emit_insn used where:\n"
@@ -22382,190 +23704,210 @@ msgstr "ICE:需要 emit_jump_insn 时使用了 emit_insn used where:\n"
 msgid "abort in %s, at %s:%d"
 msgstr "在 %s 中放弃,于 %s:%d"
 
-#: except.c:307
+#: except.c:223
 #, gcc-internal-format
 msgid "exception handling disabled, use -fexceptions to enable"
 msgstr "异常处理已被禁用,使用 -fexceptions 启用"
 
-#: except.c:2854
+#: except.c:2026
 #, gcc-internal-format
 msgid "argument of %<__builtin_eh_return_regno%> must be constant"
 msgstr "%<__builtin_eh_return_regno%>的实参必须是常量"
 
-#: except.c:2987
+#: except.c:2163
 #, gcc-internal-format
 msgid "__builtin_eh_return not supported on this target"
 msgstr "__builtin_eh_return 在此目标机上不受支持"
 
-#: except.c:3861 except.c:3870
+#: except.c:3334 except.c:3359
 #, gcc-internal-format
 msgid "region_array is corrupted for region %i"
-msgstr ""
+msgstr "区域 %i 的 region_array 已损坏"
+
+#: except.c:3347 except.c:3378
+#, gcc-internal-format
+msgid "lp_array is corrupted for lp %i"
+msgstr "lp %i 的 lp_array 被破坏"
 
-#: except.c:3875
+#: except.c:3364
 #, gcc-internal-format
 msgid "outer block of region %i is wrong"
 msgstr "区域 %i 的外围块错误"
 
-#: except.c:3880
+#: except.c:3369
 #, gcc-internal-format
-msgid "region %i may contain throw and is contained in region that may not"
-msgstr ""
+msgid "negative nesting depth of region %i"
+msgstr "区域 %i 的嵌套深度为负"
 
-#: except.c:3886
+#: except.c:3383
 #, gcc-internal-format
-msgid "negative nesting depth of region %i"
-msgstr ""
+msgid "region of lp %i is wrong"
+msgstr "区域 %i 的 lp 错误"
 
-#: except.c:3906
+#: except.c:3410
 #, gcc-internal-format
 msgid "tree list ends on depth %i"
-msgstr ""
+msgstr "树列表结束于深度 %i"
 
-#: except.c:3911
+#: except.c:3415
 #, gcc-internal-format
-msgid "array does not match the region tree"
-msgstr ""
+msgid "region_array does not match region_tree"
+msgstr "region_array 不匹配 region_tree"
+
+#: except.c:3420
+#, gcc-internal-format
+msgid "lp_array does not match region_tree"
+msgstr "lp_array 不匹配 region_tree"
 
-#: except.c:3917
+#: except.c:3427
 #, gcc-internal-format
 msgid "verify_eh_tree failed"
 msgstr "verify_eh_tree 失败"
 
-#: explow.c:1258
+#: explow.c:1304
 #, gcc-internal-format
 msgid "stack limits not supported on this target"
 msgstr "堆栈限制在此目标机上不受支持"
 
-#: expr.c:8058
+#: expr.c:9227
 msgid "%Kcall to %qs declared with attribute error: %s"
 msgstr "%K调用%qs,声明有错误属性:%s"
 
-#: expr.c:8064
+#: expr.c:9234
 msgid "%Kcall to %qs declared with attribute warning: %s"
 msgstr "%K调用%qs,声明有警告属性:%s"
 
-#: final.c:1432
+#: final.c:1457
 #, gcc-internal-format
 msgid "invalid argument %qs to -fdebug-prefix-map"
 msgstr "-fdebug-prefix-map 的参数%qs无效"
 
-#: final.c:1533
+#: final.c:1574
 #, gcc-internal-format
 msgid "the frame size of %wd bytes is larger than %wd bytes"
-msgstr "堆栈框架有 %wd 字节,超过了 %wd 字节"
+msgstr "栈帧有 %wd 字节,超过了 %wd 字节"
+
+#: final.c:4367 toplev.c:1921
+#, gcc-internal-format
+msgid "could not open final insn dump file %qs: %s"
+msgstr "无法打开最终指令转储文件%qs:%s"
+
+#: final.c:4423
+#, gcc-internal-format
+msgid "could not close final insn dump file %qs: %s"
+msgstr "无法关闭最终指令转储文件%qs:%s"
 
 #: fixed-value.c:104
 #, gcc-internal-format
 msgid "large fixed-point constant implicitly truncated to fixed-point type"
 msgstr "大定点常量隐式截断为定点类型"
 
-#: fold-const.c:989 tree-ssa-loop-niter.c:1854 tree-vrp.c:5595 tree-vrp.c:5636
-#, gcc-internal-format
-msgid "%H%s"
-msgstr "%H%s"
-
-#: fold-const.c:1359
+#: fold-const.c:1356
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when negating a division"
 msgstr "为除法取相反数时假定有符号数从不溢出"
 
-#: fold-const.c:5127
+#: fold-const.c:4270 fold-const.c:4282
+#, gcc-internal-format
+msgid "comparison is always %d due to width of bit-field"
+msgstr "由于位段宽度所限,比较结果永远为 %d"
+
+#: fold-const.c:5622
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying range test"
 msgstr "简化范围检查时假定有符号数从不溢出"
 
-#: fold-const.c:5504 fold-const.c:5519
+#: fold-const.c:6017 fold-const.c:6032
 #, gcc-internal-format
 msgid "comparison is always %d"
 msgstr "比较结果始终为 %d"
 
-#: fold-const.c:5536
+#: fold-const.c:6167
 #, gcc-internal-format
 msgid "%<or%> of unmatched not-equal tests is always 1"
 msgstr "对两个不匹配的不等比较取%<or%>的结果总为 1"
 
-#: fold-const.c:5541
+#: fold-const.c:6172
 #, gcc-internal-format
 msgid "%<and%> of mutually exclusive equal-tests is always 0"
 msgstr "对两个互斥的相等比较取%<and%>的结果永远是 0"
 
-#: fold-const.c:8432
+#: fold-const.c:9140
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when reducing constant in comparison"
 msgstr "在比较中归约常量时假定有符号数从不溢出"
 
-#: fold-const.c:8799
+#: fold-const.c:9512
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when combining constants around a comparison"
 msgstr "在比较周围组合变量时假定有符号数从不溢出"
 
-#: fold-const.c:13334
+#: fold-const.c:14213
 #, gcc-internal-format
 msgid "fold check: original tree changed by fold"
-msgstr ""
+msgstr "折叠检查: 原始树因折叠而改变 "
 
-#: function.c:306
+#: function.c:254
 #, gcc-internal-format
-msgid "%Jtotal size of local objects too large"
-msgstr "%J局部对象的总大小太大"
+msgid "total size of local objects too large"
+msgstr "局部对象的总大小太大"
 
-#: function.c:802 varasm.c:2139
+#: function.c:919 varasm.c:2167
 #, gcc-internal-format
 msgid "size of variable %q+D is too large"
 msgstr "变量%q+D的大小太大"
 
-#: function.c:1546 gimplify.c:4775
+#: function.c:1633 gimplify.c:4874
 #, gcc-internal-format
 msgid "impossible constraint in %<asm%>"
 msgstr "%<asm%>中不可能的约束"
 
-#: function.c:3614
+#: function.c:3756
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "变量%q+D能为%<longjmp%>或%<vfork%>所篡改"
 
-#: function.c:3635
+#: function.c:3777
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "实参%q+D可能为%<longjmp%>或%<vfork%>所篡改"
 
-#: function.c:4079
+#: function.c:4222
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "函数返回一个聚合"
 
-#: function.c:4480
+#: function.c:4616
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "未使用的参数%q+D"
 
-#: gcc.c:1298
+#: gcc.c:1372
 #, gcc-internal-format
 msgid "ambiguous abbreviation %s"
 msgstr "有歧义的缩写 %s"
 
-#: gcc.c:1325
+#: gcc.c:1399
 #, gcc-internal-format
 msgid "incomplete '%s' option"
 msgstr "不完全的‘%s’选项"
 
-#: gcc.c:1336
+#: gcc.c:1410
 #, gcc-internal-format
 msgid "missing argument to '%s' option"
 msgstr "‘%s’选项缺少实参"
 
-#: gcc.c:1349
+#: gcc.c:1423
 #, gcc-internal-format
 msgid "extraneous argument to '%s' option"
 msgstr "‘%s’选项实参太多"
 
-#: gcc.c:4011
+#: gcc.c:4282
 #, gcc-internal-format
 msgid "warning: -pipe ignored because -save-temps specified"
 msgstr "警告:忽略 -pipe,因为指定了 -save-temps"
 
-#: gcc.c:4304
+#: gcc.c:4601
 #, gcc-internal-format
 msgid "warning: '-x %s' after last input file has no effect"
 msgstr "警告:出现在最后一个输入文件后的‘-x %s’不起作用"
@@ -22573,229 +23915,420 @@ msgstr "警告:出现在最后一个输入文件后的‘-x %s’不起作用"
 #. Catch the case where a spec string contains something like
 #. '%{foo:%*}'.  i.e. there is no * in the pattern on the left
 #. hand side of the :.
-#: gcc.c:5387
+#: gcc.c:5848
 #, gcc-internal-format
 msgid "spec failure: '%%*' has not been initialized by pattern match"
 msgstr "spec 失败:‘%%*’未经模式匹配初始化"
 
-#: gcc.c:5396
+#: gcc.c:5857
 #, gcc-internal-format
 msgid "warning: use of obsolete %%[ operator in specs"
 msgstr "警告:在 specs 中使用过时的 %%[ 运算符"
 
-#: gcc.c:5477
+#: gcc.c:5938
 #, gcc-internal-format
 msgid "spec failure: unrecognized spec option '%c'"
 msgstr "spec 错误:无法识别的 spec 选项‘%c’"
 
-#: gcc.c:6383
+#: gcc.c:6673
+#, gcc-internal-format
+msgid "%s: could not determine length of compare-debug file %s"
+msgstr "%s:无法确定比较调试文件 %s 的长度"
+
+#: gcc.c:6684
+#, gcc-internal-format
+msgid "%s: -fcompare-debug failure (length)"
+msgstr "%s:-fcompare-debug 失败(长度)"
+
+#: gcc.c:6694 gcc.c:6735
+#, gcc-internal-format
+msgid "%s: could not open compare-debug file %s"
+msgstr "%s:无法打开比较调试文件 %s"
+
+#: gcc.c:6714 gcc.c:6751
+#, gcc-internal-format
+msgid "%s: -fcompare-debug failure"
+msgstr "%s:-fcompare-debug 失败"
+
+#: gcc.c:6987
 #, gcc-internal-format
 msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
 msgstr "spec 失败:SYSROOT_SUFFIX_SPEC 参数多于一个"
 
-#: gcc.c:6406
+#: gcc.c:7010
 #, gcc-internal-format
 msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
 msgstr "spec 失败:SYSROOT_HEADERS_SUFFIX_SPEC 参数多于一个"
 
-#: gcc.c:6493
+#: gcc.c:7118
 #, gcc-internal-format
 msgid "unrecognized option '-%s'"
 msgstr "无法识别的选项‘-%s’"
 
-#: gcc.c:6705 gcc.c:6768
+#: gcc.c:7351 gcc.c:7414
 #, gcc-internal-format
 msgid "%s: %s compiler not installed on this system"
 msgstr "%s:此系统未安装 %s 编译器"
 
-#: gcc.c:6868
+#: gcc.c:7438
+#, gcc-internal-format
+msgid "Recompiling with -fcompare-debug"
+msgstr "使用 -fcompare-debug 重新编译"
+
+#: gcc.c:7452
+#, gcc-internal-format
+msgid "during -fcompare-debug recompilation"
+msgstr "在 -fcompare-debug 重新编译时"
+
+#: gcc.c:7461
+#, gcc-internal-format
+msgid "Comparing final insns dumps"
+msgstr "比较最终指令转储"
+
+#: gcc.c:7585
 #, gcc-internal-format
 msgid "%s: linker input file unused because linking not done"
 msgstr "%s:未使用链接器输入文件,因为链接尚未完成"
 
-#: gcc.c:6908
+#: gcc.c:7625
 #, gcc-internal-format
 msgid "language %s not recognized"
 msgstr "语言 %s 未能被识别"
 
-#: gcc.c:6979
+#: gcc.c:7696 lto/lto.c:1201
 #, gcc-internal-format
 msgid "%s: %s"
 msgstr "%s:%s"
 
-#: gcse.c:6570
+#: gcse.c:4932
 #, gcc-internal-format
 msgid "%s: %d basic blocks and %d edges/basic block"
 msgstr "%s:%d 个基本块,%d 边/基本块"
 
-#: gcse.c:6583
+#: gcse.c:4945
 #, gcc-internal-format
 msgid "%s: %d basic blocks and %d registers"
 msgstr "%s:%d 个基本块和 %d 个寄存器"
 
-#: ggc-common.c:400 ggc-common.c:408 ggc-common.c:476 ggc-common.c:495
-#: ggc-page.c:2173 ggc-page.c:2204 ggc-page.c:2211 ggc-zone.c:2437
-#: ggc-zone.c:2448 ggc-zone.c:2452
+#: ggc-common.c:466 ggc-common.c:474 ggc-common.c:542 ggc-common.c:561
+#: ggc-page.c:2198 ggc-page.c:2229 ggc-page.c:2236 ggc-zone.c:2442
+#: ggc-zone.c:2453 ggc-zone.c:2457
 #, gcc-internal-format
 msgid "can't write PCH file: %m"
 msgstr "无法写入 PCH 文件:%m"
 
-#: ggc-common.c:488 config/i386/host-cygwin.c:57
+#: ggc-common.c:554 config/i386/host-cygwin.c:57
 #, gcc-internal-format
 msgid "can't get position in PCH file: %m"
 msgstr "不能在 PCH 文件中找到位置:%m"
 
-#: ggc-common.c:498
+#: ggc-common.c:564
 #, gcc-internal-format
 msgid "can't write padding to PCH file: %m"
 msgstr "不能向 PCH 文件写入填补:%m"
 
-#: ggc-common.c:553 ggc-common.c:561 ggc-common.c:568 ggc-common.c:571
-#: ggc-common.c:581 ggc-common.c:584 ggc-page.c:2301 ggc-zone.c:2471
+#: ggc-common.c:619 ggc-common.c:627 ggc-common.c:634 ggc-common.c:637
+#: ggc-common.c:647 ggc-common.c:650 ggc-page.c:2326 ggc-zone.c:2476
 #, gcc-internal-format
 msgid "can't read PCH file: %m"
 msgstr "无法读取 PCH 文件:%m"
 
-#: ggc-common.c:576
+#: ggc-common.c:642
 #, gcc-internal-format
 msgid "had to relocate PCH"
 msgstr "必须重新定位 PCH"
 
-#: ggc-page.c:1505
+#: ggc-page.c:1524
 #, gcc-internal-format
 msgid "open /dev/zero: %m"
 msgstr "打开 /dev/zero:%m"
 
-#: ggc-page.c:2189 ggc-page.c:2195
+#: ggc-page.c:2214 ggc-page.c:2220
 #, gcc-internal-format
 msgid "can't write PCH file"
 msgstr "无法写入 PCH 文件"
 
-#: ggc-zone.c:2434 ggc-zone.c:2445
+#: ggc-zone.c:2439 ggc-zone.c:2450
 #, gcc-internal-format
 msgid "can't seek PCH file: %m"
 msgstr "无法在 PCH 文件中定位:%m"
 
-#: gimple.c:1111
-#, fuzzy, gcc-internal-format
+#: gimple.c:1032
+#, gcc-internal-format
 msgid "gimple check: expected %s(%s), have %s(%s) in %s, at %s:%d"
-msgstr "树检查:需要类%qs,得到%qs(%s) 在 %s,于 %s:%d"
+msgstr "gimple 检查:需要 %s(%s),得到 %s(%s) 在 %s 中,于 %s:%d"
+
+#: gimplify.c:2373
+#, gcc-internal-format
+msgid "using result of function returning %<void%>"
+msgstr "使用返回%<void%>的函数的结果"
 
-#: gimplify.c:4660
+#: gimplify.c:4759
 #, gcc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr "汇编输出 %d 中左值无效"
 
-#: gimplify.c:4776
+#: gimplify.c:4875
 #, gcc-internal-format
 msgid "non-memory input %d must stay in memory"
 msgstr "非内存输入 %d 必须在内存中"
 
-#: gimplify.c:4791
+#: gimplify.c:4890
 #, gcc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr "内存输入 %d 不可直接寻址"
 
-#: gimplify.c:5285
+#: gimplify.c:5391
 #, gcc-internal-format
-msgid "%qs not specified in enclosing parallel"
-msgstr "%qs 未为在括入的并行指定"
+msgid "%qE not specified in enclosing parallel"
+msgstr "%qE未为在括入的并行中指定"
 
-#: gimplify.c:5287
+#: gimplify.c:5393
 #, gcc-internal-format
-msgid "%Henclosing parallel"
-msgstr "%H括入并行"
+msgid "enclosing parallel"
+msgstr "括入并行"
 
-#: gimplify.c:5378
+#: gimplify.c:5498
 #, gcc-internal-format
-msgid "iteration variable %qs should be private"
-msgstr "迭代变量%qs应当是 private"
+msgid "iteration variable %qE should be private"
+msgstr "迭代变量%qE应当是私有的"
 
-#: gimplify.c:5392
+#: gimplify.c:5512
 #, gcc-internal-format
-msgid "iteration variable %qs should not be firstprivate"
-msgstr "迭代变量%qs不应当是 firstprivate"
+msgid "iteration variable %qE should not be firstprivate"
+msgstr "迭代变量%qE不应当是 firstprivate"
 
-#: gimplify.c:5395
+#: gimplify.c:5515
 #, gcc-internal-format
-msgid "iteration variable %qs should not be reduction"
-msgstr "迭代变量%qs不应当是 reduction"
+msgid "iteration variable %qE should not be reduction"
+msgstr "迭代变量%qE不应当是 reduction"
 
-#: gimplify.c:5558
+#: gimplify.c:5678
 #, gcc-internal-format
-msgid "%s variable %qs is private in outer context"
-msgstr "%s 变量 %qs 在外层上下文中是私有的"
+msgid "%s variable %qE is private in outer context"
+msgstr "%s 变量%qE在外层上下文中是私有的"
 
-#: gimplify.c:7059
+#: gimplify.c:7198
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr "gimplification 失败"
 
-#: global.c:272 global.c:285 global.c:299 ira.c:1321 ira.c:1334 ira.c:1348
-#, gcc-internal-format
-msgid "%s cannot be used in asm here"
-msgstr "%s 不能在这里用于 asm"
-
-#: graph.c:401 java/jcf-parse.c:1750 java/jcf-parse.c:1890 objc/objc-act.c:493
+#: graph.c:401 java/jcf-parse.c:1751 java/jcf-parse.c:1892 objc/objc-act.c:524
 #, gcc-internal-format
 msgid "can't open %s: %m"
 msgstr "无法打开 %s:%m"
 
-#: graphite.c:5253 toplev.c:1712
-#, fuzzy, gcc-internal-format
+#: graphite.c:298 toplev.c:1836
+#, gcc-internal-format
 msgid "Graphite loop optimizations cannot be used"
-msgstr "在树级别进行循环优化"
+msgstr "不能使用 Graphite 循环优化"
 
-#: haifa-sched.c:184
+#: haifa-sched.c:185
 #, gcc-internal-format
 msgid "fix_sched_param: unknown param: %s"
 msgstr "fix_sched_param:未知的参数:%s"
 
-#: omp-low.c:1817
+#: ira.c:1475 ira.c:1488 ira.c:1502
 #, gcc-internal-format
-msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
-msgstr ""
+msgid "%s cannot be used in asm here"
+msgstr "%s 不能在这里用于 asm"
 
-#: omp-low.c:1822
+#: lto-cgraph.c:571
 #, gcc-internal-format
-msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
-msgstr ""
+msgid "bytecode stream: found multiple instances of cgraph node %d"
+msgstr "字节码流:找到 cgraph 节点 %d 的多个实例"
 
-#: omp-low.c:1840
+#: lto-cgraph.c:634
+#, gcc-internal-format
+msgid "bytecode stream: no caller found while reading edge"
+msgstr "字节码流:读取边时找不到调用者"
+
+#: lto-cgraph.c:638
+#, gcc-internal-format
+msgid "bytecode stream: no callee found while reading edge"
+msgstr "字节码流:读取边时找不到被调用者"
+
+#: lto-cgraph.c:687
+#, gcc-internal-format
+msgid "bytecode stream: found empty cgraph node"
+msgstr "字节码流:找到空的 cgraph 节点"
+
+#: lto-cgraph.c:745
+#, gcc-internal-format
+msgid "Combining units with different profiles is not supported."
+msgstr "不支持组合有不同取样信息的单元。"
+
+#: lto-compress.c:190 lto-compress.c:198 lto-compress.c:219 lto-compress.c:280
+#: lto-compress.c:288 lto-compress.c:309
+#, gcc-internal-format
+msgid "compressed stream: %s"
+msgstr "压缩的流:%s"
+
+#: lto-section-in.c:66
+#, gcc-internal-format
+msgid "bytecode stream: trying to read %d bytes after the end of the input buffer"
+msgstr "字节码流:试图在输入缓冲区结束处读取 %d 字节"
+
+#: lto-streamer-in.c:81
+#, gcc-internal-format
+msgid "bytecode stream: unexpected tag %s"
+msgstr "字节码流:非预期的标记 %s"
+
+#: lto-streamer-in.c:92
+#, gcc-internal-format
+msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
+msgstr "字节码流:标记 %s 不在预期的范围[%s,%s]内"
+
+#: lto-streamer-in.c:106
+#, gcc-internal-format
+msgid "bytecode stream: expected tag %s instead of %s"
+msgstr "字节码流:需要标记 %s 而非 %s"
+
+#: lto-streamer-in.c:150
+#, gcc-internal-format
+msgid "bytecode stream: string too long for the string table"
+msgstr "字节码流:字符串对字符串表而言太长"
+
+#: lto-streamer-in.c:210
+#, gcc-internal-format
+msgid "bytecode stream: found non-null terminated string"
+msgstr "字节码流:找到非 NULL 结尾的字符串"
+
+#: lto-streamer-in.c:1112
+#, gcc-internal-format
+msgid "bytecode stream: unknown GIMPLE statement tag %s"
+msgstr "字节码流:未知的 GIMPLE 语句标记 %s"
+
+#: lto-streamer-in.c:2387
+#, gcc-internal-format
+msgid "optimization options not supported yet"
+msgstr "尚未支持优化选项"
+
+#: lto-streamer-in.c:2392
+#, gcc-internal-format
+msgid "target optimization options not supported yet"
+msgstr "尚未支持目标优化选项"
+
+#: lto-streamer-in.c:2535
+#, gcc-internal-format
+msgid "bytecode stream: tried to jump backwards in the stream"
+msgstr "字节码流:试图在流中反向跳转"
+
+#: lto-streamer-in.c:2579
+#, gcc-internal-format
+msgid "target specific builtin not available"
+msgstr "目标相关的内建函数不可用"
+
+#: lto-streamer-out.c:1173
+#, gcc-internal-format
+msgid "gimple bytecode streams do not support the optimization attribute"
+msgstr "gimple 字节码流不支持优化属性"
+
+#: lto-streamer-out.c:1176
+#, gcc-internal-format
+msgid "gimple bytecode streams do not support the target attribute"
+msgstr "gimple 字节码流不支持目标属性"
+
+#: lto-streamer-out.c:1194
+#, gcc-internal-format
+msgid "tree code %qs is not supported in gimple streams"
+msgstr "树代码%qs在 gimple 流中不被支持"
+
+#: lto-streamer-out.c:1238
+#, gcc-internal-format
+msgid "gimple bytecode streams do not support machine specific builtin functions on this target"
+msgstr "GIMPLE 字节码流在此目标机上不支持机器相关的内建函数"
+
+#: lto-streamer.c:176
+#, gcc-internal-format
+msgid "bytecode stream: unexpected LTO section %s"
+msgstr "字节码流:非预期的 LTO 节 %s"
+
+#: lto-streamer.c:859
+#, gcc-internal-format
+msgid "bytecode stream generated with LTO version %d.%d instead of the expected %d.%d"
+msgstr "字节码流是由 LTO 版本 %d.%d 生成,而非预期的 %d.%d"
+
+#: lto-symtab.c:432
+#, gcc-internal-format
+msgid "%qD has already been defined"
+msgstr "%qD已定义过"
+
+#: lto-symtab.c:434
+#, gcc-internal-format
+msgid "previously defined here"
+msgstr "以前在此定义过"
+
+#: lto-symtab.c:504
+#, gcc-internal-format
+msgid "type of %qD does not match original declaration"
+msgstr "类型%qD不匹配原先的声明"
+
+#: lto-symtab.c:511
+#, gcc-internal-format
+msgid "alignment of %qD is bigger than original declaration"
+msgstr "%qD的对齐"
+
+#: lto-symtab.c:517 lto-symtab.c:614
+#, gcc-internal-format
+msgid "previously declared here"
+msgstr "以前在此声明过"
+
+#: lto-symtab.c:597
+#, gcc-internal-format
+msgid "variable %qD redeclared as function"
+msgstr "变量%qD重声明为函数"
+
+#: lto-symtab.c:603
+#, gcc-internal-format
+msgid "function %qD redeclared as variable"
+msgstr "函数%qD重声明为变量"
+
+#: omp-low.c:1837
+#, gcc-internal-format
+msgid "barrier region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
+msgstr "屏障区域不可以紧密嵌套在工作共享、临界、有序、主要的或显式的任务区域内"
+
+#: omp-low.c:1842
+#, gcc-internal-format
+msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered, master or explicit task region"
+msgstr "工作共享区域不可以紧密嵌套在工作共享、临界、有序、主要的或显式的任务区域内"
+
+#: omp-low.c:1860
 #, gcc-internal-format
 msgid "master region may not be closely nested inside of work-sharing or explicit task region"
-msgstr ""
+msgstr "主要区域不可以紧密嵌套在工作共享或显式的任务区域内"
 
-#: omp-low.c:1855
+#: omp-low.c:1875
 #, gcc-internal-format
 msgid "ordered region may not be closely nested inside of critical or explicit task region"
-msgstr ""
+msgstr "有序区域不可以紧密嵌套在临界或显式的任务区域内"
 
-#: omp-low.c:1861
+#: omp-low.c:1881
 #, gcc-internal-format
 msgid "ordered region must be closely nested inside a loop region with an ordered clause"
-msgstr ""
+msgstr "有序区域必须紧密嵌套在一个有次序分句的循环内"
 
-#: omp-low.c:1876
+#: omp-low.c:1896
 #, gcc-internal-format
 msgid "critical region may not be nested inside a critical region with the same name"
-msgstr ""
+msgstr "临界区域不可以被嵌套在同名的临界区域内"
 
-#: omp-low.c:6622 cp/decl.c:2667
+#: omp-low.c:6750 cp/decl.c:2709 cp/parser.c:8399 cp/parser.c:8419
 #, gcc-internal-format
 msgid "invalid exit from OpenMP structured block"
 msgstr "OpenMP 结构块出口无效"
 
-#: omp-low.c:6624 omp-low.c:6629
+#: omp-low.c:6752 omp-low.c:6757
 #, gcc-internal-format
 msgid "invalid entry to OpenMP structured block"
 msgstr "OpenMP 结构块入口无效"
 
 #. Otherwise, be vague and lazy, but efficient.
-#: omp-low.c:6632
-#, fuzzy, gcc-internal-format
+#: omp-low.c:6760
+#, gcc-internal-format
 msgid "invalid branch to/from an OpenMP structured block"
-msgstr "OpenMP 结构块出口无效"
+msgstr "进出 OpenMP 结构块的分支无效"
 
 #: opts.c:171
 #, gcc-internal-format
@@ -22813,137 +24346,157 @@ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %
 msgstr "%<-femit-struct-debug-detailed=dir:...%> 必须至少允许 %<-femit-struct-debug-detailed=ind:...%> 所允许的"
 
 #. Eventually this should become a hard error IMO.
-#: opts.c:448
+#: opts.c:451
 #, gcc-internal-format
 msgid "command line option \"%s\" is valid for %s but not for %s"
 msgstr "命令行选项“%s”对 %s 是有效的,但对 %s 无效"
 
-#: opts.c:479 opts.c:799
+#: opts.c:482 opts.c:765
 #, gcc-internal-format
 msgid "unrecognized command line option \"%s\""
 msgstr "无法识别的命令行选项“%s”"
 
-#: opts.c:540
+#: opts.c:543
 #, gcc-internal-format
 msgid "command line option %qs is not supported by this configuration"
 msgstr "此配置不支持命令行选项%qs"
 
-#: opts.c:593
+#: opts.c:596
 #, gcc-internal-format
 msgid "missing argument to \"%s\""
 msgstr "“%s”缺少实参"
 
-#: opts.c:603
+#: opts.c:606
 #, gcc-internal-format
 msgid "argument to \"%s\" should be a non-negative integer"
 msgstr "“%s”的实参应该是一个非负整数"
 
-#: opts.c:761
-#, gcc-internal-format
-msgid "disallowed call to %qs"
-msgstr "不允许对%qs的调用"
-
-#: opts.c:1015
+#: opts.c:1000
 #, gcc-internal-format
 msgid "Section anchors must be disabled when unit-at-a-time is disabled."
-msgstr ""
+msgstr "当 unit-at-a-time 被禁用时节中锚点也必须被禁用。"
 
-#: opts.c:1019
+#: opts.c:1004
 #, gcc-internal-format
 msgid "Toplevel reorder must be disabled when unit-at-a-time is disabled."
-msgstr ""
+msgstr "unit-at-a-time 被禁用时文件作用域重排序也必须被禁用"
 
-#: opts.c:1034
+#: opts.c:1019
 #, gcc-internal-format
 msgid "section anchors must be disabled when toplevel reorder is disabled"
-msgstr ""
+msgstr "当文件作用域重排序被禁用时也必须禁用节中锚点"
 
-#: opts.c:1064
+#: opts.c:1054 config/darwin.c:1705 config/sh/sh.c:903
 #, gcc-internal-format
-msgid "-freorder-blocks-and-partition does not work with exceptions"
-msgstr "-freorder-blocks-and-partition 不能异常一起工作"
+msgid "-freorder-blocks-and-partition does not work with exceptions on this architecture"
+msgstr "-freorder-blocks-and-partition 不能在此架构下和异常一起工作"
 
-#: opts.c:1075
+#: opts.c:1071 config/sh/sh.c:911
 #, gcc-internal-format
-msgid "-freorder-blocks-and-partition does not support unwind info"
-msgstr "-freorder-blocks-and-partition 不支持解卷信息"
+msgid "-freorder-blocks-and-partition does not support unwind info on this architecture"
+msgstr "-freorder-blocks-and-partition 在此架构下不支持堆栈展开信息"
 
-#: opts.c:1089
+#: opts.c:1090
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgstr "-freorder-blocks-and-partition 不能在此架构下工作"
 
-#: opts.c:1101
+#: opts.c:1104
+#, gcc-internal-format
+msgid "-fira-algorithm=CB does not work on this architecture"
+msgstr "-fira-algorithm=CB 不能在此架构下工作"
+
+#: opts.c:1144
 #, gcc-internal-format
-msgid "-fira does not work on this architecture"
-msgstr "-fira 不能在此架构下工作"
+msgid "-flto and -fwhopr are mutually exclusive"
+msgstr "-flto and -fwhopr 互斥"
 
-#: opts.c:1406
+#: opts.c:1435
 #, gcc-internal-format
 msgid "unrecognized include_flags 0x%x passed to print_specific_help"
-msgstr ""
+msgstr "传递给 print_specific_help 的 include_flags 0x%x 不可识别"
 
-#: opts.c:1780
+#: opts.c:1773
+#, gcc-internal-format
+msgid "unknown excess precision style \"%s\""
+msgstr "未知的额外精度风格“%s”"
+
+#: opts.c:1810
 #, gcc-internal-format
 msgid "structure alignment must be a small power of two, not %d"
 msgstr "结构的对齐必须是 2 的较小次方,而不是 %d"
 
-#: opts.c:1867
+#: opts.c:1826 opts.c:1834
+#, gcc-internal-format
+msgid "Plugin support is disabled.  Configure with --enable-plugin."
+msgstr "插件支持被禁用。配置时需带 -enable-plugin。"
+
+#: opts.c:1913
 #, gcc-internal-format
 msgid "unrecognized visibility value \"%s\""
 msgstr "无法识别的可见性值“%s”"
 
-#: opts.c:1925
+#: opts.c:1971
 #, gcc-internal-format
 msgid "unknown stack check parameter \"%s\""
 msgstr "未知的堆栈检查参数“%s”"
 
-#: opts.c:1951
+#: opts.c:1997
 #, gcc-internal-format
 msgid "unrecognized register name \"%s\""
 msgstr "无法识别的寄存器名“%s”"
 
-#: opts.c:1975
+#: opts.c:2021
 #, gcc-internal-format
 msgid "unknown tls-model \"%s\""
 msgstr "未知的 tls-model“%s”"
 
-#: opts.c:1986
+#: opts.c:2030
 #, gcc-internal-format
 msgid "unknown ira algorithm \"%s\""
 msgstr "未知的 IRA 算法“%s”"
 
-#: opts.c:2089
+#: opts.c:2041
+#, gcc-internal-format
+msgid "unknown ira region \"%s\""
+msgstr "未知的 IRA 区域“%s”"
+
+#: opts.c:2086
+#, gcc-internal-format
+msgid "dwarf version %d is not supported"
+msgstr "不支持 dwarf 版本 %d"
+
+#: opts.c:2154
 #, gcc-internal-format
 msgid "%s: --param arguments should be of the form NAME=VALUE"
 msgstr "%s:--param 实参的形式应该为“名字=值”"
 
-#: opts.c:2094
+#: opts.c:2159
 #, gcc-internal-format
 msgid "invalid --param value %qs"
 msgstr "无效的 --param 值%qs"
 
-#: opts.c:2212
+#: opts.c:2262
 #, gcc-internal-format
 msgid "target system does not support debug output"
 msgstr "目标系统不支持调试输出"
 
-#: opts.c:2219
+#: opts.c:2269
 #, gcc-internal-format
 msgid "debug format \"%s\" conflicts with prior selection"
 msgstr "调试格式“%s”与先前的选择冲突"
 
-#: opts.c:2235
+#: opts.c:2285
 #, gcc-internal-format
 msgid "unrecognised debug output level \"%s\""
 msgstr "无法识别的调试输出级别“%s”"
 
-#: opts.c:2237
+#: opts.c:2287
 #, gcc-internal-format
 msgid "debug output level %s is too high"
 msgstr "调试输出级别 %s 太高"
 
-#: opts.c:2319
+#: opts.c:2407
 #, gcc-internal-format
 msgid "-Werror=%s: No option -%s"
 msgstr "-Werror=%s:没有选项 -%s"
@@ -22964,1543 +24517,1688 @@ msgstr "参数%qs的最大值是 %u"
 msgid "invalid parameter %qs"
 msgstr "无效的参数%qs"
 
-#: profile.c:415
+#: passes.c:581
+#, gcc-internal-format
+msgid "Invalid pass positioning operation"
+msgstr "无效的趟定位操作"
+
+#: passes.c:621
+#, gcc-internal-format
+msgid "plugin cannot register a missing pass"
+msgstr "插件无法注册一趟缺失的处理"
+
+#: passes.c:624
+#, gcc-internal-format
+msgid "plugin cannot register an unnamed pass"
+msgstr "插件不能注册一趟无名处理"
+
+#: passes.c:628
+#, gcc-internal-format
+msgid "plugin cannot register pass %qs without reference pass name"
+msgstr "插件不能不引用处理名就注册一趟处理%qs"
+
+#: passes.c:640
+#, gcc-internal-format
+msgid "pass %qs not found but is referenced by new pass %qs"
+msgstr "找不到趟处理%qs,但却被新的趟处理%qs所引用"
+
+#: plugin.c:153
+#, gcc-internal-format
+msgid ""
+"Plugin %s was specified with different paths:\n"
+"%s\n"
+"%s"
+msgstr ""
+"插件 %s 指定了不同的路径:\n"
+"%s\n"
+"%s"
+
+#: plugin.c:199
+#, gcc-internal-format
+msgid "Malformed option -fplugin-arg-%s (multiple '=' signs)"
+msgstr "-fplugin-arg-%s 选项格式不对(多个‘=’)"
+
+#: plugin.c:215
+#, gcc-internal-format
+msgid "Malformed option -fplugin-arg-%s (missing -<key>[=<value>])"
+msgstr "-fplugin-arg-%s 选项格式不对(缺少 -<键>[=<值>])"
+
+#: plugin.c:277
+#, gcc-internal-format
+msgid "Plugin %s should be specified before -fplugin-arg-%s in the command line"
+msgstr "在命令行中,插件 %s 需要出现在 -fplugin-arg-%s 之前"
+
+#: plugin.c:397
+#, gcc-internal-format
+msgid "Unknown callback event registered by plugin %s"
+msgstr "插件 %s 注册了未知的回调事件"
+
+#: plugin.c:425
+#, gcc-internal-format
+msgid "Plugin %s registered a null callback function for event %s"
+msgstr "插件 %s 为事件 %s 注册了一个空的回调函数"
+
+#: plugin.c:550
+#, gcc-internal-format
+msgid ""
+"Cannot load plugin %s\n"
+"%s"
+msgstr ""
+"无法加载插件 %s\n"
+"%s"
+
+#: plugin.c:559
+#, gcc-internal-format
+msgid ""
+"plugin %s is not licensed under a GPL-compatible license\n"
+"%s"
+msgstr ""
+"插件 %s 带有与 GPL 不兼容的许可\n"
+"%s"
+
+#: plugin.c:568
+#, gcc-internal-format
+msgid ""
+"Cannot find %s in plugin %s\n"
+"%s"
+msgstr ""
+"在插件 %2$s 中找不到 %1$s\n"
+"%3$s"
+
+#: plugin.c:576
+#, gcc-internal-format
+msgid "Fail to initialize plugin %s"
+msgstr "无法初始化插件 %s"
+
+#: profile.c:414
 #, gcc-internal-format
 msgid "corrupted profile info: edge from %i to %i exceeds maximal count"
 msgstr "损坏的样本信息:从 %i 到 %i 的边超过最大计数"
 
-#: profile.c:460
+#: profile.c:458
 #, gcc-internal-format
 msgid "corrupted profile info: run_max * runs < sum_max"
 msgstr "损坏的样本信息:run_max * runs < sum_max"
 
-#: profile.c:466
+#: profile.c:464
 #, gcc-internal-format
 msgid "corrupted profile info: sum_all is smaller than sum_max"
 msgstr "损坏的样本信息:sum_all 小于 sum_max"
 
-#: profile.c:632
+#: profile.c:630
 #, gcc-internal-format
 msgid "correcting inconsistent profile data"
-msgstr ""
+msgstr "改正不一致的取样数据"
 
-#: profile.c:642
-#, fuzzy, gcc-internal-format
+#: profile.c:640
+#, gcc-internal-format
 msgid "corrupted profile info: profile data is not flow-consistent"
-msgstr "损坏的样本信息:从 %i 到 %i 的边超过最大计数"
+msgstr "损坏的样本信息:样本数据不是流一致的"
 
-#: profile.c:660
+#: profile.c:657
 #, gcc-internal-format
 msgid "corrupted profile info: number of iterations for basic block %d thought to be %i"
 msgstr "损坏的样本信息:基本块 %d 的迭代次数被认为是 %i"
 
-#: profile.c:681
+#: profile.c:678
 #, gcc-internal-format
 msgid "corrupted profile info: number of executions for edge %d-%d thought to be %i"
 msgstr "损坏的样本信息:边 %d-%d 的执行次数被认为是 %i"
 
-#: reg-stack.c:538
+#: reg-stack.c:537
 #, gcc-internal-format
 msgid "output constraint %d must specify a single register"
 msgstr "输出约束 %d 必须指定单个寄存器"
 
-#: reg-stack.c:548
+#: reg-stack.c:547
 #, gcc-internal-format
 msgid "output constraint %d cannot be specified together with \"%s\" clobber"
 msgstr "输出约束 %d 不能在指定“%s”篡改时被指定"
 
-#: reg-stack.c:571
+#: reg-stack.c:570
 #, gcc-internal-format
 msgid "output regs must be grouped at top of stack"
 msgstr "输出寄存器必须集中在栈顶"
 
-#: reg-stack.c:608
+#: reg-stack.c:607
 #, gcc-internal-format
 msgid "implicitly popped regs must be grouped at top of stack"
 msgstr "隐式弹栈的寄存器必须集中在栈顶"
 
-#: reg-stack.c:627
+#: reg-stack.c:626
 #, gcc-internal-format
 msgid "output operand %d must use %<&%> constraint"
 msgstr "输出操作数 %d 必须使用%<&%>约束"
 
-#: regclass.c:873
+#: regcprop.c:978
+#, gcc-internal-format
+msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
+msgstr "validate_value_data:[%u]  空链(%u) 的 next_regno 错误"
+
+#: regcprop.c:990
+#, gcc-internal-format
+msgid "validate_value_data: Loop in regno chain (%u)"
+msgstr "validate_value_data:在 regno 链(%u)中的循环"
+
+#: regcprop.c:993
+#, gcc-internal-format
+msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
+msgstr "validate_value_data:[%u] 错误的 oldest_regno (%u)"
+
+#: regcprop.c:1005
+#, gcc-internal-format
+msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+msgstr "validate_value_data:[%u] 链(%s %u %i)中的非空 reg"
+
+#: reginfo.c:819
 #, gcc-internal-format
 msgid "can't use '%s' as a %s register"
 msgstr "无法将‘%s’用作 %s 寄存器"
 
-#: regclass.c:888 config/ia64/ia64.c:5175 config/ia64/ia64.c:5182
-#: config/pa/pa.c:362 config/pa/pa.c:369 config/sh/sh.c:7961
-#: config/sh/sh.c:7968 config/spu/spu.c:4486 config/spu/spu.c:4493
+#: reginfo.c:834 config/ia64/ia64.c:5403 config/ia64/ia64.c:5410
+#: config/pa/pa.c:380 config/pa/pa.c:387 config/sh/sh.c:8539
+#: config/sh/sh.c:8546 config/spu/spu.c:5062 config/spu/spu.c:5069
 #, gcc-internal-format
 msgid "unknown register name: %s"
 msgstr "未知的寄存器名:%s"
 
-#: regclass.c:898
+#: reginfo.c:843
 #, gcc-internal-format
 msgid "global register variable follows a function definition"
 msgstr "全局寄存器变量出现在函数定义后"
 
-#: regclass.c:902
+#: reginfo.c:847
 #, gcc-internal-format
 msgid "register used for two global register variables"
 msgstr "寄存器用作两个全局寄存器变量"
 
-#: regclass.c:907
+#: reginfo.c:852
 #, gcc-internal-format
 msgid "call-clobbered register used for global register variable"
 msgstr "调用篡改寄存器用作全局寄存器变量"
 
-#: regrename.c:1898
-#, gcc-internal-format
-msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
-msgstr ""
-
-#: regrename.c:1910
-#, gcc-internal-format
-msgid "validate_value_data: Loop in regno chain (%u)"
-msgstr ""
-
-#: regrename.c:1913
-#, gcc-internal-format
-msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
-msgstr ""
-
-#: regrename.c:1925
-#, gcc-internal-format
-msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
-msgstr ""
-
-#: reload.c:1258
+#: reload.c:1262
 #, gcc-internal-format
 msgid "cannot reload integer constant operand in %<asm%>"
 msgstr "不能在%<asm%>中重新加载整数常量操作数"
 
-#: reload.c:1272
+#: reload.c:1276
 #, gcc-internal-format
 msgid "impossible register constraint in %<asm%>"
 msgstr "%<asm%>中不可能的寄存器约束"
 
-#: reload.c:3615
+#: reload.c:3625
 #, gcc-internal-format
 msgid "%<&%> constraint used with no register class"
 msgstr "%<&%>约束未与寄存器类型一起使用"
 
-#: reload.c:3786 reload.c:4044
+#: reload.c:3822 reload.c:4083
 #, gcc-internal-format
 msgid "inconsistent operand constraints in an %<asm%>"
 msgstr "%<asm%>中操作数约束不一致"
 
-#: reload1.c:1322
+#: reload1.c:1370
 #, gcc-internal-format
 msgid "%<asm%> operand has impossible constraints"
 msgstr "%<asm%>操作数中有不可能的约束"
 
-#: reload1.c:1342
+#: reload1.c:1390
 #, gcc-internal-format
 msgid "frame size too large for reliable stack checking"
 msgstr "对可靠的堆栈检查来说框架太大了"
 
-#: reload1.c:1345
+#: reload1.c:1393
 #, gcc-internal-format
 msgid "try reducing the number of local variables"
 msgstr "试图减少局部变量的数量"
 
-#: reload1.c:2080
+#: reload1.c:2128
 #, gcc-internal-format
 msgid "can't find a register in class %qs while reloading %<asm%>"
 msgstr "重新加载%<asm%>时在类%qs中找不到寄存器"
 
-#: reload1.c:2085
+#: reload1.c:2133
 #, gcc-internal-format
 msgid "unable to find a register to spill in class %qs"
-msgstr "在类%qs中找不到可出的寄存器"
+msgstr "在类%qs中找不到可出的寄存器"
 
-#: reload1.c:4270
+#: reload1.c:4284
 #, gcc-internal-format
 msgid "%<asm%> operand requires impossible reload"
 msgstr "%<asm%>要求不可能的重新加载"
 
-#: reload1.c:5616
+#: reload1.c:5666
 #, gcc-internal-format
 msgid "%<asm%> operand constraint incompatible with operand size"
 msgstr "%<asm%>操作数的约束与操作数大小不兼容"
 
-#: reload1.c:7565
+#: reload1.c:7647
 #, gcc-internal-format
 msgid "output operand is constant in %<asm%>"
 msgstr "%<asm%>的输出操作数是常量"
 
-#: rtl.c:501
+#: rtl.c:635
 #, gcc-internal-format
 msgid "RTL check: access of elt %d of '%s' with last elt %d in %s, at %s:%d"
-msgstr ""
+msgstr "RTL 检查:在 %4$s 中访问了‘%2$s’的 elt %1$d,最后的 elt %3$d,于 %5$s:%6$d"
 
-#: rtl.c:511
+#: rtl.c:645
 #, gcc-internal-format
 msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
-msgstr ""
+msgstr "RTL 检查:在 %5$s 中需要 elt %1$d 类型‘%2$c’,得到了‘%3$c’(rtx %4$s),于 %6$s:%7$d"
 
-#: rtl.c:521
+#: rtl.c:655
 #, gcc-internal-format
 msgid "RTL check: expected elt %d type '%c' or '%c', have '%c' (rtx %s) in %s, at %s:%d"
-msgstr ""
+msgstr "RTL 检查:在 %6$s 中需要 elt %1$d 类型‘%2$c’或‘%3$c’,得到了‘%4$c’(rtx %5$s),于 %7$s:%8$d"
 
-#: rtl.c:530
+#: rtl.c:664
 #, gcc-internal-format
 msgid "RTL check: expected code '%s', have '%s' in %s, at %s:%d"
 msgstr "RTL 检查:需要代码‘%s’,却得到‘%s’在 %s,于 %s:%d"
 
-#: rtl.c:540
+#: rtl.c:674
 #, gcc-internal-format
 msgid "RTL check: expected code '%s' or '%s', have '%s' in %s, at %s:%d"
 msgstr "RTL 检查:需要代码‘%s’或‘%s’,却得到‘%s’在 %s,于 %s:%d"
 
-#: rtl.c:567
+#: rtl.c:701
 #, gcc-internal-format
 msgid "RTL check: attempt to treat non-block symbol as a block symbol in %s, at %s:%d"
-msgstr ""
+msgstr "RTL 检查:在 %s 中试图将非块符号处理为块符号,于 %s:%d"
 
-#: rtl.c:577
+#: rtl.c:711
 #, gcc-internal-format
 msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
-msgstr ""
+msgstr "RTL 检查:在 %3$s 中访问了向量 elt %1$d,最后的 elt %2$d,于 %4$s:%5$d"
 
-#: rtl.c:588
+#: rtl.c:722
 #, gcc-internal-format
 msgid "RTL flag check: %s used with unexpected rtx code '%s' in %s, at %s:%d"
-msgstr ""
+msgstr "RTL 标记检查:%3$s 中与非预期 rtx 代码‘%2$s’一起使用的 %1$s,于 %4$s:%5$d"
 
-#: stmt.c:310
+#: stmt.c:312
 #, gcc-internal-format
 msgid "output operand constraint lacks %<=%>"
 msgstr "输出操作数约束缺少%<=%>"
 
-#: stmt.c:325
+#: stmt.c:327
 #, gcc-internal-format
 msgid "output constraint %qc for operand %d is not at the beginning"
 msgstr "输出约束%qc(对操作数 %d)没有出现在开头"
 
-#: stmt.c:348
+#: stmt.c:350
 #, gcc-internal-format
 msgid "operand constraint contains incorrectly positioned %<+%> or %<=%>"
 msgstr "操作数约束包括位置不当的%<+%>或%<=%>"
 
-#: stmt.c:355 stmt.c:454
+#: stmt.c:357 stmt.c:456
 #, gcc-internal-format
 msgid "%<%%%> constraint used with last operand"
 msgstr "%<%%%>约束用于最后一个操作数"
 
-#: stmt.c:374
+#: stmt.c:376
 #, gcc-internal-format
 msgid "matching constraint not valid in output operand"
 msgstr "匹配的约束在输出操作数中无效"
 
-#: stmt.c:445
+#: stmt.c:447
 #, gcc-internal-format
 msgid "input operand constraint contains %qc"
 msgstr "输入操作数约束包含%qc"
 
-#: stmt.c:487
+#: stmt.c:489
 #, gcc-internal-format
 msgid "matching constraint references invalid operand number"
 msgstr "匹配的约束引用了无效的操作数号"
 
-#: stmt.c:525
+#: stmt.c:527
 #, gcc-internal-format
 msgid "invalid punctuation %qc in constraint"
 msgstr "约束中出现无效的标点%qc"
 
-#: stmt.c:549
+#: stmt.c:551
 #, gcc-internal-format
 msgid "matching constraint does not allow a register"
 msgstr "匹配的约束不允许使用寄存器"
 
-#: stmt.c:603
+#: stmt.c:605
 #, gcc-internal-format
-msgid "asm-specifier for variable %qs conflicts with asm clobber list"
-msgstr "变量%qs的 asm 指定与 asm 篡改列表冲突"
+msgid "asm-specifier for variable %qE conflicts with asm clobber list"
+msgstr "变量%qE的 asm 指定与 asm 篡改列表冲突"
 
-#: stmt.c:693
+#: stmt.c:696
 #, gcc-internal-format
 msgid "unknown register name %qs in %<asm%>"
 msgstr "%<asm%>中出现未知的寄存器名%qs"
 
-#: stmt.c:701
+#: stmt.c:704
 #, gcc-internal-format
 msgid "PIC register %qs clobbered in %<asm%>"
 msgstr "PIC 寄存器%qs在%<asm%>中被篡改"
 
-#: stmt.c:748
+#: stmt.c:751
 #, gcc-internal-format
 msgid "more than %d operands in %<asm%>"
 msgstr "%<asm%>中的操作数超过 %d 个"
 
-#: stmt.c:811
+#: stmt.c:814
 #, gcc-internal-format
 msgid "output number %d not directly addressable"
 msgstr "输出数 %d 不可直接寻址"
 
-#: stmt.c:894
+#: stmt.c:900
 #, gcc-internal-format
 msgid "asm operand %d probably doesn%'t match constraints"
 msgstr "汇编操作数 %d 与约束可能不匹配"
 
-#: stmt.c:904
+#: stmt.c:910
 #, gcc-internal-format
 msgid "use of memory input without lvalue in asm operand %d is deprecated"
 msgstr "不建议在 asm 操作数 %d 中不带左值地使用内存输入"
 
-#: stmt.c:1051
+#: stmt.c:1065
 #, gcc-internal-format
 msgid "asm clobber conflict with output operand"
 msgstr "汇编篡改列表与输出操作数冲突"
 
-#: stmt.c:1056
+#: stmt.c:1070
 #, gcc-internal-format
 msgid "asm clobber conflict with input operand"
 msgstr "汇编篡改列表与输入操作数冲突"
 
-#: stmt.c:1134
+#: stmt.c:1196
 #, gcc-internal-format
 msgid "too many alternatives in %<asm%>"
 msgstr "%<asm%>中太多变数"
 
-#: stmt.c:1146
+#: stmt.c:1208
 #, gcc-internal-format
 msgid "operand constraints for %<asm%> differ in number of alternatives"
 msgstr "%<asm%>的操作数约束备选数不一致"
 
-#: stmt.c:1199
+#: stmt.c:1275
 #, gcc-internal-format
 msgid "duplicate asm operand name %qs"
 msgstr "重复的汇编操作数名%qs"
 
-#: stmt.c:1297
+#: stmt.c:1372
 #, gcc-internal-format
 msgid "missing close brace for named operand"
 msgstr "有名操作数后缺少右花括号"
 
-#: stmt.c:1325
+#: stmt.c:1397
 #, gcc-internal-format
 msgid "undefined named operand %qs"
 msgstr "未定义的有名操作数%qs"
 
-#: stmt.c:1469
+#: stmt.c:1542 cp/cvt.c:916 cp/cvt.c:1032
 #, gcc-internal-format
-msgid "%Hvalue computed is not used"
-msgstr "%H计算出的值未被使用"
+msgid "value computed is not used"
+msgstr "计算出的值未被使用"
 
-#: stor-layout.c:149
+#: stor-layout.c:160
 #, gcc-internal-format
 msgid "type size can%'t be explicitly evaluated"
 msgstr "类型大小不能被显式地计算出"
 
-#: stor-layout.c:151
+#: stor-layout.c:162
 #, gcc-internal-format
 msgid "variable-size type declared outside of any function"
 msgstr "变长类型的声明出现在所有函数之外"
 
-#: stor-layout.c:467
+#: stor-layout.c:680
 #, gcc-internal-format
 msgid "size of %q+D is %d bytes"
 msgstr "%q+D的大小为 %d 字节"
 
-#: stor-layout.c:469
+#: stor-layout.c:682
 #, gcc-internal-format
 msgid "size of %q+D is larger than %wd bytes"
 msgstr "%q+D的大小超过 %wd 字节"
 
-#: stor-layout.c:888
+#: stor-layout.c:1101
 #, gcc-internal-format
 msgid "packed attribute causes inefficient alignment for %q+D"
 msgstr "packed 属性导致%q+D低效率的对齐"
 
-#: stor-layout.c:891
+#: stor-layout.c:1104
 #, gcc-internal-format
 msgid "packed attribute is unnecessary for %q+D"
 msgstr "packed 属性对%q+D来说是不需要的"
 
-#. No, we need to skip space before this field.
-#. Bump the cumulative size to multiple of field alignment.
-#: stor-layout.c:908
+#: stor-layout.c:1122
 #, gcc-internal-format
 msgid "padding struct to align %q+D"
 msgstr "填补结构以对齐%q+D"
 
-#: stor-layout.c:1259
+#: stor-layout.c:1183
+#, gcc-internal-format
+msgid "Offset of packed bit-field %qD has changed in GCC 4.4"
+msgstr "紧实的位字段%qD的偏移在 GCC 4.4中已经有改变"
+
+#: stor-layout.c:1489
 #, gcc-internal-format
 msgid "padding struct size to alignment boundary"
 msgstr "将结构大小填补到对齐边界上"
 
-#: stor-layout.c:1289
+#: stor-layout.c:1519
 #, gcc-internal-format
-msgid "packed attribute causes inefficient alignment for %qs"
-msgstr "packed 属性导致%qs低效率的对齐"
+msgid "packed attribute causes inefficient alignment for %qE"
+msgstr "packed 属性导致%qE低效率的对齐"
 
-#: stor-layout.c:1293
+#: stor-layout.c:1523
 #, gcc-internal-format
-msgid "packed attribute is unnecessary for %qs"
-msgstr "packed 属性对%qs来说是不需要的"
+msgid "packed attribute is unnecessary for %qE"
+msgstr "packed 属性对%qE来说是不需要的"
 
-#: stor-layout.c:1299
+#: stor-layout.c:1529
 #, gcc-internal-format
 msgid "packed attribute causes inefficient alignment"
 msgstr "packed 属性导致低效率的对齐"
 
-#: stor-layout.c:1301
+#: stor-layout.c:1531
 #, gcc-internal-format
 msgid "packed attribute is unnecessary"
 msgstr "不需要 packed 属性"
 
-#: stor-layout.c:1831
+#: stor-layout.c:2046
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr "数组元素的对齐边界比元素大小还要大"
 
-#: targhooks.c:116
+#: targhooks.c:163
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this target"
 msgstr "__builtin_saveregs 不为此目标所支持"
 
-#: targhooks.c:728
-#, fuzzy, gcc-internal-format
+#: targhooks.c:658
+#, gcc-internal-format
+msgid "nested functions not supported on this target"
+msgstr "嵌套函数在此目标机上不受支持"
+
+#: targhooks.c:671
+#, gcc-internal-format
+msgid "nested function trampolines not supported on this target"
+msgstr "嵌套函数蹦床在此目标机上不受支持"
+
+#: targhooks.c:948
+#, gcc-internal-format
 msgid "target attribute is not supported on this machine"
-msgstr "%qE属性在此平台上不受支持"
+msgstr "target 属性在此目标机上不受支持"
 
-#: targhooks.c:738
-#, fuzzy, gcc-internal-format
+#: targhooks.c:958
+#, gcc-internal-format
 msgid "#pragma GCC target is not supported for this machine"
-msgstr "#pragma extern_prefix 在此目标机上不受支持"
+msgstr "#pragma GCC target 在此目标机上不受支持"
 
-#: tlink.c:482
+#: tlink.c:483
 #, gcc-internal-format
 msgid "repository file '%s' does not contain command-line arguments"
 msgstr "库文件‘%s’不包含命令行参数"
 
-#: tlink.c:730
+#: tlink.c:731
 #, gcc-internal-format
 msgid "'%s' was assigned to '%s', but was not defined during recompilation, or vice versa"
 msgstr "‘%s’被分配给‘%s’,但在重新编译的过程中未定义,或相反"
 
-#: tlink.c:800
+#: tlink.c:801
 #, gcc-internal-format
 msgid "ld returned %d exit status"
 msgstr "ld 返回 %d"
 
-#: toplev.c:517
+#: toplev.c:551
 #, gcc-internal-format
 msgid "invalid option argument %qs"
 msgstr "无效的选项参数%qs"
 
-#: toplev.c:615
+#: toplev.c:641
 #, gcc-internal-format
 msgid "getting core file size maximum limit: %m"
 msgstr "获取核心文件大小上限:%m"
 
-#: toplev.c:618
+#: toplev.c:644
 #, gcc-internal-format
 msgid "setting core file size limit to maximum: %m"
 msgstr "将核心文件大小上限设为最大值:%m"
 
-#: toplev.c:838
+#: toplev.c:864
 #, gcc-internal-format
 msgid "%q+F declared %<static%> but never defined"
 msgstr "%q+F声明为%<static%>却从未定义过"
 
-#: toplev.c:866
+#: toplev.c:892
 #, gcc-internal-format
 msgid "%q+D defined but not used"
 msgstr "%q+D定义后未使用"
 
-#: toplev.c:909
+#: toplev.c:959
+#, gcc-internal-format
+msgid "%qD is deprecated (declared at %s:%d): %s"
+msgstr "不建议使用%qD(声明于 %s:%d):%s"
+
+#: toplev.c:963
 #, gcc-internal-format
 msgid "%qD is deprecated (declared at %s:%d)"
 msgstr "不建议使用%qD(声明于 %s:%d)"
 
-#: toplev.c:932
+#: toplev.c:988
+#, gcc-internal-format
+msgid "%qE is deprecated (declared at %s:%d): %s"
+msgstr "不建议使用%qE(声明于 %s:%d):%s"
+
+#: toplev.c:992
+#, gcc-internal-format
+msgid "%qE is deprecated (declared at %s:%d)"
+msgstr "不建议使用%qE(声明于 %s:%d)"
+
+#: toplev.c:999
 #, gcc-internal-format
-msgid "%qs is deprecated (declared at %s:%d)"
-msgstr "不建议使用%qs(声明于 %s:%d)"
+msgid "type is deprecated (declared at %s:%d): %s"
+msgstr "不建议使用类型(声明于 %s:%d):%s"
 
-#: toplev.c:936
+#: toplev.c:1003
 #, gcc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "不建议使用类型(声明于 %s:%d)"
 
-#: toplev.c:942
+#: toplev.c:1012
+#, gcc-internal-format
+msgid "%qE is deprecated: %s"
+msgstr "不建议使用%qE:%s"
+
+#: toplev.c:1015
+#, gcc-internal-format
+msgid "%qE is deprecated"
+msgstr "不建议使用%qE"
+
+#: toplev.c:1020
 #, gcc-internal-format
-msgid "%qs is deprecated"
-msgstr "不建议使用%qs"
+msgid "type is deprecated: %s"
+msgstr "不建议使用类型:%s"
 
-#: toplev.c:944
+#: toplev.c:1023
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "不建议使用此类型"
 
-#: toplev.c:1088
+#: toplev.c:1176
 #, gcc-internal-format
 msgid "unrecognized gcc debugging option: %c"
 msgstr "无法识别的 gcc 调试选项:%c"
 
-#: toplev.c:1341
+#: toplev.c:1451
 #, gcc-internal-format
 msgid "can%'t open %s for writing: %m"
 msgstr "无法打开 %s 并写入:%m"
 
-#: toplev.c:1362
+#: toplev.c:1472
 #, gcc-internal-format
 msgid "-frecord-gcc-switches is not supported by the current target"
 msgstr "-frecord-gcc-switches 在此目标机上不受支持"
 
-#: toplev.c:1686
+#: toplev.c:1809
 #, gcc-internal-format
 msgid "this target does not support %qs"
 msgstr "此目标机不支持 %qs"
 
-#: toplev.c:1741
+#: toplev.c:1866
 #, gcc-internal-format
 msgid "instruction scheduling not supported on this target machine"
 msgstr "指令调度在此目标机上不受支持"
 
-#: toplev.c:1745
+#: toplev.c:1870
 #, gcc-internal-format
 msgid "this target machine does not have delayed branches"
 msgstr "此目标机没有延迟转移指令"
 
-#: toplev.c:1759
+#: toplev.c:1884
 #, gcc-internal-format
 msgid "-f%sleading-underscore not supported on this target machine"
 msgstr "-f%sleading-underscore 在此目标机上不受支持"
 
-#: toplev.c:1832
+#: toplev.c:1927
+#, gcc-internal-format
+msgid "could not close zeroed insn dump file %qs: %s"
+msgstr "无法打开用零填充的指令转储文件%qs:%s"
+
+#: toplev.c:1992
 #, gcc-internal-format
 msgid "target system does not support the \"%s\" debug format"
 msgstr "目标系统不支持“%s”调试格式"
 
-#: toplev.c:1845
+#: toplev.c:2004
 #, gcc-internal-format
 msgid "variable tracking requested, but useless unless producing debug info"
 msgstr "要求追踪变量,但若不生成调试信息则无用"
 
-#: toplev.c:1848
+#: toplev.c:2007
 #, gcc-internal-format
 msgid "variable tracking requested, but not supported by this debug format"
 msgstr "求追踪变量,但不为这种调试格式所支持"
 
-#: toplev.c:1882
+#: toplev.c:2035
+#, gcc-internal-format
+msgid "var-tracking-assignments changes selective scheduling"
+msgstr "var-tracking-assignments 改变了选择性调度"
+
+#: toplev.c:2051
 #, gcc-internal-format
 msgid "can%'t open %s: %m"
 msgstr "无法打开%s:%m"
 
-#: toplev.c:1889
+#: toplev.c:2058
 #, gcc-internal-format
 msgid "-ffunction-sections not supported for this target"
 msgstr "-ffunction-sections 在此目标机上不受支持"
 
-#: toplev.c:1894
+#: toplev.c:2063
 #, gcc-internal-format
 msgid "-fdata-sections not supported for this target"
 msgstr "-fdata-sections 在此目标机上不受支持"
 
-#: toplev.c:1901
+#: toplev.c:2070
 #, gcc-internal-format
 msgid "-ffunction-sections disabled; it makes profiling impossible"
 msgstr "-ffunction-sections 被禁用;因此不可能进行取样"
 
-#: toplev.c:1908
+#: toplev.c:2077
 #, gcc-internal-format
 msgid "-fprefetch-loop-arrays not supported for this target"
 msgstr "-fprefetch-loop-arrays 在此目标机上不受支持"
 
-#: toplev.c:1914
+#: toplev.c:2083
 #, gcc-internal-format
 msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
 msgstr "-fprefetch-loop-arrays 在此目标机上不受支持(尝试 -march 开关)"
 
-#: toplev.c:1923
+#: toplev.c:2092
 #, gcc-internal-format
 msgid "-fprefetch-loop-arrays is not supported with -Os"
 msgstr "-fprefetch-loop-arrays 不支持与 -Os 并用"
 
-#: toplev.c:1934
+#: toplev.c:2103
 #, gcc-internal-format
 msgid "-fassociative-math disabled; other options take precedence"
 msgstr "-fassociative-math 为其他选项所禁用"
 
-#: toplev.c:1950
+#: toplev.c:2119
 #, gcc-internal-format
 msgid "-fstack-protector not supported for this target"
 msgstr "-fstack-protector 在此目标机上不受支持"
 
-#: toplev.c:1963
+#: toplev.c:2132
 #, gcc-internal-format
 msgid "unwind tables currently require a frame pointer for correctness"
-msgstr "解绕表目前需要堆栈框架指针来保证正确性"
+msgstr "解绕表目前需要栈帧指针来保证正确性"
 
-#: toplev.c:2148
+#: toplev.c:2353
 #, gcc-internal-format
 msgid "error writing to %s: %m"
 msgstr "写入 %s 时出错:%m"
 
-#: toplev.c:2150 java/jcf-parse.c:1769
+#: toplev.c:2355 java/jcf-parse.c:1770
 #, gcc-internal-format
 msgid "error closing %s: %m"
 msgstr "关闭 %s 时出错:%m"
 
-#: tree-cfg.c:1508 tree-cfg.c:2174
+#: tree-cfg.c:1849
 #, gcc-internal-format
-msgid "%Hwill never be executed"
-msgstr "%H永远不会被执行"
+msgid "will never be executed"
+msgstr "永远不会被执行"
 
-#: tree-cfg.c:2808
+#: tree-cfg.c:2535
 #, gcc-internal-format
 msgid "SSA name in freelist but still referenced"
 msgstr "SSA 名在 freelist 中,却仍然被提领"
 
-#: tree-cfg.c:2817
+#: tree-cfg.c:2544
+#, gcc-internal-format
+msgid "Indirect reference's operand is not a register or a constant."
+msgstr "间接引用的操作数不是寄存器或常量。"
+
+#: tree-cfg.c:2553
 #, gcc-internal-format
 msgid "ASSERT_EXPR with an always-false condition"
-msgstr ""
+msgstr "ASSERT_EXPR 具有一个总是假的条件"
 
-#: tree-cfg.c:2827
+#: tree-cfg.c:2559
 #, gcc-internal-format
-msgid "GIMPLE register modified with BIT_FIELD_REF"
-msgstr ""
+msgid "MODIFY_EXPR not expected while having tuples."
+msgstr "当有元组的时候不应有 MODIFY_EXPR。"
 
-#: tree-cfg.c:2850
+#: tree-cfg.c:2580
 #, gcc-internal-format
 msgid "constant not recomputed when ADDR_EXPR changed"
 msgstr "ADDR_EXPR 变化时常量未被重新计算"
 
-#: tree-cfg.c:2855
+#: tree-cfg.c:2585
 #, gcc-internal-format
 msgid "side effects not recomputed when ADDR_EXPR changed"
 msgstr "ADDR_EXPR 变化时副作用未被重新计算"
 
-#: tree-cfg.c:2871
+#: tree-cfg.c:2603 tree-ssa.c:822
 #, gcc-internal-format
 msgid "address taken, but ADDRESSABLE bit not set"
-msgstr ""
+msgstr "已取地址,但是 ADDRESSABLE 位未被设置"
+
+#: tree-cfg.c:2608
+#, gcc-internal-format
+msgid "DECL_GIMPLE_REG_P set on a variable with address taken"
+msgstr "为一个已被取地址的变量设定了 DECL_GIMPLE_REG_P"
 
-#: tree-cfg.c:2882
+#: tree-cfg.c:2619
 #, gcc-internal-format
 msgid "non-integral used in condition"
 msgstr "条件表达式使用了非整数值"
 
-#: tree-cfg.c:2887
+#: tree-cfg.c:2624
 #, gcc-internal-format
 msgid "invalid conditional operand"
 msgstr "无效的条件操作数"
 
-#: tree-cfg.c:2934
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:2671
+#, gcc-internal-format
 msgid "invalid position or size operand to BIT_FIELD_REF"
-msgstr "操作数的约束无效"
+msgstr "BIT_FIELD_REF 位置或大小操作数无效"
 
-#: tree-cfg.c:2941
+#: tree-cfg.c:2678
 #, gcc-internal-format
 msgid "integral result type precision does not match field size of BIT_FIELD_REF"
-msgstr ""
+msgstr "整体结果类型精度不匹配 BIT_FIELD_REF 字段尺寸"
 
-#: tree-cfg.c:2949
+#: tree-cfg.c:2686
 #, gcc-internal-format
 msgid "mode precision of non-integral result does not match field size of BIT_FIELD_REF"
-msgstr ""
+msgstr "非整体结果的模式精度不匹配 BIT_FIELD_REF 的字段尺寸"
 
-#: tree-cfg.c:2960
+#: tree-cfg.c:2697
 #, gcc-internal-format
 msgid "invalid reference prefix"
 msgstr "无效的引用前缀"
 
-#: tree-cfg.c:2971
+#: tree-cfg.c:2708
 #, gcc-internal-format
 msgid "invalid operand to plus/minus, type is a pointer"
 msgstr "+/- 操作数无效,类型为指针"
 
-#: tree-cfg.c:2982
+#: tree-cfg.c:2719
 #, gcc-internal-format
 msgid "invalid operand to pointer plus, first operand is not a pointer"
 msgstr "指数增的操作数无效,第一个操作数不是一个指针"
 
-#: tree-cfg.c:2990
+#: tree-cfg.c:2727
 #, gcc-internal-format
 msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
 msgstr "指数增的操作数无效,第二个操作数不是一个具有 sizetype 类型的整数"
 
-#: tree-cfg.c:3061
+#: tree-cfg.c:2798
 #, gcc-internal-format
 msgid "invalid expression for min lvalue"
 msgstr "无效的最小左值表达式"
 
-#: tree-cfg.c:3072
+#: tree-cfg.c:2809
 #, gcc-internal-format
 msgid "invalid operand in indirect reference"
 msgstr "间接引用操作数无效"
 
-#: tree-cfg.c:3079
+#: tree-cfg.c:2816
 #, gcc-internal-format
 msgid "type mismatch in indirect reference"
 msgstr "间接引用类型不匹配"
 
-#: tree-cfg.c:3107
+#: tree-cfg.c:2845
 #, gcc-internal-format
 msgid "invalid operands to array reference"
 msgstr "数组引用操作数无效"
 
-#: tree-cfg.c:3118
+#: tree-cfg.c:2856
 #, gcc-internal-format
 msgid "type mismatch in array reference"
 msgstr "数组引用类型不匹配"
 
-#: tree-cfg.c:3127
+#: tree-cfg.c:2865
 #, gcc-internal-format
 msgid "type mismatch in array range reference"
 msgstr "数组范围引用中类型不匹配"
 
-#: tree-cfg.c:3138
+#: tree-cfg.c:2876
 #, gcc-internal-format
 msgid "type mismatch in real/imagpart reference"
 msgstr "实数/虚数引用中类型不匹配"
 
-#: tree-cfg.c:3148
+#: tree-cfg.c:2886
 #, gcc-internal-format
 msgid "type mismatch in component reference"
 msgstr "组件引用中类型不匹配"
 
-#: tree-cfg.c:3210
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:2903
+#, gcc-internal-format
+msgid "Conversion of an SSA_NAME on the left hand side."
+msgstr "在左操作数边转化 SSA_NAME。"
+
+#: tree-cfg.c:2961
+#, gcc-internal-format
 msgid "non-function in gimple call"
-msgstr "函数不能内联"
+msgstr "gimple 调用了非函数"
 
-#: tree-cfg.c:3217
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:2969
+#, gcc-internal-format
 msgid "invalid LHS in gimple call"
-msgstr "行号表中 PC 无效"
+msgstr "gimple 调用中左操作数无效"
 
-#: tree-cfg.c:3233
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:2985
+#, gcc-internal-format
 msgid "invalid conversion in gimple call"
-msgstr "无效的版本号‘%s’"
+msgstr "gimple 调用中转换无效"
+
+#: tree-cfg.c:2998
+#, gcc-internal-format
+msgid "static chain in indirect gimple call"
+msgstr "间接 gimple 调用中有静态调用链"
+
+#: tree-cfg.c:3005
+#, gcc-internal-format
+msgid "static chain with function that doesn't use one"
+msgstr "静态调用链中有不使用静态调用的函数"
 
-#: tree-cfg.c:3258
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:3029
+#, gcc-internal-format
 msgid "invalid operands in gimple comparison"
-msgstr "复数表达式操作数无效"
+msgstr "gimple 比较中操作数无效"
 
-#: tree-cfg.c:3276
+#: tree-cfg.c:3047
 #, gcc-internal-format
 msgid "type mismatch in comparison expression"
 msgstr "比较表达式类型不匹配"
 
-#: tree-cfg.c:3302
+#: tree-cfg.c:3073
 #, gcc-internal-format
 msgid "non-register as LHS of unary operation"
-msgstr ""
+msgstr "非寄存器作为单目操作的左操作数"
 
-#: tree-cfg.c:3308
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:3079
+#, gcc-internal-format
 msgid "invalid operand in unary operation"
-msgstr "单目操作数无效"
+msgstr "单目操作中操作数无效"
 
-#: tree-cfg.c:3343
+#: tree-cfg.c:3114
 #, gcc-internal-format
 msgid "invalid types in nop conversion"
 msgstr "空转换中类型无效"
 
-#: tree-cfg.c:3357
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:3129
+#, gcc-internal-format
+msgid "invalid types in address space conversion"
+msgstr "地址空间转换中类型无效"
+
+#: tree-cfg.c:3143
+#, gcc-internal-format
 msgid "invalid types in fixed-point conversion"
-msgstr "转换中类型无效"
+msgstr "整点转换中类型无效"
 
-#: tree-cfg.c:3370
+#: tree-cfg.c:3156
 #, gcc-internal-format
 msgid "invalid types in conversion to floating point"
 msgstr "向浮点转换时类型无效"
 
-#: tree-cfg.c:3383
+#: tree-cfg.c:3169
 #, gcc-internal-format
 msgid "invalid types in conversion to integer"
 msgstr "向整数转换时类型无效"
 
-#: tree-cfg.c:3418
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:3204
+#, gcc-internal-format
 msgid "non-trivial conversion in unary operation"
-msgstr "赋值时不平凡的转换"
+msgstr "单目操作时不平凡的转换"
 
-#: tree-cfg.c:3445
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:3231
+#, gcc-internal-format
 msgid "non-register as LHS of binary operation"
-msgstr "基本二元操作"
+msgstr "非寄存器作为二元操作的左操作数"
 
-#: tree-cfg.c:3452
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:3238
+#, gcc-internal-format
 msgid "invalid operands in binary operation"
-msgstr "二元表达式中操作数无效"
+msgstr "二元操作中中操作数无效"
 
-#: tree-cfg.c:3467
+#: tree-cfg.c:3253
 #, gcc-internal-format
 msgid "type mismatch in complex expression"
 msgstr "复数表达式类型不匹配"
 
-#: tree-cfg.c:3486
+#: tree-cfg.c:3282
 #, gcc-internal-format
 msgid "type mismatch in shift expression"
 msgstr "移位表达式类型不匹配"
 
-#: tree-cfg.c:3506
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:3304
+#, gcc-internal-format
 msgid "type mismatch in vector shift expression"
-msgstr "移位表达式类型不匹配"
+msgstr "向量移位表达式类型不匹配"
 
-#: tree-cfg.c:3522
+#: tree-cfg.c:3317
 #, gcc-internal-format
-msgid "type mismatch in pointer plus expression"
-msgstr "æ\8c\87é\92\88å\8a æ³\95表达å¼\8fç±»å\9e\8bä¸\8då\8c¹é\85\8d"
+msgid "non-element sized vector shift of floating point vector"
+msgstr "对浮ç\82¹å\90\91é\87\8fç\9a\84é\9d\9eå\85\83素大å°\8fç\9a\84å\90\91é\87\8f移ä½\8d"
 
-#: tree-cfg.c:3545
+#: tree-cfg.c:3335
 #, gcc-internal-format
-msgid "type mismatch in binary truth expression"
-msgstr "二元真值表达式类型不匹配"
+msgid "invalid non-vector operands to vector valued plus"
+msgstr "向量值的加法中有无效的非向量操作数"
 
-#: tree-cfg.c:3580
+#: tree-cfg.c:3359
 #, gcc-internal-format
 msgid "invalid (pointer) operands to plus/minus"
 msgstr "+/-(指针)操作数无效"
 
-#: tree-cfg.c:3625
+#: tree-cfg.c:3374
+#, gcc-internal-format
+msgid "type mismatch in pointer plus expression"
+msgstr "指针加法表达式类型不匹配"
+
+#: tree-cfg.c:3397
+#, gcc-internal-format
+msgid "type mismatch in binary truth expression"
+msgstr "二元真值表达式类型不匹配"
+
+#: tree-cfg.c:3465
 #, gcc-internal-format
 msgid "type mismatch in binary expression"
 msgstr "二元表达式中类型不匹配"
 
-#: tree-cfg.c:3650
+#: tree-cfg.c:3490
 #, gcc-internal-format
 msgid "non-trivial conversion at assignment"
 msgstr "赋值时不平凡的转换"
 
-#: tree-cfg.c:3667
+#: tree-cfg.c:3507
 #, gcc-internal-format
 msgid "invalid operand in unary expression"
 msgstr "单目表达式中操作数无效"
 
-#: tree-cfg.c:3677
+#: tree-cfg.c:3515
 #, gcc-internal-format
 msgid "type mismatch in address expression"
 msgstr "地址表达式类型不匹配"
 
-#: tree-cfg.c:3701 tree-cfg.c:3727
+#: tree-cfg.c:3539 tree-cfg.c:3565
 #, gcc-internal-format
 msgid "invalid rhs for gimple memory store"
-msgstr ""
+msgstr "gimple 内存存储中右操作数无效"
 
-#: tree-cfg.c:3793
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:3629
+#, gcc-internal-format
 msgid "invalid operand in return statement"
-msgstr "开关语句操作数无效"
+msgstr "返回语句操作数无效"
 
-#: tree-cfg.c:3805
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:3641
+#, gcc-internal-format
 msgid "invalid conversion in return statement"
-msgstr "开关语句操作数无效"
+msgstr "返回语句转换无效"
 
-#: tree-cfg.c:3829
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:3665
+#, gcc-internal-format
 msgid "goto destination is neither a label nor a pointer"
-msgstr "下标运算的左操作数既非数组也非指针"
+msgstr "goto 的目标既非标号亦非指针"
 
-#: tree-cfg.c:3844
+#: tree-cfg.c:3680
 #, gcc-internal-format
 msgid "invalid operand to switch statement"
 msgstr "开关语句操作数无效"
 
-#: tree-cfg.c:3864
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:3700
+#, gcc-internal-format
 msgid "Invalid PHI result"
-msgstr "无效的 IACC 实参"
+msgstr "无效的 PHI 结果"
 
-#: tree-cfg.c:3876
+#: tree-cfg.c:3712
 #, gcc-internal-format
 msgid "Invalid PHI argument"
 msgstr "无效的 PHI 实参"
 
-#: tree-cfg.c:3882
-#, fuzzy, gcc-internal-format
-msgid "Incompatible types in PHI argument"
-msgstr "赋值时类型不兼容"
+#: tree-cfg.c:3718
+#, gcc-internal-format
+msgid "Incompatible types in PHI argument %u"
+msgstr "PHI 实参 %u 类型不兼容"
 
-#: tree-cfg.c:4007
+#: tree-cfg.c:3858
 #, gcc-internal-format
 msgid "verify_gimple failed"
 msgstr "verify_gimple 失败"
 
-#: tree-cfg.c:4041
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:3893
+#, gcc-internal-format
 msgid "invalid function in call statement"
-msgstr "约束中出现无效的标点%qc"
+msgstr "调用语句中非法函数"
 
-#: tree-cfg.c:4052
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:3904
+#, gcc-internal-format
 msgid "invalid pure const state for function"
-msgstr "函数%qs的存储类无效"
+msgstr "纯常函数状态无效"
 
-#: tree-cfg.c:4062 tree-ssa.c:845 tree-ssa.c:855
+#: tree-cfg.c:3917 tree-ssa.c:997 tree-ssa.c:1006
 #, gcc-internal-format
 msgid "in statement"
 msgstr "在语句中"
 
-#: tree-cfg.c:4076
+#: tree-cfg.c:3937
 #, gcc-internal-format
 msgid "statement marked for throw, but doesn%'t"
 msgstr "语句被标记为抛出异常,但实际上并未抛出"
 
-#: tree-cfg.c:4081
+#: tree-cfg.c:3943
 #, gcc-internal-format
 msgid "statement marked for throw in middle of block"
-msgstr ""
+msgstr "语句在块中被标记为抛出"
 
-#: tree-cfg.c:4153
+#: tree-cfg.c:4015
 #, gcc-internal-format
 msgid "Dead STMT in EH table"
-msgstr ""
+msgstr "在 EH 表中死了的 STMT"
 
-#: tree-cfg.c:4191
+#: tree-cfg.c:4053
 #, gcc-internal-format
 msgid "gimple_bb (phi) is set to a wrong basic block"
-msgstr ""
+msgstr "gimple_bb (phi) 设置为一个错误的基本块"
 
-#: tree-cfg.c:4202
+#: tree-cfg.c:4064
 #, gcc-internal-format
 msgid "missing PHI def"
 msgstr "缺少 PHI 定义"
 
-#: tree-cfg.c:4213
+#: tree-cfg.c:4075
 #, gcc-internal-format
 msgid "PHI argument is not a GIMPLE value"
-msgstr ""
+msgstr "PHI 参数不是 GIMPLE 变量"
 
-#: tree-cfg.c:4222 tree-cfg.c:4267
+#: tree-cfg.c:4084 tree-cfg.c:4157
 #, gcc-internal-format
 msgid "incorrect sharing of tree nodes"
 msgstr "对树结节的共享不正确"
 
-#: tree-cfg.c:4237
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:4107
+#, gcc-internal-format
 msgid "invalid GIMPLE statement"
-msgstr "不是一个有效的 GIMPLE 语句"
+msgstr "效的 GIMPLE 语句"
 
-#: tree-cfg.c:4246
+#: tree-cfg.c:4116
 #, gcc-internal-format
 msgid "gimple_bb (stmt) is set to a wrong basic block"
-msgstr ""
+msgstr "gimple_bb (stmt) 设置为一个错误的基本块"
 
-#: tree-cfg.c:4258
+#: tree-cfg.c:4129
 #, gcc-internal-format
-msgid "incorrect entry in label_to_block_map.\n"
-msgstr ""
+msgid "incorrect entry in label_to_block_map"
+msgstr "label_to_block_map 中条目不正确"
+
+#: tree-cfg.c:4139
+#, gcc-internal-format
+msgid "incorrect setting of landing pad number"
+msgstr "着陆场号码设置不正确"
 
-#: tree-cfg.c:4283
+#: tree-cfg.c:4173
 #, gcc-internal-format
 msgid "verify_stmts failed"
 msgstr "verify_stmts 失败"
 
-#: tree-cfg.c:4306
+#: tree-cfg.c:4196
 #, gcc-internal-format
 msgid "ENTRY_BLOCK has IL associated with it"
-msgstr ""
+msgstr "ENTRY_BLOCK 有与之关联的 IL"
 
-#: tree-cfg.c:4312
+#: tree-cfg.c:4202
 #, gcc-internal-format
 msgid "EXIT_BLOCK has IL associated with it"
-msgstr ""
+msgstr "EXIT_BLOCK 有与之关联的 IL"
 
-#: tree-cfg.c:4319
+#: tree-cfg.c:4209
 #, gcc-internal-format
 msgid "fallthru to exit from bb %d"
-msgstr ""
+msgstr "直通边从基本块 %d 退出"
 
-#: tree-cfg.c:4343
+#: tree-cfg.c:4233
 #, gcc-internal-format
 msgid "nonlocal label "
 msgstr "非局部标号"
 
-#: tree-cfg.c:4352 tree-cfg.c:4361 tree-cfg.c:4386
+#: tree-cfg.c:4242 tree-cfg.c:4251 tree-cfg.c:4276
 #, gcc-internal-format
 msgid "label "
 msgstr "标号"
 
-#: tree-cfg.c:4376
+#: tree-cfg.c:4266
 #, gcc-internal-format
 msgid "control flow in the middle of basic block %d"
 msgstr "基本块 %d 中出现流程控制"
 
-#: tree-cfg.c:4406
+#: tree-cfg.c:4299
 #, gcc-internal-format
 msgid "fallthru edge after a control statement in bb %d"
-msgstr ""
+msgstr "在基本块 %d 中控制语句后的直通边"
 
-#: tree-cfg.c:4419
+#: tree-cfg.c:4312
 #, gcc-internal-format
 msgid "true/false edge after a non-GIMPLE_COND in bb %d"
-msgstr ""
+msgstr "基本块 %d 中非 GIMPLE_COND 后的真假边"
 
-#: tree-cfg.c:4442 tree-cfg.c:4464 tree-cfg.c:4477 tree-cfg.c:4546
+#: tree-cfg.c:4335 tree-cfg.c:4357 tree-cfg.c:4370 tree-cfg.c:4439
 #, gcc-internal-format
 msgid "wrong outgoing edge flags at end of bb %d"
-msgstr ""
+msgstr "基本块 %d 结尾处有错误的出边标记"
 
-#: tree-cfg.c:4452
+#: tree-cfg.c:4345
 #, gcc-internal-format
 msgid "explicit goto at end of bb %d"
 msgstr "基本块 %d 末尾显式的 goto"
 
-#: tree-cfg.c:4482
+#: tree-cfg.c:4375
 #, gcc-internal-format
 msgid "return edge does not point to exit in bb %d"
 msgstr "基本块 %d 中,返回边并不指向退出"
 
-#: tree-cfg.c:4512
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:4405
+#, gcc-internal-format
 msgid "found default case not at the start of case vector"
-msgstr "默认 case 没有出现在 case 矢量末尾"
+msgstr "默认 case 不在 case 向量的开头"
 
-#: tree-cfg.c:4520
+#: tree-cfg.c:4413
 #, gcc-internal-format
 msgid "case labels not sorted: "
 msgstr "case 标号未排序: "
 
-#: tree-cfg.c:4537
+#: tree-cfg.c:4430
 #, gcc-internal-format
 msgid "extra outgoing edge %d->%d"
 msgstr "多余的出边 %d->%d"
 
-#: tree-cfg.c:4560
+#: tree-cfg.c:4453
 #, gcc-internal-format
 msgid "missing edge %i->%i"
 msgstr "缺少边 %i->%i"
 
-#: tree-cfg.c:7036
+#: tree-cfg.c:7158
 #, gcc-internal-format
-msgid "%H%<noreturn%> function does return"
-msgstr "%H%<noreturn%>函数确实会返回"
+msgid "%<noreturn%> function does return"
+msgstr "%<noreturn%>函数返回了"
 
-#: tree-cfg.c:7056
-#, fuzzy, gcc-internal-format
+#: tree-cfg.c:7178
+#, gcc-internal-format
 msgid "control reaches end of non-void function"
-msgstr "%H在有返回值的函数中,控制流程到达函数尾"
+msgstr "在有返回值的函数中,控制流程到达函数尾"
+
+#: tree-cfg.c:7241
+#, gcc-internal-format
+msgid "function might be possible candidate for attribute %<noreturn%>"
+msgstr "函数可能是%<noreturn%>属性的备选"
 
-#: tree-cfg.c:7118
+#: tree-cfg.c:7312
 #, gcc-internal-format
-msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
-msgstr "%J函数是属性%<noreturn%>可能的备选"
+msgid "ignoring return value of %qD, declared with attribute warn_unused_result"
+msgstr "忽略声明有 warn_unused_result 属性的%qD的返回值"
 
-#: tree-dump.c:927
+#: tree-cfg.c:7317
+#, gcc-internal-format
+msgid "ignoring return value of function declared with attribute warn_unused_result"
+msgstr "忽略声明有 warn_unused_result 属性的函数的返回值"
+
+#: tree-dump.c:930
 #, gcc-internal-format
 msgid "could not open dump file %qs: %s"
 msgstr "无法打开转储文件%qs:%s"
 
-#: tree-dump.c:1060
+#: tree-dump.c:1063
 #, gcc-internal-format
 msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
 msgstr "忽略未知的选项%q.*s,在%<-fdump-%s%>中"
 
-#: tree-eh.c:1993
+#: tree-eh.c:3877
 #, gcc-internal-format
-msgid "EH edge %i->%i is missing"
-msgstr "缺少 EH 边 %i->%i"
+msgid "BB %i has multiple EH edges"
+msgstr "基本块 %i 有多个 EH 边"
 
-#: tree-eh.c:1998
+#: tree-eh.c:3889
 #, gcc-internal-format
-msgid "EH edge %i->%i miss EH flag"
-msgstr "EH 边 %i->%i 缺少 EH 标记"
+msgid "BB %i can not throw but has an EH edge"
+msgstr "基本块 %i 不能抛出异常但却有 EH 边"
 
-#. ??? might not be mistake.
-#: tree-eh.c:2004
+#: tree-eh.c:3897
 #, gcc-internal-format
-msgid "EH edge %i->%i has duplicated regions"
-msgstr ""
+msgid "BB %i last statement has incorrectly set lp"
+msgstr "基本块 %i 最后一条语句设置了不正确的 lp"
 
-#: tree-eh.c:2039
+#: tree-eh.c:3903
 #, gcc-internal-format
-msgid "BB %i can not throw but has EH edges"
-msgstr ""
+msgid "BB %i is missing an EH edge"
+msgstr "基本块 %i 缺少一条 EH 边"
 
-#: tree-eh.c:2046
+#: tree-eh.c:3909
 #, gcc-internal-format
-msgid "BB %i last statement has incorrectly set region"
-msgstr ""
+msgid "Incorrect EH edge %i->%i"
+msgstr "不正确的 EH 边 %i->%i"
+
+#: tree-eh.c:3943 tree-eh.c:3962
+#, gcc-internal-format
+msgid "BB %i is missing an edge"
+msgstr "基本块 %i 缺少一条边"
+
+#: tree-eh.c:3979
+#, gcc-internal-format
+msgid "BB %i too many fallthru edges"
+msgstr "基本块 %i 下落边太多"
+
+#: tree-eh.c:3988
+#, gcc-internal-format
+msgid "BB %i has incorrect edge"
+msgstr "基本块 %i 有不正确的边"
+
+#: tree-eh.c:3994
+#, gcc-internal-format
+msgid "BB %i has incorrect fallthru edge"
+msgstr "基本块 %i 有不正确的下落边"
+
+#: tree-inline.c:2773
+#, gcc-internal-format
+msgid "function %q+F can never be copied because it receives a non-local goto"
+msgstr "函数%q+F无法被复制,因为它接受了非局部的 goto"
 
-#: tree-eh.c:2057
+#: tree-inline.c:2790
 #, gcc-internal-format
-msgid "unnecessary EH edge %i->%i"
-msgstr "不需要的 EH 边 %i->%i"
+msgid "function %q+F can never be copied because it saves address of local label in a static variable"
+msgstr "函数%q+F无法被复制,因为它在一个静态变量中保存了局部标号的地址"
 
-#: tree-inline.c:2354
+#: tree-inline.c:2800
 #, gcc-internal-format
-msgid "function %q+F can never be inlined because it uses variable sized variables"
-msgstr "å\87½æ\95°%q+Fæ\97 æ³\95被å\86\85è\81\94,因为使用了变长变量"
+msgid "function %q+F can never be copied because it uses variable sized variables"
+msgstr "å\87½æ\95°%q+Fæ\97 æ³\95被å¤\8då\88,因为使用了变长变量"
 
-#: tree-inline.c:2388
+#: tree-inline.c:2838
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
 msgstr "函数%q+F无法被内联,因为它使用了 alloca (使用 always_inline 属性强制内联)"
 
-#: tree-inline.c:2402
+#: tree-inline.c:2852
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr "函数%q+F无法被内联,因为它使用了 setjmp"
 
-#: tree-inline.c:2416
+#: tree-inline.c:2866
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr "函数%q+F无法被内联,因为它使用了变长实参表"
 
-#: tree-inline.c:2428
+#: tree-inline.c:2878
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
 msgstr "函数%q+F无法被内联,因为它使用了 setjmp-longjmp 异常处理"
 
-#: tree-inline.c:2436
+#: tree-inline.c:2886
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr "函数%q+F无法被内联,因为使用了非局部的 goto"
 
-#: tree-inline.c:2448
+#: tree-inline.c:2898
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
 msgstr "函数%q+F无法被内联,因为使用了 __builtin_return 或 __builtin_apply_args"
 
-#: tree-inline.c:2468
+#: tree-inline.c:2918
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr "函数%q+F无法被内联,因为包含一个计算转移"
 
-#: tree-inline.c:2483
-#, gcc-internal-format
-msgid "function %q+F can never be inlined because it receives a non-local goto"
-msgstr "函数%q+F无法被内联,因为它接受一个非局部的 goto"
-
-#: tree-inline.c:2509
-#, gcc-internal-format
-msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
-msgstr "函数%q+F无法被内联,因为它在一个静态变量中保存了局部标号的地址"
-
-#: tree-inline.c:2600
+#: tree-inline.c:2998
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
 msgstr "函数%q+F无法被内联,因为使用了 -fno-inline"
 
-#: tree-inline.c:2614
+#: tree-inline.c:3012
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
 msgstr "函数%q+F无法被内联,因为它使用了与内联冲突的属性"
 
-#: tree-inline.c:3162 tree-inline.c:3172
+#: tree-inline.c:3577 tree-inline.c:3588
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr "调用%q+F时内联失败:%s"
 
-#: tree-inline.c:3163 tree-inline.c:3174
+#: tree-inline.c:3579 tree-inline.c:3590
 #, gcc-internal-format
 msgid "called from here"
 msgstr "从此处调用"
 
-#: tree-mudflap.c:868
+#: tree-mudflap.c:907
 #, gcc-internal-format
 msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
 msgstr "mudflap 尚未为 ARRAY_RANGE_REF 实现"
 
-#: tree-mudflap.c:1059
+#: tree-mudflap.c:1114
 #, gcc-internal-format
-msgid "mudflap cannot track %qs in stub function"
-msgstr "mudflap 不能追踪占位函数中的%qs"
+msgid "mudflap cannot track %qE in stub function"
+msgstr "mudflap 不能追踪占位函数中的%qE"
 
-#: tree-mudflap.c:1303
+#: tree-mudflap.c:1358
 #, gcc-internal-format
-msgid "mudflap cannot track unknown size extern %qs"
-msgstr "mudflap 不能追踪大小未知的外部变量%qs"
+msgid "mudflap cannot track unknown size extern %qE"
+msgstr "mudflap 不能追踪大小未知的外部变量%qE"
 
-#: tree-nomudflap.c:50
+#: tree-nomudflap.c:49
 #, gcc-internal-format
 msgid "mudflap: this language is not supported"
 msgstr "mudflap:这个语言不受支持"
 
-#: tree-optimize.c:443
+#: tree-optimize.c:441
 #, gcc-internal-format
 msgid "size of return value of %q+D is %u bytes"
 msgstr "%q+D返回值的大小为 %u 字节"
 
-#: tree-optimize.c:446
+#: tree-optimize.c:444
 #, gcc-internal-format
 msgid "size of return value of %q+D is larger than %wd bytes"
 msgstr "%q+D返回值的大小超过 %wd 字节"
 
-#: tree-outof-ssa.c:682 tree-outof-ssa.c:744 tree-ssa-coalesce.c:935
-#: tree-ssa-coalesce.c:950 tree-ssa-coalesce.c:1172 tree-ssa-live.c:1088
+#: tree-outof-ssa.c:756 tree-outof-ssa.c:813 tree-ssa-coalesce.c:958
+#: tree-ssa-coalesce.c:973 tree-ssa-coalesce.c:1195 tree-ssa-live.c:1184
 #, gcc-internal-format
 msgid "SSA corruption"
 msgstr "SSA 损坏"
 
-#: tree-outof-ssa.c:1314
-#, gcc-internal-format
-msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
-msgstr ""
-
-#: tree-outof-ssa.c:1320
-#, gcc-internal-format
-msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
-msgstr ""
-
-#: tree-outof-ssa.c:1327
-#, gcc-internal-format
-msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
-msgstr ""
-
-#: tree-outof-ssa.c:1333
-#, gcc-internal-format
-msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
-msgstr ""
-
-#: tree-profile.c:386
+#: tree-profile.c:396
 #, gcc-internal-format
 msgid "unimplemented functionality"
 msgstr "未实现的功能"
 
-#: tree-ssa-alias-warnings.c:843
-#, gcc-internal-format
-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或附近的引用重叠。"
-
-#: tree-ssa-alias-warnings.c:969
-#, fuzzy, gcc-internal-format
-msgid "dereferencing type-punned pointer %D will break strict-aliasing rules"
-msgstr "提领类型双关的指针将破坏强重叠规则"
-
-#: tree-ssa.c:252
+#: tree-ssa.c:577
 #, gcc-internal-format
 msgid "expected an SSA_NAME object"
 msgstr "需要一个 SSA_NAME 对象"
 
-#: tree-ssa.c:258
+#: tree-ssa.c:583
 #, gcc-internal-format
 msgid "type mismatch between an SSA_NAME and its symbol"
 msgstr "SSA_NAME 和其符号间类型不匹配"
 
-#: tree-ssa.c:264
+#: tree-ssa.c:589
 #, gcc-internal-format
 msgid "found an SSA_NAME that had been released into the free pool"
 msgstr "找到一个已经被释放的 SSA_NAME"
 
-#: tree-ssa.c:270
+#: tree-ssa.c:595
 #, gcc-internal-format
 msgid "found a virtual definition for a GIMPLE register"
 msgstr "为一个 GIMPLE 寄存器找到一个虚拟定义"
 
-#: tree-ssa.c:276
+#: tree-ssa.c:601
+#, gcc-internal-format
+msgid "virtual SSA name for non-VOP decl"
+msgstr "非 VOP 声明有虚拟 SSA 名"
+
+#: tree-ssa.c:607
 #, gcc-internal-format
 msgid "found a real definition for a non-register"
 msgstr "为一个非寄存器找到一个真实定义"
 
-#: tree-ssa.c:283
+#: tree-ssa.c:614
 #, gcc-internal-format
 msgid "found a default name with a non-empty defining statement"
-msgstr ""
+msgstr "找到一个有非空定义语句的默认名字"
 
-#: tree-ssa.c:311
+#: tree-ssa.c:642
 #, gcc-internal-format
 msgid "SSA_NAME created in two different blocks %i and %i"
 msgstr "SSA_NAME 在基本块 %i 和 %i 中均被创建"
 
-#: tree-ssa.c:320
+#: tree-ssa.c:651 tree-ssa.c:1024
 #, gcc-internal-format
 msgid "SSA_NAME_DEF_STMT is wrong"
 msgstr "SSA_NAME_DEF_STMT 不正确"
 
-#: tree-ssa.c:372
+#: tree-ssa.c:703
 #, gcc-internal-format
 msgid "missing definition"
 msgstr "定义缺失"
 
-#: tree-ssa.c:378
+#: tree-ssa.c:709
 #, gcc-internal-format
 msgid "definition in block %i does not dominate use in block %i"
-msgstr ""
+msgstr "块 %i 中的定义不支配块 %i 中的使用"
 
-#: tree-ssa.c:386
+#: tree-ssa.c:717
 #, gcc-internal-format
 msgid "definition in block %i follows the use"
 msgstr "块 %i 的定义在使用之后"
 
-#: tree-ssa.c:393
+#: tree-ssa.c:724
 #, gcc-internal-format
 msgid "SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set"
-msgstr ""
+msgstr "应该设置 SSA_NAME_OCCURS_IN_ABNORMAL_PHI"
 
-#: tree-ssa.c:401
+#: tree-ssa.c:732
 #, gcc-internal-format
 msgid "no immediate_use list"
 msgstr "没有 immediate_use 列表"
 
-#: tree-ssa.c:413
+#: tree-ssa.c:744
 #, gcc-internal-format
 msgid "wrong immediate use list"
 msgstr "错误的 immediate use 列表"
 
-#: tree-ssa.c:447
+#: tree-ssa.c:778
 #, gcc-internal-format
 msgid "incoming edge count does not match number of PHI arguments"
-msgstr ""
+msgstr "引入边计数不匹配 PHI 参数数目"
 
-#: tree-ssa.c:461
+#: tree-ssa.c:792
 #, gcc-internal-format
 msgid "PHI argument is missing for edge %d->%d"
 msgstr "边 %d->%d 缺少 PHI 参数"
 
-#: tree-ssa.c:470
+#: tree-ssa.c:801
 #, gcc-internal-format
 msgid "PHI argument is not SSA_NAME, or invariant"
-msgstr ""
+msgstr "PHI 参数不是 SSA_NAME 或不变量"
 
-#: tree-ssa.c:483
+#: tree-ssa.c:829
 #, gcc-internal-format
 msgid "wrong edge %d->%d for PHI argument"
 msgstr "PHI 参数边 %d->%d 错误"
 
-#: tree-ssa.c:533
-#, gcc-internal-format
-msgid "non-addressable variable inside an alias set"
-msgstr "别名集中有不可寻址的变量"
-
-#: tree-ssa.c:544
-#, gcc-internal-format
-msgid "verify_flow_insensitive_alias_info failed"
-msgstr "verify_flow_sensitive_alias_info 失败"
-
-#: tree-ssa.c:586
-#, gcc-internal-format
-msgid "dereferenced pointers should have a name or a symbol tag"
-msgstr "提领的指针应具有一个名称或类型标记"
-
-#: tree-ssa.c:593
-#, gcc-internal-format
-msgid "pointers with a memory tag, should have points-to sets"
-msgstr ""
-
-#: tree-ssa.c:607
-#, gcc-internal-format
-msgid "pointer escapes but its name tag is not call-clobbered"
-msgstr ""
-
-#: tree-ssa.c:617
-#, gcc-internal-format
-msgid "verify_flow_sensitive_alias_info failed"
-msgstr "verify_flow_sensitive_alias_info 失败"
-
-#: tree-ssa.c:645
-#, gcc-internal-format
-msgid "variable in call_clobbered_vars but not marked call_clobbered"
-msgstr "变量在 call_clobbered_vars  中但并未被标记为 call_clobbered"
-
-#: tree-ssa.c:664
+#: tree-ssa.c:910
 #, gcc-internal-format
-msgid "variable marked call_clobbered but not in call_clobbered_vars bitmap."
-msgstr "变量被标记为 call_clobbered  但不在 call_clobbered_vars 位图中。"
-
-#: tree-ssa.c:674
-#, gcc-internal-format
-msgid "verify_call_clobbering failed"
-msgstr "verify_call_clobbering 失败"
+msgid "AUX pointer initialized for edge %d->%d"
+msgstr "为边 %d->%d 初始化 AUX 指针"
 
-#: tree-ssa.c:695
+#: tree-ssa.c:936
 #, gcc-internal-format
-msgid "Memory partitions should have at least one symbol"
-msgstr "内存分区至少应该有一个符号"
+msgid "stmt (%p) marked modified after optimization pass: "
+msgstr "stmt (%p) 在优化以后标记为修改的:"
 
-#: tree-ssa.c:705
+#: tree-ssa.c:955
 #, gcc-internal-format
-msgid "Partitioned symbols should belong to exactly one partition"
-msgstr ""
+msgid "statement makes a memory store, but has no VDEFS"
+msgstr "语句做了一个内存存储,但并无 VDEFS"
 
-#: tree-ssa.c:718
+#: tree-ssa.c:970
 #, gcc-internal-format
-msgid "verify_memory_partitions failed"
-msgstr "verify_memory_partitions 失败"
+msgid "statement has VDEF operand not in defs list"
+msgstr "语句有不在定义列表中的 VDEF 操作数"
 
-#: tree-ssa.c:790
+#: tree-ssa.c:975
 #, gcc-internal-format
-msgid "AUX pointer initialized for edge %d->%d"
-msgstr "为边 %d->%d 初始化 AUX 指针"
+msgid "statement has VDEF but no VUSE operand"
+msgstr "语句有 VDEF 而没有 VUSE 操作数"
 
-#: tree-ssa.c:815
+#: tree-ssa.c:981
 #, gcc-internal-format
-msgid "stmt (%p) marked modified after optimization pass: "
-msgstr ""
+msgid "VDEF and VUSE do not use the same symbol"
+msgstr "VDEF 和 VUSE 没有使用相同的符号"
 
-#: tree-ssa.c:835
+#: tree-ssa.c:990
 #, gcc-internal-format
-msgid "statement makes a memory store, but has no VDEFS"
-msgstr ""
+msgid "statement has VUSE operand not in uses list"
+msgstr "语句有不在使用列表中的 VUSE 操作数"
 
-#: tree-ssa.c:894
+#: tree-ssa.c:1053
 #, gcc-internal-format
 msgid "verify_ssa failed"
 msgstr "verify_ssa 失败"
 
-#: tree-ssa.c:1453
+#: tree-ssa.c:1673
 #, gcc-internal-format
-msgid "%J%qD was declared here"
-msgstr "%J%qD的上一个声明在此"
+msgid "%qD was declared here"
+msgstr "%qD在此声明"
 
-#: tree-ssa.c:1517
+#: tree-ssa.c:1745
 #, gcc-internal-format
 msgid "%qD is used uninitialized in this function"
 msgstr "此函数中的%qD在使用前未初始化"
 
-#: tree-ssa.c:1520 tree-ssa.c:1559
+#: tree-ssa.c:1748 tree-ssa.c:1787
 #, gcc-internal-format
 msgid "%qD may be used uninitialized in this function"
 msgstr "此函数中的%qD在使用前可能未初始化"
 
-#: tree-vrp.c:4919
+#: tree-vrp.c:5015
 #, gcc-internal-format
-msgid "%Harray subscript is outside array bounds"
-msgstr "%H数组下标越界"
+msgid "array subscript is outside array bounds"
+msgstr "数组下标越过了数组边界"
 
-#: tree-vrp.c:4933
+#: tree-vrp.c:5030
 #, gcc-internal-format
-msgid "%Harray subscript is above array bounds"
-msgstr "%H数组下标超过上限"
+msgid "array subscript is above array bounds"
+msgstr "数组下标大于数组边界"
 
-#: tree-vrp.c:4940
+#: tree-vrp.c:5037
 #, gcc-internal-format
-msgid "%Harray subscript is below array bounds"
-msgstr "%H数组下标低于下限"
+msgid "array subscript is below array bounds"
+msgstr "数组下标小于数组边界"
 
-#: tree-vrp.c:5577
+#: tree-vrp.c:5706
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional to constant"
 msgstr "将条件简化为常量时假定有符号数从不溢出"
 
-#: tree-vrp.c:5583
+#: tree-vrp.c:5712
 #, gcc-internal-format
 msgid "assuming signed overflow does not occur when simplifying conditional"
 msgstr "简化条件时假定有符号数从不溢出"
 
-#: tree-vrp.c:5620
+#: tree-vrp.c:5756
 #, gcc-internal-format
 msgid "comparison always false due to limited range of data type"
 msgstr "由于数据类型范围限制,比较结果永远为假"
 
-#: tree-vrp.c:5623
+#: tree-vrp.c:5758
 #, gcc-internal-format
 msgid "comparison always true due to limited range of data type"
 msgstr "由于数据类型范围限制,比较结果永远为真"
 
-#: tree.c:3702
+#: tree-vrp.c:6598
+#, gcc-internal-format
+msgid "assuming signed overflow does not occur when simplifying %</%> or %<%%%> to %<>>%> or %<&%>"
+msgstr "将%</%>或%<%%%>简化为%<>>%>或%<&%>时假定有符号数从不溢出"
+
+#: tree-vrp.c:6680
+#, gcc-internal-format
+msgid "assuming signed overflow does not occur when simplifying %<abs (X)%> to %<X%> or %<-X%>"
+msgstr "将%<abs (X)%>简化为%<X%>或%<-X%>时假定有符号数从不溢出"
+
+#: tree.c:4068
 #, gcc-internal-format
 msgid "ignoring attributes applied to %qT after definition"
 msgstr "忽略在其定义之后为%qT应用的属性"
 
-#: tree.c:3985
+#: tree.c:5214
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr "%q+D已被声明为具有 dllexport 属性:忽略 dllimport"
 
-#: tree.c:3997
+#: tree.c:5226
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr "%q+D重声明时没有 dllimport 属性,但已被作为 dllimport 链接引用过"
 
-#: tree.c:4012
+#: tree.c:5241
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr "%q+D重声明时没有 dllimport 属性:忽略先前的 dllimport"
 
-#: tree.c:4071 tree.c:4083 tree.c:4093 config/darwin.c:1437
-#: config/arm/arm.c:3177 config/arm/arm.c:3205 config/avr/avr.c:4748
-#: config/h8300/h8300.c:5282 config/h8300/h8300.c:5306 config/i386/i386.c:4172
-#: config/i386/i386.c:25848 config/ia64/ia64.c:619
-#: config/m68hc11/m68hc11.c:1118 config/rs6000/rs6000.c:20738
-#: config/sh/symbian.c:408 config/sh/symbian.c:415
-#, gcc-internal-format
-msgid "%qs attribute ignored"
-msgstr "忽略%qs属性"
-
-#: tree.c:4109
+#: tree.c:5341
 #, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr "内联函数%q+D声明为 dllimport:忽略此属性"
 
-#: tree.c:4117
+#: tree.c:5349
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "函数%q+D的定义被标记为 dllimport"
 
-#: tree.c:4125 config/sh/symbian.c:430
+#: tree.c:5357 config/sh/symbian-c.c:144 config/sh/symbian-cxx.c:576
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr "变量%q+D的定义被标记为 dllimport"
 
-#: tree.c:4148 config/sh/symbian.c:505
+#: tree.c:5384 config/sh/symbian-c.c:164 config/sh/symbian-cxx.c:651
 #, gcc-internal-format
-msgid "external linkage required for symbol %q+D because of %qs attribute"
-msgstr "符号%q+D需要外部链接,因为%qs属性"
+msgid "external linkage required for symbol %q+D because of %qE attribute"
+msgstr "符号%q+D需要外部链接,因为%qE属性"
 
-#: tree.c:4162
+#: tree.c:5398
 #, gcc-internal-format
-msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
-msgstr "%qs意味着默认可见性;但%qD已经被声明为有不同的可见性"
+msgid "%qE implies default visibility, but %qD has already been declared with a different visibility"
+msgstr "%qE意味着默认可见性;但%qD已经被声明为有不同的可见性"
 
-#: tree.c:5744
+#: tree.c:6998
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "函数数组是没有意义的"
 
-#: tree.c:5895
+#: tree.c:7135
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "函数不能返回函数"
 
-#: tree.c:7053 tree.c:7138 tree.c:7199
+#: tree.c:8347 tree.c:8432 tree.c:8493
 #, gcc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr "树检查:%s,得到 %s 在 %s,于 %s:%d"
 
-#: tree.c:7090
+#: tree.c:8384
 #, gcc-internal-format
 msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
 msgstr "树检查:不需要 %s,得到 %s 在 %s,于 %s:%d"
 
-#: tree.c:7103
+#: tree.c:8397
 #, gcc-internal-format
 msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr "树检查:需要类%qs,得到%qs(%s) 在 %s,于 %s:%d"
 
-#: tree.c:7152
+#: tree.c:8446
 #, gcc-internal-format
 msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
 msgstr "树检查:不需要类%qs,得到%qs(%s) 在 %s,于 %s:%d"
 
-#: tree.c:7165
+#: tree.c:8459
 #, gcc-internal-format
 msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
 msgstr "树检查:需要 omp_clause %s,得到 %s 在 %s,于 %s:%d"
 
-#: tree.c:7225
+#: tree.c:8519
 #, gcc-internal-format
 msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
 msgstr "树检查:需要包含%qs结构的树,得到%qs在 %s,于 %s:%d"
 
-#: tree.c:7239
+#: tree.c:8533
 #, gcc-internal-format
 msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
-msgstr ""
+msgstr "树检查:访问了 %3$s 中有 %2$d 个 elt  的 tree_vec 的 elt %1$d,于 %4$s:%5$d"
 
-#: tree.c:7252
+#: tree.c:8546
 #, gcc-internal-format
 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
-msgstr ""
+msgstr "树检查:在 %4$s 中访问有 %3$d 个操作数的 %2$s 的第 %1$d 个操作数,于 %5$s:%6$d"
 
-#: tree.c:7265
+#: tree.c:8559
 #, gcc-internal-format
 msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
 msgstr "树检查:在 %4$s 中访问有 %3$d 个操作数的 omp_clause %2$s 的第 %1$d 个操作数,于 %5$s:%6$d"
@@ -24513,7 +26211,7 @@ msgstr "不活跃直方图"
 #: value-prof.c:407
 #, gcc-internal-format
 msgid "Histogram value statement does not correspond to the statement it is associated with"
-msgstr ""
+msgstr "直方图值语句不和与它相关联的语句对应"
 
 #: value-prof.c:420
 #, gcc-internal-format
@@ -24521,156 +26219,151 @@ msgid "verify_histograms failed"
 msgstr "verify_histograms 失败"
 
 #: value-prof.c:467
-#, fuzzy, gcc-internal-format
+#, gcc-internal-format
 msgid "Correcting inconsistent value profile: %s profiler overall count (%d) does not match BB count (%d)"
-msgstr "%H损坏的值取样:%s 取样总数(%d)与基本块数(%d)不匹配"
+msgstr "更正不一致的值取样:%s 取样总数(%d)与基本块数(%d)不匹配"
 
 #: value-prof.c:477
 #, gcc-internal-format
-msgid "%HCorrupted value profile: %s profiler overall count (%d) does not match BB count (%d)"
-msgstr "%H损坏的值取样:%s 取样总数(%d)与基本块数(%d)不匹配"
+msgid "Corrupted value profile: %s profiler overall count (%d) does not match BB count (%d)"
+msgstr "损坏的值取样:%s 取样总数(%d)与基本块数(%d)不匹配"
 
-#: varasm.c:575
+#: varasm.c:580
 #, gcc-internal-format
 msgid "%+D causes a section type conflict"
 msgstr "%+D 导致一个节类型冲突"
 
-#: varasm.c:1118
+#: varasm.c:1130
 #, gcc-internal-format
 msgid "alignment of %q+D is greater than maximum object file alignment.  Using %d"
 msgstr "%q+D的对齐要求大于目标文件的最大对齐边界。使用 %d"
 
-#: varasm.c:1344 varasm.c:1352
+#: varasm.c:1363 varasm.c:1371
 #, gcc-internal-format
 msgid "register name not specified for %q+D"
 msgstr "%q+D的寄存器名无效"
 
-#: varasm.c:1354
+#: varasm.c:1373
 #, gcc-internal-format
 msgid "invalid register name for %q+D"
 msgstr "%q+D的寄存器名无效"
 
-#: varasm.c:1356
+#: varasm.c:1375
 #, gcc-internal-format
 msgid "data type of %q+D isn%'t suitable for a register"
 msgstr "为%q+D指定的寄存器不适合此数据类型"
 
-#: varasm.c:1359
+#: varasm.c:1378
 #, gcc-internal-format
 msgid "register specified for %q+D isn%'t suitable for data type"
 msgstr "为%q+D指定的寄存器不适合此数据类型"
 
-#: varasm.c:1369
+#: varasm.c:1388
 #, gcc-internal-format
 msgid "global register variable has initial value"
 msgstr "全局寄存器变量有初始值"
 
-#: varasm.c:1373
+#: varasm.c:1392
 #, gcc-internal-format
 msgid "optimization may eliminate reads and/or writes to register variables"
 msgstr "优化可能会去除对寄存器变量的读写"
 
-#: varasm.c:1411
+#: varasm.c:1430
 #, gcc-internal-format
 msgid "register name given for non-register variable %q+D"
 msgstr "为非寄存器变量%q+D给定了寄存器名"
 
-#: varasm.c:1480
+#: varasm.c:1507
 #, gcc-internal-format
 msgid "global destructors not supported on this target"
 msgstr "全局析构函数在此目标机上不受支持"
 
-#: varasm.c:1546
+#: varasm.c:1573
 #, gcc-internal-format
 msgid "global constructors not supported on this target"
 msgstr "全局构造函数在此目标机上不受支持"
 
-#: varasm.c:1932
+#: varasm.c:1960
 #, gcc-internal-format
 msgid "thread-local COMMON data not implemented"
 msgstr "线程局部的 COMMON 数据没有实现"
 
-#: varasm.c:1961
+#: varasm.c:1989
 #, gcc-internal-format
 msgid "requested alignment for %q+D is greater than implemented alignment of %wu"
 msgstr "%q+D需要的对齐边界大于实现的对齐边界 %wu"
 
-#: varasm.c:4483
+#: varasm.c:4561
 #, gcc-internal-format
 msgid "initializer for integer/fixed-point value is too complicated"
 msgstr "整数/定点值的初始值设定太复杂"
 
-#: varasm.c:4488
+#: varasm.c:4566
 #, gcc-internal-format
 msgid "initializer for floating value is not a floating constant"
 msgstr "浮点值的初始值设定不是一个浮点常量"
 
-#: varasm.c:4761
+#: varasm.c:4872
 #, gcc-internal-format
-msgid "invalid initial value for member %qs"
-msgstr "成员%qs的初始值无效"
+msgid "invalid initial value for member %qE"
+msgstr "成员%qE的初始值无效"
 
-#: varasm.c:4957 varasm.c:5001
+#: varasm.c:5181 varasm.c:5225
 #, gcc-internal-format
 msgid "weak declaration of %q+D must precede definition"
 msgstr "%q+D的弱声明必须在定义之前"
 
-#: varasm.c:4965
+#: varasm.c:5189
 #, gcc-internal-format
 msgid "weak declaration of %q+D after first use results in unspecified behavior"
 msgstr "%q+D的弱声明出现在第一次使用之后将导致不可预期的行为"
 
-#: varasm.c:4999
+#: varasm.c:5223
 #, gcc-internal-format
 msgid "weak declaration of %q+D must be public"
 msgstr "%q+D的弱声明必须是公共的"
 
-#: varasm.c:5003
+#: varasm.c:5227
 #, gcc-internal-format
 msgid "weak declaration of %q+D not supported"
 msgstr "不支持%q+D的弱声明"
 
-#: varasm.c:5029
+#: varasm.c:5253 varasm.c:5655
 #, gcc-internal-format
 msgid "only weak aliases are supported in this configuration"
 msgstr "此配置下只支持弱别名"
 
-#: varasm.c:5264
+#: varasm.c:5470
 #, gcc-internal-format
-msgid "%Jweakref is not supported in this configuration"
-msgstr "%J别名引用在此配置下不受支持"
+msgid "weakref is not supported in this configuration"
+msgstr "引用在此配置下不受支持"
 
-#: varasm.c:5345
+#: varasm.c:5584
 #, gcc-internal-format
-msgid "%q+D aliased to undefined symbol %qs"
-msgstr "%q+D是未定义符号%qs的别名"
+msgid "%q+D aliased to undefined symbol %qE"
+msgstr "%q+D是未定义符号%qE的别名"
 
-#: varasm.c:5350
+#: varasm.c:5594
 #, gcc-internal-format
-msgid "%q+D aliased to external symbol %qs"
-msgstr "%q+D是外部符号%qs的别名"
+msgid "%q+D aliased to external symbol %qE"
+msgstr "%q+D是外部符号%qE的别名"
 
-#: varasm.c:5389
+#: varasm.c:5633
 #, gcc-internal-format
 msgid "weakref %q+D ultimately targets itself"
 msgstr "weakref%q+D最终指向其自身"
 
-#: varasm.c:5398
+#: varasm.c:5642
 #, gcc-internal-format
 msgid "weakref %q+D must have static linkage"
 msgstr "弱引用%q+D必须有静态链接"
 
-#: varasm.c:5404
-#, gcc-internal-format
-msgid "%Jalias definitions not supported in this configuration"
-msgstr "%J别名定义在此配置下不受支持"
-
-#: varasm.c:5409
+#: varasm.c:5649
 #, gcc-internal-format
-msgid "%Jonly weak aliases are supported in this configuration"
-msgstr "%J此配置下只支持弱别名"
+msgid "alias definitions not supported in this configuration"
+msgstr "别名定义在此配置下不受支持"
 
-#: varasm.c:5469
+#: varasm.c:5715
 #, gcc-internal-format
 msgid "visibility attribute not supported in this configuration; ignored"
 msgstr "可见性属性在此配置下不受支持;已忽略"
@@ -24685,87 +26378,87 @@ msgstr "虚数组 %s[%lu]:元素 %lu 越界,在 %s 中,于 %s:%d"
 msgid "underflowed virtual array %s in %s, at %s:%d"
 msgstr "虚拟数组 %s 下溢,在 %s 中,于 %s:%d"
 
-#: vec.c:381
+#: vec.c:523
 #, gcc-internal-format
 msgid "vector %s %s domain error, in %s at %s:%u"
-msgstr "量 %s %s 域错误,在 %s 于 %s:%u"
+msgstr "量 %s %s 域错误,在 %s 于 %s:%u"
 
 #. Print an error message for unrecognized stab codes.
 #: xcoffout.c:187
 #, gcc-internal-format
 msgid "no sclass for %s stab (0x%x)"
-msgstr ""
+msgstr "%s stab (0x%x)没有 sclass"
 
-#: config/darwin-c.c:84
+#: config/darwin-c.c:85
 #, gcc-internal-format
 msgid "too many #pragma options align=reset"
 msgstr "#pragma 选项 align=reset 太多"
 
-#: config/darwin-c.c:104 config/darwin-c.c:107 config/darwin-c.c:109
-#: config/darwin-c.c:111
+#: config/darwin-c.c:105 config/darwin-c.c:108 config/darwin-c.c:110
+#: config/darwin-c.c:112
 #, gcc-internal-format
 msgid "malformed '#pragma options', ignoring"
 msgstr "‘#pragma options’格式错误 - 已忽略"
 
-#: config/darwin-c.c:114
+#: config/darwin-c.c:115
 #, gcc-internal-format
 msgid "junk at end of '#pragma options'"
 msgstr "‘#pragma options’末尾有垃圾字符"
 
-#: config/darwin-c.c:124
+#: config/darwin-c.c:125
 #, gcc-internal-format
 msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
 msgstr "格式错误的‘#pragma options align={mac68k|power|reset}’,已忽略"
 
-#: config/darwin-c.c:136
+#: config/darwin-c.c:137
 #, gcc-internal-format
 msgid "missing '(' after '#pragma unused', ignoring"
 msgstr "‘#pragma unused’后面缺少‘(’,忽略"
 
-#: config/darwin-c.c:154
+#: config/darwin-c.c:155
 #, gcc-internal-format
 msgid "missing ')' after '#pragma unused', ignoring"
 msgstr "‘#pragma unused’后面缺少‘)’,忽略"
 
-#: config/darwin-c.c:157
+#: config/darwin-c.c:158
 #, gcc-internal-format
 msgid "junk at end of '#pragma unused'"
 msgstr "‘#pragma unused’末尾有垃圾字符"
 
-#: config/darwin-c.c:168
+#: config/darwin-c.c:169
 #, gcc-internal-format
 msgid "malformed '#pragma ms_struct', ignoring"
 msgstr "‘#pragma ms_struct’格式错误,已忽略"
 
-#: config/darwin-c.c:176
+#: config/darwin-c.c:177
 #, gcc-internal-format
 msgid "malformed '#pragma ms_struct {on|off|reset}', ignoring"
 msgstr "‘#pragma ms_struct {on|off|reset}’格式错误,已忽略"
 
-#: config/darwin-c.c:179
+#: config/darwin-c.c:180
 #, gcc-internal-format
 msgid "junk at end of '#pragma ms_struct'"
 msgstr "‘#pragma ms_struct’末尾有垃圾字符"
 
-#: config/darwin-c.c:405
+#: config/darwin-c.c:406
 #, gcc-internal-format
 msgid "subframework include %s conflicts with framework include"
-msgstr ""
+msgstr "子框架包含 %s 与框架包含冲突"
 
-#: config/darwin-c.c:588
+#: config/darwin-c.c:589
 #, gcc-internal-format
 msgid "Unknown value %qs of -mmacosx-version-min"
 msgstr "-mmacosx-version-min 的值%qs未知"
 
 #: config/darwin.c:1410
 #, gcc-internal-format
-msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
-msgstr "%<%s%>2.95 虚表兼容属性只在编译内核扩展时有效"
+msgid "%qE 2.95 vtable-compatibility attribute applies only when compiling a kext"
+msgstr "%qE 2.95 虚表兼容属性只在编译内核扩展时有效"
 
 #: config/darwin.c:1417
 #, gcc-internal-format
-msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
-msgstr "%<%s%>2.95 虚表兼容属性只对 C++ 类有效"
+msgid "%qE 2.95 vtable-compatibility attribute applies only to C++ classes"
+msgstr "%qE 2.95 虚表兼容属性只对 C++ 类有效"
 
 #: config/darwin.c:1542
 #, gcc-internal-format
@@ -24775,7 +26468,7 @@ msgstr "内部和保护的可见性属性在此配置下不受支持;已忽略
 #: config/host-darwin.c:62
 #, gcc-internal-format
 msgid "couldn't unmap pch_address_space: %m"
-msgstr ""
+msgstr "无法取消映射 pch_address_space: %m"
 
 #: config/sol2-c.c:93 config/sol2-c.c:109
 #, gcc-internal-format
@@ -24847,7 +26540,7 @@ msgstr "PIC 只在 RTP 上受支持"
 #. coalesced sections.  Weak aliases (or any other kind of aliases) are
 #. not supported.  Weak symbols that aren't visible outside the .s file
 #. are not supported.
-#: config/darwin.h:451
+#: config/darwin.h:492
 #, gcc-internal-format
 msgid "alias definitions not supported in Mach-O; ignored"
 msgstr "重叠定义在 Mach-O 中不受支持;已忽略"
@@ -24858,287 +26551,339 @@ msgstr "重叠定义在 Mach-O 中不受支持;已忽略"
 msgid "profiler support for VxWorks"
 msgstr "对 VxWorks 的取样支持"
 
-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2186
+#: config/alpha/alpha.c:230 config/rs6000/rs6000.c:3110
 #, gcc-internal-format
 msgid "bad value %qs for -mtls-size switch"
 msgstr "-mtls-size 开关的值%qs不正确"
 
-#: config/alpha/alpha.c:286
+#: config/alpha/alpha.c:284
 #, gcc-internal-format
 msgid "-f%s ignored for Unicos/Mk (not supported)"
 msgstr "-f%s 在 Unicos/Mk 上被忽略(不受支持)"
 
-#: config/alpha/alpha.c:310
+#: config/alpha/alpha.c:308
 #, gcc-internal-format
 msgid "-mieee not supported on Unicos/Mk"
 msgstr "-mieee 在 Unicos/Mk 上不被支持"
 
-#: config/alpha/alpha.c:321
+#: config/alpha/alpha.c:319
 #, gcc-internal-format
 msgid "-mieee-with-inexact not supported on Unicos/Mk"
 msgstr "-mieee-with-inexact 在 Unicos/Mk 上不被支持"
 
-#: config/alpha/alpha.c:338
+#: config/alpha/alpha.c:336
 #, gcc-internal-format
 msgid "bad value %qs for -mtrap-precision switch"
 msgstr "-mtrap-precision 开关的值%qs不正确"
 
-#: config/alpha/alpha.c:352
+#: config/alpha/alpha.c:350
 #, gcc-internal-format
 msgid "bad value %qs for -mfp-rounding-mode switch"
 msgstr "-mfp-rounding-mode 开关的值%qs不正确"
 
-#: config/alpha/alpha.c:367
+#: config/alpha/alpha.c:365
 #, gcc-internal-format
 msgid "bad value %qs for -mfp-trap-mode switch"
 msgstr "-mfp-trap-mode 开关的值%qs不正确"
 
-#: config/alpha/alpha.c:381 config/alpha/alpha.c:393
+#: config/alpha/alpha.c:379 config/alpha/alpha.c:391
 #, gcc-internal-format
 msgid "bad value %qs for -mcpu switch"
 msgstr "-mcpu 开关的值%qs错误"
 
-#: config/alpha/alpha.c:400
+#: config/alpha/alpha.c:398
 #, gcc-internal-format
 msgid "trap mode not supported on Unicos/Mk"
 msgstr "陷阱模式在 Unicos/Mk 上不被支持"
 
-#: config/alpha/alpha.c:407
+#: config/alpha/alpha.c:405
 #, gcc-internal-format
 msgid "fp software completion requires -mtrap-precision=i"
 msgstr "软件浮点需要 -mtrap-precision=i"
 
-#: config/alpha/alpha.c:423
+#: config/alpha/alpha.c:421
 #, gcc-internal-format
 msgid "rounding mode not supported for VAX floats"
 msgstr "舍入模式不为 VAX 浮点数所支持"
 
-#: config/alpha/alpha.c:428
+#: config/alpha/alpha.c:426
 #, gcc-internal-format
 msgid "trap mode not supported for VAX floats"
 msgstr "陷阱模式不为 VAX 浮点数所支持"
 
-#: config/alpha/alpha.c:432
+#: config/alpha/alpha.c:430
 #, gcc-internal-format
 msgid "128-bit long double not supported for VAX floats"
 msgstr "128 位 long double 在 VAX 上不受支持"
 
-#: config/alpha/alpha.c:460
+#: config/alpha/alpha.c:458
 #, gcc-internal-format
 msgid "L%d cache latency unknown for %s"
 msgstr "L%d 缓存延迟未知,对 %s 来说"
 
-#: config/alpha/alpha.c:475
+#: config/alpha/alpha.c:473
 #, gcc-internal-format
 msgid "bad value %qs for -mmemory-latency"
 msgstr "-mmemory-latency 开关的值%qs错误"
 
-#: config/alpha/alpha.c:6549 config/alpha/alpha.c:6552 config/s390/s390.c:8737
-#: config/s390/s390.c:8740
+#: config/alpha/alpha.c:6728 config/alpha/alpha.c:6731 config/s390/s390.c:8800
+#: config/s390/s390.c:8803
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "错误的内建 fcode"
 
-#: config/arc/arc.c:392
+#: config/arc/arc.c:393
 #, gcc-internal-format
-msgid "argument of %qs attribute is not a string constant"
-msgstr "%qs属性的实参不是一个字符串常量"
+msgid "argument of %qE attribute is not a string constant"
+msgstr "%qE属性的实参不是一个字符串常量"
 
-#: config/arc/arc.c:400
+#: config/arc/arc.c:401
 #, gcc-internal-format
-msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
-msgstr "%qs属性的实参不是“ilink1”或“ilink2”"
+msgid "argument of %qE attribute is not \"ilink1\" or \"ilink2\""
+msgstr "%qE属性的实参不是“ilink1”或“ilink2”"
 
-#: config/arm/arm.c:1083
+#: config/arm/arm.c:1337
 #, gcc-internal-format
 msgid "switch -mcpu=%s conflicts with -march= switch"
 msgstr "开关 -mcpu=%s 与 -march= 开关冲突"
 
-#: config/arm/arm.c:1093 config/rs6000/rs6000.c:1593 config/sparc/sparc.c:764
+#: config/arm/arm.c:1347 config/rs6000/rs6000.c:2341 config/sparc/sparc.c:780
 #, gcc-internal-format
 msgid "bad value (%s) for %s switch"
 msgstr "开关%2$s的参数%1$s不正确"
 
-#: config/arm/arm.c:1206
+#: config/arm/arm.c:1460
+#, gcc-internal-format
+msgid "invalid __fp16 format option: -mfp16-format=%s"
+msgstr "无效的 __fp16 浮点选项:-mfp16-format=%s"
+
+#: config/arm/arm.c:1477
 #, gcc-internal-format
 msgid "invalid ABI option: -mabi=%s"
 msgstr "无效的 ABI 选项:-mabi=%s"
 
-#: config/arm/arm.c:1214
+#: config/arm/arm.c:1485
 #, gcc-internal-format
 msgid "target CPU does not support ARM mode"
 msgstr "目标 CPU 不支持 ARM 模式"
 
-#: config/arm/arm.c:1220
+#: config/arm/arm.c:1491
 #, gcc-internal-format
 msgid "target CPU does not support interworking"
 msgstr "目标 CPU 不支持交互工作"
 
-#: config/arm/arm.c:1226
+#: config/arm/arm.c:1497
 #, gcc-internal-format
 msgid "target CPU does not support THUMB instructions"
 msgstr "目标 CPU 不支持 THUMB 指令"
 
-#: config/arm/arm.c:1244
+#: config/arm/arm.c:1515
 #, gcc-internal-format
 msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
-msgstr "回溯支持只在为 Thumb 编译时有意义"
+msgstr "å\87½æ\95°è°\83ç\94¨å\9b\9e溯æ\94¯æ\8c\81å\8fªå\9c¨ä¸º Thumb ç¼\96è¯\91æ\97¶æ\9c\89æ\84\8fä¹\89"
 
-#: config/arm/arm.c:1247
+#: config/arm/arm.c:1518
 #, gcc-internal-format
 msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
 msgstr "被调用者协作只在为 Thumb 编译时有意义"
 
-#: config/arm/arm.c:1250
+#: config/arm/arm.c:1521
 #, gcc-internal-format
 msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
 msgstr "调用者协作只在为 Thumb 编译时有意义"
 
-#: config/arm/arm.c:1254
+#: config/arm/arm.c:1525
 #, gcc-internal-format
 msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
 msgstr "-mapcs-stack-check 和 -mno-apcs-frame 互不兼容"
 
-#: config/arm/arm.c:1262
+#: config/arm/arm.c:1533
 #, gcc-internal-format
 msgid "-fpic and -mapcs-reent are incompatible"
 msgstr "-fpic 和 -mapcs-reent 互不兼容"
 
-#: config/arm/arm.c:1265
+#: config/arm/arm.c:1536
 #, gcc-internal-format
 msgid "APCS reentrant code not supported.  Ignored"
 msgstr "不支持 APCS 重入代码。已忽略"
 
-#: config/arm/arm.c:1273
+#: config/arm/arm.c:1544
 #, gcc-internal-format
 msgid "-g with -mno-apcs-frame may not give sensible debugging"
 msgstr "-g 与 -mno-apcs-frame 并用可能不能给出有意义的调试信息"
 
-#: config/arm/arm.c:1276
+#: config/arm/arm.c:1547
 #, gcc-internal-format
 msgid "passing floating point arguments in fp regs not yet supported"
 msgstr "尚不支持在浮点寄存器中传递浮点参数"
 
-#: config/arm/arm.c:1333
+#: config/arm/arm.c:1605
 #, gcc-internal-format
 msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
 msgstr "iwmmxt 需要与 AAPCS 兼容的 ABI 方能正确操作"
 
-#: config/arm/arm.c:1336
+#: config/arm/arm.c:1608
 #, gcc-internal-format
 msgid "iwmmxt abi requires an iwmmxt capable cpu"
 msgstr "iwmmxt abi 需要相应 CPU 的支持"
 
-#: config/arm/arm.c:1346
+#: config/arm/arm.c:1617
 #, gcc-internal-format
 msgid "invalid floating point emulation option: -mfpe=%s"
 msgstr "无效的浮点仿真选项:-mfpe=%s"
 
-#: config/arm/arm.c:1363
+#: config/arm/arm.c:1643
 #, gcc-internal-format
 msgid "invalid floating point option: -mfpu=%s"
 msgstr "无效的浮点选项:-mfpu=%s"
 
-#: config/arm/arm.c:1403
+#: config/arm/arm.c:1680
 #, gcc-internal-format
 msgid "invalid floating point abi: -mfloat-abi=%s"
 msgstr "无效的浮点 ABI:-mfloat-abi=%s"
 
-#: config/arm/arm.c:1410
+#: config/arm/arm.c:1688
 #, gcc-internal-format
-msgid "-mfloat-abi=hard and VFP"
-msgstr "-mfloat-abi=hard 和 VFP"
+msgid "FPA is unsupported in the AAPCS"
+msgstr "AAPCS 不支持 FPA"
+
+#: config/arm/arm.c:1693
+#, gcc-internal-format
+msgid "AAPCS does not support -mcaller-super-interworking"
+msgstr "AAPCS 不支持 -mcaller-super-interworking"
 
-#: config/arm/arm.c:1416
+#: config/arm/arm.c:1696
+#, gcc-internal-format
+msgid "AAPCS does not support -mcallee-super-interworking"
+msgstr "AAPCS 不支持 -mcallee-super-interworking"
+
+#: config/arm/arm.c:1703
 #, gcc-internal-format
 msgid "iWMMXt and hardware floating point"
 msgstr "iWMMXt 和硬件浮点"
 
-#: config/arm/arm.c:1420
+#: config/arm/arm.c:1707
 #, gcc-internal-format
 msgid "Thumb-2 iWMMXt"
 msgstr "Thumb-2 iWMMXt"
 
-#: config/arm/arm.c:1443
+#: config/arm/arm.c:1711
+#, gcc-internal-format
+msgid "__fp16 and no ldrh"
+msgstr "__fp16 而无 ldrh"
+
+#: config/arm/arm.c:1731
+#, gcc-internal-format
+msgid "-mfloat-abi=hard and VFP"
+msgstr "-mfloat-abi=hard 和 VFP"
+
+#: config/arm/arm.c:1755
 #, gcc-internal-format
 msgid "invalid thread pointer option: -mtp=%s"
 msgstr "无效的线程指钟选项:-mtp=%s"
 
-#: config/arm/arm.c:1456
+#: config/arm/arm.c:1768
 #, gcc-internal-format
 msgid "can not use -mtp=cp15 with 16-bit Thumb"
 msgstr "-mtp=cp15 和 16 位 Thumb 不能并用"
 
-#: config/arm/arm.c:1470
+#: config/arm/arm.c:1782
 #, gcc-internal-format
 msgid "structure size boundary can only be set to %s"
 msgstr "结构大小边界只能被设定为 %s"
 
-#: config/arm/arm.c:1476
+#: config/arm/arm.c:1788
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with Thumb"
 msgstr "RTP PIC 与 Thumb 不兼容"
 
-#: config/arm/arm.c:1485
+#: config/arm/arm.c:1797
 #, gcc-internal-format
 msgid "RTP PIC is incompatible with -msingle-pic-base"
 msgstr "RTP PIC 与 -msingle-pic-base 不兼容"
 
-#: config/arm/arm.c:1497
+#: config/arm/arm.c:1809
 #, gcc-internal-format
 msgid "-mpic-register= is useless without -fpic"
 msgstr "-mpic-register= 不与 -fpic 并用时不起作用"
 
-#: config/arm/arm.c:1506
+#: config/arm/arm.c:1818
 #, gcc-internal-format
 msgid "unable to use '%s' for PIC register"
 msgstr "‘%s’不能被用作 PIC 寄存器"
 
-#: config/arm/arm.c:3145 config/arm/arm.c:3163 config/avr/avr.c:4768
-#: config/avr/avr.c:4810 config/bfin/bfin.c:5173 config/h8300/h8300.c:5258
-#: config/i386/i386.c:4134 config/i386/i386.c:25793
-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:783
-#: config/mcore/mcore.c:3034 config/mips/mips.c:1224 config/mips/mips.c:1226
-#: config/rs6000/rs6000.c:20664 config/sh/sh.c:8127 config/sh/sh.c:8145
-#: config/sh/sh.c:8174 config/sh/sh.c:8256 config/sh/sh.c:8279
-#: config/stormy16/stormy16.c:2227 config/v850/v850.c:2048
+#: config/arm/arm.c:1871
 #, gcc-internal-format
-msgid "%qs attribute only applies to functions"
-msgstr "%qs属性只能应用于函数"
+msgid "-freorder-blocks-and-partition not supported on this architecture"
+msgstr "-freorder-blocks-and-partition 不能在此架构下工作"
+
+#: config/arm/arm.c:3633
+#, gcc-internal-format
+msgid "Non-AAPCS derived PCS variant"
+msgstr "不是从 AAPCS 派生出的 PCS 变种"
+
+#: config/arm/arm.c:3635
+#, gcc-internal-format
+msgid "Variadic functions must use the base AAPCS variant"
+msgstr "可变参数函数必须使用基础的 AAPCS 变种"
+
+#: config/arm/arm.c:3654
+#, gcc-internal-format
+msgid "PCS variant"
+msgstr "PCS 变动"
+
+#: config/arm/arm.c:4532 config/arm/arm.c:4550 config/avr/avr.c:4717
+#: config/avr/avr.c:4733 config/bfin/bfin.c:5546 config/bfin/bfin.c:5607
+#: config/bfin/bfin.c:5636 config/h8300/h8300.c:5338 config/i386/i386.c:4409
+#: config/i386/i386.c:25878 config/i386/i386.c:25958
+#: config/m68hc11/m68hc11.c:1168 config/m68k/m68k.c:802
+#: config/mcore/mcore.c:3036 config/mep/mep.c:4061 config/mep/mep.c:4075
+#: config/mep/mep.c:4149 config/rs6000/rs6000.c:23295 config/rx/rx.c:2096
+#: config/sh/sh.c:8680 config/sh/sh.c:8698 config/sh/sh.c:8727
+#: config/sh/sh.c:8809 config/sh/sh.c:8832 config/spu/spu.c:3861
+#: config/stormy16/stormy16.c:2230 config/v850/v850.c:2080
+#, gcc-internal-format
+msgid "%qE attribute only applies to functions"
+msgstr "%qE属性只能用于函数"
 
-#: config/arm/arm.c:14342
+#: config/arm/arm.c:16408
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr "无法计算出栈中参数的真实地址"
 
-#: config/arm/arm.c:15848
+#: config/arm/arm.c:17988
 #, gcc-internal-format
 msgid "argument must be a constant"
 msgstr "实参必须是常数"
 
 #. @@@ better error message
-#: config/arm/arm.c:16156 config/arm/arm.c:16193
+#: config/arm/arm.c:18296 config/arm/arm.c:18333
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "选择子必须是立即数"
 
 #. @@@ better error message
-#: config/arm/arm.c:16236
+#: config/arm/arm.c:18376
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "掩码必须是一个立即数"
 
-#: config/arm/arm.c:16897
+#: config/arm/arm.c:19038
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
 msgstr "高寄存器弹栈时没有可用的低寄存器"
 
-#: config/arm/arm.c:17120
+#: config/arm/arm.c:19261
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr "Thumb 模式中不能编码中断服务进程"
 
-#: config/arm/pe.c:158 config/mcore/mcore.c:2900
+#: config/arm/arm.c:21381
+#, gcc-internal-format
+msgid "the mangling of %<va_list%> has changed in GCC 4.4"
+msgstr "在 GCC 4.4中对%<va_list%>的修饰有变化"
+
+#: config/arm/pe.c:158 config/mcore/mcore.c:2911
 #, gcc-internal-format
 msgid "initialized variable %q+D is marked dllimport"
 msgstr "经初始化的变量%q+D被标记为 dllimport"
@@ -25148,204 +26893,200 @@ msgstr "经初始化的变量%q+D被标记为 dllimport"
 msgid "static variable %q+D is marked dllimport"
 msgstr "经初始化的变量%q+D被标记为 dllimport"
 
-#: config/avr/avr.c:4741
+#: config/avr/avr.c:478
 #, gcc-internal-format
-msgid "only initialized variables can be placed into program memory area"
-msgstr "只有初始化的变量才能放入程序内存区"
+msgid "'builtin_return_address' contains only 2 bytes of address"
+msgstr "‘builtin_return_address’只包含两字节地址"
 
-#: config/avr/avr.c:4785
+#: config/avr/avr.c:4531
 #, gcc-internal-format
 msgid "%qs appears to be a misspelled interrupt handler"
 msgstr "%qs似乎是一个拼写错的中断处理者"
 
-#: config/avr/avr.c:4793
+#: config/avr/avr.c:4540
 #, gcc-internal-format
 msgid "%qs appears to be a misspelled signal handler"
 msgstr "%qs似乎是一个拼写错的信号处理者"
 
-#: config/avr/avr.c:4901
+#: config/avr/avr.c:4690
+#, gcc-internal-format
+msgid "only initialized variables can be placed into program memory area"
+msgstr "只有初始化的变量才能放入程序内存区"
+
+#: config/avr/avr.c:4824
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in the .noinit section"
 msgstr "只有未初始化的变量才能放在 .noinit 节中"
 
-#: config/avr/avr.c:4915
+#: config/avr/avr.c:4838
 #, gcc-internal-format
 msgid "MCU %qs supported for assembler only"
 msgstr "MCU%qs只支持汇编器"
 
-#: config/avr/avr.h:759
-#, gcc-internal-format
-msgid "trampolines not supported"
-msgstr "不支持蹦床"
-
-#: config/bfin/bfin.c:2479 config/m68k/m68k.c:500
+#: config/bfin/bfin.c:2554 config/m68k/m68k.c:519
 #, gcc-internal-format
 msgid "-mshared-library-id=%s is not between 0 and %d"
 msgstr "-mshared-library-id=%s 不在 0 和 %d 之间"
 
-#: config/bfin/bfin.c:2499
+#: config/bfin/bfin.c:2574
 #, gcc-internal-format
 msgid "-mcpu=%s is not valid"
 msgstr "-mcpu=%s 无效"
 
-#: config/bfin/bfin.c:2535
+#: config/bfin/bfin.c:2610
 #, gcc-internal-format
 msgid "-mcpu=%s has invalid silicon revision"
 msgstr "-mcpu=%s 芯片版本不正确"
 
-#: config/bfin/bfin.c:2600
+#: config/bfin/bfin.c:2675
 #, gcc-internal-format
 msgid "-mshared-library-id= specified without -mid-shared-library"
 msgstr "指定了 -mshared-library-id= 却没有使用 -mid-shared-library"
 
-#: config/bfin/bfin.c:2603
+#: config/bfin/bfin.c:2678
 #, gcc-internal-format
 msgid "Can't use multiple stack checking methods together."
 msgstr "不能同时使用多个堆栈检查方法。"
 
-#: config/bfin/bfin.c:2606
+#: config/bfin/bfin.c:2681
 #, gcc-internal-format
 msgid "ID shared libraries and FD-PIC mode can't be used together."
 msgstr "ID 共享库和 FD-PIC 模式不能一起使用"
 
-#: config/bfin/bfin.c:2611 config/m68k/m68k.c:608
+#: config/bfin/bfin.c:2686 config/m68k/m68k.c:627
 #, gcc-internal-format
 msgid "cannot specify both -msep-data and -mid-shared-library"
 msgstr "不能同时指定 -msep-data 和 -mid-shared-library"
 
-#: config/bfin/bfin.c:2631
+#: config/bfin/bfin.c:2706
 #, gcc-internal-format
 msgid "-mmulticore can only be used with BF561"
-msgstr ""
+msgstr "-mmulticore 只能用于 BF561"
 
-#: config/bfin/bfin.c:2634
+#: config/bfin/bfin.c:2709
 #, gcc-internal-format
 msgid "-mcorea should be used with -mmulticore"
 msgstr "-mcorea 必须与 -mmulticore 一起使用"
 
-#: config/bfin/bfin.c:2637
+#: config/bfin/bfin.c:2712
 #, gcc-internal-format
 msgid "-mcoreb should be used with -mmulticore"
 msgstr "-mcoreb 必须与 -mmulticore 一起使用"
 
-#: config/bfin/bfin.c:2640
+#: config/bfin/bfin.c:2715
 #, gcc-internal-format
 msgid "-mcorea and -mcoreb can't be used together"
 msgstr "-mcorea 和 -mcoreb 不能一起使用"
 
-#: config/bfin/bfin.c:5178
+#: config/bfin/bfin.c:5551
 #, gcc-internal-format
 msgid "multiple function type attributes specified"
 msgstr "指定了多个函数类型属性"
 
-#: config/bfin/bfin.c:5234 config/bfin/bfin.c:5263 config/spu/spu.c:3587
-#, gcc-internal-format
-msgid "`%s' attribute only applies to functions"
-msgstr "‘%s’属性只能用于函数"
-
-#: config/bfin/bfin.c:5245
+#: config/bfin/bfin.c:5618
 #, gcc-internal-format
 msgid "can't apply both longcall and shortcall attributes to the same function"
 msgstr "同一个函数不能既有 longcall 又有 shortcall 属性"
 
-#: config/bfin/bfin.c:5295
+#: config/bfin/bfin.c:5668 config/i386/winnt.c:59 config/mep/mep.c:3965
+#: config/mep/mep.c:4103
 #, gcc-internal-format
-msgid "`%s' attribute only applies to variables"
-msgstr "‘%s’属性只能为变量使用"
+msgid "%qE attribute only applies to variables"
+msgstr "属性%qE只能用于变量"
 
-#: config/bfin/bfin.c:5302
+#: config/bfin/bfin.c:5675
 #, gcc-internal-format
-msgid "`%s' attribute cannot be specified for local variables"
-msgstr "不能为局部变量指定‘%s’属性"
+msgid "%qE attribute cannot be specified for local variables"
+msgstr "不能为局部变量指定%qE属性"
 
 #. This function is for retrieving a part of an instruction name for
 #. an operator, for immediate output.  If that ever happens for
 #. MULT, we need to apply TARGET_MUL_BUG in the caller.  Make sure
 #. we notice.
-#: config/cris/cris.c:447
+#: config/cris/cris.c:471
 #, gcc-internal-format
 msgid "MULT case in cris_op_str"
 msgstr "cris_op_str 中的 MULT 实例"
 
-#: config/cris/cris.c:837
+#: config/cris/cris.c:861
 #, gcc-internal-format
 msgid "invalid use of ':' modifier"
 msgstr "错误地使用了‘:’修饰符"
 
-#: config/cris/cris.c:1024
+#: config/cris/cris.c:1048 config/moxie/moxie.c:169
 #, gcc-internal-format
 msgid "internal error: bad register: %d"
 msgstr "内部错误:错误的寄存器:%dt"
 
-#: config/cris/cris.c:1586
+#: config/cris/cris.c:1615
 #, gcc-internal-format
 msgid "internal error: sideeffect-insn affecting main effect"
 msgstr "内部错误:副作用指令影响到主要作用"
 
-#: config/cris/cris.c:1683
+#: config/cris/cris.c:1712
 #, gcc-internal-format
 msgid "unknown cc_attr value"
 msgstr "未知的 cc_attr 值"
 
 #. If we get here, the caller got its initial tests wrong.
-#: config/cris/cris.c:2062
+#: config/cris/cris.c:2096
 #, gcc-internal-format
 msgid "internal error: cris_side_effect_mode_ok with bad operands"
-msgstr ""
+msgstr "内部错误: cris_side_effect_mode_ok 操作数错误"
 
-#: config/cris/cris.c:2354
+#: config/cris/cris.c:2388
 #, gcc-internal-format
 msgid "-max-stackframe=%d is not usable, not between 0 and %d"
 msgstr "-max-stackframe=%d 不可用,不在 0 和 %d 之间"
 
-#: config/cris/cris.c:2382
+#: config/cris/cris.c:2416
 #, gcc-internal-format
 msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
 msgstr "-march= 或 -mcpu= 中未知的 CRIS CPU 版本设定:%s"
 
-#: config/cris/cris.c:2418
+#: config/cris/cris.c:2452
 #, gcc-internal-format
 msgid "unknown CRIS cpu version specification in -mtune= : %s"
 msgstr "-mtune= 中未知的 CRIS CPU 版本设定:%s"
 
-#: config/cris/cris.c:2439
+#: config/cris/cris.c:2473
 #, gcc-internal-format
 msgid "-fPIC and -fpic are not supported in this configuration"
 msgstr "-fPIC 和 -fpic 在此配置下不受支持"
 
-#: config/cris/cris.c:2454
+#: config/cris/cris.c:2488
 #, gcc-internal-format
 msgid "that particular -g option is invalid with -maout and -melinux"
 msgstr "此 -g 选项与 -maout 和 -melinux 并用时无效"
 
-#: config/cris/cris.c:2680
+#: config/cris/cris.c:2714
 #, gcc-internal-format
 msgid "Unknown src"
 msgstr "未知源"
 
-#: config/cris/cris.c:2741
+#: config/cris/cris.c:2775
 #, gcc-internal-format
 msgid "Unknown dest"
 msgstr "未知目标"
 
-#: config/cris/cris.c:3026
+#: config/cris/cris.c:3060
 #, gcc-internal-format
 msgid "stackframe too big: %d bytes"
-msgstr "堆栈框架太大:%d 字节"
+msgstr "栈帧太大:%d 字节"
 
-#: config/cris/cris.c:3520 config/cris/cris.c:3548
+#: config/cris/cris.c:3554 config/cris/cris.c:3582
 #, gcc-internal-format
 msgid "expand_binop failed in movsi got"
-msgstr ""
+msgstr "在 movsi got 中 expand_binop 失败"
 
-#: config/cris/cris.c:3630
+#: config/cris/cris.c:3664
 #, gcc-internal-format
 msgid "emitting PIC operand, but PIC register isn't set up"
 msgstr "生成 PIC 操作数,但尚未设置 PIC 寄存器"
 
 #. Definitions for GCC.  Part of the machine description for CRIS.
-#. Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
-#. Free Software Foundation, Inc.
+#. Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008,
+#. 2009 Free Software Foundation, Inc.
 #. Contributed by Axis Communications.  Written by Hans-Peter Nilsson.
 #.
 #. This file is part of GCC.
@@ -25392,87 +27133,82 @@ msgstr "CRIS-port 断言错误:"
 #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
 #. TARGET_ASM_FUNCTION_EPILOGUE.
 #. Node: Profiling
-#: config/cris/cris.h:952
+#: config/cris/cris.h:929
 #, gcc-internal-format
 msgid "no FUNCTION_PROFILER for CRIS"
 msgstr "CRIS 没有 FUNCTION_PROFILER"
 
-#: config/crx/crx.h:367
+#: config/crx/crx.h:363
 #, gcc-internal-format
 msgid "Profiler support for CRX"
 msgstr "对 CRX 的取样支持"
 
-#: config/crx/crx.h:378
-#, gcc-internal-format
-msgid "Trampoline support for CRX"
-msgstr "对 CRX 的蹦床支持"
-
-#: config/frv/frv.c:8668
+#: config/frv/frv.c:8732
 #, gcc-internal-format
 msgid "accumulator is not a constant integer"
 msgstr "累加数不是一个整常量"
 
-#: config/frv/frv.c:8673
+#: config/frv/frv.c:8737
 #, gcc-internal-format
 msgid "accumulator number is out of bounds"
 msgstr "累加器个数越界"
 
-#: config/frv/frv.c:8684
+#: config/frv/frv.c:8748
 #, gcc-internal-format
 msgid "inappropriate accumulator for %qs"
 msgstr "%qs的累加器不合适"
 
-#: config/frv/frv.c:8761
+#: config/frv/frv.c:8825
 #, gcc-internal-format
 msgid "invalid IACC argument"
 msgstr "无效的 IACC 实参"
 
-#: config/frv/frv.c:8784
+#: config/frv/frv.c:8848
 #, gcc-internal-format
 msgid "%qs expects a constant argument"
 msgstr "%qs需要一个常量实参"
 
-#: config/frv/frv.c:8789
+#: config/frv/frv.c:8853
 #, gcc-internal-format
 msgid "constant argument out of range for %qs"
 msgstr "常量实参超过%qs的范围"
 
-#: config/frv/frv.c:9270
+#: config/frv/frv.c:9334
 #, gcc-internal-format
 msgid "media functions are not available unless -mmedia is used"
 msgstr "多媒体函数只在使用-mmedia 的情况下可用"
 
-#: config/frv/frv.c:9282
+#: config/frv/frv.c:9346
 #, gcc-internal-format
 msgid "this media function is only available on the fr500"
 msgstr "此多媒体函数只在 fr500 上可用"
 
-#: config/frv/frv.c:9310
+#: config/frv/frv.c:9374
 #, gcc-internal-format
 msgid "this media function is only available on the fr400 and fr550"
 msgstr "此多媒体函数只在 fr400 和 fr550 上可用"
 
-#: config/frv/frv.c:9329
+#: config/frv/frv.c:9393
 #, gcc-internal-format
 msgid "this builtin function is only available on the fr405 and fr450"
 msgstr "此内建函数只在 fr405 和 fr450 上可用"
 
-#: config/frv/frv.c:9338
+#: config/frv/frv.c:9402
 #, gcc-internal-format
 msgid "this builtin function is only available on the fr500 and fr550"
 msgstr "此内建函数只在 fr500 和 fr550 上可用"
 
-#: config/frv/frv.c:9350
+#: config/frv/frv.c:9414
 #, gcc-internal-format
 msgid "this builtin function is only available on the fr450"
 msgstr "此内建函数只在 fr450 上可用"
 
-#: config/h8300/h8300.c:331
+#: config/h8300/h8300.c:332
 #, gcc-internal-format
 msgid "-ms2600 is used without -ms"
 msgstr "-ms2600 未与 -ms 一起使用"
 
-#: config/h8300/h8300.c:337
+#: config/h8300/h8300.c:338
 #, gcc-internal-format
 msgid "-mn is used without -mh or -ms"
 msgstr "-mn 未与 -mh 或 -ms 一起使用"
@@ -25487,372 +27223,433 @@ msgstr "无法扩展 PCH 文件:%m"
 msgid "can't set position in PCH file: %m"
 msgstr "不能在 PCH 文件中设定位置:%m"
 
-#: config/i386/i386.c:2656 config/i386/i386.c:2882
+#: config/i386/i386.c:2824 config/i386/i386.c:3075
 #, gcc-internal-format
 msgid "bad value (%s) for %stune=%s %s"
 msgstr "%2$stune=%3$s%4$s所带参数(%1$s)不正确"
 
-#: config/i386/i386.c:2698
+#: config/i386/i386.c:2868
 #, gcc-internal-format
 msgid "bad value (%s) for %sstringop-strategy=%s %s"
 msgstr "%2$sstringop-strategy=%3$s %4$s所带参数(%1$s)不正确"
 
-#: config/i386/i386.c:2702
+#: config/i386/i386.c:2872
 #, gcc-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等。"
 
-#: config/i386/i386.c:2712
+#: config/i386/i386.c:2882
 #, gcc-internal-format
 msgid "generic CPU can be used only for %stune=%s %s"
 msgstr "generic 只能用在%stune%s %s中"
 
-#: config/i386/i386.c:2715 config/i386/i386.c:2843
+#: config/i386/i386.c:2885 config/i386/i386.c:3036
 #, gcc-internal-format
 msgid "bad value (%s) for %sarch=%s %s"
 msgstr "%2$sarch=%3$s %4$s所带参数(%1$s)不正确"
 
-#: config/i386/i386.c:2727
+#: config/i386/i386.c:2896
+#, gcc-internal-format
+msgid "unknown ABI (%s) for %sabi=%s %s"
+msgstr "ABI (%s)未知,%sabi=%s %s"
+
+#: config/i386/i386.c:2911
 #, gcc-internal-format
 msgid "code model %s does not support PIC mode"
 msgstr "代码模式 %s 在 PIC 模式下不受支持"
 
-#: config/i386/i386.c:2733
+#: config/i386/i386.c:2917
 #, gcc-internal-format
 msgid "bad value (%s) for %scmodel=%s %s"
 msgstr "%2$scmodel=%3$s %4$s所带参数(%1$s)不正确"
 
-#: config/i386/i386.c:2757
+#: config/i386/i386.c:2941
 #, gcc-internal-format
 msgid "bad value (%s) for %sasm=%s %s"
 msgstr "%2$sasm=%3$s %4$s所带参数(%1$s)不正确"
 
-#: config/i386/i386.c:2761
+#: config/i386/i386.c:2945
 #, gcc-internal-format
 msgid "code model %qs not supported in the %s bit mode"
 msgstr "代码模式%qs在 %s 位模式下不受支持"
 
-#: config/i386/i386.c:2764
+#: config/i386/i386.c:2948
 #, gcc-internal-format
 msgid "%i-bit mode not compiled in"
 msgstr "未编译入对 %i 位模式的支持"
 
-#: config/i386/i386.c:2776 config/i386/i386.c:2868
+#: config/i386/i386.c:2960 config/i386/i386.c:3061
 #, gcc-internal-format
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr "您选择的 CPU 不支持 x86-64 指令集"
 
-#: config/i386/i386.c:2901
+#: config/i386/i386.c:3094
 #, gcc-internal-format
 msgid "%sregparm%s is ignored in 64-bit mode"
 msgstr "%sregparm%s 在 64 位模式下被忽略"
 
-#: config/i386/i386.c:2904
+#: config/i386/i386.c:3097
 #, gcc-internal-format
 msgid "%sregparm=%d%s is not between 0 and %d"
 msgstr "%sregparm=%d%s 不在 0 和 %d 之间"
 
-#: config/i386/i386.c:2917
+#: config/i386/i386.c:3110
 #, gcc-internal-format
-msgid "%salign-loops%s is obsolete, use %salign-loops%s"
-msgstr "%salign-loops%s 已经过时,请使用 %salign-loops%s"
+msgid "%salign-loops%s is obsolete, use -falign-loops%s"
+msgstr "%salign-loops%s 已经过时,请使用 -falign-loops%s"
 
-#: config/i386/i386.c:2923 config/i386/i386.c:2938 config/i386/i386.c:2953
+#: config/i386/i386.c:3116 config/i386/i386.c:3131 config/i386/i386.c:3146
 #, gcc-internal-format
 msgid "%salign-loops=%d%s is not between 0 and %d"
 msgstr "%salign-loops=%d%s 不在 0 和 %d 之间"
 
-#: config/i386/i386.c:2932
+#: config/i386/i386.c:3125
 #, gcc-internal-format
-msgid "%salign-jumps%s is obsolete, use %salign-jumps%s"
-msgstr "%salign-jumps%s 已经过时,请使用 %salign-jumps%s"
+msgid "%salign-jumps%s is obsolete, use -falign-jumps%s"
+msgstr "%salign-jumps%s 已经过时,请使用 -falign-jumps%s"
 
-#: config/i386/i386.c:2947
+#: config/i386/i386.c:3140
 #, gcc-internal-format
-msgid "%salign-functions%s is obsolete, use %salign-functions%s"
-msgstr "%salign-functions%s 已过时,请使用 %salign-functions%s"
+msgid "%salign-functions%s is obsolete, use -falign-functions%s"
+msgstr "%salign-functions%s 已过时,请使用 -falign-functions%s"
 
-#: config/i386/i386.c:2982
+#: config/i386/i386.c:3175
 #, gcc-internal-format
 msgid "%sbranch-cost=%d%s is not between 0 and 5"
 msgstr "%sbranch-cost=%d%s不在 0 和 5 之间"
 
-#: config/i386/i386.c:2990
+#: config/i386/i386.c:3183
 #, gcc-internal-format
 msgid "%slarge-data-threshold=%d%s is negative"
 msgstr "%slarge-data-threshold=%d%s 为负"
 
-#: config/i386/i386.c:3004
+#: config/i386/i386.c:3197
 #, gcc-internal-format
 msgid "bad value (%s) for %stls-dialect=%s %s"
 msgstr "为 %2$stls-dialect=%3$s %4$s指定了错误的值(%1$s)"
 
-#: config/i386/i386.c:3012
+#: config/i386/i386.c:3205
 #, gcc-internal-format
 msgid "pc%d is not valid precision setting (32, 64 or 80)"
 msgstr "pc%d 不是一个有效的精度设定(32、64 或 80)"
 
-#: config/i386/i386.c:3028
+#: config/i386/i386.c:3221
 #, gcc-internal-format
 msgid "%srtd%s is ignored in 64bit mode"
 msgstr "%srtd%s 在 64 位模式下被忽略"
 
-#: config/i386/i386.c:3083
+#: config/i386/i386.c:3276
 #, gcc-internal-format
 msgid "%spreferred-stack-boundary=%d%s is not between %d and 12"
 msgstr "%spreferred-stack-boundary=%d%s 不在 %d 和 12 之间"
 
-#: config/i386/i386.c:3104
+#: config/i386/i386.c:3295
 #, gcc-internal-format
 msgid "-mincoming-stack-boundary=%d is not between %d and 12"
 msgstr "-mincoming-stack-boundary=%d 不在 %d 和 12 之间"
 
-#: config/i386/i386.c:3117
+#: config/i386/i386.c:3308
 #, gcc-internal-format
 msgid "%ssseregparm%s used without SSE enabled"
 msgstr "使用了 %ssseregparm%s 却没有启用 SEE"
 
-#: config/i386/i386.c:3128 config/i386/i386.c:3142
+#: config/i386/i386.c:3319 config/i386/i386.c:3333
 #, gcc-internal-format
 msgid "SSE instruction set disabled, using 387 arithmetics"
 msgstr "SSE 指令集已禁用,使用 387 指令"
 
-#: config/i386/i386.c:3147
+#: config/i386/i386.c:3338
 #, gcc-internal-format
 msgid "387 instruction set disabled, using SSE arithmetics"
 msgstr "387 指令集已禁用,使用 SSE 指令"
 
-#: config/i386/i386.c:3154
+#: config/i386/i386.c:3345
 #, gcc-internal-format
 msgid "bad value (%s) for %sfpmath=%s %s"
 msgstr "%2$sfpmath=%3$s %4$s的值(%1$s)错误"
 
-#: config/i386/i386.c:3170
+#: config/i386/i386.c:3361
 #, gcc-internal-format
 msgid "unknown vectorization library ABI type (%s) for %sveclibabi=%s %s"
-msgstr "%2$sveclibabi=%3$s %4$s量库 ABI 类型(%1$s)未知"
+msgstr "%2$sveclibabi=%3$s %4$s量库 ABI 类型(%1$s)未知"
 
-#: config/i386/i386.c:3190
+#: config/i386/i386.c:3381
 #, gcc-internal-format
 msgid "unwind tables currently require either a frame pointer or %saccumulate-outgoing-args%s for correctness"
 msgstr "解卷表目前需要框架指针或 %saccumulate-outgoing-args%s 来保证正确性"
 
-#: config/i386/i386.c:3203
+#: config/i386/i386.c:3394
 #, gcc-internal-format
 msgid "stack probing requires %saccumulate-outgoing-args%s for correctness"
 msgstr "堆栈探针目前需要框架指针或 %saccumulate-outgoing-args%s 来保证正确性"
 
-#: config/i386/i386.c:3540
+#: config/i386/i386.c:3805
 #, gcc-internal-format
 msgid "attribute(target(\"%s\")) is unknown"
 msgstr "attribute(target(\"%s\"))未知"
 
-#: config/i386/i386.c:3562
+#: config/i386/i386.c:3827
 #, gcc-internal-format
 msgid "option(\"%s\") was already specified"
 msgstr "option(\"%s\")已经被指定"
 
-#: config/i386/i386.c:4147 config/i386/i386.c:4191
+#: config/i386/i386.c:4422 config/i386/i386.c:4467
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr "fastcall 和 regparm 属性互不兼容"
 
-#: config/i386/i386.c:4154
+#: config/i386/i386.c:4429
 #, gcc-internal-format
-msgid "%qs attribute requires an integer constant argument"
-msgstr "%qs属性需要一个整常量作为实参"
+msgid "%qE attribute requires an integer constant argument"
+msgstr "%qE属性需要一个整常量作为实参"
 
-#: config/i386/i386.c:4160
+#: config/i386/i386.c:4435
 #, gcc-internal-format
-msgid "argument to %qs attribute larger than %d"
-msgstr "%qs属性的实参大于 %d"
+msgid "argument to %qE attribute larger than %d"
+msgstr "%qE属性的实参大于 %d"
 
-#: config/i386/i386.c:4183 config/i386/i386.c:4218
+#: config/i386/i386.c:4459 config/i386/i386.c:4494
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "fastcall 和 cdecl 属性互不兼容"
 
-#: config/i386/i386.c:4187
+#: config/i386/i386.c:4463
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr "fastcall 和 stdcall 属性互不兼容"
 
-#: config/i386/i386.c:4201 config/i386/i386.c:4214
+#: config/i386/i386.c:4477 config/i386/i386.c:4490
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "stdcall 和 cdecl 属性互不兼容"
 
-#: config/i386/i386.c:4205
+#: config/i386/i386.c:4481
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "stdcall 和 fastcall 属性互不兼容"
 
-#: config/i386/i386.c:4294
-#, gcc-internal-format
-msgid "nested functions are limited to 2 register parameters"
-msgstr "嵌套函数被限制使用两个寄存器形参"
-
-#: config/i386/i386.c:4378
+#: config/i386/i386.c:4624
 #, gcc-internal-format
 msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "带属性 sseregparm 调用%qD却没有启用 SSE/SSE2"
 
-#: config/i386/i386.c:4381
+#: config/i386/i386.c:4627
 #, gcc-internal-format
 msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "带属性 sseregparm 调用%qT却没有启用 SSE/SSE2"
 
-#: config/i386/i386.c:5202
+#: config/i386/i386.c:4832
+#, gcc-internal-format
+msgid "ms_hook_prologue is not compatible with nested function"
+msgstr "ms_hook_prologue 与嵌套函数不兼容"
+
+#: config/i386/i386.c:4905
+#, gcc-internal-format
+msgid "ms_abi attribute requires -maccumulate-outgoing-args or subtarget optimization implying it"
+msgstr "ms_abi 属性需要 -maccumulate-outgoing-args 或隐含它的子目标优化"
+
+#: config/i386/i386.c:5024
+#, gcc-internal-format
+msgid "AVX vector argument without AVX enabled changes the ABI"
+msgstr "没有启用 AVX,却出现了 AVX 向量实参,这改变了 ABI"
+
+#: config/i386/i386.c:5206
+#, gcc-internal-format
+msgid "The ABI of passing struct with a flexible array member has changed in GCC 4.4"
+msgstr "在 GCC 4.4 中传递带有一个可变数组成员的结构的 ABI 有了改变"
+
+#: config/i386/i386.c:5322
+#, gcc-internal-format
+msgid "The ABI of passing union with long double has changed in GCC 4.4"
+msgstr "在 GCC 4.4 中传递有 long double 的联合的 ABI 有改变"
+
+#: config/i386/i386.c:5437
+#, gcc-internal-format
+msgid "The ABI of passing structure with complex float member has changed in GCC 4.4"
+msgstr "在 GCC 4.4 中传递带有浮点复数成员结构的 ABI 有了改变"
+
+#: config/i386/i386.c:5582
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr "已禁用 SSE 却在 SSE 寄存器中返回"
 
-#: config/i386/i386.c:5208
+#: config/i386/i386.c:5588
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr "已禁用 SSE 却在 SSE 寄存器中传递参数"
 
-#: config/i386/i386.c:5224
+#: config/i386/i386.c:5604
 #, gcc-internal-format
 msgid "x87 register return with x87 disabled"
 msgstr "已禁用 x87 却在 x87 寄存器中返回"
 
-#: config/i386/i386.c:5559
+#: config/i386/i386.c:5973
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
-msgstr "没有启用 SSE,却出现了 SSE 矢量实参,这改变了 ABI"
-
-#: config/i386/i386.c:5581 config/i386/i386.c:5649
-#, gcc-internal-format
-msgid "AVX vector argument without AVX enabled changes the ABI"
-msgstr "没有启用 AVX,却出现了 AVX 矢量实参,这改变了 ABI"
+msgstr "没有启用 SSE,却出现了 SSE 向量实参,这改变了 ABI"
 
-#: config/i386/i386.c:5600
+#: config/i386/i386.c:6010
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
-msgstr "没有启用 MMX,却出现了 MMX 量实参,这改变了 ABI"
+msgstr "没有启用 MMX,却出现了 MMX 量实参,这改变了 ABI"
 
-#: config/i386/i386.c:6196
+#: config/i386/i386.c:6612
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
-msgstr "没有启用 SSE,却有 SSE 量返回值,这改变了 ABI"
+msgstr "没有启用 SSE,却有 SSE 量返回值,这改变了 ABI"
 
-#: config/i386/i386.c:6206
+#: config/i386/i386.c:6622
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
-msgstr "没有启用 MMX却返回 MMX 量,这改变了 ABI"
+msgstr "没有启用 MMX却返回 MMX 量,这改变了 ABI"
 
-#: config/i386/i386.c:10314
+#: config/i386/i386.c:11192
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr "扩展的寄存器没有高半部分"
 
-#: config/i386/i386.c:10329
+#: config/i386/i386.c:11207
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr "扩展的寄存器不支持的操作数大小"
 
-#: config/i386/i386.c:23000
+#: config/i386/i386.c:11452
+#, gcc-internal-format
+msgid "non-integer operand used with operand code '%c'"
+msgstr "非整数操作数使用了操作数代码‘%c’"
+
+#: config/i386/i386.c:22882
 #, gcc-internal-format
 msgid "last argument must be an immediate"
 msgstr "最后一个实参必须是一个立即数"
 
-#: config/i386/i386.c:23293
+#: config/i386/i386.c:23175
 #, gcc-internal-format
 msgid "the fifth argument must be a 8-bit immediate"
 msgstr "第五个实参必须是一个 8 位立即数"
 
-#: config/i386/i386.c:23388
+#: config/i386/i386.c:23270
 #, gcc-internal-format
 msgid "the third argument must be a 8-bit immediate"
 msgstr "第三个实参必须是一个 8 位立即数"
 
-#: config/i386/i386.c:23735
+#: config/i386/i386.c:23616
 #, gcc-internal-format
 msgid "the last argument must be a 4-bit immediate"
 msgstr "最后一个实参必须是一个 4 位立即数"
 
-#: config/i386/i386.c:23744
+#: config/i386/i386.c:23621
 #, gcc-internal-format
 msgid "the last argument must be a 2-bit immediate"
 msgstr "最后一个实参必须是一个 2 位立即数"
 
-#: config/i386/i386.c:23753
+#: config/i386/i386.c:23630
 #, gcc-internal-format
 msgid "the last argument must be a 1-bit immediate"
 msgstr "最后一个实参必须是一个 1 位立即数"
 
-#: config/i386/i386.c:23762
+#: config/i386/i386.c:23639
 #, gcc-internal-format
 msgid "the last argument must be a 5-bit immediate"
 msgstr "最后一个实参必须是一个 5 位立即数"
 
-#: config/i386/i386.c:23771
+#: config/i386/i386.c:23648
 #, gcc-internal-format
 msgid "the next to last argument must be an 8-bit immediate"
 msgstr "倒数第二个实参必须是一个 8 位立即数"
 
-#: config/i386/i386.c:23775 config/i386/i386.c:23952
+#: config/i386/i386.c:23652 config/i386/i386.c:23846
 #, gcc-internal-format
 msgid "the last argument must be an 8-bit immediate"
 msgstr "最后一个实参必须是一个 8 位立即数"
 
-#: config/i386/i386.c:24010 config/rs6000/rs6000.c:8519
+#: config/i386/i386.c:23907 config/rs6000/rs6000.c:10161
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr "选择子必须是 0 到 %wi 间的整常量"
 
-#: config/i386/i386.c:24153
+#: config/i386/i386.c:24050
 #, gcc-internal-format
 msgid "%qE needs unknown isa option"
 msgstr "%qE需要未知的 ISA 选项"
 
-#: config/i386/i386.c:24157
+#: config/i386/i386.c:24054
 #, gcc-internal-format
 msgid "%qE needs isa option %s"
 msgstr "%qE需要 ISA 选项 %s"
 
-#: config/i386/i386.c:25800
+#: config/i386/i386.c:25885
 #, gcc-internal-format
-msgid "%qs attribute only available for 64-bit"
-msgstr "%qs属性只能在 64 位下使用"
+msgid "%qE attribute only available for 64-bit"
+msgstr "%qE属性只能在 64 位下使用"
 
-#: config/i386/i386.c:25811 config/i386/i386.c:25820
+#: config/i386/i386.c:25896 config/i386/i386.c:25905
 #, gcc-internal-format
 msgid "ms_abi and sysv_abi attributes are not compatible"
 msgstr "ms_abi 和 sysv_abi 属性互不兼容"
 
-#: config/i386/i386.c:25858 config/rs6000/rs6000.c:20747
+#: config/i386/i386.c:25943 config/rs6000/rs6000.c:23378
 #, gcc-internal-format
-msgid "%qs incompatible attribute ignored"
-msgstr "%qs忽略不兼容的属性"
+msgid "%qE incompatible attribute ignored"
+msgstr "%qE不兼容的属性已被忽略"
 
-#: config/i386/netware.c:253
+#: config/i386/i386.c:25966
 #, gcc-internal-format
-msgid "-fPIC and -fpic are not supported for this target"
-msgstr "-fPIC 和 -fpic 不被此目标所支持"
+msgid "%qE attribute only available for 32-bit"
+msgstr "%qE属性只能在 32 位下使用"
 
-#: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+#: config/i386/i386.c:25972
 #, gcc-internal-format
-msgid "definition of static data member %q+D of dllimport'd class"
-msgstr "为 dllimport 类定义了静态数据成员%q+D"
+msgid "ms_hook_prologue attribute needs assembler swap suffix support"
+msgstr "ms_hook_prologue 需要汇编器支持 .s 后缀"
+
+#: config/i386/i386.c:30067
+#, gcc-internal-format
+msgid "vector permutation requires vector constant"
+msgstr "向量置换需要向量常量"
+
+#: config/i386/i386.c:30077
+#, gcc-internal-format
+msgid "invalid vector permutation constant"
+msgstr "无效的向量置换常量"
+
+#: config/i386/i386.c:30125
+#, gcc-internal-format
+msgid "vector permutation (%d %d)"
+msgstr "向量置换(%d %d)"
 
-#: config/i386/winnt.c:58
+#: config/i386/i386.c:30128
 #, gcc-internal-format
-msgid "%qs attribute only applies to variables"
-msgstr "%qs属性只能为变量使用"
+msgid "vector permutation (%d %d %d %d)"
+msgstr "向量置换(%d %d %d %d)"
 
-#: config/i386/winnt.c:80
+#: config/i386/i386.c:30132
 #, gcc-internal-format
-msgid "%qs attribute applies only to initialized variables with external linkage"
-msgstr "%qs属性只能为具有外部链接的已初始化的变量使用"
+msgid "vector permutation (%d %d %d %d %d %d %d %d)"
+msgstr "向量置换(%d %d %d %d %d %d %d %d)"
 
-#: config/i386/winnt.c:297
+#: config/i386/i386.c:30137
+#, gcc-internal-format
+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)"
+
+#: config/i386/winnt.c:81
+#, gcc-internal-format
+msgid "%qE attribute applies only to initialized variables with external linkage"
+msgstr "%qE属性只能为具有外部链接的已初始化的变量使用"
+
+#: config/i386/winnt.c:143 config/sh/symbian-c.c:96
+#: config/sh/symbian-cxx.c:120
+#, gcc-internal-format
+msgid "definition of static data member %q+D of dllimport'd class"
+msgstr "为 dllimport 类定义了静态数据成员%q+D"
+
+#: config/i386/winnt.c:292
 #, gcc-internal-format
 msgid "%q+D:'selectany' attribute applies only to initialized objects"
 msgstr "%q+D:‘selectany’属性只对已初始化的对象有效"
 
-#: config/i386/winnt.c:454
+#: config/i386/winnt.c:440
 #, gcc-internal-format
 msgid "%q+D causes a section type conflict"
 msgstr "%q+D导致一个节类型冲突"
@@ -25872,84 +27669,91 @@ msgstr "-mbnu210 被忽略(选项已过时)"
 msgid "ms-bitfields not supported for objc"
 msgstr "objc 不支持 ms-bitfields"
 
+#. Don't allow flag_pic to propagate since invalid relocations will
+#. result otherwise.
+#: config/i386/netware.h:81
+#, gcc-internal-format
+msgid "-fPIC and -fpic are not supported for this target"
+msgstr "-fPIC 和 -fpic 不被此目标所支持"
+
 #: config/ia64/ia64-c.c:51
 #, gcc-internal-format
 msgid "malformed #pragma builtin"
 msgstr "#pragma builtin 格式错误"
 
-#: config/ia64/ia64.c:587 config/m32r/m32r.c:373
+#: config/ia64/ia64.c:601
 #, gcc-internal-format
-msgid "invalid argument of %qs attribute"
-msgstr "属性%qs的参数无效"
+msgid "invalid argument of %qE attribute"
+msgstr "属性%qE的参数无效"
 
-#: config/ia64/ia64.c:599
+#: config/ia64/ia64.c:614
 #, gcc-internal-format
-msgid "%Jan address area attribute cannot be specified for local variables"
-msgstr "%J不能为局部变量指定地址区域属性"
+msgid "an address area attribute cannot be specified for local variables"
+msgstr "不能为局部变量指定地址区域属性"
 
-#: config/ia64/ia64.c:606
+#: config/ia64/ia64.c:621
 #, gcc-internal-format
 msgid "address area of %q+D conflicts with previous declaration"
 msgstr "%q+D的数据区域与先前的声明冲突"
 
-#: config/ia64/ia64.c:613
+#: config/ia64/ia64.c:629
+#, gcc-internal-format
+msgid "address area attribute cannot be specified for functions"
+msgstr "不能为函数指定地址区域属性"
+
+#: config/ia64/ia64.c:670
 #, gcc-internal-format
-msgid "%Jaddress area attribute cannot be specified for functions"
-msgstr "%J不能为函数指定地址区域属性"
+msgid "%qE attribute requires a string constant argument"
+msgstr "%qE属性需要一个字符串常量作为实参"
 
-#: config/ia64/ia64.c:5163 config/pa/pa.c:350 config/sh/sh.c:7950
-#: config/spu/spu.c:4475
+#: config/ia64/ia64.c:5391 config/pa/pa.c:368 config/sh/sh.c:8528
+#: config/spu/spu.c:5051
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr "-mfixed-range 值必须有“寄存器1-寄存器2”的形式"
 
-#: config/ia64/ia64.c:5190 config/pa/pa.c:377 config/sh/sh.c:7976
-#: config/spu/spu.c:4501
+#: config/ia64/ia64.c:5418 config/pa/pa.c:395 config/sh/sh.c:8554
+#: config/spu/spu.c:5077
 #, gcc-internal-format
 msgid "%s-%s is an empty range"
 msgstr "%s-%s 是一个空的范围"
 
-#: config/ia64/ia64.c:5218
+#: config/ia64/ia64.c:5446
 #, gcc-internal-format
 msgid "bad value %<%s%> for -mtls-size= switch"
 msgstr "-mtls-size= 开关的值%<%s%>无效"
 
-#: config/ia64/ia64.c:5246
+#: config/ia64/ia64.c:5471
 #, gcc-internal-format
 msgid "bad value %<%s%> for -mtune= switch"
 msgstr "-mtune= 所带参数%<%s%>不正确"
 
-#: config/ia64/ia64.c:5265
-#, gcc-internal-format
-msgid "not yet implemented: latency-optimized inline square root"
-msgstr "尚未实现:优化延迟的内联平方根运算"
-
-#: config/ia64/ia64.c:10472
+#: config/ia64/ia64.c:10641
 #, gcc-internal-format
 msgid "version attribute is not a string"
 msgstr "版本属性不是一个字符串"
 
-#: config/iq2000/iq2000.c:1816
+#: config/iq2000/iq2000.c:1831
 #, gcc-internal-format
 msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
 msgstr "gp_offset (%ld) 或 end_offset (%ld) 小于 0"
 
-#: config/iq2000/iq2000.c:2586
+#: config/iq2000/iq2000.c:2630
 #, gcc-internal-format
 msgid "argument %qd is not a constant"
 msgstr "实参%qd不是一个常数"
 
-#: config/iq2000/iq2000.c:2888 config/xtensa/xtensa.c:2320
+#: config/iq2000/iq2000.c:2932 config/xtensa/xtensa.c:2335
 #, gcc-internal-format
 msgid "PRINT_OPERAND_ADDRESS, null pointer"
 msgstr "PRINT_OPERAND_ADDRESS,空指针"
 
-#: config/iq2000/iq2000.c:3043
+#: config/iq2000/iq2000.c:3087
 #, gcc-internal-format
 msgid "PRINT_OPERAND: Unknown punctuation '%c'"
 msgstr "PRINT_OPERAND:未知的标点‘%c’"
 
-#: config/iq2000/iq2000.c:3052 config/xtensa/xtensa.c:2174
+#: config/iq2000/iq2000.c:3096 config/xtensa/xtensa.c:2189
 #, gcc-internal-format
 msgid "PRINT_OPERAND null pointer"
 msgstr "PRINT_OPERAND 空指针"
@@ -25969,394 +27773,703 @@ msgstr "#pragma GCC memregs 必须出现在所有函数声明之前"
 msgid "#pragma GCC memregs takes a number [0..16]"
 msgstr "#pragma GCC memregs 需要 [0..16] 范围内的数"
 
-#: config/m32c/m32c.c:416
+#: config/m32c/m32c.c:424
 #, gcc-internal-format
 msgid "invalid target memregs value '%d'"
 msgstr "无效的目标 memregs 值‘%d’"
 
-#: config/m32c/m32c.c:2793
+#: config/m32c/m32c.c:2845
+#, gcc-internal-format
+msgid "%qE attribute is not supported for R8C target"
+msgstr "%qE属性在 R8C 目标机上不受支持"
+
+#. The argument must be a constant integer.
+#: config/m32c/m32c.c:2861 config/sh/sh.c:8735 config/sh/sh.c:8841
+#, gcc-internal-format
+msgid "%qE attribute argument not an integer constant"
+msgstr "%qE属性需要一个整常量作为实参"
+
+#: config/m32c/m32c.c:2870
 #, gcc-internal-format
-msgid "`%s' attribute is not supported for R8C target"
-msgstr "‘%s’属性在 R8C 目标机上不受支持"
+msgid "%qE attribute argument should be between 18 to 255"
+msgstr "%qE属性的参数应当在 18 和 255 之间"
 
-#: config/m32c/m32c.c:2801
+#: config/m32c/m32c.c:4001
 #, gcc-internal-format
-msgid "`%s' attribute applies only to functions"
-msgstr "‘%s’属性只能应用到函数上"
+msgid "%<bank_switch%> has no effect on non-interrupt functions"
+msgstr "%<bank_switch%>对非中断函数不起作用"
 
-#: config/m32c/m32c.c:2809 config/sh/sh.c:8182
+#: config/m32c/m32c.c:4102
 #, gcc-internal-format
-msgid "`%s' attribute argument not an integer constant"
-msgstr "‘%s’属性的参数不是一个整型常量"
+msgid "%<fast_interrupt%> attribute directive ignored"
+msgstr "忽略%<fast_interrupt%>属性指定"
 
-#: config/m32c/m32c.c:2818
+#: config/m32r/m32r.c:382
 #, gcc-internal-format
-msgid "`%s' attribute argument should be between 18 to 255"
-msgstr "‘%s’属性的参数应当在 18 和 255 之间"
+msgid "invalid argument of %qs attribute"
+msgstr "属性%qs的参数无效"
 
-#: config/m68hc11/m68hc11.c:279
+#: config/m68hc11/m68hc11.c:301
 #, gcc-internal-format
 msgid "-f%s ignored for 68HC11/68HC12 (not supported)"
 msgstr "-f%s 为 68HC11/68HC12 忽略(不受支持)"
 
-#: config/m68hc11/m68hc11.c:1240
+#: config/m68hc11/m68hc11.c:1253
 #, gcc-internal-format
 msgid "%<trap%> and %<far%> attributes are not compatible, ignoring %<far%>"
 msgstr "%<trap%>和%<far%>属性互不兼容,忽略%<far%>"
 
-#: config/m68hc11/m68hc11.c:1247
+#: config/m68hc11/m68hc11.c:1260
 #, gcc-internal-format
 msgid "%<trap%> attribute is already used"
 msgstr "已经使用了%<trap%>属性"
 
-#: config/m68k/m68k.c:549
+#: config/m68k/m68k.c:568
 #, gcc-internal-format
 msgid "-mcpu=%s conflicts with -march=%s"
 msgstr "-mcpu=%s 与 -march=%s 冲突"
 
-#: config/m68k/m68k.c:620
+#: config/m68k/m68k.c:639
 #, gcc-internal-format
 msgid "-mpcrel -fPIC is not currently supported on selected cpu"
 msgstr "-mpcrel -fPIC 目前在所选的 CPU 上不受支持"
 
-#: config/m68k/m68k.c:682
+#: config/m68k/m68k.c:701
 #, gcc-internal-format
 msgid "-falign-labels=%d is not supported"
 msgstr "不支持 -falign-labels=%d"
 
-#: config/m68k/m68k.c:687
+#: config/m68k/m68k.c:706
 #, gcc-internal-format
 msgid "-falign-loops=%d is not supported"
 msgstr "不支持 -falign-loops=%d"
 
-#: config/m68k/m68k.c:790
+#: config/m68k/m68k.c:809
 #, gcc-internal-format
 msgid "multiple interrupt attributes not allowed"
 msgstr "不允许多个中断属性"
 
-#: config/m68k/m68k.c:797
+#: config/m68k/m68k.c:816
 #, gcc-internal-format
 msgid "interrupt_thread is available only on fido"
 msgstr "interrupt_thread 只在 fido 中可用"
 
-#: config/m68k/m68k.c:1119 config/rs6000/rs6000.c:15570
+#: config/m68k/m68k.c:1145 config/rs6000/rs6000.c:17884
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "不支持堆栈限制表达式"
 
-#: config/mips/mips.c:1236
+#: config/mep/mep-pragma.c:65
 #, gcc-internal-format
-msgid "%qs cannot have both %<mips16%> and %<nomips16%> attributes"
-msgstr "%qs不能同时有%<mips16%> 和 %<nomips16%>属性"
+msgid "junk at end of #pragma io_volatile"
+msgstr "#pragma io_volatile 末尾有垃圾字符"
 
-#: config/mips/mips.c:1258 config/mips/mips.c:1261
+#: config/mep/mep-pragma.c:79
 #, gcc-internal-format
-msgid "%qs redeclared with conflicting %qs attributes"
-msgstr "%qs重声明有冲突的属性%qs"
+msgid "#pragma io_volatile takes only on or off"
+msgstr "#pragma io_volatile 只能为 on 或 off"
 
-#: config/mips/mips.c:2719
+#: config/mep/mep-pragma.c:118
 #, gcc-internal-format
-msgid "MIPS16 TLS"
-msgstr "MIPS16 TLS"
+msgid "invalid coprocessor register range"
+msgstr "无效的协寄存器范围"
 
-#: config/mips/mips.c:6057
+#: config/mep/mep-pragma.c:138
 #, gcc-internal-format
-msgid "cannot handle inconsistent calls to %qs"
-msgstr "æ\97 æ³\95å¤\84ç\90\86对%qsä¸\8dä¸\80è\87´ç\9a\84è°\83ç\94¨"
+msgid "invalid coprocessor register %qE"
+msgstr "æ\97 æ\95\88ç\9a\84å\8d\8få¯\84å­\98å\99¨%qE"
 
-#: config/mips/mips.c:11698
+#: config/mep/mep-pragma.c:161
 #, gcc-internal-format
-msgid "invalid argument to built-in function"
-msgstr "内建函数实参无效"
+msgid "malformed coprocessor register"
+msgstr "格式错误的协寄存器"
 
-#: config/mips/mips.c:11939
+#: config/mep/mep-pragma.c:248
 #, gcc-internal-format
-msgid "built-in function %qs not supported for MIPS16"
-msgstr "MIPS16 不支持内建函数%qs"
+msgid "junk at end of #pragma GCC coprocessor width"
+msgstr "#pragma GCC coprocessor width 末尾有垃圾字符"
 
-#: config/mips/mips.c:12517
+#: config/mep/mep-pragma.c:255
 #, gcc-internal-format
-msgid "%qs does not support MIPS16 code"
-msgstr "%qs不支持 MIPS16 代码"
+msgid "#pragma GCC coprocessor width takes only 32 or 64"
+msgstr "#pragma GCC coprocessor width 只能取 32 或 64"
 
-#: config/mips/mips.c:13491
-#, fuzzy, gcc-internal-format
-msgid "MIPS16 PIC for ABIs other than o32 and o64"
-msgstr "硬件浮点 MIPS16 代码的 ABI 不是 o32 或 o64"
+#: config/mep/mep-pragma.c:275
+#, gcc-internal-format
+msgid "#pragma GCC coprocessor subclass letter must be in [ABCD]"
+msgstr "#pragma GCC coprocessor subclass 字母必须为 [ABCD] 其中一个"
 
-#: config/mips/mips.c:13494
+#: config/mep/mep-pragma.c:280
 #, gcc-internal-format
-msgid "MIPS16 -mxgot code"
-msgstr ""
+msgid "#pragma GCC coprocessor subclass '%c' already defined"
+msgstr "#pragma GCC coprocessor subclass '%c' 已经定义过"
 
-#: config/mips/mips.c:13497
+#: config/mep/mep-pragma.c:298
 #, gcc-internal-format
-msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
-msgstr "硬件浮点 MIPS16 代码的 ABI 不是 o32 或 o64"
+msgid "malformed #pragma GCC coprocessor subclass"
+msgstr "#pragma GCC coprocessor subclass 格式错误"
 
-#: config/mips/mips.c:13626
+#: config/mep/mep-pragma.c:320
 #, gcc-internal-format
-msgid "CPU names must be lower case"
-msgstr "CPU 名必须是小写"
+msgid "malformed #pragma disinterrupt"
+msgstr "#pragma disinterrupt 格式错误"
 
-#: config/mips/mips.c:13769
+#: config/mep/mep-pragma.c:334
 #, gcc-internal-format
-msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
-msgstr "%<-%s%>与指定了 %s 处理器的其他架构选项冲突"
+msgid "malformed #pragma GCC coprocessor"
+msgstr "#pragma GCC coprocessor 格式错误"
 
-#: config/mips/mips.c:13785
+#: config/mep/mep-pragma.c:339
 #, gcc-internal-format
-msgid "%<-march=%s%> is not compatible with the selected ABI"
-msgstr "%<-march=%s%>与所选 ABI 不兼容"
+msgid "coprocessor not enabled"
+msgstr "协处理器未被启用"
 
-#: config/mips/mips.c:13800
+#: config/mep/mep-pragma.c:350
 #, gcc-internal-format
-msgid "%<-mgp64%> used with a 32-bit processor"
-msgstr "%<-mgp64%>与 32 位处理器一起使用"
+msgid "unknown #pragma GCC coprocessor %E"
+msgstr "未知的 #pragma GCC coprocessor %E"
 
-#: config/mips/mips.c:13802
+#: config/mep/mep-pragma.c:372
 #, gcc-internal-format
-msgid "%<-mgp32%> used with a 64-bit ABI"
-msgstr "%<-mgp32%>与 64 位 ABI 一起使用"
+msgid "malformed #pragma call"
+msgstr "#pragma call 格式错误"
 
-#: config/mips/mips.c:13804
+#: config/mep/mep.c:388
 #, gcc-internal-format
-msgid "%<-mgp64%> used with a 32-bit ABI"
-msgstr "%<-mgp64%>与 32 位 ABI 一起使用"
+msgid "-fpic is not supported"
+msgstr "不支持 -fpic"
 
-#: config/mips/mips.c:13820 config/mips/mips.c:13822 config/mips/mips.c:13889
+#: config/mep/mep.c:390
 #, gcc-internal-format
-msgid "unsupported combination: %s"
-msgstr "不支持的组合:%s"
+msgid "-fPIC is not supported"
+msgstr "不支持 -fPIC"
 
-#: config/mips/mips.c:13826
+#: config/mep/mep.c:392
 #, gcc-internal-format
-msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
-msgstr "%<-mgp32%> 和 %<-mfp64%>只有当目标机支持 mfhc1 和 mthc1 指令时才能一起使用"
+msgid "only one of -ms and -mm may be given"
+msgstr "-ms 和 -mm 只能使用一个"
 
-#: config/mips/mips.c:13829
+#: config/mep/mep.c:394
 #, gcc-internal-format
-msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
-msgstr "%<-mgp32%> 和 %<-mfp64%>只有当使用 o32 ABI 时才能一起使用"
+msgid "only one of -ms and -ml may be given"
+msgstr "-ms 和 -ml 只能使用一个"
 
-#: config/mips/mips.c:13883
+#: config/mep/mep.c:396
 #, gcc-internal-format
-msgid "the %qs architecture does not support branch-likely instructions"
-msgstr "%qs架构不支持 Branch-Likely 指令"
+msgid "only one of -mm and -ml may be given"
+msgstr "-mm 和 -ml 只能使用一个"
 
-#: config/mips/mips.c:13923
+#: config/mep/mep.c:398
 #, gcc-internal-format
-msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
-msgstr "%<-mno-gpopt%> 需要 %<-mexplicit-relocs%>"
+msgid "only one of -ms and -mtiny= may be given"
+msgstr "-ms 和 -mtiny= 只能使用一个"
 
-#: config/mips/mips.c:13931 config/mips/mips.c:13934
+#: config/mep/mep.c:400
 #, gcc-internal-format
-msgid "cannot use small-data accesses for %qs"
-msgstr "不能为%qs使用小数据访问"
+msgid "only one of -mm and -mtiny= may be given"
+msgstr "-mm 和 -mtiny= 只能使用一个"
 
-#: config/mips/mips.c:13948
+#: config/mep/mep.c:402
+#, gcc-internal-format
+msgid "-mclip currently has no effect without -mminmax"
+msgstr "目前 -mclip 未与 -mminmax 同时使用时不起作用"
+
+#: config/mep/mep.c:409
+#, gcc-internal-format
+msgid "-mc= must be -mc=tiny, -mc=near, or -mc=far"
+msgstr "-mc= 必须是 -mc=tiny,-mc=near 或者 -mc=far"
+
+#: config/mep/mep.c:1534
+#, gcc-internal-format
+msgid "unusual TP-relative address"
+msgstr "不寻常的 TP 相对地址"
+
+#: config/mep/mep.c:3530
+#, gcc-internal-format
+msgid "unconvertible operand %c %qs"
+msgstr "无法转换的操作数 %c%qs"
+
+#: config/mep/mep.c:3972 config/mep/mep.c:4035
+#, gcc-internal-format
+msgid "address region attributes not allowed with auto storage class"
+msgstr "地址区域属性不允许用于自动存储类"
+
+#: config/mep/mep.c:3978 config/mep/mep.c:4041
+#, gcc-internal-format
+msgid "address region attributes on pointed-to types ignored"
+msgstr "被指向的类型上的内存区域属性被忽略"
+
+#: config/mep/mep.c:4027
+#, gcc-internal-format
+msgid "%qE attribute only applies to variables and functions"
+msgstr "%qE属性只能为变量或函数所使用"
+
+#: config/mep/mep.c:4047 config/mep/mep.c:4335
+#, gcc-internal-format
+msgid "duplicate address region attribute %qE in declaration of %qE on line %d"
+msgstr "行 %3$d 上%2$qE声明中重复的地址区域属性%1$qE"
+
+#: config/mep/mep.c:4081
+#, gcc-internal-format
+msgid "cannot inline interrupt function %qE"
+msgstr "不能内联中断函数%qE"
+
+#: config/mep/mep.c:4087
+#, gcc-internal-format
+msgid "interrupt function must have return type of void"
+msgstr "中断函数的返回类型必须为 void"
+
+#: config/mep/mep.c:4092
+#, gcc-internal-format
+msgid "interrupt function must have no arguments"
+msgstr "中断函数不能有参数"
+
+#: config/mep/mep.c:4113
+#, gcc-internal-format
+msgid "%qE attribute allows only an integer constant argument"
+msgstr "%qE属性需要一个整常量作为实参"
+
+#: config/mep/mep.c:4146
+#, gcc-internal-format
+msgid "%qE attribute only applies to functions, not %s"
+msgstr "%qE属性只能用于函数而非 %s"
+
+#: config/mep/mep.c:4156
+#, gcc-internal-format
+msgid "To describe a pointer to a VLIW function, use syntax like this:"
+msgstr "描述 VLIW 函数指针时请使用下列语法:"
+
+#: config/mep/mep.c:4157
+#, gcc-internal-format
+msgid "  typedef int (__vliw *vfuncptr) ();"
+msgstr "  typedef int (__vliw *vfuncptr) ();"
+
+#: config/mep/mep.c:4164
+#, gcc-internal-format
+msgid "To describe an array of VLIW function pointers, use syntax like this:"
+msgstr "描述 VLIW 函数指针时使用下列语法:"
+
+#: config/mep/mep.c:4165
+#, gcc-internal-format
+msgid "  typedef int (__vliw *vfuncptr[]) ();"
+msgstr "  typedef int (__vliw *vfuncptr[]) ();"
+
+#: config/mep/mep.c:4170
+#, gcc-internal-format
+msgid "VLIW functions are not allowed without a VLIW configuration"
+msgstr "没有 VLIW 配置时 VLIW 函数不被支持"
+
+#: config/mep/mep.c:4318
+#, gcc-internal-format
+msgid "\"#pragma disinterrupt %s\" not used"
+msgstr "“#pragma disinterrupt %s”未使用"
+
+#: config/mep/mep.c:4460
+#, gcc-internal-format
+msgid "__io address 0x%x is the same for %qE and %qE"
+msgstr "__io 地址 0x%x 对%qE和%qE而言是相同的"
+
+#: config/mep/mep.c:4608
+#, gcc-internal-format
+msgid "variable %s (%ld bytes) is too large for the %s section (%d bytes)"
+msgstr "变量 %s 大小为 %ld 字节,而 %s 节却只有 %d 字节"
+
+#: config/mep/mep.c:4706
+#, gcc-internal-format
+msgid "variable %D of type %<io%> must be uninitialized"
+msgstr "类型为%<io%>的变量 %D 不能被初始化"
+
+#: config/mep/mep.c:4711
+#, gcc-internal-format
+msgid "variable %D of type %<cb%> must be uninitialized"
+msgstr "类型为%<cb%>的变量 %D 不能被初始化"
+
+#: config/mep/mep.c:6164
+#, gcc-internal-format
+msgid "coprocessor intrinsic %qs is not available in this configuration"
+msgstr "协处理器内建函数%qs在此配置下不可用"
+
+#: config/mep/mep.c:6167
+#, gcc-internal-format
+msgid "%qs is not available in VLIW functions"
+msgstr "%qs在 VLIW 函数中不可用"
+
+#: config/mep/mep.c:6170
+#, gcc-internal-format
+msgid "%qs is not available in non-VLIW functions"
+msgstr "%qs在非 VLIW 函数中不可用"
+
+#: config/mep/mep.c:6332 config/mep/mep.c:6450
+#, gcc-internal-format
+msgid "argument %d of %qE must be in the range %d...%d"
+msgstr "%2$qE的第 %1$d 个参数必须是在 %3$d 和 %4$d 之间"
+
+#: config/mep/mep.c:6335
+#, gcc-internal-format
+msgid "argument %d of %qE must be a multiple of %d"
+msgstr "%2$qE的第 %1$d 个参数必须是 %3$d 的倍数"
+
+#: config/mep/mep.c:6389
+#, gcc-internal-format
+msgid "too few arguments to %qE"
+msgstr "%qE实参太少"
+
+#: config/mep/mep.c:6394
+#, gcc-internal-format
+msgid "too many arguments to %qE"
+msgstr "%qE实参太多"
+
+#: config/mep/mep.c:6412
+#, gcc-internal-format
+msgid "argument %d of %qE must be an address"
+msgstr "%2$qE的实参 %1$d 必须是地址"
+
+#: config/mep/mep.c:7208
+#, gcc-internal-format
+msgid "2 byte cop instructions are not allowed in 64-bit VLIW mode"
+msgstr "2 字节 cop 指针不允许被用在 VLIW 模式中"
+
+#: config/mep/mep.c:7214
+#, gcc-internal-format
+msgid "unexpected %d byte cop instruction"
+msgstr "非预期的 %d 字节 cop 指令"
+
+#: config/mips/mips.c:1343 config/mips/mips.c:1345
+#, gcc-internal-format
+msgid "%qs attribute only applies to functions"
+msgstr "%qs属性只能应用于函数"
+
+#: config/mips/mips.c:1355
+#, gcc-internal-format
+msgid "%qE cannot have both %<mips16%> and %<nomips16%> attributes"
+msgstr "%qE不能同时有%<mips16%>和%<nomips16%>属性"
+
+#: config/mips/mips.c:1377 config/mips/mips.c:1380
+#, gcc-internal-format
+msgid "%qE redeclared with conflicting %qs attributes"
+msgstr "%qE重声明有冲突的属性%qs"
+
+#: config/mips/mips.c:2895
+#, gcc-internal-format
+msgid "MIPS16 TLS"
+msgstr "MIPS16 TLS"
+
+#: config/mips/mips.c:6374
+#, gcc-internal-format
+msgid "cannot handle inconsistent calls to %qs"
+msgstr "无法处理对%qs不一致的调用"
+
+#: config/mips/mips.c:9181
+#, gcc-internal-format
+msgid "the %<interrupt%> attribute requires a MIPS32r2 processor"
+msgstr "%<interrupt%>属性需要 MIPS32r2 处理器"
+
+#: config/mips/mips.c:9183
+#, gcc-internal-format
+msgid "the %<interrupt%> attribute requires %<-msoft-float%>"
+msgstr "%<interrupt%>属性需要%<-msoft-float%>"
+
+#: config/mips/mips.c:9185
+#, gcc-internal-format
+msgid "interrupt handlers cannot be MIPS16 functions"
+msgstr "中断处理程序不能是 MIPS16 函数"
+
+#: config/mips/mips.c:13094
+#, gcc-internal-format
+msgid "invalid argument to built-in function"
+msgstr "内建函数实参无效"
+
+#: config/mips/mips.c:13335
+#, gcc-internal-format
+msgid "built-in function %qE not supported for MIPS16"
+msgstr "MIPS16 不支持内建函数%qE"
+
+#: config/mips/mips.c:13925
+#, gcc-internal-format
+msgid "%qs does not support MIPS16 code"
+msgstr "%qs不支持 MIPS16 代码"
+
+#: config/mips/mips.c:15129
+#, gcc-internal-format
+msgid "MIPS16 PIC for ABIs other than o32 and o64"
+msgstr "MIPS16 PIC 代码的 ABI 不是 o32 或 o64"
+
+#: config/mips/mips.c:15132
+#, gcc-internal-format
+msgid "MIPS16 -mxgot code"
+msgstr "MIPS16 -mxgot 代码"
+
+#: config/mips/mips.c:15135
+#, gcc-internal-format
+msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+msgstr "硬件浮点 MIPS16 代码的 ABI 不是 o32 或 o64"
+
+#: config/mips/mips.c:15266
+#, gcc-internal-format
+msgid "CPU names must be lower case"
+msgstr "CPU 名必须是小写"
+
+#: config/mips/mips.c:15409
+#, gcc-internal-format
+msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+msgstr "%<-%s%>与指定了 %s 处理器的其他架构选项冲突"
+
+#: config/mips/mips.c:15425
+#, gcc-internal-format
+msgid "%<-march=%s%> is not compatible with the selected ABI"
+msgstr "%<-march=%s%>与所选 ABI 不兼容"
+
+#: config/mips/mips.c:15440
+#, gcc-internal-format
+msgid "%<-mgp64%> used with a 32-bit processor"
+msgstr "%<-mgp64%>与 32 位处理器一起使用"
+
+#: config/mips/mips.c:15442
+#, gcc-internal-format
+msgid "%<-mgp32%> used with a 64-bit ABI"
+msgstr "%<-mgp32%>与 64 位 ABI 一起使用"
+
+#: config/mips/mips.c:15444
+#, gcc-internal-format
+msgid "%<-mgp64%> used with a 32-bit ABI"
+msgstr "%<-mgp64%>与 32 位 ABI 一起使用"
+
+#: config/mips/mips.c:15460 config/mips/mips.c:15462 config/mips/mips.c:15529
+#, gcc-internal-format
+msgid "unsupported combination: %s"
+msgstr "不支持的组合:%s"
+
+#: config/mips/mips.c:15466
+#, gcc-internal-format
+msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+msgstr "%<-mgp32%> 和 %<-mfp64%>只有当目标机支持 mfhc1 和 mthc1 指令时才能一起使用"
+
+#: config/mips/mips.c:15469
+#, gcc-internal-format
+msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+msgstr "%<-mgp32%> 和 %<-mfp64%>只有当使用 o32 ABI 时才能一起使用"
+
+#: config/mips/mips.c:15523
+#, gcc-internal-format
+msgid "the %qs architecture does not support branch-likely instructions"
+msgstr "%qs架构不支持 Branch-Likely 指令"
+
+#: config/mips/mips.c:15563
+#, gcc-internal-format
+msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+msgstr "%<-mno-gpopt%> 需要 %<-mexplicit-relocs%>"
+
+#: config/mips/mips.c:15571 config/mips/mips.c:15574
+#, gcc-internal-format
+msgid "cannot use small-data accesses for %qs"
+msgstr "不能为%qs使用小数据访问"
+
+#: config/mips/mips.c:15588
 #, gcc-internal-format
 msgid "%<-mips3d%> requires %<-mpaired-single%>"
 msgstr "%<-mips3d%>需要%<-mpaired-single%>"
 
-#: config/mips/mips.c:13957
+#: config/mips/mips.c:15597
 #, gcc-internal-format
 msgid "%qs must be used with %qs"
 msgstr "%qs必须与%qs一起使用"
 
-#: config/mips/mips.c:13964
+#: config/mips/mips.c:15604
 #, gcc-internal-format
 msgid "the %qs architecture does not support paired-single instructions"
 msgstr "%qs架构不支持配对单精度指令"
 
-#: config/mips/mips.c:13970
+#: config/mips/mips.c:15610
 #, gcc-internal-format
 msgid "%qs requires a target that provides the %qs instruction"
 msgstr "%qs需要一个能提供%qs指令的目标机"
 
-#: config/mips/mips.c:14049
-#, fuzzy, gcc-internal-format
+#: config/mips/mips.c:15715
+#, gcc-internal-format
 msgid "%qs requires branch-likely instructions"
-msgstr "%qs架构不支持 Branch-Likely 指令"
+msgstr "%qs需要 Branch-Likely 指令"
+
+#: config/mips/mips.c:15719
+#, gcc-internal-format
+msgid "the %qs architecture does not support the synci instruction"
+msgstr "%qs架构不支持 synci 指令"
 
-#. Output assembler code to FILE to increment profiler label # LABELNO
-#. for profiling a function entry.
-#: config/mips/mips.h:2290
+#: config/mips/mips.c:16186
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "mips16 函数取样"
 
-#: config/mmix/mmix.c:226
+#: config/mmix/mmix.c:239
 #, gcc-internal-format
 msgid "-f%s not supported: ignored"
 msgstr "-f%s 不受支持:已忽略"
 
-#: config/mmix/mmix.c:674
+#: config/mmix/mmix.c:687
 #, gcc-internal-format
 msgid "support for mode %qs"
 msgstr "支持%qs模式"
 
-#: config/mmix/mmix.c:688
+#: config/mmix/mmix.c:701
 #, gcc-internal-format
 msgid "too large function value type, needs %d registers, have only %d registers for this"
 msgstr "函数值类型太大,需要 %d 个寄存器,却只有 %d 个寄存器可用"
 
-#: config/mmix/mmix.c:858
+#: config/mmix/mmix.c:871
 #, gcc-internal-format
 msgid "function_profiler support for MMIX"
 msgstr "对 MMIX 的 function_profiler 支持"
 
-#: config/mmix/mmix.c:880
+#: config/mmix/mmix.c:893
 #, gcc-internal-format
 msgid "MMIX Internal: Last named vararg would not fit in a register"
 msgstr "MMIX 内部错误:最后一个有名的不定参数无法放入寄存器中"
 
-#: config/mmix/mmix.c:1492 config/mmix/mmix.c:1516 config/mmix/mmix.c:1632
+#: config/mmix/mmix.c:1502 config/mmix/mmix.c:1526 config/mmix/mmix.c:1642
 #, gcc-internal-format
 msgid "MMIX Internal: Bad register: %d"
 msgstr "MMIX 内部错误:错误的寄存器:%d"
 
 #. Presumably there's a missing case above if we get here.
-#: config/mmix/mmix.c:1624
+#: config/mmix/mmix.c:1634
 #, gcc-internal-format
 msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
 msgstr "MMIX 内部错误:mmix_print_operand 缺少%qc类型"
 
-#: config/mmix/mmix.c:1910
+#: config/mmix/mmix.c:1920
 #, gcc-internal-format
 msgid "stack frame not a multiple of 8 bytes: %wd"
-msgstr "堆栈框架大小不是 8 字节的倍数:%wd"
+msgstr "栈帧大小不是 8 字节的倍数:%wd"
 
-#: config/mmix/mmix.c:2146
+#: config/mmix/mmix.c:2156
 #, gcc-internal-format
 msgid "stack frame not a multiple of octabyte: %wd"
-msgstr "堆栈框架大小不是 8 字节的倍数:%wd"
+msgstr "栈帧大小不是 8 字节的倍数:%wd"
 
-#: config/mmix/mmix.c:2486 config/mmix/mmix.c:2550
+#: config/mmix/mmix.c:2440 config/mmix/mmix.c:2504
 #, gcc-internal-format
 msgid "MMIX Internal: %s is not a shiftable int"
 msgstr "MMIX 内部错误:%s 不是一个可移位的整数"
 
-#: config/pa/pa.c:482
+#: config/pa/pa.c:500
 #, gcc-internal-format
 msgid "PIC code generation is not supported in the portable runtime model"
 msgstr "PIC 代码生成在可移植运行时模型中不受支持"
 
-#: config/pa/pa.c:487
+#: config/pa/pa.c:505
 #, gcc-internal-format
 msgid "PIC code generation is not compatible with fast indirect calls"
 msgstr "PIC 代码生成与快速间接调用不兼容"
 
-#: config/pa/pa.c:492
+#: config/pa/pa.c:510
 #, gcc-internal-format
 msgid "-g is only supported when using GAS on this processor,"
 msgstr "此处理器只有使用 GAS 时才支持 -g"
 
-#: config/pa/pa.c:493
+#: config/pa/pa.c:511
 #, gcc-internal-format
 msgid "-g option disabled"
 msgstr "-g 选项已被禁用"
 
-#: config/pa/pa.c:8382
+#: config/pa/pa.c:8463
 #, gcc-internal-format
 msgid "alignment (%u) for %s exceeds maximum alignment for global common data.  Using %u"
 msgstr "对齐边界(%u) 对 %s 来说超过了全局共同数据的最大对齐边界。使用 %u"
 
-#: config/pa/pa-hpux11.h:84
+#: config/pa/pa-hpux11.h:82
 #, gcc-internal-format
 msgid "-munix=98 option required for C89 Amendment 1 features.\n"
 msgstr "使用 C89 修订版 1 的特性必须指定 -munix=98 选项。\n"
 
-#: config/picochip/picochip.c:369
-#, fuzzy, gcc-internal-format
+#: config/picochip/picochip.c:383
+#, gcc-internal-format
 msgid "invalid AE type specified (%s)\n"
-msgstr "%qs的实参类型无效"
+msgstr "指定了无效的 AE 类型(%s)\n"
 
-#: config/picochip/picochip.c:392
+#: config/picochip/picochip.c:406
 #, gcc-internal-format
 msgid "Invalid mul type specified (%s) - expected mac, mul or none"
-msgstr ""
+msgstr "指定了无效的 mul 类型(%s) - 需要 mac、mul 或 none"
 
-#: config/picochip/picochip.c:624
+#: config/picochip/picochip.c:638
 #, gcc-internal-format
 msgid "unexpected mode %s encountered in picochip_emit_save_register\n"
-msgstr ""
+msgstr "picochip_emit_save_register 遇到非预期的模式 %s\n"
 
-#: config/picochip/picochip.c:791
+#: config/picochip/picochip.c:805
 #, gcc-internal-format
 msgid "Defaulting to stack for %s register creation\n"
-msgstr ""
+msgstr "默认在堆栈上创建 %s 寄存器\n"
 
-#: config/picochip/picochip.c:1330
+#: config/picochip/picochip.c:1342
 #, gcc-internal-format
 msgid "LCFI labels have already been deferred."
-msgstr ""
+msgstr "LCFI 标号已经被推迟。"
 
-#: config/picochip/picochip.c:1393
+#: config/picochip/picochip.c:1405
 #, gcc-internal-format
 msgid "LM label has already been deferred."
-msgstr ""
+msgstr "LM 标号已经被推迟。"
 
-#: config/picochip/picochip.c:1673
+#: config/picochip/picochip.c:1685
 #, gcc-internal-format
 msgid "picochip_asm_output_opcode - Found multiple lines in VLIW packet %s\n"
-msgstr ""
+msgstr "picochip_asm_output_opcode - 在 VLIW 包 %s 中找到多行\n"
 
-#: config/picochip/picochip.c:1776
+#: config/picochip/picochip.c:1788
 #, gcc-internal-format
 msgid "picochip_asm_output_opcode - can't output unknown operator %c\n"
-msgstr ""
+msgstr "picochip_asm_output_opcode - 无法输出未知的运算符 %c\n"
 
-#: config/picochip/picochip.c:2028 config/picochip/picochip.c:2087
+#: config/picochip/picochip.c:2040 config/picochip/picochip.c:2099
 #, gcc-internal-format
 msgid "%s: At least one operand can't be handled"
-msgstr ""
+msgstr "%s:至少有一个操作数不能被处理"
 
-#: config/picochip/picochip.c:2168
+#: config/picochip/picochip.c:2180
 #, gcc-internal-format
 msgid "Unknown short branch in %s (type %d)\n"
-msgstr ""
+msgstr "%s 中的短跳转未知(类型 %d)\n"
 
-#: config/picochip/picochip.c:2205
+#: config/picochip/picochip.c:2217
 #, gcc-internal-format
 msgid "Unknown long branch in %s (type %d)\n"
-msgstr ""
+msgstr "%s 中的长跳转未知(类型 %d)\n"
 
-#: config/picochip/picochip.c:2245 config/picochip/picochip.c:2313
+#: config/picochip/picochip.c:2257 config/picochip/picochip.c:2325
 #, gcc-internal-format
 msgid "PUT uses port array index %d, which is out of range [%d..%d)"
-msgstr ""
+msgstr "PUT 使用端口数组索引 %d,而该索引在范围[%d..%d)之外"
 
-#: config/picochip/picochip.c:2279
+#: config/picochip/picochip.c:2291
 #, gcc-internal-format
 msgid "GET uses port array index %d, which is out of range [%d..%d)"
-msgstr ""
+msgstr "GET 使用端口数组索引 %d,而该索引在范围 [%d..%d)之外"
 
-#: config/picochip/picochip.c:3122
+#: config/picochip/picochip.c:3134
 #, gcc-internal-format
 msgid "Too many ALU instructions emitted (%d)\n"
-msgstr ""
+msgstr "生成了太多的 ALU 指令(%d 条)\n"
 
-#: config/picochip/picochip.c:3753 config/picochip/picochip.c:3846
-#, fuzzy, gcc-internal-format
+#: config/picochip/picochip.c:3765 config/picochip/picochip.c:3858
+#, gcc-internal-format
 msgid "%s: Second source operand is not a constant"
-msgstr "‘o’操作数不是一个常量"
+msgstr "%s:第二个源操作数不是一个常量"
 
-#: config/picochip/picochip.c:3756 config/picochip/picochip.c:3807
-#: config/picochip/picochip.c:3849
-#, fuzzy, gcc-internal-format
+#: config/picochip/picochip.c:3768 config/picochip/picochip.c:3819
+#: config/picochip/picochip.c:3861
+#, gcc-internal-format
 msgid "%s: Third source operand is not a constant"
-msgstr "‘o’操作数不是一个常量"
+msgstr "%s:第三个源操作数不是一个常量"
 
-#: config/picochip/picochip.c:3810
-#, fuzzy, gcc-internal-format
+#: config/picochip/picochip.c:3822
+#, gcc-internal-format
 msgid "%s: Fourth source operand is not a constant"
-msgstr "‘o’操作数不是一个常量"
+msgstr "%s:第四个源操作数不是一个常量"
 
-#: config/picochip/picochip.c:4144
+#: config/picochip/picochip.c:4132
 #, gcc-internal-format
 msgid "%s (disable warning using -mno-inefficient-warnings)"
-msgstr ""
+msgstr "%s (使用 -mno-inefficient-warnings 禁用警告)"
 
 #: config/rs6000/host-darwin.c:62
 #, gcc-internal-format
@@ -26417,298 +28530,333 @@ msgstr "数字必须是 0 或 1"
 msgid "junk at end of #pragma longcall"
 msgstr "#pragma longcall 末尾有垃圾字符"
 
-#: config/rs6000/rs6000-c.c:2989
+#: config/rs6000/rs6000-c.c:3238
 #, gcc-internal-format
 msgid "%s only accepts %d arguments"
 msgstr "%s 只接受 %d 个参数"
 
-#: config/rs6000/rs6000-c.c:2994
+#: config/rs6000/rs6000-c.c:3243
 #, gcc-internal-format
 msgid "%s only accepts 1 argument"
 msgstr "%s 只接受 1 个参数"
 
-#: config/rs6000/rs6000-c.c:2999 config/rs6000/rs6000-c.c:3006
+#: config/rs6000/rs6000-c.c:3248
 #, gcc-internal-format
 msgid "%s only accepts 2 arguments"
 msgstr "%s 只接受 2 个参数"
 
-#: config/rs6000/rs6000-c.c:3067
+#: config/rs6000/rs6000-c.c:3313
 #, gcc-internal-format
 msgid "vec_extract only accepts 2 arguments"
-msgstr ""
+msgstr "vec_extract 只接受两个参数"
 
-#: config/rs6000/rs6000-c.c:3124
+#: config/rs6000/rs6000-c.c:3389
 #, gcc-internal-format
 msgid "vec_insert only accepts 3 arguments"
-msgstr ""
+msgstr "vec_insert 只接受三个参数"
 
-#: config/rs6000/rs6000-c.c:3206
+#: config/rs6000/rs6000-c.c:3492
 #, gcc-internal-format
 msgid "passing arg %d of %qE discards qualifiers frompointer target type"
 msgstr "传递%2$qE的第 %1$d 个参数时丢弃了指针目标类型的类型限定"
 
-#: config/rs6000/rs6000-c.c:3249
+#: config/rs6000/rs6000-c.c:3535
 #, gcc-internal-format
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "对 AltiVec 内建函数来说无效的参数组合"
 
-#: config/rs6000/rs6000.c:1373
+#: config/rs6000/rs6000.c:2088
 #, gcc-internal-format
 msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
 msgstr "-mdynamic-no-pic 覆盖了 -fpic 或 -fPIC"
 
-#: config/rs6000/rs6000.c:1384
+#: config/rs6000/rs6000.c:2099
 #, gcc-internal-format
 msgid "-m64 requires PowerPC64 architecture, enabling"
 msgstr "-m64 需要 PowerPC64 架构,正在启用"
 
-#: config/rs6000/rs6000.c:1605
+#: config/rs6000/rs6000.c:2349
 #, gcc-internal-format
 msgid "AltiVec not supported in this target"
 msgstr "AltiVec 在此目标机上不受支持"
 
-#: config/rs6000/rs6000.c:1607
+#: config/rs6000/rs6000.c:2351
 #, gcc-internal-format
 msgid "Spe not supported in this target"
 msgstr "Spe 在此目标机上不受支持"
 
-#: config/rs6000/rs6000.c:1634
+#: config/rs6000/rs6000.c:2378
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
-msgstr "-mmultiple 在低位字节在前的系统上不受支持"
+msgstr "-mmultiple 在小端在前的系统上不受支持"
 
-#: config/rs6000/rs6000.c:1641
+#: config/rs6000/rs6000.c:2385
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
-msgstr "-mstring 在低位字节在前的系统上不受支持"
+msgstr "-mstring 在小端在前的系统上不受支持"
 
-#: config/rs6000/rs6000.c:1655
+#: config/rs6000/rs6000.c:2439
 #, gcc-internal-format
 msgid "unknown -mdebug-%s switch"
 msgstr "未知的 -mdebug-%s 开关"
 
-#: config/rs6000/rs6000.c:1667
+#: config/rs6000/rs6000.c:2479
 #, gcc-internal-format
 msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
 msgstr "未知的 -mtraceback 参数%qs;需要%<full%>、%<partial%>或%<none%>"
 
-#: config/rs6000/rs6000.c:2169
+#: config/rs6000/rs6000.c:3093
 #, gcc-internal-format
 msgid "unknown -m%s= option specified: '%s'"
 msgstr "指定了未知的 -m%s= 选项:‘%s’"
 
-#: config/rs6000/rs6000.c:2215
+#: config/rs6000/rs6000.c:3139
 #, gcc-internal-format
 msgid "unknown value %s for -mfpu"
 msgstr "-mfpu 的值 %s 未知"
 
-#: config/rs6000/rs6000.c:2408
+#: config/rs6000/rs6000.c:3468
 #, gcc-internal-format
 msgid "not configured for ABI: '%s'"
 msgstr "没有为此 ABI 配置:‘%s’"
 
-#: config/rs6000/rs6000.c:2421
+#: config/rs6000/rs6000.c:3481
 #, gcc-internal-format
 msgid "Using darwin64 ABI"
 msgstr "使用 darwin64 ABI"
 
-#: config/rs6000/rs6000.c:2426
+#: config/rs6000/rs6000.c:3486
 #, gcc-internal-format
 msgid "Using old darwin ABI"
 msgstr "使用旧式的 Darwin ABI"
 
-#: config/rs6000/rs6000.c:2433
+#: config/rs6000/rs6000.c:3493
 #, gcc-internal-format
 msgid "Using IBM extended precision long double"
 msgstr "使用 IBM 扩展精度 long double"
 
-#: config/rs6000/rs6000.c:2439
+#: config/rs6000/rs6000.c:3499
 #, gcc-internal-format
 msgid "Using IEEE extended precision long double"
 msgstr "使用 IEEE 扩展精度 long double"
 
-#: config/rs6000/rs6000.c:2444
+#: config/rs6000/rs6000.c:3504
 #, gcc-internal-format
 msgid "unknown ABI specified: '%s'"
 msgstr "指定了未知的 ABI:‘%s’"
 
-#: config/rs6000/rs6000.c:2471
+#: config/rs6000/rs6000.c:3531
 #, gcc-internal-format
 msgid "invalid option for -mfloat-gprs: '%s'"
 msgstr "-mfloat-gprs 的选项无效:‘%s’"
 
-#: config/rs6000/rs6000.c:2481
+#: config/rs6000/rs6000.c:3541
 #, gcc-internal-format
 msgid "Unknown switch -mlong-double-%s"
 msgstr "未知的开关 -mlong-double-%s"
 
-#: config/rs6000/rs6000.c:2502
+#: config/rs6000/rs6000.c:3562
 #, gcc-internal-format
 msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
 msgstr "-malign-power 在 64 位 Darwin 下不受支持;它与已安装的 C 和 C++ 库不兼容"
 
-#: config/rs6000/rs6000.c:2510
+#: config/rs6000/rs6000.c:3570
 #, gcc-internal-format
 msgid "unknown -malign-XXXXX option specified: '%s'"
 msgstr "指定了未知的 -malign-XXXXX 选项:‘%s’"
 
-#: config/rs6000/rs6000.c:2517
+#: config/rs6000/rs6000.c:3577
 #, gcc-internal-format
 msgid "-msingle-float option equivalent to -mhard-float"
 msgstr "-msingle-float 选项等同于 -mhard-float"
 
-#: config/rs6000/rs6000.c:2533
+#: config/rs6000/rs6000.c:3593
 #, gcc-internal-format
 msgid "-msimple-fpu option ignored"
 msgstr "-msimple-fpu 选项被忽略"
 
-#: config/rs6000/rs6000.c:5355
+#: config/rs6000/rs6000.c:6705
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
-msgstr "GCC 返回量引用:非标准的 ABI 扩展,不保证兼容性"
+msgstr "GCC 返回量引用:非标准的 ABI 扩展,不保证兼容性"
 
-#: config/rs6000/rs6000.c:5428
+#: config/rs6000/rs6000.c:6778
 #, gcc-internal-format
 msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
-msgstr "不能在量寄存器中返回值,因为 altivec 指令集已被禁用,使用 -maltivec 启用"
+msgstr "不能在量寄存器中返回值,因为 altivec 指令集已被禁用,使用 -maltivec 启用"
 
-#: config/rs6000/rs6000.c:5686
+#: config/rs6000/rs6000.c:7037
 #, gcc-internal-format
 msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
-msgstr "不能在量寄存器中传递参数,因为 altivec 指令集已被禁用,使用 -maltivec 启用"
+msgstr "不能在量寄存器中传递参数,因为 altivec 指令集已被禁用,使用 -maltivec 启用"
 
-#: config/rs6000/rs6000.c:6587
+#: config/rs6000/rs6000.c:7939
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
-msgstr "GCC 传递矢量引用:非标准的 ABI 扩展,不保证兼容性"
+msgstr "GCC 传递向量引用:非标准的 ABI 扩展,不保证兼容性"
+
+#: config/rs6000/rs6000.c:8521
+#, gcc-internal-format
+msgid "internal error: builtin function to %s already processed."
+msgstr "内部错误:对 %s 的内建函数已经处理过。"
 
-#: config/rs6000/rs6000.c:7847
+#: config/rs6000/rs6000.c:9456
 #, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr "实参 1 必须是一个 5 位有符号字面值"
 
-#: config/rs6000/rs6000.c:7950 config/rs6000/rs6000.c:8882
+#: config/rs6000/rs6000.c:9559 config/rs6000/rs6000.c:10531
 #, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr "实参 2 必须是一个 5 位无符号字面值"
 
-#: config/rs6000/rs6000.c:7990
+#: config/rs6000/rs6000.c:9598
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
 msgstr "__builtin_altivec_predicate 的第 1 个实参必须是常量"
 
-#: config/rs6000/rs6000.c:8043
+#: config/rs6000/rs6000.c:9650
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate is out of range"
 msgstr "__builtin_altivec_predicate 的第 1 个实参越界"
 
-#: config/rs6000/rs6000.c:8292
+#: config/rs6000/rs6000.c:9900
 #, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr "实参 3 必须是一个 4 位无符号字面值"
 
-#: config/rs6000/rs6000.c:8464
+#: config/rs6000/rs6000.c:9918
+#, gcc-internal-format
+msgid "argument 3 must be a 2-bit unsigned literal"
+msgstr "实参 2 必须是一个 2 位无符号字面值"
+
+#: config/rs6000/rs6000.c:9930
+#, gcc-internal-format
+msgid "argument 3 must be a 1-bit unsigned literal"
+msgstr "实参 2 必须是一个 1 位无符号字面值"
+
+#: config/rs6000/rs6000.c:10106
 #, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr "%qs的实参必须是一个 2 位无符号字面常量"
 
-#: config/rs6000/rs6000.c:8606
+#: config/rs6000/rs6000.c:10250
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr "无法解析的重载 Altivec 内建函数%qF"
 
-#: config/rs6000/rs6000.c:8697
+#: config/rs6000/rs6000.c:10341
 #, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr "dss 的实参必须是一个 2 位无符号字面常量"
 
-#: config/rs6000/rs6000.c:9002
+#: config/rs6000/rs6000.c:10651
 #, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate must be a constant"
 msgstr "__builtin_paired_predicate 的第一个实参必须是常量"
 
-#: config/rs6000/rs6000.c:9049
+#: config/rs6000/rs6000.c:10698
 #, gcc-internal-format
 msgid "argument 1 of __builtin_paired_predicate is out of range"
 msgstr "__builtin_paired_predicate 的第一个实参越界"
 
-#: config/rs6000/rs6000.c:9074
+#: config/rs6000/rs6000.c:10723
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgstr "__builtin_spe_predicate 的第一个实参必须是常量"
 
-#: config/rs6000/rs6000.c:9146
+#: config/rs6000/rs6000.c:10795
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgstr "__builtin_spe_predicate 的第 1 个实参越界"
 
-#: config/rs6000/rs6000.c:15533
+#: config/rs6000/rs6000.c:12141
 #, gcc-internal-format
-msgid "stack frame too large"
-msgstr "å \86æ \88æ¡\86æ\9e¶å¤ªå¤§"
+msgid "internal error: builtin function %s had no type"
+msgstr "å\86\85é\83¨é\94\99误ï¼\9aå\86\85建å\87½æ\95° %s æ²¡æ\9c\89ç±»å\9e\8b"
 
-#: config/rs6000/rs6000.c:18600
+#: config/rs6000/rs6000.c:12148
 #, gcc-internal-format
-msgid "no profiling of 64-bit code for this ABI"
-msgstr "此 ABI 不支持取样 64 位代码"
+msgid "internal error: builtin function %s had an unexpected return type %s"
+msgstr "内部错误:内建函数 %s 有非预期的返回类型 %s"
 
-#: config/rs6000/rs6000.c:20549
+#: config/rs6000/rs6000.c:12161
 #, gcc-internal-format
-msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
-msgstr "对äº\8e 64 ä½\8d代ç \81å\9c¨ AltiVec ç±»å\9e\8b中使ç\94¨%<long%>æ\97 æ\95\88"
+msgid "internal error: builtin function %s, argument %d had unexpected argument type %s"
+msgstr "å\86\85é\83¨é\94\99误ï¼\9aå\86\85建å\87½æ\95° %s ç\9a\84第 %d ä¸ªå\8f\82æ\95°æ\9c\89é\9d\9eé¢\84æ\9c\9fç\9a\84å\8f\82æ\95°ç±»å\9e\8b %s"
 
-#: config/rs6000/rs6000.c:20551
+#: config/rs6000/rs6000.c:17854
 #, gcc-internal-format
-msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
-msgstr "不建议在 AltiVec 类型中使用%<long%>;请改用%<int%>"
+msgid "stack frame too large"
+msgstr "栈帧太大"
 
-#: config/rs6000/rs6000.c:20555
+#: config/rs6000/rs6000.c:18250
 #, gcc-internal-format
-msgid "use of %<long long%> in AltiVec types is invalid"
-msgstr "在 AltiVec 类型中使用%<long long%>无效"
+msgid "Out-of-line save/restore routines not supported on Darwin"
+msgstr "Darwin 不支持不恰当的存储/恢复例程"
 
-#: config/rs6000/rs6000.c:20557
+#: config/rs6000/rs6000.c:21145
 #, gcc-internal-format
-msgid "use of %<double%> in AltiVec types is invalid"
-msgstr "在 AltiVec 类型中使用%<double%>无效"
+msgid "no profiling of 64-bit code for this ABI"
+msgstr "此 ABI 不支持取样 64 位代码"
 
-#: config/rs6000/rs6000.c:20559
+#: config/rs6000/rs6000.c:23165
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr "在 AltiVec 类型中使用%<long double%>无效"
 
-#: config/rs6000/rs6000.c:20561
+#: config/rs6000/rs6000.c:23167
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr "在 AltiVec 类型中使用布尔类型无效"
 
-#: config/rs6000/rs6000.c:20563
+#: config/rs6000/rs6000.c:23169
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr "在 AltiVec 类型中使用%<complex%>无效"
 
-#: config/rs6000/rs6000.c:20565
+#: config/rs6000/rs6000.c:23171
 #, gcc-internal-format
 msgid "use of decimal floating point types in AltiVec types is invalid"
 msgstr "在 AltiVec 类型中使用十进制浮点类型无效"
 
-#: config/rs6000/rs6000.c:22851
+#: config/rs6000/rs6000.c:23177
+#, gcc-internal-format
+msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without -mvsx"
+msgstr "不使用 -mvsx 时,在 AltiVec 类型中使用%<long%>对 64 位代码无效"
+
+#: config/rs6000/rs6000.c:23180
+#, gcc-internal-format
+msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+msgstr "不建议在 AltiVec 类型中使用%<long%>;请改用%<int%>"
+
+#: config/rs6000/rs6000.c:23185
+#, gcc-internal-format
+msgid "use of %<long long%> in AltiVec types is invalid without -mvsx"
+msgstr "不使用 -mvsx 时,在 AltiVec 类型中使用%<long long%>无效"
+
+#: config/rs6000/rs6000.c:23188
+#, gcc-internal-format
+msgid "use of %<double%> in AltiVec types is invalid without -mvsx"
+msgstr "不使用 -mvsx 时,在 AltiVec 类型中使用%<double%>无效"
+
+#: config/rs6000/rs6000.c:25584
 #, gcc-internal-format
 msgid "emitting microcode insn %s\t[%s] #%d"
-msgstr ""
+msgstr "生成微代码指令 %s\t[%s] #%d"
 
-#: config/rs6000/rs6000.c:22855
+#: config/rs6000/rs6000.c:25588
 #, gcc-internal-format
 msgid "emitting conditional microcode insn %s\t[%s] #%d"
-msgstr ""
+msgstr "生成条件微代码指令 %s\t[%s] #%d"
 
-#: config/rs6000/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+#: config/rs6000/aix43.h:38 config/rs6000/aix51.h:38 config/rs6000/aix52.h:38
 #: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
 #, gcc-internal-format
 msgid "-maix64 and POWER architecture are incompatible"
 msgstr "-maix64 和 POWER 架构互不兼容"
 
-#: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+#: config/rs6000/aix43.h:43 config/rs6000/aix51.h:43 config/rs6000/aix52.h:43
 #: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
 #, gcc-internal-format
 msgid "-maix64 requires PowerPC64 architecture remain enabled"
@@ -26720,33 +28868,38 @@ msgstr "-maix64 需要 PowerPC64 架构被启用"
 msgid "soft-float and long-double-128 are incompatible"
 msgstr "soft-float 与 long-double-128 互不兼容"
 
-#: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+#: config/rs6000/aix43.h:53 config/rs6000/aix51.h:47 config/rs6000/aix52.h:53
 #: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
 #, gcc-internal-format
 msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
 msgstr "需要 -maix64:目前尚不支持 64 位计算和 32 位寻址混用"
 
-#: config/rs6000/e500.h:39
+#: config/rs6000/e500.h:40
 #, gcc-internal-format
 msgid "AltiVec and E500 instructions cannot coexist"
 msgstr "AltiVec 和 E500 指令不能共存"
 
-#: config/rs6000/e500.h:41
+#: config/rs6000/e500.h:42
+#, gcc-internal-format
+msgid "VSX and E500 instructions cannot coexist"
+msgstr "VSX 和 E500 指令不能共存"
+
+#: config/rs6000/e500.h:44
 #, gcc-internal-format
 msgid "64-bit E500 not supported"
 msgstr "不支持 64 位 E500"
 
-#: config/rs6000/e500.h:43
+#: config/rs6000/e500.h:46
 #, gcc-internal-format
 msgid "E500 and FPRs not supported"
 msgstr "不支持 E500 和 FPR"
 
-#: config/rs6000/eabispe.h:41 config/rs6000/linuxspe.h:40
+#: config/rs6000/eabispe.h:41 config/rs6000/linuxspe.h:41
 #, gcc-internal-format
 msgid "-m64 not supported in this configuration"
 msgstr "在当前配置下 -m64 不被支持"
 
-#: config/rs6000/linux64.h:108
+#: config/rs6000/linux64.h:113
 #, gcc-internal-format
 msgid "-m64 requires a PowerPC64 cpu"
 msgstr "-m64 需要 PowerPC64 CPU"
@@ -26763,7 +28916,7 @@ msgstr "-m64 需要 PowerPC64 CPU"
 #. Number of bytes into the frame return addresses can be found.  See
 #. rs6000_stack_info in rs6000.c for more information on how the different
 #. abi's store the return address.
-#: config/rs6000/rs6000.h:1643
+#: config/rs6000/rs6000.h:1758
 #, gcc-internal-format
 msgid "RETURN_ADDRESS_OFFSET not supported"
 msgstr "RETURN_ADDRESS_OFFSET 不受支持"
@@ -26776,227 +28929,234 @@ msgstr "RETURN_ADDRESS_OFFSET 不受支持"
 #.
 #. The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
 #. get control.
-#: config/rs6000/sysv4.h:129
+#: config/rs6000/sysv4.h:136
 #, gcc-internal-format
 msgid "bad value for -mcall-%s"
 msgstr "-mcall-%s 值不正确"
 
-#: config/rs6000/sysv4.h:145
+#: config/rs6000/sysv4.h:152
 #, gcc-internal-format
 msgid "bad value for -msdata=%s"
 msgstr "-msdata=%s 值不正确"
 
-#: config/rs6000/sysv4.h:162
+#: config/rs6000/sysv4.h:169
 #, gcc-internal-format
 msgid "-mrelocatable and -msdata=%s are incompatible"
 msgstr "-mrelocatable 与 -msdata=%s 互不兼容"
 
-#: config/rs6000/sysv4.h:171
+#: config/rs6000/sysv4.h:178
 #, gcc-internal-format
 msgid "-f%s and -msdata=%s are incompatible"
 msgstr "-f%s 和 -msdata=%s 互不兼容"
 
-#: config/rs6000/sysv4.h:180
+#: config/rs6000/sysv4.h:187
 #, gcc-internal-format
 msgid "-msdata=%s and -mcall-%s are incompatible"
 msgstr "-msdata=%s 与 -mcall-%s 互不兼容"
 
-#: config/rs6000/sysv4.h:189
+#: config/rs6000/sysv4.h:196
 #, gcc-internal-format
 msgid "-mrelocatable and -mno-minimal-toc are incompatible"
 msgstr "-mrelocatable 和 -mno-minimal-toc 互不兼容"
 
-#: config/rs6000/sysv4.h:195
+#: config/rs6000/sysv4.h:202
 #, gcc-internal-format
 msgid "-mrelocatable and -mcall-%s are incompatible"
 msgstr "-mrelocatable 与 -mcall-%s 互不兼容"
 
-#: config/rs6000/sysv4.h:202
+#: config/rs6000/sysv4.h:209
 #, gcc-internal-format
 msgid "-fPIC and -mcall-%s are incompatible"
 msgstr "-fPIC 与 -mcall-%s 互不兼容"
 
-#: config/rs6000/sysv4.h:209
+#: config/rs6000/sysv4.h:216
 #, gcc-internal-format
 msgid "-mcall-aixdesc must be big endian"
-msgstr "-mcall-aixdesc 必须是高位字节在前"
+msgstr "-mcall-aixdesc 必须是大端在前"
 
-#: config/rs6000/sysv4.h:214
+#: config/rs6000/sysv4.h:221
 #, gcc-internal-format
 msgid "-msecure-plt not supported by your assembler"
 msgstr "-msecure-plt 不为您的汇编器所支持"
 
-#: config/rs6000/sysv4.h:232
+#: config/rs6000/sysv4.h:239
 #, gcc-internal-format
 msgid "-m%s not supported in this configuration"
 msgstr "-m%s 在此配置下不受支持"
 
-#: config/s390/s390.c:1531
+#: config/rx/rx.c:2034 config/xtensa/xtensa.c:3025 config/xtensa/xtensa.c:3065
+#, gcc-internal-format
+msgid "bad builtin code"
+msgstr "错误的内建代码"
+
+#: config/s390/s390.c:1525
 #, gcc-internal-format
 msgid "stack guard value must be an exact power of 2"
 msgstr "栈防护值必须是 2 的整数次方"
 
-#: config/s390/s390.c:1538
+#: config/s390/s390.c:1532
 #, gcc-internal-format
 msgid "stack size must be an exact power of 2"
 msgstr "栈大小必须刚好是 2 的某次方"
 
-#: config/s390/s390.c:1583
+#: config/s390/s390.c:1577
 #, gcc-internal-format
 msgid "z/Architecture mode not supported on %s"
 msgstr "z/Architecture 模式在 %s 上不受支持"
 
-#: config/s390/s390.c:1585
+#: config/s390/s390.c:1579
 #, gcc-internal-format
 msgid "64-bit ABI not supported in ESA/390 mode"
 msgstr "64-bit ABI 在 ESA/390 模式下不受支持"
 
-#: config/s390/s390.c:1592
+#: config/s390/s390.c:1586
 #, gcc-internal-format
 msgid "Hardware decimal floating point instructions not available on %s"
 msgstr "硬件十进制浮点指令在 %s 上不可用"
 
-#: config/s390/s390.c:1595
+#: config/s390/s390.c:1589
 #, gcc-internal-format
 msgid "Hardware decimal floating point instructions not available in ESA/390 mode"
 msgstr "硬件十进制浮点指令在 ESA/390 模式下不可用"
 
-#: config/s390/s390.c:1605
+#: config/s390/s390.c:1599
 #, gcc-internal-format
 msgid "-mhard-dfp can't be used in conjunction with -msoft-float"
 msgstr "-mhard-dfp 不能与 -msoft-float 同时使用"
 
-#: config/s390/s390.c:1627
+#: config/s390/s390.c:1621
 #, gcc-internal-format
 msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination"
 msgstr "-mbackchain -mpacked-stack -mhard-float 一起使用不受支持"
 
-#: config/s390/s390.c:1633
+#: config/s390/s390.c:1627
 #, gcc-internal-format
 msgid "stack size must be greater than the stack guard value"
 msgstr "栈大小必须大于栈防护值"
 
-#: config/s390/s390.c:1635
+#: config/s390/s390.c:1629
 #, gcc-internal-format
 msgid "stack size must not be greater than 64k"
 msgstr "栈大小不能大于 64K"
 
-#: config/s390/s390.c:1638
+#: config/s390/s390.c:1632
 #, gcc-internal-format
 msgid "-mstack-guard implies use of -mstack-size"
 msgstr "-mstack-guard 意味着使用 -mstack-size"
 
-#: config/s390/s390.c:7083
+#: config/s390/s390.c:7091
 #, gcc-internal-format
 msgid "total size of local variables exceeds architecture limit"
 msgstr "局部变量大小总和超过架构极限。"
 
-#: config/s390/s390.c:7753
+#: config/s390/s390.c:7789
 #, gcc-internal-format
 msgid "frame size of function %qs is "
 msgstr "函数%qs的框架大小是"
 
-#: config/s390/s390.c:7783
+#: config/s390/s390.c:7815
 #, gcc-internal-format
 msgid "frame size of %qs is "
 msgstr "%qs的框架大小是"
 
-#: config/s390/s390.c:7787
+#: config/s390/s390.c:7819
 #, gcc-internal-format
 msgid "%qs uses dynamic stack allocation"
 msgstr "%qs使用动态栈分配"
 
-#: config/score/score3.c:656 config/score/score7.c:655
+#: config/score/score3.c:649 config/score/score7.c:648
 #, gcc-internal-format
 msgid "-fPIC and -G are incompatible"
 msgstr "-fPIC 与 -G 互不兼容"
 
-#: config/sh/sh.c:6969
+#: config/sh/sh.c:888
+#, gcc-internal-format
+msgid "ignoring -fschedule-insns because of exception handling bug"
+msgstr "忽略 -fschedule-insns 以绕开异常处理的缺陷"
+
+#: config/sh/sh.c:7463
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr "__builtin_saveregs 在此子目标上不受支持"
 
-#: config/sh/sh.c:8038
+#: config/sh/sh.c:8616
 #, gcc-internal-format
-msgid "%qs attribute only applies to interrupt functions"
-msgstr "%qs属性只能应用到中断函数上"
+msgid "%qE attribute only applies to interrupt functions"
+msgstr "%qE属性只能用于中断函数"
 
-#: config/sh/sh.c:8121
+#: config/sh/sh.c:8674
 #, gcc-internal-format
-msgid "%qs attribute is supported only for SH2A"
-msgstr "%qs 属性只在 SH2A 上被支持"
+msgid "%qE attribute is supported only for SH2A"
+msgstr "%qE属性只为 SH2A 所支持"
 
-#: config/sh/sh.c:8151
+#: config/sh/sh.c:8704
 #, gcc-internal-format
 msgid "attribute interrupt_handler is not compatible with -m5-compact"
 msgstr "属性 interrupt_handler 与 -m5-compact 不兼容"
 
-#: config/sh/sh.c:8168
+#: config/sh/sh.c:8721
 #, gcc-internal-format
-msgid "%qs attribute only applies to SH2A"
-msgstr "%qs属性只能用于 SH2A"
+msgid "%qE attribute only applies to SH2A"
+msgstr "%qE属性只能用于 SH2A"
 
-#: config/sh/sh.c:8190
+#: config/sh/sh.c:8743
 #, gcc-internal-format
-msgid "`%s' attribute argument should be between 0 to 255"
-msgstr "‘%s’属性的参数应当在 0 和 255 之间"
+msgid "%qE attribute argument should be between 0 to 255"
+msgstr "%qE属性的参数应当在 0 和 255 之间"
 
 #. The argument must be a constant string.
-#: config/sh/sh.c:8263
-#, gcc-internal-format
-msgid "%qs attribute argument not a string constant"
-msgstr "%qs属性的参数不是一个字符串常量"
-
-#. The argument must be a constant integer.
-#: config/sh/sh.c:8288
+#: config/sh/sh.c:8816
 #, gcc-internal-format
-msgid "%qs attribute argument not an integer constant"
-msgstr "%qs属性的参数不是一个整型常量"
+msgid "%qE attribute argument not a string constant"
+msgstr "%qE属性需要一个字符串常量作为实参"
 
-#: config/sh/sh.c:10480
+#: config/sh/sh.c:11242
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr "r0 需要用作调用篡改的寄存器"
 
-#: config/sh/sh.c:10501
+#: config/sh/sh.c:11263
 #, gcc-internal-format
 msgid "Need a second call-clobbered general purpose register"
 msgstr "需要另一个调用篡改的通用寄存器"
 
-#: config/sh/sh.c:10509
+#: config/sh/sh.c:11271
 #, gcc-internal-format
 msgid "Need a call-clobbered target register"
 msgstr "需要一个调用篡改的通用寄存器"
 
-#: config/sh/symbian.c:146
-#, gcc-internal-format
-msgid "function %q+D is defined after prior declaration as dllimport: attribute ignored"
-msgstr "函数%q+D在定义前被声明为 dllimport:忽略此属性"
-
-#: config/sh/symbian.c:158
-#, gcc-internal-format
-msgid "inline function %q+D is declared as dllimport: attribute ignored"
-msgstr "内联函数%q+D声明为 dllimport:忽略此属性。"
-
-#: config/sh/symbian.c:272
+#: config/sh/symbian-base.c:112
 #, gcc-internal-format
-msgid "%qs declared as both exported to and imported from a DLL"
-msgstr "%qs既被声明从 DLL 中导出的又被声明为自 DLL 中导入的"
+msgid "%qE declared as both exported to and imported from a DLL"
+msgstr "%qE既被声明从 DLL 中导出的又被声明为自 DLL 中导入的"
 
-#: config/sh/symbian.c:279
+#: config/sh/symbian-base.c:119
 #, gcc-internal-format
 msgid "failure in redeclaration of %q+D: dllimport'd symbol lacks external linkage"
 msgstr "无法重声明%q+D:dllimport 符号没有外部链接。"
 
-#: config/sh/symbian.c:325
+#: config/sh/symbian-base.c:210
 #, gcc-internal-format
 msgid "%s %q+D %s after being referenced with dllimport linkage"
 msgstr "%s%q+D%s 已被作为 dllimport 链接引用过。"
 
-#: config/sh/symbian.c:891 cp/tree.c:2808
+#: config/sh/symbian-c.c:83 config/sh/symbian-cxx.c:94
 #, gcc-internal-format
-msgid "lang_* check: failed in %s, at %s:%d"
-msgstr "lang_* check:在 %s 中失败,于 %s:%d"
+msgid "function %q+D is defined after prior declaration as dllimport: attribute ignored"
+msgstr "函数%q+D在定义前被声明为 dllimport:忽略此属性"
+
+#: config/sh/symbian-c.c:122 config/sh/symbian-c.c:129
+#: config/sh/symbian-cxx.c:554 config/sh/symbian-cxx.c:561
+#: ada/gcc-interface/utils.c:5181 ada/gcc-interface/utils.c:5357
+#: ada/gcc-interface/utils.c:5377 ada/gcc-interface/utils.c:5437
+#, gcc-internal-format
+msgid "%qs attribute ignored"
+msgstr "忽略%qs属性"
+
+#: config/sh/symbian-cxx.c:106
+#, gcc-internal-format
+msgid "inline function %q+D is declared as dllimport: attribute ignored"
+msgstr "内联函数%q+D声明为 dllimport:忽略此属性。"
 
 #. FIXME
 #: config/sh/netbsd-elf.h:94
@@ -27004,99 +29164,83 @@ msgstr "lang_* check:在 %s 中失败,于 %s:%d"
 msgid "unimplemented-shmedia profiling"
 msgstr "未实现 - shmedia 取样"
 
-#. There are no delay slots on SHmedia.
-#. Relaxation isn't yet supported for SHmedia
-#. After reload, if conversion does little good but can cause       ICEs:                                                                   - find_if_block doesn't do anything for SH because we don't               have conditional execution patterns.  (We use conditional               move patterns, which are handled differently, and only                  before reload).                                                       - find_cond_trap doesn't do anything for the SH because we #. don't have conditional traps.                                             - find_if_case_1 uses redirect_edge_and_branch_force in                   the only path that does an optimization, and this causes                an ICE when branch targets are in registers.                          - find_if_case_2 doesn't do anything for the SHmedia after                reload except when it can redirect a tablejump - and                    that's rather rare.
-#. Assembler CFI isn't yet fully supported for SHmedia.
-#. Only the sh64-elf assembler fully supports .quad properly.
-#. Pick one that makes most sense for the target in general.              It is not much good to use different functions depending                on -Os, since then we'll end up with two different functions            when some of the code is compiled for size, and some for                speed.
-#. SH4 tends to emphasize speed.
-#. These have their own way of doing things.
-#. ??? Should we use the integer SHmedia function instead?
-#. SH1 .. SH3 cores often go into small-footprint systems, so             default to the smallest implementation available.
-#. ??? EXPERIMENTAL
-#. User supplied - leave it alone.
-#. The debugging information is sufficient,                            but gdb doesn't implement this yet
-#. Never run scheduling before reload, since that can                   break global alloc, and generates slower code anyway due                to the pressure on R0.
-#. Enable sched1 for SH4; ready queue will be reordered by              the target hooks when pressure is high. We can not do this for          PIC, SH3 and lower as they give spill failures for R0.
-#. ??? Current exception handling places basic block boundaries                 after call_insns.  It causes the high pressure on R0 and gives          spill failures for R0 in reload.  See PR 22553 and the thread           on gcc-patches                                                          <http://gcc.gnu.org/ml/gcc-patches/2005-10/msg00816.html>.
-#: config/sh/sh.h:728
-#, gcc-internal-format
-msgid "ignoring -fschedule-insns because of exception handling bug"
-msgstr "忽略 -fschedule-insns 以绕开异常处理的缺陷"
-
 #. The kernel loader cannot handle the relaxation                       relocations, so it cannot load kernel modules                   (which are ET_REL) or RTP executables (which are                linked with --emit-relocs).  No relaxation relocations          appear in shared libraries, so relaxation is OK                 for RTP PIC.
 #: config/sh/vxworks.h:43
 #, gcc-internal-format
 msgid "-mrelax is only supported for RTP PIC"
 msgstr "-mrelax 只在 RTP PIC 上受支持"
 
-#: config/sparc/sparc.c:701
+#: config/sparc/sparc.c:717
 #, gcc-internal-format
 msgid "%s is not supported by this configuration"
 msgstr "%s 不为这个配置所支持"
 
-#: config/sparc/sparc.c:708
+#: config/sparc/sparc.c:724
 #, gcc-internal-format
 msgid "-mlong-double-64 not allowed with -m64"
 msgstr "-mlong-double-64 不允许与 -m64 一起使用"
 
-#: config/sparc/sparc.c:728
+#: config/sparc/sparc.c:744
 #, gcc-internal-format
 msgid "bad value (%s) for -mcmodel= switch"
 msgstr "-mcmodel= 值(%s)不正确"
 
-#: config/sparc/sparc.c:733
+#: config/sparc/sparc.c:749
 #, gcc-internal-format
 msgid "-mcmodel= is not supported on 32 bit systems"
 msgstr "32 位系统不支持 -mcmodel="
 
-#: config/spu/spu-c.c:135
+#: config/spu/spu-c.c:141
 #, gcc-internal-format
 msgid "insufficient arguments to overloaded function %s"
 msgstr "给予重载函数%qs的参数太少"
 
-#: config/spu/spu-c.c:170
+#: config/spu/spu-c.c:173
 #, gcc-internal-format
 msgid "too many arguments to overloaded function %s"
 msgstr "给予重载函数%qs的参数太多"
 
-#: config/spu/spu-c.c:182
+#: config/spu/spu-c.c:185
 #, gcc-internal-format
 msgid "parameter list does not match a valid signature for %s()"
 msgstr "形参表不匹配 %s() 的有效签名"
 
-#: config/spu/spu.c:379 config/spu/spu.c:390
+#: config/spu/spu.c:516 config/spu/spu.c:527
 #, gcc-internal-format
 msgid "Unknown architecture '%s'"
 msgstr "未知的架构‘%s’"
 
-#: config/spu/spu.c:3645
+#: config/spu/spu.c:5331 config/spu/spu.c:5334
 #, gcc-internal-format
-msgid "`%s' attribute ignored"
-msgstr "忽略‘%s’属性"
+msgid "creating run-time relocation for %qD"
+msgstr "为%qD生成运行时重定位"
 
-#: config/spu/spu.c:5826
+#: config/spu/spu.c:5339 config/spu/spu.c:5341
+#, gcc-internal-format
+msgid "creating run-time relocation"
+msgstr "生成运行时重定位"
+
+#: config/spu/spu.c:6399
 #, gcc-internal-format
 msgid "%s expects an integer literal in the range [%d, %d]."
 msgstr "%s 需要范围在[%d,%d]内的整型字面常量。"
 
-#: config/spu/spu.c:5846
+#: config/spu/spu.c:6419
 #, gcc-internal-format
 msgid "%s expects an integer literal in the range [%d, %d]. ("
 msgstr "%s 需要范围在[%d,%d]内的整型字面常量。("
 
-#: config/spu/spu.c:5876
+#: config/spu/spu.c:6449
 #, gcc-internal-format
 msgid "%d least significant bits of %s are ignored."
 msgstr "%d 位有效数字为 %s 所忽略"
 
-#: config/stormy16/stormy16.c:1085
+#: config/stormy16/stormy16.c:1090
 #, gcc-internal-format
 msgid "local variable memory requirements exceed capacity"
 msgstr "局部变量内存需求超过容量限制"
 
-#: config/stormy16/stormy16.c:1251
+#: config/stormy16/stormy16.c:1247
 #, gcc-internal-format
 msgid "function_profiler support"
 msgstr "function_profiler 支持"
@@ -27106,821 +29250,923 @@ msgstr "function_profiler 支持"
 msgid "cannot use va_start in interrupt function"
 msgstr "不能为中断函数使用 va_start"
 
-#: config/stormy16/stormy16.c:1881
+#: config/stormy16/stormy16.c:1884
 #, gcc-internal-format
 msgid "switch statement of size %lu entries too large"
 msgstr "switch 语句太大(%lu 个条目)"
 
-#: config/stormy16/stormy16.c:2249
+#: config/stormy16/stormy16.c:2253
 #, gcc-internal-format
 msgid "%<__BELOW100__%> attribute only applies to variables"
 msgstr "属性%<__BELOW100__%>只对变量类型起作用"
 
-#: config/stormy16/stormy16.c:2256
+#: config/stormy16/stormy16.c:2260
 #, gcc-internal-format
 msgid "__BELOW100__ attribute not allowed with auto storage class"
 msgstr "__BELOW100__ 属性不允许用于自动存储类"
 
-#: config/v850/v850-c.c:66
+#: config/v850/v850-c.c:67
 #, gcc-internal-format
 msgid "#pragma GHS endXXXX found without previous startXXX"
 msgstr "#pragma GHS endXXXX 前没有 startXXX"
 
-#: config/v850/v850-c.c:69
+#: config/v850/v850-c.c:70
 #, gcc-internal-format
 msgid "#pragma GHS endXXX does not match previous startXXX"
 msgstr "#pragma GHS endXXX 与先前的 startXXX 不匹配"
 
-#: config/v850/v850-c.c:95
+#: config/v850/v850-c.c:96
 #, gcc-internal-format
 msgid "cannot set interrupt attribute: no current function"
 msgstr "无法设定中断属性:没有当前函数"
 
-#: config/v850/v850-c.c:103
+#: config/v850/v850-c.c:104
 #, gcc-internal-format
 msgid "cannot set interrupt attribute: no such identifier"
 msgstr "无法设定中断属性:没有这个标识符"
 
-#: config/v850/v850-c.c:148
+#: config/v850/v850-c.c:153
 #, gcc-internal-format
 msgid "junk at end of #pragma ghs section"
 msgstr "#pragma ghs section 末尾有垃圾字符"
 
-#: config/v850/v850-c.c:165
+#: config/v850/v850-c.c:170
 #, gcc-internal-format
-msgid "unrecognized section name \"%s\""
-msgstr "æ\9cªç\9f¥ç\9a\84è\8a\82å\90\8dâ\80\9c%sâ\80\9d"
+msgid "unrecognized section name %qE"
+msgstr "æ\97 æ³\95è¯\86å\88«ç\9a\84è\8a\82å\90\8d%qE"
 
-#: config/v850/v850-c.c:180
+#: config/v850/v850-c.c:185
 #, gcc-internal-format
 msgid "malformed #pragma ghs section"
 msgstr "格式错误的 #pragma ghs section"
 
-#: config/v850/v850-c.c:199
+#: config/v850/v850-c.c:204
 #, gcc-internal-format
 msgid "junk at end of #pragma ghs interrupt"
 msgstr "#pragma ghs interrupt 末尾有垃圾字符"
 
-#: config/v850/v850-c.c:210
+#: config/v850/v850-c.c:215
 #, gcc-internal-format
 msgid "junk at end of #pragma ghs starttda"
 msgstr "#pragma ghs starttda 末尾有垃圾字符"
 
-#: config/v850/v850-c.c:221
+#: config/v850/v850-c.c:226
 #, gcc-internal-format
 msgid "junk at end of #pragma ghs startsda"
 msgstr "#pragma ghs startsda 末尾有垃圾字符"
 
-#: config/v850/v850-c.c:232
+#: config/v850/v850-c.c:237
 #, gcc-internal-format
 msgid "junk at end of #pragma ghs startzda"
 msgstr "#pragma ghs startzda 末尾有垃圾字符"
 
-#: config/v850/v850-c.c:243
+#: config/v850/v850-c.c:248
 #, gcc-internal-format
 msgid "junk at end of #pragma ghs endtda"
 msgstr "#pragma ghs endtda 末尾有垃圾字符"
 
-#: config/v850/v850-c.c:254
+#: config/v850/v850-c.c:259
 #, gcc-internal-format
 msgid "junk at end of #pragma ghs endsda"
 msgstr "#pragma ghs endsda 末尾有垃圾字符"
 
-#: config/v850/v850-c.c:265
+#: config/v850/v850-c.c:270
 #, gcc-internal-format
 msgid "junk at end of #pragma ghs endzda"
 msgstr "#pragma ghs endzda 末尾有垃圾字符"
 
-#: config/v850/v850.c:184
+#: config/v850/v850.c:212
 #, gcc-internal-format
 msgid "value passed to %<-m%s%> is too large"
 msgstr "传递给%<-m%s%>的值太大"
 
-#: config/v850/v850.c:2084
+#: config/v850/v850.c:2117
 #, gcc-internal-format
-msgid "%Jdata area attributes cannot be specified for local variables"
-msgstr "%J不能为局部变量指定数据区域属性"
+msgid "data area attributes cannot be specified for local variables"
+msgstr "不能为局部变量指定地址区域属性"
 
-#: config/v850/v850.c:2095
+#: config/v850/v850.c:2128
 #, gcc-internal-format
 msgid "data area of %q+D conflicts with previous declaration"
 msgstr "%q+D的数据区域与先前的声明冲突"
 
-#: config/v850/v850.c:2225
+#: config/v850/v850.c:2258
 #, gcc-internal-format
 msgid "bogus JR construction: %d"
 msgstr "误判的 JR 构造:%d"
 
-#: config/v850/v850.c:2243 config/v850/v850.c:2352
+#: config/v850/v850.c:2276 config/v850/v850.c:2385
 #, gcc-internal-format
 msgid "bad amount of stack space removal: %d"
 msgstr "堆栈空间移除量错误:%d"
 
-#: config/v850/v850.c:2332
+#: config/v850/v850.c:2365
 #, gcc-internal-format
 msgid "bogus JARL construction: %d\n"
 msgstr "误判的 JARL 构造:%d\n"
 
-#: config/v850/v850.c:2631
+#: config/v850/v850.c:2664
 #, gcc-internal-format
 msgid "bogus DISPOSE construction: %d"
 msgstr "误判的 DISPOSE 构造:%d"
 
-#: config/v850/v850.c:2650
+#: config/v850/v850.c:2683
 #, gcc-internal-format
 msgid "too much stack space to dispose of: %d"
 msgstr "要舍弃太多的堆栈空间:%d"
 
-#: config/v850/v850.c:2752
+#: config/v850/v850.c:2785
 #, gcc-internal-format
 msgid "bogus PREPEARE construction: %d"
 msgstr "误判的 PREPEARE 构造:%d"
 
-#: config/v850/v850.c:2771
+#: config/v850/v850.c:2804
 #, gcc-internal-format
 msgid "too much stack space to prepare: %d"
 msgstr "要准备太多的堆栈空间:%d"
 
-#: config/xtensa/xtensa.c:2061
+#: config/xtensa/xtensa.c:2076
 #, gcc-internal-format
 msgid "boolean registers required for the floating-point option"
 msgstr "浮点选项需要布尔寄存器"
 
-#: config/xtensa/xtensa.c:2096
+#: config/xtensa/xtensa.c:2111
 #, gcc-internal-format
 msgid "-f%s is not supported with CONST16 instructions"
 msgstr "CONST16 指令不支持 -f%s"
 
-#: config/xtensa/xtensa.c:2101
+#: config/xtensa/xtensa.c:2116
 #, gcc-internal-format
 msgid "PIC is required but not supported with CONST16 instructions"
 msgstr "需要 PIC,但 CONST16 指令不支持"
 
-#: config/xtensa/xtensa.c:3006 config/xtensa/xtensa.c:3046
-#, gcc-internal-format
-msgid "bad builtin code"
-msgstr "错误的内建代码"
-
-#: config/xtensa/xtensa.c:3156
+#: config/xtensa/xtensa.c:3175
 #, gcc-internal-format
 msgid "only uninitialized variables can be placed in a .bss section"
 msgstr "只有未初始化的变量才能放在 .bss 节中"
 
-#: cp/call.c:2550
+#: cp/call.c:2705
 #, gcc-internal-format
 msgid "%s %D(%T, %T, %T) <built-in>"
 msgstr "%s %D(%T, %T, %T) <内建>"
 
-#: cp/call.c:2555
+#: cp/call.c:2710
 #, gcc-internal-format
 msgid "%s %D(%T, %T) <built-in>"
 msgstr "%s %D(%T, %T) <内建>"
 
-#: cp/call.c:2559
+#: cp/call.c:2714
 #, gcc-internal-format
 msgid "%s %D(%T) <built-in>"
 msgstr "%s %D(%T) <内建>"
 
-#: cp/call.c:2563
+#: cp/call.c:2718
 #, gcc-internal-format
 msgid "%s %T <conversion>"
 msgstr "%s %T <转换>"
 
-#: cp/call.c:2565
+#: cp/call.c:2720
 #, gcc-internal-format
 msgid "%s %+#D <near match>"
 msgstr "%s %+#D <就近匹配>"
 
-#: cp/call.c:2567 cp/pt.c:1404
+#: cp/call.c:2722
+#, gcc-internal-format
+msgid "%s %+#D <deleted>"
+msgstr "%s %+#D <已删除>"
+
+#: cp/call.c:2724 cp/pt.c:1660
 #, gcc-internal-format
 msgid "%s %+#D"
 msgstr "%s %+#D"
 
-#: cp/call.c:2849
+#: cp/call.c:3028
 #, gcc-internal-format
 msgid "conversion from %qT to %qT is ambiguous"
 msgstr "从%qT到%qT的转换有歧义"
 
-#: cp/call.c:3004 cp/call.c:3024 cp/call.c:3088
+#: cp/call.c:3190 cp/call.c:3211 cp/call.c:3276
 #, gcc-internal-format
 msgid "no matching function for call to %<%D(%A)%>"
 msgstr "对%<%D(%A)%>的调用没有匹配的函数"
 
-#: cp/call.c:3027 cp/call.c:3091
+#: cp/call.c:3214 cp/call.c:3279
 #, gcc-internal-format
 msgid "call of overloaded %<%D(%A)%> is ambiguous"
 msgstr "调用重载的%<%D(%A)%>有歧义"
 
 #. It's no good looking for an overloaded operator() on a
 #. pointer-to-member-function.
-#: cp/call.c:3164
+#: cp/call.c:3358
 #, gcc-internal-format
 msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
 msgstr "没有对象不能调用成员函数指针 %E,考虑使用 .* 或 ->*"
 
-#: cp/call.c:3240
+#: cp/call.c:3450
 #, gcc-internal-format
 msgid "no match for call to %<(%T) (%A)%>"
 msgstr "对%<(%T) (%A)%>的调用没有匹配"
 
-#: cp/call.c:3252
+#: cp/call.c:3463
 #, gcc-internal-format
 msgid "call of %<(%T) (%A)%> is ambiguous"
 msgstr "对%<(%T) (%A)%>的调用有歧义"
 
-#: cp/call.c:3293
+#: cp/call.c:3505
+#, gcc-internal-format
+msgid "ambiguous overload for ternary %<operator?:%> in %<%E ? %E : %E%>"
+msgstr "三元%<operator?:%>在%<%E ? %E : %E%>中的重载有歧义"
+
+#: cp/call.c:3508
+#, gcc-internal-format
+msgid "no match for ternary %<operator?:%> in %<%E ? %E : %E%>"
+msgstr "三元%<operator?:%>在%<%E ? %E : %E%>中没有匹配"
+
+#: cp/call.c:3515
+#, gcc-internal-format
+msgid "ambiguous overload for %<operator%s%> in %<%E%s%>"
+msgstr "%<operator%s%>在%<%E%s%>中的重载有歧义"
+
+#: cp/call.c:3518
+#, gcc-internal-format
+msgid "no match for %<operator%s%> in %<%E%s%>"
+msgstr "%<operator%s%>在%<%E%s%>中没有匹配"
+
+#: cp/call.c:3524
 #, gcc-internal-format
-msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
-msgstr "%s 为三元%<operator?:%>在%<%E ? %E : %E%>中"
+msgid "ambiguous overload for %<operator[]%> in %<%E[%E]%>"
+msgstr "%<operator[]%>在%<%E[%E]%>中的重载有歧义"
 
-#: cp/call.c:3299
+#: cp/call.c:3527
 #, gcc-internal-format
-msgid "%s for %<operator%s%> in %<%E%s%>"
-msgstr "%s 为%<operator%s%>在%<%E%s%>中"
+msgid "no match for %<operator[]%> in %<%E[%E]%>"
+msgstr "%<operator[]%>在%<%E[%E]%>中没有匹配"
 
-#: cp/call.c:3303
+#: cp/call.c:3534
 #, gcc-internal-format
-msgid "%s for %<operator[]%> in %<%E[%E]%>"
-msgstr "%s 为%<operator[]%>在%<%E[%E]%>中"
+msgid "ambiguous overload for %qs in %<%s %E%>"
+msgstr "%qs在%<%s %E%>中的重载有歧义"
 
-#: cp/call.c:3308
+#: cp/call.c:3537
 #, gcc-internal-format
-msgid "%s for %qs in %<%s %E%>"
-msgstr "%s 为%qs在%<%s %E%>"
+msgid "no match for %qs in %<%s %E%>"
+msgstr "%qs在%<%s %E%>中没有匹配"
 
-#: cp/call.c:3313
+#: cp/call.c:3544
 #, gcc-internal-format
-msgid "%s for %<operator%s%> in %<%E %s %E%>"
-msgstr "%s 为%<operator%s%>在%<%E %s %E%>中"
+msgid "ambiguous overload for %<operator%s%> in %<%E %s %E%>"
+msgstr "%<operator%s%>在%<%E %s %E%>中的重载有歧义"
 
-#: cp/call.c:3316
+#: cp/call.c:3547
 #, gcc-internal-format
-msgid "%s for %<operator%s%> in %<%s%E%>"
-msgstr "%s 为%<operator%s%>在%<%s%E%>中"
+msgid "no match for %<operator%s%> in %<%E %s %E%>"
+msgstr "%<operator%s%>在%<%E %s %E%>中没有匹配"
 
-#: cp/call.c:3410
+#: cp/call.c:3551
+#, gcc-internal-format
+msgid "ambiguous overload for %<operator%s%> in %<%s%E%>"
+msgstr "%<operator%s%>在 %<%s%E%>中的重载有歧义"
+
+#: cp/call.c:3554
+#, gcc-internal-format
+msgid "no match for %<operator%s%> in %<%s%E%>"
+msgstr "%<operator%s%>在%<%s%E%>中没有匹配"
+
+#: cp/call.c:3649
 #, gcc-internal-format
 msgid "ISO C++ forbids omitting the middle term of a ?: expression"
 msgstr "ISO C 不允许省略 ?: 表达式中的第二项"
 
-#: cp/call.c:3490
+#: cp/call.c:3730
 #, gcc-internal-format
 msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
-msgstr "条件操作符的第二个操作数类型为%<void%>,但第三个操作数既不是异常表达式,也不拥有%<void%>类型"
+msgstr "条件运算符的第二个操作数类型为%<void%>,但第三个操作数既不是异常表达式,也不拥有%<void%>类型"
 
-#: cp/call.c:3495
+#: cp/call.c:3735
 #, gcc-internal-format
 msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
-msgstr "条件操作符的第三个操作数类型为%<void%>,但第二个操作数既不是异常表达式,也不拥有%<void%>类型"
+msgstr "条件运算符的第三个操作数类型为%<void%>,但第二个操作数既不是异常表达式,也不拥有%<void%>类型"
 
-#: cp/call.c:3537 cp/call.c:3773
+#: cp/call.c:3777 cp/call.c:4015
 #, gcc-internal-format
 msgid "operands to ?: have different types %qT and %qT"
 msgstr "?: 的操作数类型不一致,分别为%qT和%qT"
 
-#: cp/call.c:3720
+#: cp/call.c:3962
 #, gcc-internal-format
 msgid "enumeral mismatch in conditional expression: %qT vs %qT"
 msgstr "条件表达式中枚举不匹配:%qT对%qT"
 
-#: cp/call.c:3731
+#: cp/call.c:3973
 #, gcc-internal-format
 msgid "enumeral and non-enumeral type in conditional expression"
 msgstr "枚举和非枚举类型一起出现在条件表达式中"
 
-#: cp/call.c:4043
+#: cp/call.c:4320
 #, gcc-internal-format
 msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
 msgstr "%<%D(int)%>没有出现在后缀%qs中,尝试使用前缀运算符"
 
-#: cp/call.c:4121
+#: cp/call.c:4322
+#, gcc-internal-format
+msgid "no %<%D(int)%> declared for postfix %qs"
+msgstr "没有为后缀%2$qs声明%<%1$D(int)%>"
+
+#: cp/call.c:4416
 #, gcc-internal-format
 msgid "comparison between %q#T and %q#T"
 msgstr "在%q#T和%q#T间比较"
 
-#: cp/call.c:4406
+#: cp/call.c:4660
+#, gcc-internal-format
+msgid "non-placement deallocation function %q+D"
+msgstr "非预定位的释放函数%q+D"
+
+#: cp/call.c:4661
+#, gcc-internal-format
+msgid "selected for placement delete"
+msgstr "被选择为预定位删除"
+
+#: cp/call.c:4740
 #, gcc-internal-format
 msgid "no corresponding deallocation function for %qD"
 msgstr "%qD没有相应的释放函数"
 
-#: cp/call.c:4411
+#: cp/call.c:4745
 #, gcc-internal-format
 msgid "no suitable %<operator %s%> for %qT"
 msgstr "没有合适的%<operator %s%>给%qT"
 
-#: cp/call.c:4429
+#: cp/call.c:4763
 #, gcc-internal-format
 msgid "%q+#D is private"
 msgstr "%q+#D是私有的"
 
-#: cp/call.c:4431
+#: cp/call.c:4765
 #, gcc-internal-format
 msgid "%q+#D is protected"
 msgstr "%q+#D是保护的"
 
-#: cp/call.c:4433
+#: cp/call.c:4767
 #, gcc-internal-format
 msgid "%q+#D is inaccessible"
 msgstr "%q+#D无法访问"
 
-#: cp/call.c:4434
+#: cp/call.c:4768
 #, gcc-internal-format
 msgid "within this context"
 msgstr "在此上下文中"
 
-#: cp/call.c:4480
+#: cp/call.c:4815
 #, gcc-internal-format
 msgid "passing NULL to non-pointer argument %P of %qD"
 msgstr "将 NULL 作为非指针实参 %P 传递给%qD"
 
-#: cp/call.c:4483
+#: cp/call.c:4818
 #, gcc-internal-format
 msgid "converting to non-pointer type %qT from NULL"
 msgstr "将 NULL 转换到非指针类型%qT"
 
-#: cp/call.c:4489
+#: cp/call.c:4824
 #, gcc-internal-format
 msgid "converting %<false%> to pointer type for argument %P of %qD"
 msgstr "将%<false%>转换为指向%2$qD的实参 %1$P 的指针类型"
 
-#: cp/call.c:4540 cp/cvt.c:217
+#: cp/call.c:4862
+#, gcc-internal-format
+msgid "too many braces around initializer for %qT"
+msgstr "%qT的初始值设定周围花括号太多"
+
+#: cp/call.c:4884 cp/cvt.c:217
 #, gcc-internal-format
 msgid "invalid conversion from %qT to %qT"
 msgstr "从类型%qT到类型%qT的转换无效"
 
-#: cp/call.c:4542
+#: cp/call.c:4886
 #, gcc-internal-format
 msgid "  initializing argument %P of %qD"
 msgstr "  初始化%2$qD的实参 %1$P"
 
-#: cp/call.c:4566
+#: cp/call.c:4910
 #, gcc-internal-format
 msgid "converting to %qT from initializer list would use explicit constructor %qD"
 msgstr "从初始化列表转换为%qT将使用显式构造函数%qD"
 
-#: cp/call.c:4723
+#: cp/call.c:5070
+#, gcc-internal-format
+msgid "cannot bind %qT lvalue to %qT"
+msgstr "无法将左值%qT绑定到%qT"
+
+#: cp/call.c:5073
+#, gcc-internal-format
+msgid "  initializing argument %P of %q+D"
+msgstr "以初始化%2$q+D的实参 %1$P"
+
+#: cp/call.c:5100
 #, gcc-internal-format
 msgid "cannot bind bitfield %qE to %qT"
 msgstr "无法将位段%qE绑定到%qT"
 
-#: cp/call.c:4726 cp/call.c:4744
+#: cp/call.c:5103 cp/call.c:5121
 #, gcc-internal-format
 msgid "cannot bind packed field %qE to %qT"
 msgstr "不能将紧实的字段%qE绑定到%qT"
 
-#: cp/call.c:4729
+#: cp/call.c:5106
 #, gcc-internal-format
 msgid "cannot bind rvalue %qE to %qT"
 msgstr "无法将右值%qE绑定到%qT"
 
-#: cp/call.c:4853
+#: cp/call.c:5225
 #, gcc-internal-format
-msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
-msgstr "不能通过%<...%>传递有非简单旧数据类型%q#T的对象;调用会在运行时中止"
+msgid "cannot pass objects of non-trivially-copyable type %q#T through %<...%>"
+msgstr "不能通过%<...%>传递有非平凡复制的类型%q#T"
 
-#. Undefined behavior [expr.call] 5.2.2/7.
-#: cp/call.c:4881
+#. conditionally-supported behavior [expr.call] 5.2.2/7.
+#: cp/call.c:5252
 #, gcc-internal-format
-msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
-msgstr "不能通过%<...%>接受有非简单旧数据类型%q#T的对象;调用会在运行时中止"
+msgid "cannot receive objects of non-trivially-copyable type %q#T through %<...%>; "
+msgstr "不能通过%<...%>接受有非平凡复制的类型%q#T;"
 
-#: cp/call.c:4929
+#: cp/call.c:5298
 #, gcc-internal-format
 msgid "the default argument for parameter %d of %qD has not yet been parsed"
 msgstr "%2$qD的第 %1$d 个形参的默认实参尚未被解析到"
 
-#: cp/call.c:4939
+#: cp/call.c:5308
 #, gcc-internal-format
 msgid "recursive evaluation of default argument for %q#D"
 msgstr "递归计算%q#D的默认参数"
 
-#: cp/call.c:5046
+#: cp/call.c:5425
 #, gcc-internal-format
 msgid "argument of function call might be a candidate for a format attribute"
 msgstr "函数的实参可能是 format 属性的备选"
 
-#: cp/call.c:5200
+#: cp/call.c:5609
 #, gcc-internal-format
 msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
 msgstr "将%qT作为%q#D的%<this%>实参时丢弃了类型限定"
 
-#: cp/call.c:5222
+#: cp/call.c:5631
 #, gcc-internal-format
 msgid "%qT is not an accessible base of %qT"
 msgstr "%qT是%qT的一个不可访问的基类"
 
-#: cp/call.c:5494
+#: cp/call.c:5679
+#, gcc-internal-format
+msgid "deducing %qT as %qT"
+msgstr "演绎 %qT 为 %qT"
+
+#: cp/call.c:5682
+#, gcc-internal-format
+msgid "  in call to %q+D"
+msgstr "在调用%q+D时"
+
+#: cp/call.c:5684
+#, gcc-internal-format
+msgid "  (you can disable this with -fno-deduce-init-list)"
+msgstr "(您可以用 -fno-deduce-init-lis 禁用它)"
+
+#: cp/call.c:5957
 #, gcc-internal-format
 msgid "could not find class$ field in java interface type %qT"
 msgstr "在 java 接口类型%qT中找不到 class$ 字段"
 
-#: cp/call.c:5737
+#: cp/call.c:6216
 #, gcc-internal-format
 msgid "call to non-function %qD"
 msgstr "调用非函数的%qD"
 
-#: cp/call.c:5876
+#: cp/call.c:6368
 #, gcc-internal-format
 msgid "no matching function for call to %<%T::%s(%A)%#V%>"
 msgstr "对%<%T::%s(%A)%#V%>的调用没有匹配的函数"
 
-#: cp/call.c:5897
+#: cp/call.c:6393
 #, gcc-internal-format
 msgid "call of overloaded %<%s(%A)%> is ambiguous"
 msgstr "对重载的%<%s(%A)%>的调用有歧义"
 
-#: cp/call.c:5926
+#: cp/call.c:6422
 #, gcc-internal-format
 msgid "cannot call member function %qD without object"
 msgstr "没有对象无法调用成员函数%qD"
 
-#: cp/call.c:6597
+#: cp/call.c:7108
 #, gcc-internal-format
 msgid "passing %qT chooses %qT over %qT"
 msgstr "传递%qT时选择%qT而不是%qT"
 
-#: cp/call.c:6599 cp/name-lookup.c:4420 cp/name-lookup.c:4864
+#: cp/call.c:7110 cp/name-lookup.c:5036
 #, gcc-internal-format
 msgid "  in call to %qD"
-msgstr "  在调用%qD时"
+msgstr "在调用%qD时"
 
-#: cp/call.c:6656
+#: cp/call.c:7167
 #, gcc-internal-format
 msgid "choosing %qD over %qD"
 msgstr "选择%qD而不是%qD"
 
-#: cp/call.c:6657
+#: cp/call.c:7168
 #, gcc-internal-format
 msgid "  for conversion from %qT to %qT"
-msgstr "  当从%qT转换为%qT时"
+msgstr "以从%qT转换为%qT"
 
-#: cp/call.c:6660
+#: cp/call.c:7171
 #, gcc-internal-format
 msgid "  because conversion sequence for the argument is better"
-msgstr "  因为前者的实参类型转换序列更好"
+msgstr "因为前者的实参类型转换序列更好"
+
+#: cp/call.c:7289
+#, gcc-internal-format
+msgid "default argument mismatch in overload resolution"
+msgstr "重载解决时默认参数不匹配"
 
-#: cp/call.c:6776
+#: cp/call.c:7292
+#, gcc-internal-format
+msgid " candidate 1: %q+#F"
+msgstr "备选 1: %q+#F"
+
+#: cp/call.c:7294
+#, gcc-internal-format
+msgid " candidate 2: %q+#F"
+msgstr "备选 2: %q+#F"
+
+#: cp/call.c:7332
 #, gcc-internal-format
 msgid "ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:"
 msgstr "ISO C++ 认为有歧义,尽管第一个备选的最差类型转换要好于第二个备选的最差类型转换"
 
-#: cp/call.c:6920
+#: cp/call.c:7485
 #, gcc-internal-format
 msgid "could not convert %qE to %qT"
 msgstr "不能将%qE转换为%qT"
 
-#: cp/call.c:7126
+#: cp/call.c:7703
 #, gcc-internal-format
-msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
-msgstr "不能将类型为%qT的非 const 引用初始化为类型为%qT的临时变量"
+msgid "invalid initialization of non-const reference of type %qT from an rvalue of type %qT"
+msgstr "用类型为%2$qT的右值初始化类型为%1$qT的非常量引用无效"
 
-#: cp/call.c:7130
+#: cp/call.c:7707
 #, gcc-internal-format
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr "将类型为%qT的引用初始化为类型为%qT的表达式无效"
 
-#: cp/class.c:280
+#: cp/class.c:278
 #, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr "无法从基类%qT转换到派生类%qT,通过虚基类%qT"
 
-#: cp/class.c:975
+#: cp/class.c:972
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr "Java 类%qT不能有析构函数"
 
-#: cp/class.c:977
+#: cp/class.c:974
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr "Java 类%qT不能有隐式的非平凡的析构函数"
 
-#: cp/class.c:1078
+#: cp/class.c:1075
 #, gcc-internal-format
 msgid "repeated using declaration %q+D"
 msgstr "重复的 using 声明%q+D"
 
-#: cp/class.c:1080
+#: cp/class.c:1077
 #, gcc-internal-format
 msgid "using declaration %q+D conflicts with a previous using declaration"
 msgstr "using 声明%q+D与先前的一个 using 声明冲突"
 
-#: cp/class.c:1085
+#: cp/class.c:1082
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "%q+#D无法被重载"
 
-#: cp/class.c:1086
+#: cp/class.c:1083
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr "与%q+#D"
 
-#: cp/class.c:1153
+#: cp/class.c:1150
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr "方法%q+D的权限设定冲突,已忽略"
 
-#: cp/class.c:1156
+#: cp/class.c:1153
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr "字段%qE的权限设定冲突,已忽略"
 
-#: cp/class.c:1217 cp/class.c:1225
+#: cp/class.c:1214 cp/class.c:1222
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "%q+D无效,在%q#T中"
 
-#: cp/class.c:1218
+#: cp/class.c:1215
 #, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr " 因为局部方法%q+#D与之重名"
 
-#: cp/class.c:1226
+#: cp/class.c:1223
 #, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr " 因为局部成员%q+#D与之重名"
 
-#: cp/class.c:1269
+#: cp/class.c:1272
 #, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr "基类%q#T有一个非虚析构函数"
 
-#: cp/class.c:1586
+#: cp/class.c:1632
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr "类%qT中所有成员函数都是私有的"
 
-#: cp/class.c:1598
+#: cp/class.c:1644
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr "%q#T仅定义了一个私有析构函数且没有友元"
 
-#: cp/class.c:1643
+#: cp/class.c:1689
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr "%q#T仅定义了一个私有构造函数且没有友元"
 
-#: cp/class.c:2036
+#: cp/class.c:2082
 #, gcc-internal-format
 msgid "no unique final overrider for %qD in %qT"
 msgstr "%qD的最终重载在%qT中不唯一"
 
 #. Here we know it is a hider, and no overrider exists.
-#: cp/class.c:2456
+#: cp/class.c:2505
 #, gcc-internal-format
 msgid "%q+D was hidden"
-msgstr "%q+D被隐藏"
+msgstr "%q+D"
 
-#: cp/class.c:2457
+#: cp/class.c:2506
 #, gcc-internal-format
 msgid "  by %q+D"
-msgstr "  为%q+D"
+msgstr "%q+D所隐藏"
 
-#: cp/class.c:2500 cp/decl2.c:1264
+#: cp/class.c:2549 cp/decl2.c:1292
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgstr "%q+#D无效;匿名联合只能有非静态的数据成员"
 
-#: cp/class.c:2503
+#: cp/class.c:2552
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
 msgstr "%q+#D无效;匿名联合只能有非静态的数据成员"
 
-#: cp/class.c:2511 cp/decl2.c:1270
+#: cp/class.c:2560 cp/decl2.c:1298
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "匿名联合中出现私有成员%q+#D"
 
-#: cp/class.c:2513
+#: cp/class.c:2562
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous struct"
 msgstr "匿名联合中出现私有成员%q+#D"
 
-#: cp/class.c:2518 cp/decl2.c:1272
+#: cp/class.c:2567 cp/decl2.c:1300
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr "匿名联合中出现保护成员%q+#D"
 
-#: cp/class.c:2520
+#: cp/class.c:2569
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous struct"
 msgstr "匿名联合中出现保护成员%q+#D"
 
-#: cp/class.c:2699
+#: cp/class.c:2753
 #, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "位段%q+#D有非整数的类型"
 
-#: cp/class.c:2712
+#: cp/class.c:2766
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr "位段%q+D的宽度不是一个整数常量"
 
-#: cp/class.c:2717
+#: cp/class.c:2771
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "位段%q+D宽度为负"
 
-#: cp/class.c:2722
+#: cp/class.c:2776
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "位段%q+D宽度为 0"
 
-#: cp/class.c:2728
+#: cp/class.c:2782
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr "%q+D的宽度超过了它的类型"
 
-#: cp/class.c:2738
+#: cp/class.c:2792
 #, gcc-internal-format
 msgid "%q+D is too small to hold all values of %q#T"
 msgstr "%q+D太小而不能存放%q#T的所有可能值"
 
-#: cp/class.c:2795
+#: cp/class.c:2849
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr "有构造函数的成员%q+#D不能用在联合中"
 
-#: cp/class.c:2798
+#: cp/class.c:2852
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr "有析构函数的成员%q+#D不能用在联合中"
 
-#: cp/class.c:2800
+#: cp/class.c:2854
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr "有拷贝赋值运算符的成员%q+#D不能用在联合中"
 
-#: cp/class.c:2824
+#: cp/class.c:2878
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr "初始化了联合%qT中的多个字段"
 
-#: cp/class.c:2913
+#: cp/class.c:2969
 #, gcc-internal-format
 msgid "%q+D may not be static because it is a member of a union"
 msgstr "%q+D不能是静态的,因为它是联合的成员"
 
-#: cp/class.c:2918
+#: cp/class.c:2974
 #, gcc-internal-format
 msgid "%q+D may not have reference type %qT because it is a member of a union"
 msgstr "%q+D不能有引用类型%qT,因为它是联合的成员"
 
-#: cp/class.c:2929
+#: cp/class.c:2985
 #, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "字段%q+D无效地声明为函数类型"
 
-#: cp/class.c:2935
+#: cp/class.c:2991
 #, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "字段%q+D无效地声明为方法类型"
 
-#: cp/class.c:2973
+#: cp/class.c:3040
 #, gcc-internal-format
 msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
 msgstr "为非紧实的非简单旧数据字段%q+#D忽略 packed 属性"
 
-#: cp/class.c:3052
+#: cp/class.c:3123
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr "字段%q+#D与类重名"
 
-#: cp/class.c:3083
+#: cp/class.c:3154
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%q#T有指针数据成员"
 
-#: cp/class.c:3088
+#: cp/class.c:3159
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
-msgstr "  但没有重载%<%T(const %T&)%>"
+msgstr "但没有重载%<%T(const %T&)%>"
 
-#: cp/class.c:3090
+#: cp/class.c:3161
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
-msgstr "  或%<operator=(const %T&)%>"
+msgstr "或者%<operator=(const %T&)%>"
 
-#: cp/class.c:3094
+#: cp/class.c:3165
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
-msgstr "  也没有重载%<operator=(const %T&)%>"
+msgstr "没有重载%<operator=(const %T&)%>"
 
-#: cp/class.c:3555
+#: cp/class.c:3628
 #, gcc-internal-format
 msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
 msgstr "空基类%qT的偏移量可能与 ABI 不兼容,并且可能在 GCC 的未来版本中改变"
 
-#: cp/class.c:3680
+#: cp/class.c:3755
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr "在 GCC 的未来版本中类%qT将被看作几乎为空"
 
-#: cp/class.c:3762
+#: cp/class.c:3837
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr "为非虚方法%q+D指定了初始值设定项"
 
-#: cp/class.c:4329
+#: cp/class.c:4426
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr "类中有非静态引用%q+#D,却没有提供构造函数"
 
-#: cp/class.c:4334
+#: cp/class.c:4431
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr "类中有非静态常量成员%q+#D却没有构造函数"
 
-#: cp/class.c:4589
+#. If the function is defaulted outside the class, we just
+#. give the synthesis error.
+#: cp/class.c:4457
+#, gcc-internal-format
+msgid "%q+D declared to take const reference, but implicit declaration would take non-const"
+msgstr "%q+D被声明为取常量引用,但是隐式声明取非常量引用"
+
+#: cp/class.c:4460
+#, gcc-internal-format
+msgid "%q+D declared to take non-const reference cannot be defaulted in the class body"
+msgstr "%q+D被声明为取非常量引用,不能在类体内默认化"
+
+#: cp/class.c:4679
 #, gcc-internal-format
 msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
 msgstr "虚基类%qT的偏移量与 ABI 不兼容,并且可能在 GCC 的未来版本中改变"
 
-#: cp/class.c:4690
+#: cp/class.c:4780
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr "由于存在歧义,直接基类%qT在%qT中无法访问"
 
-#: cp/class.c:4702
+#: cp/class.c:4792
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr "由于存在歧义,虚基类%qT在%qT中无法访问"
 
-#: cp/class.c:4881
+#: cp/class.c:4971
 #, gcc-internal-format
 msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
 msgstr "赋于%qT的大小可能与 ABI 不兼容,并且可能在 GCC 的未来版本中改变"
 
-#: cp/class.c:4921
+#: cp/class.c:5011
 #, gcc-internal-format
 msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
 msgstr "%qD的偏移量可能与 ABI 不兼容,并且可能在 GCC 的未来版本中改变"
 
-#: cp/class.c:4949
+#: cp/class.c:5039
 #, gcc-internal-format
 msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
 msgstr "%q+D的偏移量与 ABI 不兼容,并且在 GCC 的未来版本中可能会有变化"
 
-#: cp/class.c:4958
+#: cp/class.c:5048
 #, gcc-internal-format
 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 的未来版本可能会有变化"
 
-#: cp/class.c:5045
+#: cp/class.c:5136
 #, gcc-internal-format
 msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
 msgstr "空类%qT的派生类的布局在 GCC 的未来版本中可能会起变化"
 
-#: cp/class.c:5191
+#: cp/class.c:5284 cp/parser.c:16346
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "%q#T重定义"
 
-#: cp/class.c:5347
+#: cp/class.c:5436
 #, gcc-internal-format
 msgid "%q#T has virtual functions and accessible non-virtual destructor"
 msgstr "%q#T有虚函数和可访问的非虚拟析构函数"
 
-#: cp/class.c:5449
+#: cp/class.c:5541
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr "试图完成结构,但为先前的解析错误所中断"
 
-#: cp/class.c:5908
+#: cp/class.c:6005
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "语言字符串%<\"%E\"%>不可识别"
 
-#: cp/class.c:5997
+#: cp/class.c:6095
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr "无法解析重载函数%qD,基于向类型%qT的转换"
 
-#: cp/class.c:6126
+#: cp/class.c:6219
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr "没有可将函数%qD转换到类型%q#T的匹配项"
 
-#: cp/class.c:6149
+#: cp/class.c:6249
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr "将重载函数%qD转换为类型%q#T有歧义"
 
-#: cp/class.c:6175
+#: cp/class.c:6276
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "假定是成员指针%qD"
 
-#: cp/class.c:6178
+#: cp/class.c:6279
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr "(成员指针只能用%<&%E%>构成)"
 
-#: cp/class.c:6238 cp/class.c:6272
+#: cp/class.c:6341 cp/class.c:6375
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "类型信息不充分"
 
-#: cp/class.c:6255
+#: cp/class.c:6358
 #, gcc-internal-format
 msgid "argument of type %qT does not match %qT"
 msgstr "实参类型为%qT,与%qT不匹配"
@@ -27930,12 +30176,12 @@ msgstr "实参类型为%qT,与%qT不匹配"
 #. A name N used in a class S shall refer to the same declaration
 #. in its context and when re-evaluated in the completed scope of
 #. S.
-#: cp/class.c:6542 cp/decl.c:1194 cp/name-lookup.c:526
+#: cp/class.c:6660 cp/decl.c:1196 cp/name-lookup.c:525
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "%q#D的声明"
 
-#: cp/class.c:6543
+#: cp/class.c:6661
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr "改变了%qD的原意%q+#D"
@@ -27945,12 +30191,7 @@ msgstr "改变了%qD的原意%q+#D"
 msgid "continue statement not within loop or switch"
 msgstr "continue 语句不在循环或开关语句内"
 
-#: cp/cp-gimplify.c:409
-#, gcc-internal-format
-msgid "statement with no effect"
-msgstr "语句不起作用"
-
-#: cp/cp-gimplify.c:1150
+#: cp/cp-gimplify.c:1192
 #, gcc-internal-format
 msgid "%qE implicitly determined as %<firstprivate%> has reference type"
 msgstr "%qE隐式地被确定,因为%<firstprivate%>有引用类型"
@@ -27975,7 +30216,7 @@ msgstr "无法将%qE从类型%qT转换到类型%qT"
 msgid "conversion from %qT to %qT discards qualifiers"
 msgstr "从%qT到%qT的转换丢失了限定信息"
 
-#: cp/cvt.c:470 cp/typeck.c:5386
+#: cp/cvt.c:470 cp/typeck.c:5705
 #, gcc-internal-format
 msgid "casting %qT to %qT does not dereference pointer"
 msgstr "从%qT转换到%qT并未提领指针"
@@ -27985,192 +30226,188 @@ msgstr "从%qT转换到%qT并未提领指针"
 msgid "cannot convert type %qT to type %qT"
 msgstr "不能将类型%qT转换为类型%qT"
 
-#: cp/cvt.c:652
+#: cp/cvt.c:668
 #, gcc-internal-format
 msgid "conversion from %q#T to %q#T"
 msgstr "从%q#T到%q#T的转换"
 
-#: cp/cvt.c:667
+#: cp/cvt.c:683
 #, gcc-internal-format
 msgid "the result of the conversion is unspecified because %qE is outside the range of type %qT"
 msgstr "转换的结果不能确定,因为%qE已经超过了类型%qT的范围"
 
-#: cp/cvt.c:678 cp/cvt.c:698
+#: cp/cvt.c:694 cp/cvt.c:714
 #, gcc-internal-format
 msgid "%q#T used where a %qT was expected"
 msgstr "不应使用%q#T而应使用%qT"
 
-#: cp/cvt.c:713
+#: cp/cvt.c:729
 #, gcc-internal-format
 msgid "%q#T used where a floating point value was expected"
 msgstr "需要浮点数值时使用了%q#T"
 
-#: cp/cvt.c:763
+#: cp/cvt.c:789
 #, gcc-internal-format
 msgid "conversion from %qT to non-scalar type %qT requested"
 msgstr "请求从%qT转换到非标量类型%qT"
 
-#: cp/cvt.c:798
+#: cp/cvt.c:828
 #, gcc-internal-format
 msgid "pseudo-destructor is not called"
 msgstr "伪析构函数未被调用"
 
-#: cp/cvt.c:860
+#: cp/cvt.c:891
 #, gcc-internal-format
 msgid "object of incomplete type %qT will not be accessed in %s"
 msgstr "具有不完全类型%qT的对象不会在 %s 中被访问"
 
-#: cp/cvt.c:868
+#: cp/cvt.c:899
 #, gcc-internal-format
 msgid "object of type %qT will not be accessed in %s"
 msgstr "类型为%qT的对象不会在 %s 中被访问"
 
-#: cp/cvt.c:885
+#: cp/cvt.c:930
 #, gcc-internal-format
 msgid "object %qE of incomplete type %qT will not be accessed in %s"
 msgstr "对象%qE具有不完全的类型%qT,不会在 %s 中被访问"
 
-#: cp/cvt.c:923
+#: cp/cvt.c:970
 #, gcc-internal-format
 msgid "%s cannot resolve address of overloaded function"
 msgstr "%s 无法解析重载的函数地址"
 
-#: cp/cvt.c:933
+#: cp/cvt.c:980
 #, gcc-internal-format
 msgid "%s is a reference, not call, to function %qE"
 msgstr "%s 是对函数%qE的一个引用而不是调用"
 
-#: cp/cvt.c:951
+#: cp/cvt.c:998
 #, gcc-internal-format
 msgid "%s has no effect"
 msgstr "%s 不起作用"
 
-#: cp/cvt.c:985
-#, gcc-internal-format
-msgid "value computed is not used"
-msgstr "计算出的值未被使用"
-
-#: cp/cvt.c:1095
+#: cp/cvt.c:1142
 #, gcc-internal-format
 msgid "converting NULL to non-pointer type"
 msgstr "将 NULL 转换为非指针类型"
 
-#: cp/cvt.c:1201
+#: cp/cvt.c:1251
 #, gcc-internal-format
 msgid "ambiguous default type conversion from %qT"
 msgstr "%qT的默认类型转换有歧义"
 
-#: cp/cvt.c:1203
+#: cp/cvt.c:1253
 #, gcc-internal-format
 msgid "  candidate conversions include %qD and %qD"
 msgstr "  备选转换包括%qD和%qD"
 
-#: cp/decl.c:1057
+#: cp/decl.c:1059
 #, gcc-internal-format
 msgid "%qD was declared %<extern%> and later %<static%>"
 msgstr "%qD先被声明为%<extern%>后又被声明为%<static%>"
 
-#: cp/decl.c:1058 cp/decl.c:1605 objc/objc-act.c:2935 objc/objc-act.c:7522
+#: cp/decl.c:1060 cp/decl.c:1608 objc/objc-act.c:2983 objc/objc-act.c:7598
 #, gcc-internal-format
 msgid "previous declaration of %q+D"
 msgstr "%q+D的前一个声明"
 
-#: cp/decl.c:1091
+#: cp/decl.c:1093
 #, gcc-internal-format
 msgid "declaration of %qF throws different exceptions"
 msgstr "%qF的声明抛出不同的异常"
 
-#: cp/decl.c:1092
+#: cp/decl.c:1094
 #, gcc-internal-format
 msgid "from previous declaration %q+F"
 msgstr "从先前的声明%q+F"
 
-#: cp/decl.c:1148
+#: cp/decl.c:1150
 #, gcc-internal-format
 msgid "function %q+D redeclared as inline"
 msgstr "函数%q+D重声明为内联的"
 
-#: cp/decl.c:1150
+#: cp/decl.c:1152
 #, gcc-internal-format
 msgid "previous declaration of %q+D with attribute noinline"
 msgstr "先前%q+D的声明带有 noinline 属性"
 
-#: cp/decl.c:1157
+#: cp/decl.c:1159
 #, gcc-internal-format
 msgid "function %q+D redeclared with attribute noinline"
 msgstr "函数%q+D重声明为带有不可内联属性"
 
-#: cp/decl.c:1159
+#: cp/decl.c:1161
 #, gcc-internal-format
 msgid "previous declaration of %q+D was inline"
 msgstr "%q+D先前被声明为内联的"
 
-#: cp/decl.c:1181 cp/decl.c:1254
+#: cp/decl.c:1183 cp/decl.c:1256
 #, gcc-internal-format
 msgid "shadowing %s function %q#D"
 msgstr "隐藏了 %s 函数%q#D"
 
-#: cp/decl.c:1190
+#: cp/decl.c:1192
 #, gcc-internal-format
 msgid "library function %q#D redeclared as non-function %q#D"
 msgstr "库函数%q#D重声明为非函数%q#D"
 
-#: cp/decl.c:1195
+#: cp/decl.c:1197
 #, gcc-internal-format
 msgid "conflicts with built-in declaration %q#D"
 msgstr "与内建声明%q#D冲突"
 
-#: cp/decl.c:1249 cp/decl.c:1375 cp/decl.c:1391
+#: cp/decl.c:1251 cp/decl.c:1377 cp/decl.c:1393
 #, gcc-internal-format
 msgid "new declaration %q#D"
 msgstr "对%q#D的新声明"
 
-#: cp/decl.c:1250
+#: cp/decl.c:1252
 #, gcc-internal-format
 msgid "ambiguates built-in declaration %q#D"
 msgstr "使内建声明%q#D出现歧义"
 
-#: cp/decl.c:1339
+#: cp/decl.c:1341
 #, gcc-internal-format
 msgid "%q#D redeclared as different kind of symbol"
 msgstr "%q#D被重新声明为不同意义的符号"
 
-#: cp/decl.c:1342
+#: cp/decl.c:1344
 #, gcc-internal-format
 msgid "previous declaration of %q+#D"
 msgstr "%q+#D的前一个声明"
 
-#: cp/decl.c:1361
+#: cp/decl.c:1363
 #, gcc-internal-format
 msgid "declaration of template %q#D"
 msgstr "模板声明%q#D"
 
-#: cp/decl.c:1362 cp/name-lookup.c:527 cp/name-lookup.c:807
+#: cp/decl.c:1364 cp/name-lookup.c:526 cp/name-lookup.c:812
+#: cp/name-lookup.c:823
 #, gcc-internal-format
 msgid "conflicts with previous declaration %q+#D"
 msgstr "与先前的声明%q+#D冲突"
 
-#: cp/decl.c:1376 cp/decl.c:1392
+#: cp/decl.c:1378 cp/decl.c:1394
 #, gcc-internal-format
 msgid "ambiguates old declaration %q+#D"
 msgstr "使旧的声明%q+#D出现歧义"
 
-#: cp/decl.c:1384
+#: cp/decl.c:1386
 #, gcc-internal-format
 msgid "declaration of C function %q#D conflicts with"
 msgstr "C 函数%q#D的声明"
 
-#: cp/decl.c:1386
+#: cp/decl.c:1388
 #, gcc-internal-format
 msgid "previous declaration %q+#D here"
 msgstr "与此处早先的声明%q+#D冲突"
 
-#: cp/decl.c:1400
+#: cp/decl.c:1402
 #, gcc-internal-format
 msgid "conflicting declaration %q#D"
 msgstr "相互冲突的声明%q#D"
 
-#: cp/decl.c:1401
+#: cp/decl.c:1403
 #, gcc-internal-format
 msgid "%q+D has a previous declaration as %q#D"
 msgstr "%q+D早先被声明为%q#D"
@@ -28182,63 +30419,63 @@ msgstr "%q+D早先被声明为%q#D"
 #. A namespace-name defined at global scope shall not be
 #. declared as the name of any other entity in any global scope
 #. of the program.
-#: cp/decl.c:1453
+#: cp/decl.c:1455
 #, gcc-internal-format
 msgid "declaration of namespace %qD conflicts with"
 msgstr "命名空间%qD的声明存在冲突,与"
 
-#: cp/decl.c:1454
+#: cp/decl.c:1456
 #, gcc-internal-format
 msgid "previous declaration of namespace %q+D here"
 msgstr "命名空间%q+D早先的声明在这里"
 
-#: cp/decl.c:1465
+#: cp/decl.c:1467
 #, gcc-internal-format
 msgid "%q+#D previously defined here"
 msgstr "%q+#D已在此定义过"
 
 #. Prototype decl follows defn w/o prototype.
-#: cp/decl.c:1475
+#: cp/decl.c:1477
 #, gcc-internal-format
 msgid "prototype for %q+#D"
 msgstr "%q+#D的原型"
 
-#: cp/decl.c:1476
+#: cp/decl.c:1479
 #, gcc-internal-format
-msgid "%Jfollows non-prototype definition here"
-msgstr "%J在这里的非原型定义之后"
+msgid "follows non-prototype definition here"
+msgstr "出现在此处的非原型定义之后"
 
-#: cp/decl.c:1516
+#: cp/decl.c:1519
 #, gcc-internal-format
 msgid "previous declaration of %q+#D with %qL linkage"
 msgstr "%q+#D的早先声明有%qL链接"
 
-#: cp/decl.c:1518
+#: cp/decl.c:1521
 #, gcc-internal-format
 msgid "conflicts with new declaration with %qL linkage"
 msgstr "与带有%qL链接的新声明冲突"
 
-#: cp/decl.c:1541 cp/decl.c:1547
+#: cp/decl.c:1544 cp/decl.c:1550
 #, gcc-internal-format
 msgid "default argument given for parameter %d of %q#D"
 msgstr "为%2$q#D的第 %1$d 个形参指定了默认实参"
 
-#: cp/decl.c:1543 cp/decl.c:1549
+#: cp/decl.c:1546 cp/decl.c:1552
 #, gcc-internal-format
 msgid "after previous specification in %q+#D"
 msgstr "但先前在%q+#D中已有指定"
 
-#: cp/decl.c:1604
+#: cp/decl.c:1607
 #, gcc-internal-format
 msgid "redundant redeclaration of %qD in same scope"
 msgstr "同一作用域中%qD冗余的重声明"
 
-#: cp/decl.c:1610
+#: cp/decl.c:1613
 #, gcc-internal-format
 msgid "deleted definition of %qD"
 msgstr "删除了%qD的定义"
 
-#: cp/decl.c:1611
+#: cp/decl.c:1614
 #, gcc-internal-format
 msgid "after previous declaration %q+D"
 msgstr "在先前的声明%q+D之后"
@@ -28251,324 +30488,324 @@ msgstr "在先前的声明%q+D之后"
 #. that specialization that would cause an implicit
 #. instantiation to take place, in every translation unit in
 #. which such a use occurs.
-#: cp/decl.c:1939
+#: cp/decl.c:1965
 #, gcc-internal-format
 msgid "explicit specialization of %qD after first use"
 msgstr "在初次使用后显式特例化%qD"
 
-#: cp/decl.c:2029
+#: cp/decl.c:2062
 #, gcc-internal-format
 msgid "%q+D: visibility attribute ignored because it"
 msgstr "%q+D:可见性属性被忽略,因为它"
 
-#: cp/decl.c:2031
+#: cp/decl.c:2064
 #, gcc-internal-format
-msgid "%Jconflicts with previous declaration here"
-msgstr "%J与此处先前的声明冲突"
+msgid "conflicts with previous declaration here"
+msgstr "与先前此处的声明冲突"
 
-#: cp/decl.c:2464
+#: cp/decl.c:2504
 #, gcc-internal-format
 msgid "jump to label %qD"
 msgstr "跳转至标号%qD"
 
-#: cp/decl.c:2466
+#: cp/decl.c:2506
 #, gcc-internal-format
 msgid "jump to case label"
 msgstr "跳转至 case 标号"
 
-#: cp/decl.c:2468
+#: cp/decl.c:2508 cp/decl.c:2648 cp/decl.c:2689
 #, gcc-internal-format
-msgid "%H  from here"
-msgstr "%H  从这里"
+msgid "  from here"
+msgstr "从这里"
 
-#: cp/decl.c:2487 cp/decl.c:2650
+#: cp/decl.c:2527 cp/decl.c:2692
 #, gcc-internal-format
 msgid "  exits OpenMP structured block"
-msgstr "  退出 OpenMP 结构块"
+msgstr "退出了 OpenMP 结构块"
 
-#: cp/decl.c:2508
+#: cp/decl.c:2548
 #, gcc-internal-format
 msgid "  crosses initialization of %q+#D"
-msgstr "  跳过%q+#D的初始化"
+msgstr "跳过了%q+#D的初始化"
 
-#: cp/decl.c:2510 cp/decl.c:2625
+#: cp/decl.c:2550 cp/decl.c:2666
 #, gcc-internal-format
-msgid "  enters scope of non-POD %q+#D"
-msgstr "  进入非简单旧数据%q+#D的作用域"
+msgid "  enters scope of %q+#D which has non-trivial destructor"
+msgstr "进入了有非平凡析构函数的%q+#D的作用域"
 
-#: cp/decl.c:2523 cp/decl.c:2629
+#: cp/decl.c:2564 cp/decl.c:2671
 #, gcc-internal-format
 msgid "  enters try block"
-msgstr "  进入 try 块"
+msgstr "进入了 try 块"
 
-#: cp/decl.c:2525 cp/decl.c:2631
+#. Can't skip init of __exception_info.
+#: cp/decl.c:2566 cp/decl.c:2660 cp/decl.c:2673
 #, gcc-internal-format
 msgid "  enters catch block"
-msgstr "  进入 catch 块"
+msgstr "进入了 catch 块"
 
-#: cp/decl.c:2535 cp/decl.c:2634
+#: cp/decl.c:2576 cp/decl.c:2676
 #, gcc-internal-format
 msgid "  enters OpenMP structured block"
-msgstr "  进入 OpenMP 结构块"
+msgstr "进入了 OpenMP 结构块"
 
-#: cp/decl.c:2606 cp/decl.c:2646
+#: cp/decl.c:2647 cp/decl.c:2688
 #, gcc-internal-format
 msgid "jump to label %q+D"
 msgstr "跳转至标号%q+D"
 
-#: cp/decl.c:2607 cp/decl.c:2647
-#, gcc-internal-format
-msgid "  from here"
-msgstr "  从这里"
-
-#. Can't skip init of __exception_info.
-#: cp/decl.c:2619
-#, gcc-internal-format
-msgid "%J  enters catch block"
-msgstr "%J 进入 catch 块"
-
-#: cp/decl.c:2623
+#: cp/decl.c:2664
 #, gcc-internal-format
 msgid "  skips initialization of %q+#D"
-msgstr "  跳过%q+#D的初始化"
+msgstr "跳过了%q+#D的初始化"
 
-#: cp/decl.c:2699
+#: cp/decl.c:2741
 #, gcc-internal-format
 msgid "label named wchar_t"
 msgstr "标号名为 wchar_t"
 
-#: cp/decl.c:2703
-#, gcc-internal-format
-msgid "duplicate label %qD"
-msgstr "重复的标号%qD"
-
-#: cp/decl.c:2969
+#: cp/decl.c:3012
 #, gcc-internal-format
 msgid "%qD is not a type"
 msgstr "%qD不是一个类型"
 
-#: cp/decl.c:2975
+#: cp/decl.c:3018 cp/parser.c:4238
 #, gcc-internal-format
 msgid "%qD used without template parameters"
 msgstr "%qD使用时未带模板参数"
 
-#: cp/decl.c:2990
+#: cp/decl.c:3027
 #, gcc-internal-format
 msgid "%q#T is not a class"
 msgstr "%q#T不是一个类"
 
-#: cp/decl.c:3002 cp/decl.c:3070
+#: cp/decl.c:3051 cp/decl.c:3138
 #, gcc-internal-format
 msgid "no class template named %q#T in %q#T"
 msgstr "没有名为%q#T的类模板,在%q#T中 "
 
-#: cp/decl.c:3010
+#: cp/decl.c:3064
+#, gcc-internal-format
+msgid "lookup of %qT in %qT is ambiguous"
+msgstr "在%2$qT中查询%1$qT有歧义"
+
+#: cp/decl.c:3073
 #, gcc-internal-format
 msgid "%<typename %T::%D%> names %q#T, which is not a class template"
 msgstr "%<typename %T::%D%>指定了%q#T,但后者不是一个类模板"
 
-#: cp/decl.c:3017
+#: cp/decl.c:3080
 #, gcc-internal-format
 msgid "%<typename %T::%D%> names %q#T, which is not a type"
 msgstr "%<typename %T::%D%>指定了%q#T,但后者不是一个类型"
 
-#: cp/decl.c:3079
+#: cp/decl.c:3147
 #, gcc-internal-format
 msgid "template parameters do not match template"
 msgstr "模板参数与模板不符"
 
-#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+#: cp/decl.c:3148 cp/friend.c:321 cp/friend.c:329
 #, gcc-internal-format
 msgid "%q+D declared here"
 msgstr "%q+D已在此声明过"
 
-#: cp/decl.c:3755
+#: cp/decl.c:3830
 #, gcc-internal-format
-msgid "%Jan anonymous struct cannot have function members"
-msgstr "%J一个匿名联合不能有函数成员"
+msgid "an anonymous struct cannot have function members"
+msgstr "匿名结构不能有函数成员"
 
-#: cp/decl.c:3757
+#: cp/decl.c:3833
 #, gcc-internal-format
-msgid "%Jan anonymous union cannot have function members"
-msgstr "%J一个匿名联合不能有函数成员"
+msgid "an anonymous union cannot have function members"
+msgstr "匿名联合不能有函数成员"
 
-#: cp/decl.c:3775
+#: cp/decl.c:3851
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in anonymous aggregate"
 msgstr "有构造函数的成员%q+#D不允许在匿名聚合中出现"
 
-#: cp/decl.c:3778
+#: cp/decl.c:3854
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in anonymous aggregate"
 msgstr "有构构函数的成员%q+#D不允许在匿名聚合中出现"
 
-#: cp/decl.c:3781
+#: cp/decl.c:3857
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
 msgstr "有拷贝赋值运算符的成员%q+#D不能用在联合中"
 
-#: cp/decl.c:3806
+#: cp/decl.c:3882
 #, gcc-internal-format
 msgid "multiple types in one declaration"
 msgstr "一个声明指定了多个类型"
 
-#: cp/decl.c:3810
+#: cp/decl.c:3886
 #, gcc-internal-format
 msgid "redeclaration of C++ built-in type %qT"
 msgstr "对 C++ 内建类型%qT的重声明"
 
-#: cp/decl.c:3847
+#: cp/decl.c:3923
 #, gcc-internal-format
 msgid "missing type-name in typedef-declaration"
 msgstr "typedef 声明中缺少类型名"
 
-#: cp/decl.c:3854
+#: cp/decl.c:3930
 #, gcc-internal-format
 msgid "ISO C++ prohibits anonymous structs"
 msgstr "ISO C++ 不允许匿名结构"
 
-#: cp/decl.c:3861
+#: cp/decl.c:3937
 #, gcc-internal-format
 msgid "%qs can only be specified for functions"
 msgstr "只能为函数指定%qs"
 
-#: cp/decl.c:3867
+#: cp/decl.c:3943
 #, gcc-internal-format
 msgid "%<friend%> can only be specified inside a class"
 msgstr "%<friend%>只能在类中指定"
 
-#: cp/decl.c:3869
+#: cp/decl.c:3945
 #, gcc-internal-format
 msgid "%<explicit%> can only be specified for constructors"
 msgstr "只能为构造函数指定%<explicit%>"
 
-#: cp/decl.c:3871
+#: cp/decl.c:3947
 #, gcc-internal-format
 msgid "a storage class can only be specified for objects and functions"
 msgstr "只能为对象和函数指定存储类"
 
-#: cp/decl.c:3877
+#: cp/decl.c:3953
 #, gcc-internal-format
 msgid "qualifiers can only be specified for objects and functions"
 msgstr "只能为对象和函数指定类型限定"
 
-#: cp/decl.c:3880
+#: cp/decl.c:3956
 #, gcc-internal-format
 msgid "%<typedef%> was ignored in this declaration"
 msgstr "此声明中的 %<typedef%> 被忽略"
 
-#: cp/decl.c:3909
+#: cp/decl.c:3958
+#, gcc-internal-format
+msgid "%<constexpr> cannot be used for type declarations"
+msgstr "%<constexpr>不能被用作类型声明"
+
+#: cp/decl.c:3987
 #, gcc-internal-format
 msgid "attribute ignored in declaration of %q+#T"
 msgstr "属性于%q+#T的声明中被忽略"
 
-#: cp/decl.c:3910
+#: cp/decl.c:3988
 #, gcc-internal-format
 msgid "attribute for %q+#T must follow the %qs keyword"
 msgstr "%q+#T的属性必须跟在%qs关键字后面"
 
-#: cp/decl.c:3952
+#: cp/decl.c:4033
 #, gcc-internal-format
 msgid "ignoring attributes applied to class type %qT outside of definition"
 msgstr "忽略在定义之外为类类型%qT应用的属性"
 
 #. A template type parameter or other dependent type.
-#: cp/decl.c:3956
+#: cp/decl.c:4037
 #, gcc-internal-format
 msgid "ignoring attributes applied to dependent type %qT without an associated declaration"
 msgstr "忽略在关联定义之外为依赖类类型%qT应用的属性"
 
-#: cp/decl.c:4032
+#: cp/decl.c:4110 cp/decl2.c:792
 #, gcc-internal-format
 msgid "typedef %qD is initialized (use decltype instead)"
 msgstr "typedef%qD被初始化(改用 decltype)"
 
-#: cp/decl.c:4050
+#: cp/decl.c:4128
 #, gcc-internal-format
 msgid "declaration of %q#D has %<extern%> and is initialized"
 msgstr "%q#D声明有%<extern%>并被初始化"
 
-#: cp/decl.c:4075
+#: cp/decl.c:4153
 #, gcc-internal-format
 msgid "definition of %q#D is marked %<dllimport%>"
 msgstr "%q#D的定义被标记为 %<dllimport%>"
 
-#: cp/decl.c:4094
+#: cp/decl.c:4172
 #, gcc-internal-format
 msgid "%q#D is not a static member of %q#T"
 msgstr "%q#D不是%q#T的静态成员"
 
-#: cp/decl.c:4100
+#: cp/decl.c:4178
 #, gcc-internal-format
 msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
 msgstr "ISO C++ 不允许将%<%T::%D%>定义为%<%T::%D%>"
 
-#: cp/decl.c:4109
+#: cp/decl.c:4187
 #, gcc-internal-format
 msgid "template header not allowed in member definition of explicitly specialized class"
 msgstr "模板头不允许出现在显式特例化类的成员定义中"
 
-#: cp/decl.c:4117
+#: cp/decl.c:4195
 #, gcc-internal-format
 msgid "duplicate initialization of %qD"
 msgstr "ISO C++ 不允许成员%qD的初始化"
 
-#: cp/decl.c:4156
+#: cp/decl.c:4200
+#, gcc-internal-format
+msgid "%qD declared %<constexpr%> outside its class"
+msgstr "%qD在其类外被声明为%<constexpr%>"
+
+#: cp/decl.c:4237
 #, gcc-internal-format
 msgid "declaration of %q#D outside of class is not definition"
 msgstr "出现在类外的%q#D的声明不是定义"
 
-#: cp/decl.c:4251
+#: cp/decl.c:4335
 #, gcc-internal-format
 msgid "variable %q#D has initializer but incomplete type"
 msgstr "变量%q#D有初始值设定,但是类型不完全"
 
-#: cp/decl.c:4257 cp/decl.c:4999
+#: cp/decl.c:4341 cp/decl.c:5092
 #, gcc-internal-format
 msgid "elements of array %q#D have incomplete type"
 msgstr "数组%q#D的元素类型不完全"
 
-#: cp/decl.c:4264 cp/decl.c:5495
+#: cp/decl.c:4348 cp/decl.c:5588
 #, gcc-internal-format
 msgid "declaration of %q#D has no initializer"
-msgstr "%q#D声æ\98\8eæ\9c\89缺å°\91å\88\9då§\8bå\8c\96设定"
+msgstr "%q#D声æ\98\8eæ\9c\89缺å°\91å\88\9då§\8bå\80¼设定"
 
-#: cp/decl.c:4266
+#: cp/decl.c:4350
 #, gcc-internal-format
 msgid "aggregate %q#D has incomplete type and cannot be defined"
 msgstr "聚合%q#D类型不完全,无法被定义"
 
-#: cp/decl.c:4302
+#: cp/decl.c:4386
 #, gcc-internal-format
 msgid "%qD declared as reference but not initialized"
 msgstr "%qD声明为引用却未被初始化"
 
-#: cp/decl.c:4308
-#, gcc-internal-format
-msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
-msgstr "ISO C++ 不允许使用初始值设定列表来初始化引用%qD"
-
-#: cp/decl.c:4334
+#: cp/decl.c:4411
 #, gcc-internal-format
 msgid "cannot initialize %qT from %qT"
 msgstr "不能初始化%qT,从%qT"
 
-#: cp/decl.c:4395
+#: cp/decl.c:4475
+#, gcc-internal-format
+msgid "name used in a GNU-style designated initializer for an array"
+msgstr "名字被用在 GNU 风格的数组指定元素初始值设定中"
+
+#: cp/decl.c:4480
 #, gcc-internal-format
 msgid "name %qD used in a GNU-style designated initializer for an array"
 msgstr "名字%qD用在 GNU 风格的数组指定元素初始值设定中"
 
-#: cp/decl.c:4444
+#: cp/decl.c:4530
 #, gcc-internal-format
 msgid "initializer fails to determine size of %qD"
 msgstr "初始值设定无法决定%qD的大小"
 
-#: cp/decl.c:4451
+#: cp/decl.c:4537
 #, gcc-internal-format
 msgid "array size missing in %qD"
 msgstr "%qD缺少数组大小"
 
-#: cp/decl.c:4463
+#: cp/decl.c:4549
 #, gcc-internal-format
 msgid "zero-size array %qD"
 msgstr "大小为 0 的数组%qD"
@@ -28576,263 +30813,264 @@ msgstr "大小为 0 的数组%qD"
 #. An automatic variable with an incomplete type: that is an error.
 #. Don't talk about array types here, since we took care of that
 #. message in grokdeclarator.
-#: cp/decl.c:4506
+#: cp/decl.c:4592
 #, gcc-internal-format
 msgid "storage size of %qD isn't known"
 msgstr "%qD的存储大小未知"
 
-#: cp/decl.c:4529
+#: cp/decl.c:4615
 #, gcc-internal-format
 msgid "storage size of %qD isn't constant"
 msgstr "%qD的存储大小不是常量"
 
-#: cp/decl.c:4580
+#: cp/decl.c:4661
 #, gcc-internal-format
 msgid "sorry: semantics of inline function static data %q+#D are wrong (you'll wind up with multiple copies)"
 msgstr "对不起:内联函数中静态数据%q+#D的语义是错的(您会得到此变量的多份复制)"
 
-#: cp/decl.c:4583
+#: cp/decl.c:4665
+#, gcc-internal-format
+msgid "  you can work around this by removing the initializer"
+msgstr " 变通的作法是删除初始值设定"
+
+#: cp/decl.c:4685
 #, gcc-internal-format
-msgid "%J  you can work around this by removing the initializer"
-msgstr "%J  变通的作法是删除初始值设定"
+msgid "missing initializer for constexpr %qD"
+msgstr "constexpr %qD缺少初始值设定"
 
-#: cp/decl.c:4610
+#: cp/decl.c:4695
 #, gcc-internal-format
 msgid "uninitialized const %qD"
 msgstr "未初始化的常量%qD"
 
-#: cp/decl.c:4722
+#: cp/decl.c:4807
 #, gcc-internal-format
 msgid "invalid type %qT as initializer for a vector of type %qT"
-msgstr "无效类型%qT被用作类型为%qT的矢量的初始化设定"
+msgstr "无效类型%qT被用作类型为%qT的向量的初始值设定"
 
-#: cp/decl.c:4764
+#: cp/decl.c:4849
 #, gcc-internal-format
 msgid "initializer for %qT must be brace-enclosed"
-msgstr "%qTç\9a\84å\88\9då§\8bå\8c\96设定必须在花括号内"
+msgstr "%qTç\9a\84å\88\9då§\8bå\80¼设定必须在花括号内"
 
-#: cp/decl.c:4782
+#: cp/decl.c:4867
 #, gcc-internal-format
 msgid "%qT has no non-static data member named %qD"
 msgstr "%qT没有名为%qD的非静态数据成员"
 
-#: cp/decl.c:4838
+#: cp/decl.c:4926
 #, gcc-internal-format
 msgid "braces around scalar initializer for type %qT"
 msgstr "类型%qT的标量初始化带花括号"
 
-#: cp/decl.c:4924
+#: cp/decl.c:5017
 #, gcc-internal-format
 msgid "missing braces around initializer for %qT"
 msgstr "%qT的初始值设定周围缺少花括号"
 
-#: cp/decl.c:4981
+#: cp/decl.c:5074 cp/typeck2.c:1017 cp/typeck2.c:1192 cp/typeck2.c:1215
+#: cp/typeck2.c:1258
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "%qT的初始值设定项太多"
 
-#: cp/decl.c:5001
+#: cp/decl.c:5094
 #, gcc-internal-format
 msgid "elements of array %q#T have incomplete type"
 msgstr "数组%q#T的元素类型不完全"
 
-#: cp/decl.c:5010
+#: cp/decl.c:5103
 #, gcc-internal-format
 msgid "variable-sized object %qD may not be initialized"
 msgstr "可变大小的对象%qD不能被初始化"
 
-#: cp/decl.c:5012
+#: cp/decl.c:5105
 #, gcc-internal-format
 msgid "variable-sized compound literal"
 msgstr "变长复合字面值"
 
-#: cp/decl.c:5066
+#: cp/decl.c:5159
 #, gcc-internal-format
 msgid "%qD has incomplete type"
 msgstr "%qD类型不完全"
 
-#: cp/decl.c:5086
+#: cp/decl.c:5179
 #, gcc-internal-format
 msgid "scalar object %qD requires one element in initializer"
 msgstr "标量对象%qD在初始值设定中需要一个元素"
 
-#: cp/decl.c:5117
+#: cp/decl.c:5210
 #, gcc-internal-format
 msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>"
 msgstr "在 C++98 中%qD必须由构造函数而不是%<{...}%>初始化"
 
-#: cp/decl.c:5149
+#: cp/decl.c:5242
 #, gcc-internal-format
 msgid "array %qD initialized by parenthesized string literal %qE"
 msgstr "数组%qD被有括号的字面字符串%qE所初始化"
 
-#: cp/decl.c:5163
+#: cp/decl.c:5256
 #, gcc-internal-format
 msgid "structure %qD with uninitialized const members"
 msgstr "结构%qD有未初始化的常量成员"
 
-#: cp/decl.c:5165
+#: cp/decl.c:5258
 #, gcc-internal-format
 msgid "structure %qD with uninitialized reference members"
 msgstr "结构%qD有未初始化的引用成员"
 
-#: cp/decl.c:5462
+#: cp/decl.c:5555
 #, gcc-internal-format
 msgid "assignment (not initialization) in declaration"
 msgstr "赋值(不是初始化)出现在声明中"
 
-#: cp/decl.c:5575
+#: cp/decl.c:5696
 #, gcc-internal-format
 msgid "shadowing previous type declaration of %q#D"
 msgstr "隐藏了早先的类型声明%q#D"
 
-#: cp/decl.c:5605
+#: cp/decl.c:5728
 #, gcc-internal-format
-msgid "%qD cannot be thread-local because it has non-POD type %qT"
+msgid "%qD cannot be thread-local because it has non-trivial type %qT"
 msgstr "%qD不能是线程局部的,因为它有非简单旧数据的类型%qT"
 
-#: cp/decl.c:5637
+#: cp/decl.c:5760
 #, gcc-internal-format
 msgid "Java object %qD not allocated with %<new%>"
 msgstr "Java 对象%qD并非由%<new%>所分配"
 
-#: cp/decl.c:5654
+#: cp/decl.c:5777
 #, gcc-internal-format
 msgid "%qD is thread-local and so cannot be dynamically initialized"
 msgstr "%qD是线程局部的,所以不能被动态地初始化"
 
-#: cp/decl.c:5672
+#: cp/decl.c:5795
 #, gcc-internal-format
 msgid "%qD cannot be initialized by a non-constant expression when being declared"
 msgstr "%qD不能由一个声明时非常量的表达式初始化"
 
-#: cp/decl.c:5712
+#: cp/decl.c:5844
 #, gcc-internal-format
 msgid "non-static data member %qD has Java class type"
 msgstr "非静态数据成员%qD具有 Java 类类型"
 
-#: cp/decl.c:5778 cp/decl2.c:835
-#, gcc-internal-format
-msgid "%qD cannot be defaulted"
-msgstr "%qD不能作为默认"
-
-#: cp/decl.c:5789
+#: cp/decl.c:5908
 #, gcc-internal-format
 msgid "function %q#D is initialized like a variable"
 msgstr "函数%q#D像变量一样被初始化"
 
-#: cp/decl.c:6377
+#: cp/decl.c:6488
 #, gcc-internal-format
 msgid "destructor for alien class %qT cannot be a member"
 msgstr "其他类%qT的析构函数不能用作成员"
 
-#: cp/decl.c:6379
+#: cp/decl.c:6490
 #, gcc-internal-format
 msgid "constructor for alien class %qT cannot be a member"
 msgstr "其他类%qT的构造函数不能用作成员"
 
-#: cp/decl.c:6400
+#: cp/decl.c:6511
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> %s"
 msgstr "%qD声明为%<virtual%>%s"
 
-#: cp/decl.c:6402
+#: cp/decl.c:6513
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> %s"
 msgstr "%qD声明为%<inline%>%s"
 
-#: cp/decl.c:6404
+#: cp/decl.c:6515
 #, gcc-internal-format
 msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
 msgstr "为%qD指定的%<const%>和%<volatile%>在 %s 声明中无效"
 
-#: cp/decl.c:6408
+#: cp/decl.c:6519
 #, gcc-internal-format
 msgid "%q+D declared as a friend"
 msgstr "%q+D声明为友元"
 
-#: cp/decl.c:6414
+#: cp/decl.c:6525
 #, gcc-internal-format
 msgid "%q+D declared with an exception specification"
 msgstr "%q+D声明时有异常指定"
 
-#: cp/decl.c:6448
+#: cp/decl.c:6559
 #, gcc-internal-format
 msgid "definition of %qD is not in namespace enclosing %qT"
 msgstr "%qD的定义不在包含%qT的命名空间中"
 
-#: cp/decl.c:6566
+#: cp/decl.c:6680
 #, gcc-internal-format
 msgid "defining explicit specialization %qD in friend declaration"
 msgstr "在友元声明中定义显式特例化%qD"
 
 #. Something like `template <class T> friend void f<T>()'.
-#: cp/decl.c:6576
+#: cp/decl.c:6690
 #, gcc-internal-format
 msgid "invalid use of template-id %qD in declaration of primary template"
 msgstr "在基本模板的声明中对模板标识符%qD的使用无效"
 
-#: cp/decl.c:6606
+#: cp/decl.c:6720
 #, gcc-internal-format
 msgid "default arguments are not allowed in declaration of friend template specialization %qD"
 msgstr "友元模板特例化%qD中不允许出现默认参数"
 
-#: cp/decl.c:6614
+#: cp/decl.c:6728
 #, gcc-internal-format
 msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
 msgstr "%<inline%>不允许用于友元模板特例化%qD的声明"
 
-#: cp/decl.c:6657
+#: cp/decl.c:6771
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be a template"
 msgstr "不能将%<::main%>声明为一个模板"
 
-#: cp/decl.c:6659
+#: cp/decl.c:6773
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be inline"
 msgstr "不能将%<::main%>声明为 inline"
 
-#: cp/decl.c:6661
+#: cp/decl.c:6775
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be static"
 msgstr "不能将%<::main%>声明为 static"
 
-#: cp/decl.c:6689
+#: cp/decl.c:6803
 #, gcc-internal-format
 msgid "non-local function %q#D uses anonymous type"
 msgstr "非局部函数%q#D使用匿名类型"
 
-#: cp/decl.c:6692 cp/decl.c:6968
+#: cp/decl.c:6806 cp/decl.c:7089 cp/decl2.c:3444
 #, gcc-internal-format
 msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
 msgstr "%q+#D未指明非限定类型,所以它不被用作外部链接"
 
-#: cp/decl.c:6698
+#: cp/decl.c:6812
 #, gcc-internal-format
 msgid "non-local function %q#D uses local type %qT"
 msgstr "非局部函数%q#D使用了局部类型%qT"
 
-#: cp/decl.c:6717
+#: cp/decl.c:6831
 #, gcc-internal-format
 msgid "static member function %qD cannot have cv-qualifier"
 msgstr "成员函数%qD不能拥有 cv 限定符"
 
-#: cp/decl.c:6718
+#: cp/decl.c:6832
 #, gcc-internal-format
 msgid "non-member function %qD cannot have cv-qualifier"
 msgstr "非成员函数%qD不能拥有 cv 限定符"
 
-#: cp/decl.c:6766
+#: cp/decl.c:6877
 #, gcc-internal-format
 msgid "%<::main%> must return %<int%>"
 msgstr "%<::main%>必须返回%<int%>"
 
-#: cp/decl.c:6806
+#: cp/decl.c:6917
 #, gcc-internal-format
 msgid "definition of implicitly-declared %qD"
 msgstr "隐式声明的%qD的定义"
 
-#: cp/decl.c:6823 cp/decl2.c:680
+#: cp/decl.c:6934 cp/decl2.c:702
 #, gcc-internal-format
 msgid "no %q#D member function declared in class %qT"
 msgstr "成员函数%q#D未在类%qT中声明"
@@ -28841,581 +31079,666 @@ msgstr "成员函数%q#D未在类%qT中声明"
 #. no linkage can only be used to declare extern "C"
 #. entities.  Since it's not always an error in the
 #. ISO C++ 90 Standard, we only issue a warning.
-#: cp/decl.c:6965
+#: cp/decl.c:7086
 #, gcc-internal-format
 msgid "non-local variable %q#D uses anonymous type"
 msgstr "非局部变量%q#D使用了匿名类型"
 
-#: cp/decl.c:6974
+#: cp/decl.c:7095
 #, gcc-internal-format
 msgid "non-local variable %q#D uses local type %qT"
 msgstr "非局部变量%q#D使用了局部类型%qT"
 
-#: cp/decl.c:7097
+#: cp/decl.c:7216
 #, gcc-internal-format
 msgid "invalid in-class initialization of static data member of non-integral type %qT"
 msgstr "类中对具有非整数类型%qT的静态数据成员的初始化无效"
 
-#: cp/decl.c:7107
+#: cp/decl.c:7226
 #, gcc-internal-format
 msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
 msgstr "ISO C++ 不允许在类内初始化非常量静态成员%qD"
 
-#: cp/decl.c:7111
+#: cp/decl.c:7230
 #, gcc-internal-format
 msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT"
 msgstr "ISO C++ 不允许初始化成员常量%qD,因为它有非整数的类型%qT"
 
-#: cp/decl.c:7136
+#: cp/decl.c:7255
 #, gcc-internal-format
 msgid "size of array %qD has non-integral type %qT"
 msgstr "数组%qD的大小具有非整数类型%qT"
 
-#: cp/decl.c:7138
+#: cp/decl.c:7257
 #, gcc-internal-format
 msgid "size of array has non-integral type %qT"
 msgstr "数组%qT的大小的类型不是整数"
 
-#: cp/decl.c:7181
+#: cp/decl.c:7309
 #, gcc-internal-format
 msgid "size of array %qD is negative"
 msgstr "数组%qD的大小为负"
 
-#: cp/decl.c:7183
+#: cp/decl.c:7311
 #, gcc-internal-format
 msgid "size of array is negative"
 msgstr "数组大小为负数"
 
-#: cp/decl.c:7191
+#: cp/decl.c:7319
 #, gcc-internal-format
 msgid "ISO C++ forbids zero-size array %qD"
 msgstr "ISO C 不允许大小为 0 的数组%qD"
 
-#: cp/decl.c:7193
+#: cp/decl.c:7321
 #, gcc-internal-format
 msgid "ISO C++ forbids zero-size array"
 msgstr "ISO C++ 不允许大小为 0 的数组"
 
-#: cp/decl.c:7200
+#: cp/decl.c:7328
 #, gcc-internal-format
 msgid "size of array %qD is not an integral constant-expression"
 msgstr "数组%qD的大小不是一个整数常表达式"
 
-#: cp/decl.c:7203
+#: cp/decl.c:7331
 #, gcc-internal-format
 msgid "size of array is not an integral constant-expression"
 msgstr "数组大小不是一个整数常表达式"
 
-#: cp/decl.c:7209
+#: cp/decl.c:7337
 #, gcc-internal-format
 msgid "ISO C++ forbids variable length array %qD"
 msgstr "ISO C++ 不允许变长数组%qD"
 
-#: cp/decl.c:7211
+#: cp/decl.c:7339
 #, gcc-internal-format
 msgid "ISO C++ forbids variable length array"
 msgstr "ISO C++ 不允许变长数组"
 
-#: cp/decl.c:7217
+#: cp/decl.c:7345
 #, gcc-internal-format
 msgid "variable length array %qD is used"
 msgstr "使用了变长数组%qD"
 
-#: cp/decl.c:7253
+#: cp/decl.c:7381
 #, gcc-internal-format
 msgid "overflow in array dimension"
 msgstr "数组维数溢出"
 
-#: cp/decl.c:7334
+#: cp/decl.c:7441
+#, gcc-internal-format
+msgid "declaration of %qD as array of void"
+msgstr "%qD声明为 void 的数组"
+
+#: cp/decl.c:7443
+#, gcc-internal-format
+msgid "creating array of void"
+msgstr "创建 void 数组"
+
+#: cp/decl.c:7449
+#, gcc-internal-format
+msgid "declaration of %qD as array of functions"
+msgstr "%qD声明为函数的数组"
+
+#: cp/decl.c:7451
+#, gcc-internal-format
+msgid "creating array of functions"
+msgstr "创建函数的数组"
+
+#: cp/decl.c:7457
+#, gcc-internal-format
+msgid "declaration of %qD as array of references"
+msgstr "%qD声明为引用的数组"
+
+#: cp/decl.c:7459
+#, gcc-internal-format
+msgid "creating array of references"
+msgstr "创建引用的数组"
+
+#: cp/decl.c:7465
 #, gcc-internal-format
-msgid "declaration of %qD as %s"
-msgstr "%qD声明为 %s"
+msgid "declaration of %qD as array of function members"
+msgstr "%qD声明为函数成员的数组"
 
-#: cp/decl.c:7336
+#: cp/decl.c:7467
 #, gcc-internal-format
-msgid "creating %s"
-msgstr "创建 %s"
+msgid "creating array of function members"
+msgstr "创建函数成员的组织"
 
-#: cp/decl.c:7348
+#: cp/decl.c:7482
 #, gcc-internal-format
 msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
 msgstr "多维数组%qD的声明必须至少指定除第一维以外所有维的大小"
 
-#: cp/decl.c:7352
+#: cp/decl.c:7486
 #, gcc-internal-format
 msgid "multidimensional array must have bounds for all dimensions except the first"
 msgstr "声明多维数组必须至少指定除第一维以外所有维的大小"
 
-#: cp/decl.c:7387
+#: cp/decl.c:7521
 #, gcc-internal-format
 msgid "return type specification for constructor invalid"
 msgstr "为构造函数指定返回值无效"
 
-#: cp/decl.c:7397
+#: cp/decl.c:7531
 #, gcc-internal-format
 msgid "return type specification for destructor invalid"
 msgstr "指定析构函数的返回类型无效"
 
-#: cp/decl.c:7410
+#: cp/decl.c:7544
 #, gcc-internal-format
 msgid "return type specified for %<operator %T%>"
 msgstr "为%<operator %T%>指定了返回值"
 
-#: cp/decl.c:7432
+#: cp/decl.c:7566
 #, gcc-internal-format
 msgid "unnamed variable or field declared void"
 msgstr "无名变量或字段声明为 void"
 
-#: cp/decl.c:7436
-#, gcc-internal-format
-msgid "variable or field %qE declared void"
-msgstr "变量或字段%qE声明为 void"
-
-#: cp/decl.c:7439
+#: cp/decl.c:7573
 #, gcc-internal-format
 msgid "variable or field declared void"
 msgstr "变量或字段声明为 void"
 
-#: cp/decl.c:7609
+#: cp/decl.c:7752
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<::%D%>"
 msgstr "对限定名%<::%D%>的使用无效"
 
-#: cp/decl.c:7612
+#: cp/decl.c:7755
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<%T::%D%>"
 msgstr "对限定名%<%T::%D%>的使用无效"
 
-#: cp/decl.c:7615
+#: cp/decl.c:7758
 #, gcc-internal-format
 msgid "invalid use of qualified-name %<%D::%D%>"
 msgstr "对限定名%<%D::%D%>的使用无效"
 
-#: cp/decl.c:7627
+#: cp/decl.c:7770
 #, gcc-internal-format
 msgid "type %qT is not derived from type %qT"
 msgstr "类型%qT不是由类型%qT派生的"
 
-#: cp/decl.c:7643 cp/decl.c:7733 cp/decl.c:8927
+#: cp/decl.c:7786 cp/decl.c:7878 cp/decl.c:9145
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "%qD没有声明为一个函数"
 
-#: cp/decl.c:7649
+#: cp/decl.c:7792
 #, gcc-internal-format
 msgid "declaration of %qD as non-member"
 msgstr "%qD未声明为成员"
 
-#: cp/decl.c:7678
+#: cp/decl.c:7823
 #, gcc-internal-format
 msgid "declarator-id missing; using reserved word %qD"
 msgstr "缺少声明标识符:使用了保留字%qD"
 
-#: cp/decl.c:7725
+#: cp/decl.c:7870
 #, gcc-internal-format
 msgid "function definition does not declare parameters"
 msgstr "函数定义未声明形参"
 
-#: cp/decl.c:7767
+#: cp/decl.c:7912
 #, gcc-internal-format
 msgid "two or more data types in declaration of %qs"
 msgstr "%qs的声明指定了两个以上的数据类型"
 
-#: cp/decl.c:7773
+#: cp/decl.c:7918
 #, gcc-internal-format
 msgid "conflicting specifiers in declaration of %qs"
 msgstr "%qs的声明中有相互冲突的限定符"
 
-#: cp/decl.c:7844 cp/decl.c:7847 cp/decl.c:7850
+#: cp/decl.c:7989 cp/decl.c:7992 cp/decl.c:7995
 #, gcc-internal-format
 msgid "ISO C++ forbids declaration of %qs with no type"
 msgstr "ISO C++ 不允许声明无类型的%qs"
 
-#: cp/decl.c:7875 cp/decl.c:7893
+#: cp/decl.c:8020 cp/decl.c:8038
 #, gcc-internal-format
 msgid "%<signed%> or %<unsigned%> invalid for %qs"
 msgstr "为%qs使用%<signed%>或%<unsigned%>无效"
 
-#: cp/decl.c:7877
+#: cp/decl.c:8022
 #, gcc-internal-format
 msgid "%<signed%> and %<unsigned%> specified together for %qs"
 msgstr "为%qs同时给定了%<signed%>和%<unsigned%>"
 
-#: cp/decl.c:7879
+#: cp/decl.c:8024
 #, gcc-internal-format
 msgid "%<long long%> invalid for %qs"
 msgstr "%<long long%>对%qs无效"
 
-#: cp/decl.c:7881
+#: cp/decl.c:8026
 #, gcc-internal-format
 msgid "%<long%> invalid for %qs"
 msgstr "%<long%>对%qs无效"
 
-#: cp/decl.c:7883
+#: cp/decl.c:8028
 #, gcc-internal-format
 msgid "%<short%> invalid for %qs"
 msgstr "%<short%>对%qs无效"
 
-#: cp/decl.c:7885
+#: cp/decl.c:8030
 #, gcc-internal-format
 msgid "%<long%> or %<short%> invalid for %qs"
 msgstr "%<long%>或%<short%>对%qs无效"
 
-#: cp/decl.c:7887
+#: cp/decl.c:8032
 #, gcc-internal-format
 msgid "%<long%> or %<short%> specified with char for %qs"
 msgstr "为 char%qs给定了%<long%>或%<short%>"
 
-#: cp/decl.c:7889
+#: cp/decl.c:8034
 #, gcc-internal-format
 msgid "%<long%> and %<short%> specified together for %qs"
 msgstr "为%qs同时给定了%<long%>和%<short%>"
 
-#: cp/decl.c:7895
+#: cp/decl.c:8040
 #, gcc-internal-format
 msgid "%<short%> or %<long%> invalid for %qs"
 msgstr "%<long%>或%<short%>对%qs无效"
 
-#: cp/decl.c:7903
+#: cp/decl.c:8048
 #, gcc-internal-format
 msgid "long, short, signed or unsigned used invalidly for %qs"
 msgstr "为%qs使用 long、short、signed 或 unsigned 无效"
 
-#: cp/decl.c:7967
+#: cp/decl.c:8112
 #, gcc-internal-format
 msgid "complex invalid for %qs"
 msgstr "对%qs而言无效的复数"
 
-#: cp/decl.c:7996
+#: cp/decl.c:8143
+#, gcc-internal-format
+msgid "both %<const%> and %<constexpr%> cannot be used here"
+msgstr "不能在这里同时使用%<const%>和%<constexpr%>"
+
+#: cp/decl.c:8152
 #, gcc-internal-format
 msgid "qualifiers are not allowed on declaration of %<operator %T%>"
 msgstr "%<operator %T%>的声明中不能使用限定符"
 
-#: cp/decl.c:8009 cp/typeck.c:7189
+#: cp/decl.c:8165 cp/typeck.c:7578
 #, gcc-internal-format
 msgid "ignoring %qV qualifiers added to function type %qT"
 msgstr "忽略%qV限定符,在函数类型%qT上"
 
-#: cp/decl.c:8032
+#: cp/decl.c:8188
 #, gcc-internal-format
 msgid "member %qD cannot be declared both virtual and static"
 msgstr "成员%qD不能既被声明为虚函数,又被声明为静态函数"
 
-#: cp/decl.c:8040
+#: cp/decl.c:8196
 #, gcc-internal-format
 msgid "%<%T::%D%> is not a valid declarator"
 msgstr "%<%T::%D%>不是一个有效的声明"
 
-#: cp/decl.c:8049
+#: cp/decl.c:8205
 #, gcc-internal-format
 msgid "typedef declaration invalid in parameter declaration"
 msgstr "形参声明中出现的 typedef 声明无效"
 
-#: cp/decl.c:8055
+#: cp/decl.c:8210
+#, gcc-internal-format
+msgid "storage class specified for template parameter %qs"
+msgstr "为模板参数%qs指定了存储类"
+
+#: cp/decl.c:8216
 #, gcc-internal-format
 msgid "storage class specifiers invalid in parameter declarations"
 msgstr "为形参声明指定了无效的存储类"
 
-#: cp/decl.c:8059
+#: cp/decl.c:8220
 #, gcc-internal-format
 msgid "parameter declared %<auto%>"
 msgstr "形参声明为%<auto%>"
 
-#: cp/decl.c:8068
+#: cp/decl.c:8228
+#, gcc-internal-format
+msgid "a parameter cannot be declared %<constexpr%>"
+msgstr "形参不能被声明为%<constexpr%>"
+
+#: cp/decl.c:8237
 #, gcc-internal-format
 msgid "%<virtual%> outside class declaration"
 msgstr "%<virtual%>用在类声明以外"
 
-#: cp/decl.c:8086
+#: cp/decl.c:8255
 #, gcc-internal-format
 msgid "multiple storage classes in declaration of %qs"
 msgstr "%qs的声明指定了多个存储类"
 
-#: cp/decl.c:8109
+#: cp/decl.c:8278
 #, gcc-internal-format
 msgid "storage class specified for %qs"
 msgstr "为%qs指定了存储类"
 
-#: cp/decl.c:8130
+#: cp/decl.c:8282
+#, gcc-internal-format
+msgid "storage class specified for parameter %qs"
+msgstr "为形参%qs指定了存储类"
+
+#: cp/decl.c:8295
+#, gcc-internal-format
+msgid "nested function %qs declared %<extern%>"
+msgstr "嵌套函数%qs被声明为%<extern%>"
+
+#: cp/decl.c:8299
 #, gcc-internal-format
 msgid "top-level declaration of %qs specifies %<auto%>"
 msgstr "在文件层将%qs声明为%<auto%>"
 
-#: cp/decl.c:8143
+#: cp/decl.c:8305
+#, gcc-internal-format
+msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+msgstr "函数作用域的%qs隐式为 auto,却被声明为%<__thread%>"
+
+#: cp/decl.c:8312
 #, gcc-internal-format
 msgid "storage class specifiers invalid in friend function declarations"
 msgstr "为友元函数声明指定了无效的存储类"
 
-#: cp/decl.c:8257
+#: cp/decl.c:8406
 #, gcc-internal-format
-msgid "invalid use of %<auto%> in conversion operator"
-msgstr "在转换操作符中使用%<auto%>无效"
+msgid "%qs declared as function returning a function"
+msgstr "%qs声明为返回一个函数的函数"
+
+#: cp/decl.c:8411
+#, gcc-internal-format
+msgid "%qs declared as function returning an array"
+msgstr "%qs声明为返回一个数组的函数"
 
-#: cp/decl.c:8262
+#: cp/decl.c:8432
 #, gcc-internal-format
 msgid "%qs function uses %<auto%> type specifier without late return type"
 msgstr "%qs函数使用了%<auto%>类型限定却没有迟返回类型"
 
-#: cp/decl.c:8268
+#: cp/decl.c:8438
 #, gcc-internal-format
 msgid "%qs function with late return type has %qT as its type rather than plain %<auto%>"
 msgstr "%qs函数使用迟返回类型%qT作为它的类型,而不是%<auto%>"
 
-#: cp/decl.c:8276
+#: cp/decl.c:8446
 #, gcc-internal-format
 msgid "%qs function with late return type not declared with %<auto%> type specifier"
 msgstr "%qs函数使用了迟返回类型却未用%<auto%>类型限定声明"
 
-#: cp/decl.c:8309
+#: cp/decl.c:8479
 #, gcc-internal-format
 msgid "destructor cannot be static member function"
 msgstr "析构函数不能是静态成员函数"
 
-#: cp/decl.c:8314
+#: cp/decl.c:8484
 #, gcc-internal-format
 msgid "destructors may not be cv-qualified"
 msgstr "析构函数不能被 cv 限定"
 
-#: cp/decl.c:8332
+#: cp/decl.c:8502
 #, gcc-internal-format
 msgid "constructors cannot be declared virtual"
 msgstr "构造函数不能被声明为虚函数"
 
-#: cp/decl.c:8345
+#: cp/decl.c:8515
 #, gcc-internal-format
 msgid "can't initialize friend function %qs"
 msgstr "无法初始化友元函数%qs"
 
 #. Cannot be both friend and virtual.
-#: cp/decl.c:8349
+#: cp/decl.c:8519
 #, gcc-internal-format
 msgid "virtual functions cannot be friends"
 msgstr "虚函数不能是友元"
 
-#: cp/decl.c:8353
+#: cp/decl.c:8523
 #, gcc-internal-format
 msgid "friend declaration not in class definition"
 msgstr "友元声明不在类定义内"
 
-#: cp/decl.c:8355
+#: cp/decl.c:8525
 #, gcc-internal-format
 msgid "can't define friend function %qs in a local class definition"
 msgstr "局部类定义中不能定义友元函数%qs"
 
-#: cp/decl.c:8368
+#: cp/decl.c:8543
+#, gcc-internal-format
+msgid "the %<constexpr%> specifier cannot be used in a function declaration that is not a definition"
+msgstr "%<constexpr%>限定符不能用于非定义的函数声明中"
+
+#: cp/decl.c:8561
 #, gcc-internal-format
 msgid "destructors may not have parameters"
 msgstr "析构函数不能有参数"
 
-#: cp/decl.c:8387
+#: cp/decl.c:8580
 #, gcc-internal-format
 msgid "cannot declare pointer to %q#T"
 msgstr "无法声明指向%q#T的指针"
 
-#: cp/decl.c:8400 cp/decl.c:8407
+#: cp/decl.c:8593 cp/decl.c:8600
 #, gcc-internal-format
 msgid "cannot declare reference to %q#T"
 msgstr "无法声明对%q#T的引用"
 
-#: cp/decl.c:8409
+#: cp/decl.c:8602
 #, gcc-internal-format
 msgid "cannot declare pointer to %q#T member"
 msgstr "无法声明指向%q#T成员的指针"
 
-#: cp/decl.c:8460
+#: cp/decl.c:8622
+#, gcc-internal-format
+msgid "cannot declare %s to qualified function type %qT"
+msgstr "不能将 %s 声明为限定的函数类型%qT"
+
+#: cp/decl.c:8659
 #, gcc-internal-format
 msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument"
 msgstr "无法声明对%q#T的引用,因为它不是 typedef 或者模板类型实参"
 
-#: cp/decl.c:8504
+#: cp/decl.c:8703
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr "模板标识符%qD用作声明"
 
-#: cp/decl.c:8555
+#: cp/decl.c:8754
 #, gcc-internal-format
 msgid "member functions are implicitly friends of their class"
 msgstr "成员函数隐式地成为所属类的友元"
 
-#: cp/decl.c:8560
+#: cp/decl.c:8759
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr "有多余的限定%<%T::%>在成员%qs上"
 
-#: cp/decl.c:8592
+#: cp/decl.c:8791
 #, gcc-internal-format
 msgid "cannot define member function %<%T::%s%> within %<%T%>"
 msgstr "无法定义成员函数%<%T::%s%>,在%<%T%>中"
 
-#: cp/decl.c:8609
+#: cp/decl.c:8800
+#, gcc-internal-format
+msgid "a constexpr function cannot be defined outside of its class"
+msgstr "constexpr 函数不能定义在类外"
+
+#: cp/decl.c:8814
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr "无法声明成员%<%T::%s%>,在%qT中"
 
-#: cp/decl.c:8632
+#: cp/decl.c:8837
 #, gcc-internal-format
 msgid "non-parameter %qs cannot be a parameter pack"
 msgstr "非形参%qs不能是一个参数包"
 
-#: cp/decl.c:8653
+#: cp/decl.c:8847
+#, gcc-internal-format
+msgid "size of array %qs is too large"
+msgstr "数组%qs太大"
+
+#: cp/decl.c:8858
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr "数据成员不能具有可变类型%qT"
 
-#: cp/decl.c:8655
+#: cp/decl.c:8860
 #, gcc-internal-format
 msgid "parameter may not have variably modified type %qT"
 msgstr "参数不能具有可变类型%qT"
 
 #. [dcl.fct.spec] The explicit specifier shall only be used in
 #. declarations of constructors within a class definition.
-#: cp/decl.c:8663
+#: cp/decl.c:8868
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "只有构造函数才能被声明为%<explicit%>"
 
-#: cp/decl.c:8671
+#: cp/decl.c:8876
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "非成员%qs不能被声明为%<mutable%>"
 
-#: cp/decl.c:8676
+#: cp/decl.c:8881
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr "非对象成员%qs不能被声明为%<mutable%>"
 
-#: cp/decl.c:8682
+#: cp/decl.c:8887
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "函数%qs不能被声明为%<mutable%>"
 
-#: cp/decl.c:8687
+#: cp/decl.c:8892
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "静态%qs不能被声明为%<mutable%>"
 
-#: cp/decl.c:8692
+#: cp/decl.c:8897
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "常量%qs不能被声明为%<mutable%>"
 
-#: cp/decl.c:8729
+#: cp/decl.c:8935
 #, gcc-internal-format
-msgid "%Jtypedef name may not be a nested-name-specifier"
-msgstr "%Jtypedef 名不能是嵌套名指定"
+msgid "typedef name may not be a nested-name-specifier"
+msgstr "typedef 名不能是嵌套名指定"
 
-#: cp/decl.c:8747
+#: cp/decl.c:8953
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr "ISO C++ 不允许嵌类的类型%qD与其所属的类重名"
 
-#: cp/decl.c:8831
+#: cp/decl.c:9047
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare static member functions"
 msgstr "限定的函数类型不能用来声明静态成员函数"
 
-#: cp/decl.c:8833
+#: cp/decl.c:9049
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare free functions"
 msgstr "限定的函数类型不能用来声明非成员函数"
 
-#: cp/decl.c:8859
+#: cp/decl.c:9075
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr "为友元类声明指定了类型限定"
 
-#: cp/decl.c:8864
+#: cp/decl.c:9080
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "友元函数声明中出现了%<inline%>"
 
-#: cp/decl.c:8872
+#: cp/decl.c:9088
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "模板参数不能是友元"
 
-#: cp/decl.c:8874
+#: cp/decl.c:9090
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr "友元声明需要 class,即%<friend class %T::%D%>"
 
-#: cp/decl.c:8878
+#: cp/decl.c:9094
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr "友元声明需要 class,即%<friend %#T%>"
 
-#: cp/decl.c:8891
+#: cp/decl.c:9107
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr "试图让%qT成为全局域的友元"
 
-#: cp/decl.c:8902
+#: cp/decl.c:9125
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr "非成员函数类型上的限定符无效"
 
-#: cp/decl.c:8917
+#: cp/decl.c:9135
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr "抽象声明%qT被用作声明"
 
-#: cp/decl.c:8946
+#: cp/decl.c:9164
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "不能在参数声明中使用%<::%>"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:8992
+#: cp/decl.c:9210
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "错误地使用了%<::%>"
 
-#: cp/decl.c:9007
+#: cp/decl.c:9225
 #, gcc-internal-format
 msgid "can't make %qD into a method -- not in a class"
 msgstr "%qD不能是一个方法 -- 不在类中"
 
-#: cp/decl.c:9016
+#: cp/decl.c:9234
 #, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr "联合成员函数%qD被声明为虚函数"
 
-#: cp/decl.c:9025
+#: cp/decl.c:9243
 #, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr "%qD不能声明为虚函数,因为它总是静态的"
 
-#: cp/decl.c:9041
+#: cp/decl.c:9261
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr "在析构函数%qD中的友元声明需要限定名"
 
-#: cp/decl.c:9051
+#: cp/decl.c:9268
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "%qD声明为%qT的一个成员"
 
-#: cp/decl.c:9058
+#: cp/decl.c:9273
+#, gcc-internal-format
+msgid "a destructor cannot be %<constexpr%>"
+msgstr "析构函数不能是 %<constexpr%>"
+
+#: cp/decl.c:9277
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for constructor %qD"
 msgstr "在构造函数%qD中的友元声明需要限定名"
 
-#: cp/decl.c:9130
+#: cp/decl.c:9341
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "字段%qD类型不完全"
 
-#: cp/decl.c:9132
+#: cp/decl.c:9343
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "名字%qT类型不完全"
 
-#: cp/decl.c:9141
+#: cp/decl.c:9352
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
-msgstr "  在模板%qT的实例化中"
+msgstr "在模板%qT的实例化中"
 
-#: cp/decl.c:9150
+#: cp/decl.c:9361
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "%qE既不是函数也不是成员函数;不能声明为友元"
@@ -29432,103 +31755,133 @@ msgstr "%qE既不是函数也不是成员函数;不能声明为友元"
 #. the rest of the compiler does not correctly
 #. handle the initialization unless the member is
 #. static so we make it static below.
-#: cp/decl.c:9202
+#: cp/decl.c:9414
 #, gcc-internal-format
 msgid "ISO C++ forbids initialization of member %qD"
 msgstr "ISO C++ 不允许成员%qD的初始化"
 
-#: cp/decl.c:9204
+#: cp/decl.c:9416
 #, gcc-internal-format
 msgid "making %qD static"
 msgstr "使%qD成为静态的"
 
-#: cp/decl.c:9269
+#: cp/decl.c:9450
+#, gcc-internal-format
+msgid "non-static data member %qE declared %<constexpr%>"
+msgstr "非静态数据成员%qE被声明为%<constexpr%>"
+
+#: cp/decl.c:9485
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "函数%qs的存储类%<auto%>无效"
 
-#: cp/decl.c:9271
+#: cp/decl.c:9487
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "函数%qs的存储类%<register%>无效"
 
-#: cp/decl.c:9273
+#: cp/decl.c:9489
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "函数%qs的存储类%<__thread%>无效"
 
-#: cp/decl.c:9285
+#: cp/decl.c:9501
 #, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr "在全局作用域外为函数%qs指定%<static%>无效"
 
-#: cp/decl.c:9289
+#: cp/decl.c:9505
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr "在全局作用域外为函数%qs指定%<inline%>无效"
 
-#: cp/decl.c:9297
+#: cp/decl.c:9512
+#, gcc-internal-format
+msgid "%q#T is not a class or a namespace"
+msgstr "%q#T 不是一个类或命名空间"
+
+#: cp/decl.c:9520
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "虚函数%qs不是类成员"
 
-#: cp/decl.c:9329
+#: cp/decl.c:9527
+#, gcc-internal-format
+msgid "%qs defined in a non-class scope"
+msgstr "%qs定义在在非类作用域中"
+
+#: cp/decl.c:9560
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr "不能将成员函数%qD声明为有静态链接"
 
 #. FIXME need arm citation
-#: cp/decl.c:9336
+#: cp/decl.c:9567
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr "不能在另一个函数中声明一个静态函数"
 
-#: cp/decl.c:9366
+#: cp/decl.c:9597
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr "与声明不同,定义静态数据成员时不能使用%<static%>"
 
-#: cp/decl.c:9373
+#: cp/decl.c:9604
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr "静态成员%qD声明为%<register%>"
 
-#: cp/decl.c:9379
+#: cp/decl.c:9610
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr "不能显式地将成员%q#D声明为有外部链接"
 
-#: cp/decl.c:9523
+#: cp/decl.c:9624
+#, gcc-internal-format
+msgid "%qs initialized and declared %<extern%>"
+msgstr "%qs已初始化,却又被声明为%<extern%>"
+
+#: cp/decl.c:9628
+#, gcc-internal-format
+msgid "%qs has both %<extern%> and initializer"
+msgstr "%qs既有%<extern%>又有初始值设定"
+
+#: cp/decl.c:9755
 #, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr "%q#D的默认实参类型为%qT"
 
-#: cp/decl.c:9526
+#: cp/decl.c:9758
 #, gcc-internal-format
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr "类型为%qT的形参的默认实参却有类型%qT"
 
-#: cp/decl.c:9542
+#: cp/decl.c:9774
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr "默认实参%qE使用了局部变量%qD"
 
-#: cp/decl.c:9625
+#: cp/decl.c:9862
 #, gcc-internal-format
 msgid "parameter %qD has Java class type"
 msgstr "形参%qD具有 Java 类类型"
 
-#: cp/decl.c:9645
+#: cp/decl.c:9890
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr "形参%qD被无效地被声明为具有方法类型"
 
-#: cp/decl.c:9669
+#: cp/decl.c:9915
+#, gcc-internal-format
+msgid "parameter %qD includes pointer to array of unknown bound %qT"
+msgstr "形参%qD包含了指向具有未知边界数组%qT的指针"
+
+#: cp/decl.c:9917
 #, gcc-internal-format
-msgid "parameter %qD includes %s to array of unknown bound %qT"
-msgstr "å\8f\82æ\95°%qDå\8c\85å\90«äº\86 %sï¼\8cå\90\8eè\80\85æ\8c\87å\90\91æ\9c\89æ\9cªç\9f¥è¾¹ç\95\8c%qTç\9a\84æ\95°ç»\84"
+msgid "parameter %qD includes reference to array of unknown bound %qT"
+msgstr "å½¢å\8f\82%qDå\8c\85å\90«äº\86æ\8c\87å\90\91å\85·æ\9c\89æ\9cªç\9f¥è¾¹ç\95\8cæ\95°ç»\84%qTç\9a\84å¼\95ç\94¨"
 
-#: cp/decl.c:9684
+#: cp/decl.c:9932
 #, gcc-internal-format
 msgid "parameter packs must be at the end of the parameter list"
 msgstr "参数包必须出现在形参列表末尾"
@@ -29548,138 +31901,163 @@ msgstr "参数包必须出现在形参列表末尾"
 #. or implicitly defined), there's no need to worry about their
 #. existence.  Theoretically, they should never even be
 #. instantiated, but that's hard to forestall.
-#: cp/decl.c:9903
+#: cp/decl.c:10155
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr "无效的构造函数:您要的可能是%<%T (const %T&)%>"
 
-#: cp/decl.c:10025
+#: cp/decl.c:10277
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr "%qD不能在命名空间声明"
 
-#: cp/decl.c:10030
+#: cp/decl.c:10282
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "%qD不能被声明为静态的"
 
-#: cp/decl.c:10056
+#: cp/decl.c:10312
 #, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr "%qD必须是一个非静态的成员函数"
 
-#: cp/decl.c:10065
+#: cp/decl.c:10322
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr "%qD必须是一个非静态成员函数或非成员函数"
 
-#: cp/decl.c:10087
+#: cp/decl.c:10344
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr "%qD的实参必须有类或枚举类型"
 
-#: cp/decl.c:10128
+#: cp/decl.c:10373
+#, gcc-internal-format
+msgid "conversion to a reference to void will never use a type conversion operator"
+msgstr "向指向 void 的引用的转换永远不会用到类型转换运算符"
+
+#: cp/decl.c:10375
+#, gcc-internal-format
+msgid "conversion to void will never use a type conversion operator"
+msgstr "向 void 的转换永远不会用到类型转换运算符"
+
+#: cp/decl.c:10382
 #, gcc-internal-format
-msgid "conversion to %s%s will never use a type conversion operator"
-msgstr "向 %s%s 的转换永远不会用到类型转换运算符"
+msgid "conversion to a reference to the same type will never use a type conversion operator"
+msgstr "向具有相同类型的引用的转换永远不会用到类型转换运算符"
+
+#: cp/decl.c:10384
+#, gcc-internal-format
+msgid "conversion to the same type will never use a type conversion operator"
+msgstr "向相同类型的转换永远不会用到类型转换运算符"
+
+#: cp/decl.c:10392
+#, gcc-internal-format
+msgid "conversion to a reference to a base class will never use a type conversion operator"
+msgstr "向指向基类的引用的转换永远不会用到类型转换运算符"
+
+#: cp/decl.c:10394
+#, gcc-internal-format
+msgid "conversion to a base class will never use a type conversion operator"
+msgstr "向基类的转换永远不会用到类型转换运算符"
 
 #. 13.4.0.3
-#: cp/decl.c:10136
+#: cp/decl.c:10403
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO C++ 不允许重载 ?: 运算符"
 
-#: cp/decl.c:10141
+#: cp/decl.c:10408
 #, gcc-internal-format
 msgid "%qD must not have variable number of arguments"
 msgstr "%qD不能带可变数量的实参"
 
-#: cp/decl.c:10192
+#: cp/decl.c:10459
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr "后缀%qD必须使用%<int%>作为它的参数"
 
-#: cp/decl.c:10195
+#: cp/decl.c:10462
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr "后缀%qD必须使用%<int%>作为它的第二个参数"
 
-#: cp/decl.c:10203
+#: cp/decl.c:10470
 #, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr "%qD必须带 0 或 1 个实参"
 
-#: cp/decl.c:10205
+#: cp/decl.c:10472
 #, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr "%qD必须带 1 或 2 个实参"
 
-#: cp/decl.c:10227
+#: cp/decl.c:10494
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr "前缀%qD应当返回%qT"
 
-#: cp/decl.c:10233
+#: cp/decl.c:10500
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr "后缀%qD应当返回%qT"
 
-#: cp/decl.c:10242
+#: cp/decl.c:10509
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr "%qD必须有%<void%>类型"
 
-#: cp/decl.c:10244 cp/decl.c:10253
+#: cp/decl.c:10511 cp/decl.c:10520
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr "%qD带且仅带 1 个实参"
 
-#: cp/decl.c:10255
+#: cp/decl.c:10522
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "%qD带且仅带 2 个实参"
 
-#: cp/decl.c:10264
+#: cp/decl.c:10531
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr "用户定义的%qD总是计算所有两个参数"
 
-#: cp/decl.c:10278
+#: cp/decl.c:10545
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr "%qD应当返回值而非引用"
 
-#: cp/decl.c:10289 cp/decl.c:10294
+#: cp/decl.c:10556 cp/decl.c:10561
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "%qD不能有默认参数"
 
-#: cp/decl.c:10352
+#: cp/decl.c:10619
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr "使用模板类型形参%qT,在%qs后"
 
-#: cp/decl.c:10367
+#: cp/decl.c:10635
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr "使用 typedef 名%qD,在%qs后"
 
-#: cp/decl.c:10368
+#: cp/decl.c:10636
 #, gcc-internal-format
 msgid "%q+D has a previous declaration here"
 msgstr "%q+D先前在此处有过声明"
 
-#: cp/decl.c:10376
+#: cp/decl.c:10644
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr "%qT作为%qs被引用"
 
-#: cp/decl.c:10377 cp/decl.c:10384
+#: cp/decl.c:10645 cp/decl.c:10652
 #, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "%q+T先前在此处有过声明"
 
-#: cp/decl.c:10383
+#: cp/decl.c:10651
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr "%qT作为枚举被引用"
@@ -29691,77 +32069,78 @@ msgstr "%qT作为枚举被引用"
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:10398
+#: cp/decl.c:10666
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "%<%s %T%>需要模板参数"
 
-#: cp/decl.c:10446 cp/name-lookup.c:2795
+#: cp/decl.c:10714 cp/name-lookup.c:2823
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr "%qD与其声明所在的类重名"
 
-#: cp/decl.c:10476 cp/name-lookup.c:2303
+#: cp/decl.c:10744 cp/name-lookup.c:2328 cp/name-lookup.c:3098
+#: cp/name-lookup.c:3142 cp/parser.c:4243 cp/parser.c:18099
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "对%qD的引用有歧义"
 
-#: cp/decl.c:10590
+#: cp/decl.c:10858
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr "使用枚举%q#D前没有给出声明"
 
-#: cp/decl.c:10611
+#: cp/decl.c:10879
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr "%qT重声明为非模板"
 
-#: cp/decl.c:10612
+#: cp/decl.c:10880
 #, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "先前的声明%q+D"
 
-#: cp/decl.c:10723
+#: cp/decl.c:10994
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr "派生联合%qT无效"
 
-#: cp/decl.c:10732
+#: cp/decl.c:11003
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr "Java 类%qT不能有多个基类"
 
-#: cp/decl.c:10743
+#: cp/decl.c:11014
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr "Java 类%qT不能有虚基类"
 
-#: cp/decl.c:10763
+#: cp/decl.c:11034
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr "基类型%qT不是结构或类"
 
-#: cp/decl.c:10796
+#: cp/decl.c:11067
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr "递归的类型%qT未定义"
 
-#: cp/decl.c:10798
+#: cp/decl.c:11069
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "重复的基类型%qT无效"
 
-#: cp/decl.c:10882
+#: cp/decl.c:11153
 #, gcc-internal-format
 msgid "multiple definition of %q#T"
 msgstr "%q#T多次定义"
 
-#: cp/decl.c:10883
+#: cp/decl.c:11155
 #, gcc-internal-format
-msgid "%Jprevious definition here"
-msgstr "%J前一个定义在这里"
+msgid "previous definition here"
+msgstr "先前的定义在这里"
 
-#: cp/decl.c:10927
+#: cp/decl.c:11202
 #, gcc-internal-format
 msgid "underlying type %<%T%> of %<%T%> must be an integral type"
 msgstr "%<%2$T%>的内在类型%<%1$T%>必须是整型"
@@ -29770,197 +32149,217 @@ msgstr "%<%2$T%>的内在类型%<%1$T%>必须是整型"
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:11059
+#: cp/decl.c:11336
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr "没有一个整数类型可以表示%qT的所有枚举值"
 
-#: cp/decl.c:11190
+#: cp/decl.c:11468
 #, gcc-internal-format
 msgid "enumerator value for %qD is not an integer constant"
 msgstr "%qD的枚举值不是一个整数常量"
 
-#: cp/decl.c:11222
+#: cp/decl.c:11500
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr "%qD处枚举值溢出"
 
-#: cp/decl.c:11242
+#: cp/decl.c:11520
 #, gcc-internal-format
 msgid "enumerator value %E is too large for underlying type %<%T%>"
 msgstr "枚举值 %E 对其类型%<%T%>而言太大了"
 
-#: cp/decl.c:11339
+#: cp/decl.c:11621
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "返回值类型%q#T不完全"
 
-#: cp/decl.c:11341
+#: cp/decl.c:11623
 #, gcc-internal-format
 msgid "return type has Java class type %q#T"
 msgstr "返回类型具有 Java 类类型%q#T"
 
-#: cp/decl.c:11466 cp/typeck.c:6876
+#: cp/decl.c:11751 cp/typeck.c:7253
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr "%<operator=%>应当返回一个对%<*this%>的引用"
 
-#: cp/decl.c:11860
+#: cp/decl.c:11846
+#, gcc-internal-format
+msgid "no previous declaration for %q+D"
+msgstr "%q+D先前没有声明过"
+
+#: cp/decl.c:12067
+#, gcc-internal-format
+msgid "invalid function declaration"
+msgstr "无效的函数声明"
+
+#: cp/decl.c:12151
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "形参%qD被声明为 void"
 
-#: cp/decl.c:12361
+#: cp/decl.c:12650
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "无效的成员函数声明"
 
-#: cp/decl.c:12376
+#: cp/decl.c:12665
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "%qD已在类%qT中定义过"
 
-#: cp/decl.c:12623
+#: cp/decl.c:12876
 #, gcc-internal-format
 msgid "static member function %q#D declared with type qualifiers"
 msgstr "静态成员函数%q#D的声明带有类型限定符"
 
-#: cp/decl2.c:270
+#: cp/decl2.c:287
 #, gcc-internal-format
 msgid "name missing for member function"
 msgstr "成员函数没有名字"
 
-#: cp/decl2.c:341 cp/decl2.c:355
+#: cp/decl2.c:358 cp/decl2.c:372
 #, gcc-internal-format
 msgid "ambiguous conversion for array subscript"
 msgstr "为数组下标的转换有歧义"
 
-#: cp/decl2.c:349
+#: cp/decl2.c:366
 #, gcc-internal-format
 msgid "invalid types %<%T[%T]%> for array subscript"
 msgstr "%<%T[%T]%>用作数组下标类型无效"
 
-#: cp/decl2.c:392
+#: cp/decl2.c:409
 #, gcc-internal-format
 msgid "deleting array %q#D"
 msgstr "删除数组%q#D"
 
-#: cp/decl2.c:398
+#: cp/decl2.c:415
 #, gcc-internal-format
 msgid "type %q#T argument given to %<delete%>, expected pointer"
 msgstr "%<delete%>的参数类型应为指针而非%q#T"
 
-#: cp/decl2.c:410
+#: cp/decl2.c:427
 #, gcc-internal-format
 msgid "cannot delete a function.  Only pointer-to-objects are valid arguments to %<delete%>"
 msgstr "不能 delete 一个函数。只有指向对象的指针才是%<delete%>的有效参数"
 
-#: cp/decl2.c:418
+#: cp/decl2.c:435
 #, gcc-internal-format
 msgid "deleting %qT is undefined"
 msgstr "删除%qT未定义"
 
-#: cp/decl2.c:461 cp/pt.c:3838
+#: cp/decl2.c:478 cp/pt.c:4241
 #, gcc-internal-format
 msgid "template declaration of %q#D"
 msgstr "%q#D声明为模板"
 
-#: cp/decl2.c:513
+#: cp/decl2.c:530
 #, gcc-internal-format
 msgid "Java method %qD has non-Java return type %qT"
 msgstr "Java 方法%qD返回非 Java 类型%qT"
 
-#: cp/decl2.c:530
+#: cp/decl2.c:547
 #, gcc-internal-format
 msgid "Java method %qD has non-Java parameter type %qT"
 msgstr "Java 方法%qD有非 Java 类型形参%qT"
 
-#: cp/decl2.c:642
+#: cp/decl2.c:596
+#, gcc-internal-format
+msgid "template parameter lists provided don't match the template parameters of %qD"
+msgstr "提供的模板参数列表与%qD的模板参数不符"
+
+#: cp/decl2.c:664
 #, gcc-internal-format
 msgid "prototype for %q#D does not match any in class %qT"
 msgstr "%q#D的原型不匹配类%qT中的任何一个"
 
-#: cp/decl2.c:722
+#: cp/decl2.c:740
 #, gcc-internal-format
 msgid "local class %q#T shall not have static data member %q#D"
 msgstr "局部类%q#T不应当拥有静态数据成员%q#D"
 
-#: cp/decl2.c:730
+#: cp/decl2.c:748
 #, gcc-internal-format
 msgid "initializer invalid for static member with constructor"
 msgstr "构造函数中对静态成员的初始化无效"
 
-#: cp/decl2.c:733
+#: cp/decl2.c:751
 #, gcc-internal-format
 msgid "(an out of class initialization is required)"
 msgstr "(需要一个类外的初始化)"
 
-#: cp/decl2.c:793
+#: cp/decl2.c:812
+#, gcc-internal-format
+msgid "explicit template argument list not allowed"
+msgstr "不允许显式模板参数列表"
+
+#: cp/decl2.c:818
 #, gcc-internal-format
 msgid "member %qD conflicts with virtual function table field name"
 msgstr "成员%qD与虚函数表的字段名冲突"
 
-#: cp/decl2.c:813
+#: cp/decl2.c:854
 #, gcc-internal-format
 msgid "%qD is already defined in %qT"
 msgstr "%qD已在%qT中定义过"
 
-#: cp/decl2.c:851
+#: cp/decl2.c:890
 #, gcc-internal-format
 msgid "initializer specified for static member function %qD"
 msgstr "为静态成员函数%qD指定了初始值"
 
-#: cp/decl2.c:874
+#: cp/decl2.c:913
 #, gcc-internal-format
 msgid "field initializer is not constant"
 msgstr "字段初始值设定不是一个常量"
 
-#: cp/decl2.c:901
+#: cp/decl2.c:940
 #, gcc-internal-format
 msgid "%<asm%> specifiers are not permitted on non-static data members"
 msgstr "%<asm%>指定不允许用于非静态数据成员"
 
-#: cp/decl2.c:953
+#: cp/decl2.c:992
 #, gcc-internal-format
 msgid "bit-field %qD with non-integral type"
 msgstr "位段%qD非整型"
 
-#: cp/decl2.c:959
+#: cp/decl2.c:998
 #, gcc-internal-format
 msgid "cannot declare %qD to be a bit-field type"
 msgstr "不能将%qD声明为位段类型"
 
-#: cp/decl2.c:969
+#: cp/decl2.c:1008
 #, gcc-internal-format
 msgid "cannot declare bit-field %qD with function type"
 msgstr "不能将位段%qD声明为函数类型"
 
-#: cp/decl2.c:976
+#: cp/decl2.c:1015
 #, gcc-internal-format
 msgid "%qD is already defined in the class %qT"
 msgstr "%qD已在类%qT中定义过"
 
-#: cp/decl2.c:983
+#: cp/decl2.c:1022
 #, gcc-internal-format
 msgid "static member %qD cannot be a bit-field"
 msgstr "静态成员%qD不能是位段"
 
-#: cp/decl2.c:1251
+#: cp/decl2.c:1279
 #, gcc-internal-format
 msgid "anonymous struct not inside named type"
 msgstr "匿名结构不在有名类型内"
 
-#: cp/decl2.c:1335
+#: cp/decl2.c:1365
 #, gcc-internal-format
 msgid "namespace-scope anonymous aggregates must be static"
 msgstr "命名空间域的匿名聚合必须是静态的"
 
-#: cp/decl2.c:1344
+#: cp/decl2.c:1374
 #, gcc-internal-format
 msgid "anonymous union with no members"
 msgstr "匿名联合没有成员"
 
-#: cp/decl2.c:1380
+#: cp/decl2.c:1411
 #, gcc-internal-format
 msgid "%<operator new%> must return type %qT"
 msgstr "%<operator new%>必须返回%qT"
@@ -29969,130 +32368,167 @@ msgstr "%<operator new%>必须返回%qT"
 #.
 #. The first parameter shall not have an associated default
 #. argument.
-#: cp/decl2.c:1391
+#: cp/decl2.c:1422
 #, gcc-internal-format
 msgid "the first parameter of %<operator new%> cannot have a default argument"
 msgstr "%<operator new%>的第一个形参不能有默认参数"
 
-#: cp/decl2.c:1407
+#: cp/decl2.c:1438
 #, gcc-internal-format
 msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
 msgstr "%<operator new%>的第一个形参类型为%<size_t%>(%qT)"
 
-#: cp/decl2.c:1436
+#: cp/decl2.c:1467
 #, gcc-internal-format
 msgid "%<operator delete%> must return type %qT"
 msgstr "%<operator delete%>必须返回%qT"
 
-#: cp/decl2.c:1445
+#: cp/decl2.c:1476
 #, gcc-internal-format
 msgid "%<operator delete%> takes type %qT as first parameter"
 msgstr "%<operator delete%>的第一个形参类型为%qT"
 
-#: cp/decl2.c:2122
+#: cp/decl2.c:2198
 #, gcc-internal-format
 msgid "%qT has a field %qD whose type uses the anonymous namespace"
 msgstr "%qT有一个字段%qD使用匿名命名空间"
 
-#: cp/decl2.c:2129
+#: cp/decl2.c:2205
 #, gcc-internal-format
 msgid "%qT declared with greater visibility than the type of its field %qD"
 msgstr "%qT被声明为比其字段%qD的类型有更高的可见性"
 
-#: cp/decl2.c:2142
+#: cp/decl2.c:2218
 #, gcc-internal-format
 msgid "%qT has a base %qT whose type uses the anonymous namespace"
 msgstr "%qT有一个基类%qT使用匿名命名空间"
 
-#: cp/decl2.c:2148
+#: cp/decl2.c:2224
 #, gcc-internal-format
 msgid "%qT declared with greater visibility than its base %qT"
 msgstr "%qT被声明为比其基类%qT有更高的可见性"
 
-#: cp/decl2.c:3582
+#: cp/decl2.c:3441
+#, gcc-internal-format
+msgid "%q+#D, declared using anonymous type, is used but never defined"
+msgstr "%q+#D声明为具有匿名类型,在使用前未被定义"
+
+#: cp/decl2.c:3448
+#, gcc-internal-format
+msgid "%q+#D, declared using local type %qT, is used but never defined"
+msgstr "%q+#D声明为具有局部类型%qT,在使用前未被定义"
+
+#: cp/decl2.c:3740
 #, gcc-internal-format
 msgid "inline function %q+D used but never defined"
 msgstr "使用了内联函数%q+D但从未定义过"
 
-#: cp/decl2.c:3731
+#: cp/decl2.c:3906
 #, gcc-internal-format
 msgid "default argument missing for parameter %P of %q+#D"
 msgstr "%2$q+#D的第 %1$P 个形参缺少默认实参"
 
-#: cp/decl2.c:3780 cp/search.c:1919
+#: cp/decl2.c:3957 cp/search.c:1891
 #, gcc-internal-format
 msgid "deleted function %q+D"
 msgstr "函数%q+D已删除"
 
-#: cp/decl2.c:3781
+#: cp/decl2.c:3958
 #, gcc-internal-format
 msgid "used here"
 msgstr "在这里被使用"
 
-#. We really want to suppress this warning in system headers,
-#. because libstdc++ uses variadic templates even when we aren't
-#. in C++0x mode.
-#: cp/error.c:2701
+#: cp/error.c:2899
+#, gcc-internal-format
+msgid "extended initializer lists only available with -std=c++0x or -std=gnu++0x"
+msgstr "扩展初始值设定列表只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+#: cp/error.c:2904
+#, gcc-internal-format
+msgid "explicit conversion operators only available with -std=c++0x or -std=gnu++0x"
+msgstr "显式转换运算符只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+#: cp/error.c:2909
+#, gcc-internal-format
+msgid "variadic templates only available with -std=c++0x or -std=gnu++0x"
+msgstr "可变参数模板只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+#: cp/error.c:2914
+#, gcc-internal-format
+msgid "lambda expressions only available with -std=c++0x or -std=gnu++0x"
+msgstr "Lambda 表达式只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+#: cp/error.c:2919
+#, gcc-internal-format
+msgid "C++0x auto only available with -std=c++0x or -std=gnu++0x"
+msgstr "C++0x auto 只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+#: cp/error.c:2923
 #, gcc-internal-format
-msgid "%s only available with -std=c++0x or -std=gnu++0x"
-msgstr "%s 只在 -std=c++0x 或 -std=gnu++0x 下可用"
+msgid "scoped enums only available with -std=c++0x or -std=gnu++0x"
+msgstr "带作用域的枚举只在 -std=c++0x 或 -std=gnu++0x 下可用"
+
+#: cp/error.c:2927
+#, gcc-internal-format
+msgid "defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x"
+msgstr "默认化和被删除的函数只在 -std=c++0x 或 -std=gnu++0x 下可用"
 
 #. Can't throw a reference.
-#: cp/except.c:286
+#: cp/except.c:277
 #, gcc-internal-format
 msgid "type %qT is disallowed in Java %<throw%> or %<catch%>"
 msgstr "在 Java%<throw%>或%<catch%>中不能使用类型%qT"
 
-#: cp/except.c:297
+#: cp/except.c:288
 #, gcc-internal-format
 msgid "call to Java %<catch%> or %<throw%> with %<jthrowable%> undefined"
 msgstr "调用 Java%<catch%>或%<throw%>时%<jthrowable%>未定义"
 
 #. Thrown object must be a Throwable.
-#: cp/except.c:304
+#: cp/except.c:295
 #, gcc-internal-format
 msgid "type %qT is not derived from %<java::lang::Throwable%>"
 msgstr "类型%qT不是从%<java::lang::Throwable%>派生来的"
 
-#: cp/except.c:367
+#: cp/except.c:357
 #, gcc-internal-format
 msgid "mixing C++ and Java catches in a single translation unit"
 msgstr "在同一个翻译单元中混合使用 C++ 和 Java 异常捕获"
 
-#: cp/except.c:638
+#: cp/except.c:629
 #, gcc-internal-format
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr "抛出 NULL,它的类型是整数而不是指针"
 
-#: cp/except.c:661 cp/init.c:1955
+#: cp/except.c:652 cp/init.c:1886
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr "%qD永远不应该被重载"
 
-#: cp/except.c:758
+#: cp/except.c:750
 #, gcc-internal-format
 msgid "  in thrown expression"
 msgstr "  在抛出的表达式中"
 
-#: cp/except.c:914
+#: cp/except.c:910
 #, gcc-internal-format
 msgid "expression %qE of abstract class type %qT cannot be used in throw-expression"
 msgstr "表达式%qE具有抽象类类型%qT,不能用于 throw 表达式中"
 
-#: cp/except.c:999
+#: cp/except.c:996
 #, gcc-internal-format
-msgid "%Hexception of type %qT will be caught"
-msgstr "%H类型为%qT的异常将由"
+msgid "exception of type %qT will be caught"
+msgstr "类型为%qT的异常将会"
 
-#: cp/except.c:1001
+#: cp/except.c:999
 #, gcc-internal-format
-msgid "%H   by earlier handler for %qT"
-msgstr "%H%qT先前的处理者捕获"
+msgid "   by earlier handler for %qT"
+msgstr "为%qT更早的处理者所捕获"
 
-#: cp/except.c:1031
+#: cp/except.c:1028
 #, gcc-internal-format
-msgid "%H%<...%> handler must be the last handler for its try block"
-msgstr "%H%<...%>处理者必须是其 try 块中的最后一个处理者"
+msgid "%<...%> handler must be the last handler for its try block"
+msgstr "%<...%>处理者必须是其 try 块中的最后一个处理者"
 
 #: cp/friend.c:156
 #, gcc-internal-format
@@ -30178,269 +32614,272 @@ msgstr "友元声明%q#D声明了一个非模板函数"
 msgid "(if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) "
 msgstr "(如果这不是您原来的想法,请确定此函数模板已经声明过,并在这里的函数名后面添加 <>)"
 
-#: cp/init.c:372
+#: cp/init.c:352
 #, gcc-internal-format
 msgid "value-initialization of reference"
 msgstr "引用被值所初始化"
 
-#: cp/init.c:479
+#: cp/init.c:431
 #, gcc-internal-format
-msgid "%J%qD should be initialized in the member initialization list"
-msgstr "%J%qD应该在成员初始化列表中被初始化"
+msgid "%qD should be initialized in the member initialization list"
+msgstr "%qD应该在成员初始化列表中被初始化"
 
-#. TYPE_NEEDS_CONSTRUCTING can be set just because we have a
-#. vtable; still give this diagnostic.
-#: cp/init.c:525 cp/init.c:548
+#: cp/init.c:457
 #, gcc-internal-format
-msgid "%Juninitialized member %qD with %<const%> type %qT"
-msgstr "%J未初始化的成员%qD具有%<const%>类型%qT"
+msgid "value-initialization of %q#D, which has reference type"
+msgstr "用值初始化具有引用类型的%q#D"
 
-#: cp/init.c:539
+#: cp/init.c:498 cp/init.c:515
 #, gcc-internal-format
-msgid "%Jdefault-initialization of %q#D, which has reference type"
-msgstr "%J默认初始化具有引用类型的%q#D"
+msgid "uninitialized member %qD with %<const%> type %qT"
+msgstr "未初始化的成员%qD具有%<const%>类型%qT"
 
-#: cp/init.c:545
+#: cp/init.c:511
 #, gcc-internal-format
-msgid "%Juninitialized reference member %qD"
-msgstr "%J未初始化的引用成员%qD"
+msgid "uninitialized reference member %qD"
+msgstr "未初始化的引用成员%qD"
 
-#: cp/init.c:693
+#: cp/init.c:660
 #, gcc-internal-format
 msgid "%q+D will be initialized after"
-msgstr "%q+D将随后被初始化"
+msgstr "%q+D将"
 
-#: cp/init.c:696
+#: cp/init.c:663
 #, gcc-internal-format
 msgid "base %qT will be initialized after"
 msgstr "基类%qT将在"
 
-#: cp/init.c:699
+#: cp/init.c:666
 #, gcc-internal-format
 msgid "  %q+#D"
 msgstr "%q+#D"
 
-#: cp/init.c:701
+#: cp/init.c:668
 #, gcc-internal-format
 msgid "  base %qT"
-msgstr "  基类%qT"
+msgstr "基类%qT"
 
-#: cp/init.c:702
+#: cp/init.c:670
 #, gcc-internal-format
-msgid "%J  when initialized here"
-msgstr "%J  当在这里初始化时"
+msgid "  when initialized here"
+msgstr "在此处初始化后被初始化"
 
-#: cp/init.c:718
+#: cp/init.c:687
 #, gcc-internal-format
-msgid "%Jmultiple initializations given for %qD"
-msgstr "%J为%qD给定了多个初始化设定"
+msgid "multiple initializations given for %qD"
+msgstr "为%qD给定了多个初始值设定"
 
-#: cp/init.c:721
+#: cp/init.c:691
 #, gcc-internal-format
-msgid "%Jmultiple initializations given for base %qT"
-msgstr "%J为基类%qT给定了多个初始化设定"
+msgid "multiple initializations given for base %qT"
+msgstr "为基类%qT给定了多个初始值设定"
 
-#: cp/init.c:788
+#: cp/init.c:759
 #, gcc-internal-format
-msgid "%Jinitializations for multiple members of %qT"
-msgstr "%J初始化%qT的多个成员"
+msgid "initializations for multiple members of %qT"
+msgstr "初始化%qT的多个成员"
 
-#: cp/init.c:851
+#: cp/init.c:823
 #, gcc-internal-format
-msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
-msgstr "%J基类%q#T应该在复制构造函数中显式地初始化"
+msgid "base class %q#T should be explicitly initialized in the copy constructor"
+msgstr "基类%q#T应该在复制构造函数中显式地初始化"
 
-#: cp/init.c:1080 cp/init.c:1099
+#: cp/init.c:1047 cp/init.c:1066
 #, gcc-internal-format
 msgid "class %qT does not have any field named %qD"
 msgstr "类%qT没有名为%qD的字段"
 
-#: cp/init.c:1086
+#: cp/init.c:1053
 #, gcc-internal-format
 msgid "%q#D is a static data member; it can only be initialized at its definition"
 msgstr "%q#D是一个静态数据成员;它只能在定义时被初始化"
 
-#: cp/init.c:1093
+#: cp/init.c:1060
 #, gcc-internal-format
 msgid "%q#D is not a non-static data member of %qT"
 msgstr "%q#D不是%qT的非静态数据成员"
 
-#: cp/init.c:1132
+#: cp/init.c:1099
 #, gcc-internal-format
 msgid "unnamed initializer for %qT, which has no base classes"
 msgstr "对没有基类的%qT的无名初始化"
 
-#: cp/init.c:1140
+#: cp/init.c:1107
 #, gcc-internal-format
 msgid "unnamed initializer for %qT, which uses multiple inheritance"
 msgstr "对使用了多继承的%qT的无名初始化"
 
-#: cp/init.c:1186
+#: cp/init.c:1153
 #, gcc-internal-format
 msgid "%qD is both a direct base and an indirect virtual base"
 msgstr "%qD既是一个直接基类又是一个间接虚基类"
 
-#: cp/init.c:1194
+#: cp/init.c:1161
 #, gcc-internal-format
 msgid "type %qT is not a direct or virtual base of %qT"
 msgstr "类型%qT不是%qT的直接或虚基类"
 
-#: cp/init.c:1197
+#: cp/init.c:1164
 #, gcc-internal-format
 msgid "type %qT is not a direct base of %qT"
 msgstr "类型%qT不是%qT的直接基类"
 
-#: cp/init.c:1278
+#: cp/init.c:1245
 #, gcc-internal-format
 msgid "bad array initializer"
 msgstr "错误的数组初始值设定"
 
-#: cp/init.c:1457 cp/semantics.c:2490
+#: cp/init.c:1456 cp/semantics.c:2600
 #, gcc-internal-format
 msgid "%qT is not a class type"
 msgstr "%qT不是一个类"
 
-#: cp/init.c:1511
+#: cp/init.c:1510
 #, gcc-internal-format
 msgid "incomplete type %qT does not have member %qD"
 msgstr "不完全类型%qT没有成员%qD"
 
-#: cp/init.c:1524
+#: cp/init.c:1523
 #, gcc-internal-format
 msgid "invalid pointer to bit-field %qD"
 msgstr "指向位段%qD指针无效"
 
-#: cp/init.c:1602
+#: cp/init.c:1601
 #, gcc-internal-format
 msgid "invalid use of non-static member function %qD"
 msgstr "对非静态成员函数%qD的使用无效"
 
-#: cp/init.c:1608
+#: cp/init.c:1607
 #, gcc-internal-format
 msgid "invalid use of non-static data member %qD"
 msgstr "对非静态数据成员%qD的无效使用"
 
-#: cp/init.c:1897
+#: cp/init.c:1833
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr "对 new 而言类型%<void%>无效"
 
-#: cp/init.c:1910
+#: cp/init.c:1846
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "%<new%>%q#T时常量未初始化"
 
-#: cp/init.c:1949
+#: cp/init.c:1880
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr "调用 Java 构造函数,但没有定义%qs"
 
-#: cp/init.c:1967
+#: cp/init.c:1898
 #, gcc-internal-format
 msgid "Java class %q#T object allocated using placement new"
 msgstr "Java 类%q#T对象为预定位 new 所分配"
 
-#: cp/init.c:1997
+#: cp/init.c:1928
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr "找不到合适的%qD,在类%qT中"
 
-#: cp/init.c:2004
+#: cp/init.c:1935
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "对成员%qD的请求有歧义"
 
-#: cp/init.c:2184
+#: cp/init.c:2125
+#, gcc-internal-format
+msgid "non-constant array size in new, unable to verify length of initializer-list"
+msgstr "new 中数组大小不是常量,无法检查初始值列表的长度"
+
+#: cp/init.c:2134
 #, gcc-internal-format
 msgid "ISO C++ forbids initialization in array new"
 msgstr "ISO C++ 不允许在数组 new 中初始化"
 
-#: cp/init.c:2410
+#: cp/init.c:2360
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr "数组 new 的大小必须有整数类型"
 
-#: cp/init.c:2423
+#: cp/init.c:2373
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr "new 不能用于引用类型"
 
-#: cp/init.c:2432
+#: cp/init.c:2382
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr "new 不能用于函数类型"
 
-#: cp/init.c:2471
+#: cp/init.c:2426
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "调用 Java 构造函数,但没有定义%<jclass%>"
 
-#: cp/init.c:2489
+#: cp/init.c:2444
 #, gcc-internal-format
 msgid "can't find %<class$%> in %qT"
 msgstr "%qT中找不到%<class$%>"
 
-#: cp/init.c:2858
+#: cp/init.c:2831
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "初始值设定在完成之前结束"
 
-#: cp/init.c:2916
+#: cp/init.c:2889
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr "不能用初始值设定项来初始化多维数组"
 
-#: cp/init.c:3061
+#: cp/init.c:3038
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr "检测到调用 delete 运算符时可能出现的问题:"
 
-#: cp/init.c:3065
+#: cp/init.c:3042
 #, gcc-internal-format
 msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
 msgstr "析构函数和类特定的 delete 运算符均不会被调用,即使它们在类定义时已经声明。"
 
-#: cp/init.c:3087
+#: cp/init.c:3064
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "delete 时数组大小未知"
 
-#: cp/init.c:3341
+#: cp/init.c:3319
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
-msgstr "量 delete 的实参类型既非指针也非数组"
+msgstr "量 delete 的实参类型既非指针也非数组"
 
-#: cp/lex.c:319
+#: cp/lex.c:321
 #, gcc-internal-format
 msgid "junk at end of #pragma %s"
 msgstr "#pragma %s 末尾有垃圾字符"
 
-#: cp/lex.c:326
+#: cp/lex.c:328
 #, gcc-internal-format
 msgid "invalid #pragma %s"
 msgstr "无效的 #pragma %s"
 
-#: cp/lex.c:334
+#: cp/lex.c:336
 #, gcc-internal-format
 msgid "#pragma vtable no longer supported"
 msgstr "#pragma vtable 不再受支持"
 
-#: cp/lex.c:406
+#: cp/lex.c:408
 #, gcc-internal-format
 msgid "#pragma implementation for %qs appears after file is included"
 msgstr "文件在%qs的 #pragma implementation 出现前已被包含"
 
-#: cp/lex.c:430
+#: cp/lex.c:432
 #, gcc-internal-format
 msgid "junk at end of #pragma GCC java_exceptions"
 msgstr "#pragma GCC java_exceptions 末尾有垃圾字符"
 
-#: cp/lex.c:444
+#: cp/lex.c:447
 #, gcc-internal-format
 msgid "%qD not defined"
 msgstr "%qD未定义"
 
-#: cp/lex.c:448
+#: cp/lex.c:451
 #, gcc-internal-format
 msgid "%qD was not declared in this scope"
 msgstr "%qD在此作用域中尚未声明"
@@ -30455,64 +32894,107 @@ msgstr "%qD在此作用域中尚未声明"
 #. Note that we have the exact wording of the following message in
 #. the manual (trouble.texi, node "Name lookup"), so they need to
 #. be kept in synch.
-#: cp/lex.c:485
+#: cp/lex.c:489
 #, gcc-internal-format
 msgid "there are no arguments to %qD that depend on a template parameter, so a declaration of %qD must be available"
 msgstr "%qD的实参不依赖模板参数,所以%qD的声明必须可用"
 
-#: cp/lex.c:494
+#: cp/lex.c:498
 #, 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++ 会接受您的代码,但是允许使用未定义的名称是不建议使用的风格)"
 
-#: cp/mangle.c:1687
+#: cp/mangle.c:1869
 #, gcc-internal-format
 msgid "mangling typeof, use decltype instead"
 msgstr "修饰 typeof,请改用 decltype"
 
-#. FIXME the above hack for T() needs to be replaced with
-#. something more general.
-#: cp/mangle.c:2282
+#: cp/mangle.c:2088
+#, gcc-internal-format
+msgid "mangling unknown fixed point type"
+msgstr "修饰未知的定点类型"
+
+#: cp/mangle.c:2517
 #, gcc-internal-format
-msgid "mangling function-style cast with more than one argument"
-msgstr "函数类型的转换带有多个参数"
+msgid "mangling %C"
+msgstr "修饰 %C"
 
-#: cp/mangle.c:2310
+#: cp/mangle.c:2572
+#, gcc-internal-format
+msgid "mangling new-expression"
+msgstr "修饰 new 表达式"
+
+#: cp/mangle.c:2592
 #, gcc-internal-format
 msgid "omitted middle operand to %<?:%> operand cannot be mangled"
 msgstr "省略的%<?:%>中操作数不能被修饰"
 
-#: cp/mangle.c:2625
+#: cp/mangle.c:2900
 #, gcc-internal-format
 msgid "the mangled name of %qD will change in a future version of GCC"
 msgstr "%qD修饰后的名字将在 GCC 的未来版本中有变化"
 
-#: cp/method.c:461
+#: cp/method.c:388
 #, gcc-internal-format
 msgid "generic thunk code fails for method %q#D which uses %<...%>"
-msgstr "通用的转换层代码(thunk)对使用了%<...%>的方法%q#D失效"
+msgstr "泛型的转换层代码(thunk)对使用了%<...%>的方法%q#D失效"
 
-#: cp/method.c:697
+#: cp/method.c:569
 #, gcc-internal-format
 msgid "non-static const member %q#D, can't use default assignment operator"
 msgstr "非静态的常量成员%q#D,不能使用默认的赋值运算符"
 
-#: cp/method.c:703
+#: cp/method.c:575
 #, gcc-internal-format
 msgid "non-static reference member %q#D, can't use default assignment operator"
 msgstr "非静态的引用成员%q#D,不能使用默认的赋值运算符"
 
-#: cp/method.c:816
+#: cp/method.c:688
 #, gcc-internal-format
 msgid "synthesized method %qD first required here "
 msgstr "在这里第一次需要生成的方法%qD"
 
-#: cp/method.c:1159
+#: cp/method.c:1015
+#, gcc-internal-format
+msgid "defaulted declaration %q+D"
+msgstr "默认化声明%q+D"
+
+#: cp/method.c:1017
+#, gcc-internal-format
+msgid "does not match expected signature %qD"
+msgstr "不匹配%qD预期的签名"
+
+#: cp/method.c:1049
+#, gcc-internal-format
+msgid "%qD cannot be defaulted"
+msgstr "%qD不能被默认化"
+
+#: cp/method.c:1058
+#, gcc-internal-format
+msgid "defaulted function %q+D with default argument"
+msgstr "默认化函数%q+D有默认参数"
+
+#: cp/method.c:1064
+#, gcc-internal-format
+msgid "%qD declared explicit cannot be defaulted in the class body"
+msgstr "声明为 explicit 的%qD不能在类体内被默认化"
+
+#: cp/method.c:1067
+#, gcc-internal-format
+msgid "%qD declared with non-public access cannot be defaulted in the class body"
+msgstr "声明有非公共访问权限的%qD不能在类体内被默认化"
+
+#: cp/method.c:1070
+#, gcc-internal-format
+msgid "function %q+D defaulted on its first declaration must not have an exception-specification"
+msgstr "首次声明时被默认化的函数%q+D不可以指定异常"
+
+#: cp/method.c:1119
 #, gcc-internal-format
 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 的未来版本中改变"
 
-#: cp/name-lookup.c:734
+#: cp/name-lookup.c:733
 #, gcc-internal-format
 msgid "redeclaration of %<wchar_t%> as %qT"
 msgstr "%<wchar_t%>重声明为%qT"
@@ -30523,1148 +33005,1071 @@ msgstr "%<wchar_t%>重声明为%qT"
 #. [basic.start.main]
 #.
 #. This function shall not be overloaded.
-#: cp/name-lookup.c:764
+#: cp/name-lookup.c:763
 #, gcc-internal-format
 msgid "invalid redeclaration of %q+D"
 msgstr "对%q+#D无效的重声明"
 
-#: cp/name-lookup.c:765
+#: cp/name-lookup.c:764
 #, gcc-internal-format
 msgid "as %qD"
 msgstr "作为%qD"
 
-#: cp/name-lookup.c:805
+#: cp/name-lookup.c:810 cp/name-lookup.c:821
 #, gcc-internal-format
 msgid "declaration of %q#D with C language linkage"
 msgstr "%q#D声明为有 C 链接"
 
-#: cp/name-lookup.c:809
+#: cp/name-lookup.c:814
 #, gcc-internal-format
 msgid "due to different exception specifications"
 msgstr "因为异常规范不一致"
 
-#: cp/name-lookup.c:899
+#: cp/name-lookup.c:905
 #, gcc-internal-format
 msgid "type mismatch with previous external decl of %q#D"
 msgstr "类型与先前的%q#D的外部声明不匹配"
 
-#: cp/name-lookup.c:900
+#: cp/name-lookup.c:906
 #, gcc-internal-format
 msgid "previous external decl of %q+#D"
 msgstr "先前%q+#D的外部声明"
 
-#: cp/name-lookup.c:991
+#: cp/name-lookup.c:997
 #, gcc-internal-format
 msgid "extern declaration of %q#D doesn't match"
 msgstr "%q#D的外部声明不匹配"
 
-#: cp/name-lookup.c:992
+#: cp/name-lookup.c:998
 #, gcc-internal-format
 msgid "global declaration %q+#D"
 msgstr "全局声明%q+#D"
 
-#: cp/name-lookup.c:1029 cp/name-lookup.c:1036
+#: cp/name-lookup.c:1040 cp/name-lookup.c:1048
 #, gcc-internal-format
 msgid "declaration of %q#D shadows a parameter"
 msgstr "%q#D的声明隐藏了一个形参"
 
 #. Location of previous decl is not useful in this case.
-#: cp/name-lookup.c:1061
+#: cp/name-lookup.c:1074
 #, gcc-internal-format
 msgid "declaration of %qD shadows a member of 'this'"
 msgstr "%qD的声明隐藏了‘this’的一个成员"
 
-#: cp/name-lookup.c:1067
+#: cp/name-lookup.c:1081
 #, gcc-internal-format
 msgid "declaration of %qD shadows a previous local"
 msgstr "%qD的声明隐藏了先前的一个局部变量"
 
-#: cp/name-lookup.c:1074
+#: cp/name-lookup.c:1090
 #, gcc-internal-format
 msgid "declaration of %qD shadows a global declaration"
 msgstr "%qD的声明隐藏了一个全局声明"
 
-#: cp/name-lookup.c:1197
+#: cp/name-lookup.c:1213
 #, gcc-internal-format
 msgid "name lookup of %qD changed"
 msgstr "%qD的名称查阅已改变"
 
-#: cp/name-lookup.c:1198
+#: cp/name-lookup.c:1214
 #, gcc-internal-format
 msgid "  matches this %q+D under ISO standard rules"
-msgstr "  在 ISO 标准规则下匹配此%q+D"
+msgstr "在 ISO 标准规则下匹配此%q+D"
 
-#: cp/name-lookup.c:1200
+#: cp/name-lookup.c:1216
 #, gcc-internal-format
 msgid "  matches this %q+D under old rules"
-msgstr "  在旧规则下匹配此%q+D"
+msgstr "在旧规则下匹配此%q+D"
 
-#: cp/name-lookup.c:1218 cp/name-lookup.c:1226
+#: cp/name-lookup.c:1234 cp/name-lookup.c:1242
 #, gcc-internal-format
 msgid "name lookup of %qD changed for ISO %<for%> scoping"
 msgstr "在 ISO%<for%>作用域中,%qD的名称查找有变化"
 
-#: cp/name-lookup.c:1220
+#: cp/name-lookup.c:1236
 #, gcc-internal-format
 msgid "  cannot use obsolete binding at %q+D because it has a destructor"
-msgstr "  不能在%q+D使用过时的绑定,因为它有析构函数"
+msgstr "不能在%q+D使用过时的绑定,因为它有析构函数"
 
-#: cp/name-lookup.c:1229
+#: cp/name-lookup.c:1245
 #, gcc-internal-format
 msgid "  using obsolete binding at %q+D"
-msgstr "  在%q+D使用过时的绑定"
+msgstr "在%q+D使用过时的绑定"
 
-#: cp/name-lookup.c:1235 cp/parser.c:10068
+#: cp/name-lookup.c:1251 cp/parser.c:10890
 #, gcc-internal-format
 msgid "(if you use %<-fpermissive%> G++ will accept your code)"
 msgstr "(如果您使用%<-fpermissive%>G++ 会接受您的代码)"
 
-#: cp/name-lookup.c:1291
+#: cp/name-lookup.c:1306
 #, gcc-internal-format
 msgid "%s %s(%E) %p %d\n"
 msgstr "%s %s(%E) %p %d\n"
 
-#: cp/name-lookup.c:1294
+#: cp/name-lookup.c:1309
 #, gcc-internal-format
 msgid "%s %s %p %d\n"
 msgstr "%s %s %p %d\n"
 
-#: cp/name-lookup.c:1422
-#, gcc-internal-format
-msgid "XXX is_class_level != (current_scope == class_scope)\n"
-msgstr "XXX is_class_level != (current_scope == class_scope)\n"
-
-#: cp/name-lookup.c:2016
+#: cp/name-lookup.c:2041
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "%q#D隐藏了%q#T的构造函数"
 
-#: cp/name-lookup.c:2033
+#: cp/name-lookup.c:2058
 #, gcc-internal-format
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr "%q#D与先前的 using 声明%q#D冲突"
 
-#: cp/name-lookup.c:2056
+#: cp/name-lookup.c:2081
 #, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "先前对于%q+#D的非函数声明"
 
-#: cp/name-lookup.c:2057
+#: cp/name-lookup.c:2082
 #, gcc-internal-format
 msgid "conflicts with function declaration %q#D"
 msgstr "与函数声明%q#D冲突"
 
 #. It's a nested name with template parameter dependent scope.
 #. This can only be using-declaration for class member.
-#: cp/name-lookup.c:2135 cp/name-lookup.c:2160
+#: cp/name-lookup.c:2160 cp/name-lookup.c:2185
 #, gcc-internal-format
 msgid "%qT is not a namespace"
 msgstr "%qT不是一个命名空间"
 
 #. 7.3.3/5
 #. A using-declaration shall not name a template-id.
-#: cp/name-lookup.c:2145
+#: cp/name-lookup.c:2170
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr "using 声明不能指定一个模板标识符。请尝试%<using %D%>"
 
-#: cp/name-lookup.c:2152
+#: cp/name-lookup.c:2177
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr "不允许在 using 声明中使用命名空间%qD"
 
-#: cp/name-lookup.c:2188
+#: cp/name-lookup.c:2213
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr "%qD未声明"
 
-#: cp/name-lookup.c:2224 cp/name-lookup.c:2261 cp/name-lookup.c:2295
-#: cp/name-lookup.c:2310
+#: cp/name-lookup.c:2249 cp/name-lookup.c:2286 cp/name-lookup.c:2320
+#: cp/name-lookup.c:2335
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr "%qD已在此作用域中声明过"
 
-#: cp/name-lookup.c:2914
+#: cp/name-lookup.c:2942
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr "在类作用域使用非成员的 using 声明"
 
-#: cp/name-lookup.c:2921
+#: cp/name-lookup.c:2949
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr "%<%T::%D%>指定了析构函数"
 
-#: cp/name-lookup.c:2926
+#: cp/name-lookup.c:2954
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr "%<%T::%D%>指定了构造函数"
 
-#: cp/name-lookup.c:2931
+#: cp/name-lookup.c:2959
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "%<%T::%D%>在%qT内指定了构造函数"
 
-#: cp/name-lookup.c:2981
+#: cp/name-lookup.c:3009
 #, gcc-internal-format
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr "没有与%<%T::%D%>匹配的成员,在%q#T中"
 
-#: cp/name-lookup.c:3049
+#: cp/name-lookup.c:3077
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr "%qD的声明不在包含%qD的命名空间中"
 
-#: cp/name-lookup.c:3057
+#: cp/name-lookup.c:3085
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "%qD的声明中有显式的限定"
 
-#: cp/name-lookup.c:3100
+#: cp/name-lookup.c:3167
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
-msgstr "%qDåº\94å½\93å·²å\9c¨%qDå\86\85é\83¨å£°æ\98\8eè¿\87"
+msgstr "%qDåº\94å½\93å\85\88å\9c¨%qDå\86\85声æ\98\8e"
 
-#: cp/name-lookup.c:3145
+#: cp/name-lookup.c:3212
 #, gcc-internal-format
 msgid "%qD attribute requires a single NTBS argument"
 msgstr "%qD属性需要一个 NTBS 作为实参"
 
-#: cp/name-lookup.c:3152
+#: cp/name-lookup.c:3219
 #, gcc-internal-format
 msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
 msgstr "%qD属性无意义,因为匿名命名空间的成员拥有局部符号"
 
-#: cp/name-lookup.c:3161 cp/name-lookup.c:3530
+#: cp/name-lookup.c:3228 cp/name-lookup.c:3598
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "指定%qD属性被忽略"
 
-#: cp/name-lookup.c:3206
+#: cp/name-lookup.c:3273
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr "这里不允许命名空间别名%qD,假定为%qD"
 
-#: cp/name-lookup.c:3518
+#: cp/name-lookup.c:3586
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr "强 using 只在命名空间作用域有意义"
 
-#: cp/name-lookup.c:3522
+#: cp/name-lookup.c:3590
 #, gcc-internal-format
 msgid "current namespace %qD does not enclose strongly used namespace %qD"
 msgstr "当前命名空间%qD并不包含经常被作用的命名空间%qD"
 
-#: cp/name-lookup.c:4418
-#, gcc-internal-format
-msgid "%q+D is not a function,"
-msgstr "%q+D不是一个函数,"
-
-#: cp/name-lookup.c:4419
-#, gcc-internal-format
-msgid "  conflict with %q+D"
-msgstr "  与%q+D冲突"
-
-#: cp/name-lookup.c:4863
+#: cp/name-lookup.c:5035
 #, gcc-internal-format
 msgid "argument dependent lookup finds %q+D"
 msgstr "依赖参数的查找找到了%q+D"
 
-#: cp/name-lookup.c:5301
+#: cp/name-lookup.c:5479
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr "XXX 进入 pop_everything ()\n"
 
-#: cp/name-lookup.c:5310
+#: cp/name-lookup.c:5488
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr "XXX 离开 pop_everything ()\n"
 
-#: cp/parser.c:441
-#, gcc-internal-format
-msgid "identifier %<%s%> will become a keyword in C++0x"
-msgstr "标志符%<%s%>将会成为 C++0x 的一个关键字"
-
-#: cp/parser.c:2081
+#: cp/parser.c:435
 #, gcc-internal-format
-msgid "%H%<#pragma%> is not allowed here"
-msgstr "%H在这里不允许使用%<#pragma%>"
+msgid "identifier %qE will become a keyword in C++0x"
+msgstr "标志符%qE将会成为 C++0x 的一个关键字"
 
-#: cp/parser.c:2112
+#: cp/parser.c:2100
 #, gcc-internal-format
-msgid "%H%<%E::%E%> has not been declared"
-msgstr "%H%<%E::%E%>尚未声明"
+msgid "%<#pragma%> is not allowed here"
+msgstr "在这里不允许使用%<#pragma%>"
 
-#: cp/parser.c:2115
+#: cp/parser.c:2131
 #, gcc-internal-format
-msgid "%H%<::%E%> has not been declared"
-msgstr "%H%<::%E%>尚未声明"
+msgid "%<%E::%E%> has not been declared"
+msgstr "%<%E::%E%>尚未声明"
 
-#: cp/parser.c:2118
+#: cp/parser.c:2134
 #, gcc-internal-format
-msgid "%Hrequest for member %qE in non-class type %qT"
-msgstr "%1$H在非类类型%3$qT中请求成员%2$qE"
+msgid "%<::%E%> has not been declared"
+msgstr "%<::%E%>尚未声明"
 
-#: cp/parser.c:2121
+#: cp/parser.c:2137
 #, gcc-internal-format
-msgid "%H%<%T::%E%> has not been declared"
-msgstr "%H%<%T::%E%>尚未声明"
+msgid "request for member %qE in non-class type %qT"
+msgstr "在非类类型%2$qT中请求成员%1$qE"
 
-#: cp/parser.c:2124
+#: cp/parser.c:2140
 #, gcc-internal-format
-msgid "%H%qE has not been declared"
-msgstr "%H%qE未声明"
+msgid "%<%T::%E%> has not been declared"
+msgstr "%<%T::%E%>尚未声明"
 
-#: cp/parser.c:2127
+#: cp/parser.c:2143
 #, gcc-internal-format
-msgid "%H%<%E::%E%> %s"
-msgstr "%H%<%E::%E%> %s"
+msgid "%qE has not been declared"
+msgstr "%qE未声明"
 
-#: cp/parser.c:2129
+#: cp/parser.c:2146
 #, gcc-internal-format
-msgid "%H%<::%E%> %s"
-msgstr "%H%<::%E%> %s"
+msgid "%<%E::%E%> %s"
+msgstr "%<%E::%E%>%s"
 
-#: cp/parser.c:2131
+#: cp/parser.c:2148
 #, gcc-internal-format
-msgid "%H%qE %s"
-msgstr "%H%qE %s"
+msgid "%<::%E%> %s"
+msgstr "%<::%E%>%s"
 
-#: cp/parser.c:2166
+#: cp/parser.c:2150
 #, gcc-internal-format
-msgid "%H%<long long long%> is too long for GCC"
-msgstr "%H%<long long long%>对 GCC 来说太长了"
+msgid "%qE %s"
+msgstr "%qE%s"
 
-#: cp/parser.c:2170
+#: cp/parser.c:2188
 #, gcc-internal-format
 msgid "ISO C++ 1998 does not support %<long long%>"
 msgstr "ISO C++ 1998 不支持%<long long%>"
 
-#: cp/parser.c:2190
+#: cp/parser.c:2209
 #, gcc-internal-format
-msgid "%Hduplicate %qs"
-msgstr "%H重复的%qs"
+msgid "duplicate %qs"
+msgstr "重复的%qs"
 
-#: cp/parser.c:2234
+#: cp/parser.c:2254
 #, gcc-internal-format
-msgid "%Hnew types may not be defined in a return type"
-msgstr "%H不能在返回类型中定义新类型"
+msgid "new types may not be defined in a return type"
+msgstr "不能在返回类型中定义新类型"
 
-#: cp/parser.c:2236
+#: cp/parser.c:2256
 #, gcc-internal-format
 msgid "(perhaps a semicolon is missing after the definition of %qT)"
 msgstr "(%qT的定义末尾可能缺少一个分号)"
 
-#: cp/parser.c:2256
+#: cp/parser.c:2276 cp/parser.c:4289 cp/pt.c:6167
 #, gcc-internal-format
-msgid "%H%qT is not a template"
-msgstr "%H%qT不是一个模板"
+msgid "%qT is not a template"
+msgstr "%qT不是一个模板"
 
-#: cp/parser.c:2258
+#: cp/parser.c:2278
 #, gcc-internal-format
-msgid "%H%qE is not a template"
-msgstr "%H%qE不是一个模板"
+msgid "%qE is not a template"
+msgstr "%qE不是一个模板"
 
-#: cp/parser.c:2260
+#: cp/parser.c:2280
 #, gcc-internal-format
-msgid "%Hinvalid template-id"
-msgstr "%H无效的模板 ID"
+msgid "invalid template-id"
+msgstr "无效的模板 ID"
 
-#: cp/parser.c:2322
+#: cp/parser.c:2343
 #, gcc-internal-format
-msgid "%Hinvalid use of template-name %qE without an argument list"
-msgstr "%H使用模板名%qE时不带实参表无效"
+msgid "invalid use of template-name %qE without an argument list"
+msgstr "使用模板名%qE时不带实参表无效"
 
-#: cp/parser.c:2325
+#: cp/parser.c:2346
 #, gcc-internal-format
-msgid "%Hinvalid use of destructor %qD as a type"
-msgstr "%H将析构函数%qD用作类型无效"
+msgid "invalid use of destructor %qD as a type"
+msgstr "将析构函数%qD用作类型无效"
 
 #. Something like 'unsigned A a;'
-#: cp/parser.c:2328
+#: cp/parser.c:2349
 #, gcc-internal-format
-msgid "%Hinvalid combination of multiple type-specifiers"
-msgstr "%H无效的多个类型限定符组合"
+msgid "invalid combination of multiple type-specifiers"
+msgstr "无效的类型限定符组合"
 
 #. Issue an error message.
-#: cp/parser.c:2333
+#: cp/parser.c:2353
 #, gcc-internal-format
-msgid "%H%qE does not name a type"
-msgstr "%H%qE没有命名一个类型"
+msgid "%qE does not name a type"
+msgstr "%qE不是一个类型名"
 
-#: cp/parser.c:2366
+#: cp/parser.c:2386
 #, gcc-internal-format
 msgid "(perhaps %<typename %T::%E%> was intended)"
 msgstr "(也许您本意是想用%<typename %T::%E%>)"
 
-#: cp/parser.c:2381
+#: cp/parser.c:2401
 #, gcc-internal-format
-msgid "%H%qE in namespace %qE does not name a type"
-msgstr "%H%qE在命名空间%qE中没有命名一个类型"
+msgid "%qE in namespace %qE does not name a type"
+msgstr "%qE不是命名空间%qE中的一个类型名"
 
-#: cp/parser.c:2384
+#. A<T>::A<T>()
+#: cp/parser.c:2407
 #, gcc-internal-format
-msgid "%H%qE in class %qT does not name a type"
-msgstr "%H%qE在类%qT中没有命名一个类型"
+msgid "%<%T::%E%> names the constructor, not the type"
+msgstr "%<%T::%E%>命名了一个构造函数而非类型"
 
-#: cp/parser.c:2946
+#: cp/parser.c:2410
 #, gcc-internal-format
-msgid "%Hunsupported non-standard concatenation of string literals"
-msgstr "%H非标准的字面字符串毗连不被支持"
+msgid "and %qT has no template constructors"
+msgstr "且%qT没有模板构造函数"
 
-#: cp/parser.c:3224
+#: cp/parser.c:2415
 #, gcc-internal-format
-msgid "ISO C++ forbids braced-groups within expressions"
-msgstr "ISO C++ 不允许在表达式中使用花括号组"
+msgid "need %<typename%> before %<%T::%E%> because %qT is a dependent scope"
+msgstr "%<%T::%E%>之前需要%<typename%>,因为%qT是一个有依赖的作用域"
 
-#: cp/parser.c:3235
+#: cp/parser.c:2419
 #, gcc-internal-format
-msgid "%Hstatement-expressions are not allowed outside functions nor in template-argument lists"
-msgstr "%H语句表达式只能用于函数或模板实参列表内"
+msgid "%qE in class %qT does not name a type"
+msgstr "%qE不是类%qT中的一个类型名"
 
-#: cp/parser.c:3294
+#: cp/parser.c:3208
 #, gcc-internal-format
-msgid "%H%<this%> may not be used in this context"
-msgstr "%H%<this%>不能用在此上下文中"
+msgid "fixed-point types not supported in C++"
+msgstr "C++ 不支持定点类型"
 
-#: cp/parser.c:3480
+#: cp/parser.c:3289
 #, gcc-internal-format
-msgid "%Hlocal variable %qD may not appear in this context"
-msgstr "%H局部变量%qD不应出现在此上下文中"
+msgid "ISO C++ forbids braced-groups within expressions"
+msgstr "ISO C++ 不允许在表达式中使用花括号组"
 
-#: cp/parser.c:3780
+#: cp/parser.c:3301
 #, gcc-internal-format
-msgid "%Hscope %qT before %<~%> is not a class-name"
-msgstr "%H%<~%>前的作用域%qT不是一个类名"
+msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+msgstr "语句表达式只能用于函数或模板实参列表内"
 
-#: cp/parser.c:3882
+#: cp/parser.c:3374
 #, gcc-internal-format
-msgid "%Hdeclaration of %<~%T%> as member of %qT"
-msgstr "%H%<~%T%>声明为%qT的一个成员"
+msgid "%<this%> may not be used in this context"
+msgstr "%<this%>不能用在此上下文中"
 
-#: cp/parser.c:3896
+#: cp/parser.c:3595
 #, gcc-internal-format
-msgid "%Htypedef-name %qD used as destructor declarator"
-msgstr "%Htypedef 名%qD用于析构函数声明"
+msgid "local variable %qD may not appear in this context"
+msgstr "局部变量%qD不应出现在此上下文中"
 
-#: cp/parser.c:4110
+#: cp/parser.c:3889
 #, gcc-internal-format
-msgid "%H%qD used without template parameters"
-msgstr "%H%qD使用时未带模板参数"
+msgid "scope %qT before %<~%> is not a class-name"
+msgstr "%<~%>前的作用域%qT不是一个类名"
 
-#: cp/parser.c:4114 cp/parser.c:14760 cp/parser.c:17038
+#: cp/parser.c:4008
 #, gcc-internal-format
-msgid "%Hreference to %qD is ambiguous"
-msgstr "%H对%qD的引用有歧义"
+msgid "declaration of %<~%T%> as member of %qT"
+msgstr "%<~%T%>声明为%qT的一个成员"
 
-#: cp/parser.c:4160 cp/pt.c:5599
+#: cp/parser.c:4023
 #, gcc-internal-format
-msgid "%qT is not a template"
-msgstr "%qT不是一个模板"
+msgid "typedef-name %qD used as destructor declarator"
+msgstr "typedef 名%qD用于析构函数声明"
 
 #. Warn the user that a compound literal is not
 #. allowed in standard C++.
-#: cp/parser.c:4583
+#: cp/parser.c:4713
 #, gcc-internal-format
 msgid "ISO C++ forbids compound-literals"
 msgstr "ISO C++ 不允许复合字面值"
 
-#: cp/parser.c:4951
+#: cp/parser.c:5090
 #, gcc-internal-format
-msgid "%H%qE does not have class type"
-msgstr "%H%qE不是一个类"
+msgid "%qE does not have class type"
+msgstr "%qE不是一个类"
 
-#: cp/parser.c:5035
+#: cp/parser.c:5175 cp/typeck.c:2214
 #, gcc-internal-format
-msgid "%Hinvalid use of %qD"
-msgstr "%H错误地使用了%qD"
+msgid "invalid use of %qD"
+msgstr "错误地使用了%qD"
 
-#: cp/parser.c:5612
+#: cp/parser.c:5758
 #, gcc-internal-format
-msgid "%Harray bound forbidden after parenthesized type-id"
-msgstr "%H括起的类型标识符后面不能出现数组边界"
+msgid "array bound forbidden after parenthesized type-id"
+msgstr "括起的类型标识符后面不能出现数组边界"
 
-#: cp/parser.c:5615
+#: cp/parser.c:5760
 #, gcc-internal-format
 msgid "try removing the parentheses around the type-id"
 msgstr "请尝试删除类型标识符两边的括号"
 
-#: cp/parser.c:5808
+#: cp/parser.c:5964
 #, gcc-internal-format
-msgid "%Hexpression in new-declarator must have integral or enumeration type"
-msgstr "%Hnew 声明中的表达式必须具有整数或枚举类型"
+msgid "expression in new-declarator must have integral or enumeration type"
+msgstr "new 声明中的表达式必须具有整数或枚举类型"
 
-#: cp/parser.c:6062
+#: cp/parser.c:6218
 #, gcc-internal-format
 msgid "use of old-style cast"
 msgstr "使用旧式的类型转换"
 
-#: cp/parser.c:6191
+#: cp/parser.c:6349
 #, gcc-internal-format
-msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
-msgstr "%H%<>>%>操作符在 C++0x 中将被认为是两个右尖括号"
+msgid "%<>>%> operator will be treated as two right angle brackets in C++0x"
+msgstr "%<>>%>运算符在 C++0x 中将被认为是两个右尖括号"
 
-#: cp/parser.c:6194
+#: cp/parser.c:6352
 #, gcc-internal-format
 msgid "suggest parentheses around %<>>%> expression"
 msgstr "建议%<>>%>表达式周围加上括号"
 
-#: cp/parser.c:7016
+#: cp/parser.c:7187
 #, gcc-internal-format
-msgid "%Hcase label %qE not within a switch statement"
-msgstr "%Hcase 标号%qE未出现在 switch 语句中"
+msgid "expected end of capture-list"
+msgstr "捕获列表应在此结束"
 
-#: cp/parser.c:7028
+#: cp/parser.c:7238
 #, gcc-internal-format
-msgid "%Hcase label not within a switch statement"
-msgstr "%Hcase 标号出现在开关语句外"
+msgid "ISO C++ does not allow initializers in lambda expression capture lists"
+msgstr "ISO C++ 不允许在 lambda 表达式捕获列表中有初始值设定"
 
-#: cp/parser.c:7146
+#: cp/parser.c:7332
 #, gcc-internal-format
-msgid "%H%<else%> without a previous %<if%>"
-msgstr "%H%<else%>没有对应的%<if%>"
+msgid "default argument specified for lambda parameter"
+msgstr "为 lambda 形参指定了默认参数"
 
-#: cp/parser.c:7625
+#: cp/parser.c:7395
 #, gcc-internal-format
-msgid "%Hbreak statement not within loop or switch"
-msgstr "%Hbreak 语句不在循环或开关语句内"
+msgid "lambda expression with no captures declared mutable"
+msgstr "没有捕获的 Lambda 表达式声明为 mutable"
 
-#: cp/parser.c:7633 cp/parser.c:7653
+#: cp/parser.c:7738
 #, gcc-internal-format
-msgid "%Hinvalid exit from OpenMP structured block"
-msgstr "%HOpenMP 结构块出口无效"
+msgid "case label %qE not within a switch statement"
+msgstr "case 标号%qE未出现在 switch 语句中"
 
-#: cp/parser.c:7636
+#: cp/parser.c:7811
 #, gcc-internal-format
-msgid "%Hbreak statement used with OpenMP for loop"
-msgstr "%HOpenMP for 循环中使用了 break 语句"
+msgid "need %<typename%> before %qE because %qT is a dependent scope"
+msgstr "%qE之前需要%<typename%>,因为%qT是一个有依赖的作用域"
 
-#: cp/parser.c:7646
+#: cp/parser.c:7820
 #, gcc-internal-format
-msgid "%Hcontinue statement not within a loop"
-msgstr "%Hcontinue 语句出现在循环以外"
+msgid "%<%T::%D%> names the constructor, not the type"
+msgstr "%<%T::%D%>命名了一个构造函数而非类型"
 
 #. Issue a warning about this use of a GNU extension.
-#: cp/parser.c:7689
+#: cp/parser.c:8455
 #, gcc-internal-format
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ 不允许计算转移"
 
-#: cp/parser.c:7829 cp/parser.c:15630
+#: cp/parser.c:8600 cp/parser.c:16598
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr "多余的%<;%>"
 
-#: cp/parser.c:8050
+#: cp/parser.c:8821
+#, gcc-internal-format
+msgid "%<__label__%> not at the beginning of a block"
+msgstr "%<__label__%>未出现在块起始"
+
+#: cp/parser.c:8959
 #, gcc-internal-format
-msgid "%H%<__label__%> not at the beginning of a block"
-msgstr "%H%<__label__%>未出现在块起始"
+msgid "mixing declarations and function-definitions is forbidden"
+msgstr "不能混合声明和函数定义"
 
-#: cp/parser.c:8187
+#: cp/parser.c:9100
 #, gcc-internal-format
-msgid "%Hmixing declarations and function-definitions is forbidden"
-msgstr "%H不能混合声明和函数定义"
+msgid "%<friend%> used outside of class"
+msgstr "%<friend%>用在类外"
 
-#: cp/parser.c:8327
+#. Complain about `auto' as a storage specifier, if
+#. we're complaining about C++0x compatibility.
+#: cp/parser.c:9159
 #, gcc-internal-format
-msgid "%H%<friend%> used outside of class"
-msgstr "%H%<friend%>用在类外"
+msgid "%<auto%> will change meaning in C++0x; please remove it"
+msgstr "%<auto%>的语义在 C++0x 中将被改变;请考虑删除它"
 
-#: cp/parser.c:8383
+#: cp/parser.c:9281
 #, gcc-internal-format
-msgid "%H%<auto%> will change meaning in C++0x; please remove it"
-msgstr "%H%<auto%>ç\9a\84语ä¹\89å\9c¨ C++0x ä¸­å°\86被æ\94¹å\8f\98ï¼\9b请è\80\83è\99\91å\88 é\99¤å®\83"
+msgid "class definition may not be declared a friend"
+msgstr "ç±»å®\9aä¹\89ä¸\8dè\83½è¢«å£°æ\98\8e为å\8f\8bå\85\83"
 
-#: cp/parser.c:8502
+#: cp/parser.c:9350 cp/parser.c:16922
 #, gcc-internal-format
-msgid "%Hclass definition may not be declared a friend"
-msgstr "%H类定义不能被声明为友元"
+msgid "templates may not be %<virtual%>"
+msgstr "模板不能是%<virtual%>的"
 
-#: cp/parser.c:8572 cp/parser.c:15946
+#: cp/parser.c:9771
 #, gcc-internal-format
-msgid "%Htemplates may not be %<virtual%>"
-msgstr "%H模板不能是%<virtual%>的"
+msgid "invalid use of %<auto%> in conversion operator"
+msgstr "在转换运算符中使用%<auto%>无效"
 
-#: cp/parser.c:9049
+#: cp/parser.c:9856
 #, gcc-internal-format
-msgid "%Honly constructors take base initializers"
-msgstr "%H只有构造函数才能有基类初始值设定"
+msgid "only constructors take base initializers"
+msgstr "只有构造函数才能有基类初始值设定"
 
-#: cp/parser.c:9071
+#: cp/parser.c:9878
 #, gcc-internal-format
-msgid "%Hcannot expand initializer for member %<%D%>"
-msgstr "%H无法从成员%<%D%>中扩展初始值"
+msgid "cannot expand initializer for member %<%D%>"
+msgstr "无法从成员%<%D%>中扩展初始值"
 
-#: cp/parser.c:9126
+#: cp/parser.c:9933
 #, gcc-internal-format
 msgid "anachronistic old-style base class initializer"
 msgstr "年代错误的旧式基类初始值设定"
 
-#: cp/parser.c:9182
+#: cp/parser.c:10001
 #, gcc-internal-format
-msgid "%Hkeyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
-msgstr "%H关键字%<typename%>不允许用在此上下文中(限定的初始值设定隐式地是一个类型)"
+msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+msgstr "关键字%<typename%>不允许用在此上下文中(限定的初始值设定隐式地是一个类型)"
 
 #. Warn that we do not support `export'.
-#: cp/parser.c:9528
+#: cp/parser.c:10346
 #, gcc-internal-format
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr "关键字%<export%>未实现,将被忽略"
 
-#: cp/parser.c:9710 cp/parser.c:9808 cp/parser.c:9914
+#: cp/parser.c:10532 cp/parser.c:10631 cp/parser.c:10738 cp/parser.c:15307
 #, gcc-internal-format
-msgid "%Htemplate parameter pack %qD cannot have a default argument"
-msgstr "%H模板参数包%qD不能有默认参数"
+msgid "template parameter pack %qD cannot have a default argument"
+msgstr "模板参数包%qD不能有默认参数"
 
-#: cp/parser.c:9713
+#: cp/parser.c:10536 cp/parser.c:15314
 #, gcc-internal-format
-msgid "%Htemplate parameter pack cannot have a default argument"
-msgstr "%H模板参数包不能有默认参数"
+msgid "template parameter pack cannot have a default argument"
+msgstr "模板参数包不能有默认参数"
 
-#: cp/parser.c:9811 cp/parser.c:9918
+#: cp/parser.c:10635 cp/parser.c:10742
 #, gcc-internal-format
-msgid "%Htemplate parameter packs cannot have default arguments"
-msgstr "%H模板参数包不能有默认参数"
+msgid "template parameter packs cannot have default arguments"
+msgstr "模板参数包不能有默认参数"
 
-#: cp/parser.c:10060
+#: cp/parser.c:10882
 #, gcc-internal-format
 msgid "%<<::%> cannot begin a template-argument list"
 msgstr "不能以%<<::%>开始一个模板实参列表"
 
-#: cp/parser.c:10064
+#: cp/parser.c:10886
 #, gcc-internal-format
 msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
 msgstr "%<<:%>是%<[%>的另一种拼法。请在%<<%>和%<::%>间加上空格"
 
-#: cp/parser.c:10142
+#: cp/parser.c:10964
 #, gcc-internal-format
-msgid "%Hparse error in template argument list"
-msgstr "%H模板实参表语法解析错误"
+msgid "parse error in template argument list"
+msgstr "模板实参表语法错误"
 
 #. Explain what went wrong.
-#: cp/parser.c:10257
+#: cp/parser.c:11078
 #, gcc-internal-format
-msgid "%Hnon-template %qD used as template"
-msgstr "%H非模板%qD用作模板"
+msgid "non-template %qD used as template"
+msgstr "非模板%qD用作模板"
 
-#: cp/parser.c:10259
+#: cp/parser.c:11080
 #, gcc-internal-format
 msgid "use %<%T::template %D%> to indicate that it is a template"
 msgstr "使用%<%T::template %D%>来表示这是一个模板"
 
-#: cp/parser.c:10796
+#: cp/parser.c:11213
 #, gcc-internal-format
-msgid "%Htemplate specialization with C linkage"
-msgstr "%H特例化模板有 C 链接"
+msgid "expected parameter pack before %<...%>"
+msgstr "%<...%>前需要形参包"
 
-#: cp/parser.c:11442
+#: cp/parser.c:11628
 #, gcc-internal-format
-msgid "using %<typename%> outside of template"
-msgstr "在模板外使用%<typename%>"
+msgid "template specialization with C linkage"
+msgstr "特例化模板有 C 链接"
 
-#: cp/parser.c:11606
+#: cp/parser.c:12444
 #, gcc-internal-format
 msgid "declaration %qD does not declare anything"
 msgstr "声明%qD没有声明任何东西"
 
-#: cp/parser.c:11691
+#: cp/parser.c:12530
 #, gcc-internal-format
 msgid "attributes ignored on uninstantiated type"
 msgstr "属性在未初始化类型上被忽略"
 
-#: cp/parser.c:11695
+#: cp/parser.c:12534
 #, gcc-internal-format
 msgid "attributes ignored on template instantiation"
 msgstr "属性在模板实例化上被忽略"
 
-#: cp/parser.c:11700
+#: cp/parser.c:12539
 #, gcc-internal-format
 msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
 msgstr "类型在非前向声明的详尽类型限定符中被忽略"
 
-#: cp/parser.c:11977
+#: cp/parser.c:12824
 #, gcc-internal-format
-msgid "%H%qD is not a namespace-name"
-msgstr "%H%qD不是一个命名空间"
+msgid "%qD is not a namespace-name"
+msgstr "%qD不是一个命名空间名"
 
-#: cp/parser.c:12104
+#: cp/parser.c:12951
 #, gcc-internal-format
-msgid "%H%<namespace%> definition is not allowed here"
-msgstr "%H在这里不允许使用%<namespace%>定义"
+msgid "%<namespace%> definition is not allowed here"
+msgstr "在这里不允许使用%<namespace%>定义"
 
-#. [namespace.udecl]
-#.
-#. A using declaration shall not name a template-id.
-#: cp/parser.c:12244
+#: cp/parser.c:13092
 #, gcc-internal-format
-msgid "%Ha template-id may not appear in a using-declaration"
-msgstr "%H模板标识符不允许出现在 using 声明中"
+msgid "a template-id may not appear in a using-declaration"
+msgstr "模板标识符不允许出现在 using 声明中"
 
-#: cp/parser.c:12621
+#: cp/parser.c:13513
 #, gcc-internal-format
-msgid "%Han asm-specification is not allowed on a function-definition"
-msgstr "%H函数定义中不允许出现 asm 指定"
+msgid "an asm-specification is not allowed on a function-definition"
+msgstr "函数定义中不允许出现 asm 指定"
 
-#: cp/parser.c:12625
+#: cp/parser.c:13517
 #, gcc-internal-format
-msgid "%Hattributes are not allowed on a function-definition"
-msgstr "%H函数定义中不允许有属性"
+msgid "attributes are not allowed on a function-definition"
+msgstr "函数定义中不允许有属性"
 
-#: cp/parser.c:12778
+#: cp/parser.c:13670
 #, gcc-internal-format
-msgid "%Hinitializer provided for function"
-msgstr "%H为函数提供了初始值设定"
+msgid "initializer provided for function"
+msgstr "为函数提供了初始值设定"
 
-#: cp/parser.c:12800
+#: cp/parser.c:13703
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr "括起的初始值设定后出现的属性被忽略"
 
-#: cp/parser.c:13198
+#: cp/parser.c:14098 cp/pt.c:9774
+#, gcc-internal-format
+msgid "array bound is not an integer constant"
+msgstr "数组边界不是一个整数常量"
+
+#: cp/parser.c:14219
 #, gcc-internal-format
-msgid "%Harray bound is not an integer constant"
-msgstr "%H数组边界不是一个整数常量"
+msgid "cannot define member of dependent typedef %qT"
+msgstr "生成引用类型%qT的成员指针"
 
-#: cp/parser.c:13310
+#: cp/parser.c:14223
 #, gcc-internal-format
-msgid "%H%<%T::%E%> is not a type"
-msgstr "%H%<%T::%E%>不是一个类型"
+msgid "%<%T::%E%> is not a type"
+msgstr "%<%T::%E%>不是一个类型"
 
-#: cp/parser.c:13337
+#: cp/parser.c:14251
 #, gcc-internal-format
-msgid "%Hinvalid use of constructor as a template"
-msgstr "%H将构造函数用作模板用法无效"
+msgid "invalid use of constructor as a template"
+msgstr "将构造函数用作模板无效"
 
-#: cp/parser.c:13339
+#: cp/parser.c:14253
 #, gcc-internal-format
 msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr "使用%<%T::%D%>而不是%<%T::%D%>来以限定名指定构造函数"
 
-#: cp/parser.c:13512
+#: cp/parser.c:14431
 #, gcc-internal-format
-msgid "%H%qD is a namespace"
-msgstr "%H%qD是一个命名空间"
+msgid "%qD is a namespace"
+msgstr "%qD是一个命名空间"
 
-#: cp/parser.c:13587
+#: cp/parser.c:14506
 #, gcc-internal-format
-msgid "%Hduplicate cv-qualifier"
-msgstr "%H重复的 cv 限定"
+msgid "duplicate cv-qualifier"
+msgstr "重复的 cv 限定"
 
-#: cp/parser.c:13699
+#: cp/parser.c:14628
 #, gcc-internal-format
 msgid "invalid use of %<auto%>"
 msgstr "错误地使用了%<auto%>"
 
-#: cp/parser.c:14273
+#: cp/parser.c:15240
 #, gcc-internal-format
-msgid "%Hfile ends in default argument"
-msgstr "%H文件在默认参数处结束"
+msgid "file ends in default argument"
+msgstr "文件在默认参数处结束"
 
-#: cp/parser.c:14319
+#: cp/parser.c:15286
 #, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr "不建议为非函数指定默认参数"
 
-#: cp/parser.c:14322
-#, gcc-internal-format
-msgid "%Hdefault arguments are only permitted for function parameters"
-msgstr "%H默认参数只允许出现在函数参数中"
-
-#: cp/parser.c:14340
-#, gcc-internal-format
-msgid "%H%sparameter pack %qD cannot have a default argument"
-msgstr "%H%s模板参数包%qD不能有默认参数"
-
-#: cp/parser.c:14344
+#: cp/parser.c:15290
 #, gcc-internal-format
-msgid "%H%sparameter pack cannot have a default argument"
-msgstr "%H%s模板参数包不能有默认参数"
+msgid "default arguments are only permitted for function parameters"
+msgstr "默认参数只允许出现在函数参数中"
 
-#: cp/parser.c:14607
+#: cp/parser.c:15576
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ISO C++ 不允许指定元素初始值设定"
 
-#: cp/parser.c:15223
+#: cp/parser.c:16190
 #, gcc-internal-format
-msgid "%Hinvalid class name in declaration of %qD"
-msgstr "%H%qD的声明中类名无效"
+msgid "invalid class name in declaration of %qD"
+msgstr "%qD的声明中类名无效"
 
-#: cp/parser.c:15236
+#: cp/parser.c:16204
 #, gcc-internal-format
-msgid "%Hdeclaration of %qD in namespace %qD which does not enclose %qD"
-msgstr "%H%qD声明出现在命名空间%qD中,而后者并不包含%qD"
+msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+msgstr "%qD声明出现在命名空间%qD中,而后者并不包含%qD"
 
-#: cp/parser.c:15241
+#: cp/parser.c:16209
 #, gcc-internal-format
-msgid "%Hdeclaration of %qD in %qD which does not enclose %qD"
-msgstr "%H%qD声明出现在%qD中,而后者并不包含%qD"
+msgid "declaration of %qD in %qD which does not enclose %qD"
+msgstr "%qD声明出现在%qD中,而后者并不包含%qD"
 
-#: cp/parser.c:15255
+#: cp/parser.c:16223
 #, gcc-internal-format
-msgid "%Hextra qualification not allowed"
-msgstr "%H不允许有额外的限定"
+msgid "extra qualification not allowed"
+msgstr "不允许有多余的限定"
 
-#: cp/parser.c:15267
+#: cp/parser.c:16235
 #, gcc-internal-format
-msgid "%Han explicit specialization must be preceded by %<template <>%>"
-msgstr "%H显式特例化前必须有%<template <>%>"
+msgid "an explicit specialization must be preceded by %<template <>%>"
+msgstr "显式特例化前必须有%<template <>%>"
 
-#: cp/parser.c:15296
+#: cp/parser.c:16265
 #, gcc-internal-format
-msgid "%Hfunction template %qD redeclared as a class template"
-msgstr "%H函数模板%qD重声明为类模板"
+msgid "function template %qD redeclared as a class template"
+msgstr "函数模板%qD重声明为类模板"
 
-#: cp/parser.c:15378
+#: cp/parser.c:16348
 #, gcc-internal-format
-msgid "%Hredefinition of %q#T"
-msgstr "%H%q#T重定义"
+msgid "previous definition of %q+#T"
+msgstr "%q+#T的前一个定义"
 
-#: cp/parser.c:15380
+#: cp/parser.c:16617
 #, gcc-internal-format
-msgid "%Hprevious definition of %q+#T"
-msgstr "%H%q+#T的上一个定义"
+msgid "a class-key must be used when declaring a friend"
+msgstr "声明友元时必须使用 class 关键字"
 
-#: cp/parser.c:15648
+#: cp/parser.c:16632
 #, gcc-internal-format
-msgid "%Ha class-key must be used when declaring a friend"
-msgstr "%H声明友元时必须使用 class 关键字"
+msgid "friend declaration does not name a class or function"
+msgstr "友元声明没有指定类或函数名"
 
-#: cp/parser.c:15663
+#: cp/parser.c:16814
 #, gcc-internal-format
-msgid "%Hfriend declaration does not name a class or function"
-msgstr "%H友元声明没有指定类或函数名"
+msgid "pure-specifier on function-definition"
+msgstr "函数定义上有 pure 指定"
 
-#: cp/parser.c:15843
+#: cp/parser.c:17127
 #, gcc-internal-format
-msgid "%Hpure-specifier on function-definition"
-msgstr "%H函数定义上有 pure 指定"
+msgid "keyword %<typename%> not allowed outside of templates"
+msgstr "关键字%<typename%>不能在模板以外使用"
 
-#: cp/parser.c:16150
+#: cp/parser.c:17130
 #, gcc-internal-format
-msgid "%Hkeyword %<typename%> not allowed outside of templates"
-msgstr "%H关键字%<typename%>不能在模板以外使用"
+msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+msgstr "关键字%<typename%>不允许用在此上下文中(基类隐式地是一个类型)"
 
-#: cp/parser.c:16153
+#: cp/parser.c:18286
 #, gcc-internal-format
-msgid "%Hkeyword %<typename%> not allowed in this context (the base class is implicitly a type)"
-msgstr "%H关键字%<typename%>不允许用在此上下文中(基类隐式地是一个类型)"
+msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
+msgstr "特例化成员%<%T::%E%>需要%<template<>%>语法"
 
-#: cp/parser.c:17216
+#: cp/parser.c:18291
 #, gcc-internal-format
-msgid "%Htoo few template-parameter-lists"
-msgstr "%H模板参数表太少"
+msgid "invalid declaration of %<%T::%E%>"
+msgstr "%<%T::%E%>声明无效"
+
+#: cp/parser.c:18295
+#, gcc-internal-format
+msgid "too few template-parameter-lists"
+msgstr "模板参数表太少"
 
 #. Otherwise, there are too many template parameter lists.  We have
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:17231
+#: cp/parser.c:18302
 #, gcc-internal-format
-msgid "%Htoo many template-parameter-lists"
-msgstr "%H模板参数表太多"
+msgid "too many template-parameter-lists"
+msgstr "模板参数表太多"
 
-#. Issue an error message.
-#: cp/parser.c:17505
+#: cp/parser.c:18590
 #, gcc-internal-format
-msgid "%Hnamed return values are no longer supported"
-msgstr "%H有名返回值不再被支持"
+msgid "named return values are no longer supported"
+msgstr "有名返回值不再被支持"
 
-#. 14.5.2.2 [temp.mem]
-#.
-#. A local class shall not have member templates.
-#: cp/parser.c:17580
+#: cp/parser.c:18670
 #, gcc-internal-format
-msgid "%Hinvalid declaration of member template in local class"
-msgstr "%H局部类中对成员模板的声明无效"
+msgid "invalid declaration of member template in local class"
+msgstr "局部类中对成员模板的声明无效"
 
-#: cp/parser.c:17590
+#: cp/parser.c:18679
 #, gcc-internal-format
-msgid "%Htemplate with C linkage"
-msgstr "%HC 链接的模板"
+msgid "template with C linkage"
+msgstr "模板有 C 链接"
 
-#: cp/parser.c:17737
+#: cp/parser.c:18827
 #, gcc-internal-format
-msgid "%Htemplate declaration of %qs"
-msgstr "%H%qs声明为模板"
+msgid "template declaration of %<typedef%>"
+msgstr "%<typedef%> 的模板声明"
 
-#: cp/parser.c:17801
+#: cp/parser.c:18896
 #, gcc-internal-format
-msgid "%Hexplicit template specialization cannot have a storage class"
-msgstr "%H显式特例化不能有存储类型"
+msgid "explicit template specialization cannot have a storage class"
+msgstr "显式特例化不能有存储类型"
 
-#: cp/parser.c:18019
+#: cp/parser.c:19121
 #, gcc-internal-format
-msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
-msgstr "%H在嵌套模板实参列表中应当使用%<> >%>而非%<>>%>"
+msgid "%<>>%> should be %<> >%> within a nested template argument list"
+msgstr "在嵌套模板实参列表中应当使用%<> >%>而非%<>>%>"
 
-#: cp/parser.c:18032
+#: cp/parser.c:19134
 #, gcc-internal-format
-msgid "%Hspurious %<>>%>, use %<>%> to terminate a template argument list"
-msgstr "%H可疑的%<>>%>,使用%<>%>来结束模板实参列表"
+msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+msgstr "可疑的%<>>%>,使用%<>%>来结束模板实参列表"
 
-#: cp/parser.c:18361
+#: cp/parser.c:19477
 #, gcc-internal-format
-msgid "%Hinvalid use of %qD in linkage specification"
-msgstr "%H指定链接时使用%qD无效"
+msgid "invalid use of %qD in linkage specification"
+msgstr "指定链接时使用%qD无效"
 
-#: cp/parser.c:18374
+#: cp/parser.c:19490
 #, gcc-internal-format
-msgid "%H%<__thread%> before %qD"
-msgstr "%H%<__thread%>出现在%qD之前"
+msgid "%<__thread%> before %qD"
+msgstr "%<__thread%>出现在%qD之前"
 
-#: cp/parser.c:18695
+#: cp/parser.c:19811
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr "使用了%qs标记,在命名%q#T时"
 
-#: cp/parser.c:18716
-#, gcc-internal-format
-msgid "%H%qD redeclared with different access"
-msgstr "%H%qD重声明时有不同的可访问性"
-
-#: cp/parser.c:18734
-#, gcc-internal-format
-msgid "%H%<template%> (as a disambiguator) is only allowed within templates"
-msgstr "%H用作消歧义的%<template%>只能用于模板内"
-
-#: cp/parser.c:19000 cp/parser.c:19927 cp/parser.c:20059
+#: cp/parser.c:19832
 #, gcc-internal-format
-msgid "%Hmisplaced %<@%D%> Objective-C++ construct"
-msgstr "%H位置错误的%<@%D%>Objective-C++ 构造"
+msgid "%qD redeclared with different access"
+msgstr "%qD重声明时有不同的可访问性"
 
-#: cp/parser.c:19144
+#: cp/parser.c:19851
 #, gcc-internal-format
-msgid "%H%<@encode%> must specify a type as an argument"
-msgstr "%H%<@encode%>必须指定一个类型作为实参"
+msgid "%<template%> (as a disambiguator) is only allowed within templates"
+msgstr "用作消歧义的%<template%>只能用于模板内"
 
-#: cp/parser.c:19460
+#: cp/parser.c:20118 cp/parser.c:21046 cp/parser.c:21179
 #, gcc-internal-format
-msgid "%Hinvalid Objective-C++ selector name"
-msgstr "%H无效的 Objective-C++ 选择子名"
+msgid "misplaced %<@%D%> Objective-C++ construct"
+msgstr "位置错误的%<@%D%>Objective-C++ 构造"
 
-#: cp/parser.c:19791
+#: cp/parser.c:20263
 #, gcc-internal-format
-msgid "%Hidentifier expected after %<@protocol%>"
-msgstr "%H%<@protocol%>后需要标识符"
+msgid "%<@encode%> must specify a type as an argument"
+msgstr "%<@encode%>必须指定一个类型作为实参"
 
-#: cp/parser.c:20152
+#: cp/parser.c:20579
 #, gcc-internal-format
-msgid "%Htoo many %qs clauses"
-msgstr "%H太多的%qs子句"
+msgid "invalid Objective-C++ selector name"
+msgstr "无效的 Objective-C++ 选择子名"
 
-#: cp/parser.c:20266
+#: cp/parser.c:20910
 #, gcc-internal-format
-msgid "%Hcollapse argument needs positive constant integer expression"
-msgstr "%H折叠变量需要正整常数表达式"
+msgid "identifier expected after %<@protocol%>"
+msgstr "%<@protocol%>需要标识符"
 
-#: cp/parser.c:20555
-#, gcc-internal-format
-msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
-msgstr "%H调度%<runtime%>不接受一个%<chunk_size%>参数"
-
-#: cp/parser.c:20558
-#, gcc-internal-format
-msgid "%Hschedule %<auto%> does not take a %<chunk_size%> parameter"
-msgstr "%H调度%<auto%>不接受一个%<chunk_size%>参数"
-
-#: cp/parser.c:20706
-#, gcc-internal-format
-msgid "%H%qs is not valid for %qs"
-msgstr "%H%qs对%qs而言无效"
-
-#: cp/parser.c:21130
+#: cp/parser.c:22249
 #, gcc-internal-format
 msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
 msgstr "括起的初始化不允许使用在 OpenMP %<for%>循环中"
 
-#: cp/parser.c:21242 cp/parser.c:21280
-#, gcc-internal-format
-msgid "%Hiteration variable %qD should not be firstprivate"
-msgstr "%H迭代变量%qD不应当是 firstprivate"
-
-#: cp/parser.c:21284
+#: cp/parser.c:22417 cp/pt.c:11176
 #, gcc-internal-format
-msgid "%Hiteration variable %qD should not be reduction"
-msgstr "%H迭代变量%qD不应当是 reduction"
-
-#: cp/parser.c:21360
-#, gcc-internal-format
-msgid "%Hnot enough collapsed for loops"
-msgstr "%H循环未被充分折叠"
-
-#: cp/parser.c:21406
-#, gcc-internal-format
-msgid "%Hcollapsed loops not perfectly nested"
-msgstr "%H折叠的循环没有完美的嵌套"
-
-#: cp/parser.c:21817
-#, gcc-internal-format
-msgid "%Hjunk at end of %<#pragma GCC pch_preprocess%>"
-msgstr "%H%<#pragma GCC pch_preprocess%>末尾有垃圾字符"
-
-#: cp/parser.c:21821
-#, gcc-internal-format
-msgid "%Hexpected string literal"
-msgstr "%H需要字面字符串"
-
-#: cp/parser.c:21854
-#, gcc-internal-format
-msgid "%H%<#pragma GCC pch_preprocess%> must be first"
-msgstr "%H%<#pragma GCC pch_preprocess%>必须是第一个"
-
-#: cp/parser.c:21865
-#, gcc-internal-format
-msgid "%H%<#pragma omp barrier%> may only be used in compound statements"
-msgstr "%H%<#pragma omp barrier%>只能用在复合语句中"
-
-#: cp/parser.c:21880
-#, gcc-internal-format
-msgid "%H%<#pragma omp flush%> may only be used in compound statements"
-msgstr "%H%<#pragma omp flush%>只能用在复合语句中"
+msgid "iteration variable %qD should not be reduction"
+msgstr "迭代变量%qD不应当是 reduction"
 
-#: cp/parser.c:21895
+#: cp/parser.c:22484
 #, gcc-internal-format
-msgid "%H%<#pragma omp taskwait%> may only be used in compound statements"
-msgstr "%H%<#pragma omp taskwait%>只能用在复合语句中"
+msgid "not enough collapsed for loops"
+msgstr "循环折叠得不够"
 
-#: cp/parser.c:21923
+#: cp/parser.c:22946
 #, gcc-internal-format
-msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
-msgstr "%H%<#pragma omp section%>只能用在%<#pragma omp sections%>结构中"
+msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+msgstr "%<#pragma GCC pch_preprocess%>末尾有垃圾字符"
 
-#: cp/parser.c:21981
+#: cp/parser.c:23109
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "模块间优化未为 C++ 实现"
 
-#: cp/pt.c:252
+#: cp/pt.c:273
 #, gcc-internal-format
 msgid "data member %qD cannot be a member template"
 msgstr "数据成员%qD不能是成员模板"
 
-#: cp/pt.c:264
+#: cp/pt.c:285
 #, gcc-internal-format
 msgid "invalid member template declaration %qD"
 msgstr "无效的成员模板声明%qD"
 
-#: cp/pt.c:611
+#: cp/pt.c:647
 #, gcc-internal-format
 msgid "explicit specialization in non-namespace scope %qD"
 msgstr "显式特例化出现在非命名空间作用域%qD中"
 
-#: cp/pt.c:625
+#: cp/pt.c:661
 #, gcc-internal-format
 msgid "enclosing class templates are not explicitly specialized"
 msgstr "所包含的类模板并未被显式特例化"
 
-#: cp/pt.c:713
+#: cp/pt.c:749
 #, gcc-internal-format
 msgid "specialization of %qD in different namespace"
 msgstr "在不同命名空间内对%qD的特例化"
 
-#: cp/pt.c:714 cp/pt.c:815
+#: cp/pt.c:750 cp/pt.c:852
 #, gcc-internal-format
 msgid "  from definition of %q+#D"
 msgstr "  从%q+#D的定义"
 
-#: cp/pt.c:731
+#: cp/pt.c:767
 #, gcc-internal-format
 msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
 msgstr "%qD的显式实例化出现在命名空间%qD中,而后者并不包含命名空间%qD"
 
-#: cp/pt.c:749
+#: cp/pt.c:785
 #, gcc-internal-format
 msgid "name of class shadows template template parameter %qD"
 msgstr "类名隐藏了模板的模板形参%qD"
 
-#: cp/pt.c:782
+#: cp/pt.c:818
 #, gcc-internal-format
 msgid "specialization of %qT after instantiation"
 msgstr "%qT的实例化在特例化之后"
 
-#: cp/pt.c:814
+#: cp/pt.c:851
 #, gcc-internal-format
 msgid "specializing %q#T in different namespace"
 msgstr "在不同命名空间中特例化%q#T"
 
-#: cp/pt.c:829
+#. But if we've had an implicit instantiation, that's a
+#. problem ([temp.expl.spec]/6).
+#: cp/pt.c:889
 #, gcc-internal-format
 msgid "specialization %qT after instantiation %qT"
 msgstr "%qT的实例化在%qT的特例化之后"
 
-#: cp/pt.c:842
+#: cp/pt.c:903
 #, gcc-internal-format
 msgid "explicit specialization of non-template %qT"
 msgstr "显式特例化非模板%qT"
 
-#: cp/pt.c:1249
+#: cp/pt.c:1319
 #, gcc-internal-format
 msgid "specialization of %qD after instantiation"
 msgstr "%qD的特例化在实例化之后"
 
-#: cp/pt.c:1471
+#: cp/pt.c:1744
 #, gcc-internal-format
 msgid "%qD is not a function template"
 msgstr "%qD不是一个函数模板"
 
-#: cp/pt.c:1680
+#: cp/pt.c:1953
 #, gcc-internal-format
 msgid "template-id %qD for %q+D does not match any template declaration"
 msgstr "%2$q+D的模板标识符%1$qD不匹配任何模板声明"
 
-#: cp/pt.c:1688
+#: cp/pt.c:1956
+#, gcc-internal-format
+msgid "saw %d %<template<>%>, need %d for specializing a member function template"
+msgstr "发现 %d 个%<template<>%>,需要 %d 来特例化一个成员函数模板"
+
+#: cp/pt.c:1965
 #, gcc-internal-format
 msgid "ambiguous template specialization %qD for %q+D"
 msgstr "有歧义的模板特例化%qD(为%q+D)"
 
 #. This case handles bogus declarations like template <>
 #. template <class T> void f<int>();
-#: cp/pt.c:1923 cp/pt.c:1977
+#: cp/pt.c:2201 cp/pt.c:2255
 #, gcc-internal-format
 msgid "template-id %qD in declaration of primary template"
 msgstr "模板标识符%qD出现在基本模板的声明中"
 
-#: cp/pt.c:1936
+#: cp/pt.c:2214
 #, gcc-internal-format
 msgid "template parameter list used in explicit instantiation"
 msgstr "显式初始化中出现了模板参数列表"
 
-#: cp/pt.c:1942
+#: cp/pt.c:2220
 #, gcc-internal-format
 msgid "definition provided for explicit instantiation"
 msgstr "为显式实例化提供的定义"
 
-#: cp/pt.c:1950
+#: cp/pt.c:2228
 #, gcc-internal-format
 msgid "too many template parameter lists in declaration of %qD"
 msgstr "%qD声明时模板参数表太多"
 
-#: cp/pt.c:1953
+#: cp/pt.c:2231
 #, gcc-internal-format
 msgid "too few template parameter lists in declaration of %qD"
 msgstr "%qD声明时模板参数表太少"
 
-#: cp/pt.c:1955
+#: cp/pt.c:2233
 #, gcc-internal-format
 msgid "explicit specialization of %qD must be introduced by %<template <>%>"
 msgstr "%qD的显式特例化必须由%<template <>%>引入"
 
-#: cp/pt.c:1974
+#: cp/pt.c:2252
 #, gcc-internal-format
 msgid "function template partial specialization %qD is not allowed"
 msgstr "函数模板部分特例化%qD是不允许的"
 
-#: cp/pt.c:2006
+#: cp/pt.c:2284
 #, gcc-internal-format
 msgid "default argument specified in explicit specialization"
 msgstr "显式特例化时指定了默认参数"
 
-#: cp/pt.c:2036
+#: cp/pt.c:2314
 #, gcc-internal-format
 msgid "%qD is not a template function"
 msgstr "%qD不是一个模板函数"
 
-#: cp/pt.c:2044
+#: cp/pt.c:2322
 #, gcc-internal-format
 msgid "%qD is not declared in %qD"
 msgstr "%qD未在%qD中声明"
@@ -31677,102 +34082,102 @@ msgstr "%qD未在%qD中声明"
 #. program is ill-formed.
 #.
 #. Similar language is found in [temp.explicit].
-#: cp/pt.c:2106
+#: cp/pt.c:2384
 #, gcc-internal-format
 msgid "specialization of implicitly-declared special member function"
 msgstr "特例化了隐式声明的特殊成员函数"
 
-#: cp/pt.c:2150
+#: cp/pt.c:2428
 #, gcc-internal-format
 msgid "no member function %qD declared in %qT"
 msgstr "成员函数%qD未在%qT中声明"
 
-#: cp/pt.c:2627
+#: cp/pt.c:3030
 #, gcc-internal-format
 msgid "base initializer expansion %<%T%> contains no parameter packs"
 msgstr "基类初始值设定展开%<%T%>不包括参数包"
 
-#: cp/pt.c:2686
+#: cp/pt.c:3091
 #, gcc-internal-format
 msgid "expansion pattern %<%T%> contains no argument packs"
 msgstr "展开样式%<%T%>不包括参数包"
 
-#: cp/pt.c:2688
+#: cp/pt.c:3093
 #, gcc-internal-format
 msgid "expansion pattern %<%E%> contains no argument packs"
 msgstr "展开样式%<%E%>不包括参数包"
 
-#: cp/pt.c:2729
+#: cp/pt.c:3134
 #, gcc-internal-format
 msgid "parameter packs not expanded with %<...%>:"
 msgstr "参数包未能在%<...%>中被展开:"
 
-#: cp/pt.c:2744 cp/pt.c:3365
+#: cp/pt.c:3149 cp/pt.c:3765
 #, gcc-internal-format
 msgid "        %qD"
 msgstr "       %qD"
 
-#: cp/pt.c:2746
+#: cp/pt.c:3151
 #, gcc-internal-format
 msgid "        <anonymous>"
 msgstr "        <匿名>"
 
-#: cp/pt.c:2854
+#: cp/pt.c:3261
 #, gcc-internal-format
 msgid "declaration of %q+#D"
 msgstr "%q+#D的声明"
 
-#: cp/pt.c:2855
+#: cp/pt.c:3262
 #, gcc-internal-format
 msgid " shadows template parm %q+#D"
-msgstr " 隐藏了模版形参%q+#D"
+msgstr "隐藏了模版形参%q+#D"
 
-#: cp/pt.c:3361
+#: cp/pt.c:3761
 #, gcc-internal-format
 msgid "template parameters not used in partial specialization:"
 msgstr "部分特例化中未用到模板参数:"
 
-#: cp/pt.c:3376
+#: cp/pt.c:3776
 #, gcc-internal-format
 msgid "partial specialization %qT does not specialize any template arguments"
 msgstr "部分特例化%qT并未特例化任何模板参数"
 
-#: cp/pt.c:3421
+#: cp/pt.c:3821
 #, gcc-internal-format
 msgid "parameter pack argument %qE must be at the end of the template argument list"
 msgstr "参数包实参%qE必须出现在模板实参表末尾"
 
-#: cp/pt.c:3423
+#: cp/pt.c:3824
 #, gcc-internal-format
 msgid "parameter pack argument %qT must be at the end of the template argument list"
 msgstr "参数包实参%qT必须出现在模板实参表末尾"
 
-#: cp/pt.c:3444
+#: cp/pt.c:3843
 #, gcc-internal-format
 msgid "template argument %qE involves template parameter(s)"
 msgstr "模板实参%qE混杂了模板形参"
 
-#: cp/pt.c:3488
+#: cp/pt.c:3887
 #, gcc-internal-format
 msgid "type %qT of template argument %qE depends on template parameter(s)"
 msgstr "模板实参%2$qE的类型%1$qT取决于模板参数"
 
-#: cp/pt.c:3595
+#: cp/pt.c:3994
 #, gcc-internal-format
 msgid "no default argument for %qD"
 msgstr "%qD没有默认参数"
 
-#: cp/pt.c:3613
+#: cp/pt.c:4015
 #, gcc-internal-format
 msgid "parameter pack %qE must be at the end of the template parameter list"
 msgstr "参数包%qE必须出现在模板形参表末尾"
 
-#: cp/pt.c:3616
+#: cp/pt.c:4018
 #, gcc-internal-format
 msgid "parameter pack %qT must be at the end of the template parameter list"
 msgstr "参数包%qT必须出现在模板形参表末尾"
 
-#: cp/pt.c:3804
+#: cp/pt.c:4207
 #, gcc-internal-format
 msgid "template class without a name"
 msgstr "模板类没有名字"
@@ -31780,7 +34185,7 @@ msgstr "模板类没有名字"
 #. [temp.mem]
 #.
 #. A destructor shall not be a member template.
-#: cp/pt.c:3814
+#: cp/pt.c:4217
 #, gcc-internal-format
 msgid "destructor %qD declared as member template"
 msgstr "析构函数%qD被声明为一个成员模板"
@@ -31790,72 +34195,72 @@ msgstr "析构函数%qD被声明为一个成员模板"
 #. An allocation function can be a function
 #. template. ... Template allocation functions shall
 #. have two or more parameters.
-#: cp/pt.c:3829
+#: cp/pt.c:4232
 #, gcc-internal-format
 msgid "invalid template declaration of %qD"
 msgstr "%qD模板声明无效"
 
-#: cp/pt.c:3946
+#: cp/pt.c:4349
 #, gcc-internal-format
 msgid "template definition of non-template %q#D"
 msgstr "对非模板%q#D的模板定义"
 
-#: cp/pt.c:3989
+#: cp/pt.c:4392
 #, gcc-internal-format
 msgid "expected %d levels of template parms for %q#D, got %d"
 msgstr "需要 %d 级的%q#D模板参数,却给出了 %d 级"
 
-#: cp/pt.c:4001
+#: cp/pt.c:4404
 #, gcc-internal-format
 msgid "got %d template parameters for %q#D"
 msgstr "得到 %d 个模板参数,为%q#D"
 
-#: cp/pt.c:4004
+#: cp/pt.c:4407
 #, gcc-internal-format
 msgid "got %d template parameters for %q#T"
-msgstr "得到 %d 个模板参数,为%q#T"
+msgstr "%2$q#T得到了 %1$d 个模板参数"
 
-#: cp/pt.c:4006
+#: cp/pt.c:4409
 #, gcc-internal-format
 msgid "  but %d required"
-msgstr "  但实际需要 %d 个"
+msgstr "但实际需要 %d 个"
 
-#: cp/pt.c:4024
+#: cp/pt.c:4427
 #, gcc-internal-format
 msgid "template arguments to %qD do not match original template %qD"
 msgstr "给%qD的模板实参不匹配原先的模板%qD"
 
-#: cp/pt.c:4028
+#: cp/pt.c:4431
 #, gcc-internal-format
 msgid "use template<> for an explicit specialization"
 msgstr "使用 template<> 来显式特例化"
 
-#: cp/pt.c:4124
+#: cp/pt.c:4527
 #, gcc-internal-format
 msgid "%qT is not a template type"
 msgstr "%qT不是一个模板类型"
 
-#: cp/pt.c:4137
+#: cp/pt.c:4540
 #, gcc-internal-format
 msgid "template specifiers not specified in declaration of %qD"
 msgstr "%qD的声明中没有 template 限定"
 
-#: cp/pt.c:4147
+#: cp/pt.c:4550
 #, gcc-internal-format
 msgid "redeclared with %d template parameter(s)"
 msgstr "重声明为具有%d个模板参数"
 
-#: cp/pt.c:4149
+#: cp/pt.c:4552
 #, gcc-internal-format
 msgid "previous declaration %q+D used %d template parameter(s)"
 msgstr "先前的声明%q+D使用了%d个模板参数"
 
-#: cp/pt.c:4183
+#: cp/pt.c:4586
 #, gcc-internal-format
 msgid "template parameter %q+#D"
 msgstr "模板形参%q+#D"
 
-#: cp/pt.c:4184
+#: cp/pt.c:4587
 #, gcc-internal-format
 msgid "redeclared here as %q#D"
 msgstr "在这里又被声明为%q#D"
@@ -31864,182 +34269,219 @@ msgstr "在这里又被声明为%q#D"
 #.
 #. A template-parameter may not be given default arguments
 #. by two different declarations in the same scope.
-#: cp/pt.c:4194
+#: cp/pt.c:4597
 #, gcc-internal-format
 msgid "redefinition of default argument for %q#D"
 msgstr "重定义%q#D的默认参数"
 
-#: cp/pt.c:4195
+#: cp/pt.c:4599
 #, gcc-internal-format
-msgid "%Joriginal definition appeared here"
-msgstr "%J原始定义出现在这里"
+msgid "original definition appeared here"
+msgstr "原始定义在此"
 
-#: cp/pt.c:4299
+#: cp/pt.c:4703
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
 msgstr "%qE不是类型%qT的有效模板实参,因为函数%qD没有外部链接"
 
-#: cp/pt.c:4340
+#: cp/pt.c:4722 cp/pt.c:5009
+#, gcc-internal-format
+msgid "%qE is not a valid template argument for type %qT"
+msgstr "%qE不是类型%qT的有效模板参数"
+
+#: cp/pt.c:4724
+#, gcc-internal-format
+msgid "it must be a pointer-to-member of the form `&X::Y'"
+msgstr "它必须是格式为‘&X::Y’的成员指针"
+
+#: cp/pt.c:4760
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT because string literals can never be used in this context"
 msgstr "%qE不是类型%qT的有效模板实参,因为字面字符串不能用在此上下文中"
 
-#: cp/pt.c:4417
+#: cp/pt.c:4837
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
 msgstr "%qE不是类型%qT的有效模板实参,因为它是一个非常量的表达式"
 
-#: cp/pt.c:4461
+#: cp/pt.c:4881
 #, gcc-internal-format
 msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
 msgstr "%qD不是一个有效模板实参,因为%qD是一个变量,而非变量的地址"
 
-#: cp/pt.c:4479
+#: cp/pt.c:4899
 #, gcc-internal-format
 msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
 msgstr "%qE不是类型%qT的有效模板实参,因为%qE不是一个变量"
 
-#: cp/pt.c:4486
+#: cp/pt.c:4906
 #, gcc-internal-format
 msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
 msgstr "%qE不是类型%qT的有效模板实参,因为函数%qD没有外部链接"
 
-#: cp/pt.c:4516
+#: cp/pt.c:4936
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
 msgstr "%qE不是类型%qT的有效模板实参,因为 cv 限定冲突"
 
-#: cp/pt.c:4523
+#: cp/pt.c:4943
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
 msgstr "%qE不是类型%qT的有效模板实参,因为它不是一个左值"
 
-#: cp/pt.c:4536
+#: cp/pt.c:4960
+#, gcc-internal-format
+msgid "%q#D is not a valid template argument for type %qT because a reference variable does not have a constant address"
+msgstr "%q#D不是类型%qT的有效模板参数,因为一个引用变量没有常量地址"
+
+#: cp/pt.c:4969
+#, gcc-internal-format
+msgid "%qE is not a valid template argument for type %qT because it is not an object with external linkage"
+msgstr "%qE不是类型%qT的有效模板实参,因为它没有外部链接"
+
+#: cp/pt.c:4977
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
 msgstr "%qE不是类型%qT的有效模板实参,因为对象%qD没有外部链接"
 
-#: cp/pt.c:4576
+#: cp/pt.c:5010
+#, gcc-internal-format
+msgid "it must be the address of a function with external linkage"
+msgstr "它必须是一个具有外部链接函数的地址"
+
+#: cp/pt.c:5024
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT because it is a pointer"
 msgstr "%qE不是类型%qT的有效模板实参,因为它是一个指针"
 
-#: cp/pt.c:4578
+#: cp/pt.c:5026
 #, gcc-internal-format
 msgid "try using %qE instead"
 msgstr "尝试使用%qE代替"
 
-#: cp/pt.c:4613
+#: cp/pt.c:5066
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
 msgstr "%qE不是类型%qT的有效模板实参,因为它的类型是%qT"
 
-#: cp/pt.c:4616
+#: cp/pt.c:5069
 #, gcc-internal-format
 msgid "standard conversions are not allowed in this context"
 msgstr "此上下文中不允许标准转换"
 
-#: cp/pt.c:4950
+#: cp/pt.c:5402
+#, gcc-internal-format
+msgid "injected-class-name %qD used as template template argument"
+msgstr "注入的类名%qD被用作模板的模板参数"
+
+#: cp/pt.c:5427
 #, gcc-internal-format
 msgid "to refer to a type member of a template parameter, use %<typename %E%>"
 msgstr "需要使用某个模板参数的类型成员时,请使用%<typename %E%>"
 
-#: cp/pt.c:4966 cp/pt.c:4985 cp/pt.c:5035
+#: cp/pt.c:5443 cp/pt.c:5462 cp/pt.c:5508
 #, gcc-internal-format
 msgid "type/value mismatch at argument %d in template parameter list for %qD"
 msgstr "实参 %d 的类型/值不匹配,在%qD的模板参数列表中"
 
-#: cp/pt.c:4970
+#: cp/pt.c:5447
 #, gcc-internal-format
 msgid "  expected a constant of type %qT, got %qT"
-msgstr "  需要一个%qT类型的常量,却给出了%qT"
+msgstr "需要一个%qT类型的常量,却给出了%qT"
 
-#: cp/pt.c:4974
+#: cp/pt.c:5451
 #, gcc-internal-format
 msgid "  expected a class template, got %qE"
-msgstr "  需要一个类模板,却给出了%qE"
+msgstr "需要一个类模板,却给出了%qE"
 
-#: cp/pt.c:4976
+#: cp/pt.c:5453
 #, gcc-internal-format
 msgid "  expected a type, got %qE"
-msgstr "  需要一个类型,却给出了%qE"
+msgstr "需要一个类型,却给出了%qE"
 
-#: cp/pt.c:4989
+#: cp/pt.c:5466
 #, gcc-internal-format
 msgid "  expected a type, got %qT"
-msgstr "  需要一个类型,却给出了%qT"
+msgstr "需要一个类型,却给出了%qT"
 
-#: cp/pt.c:4991
+#: cp/pt.c:5468
 #, gcc-internal-format
 msgid "  expected a class template, got %qT"
-msgstr "  需要一个类模板,却给出了%qT"
+msgstr "需要一个类模板,却给出了%qT"
+
+#: cp/pt.c:5511
+#, gcc-internal-format
+msgid "  expected a template of type %qD, got %qT"
+msgstr "需要有%qD类型的模板,却得到了%qT"
 
-#: cp/pt.c:5038
+#. Not sure if this is reachable, but it doesn't hurt
+#. to be robust.
+#: cp/pt.c:5551
 #, gcc-internal-format
-msgid "  expected a template of type %qD, got %qD"
-msgstr "  需要一个类型为%qD的模板,却给出了%qD"
+msgid "type mismatch in nontype parameter pack"
+msgstr "非类型参数包中类型不匹配"
 
-#: cp/pt.c:5081
+#: cp/pt.c:5573
 #, gcc-internal-format
 msgid "could not convert template argument %qE to %qT"
 msgstr "不能将模板参数从%qE转换到%qT"
 
-#: cp/pt.c:5137
+#: cp/pt.c:5629
 #, gcc-internal-format
 msgid "wrong number of template arguments (%d, should be %d)"
 msgstr "模板参数数目不对(不应是 %d 个而应是 %d 个)"
 
-#: cp/pt.c:5269
+#: cp/pt.c:5767
 #, gcc-internal-format
 msgid "wrong number of template arguments (%d, should be %d%s)"
 msgstr "模板参数数目 %d 不对(应该是 %d%s)"
 
-#: cp/pt.c:5273
+#: cp/pt.c:5771
 #, gcc-internal-format
 msgid "provided for %q+D"
 msgstr "提供给%q+D"
 
-#: cp/pt.c:5332
+#: cp/pt.c:5838
 #, gcc-internal-format
 msgid "cannot expand %<%E%> into a fixed-length argument list"
 msgstr "无法将%<%E%>展开成定长实参列表"
 
-#: cp/pt.c:5335
+#: cp/pt.c:5841
 #, gcc-internal-format
 msgid "cannot expand %<%T%> into a fixed-length argument list"
 msgstr "无法将%<%T%>展开成定长实参列表"
 
-#: cp/pt.c:5351
+#: cp/pt.c:5857
 #, gcc-internal-format
 msgid "template argument %d is invalid"
-msgstr "模板参数 %d 无效"
+msgstr "模板第 %d 个参数无效"
 
-#: cp/pt.c:5611
+#: cp/pt.c:6179
 #, gcc-internal-format
 msgid "non-template type %qT used as a template"
 msgstr "非模板类型%qT用作模板"
 
-#: cp/pt.c:5613
+#: cp/pt.c:6181
 #, gcc-internal-format
 msgid "for template declaration %q+D"
 msgstr "对于模板声明%q+D"
 
-#: cp/pt.c:6315
+#: cp/pt.c:6836
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
 msgstr "模板实例化深度超过最大值 %d(使用 use -ftemplate-depth-NN 来增大最大值),在实例化%qD时"
 
-#: cp/pt.c:7445
+#: cp/pt.c:8102
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%T%>"
 msgstr "展开%<%T%>时参数包长度不匹配"
 
-#: cp/pt.c:7449
+#: cp/pt.c:8106
 #, gcc-internal-format
 msgid "mismatched argument pack lengths while expanding %<%E%>"
 msgstr "展开%<%E%>时参数包长度不匹配"
 
-#: cp/pt.c:8404
+#: cp/pt.c:9133
 #, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "%q+D按类型%qT实例化"
@@ -32057,237 +34499,237 @@ msgstr "%q+D按类型%qT实例化"
 #.
 #. is an attempt to declare a variable with function
 #. type.
-#: cp/pt.c:8539
+#: cp/pt.c:9272
 #, gcc-internal-format
 msgid "variable %qD has function type"
 msgstr "变量%qD有函数类型"
 
-#: cp/pt.c:8686
+#: cp/pt.c:9437
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "无效的参数类型%qT"
 
-#: cp/pt.c:8688
+#: cp/pt.c:9439
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "在声明%q+D中"
 
-#: cp/pt.c:8765
+#: cp/pt.c:9516
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr "函数返回了一个数组"
 
-#: cp/pt.c:8767
+#: cp/pt.c:9518
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr "函数返回了一个函数"
 
-#: cp/pt.c:8794
+#: cp/pt.c:9545
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr "生成非类类型%qT的成员函数指针"
 
-#: cp/pt.c:9001
-#, gcc-internal-format
-msgid "array bound is not an integer constant"
-msgstr "数组边界不是一个整数常量"
-
-#: cp/pt.c:9021
+#: cp/pt.c:9794
 #, gcc-internal-format
 msgid "creating array with negative size (%qE)"
 msgstr "创建大小为负的数组(%qE)"
 
-#: cp/pt.c:9270
+#: cp/pt.c:10043
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr "形成对 void 的引用"
 
-#: cp/pt.c:9272
+#: cp/pt.c:10045
+#, gcc-internal-format
+msgid "forming pointer to reference type %qT"
+msgstr "生成指向引用类型%qT的指针"
+
+#: cp/pt.c:10047
 #, gcc-internal-format
-msgid "forming %s to reference type %qT"
-msgstr "形成 %s,指向引用类型%qT"
+msgid "forming reference to reference type %qT"
+msgstr "生成指向引用类型%qT的引用"
 
-#: cp/pt.c:9323
+#: cp/pt.c:10096
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr "生成非类类型%qT的成员指针"
 
-#: cp/pt.c:9329
+#: cp/pt.c:10102
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr "生成引用类型%qT的成员指针"
 
-#: cp/pt.c:9335
+#: cp/pt.c:10108
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "创建指向 void 类型的成员指针"
 
-#: cp/pt.c:9402
+#: cp/pt.c:10170
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "生成%qT的数组"
 
-#: cp/pt.c:9408
+#: cp/pt.c:10176
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr "生成抽象类型%qT的数组"
 
-#: cp/pt.c:9459
+#: cp/pt.c:10228
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr "%qT不是类、结构或联合类型"
 
-#: cp/pt.c:9494
+#: cp/pt.c:10264
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr "%qT被解析到非枚举类型%qT"
 
-#: cp/pt.c:9497
+#: cp/pt.c:10267
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr "%qT被解析到非类类型%qT"
 
-#: cp/pt.c:9603
+#: cp/pt.c:10388
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "在模板中使用%qs"
 
-#: cp/pt.c:9740
+#: cp/pt.c:10524
+#, gcc-internal-format
+msgid "qualifying type %qT does not match destructor name ~%qT"
+msgstr "限定类型%qT不匹配析构函数名 ~%qT"
+
+#: cp/pt.c:10539
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr "依赖名%qE被解析为非类型,但实例化却产生了一个类型"
 
-#: cp/pt.c:9742
+#: cp/pt.c:10541
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr "如果您想指定类型,请使用%<typename %E%>"
 
-#: cp/pt.c:9886
+#: cp/pt.c:10687
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "使用无效字段%qD"
 
-#: cp/pt.c:10216 cp/pt.c:10870
+#: cp/pt.c:11017 cp/pt.c:11689
 #, gcc-internal-format
 msgid "invalid use of pack expansion expression"
 msgstr "对集展开表达式的无效使用"
 
-#: cp/pt.c:10220 cp/pt.c:10874
+#: cp/pt.c:11021 cp/pt.c:11693
 #, gcc-internal-format
 msgid "use %<...%> to expand argument pack"
 msgstr "使用%<...%>来展开实参集"
 
-#: cp/pt.c:10365
-#, gcc-internal-format
-msgid "iteration variable %qD should not be reduction"
-msgstr "迭代变量%qD不应当是 reduction"
-
-#: cp/pt.c:11034
+#: cp/pt.c:11853
 #, gcc-internal-format
 msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
 msgstr "常量表达式中不能出现目标不是整型或枚举型的类型转换"
 
-#: cp/pt.c:11507
+#: cp/pt.c:12393
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "%qT既不是类也不是命名空间"
 
-#: cp/pt.c:11510
+#: cp/pt.c:12396
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "%qD既不是类也不是命名空间"
 
-#: cp/pt.c:11724
+#: cp/pt.c:12657
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "%qT是/使用了匿名类型"
 
-#: cp/pt.c:11726
+#: cp/pt.c:12659
 #, gcc-internal-format
 msgid "template argument for %qD uses local type %qT"
 msgstr "%qD的模板实参使用了局部类型%qT"
 
-#: cp/pt.c:11736
+#: cp/pt.c:12669
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr "%qT是一个可变类型"
 
-#: cp/pt.c:11747
+#: cp/pt.c:12680
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "整型表达式%qE不是常量"
 
-#: cp/pt.c:11752
+#: cp/pt.c:12698
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "  试图实例化%qD"
 
-#: cp/pt.c:14531
+#: cp/pt.c:15755
 #, gcc-internal-format
 msgid "ambiguous class template instantiation for %q#T"
 msgstr "%q#T的类模板实例化有歧义"
 
-#: cp/pt.c:14534
+#: cp/pt.c:15758
 #, gcc-internal-format
 msgid "%s %+#T"
 msgstr "%s %+#T"
 
-#: cp/pt.c:14557 cp/pt.c:14640
+#: cp/pt.c:15781 cp/pt.c:15864
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "对非模板%q#D的显式实例化"
 
-#: cp/pt.c:14572
+#: cp/pt.c:15796
 #, gcc-internal-format
 msgid "%qD is not a static data member of a class template"
 msgstr "%qD不是类模板的非静态数据成员"
 
-#: cp/pt.c:14578 cp/pt.c:14635
+#: cp/pt.c:15802 cp/pt.c:15859
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr "没有找到与%qD匹配的模板"
 
-#: cp/pt.c:14583
+#: cp/pt.c:15807
 #, gcc-internal-format
 msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
 msgstr "类型%qT用于显式实例化%qD时不匹配声明的类型%qT"
 
-#: cp/pt.c:14591
+#: cp/pt.c:15815
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "对%q#D的显式实例化"
 
-#: cp/pt.c:14627
+#: cp/pt.c:15851
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "对%q#D重复的显式实例化"
 
-#: cp/pt.c:14650 cp/pt.c:14742
+#: cp/pt.c:15874 cp/pt.c:15966
 #, gcc-internal-format
 msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO C++ 1998 不允许在显式实例化时使用%<extern%>"
 
-#: cp/pt.c:14655 cp/pt.c:14759
+#: cp/pt.c:15879 cp/pt.c:15983
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr "为模板实例化化应用了存储类型%qD"
 
-#: cp/pt.c:14720
+#: cp/pt.c:15944
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "显式实例化非模板类型%qT"
 
-#: cp/pt.c:14729
+#: cp/pt.c:15953
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr "%q#T的显式实例化出现在模板定义之前"
 
-#: cp/pt.c:14747
+#: cp/pt.c:15971
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr "ISO C++ 不允许在显式实例化时使用%qE"
 
-#: cp/pt.c:14793
+#: cp/pt.c:16017
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "对%q#T重复的显式实例化"
@@ -32299,921 +34741,974 @@ msgstr "对%q#T重复的显式实例化"
 #. member function or static data member of a class template
 #. shall be present in every translation unit in which it is
 #. explicitly instantiated.
-#: cp/pt.c:15237
+#: cp/pt.c:16481
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr "显式实例化%qD时没有可用的定义"
 
-#: cp/pt.c:15428
+#: cp/pt.c:16647
 #, gcc-internal-format
 msgid "template instantiation depth exceeds maximum of %d instantiating %q+D, possibly from virtual table generation (use -ftemplate-depth-NN to increase the maximum)"
 msgstr "模板实例化深度超过了最大值 %d,当实例化%q+D时,可能是由于生成虚函数表所致(使用 -ftemplate-depth-NN 来增大最大值)"
 
-#: cp/pt.c:15783
+#: cp/pt.c:17002
 #, gcc-internal-format
 msgid "%q#T is not a valid type for a template constant parameter"
 msgstr "%q#T不是一个有效的模板常量参数类型"
 
-#: cp/pt.c:16749
+#: cp/pt.c:17999
 #, gcc-internal-format
-msgid "deducing auto from brace-enclosed initializer list requires #include <initializer_list>"
-msgstr "ä»\8eè\8a±æ\8b¬å\8f·ä¸­ç\9a\84å\88\9då§\8bå\8c\96å\88\97表æ\8e¨å¯¼ auto 需要 #include <initializer_list>"
+msgid "deducing from brace-enclosed initializer list requires #include <initializer_list>"
+msgstr "ä»\8eè\8a±æ\8b¬å\8f·ä¸­ç\9a\84å\88\9då§\8bå\8c\96å\88\97表æ¼\94ç»\8e需要 #include <initializer_list>"
 
-#: cp/pt.c:16790
+#: cp/pt.c:18049
 #, gcc-internal-format
 msgid "unable to deduce %qT from %qE"
 msgstr "无法从%2$qE推导出%1$qT"
 
-#: cp/repo.c:111
+#: cp/pt.c:18060
+#, gcc-internal-format
+msgid "inconsistent deduction for %qT: %qT and then %qT"
+msgstr "对%qT不一致的演绎:先是%qT然后是%qT"
+
+#: cp/repo.c:119
 #, gcc-internal-format
 msgid "-frepo must be used with -c"
 msgstr "-frepo 必须与 -c 一起使用"
 
-#: cp/repo.c:200
+#: cp/repo.c:209
 #, gcc-internal-format
 msgid "mysterious repository information in %s"
 msgstr "%s 的存储信息很诡异"
 
-#: cp/repo.c:218
+#: cp/repo.c:227
 #, gcc-internal-format
 msgid "can't create repository information file %qs"
 msgstr "无法创建存储信息文件%qs"
 
-#: cp/rtti.c:288
+#: cp/rtti.c:290
 #, gcc-internal-format
 msgid "cannot use typeid with -fno-rtti"
 msgstr "在指定 -fno-rtti 的情况下不能使用 typeid"
 
-#: cp/rtti.c:294
+#: cp/rtti.c:296
 #, gcc-internal-format
 msgid "must #include <typeinfo> before using typeid"
 msgstr "在使用 typeid 之前必须先 #include <typeinfo>"
 
-#: cp/rtti.c:377
+#: cp/rtti.c:393
 #, gcc-internal-format
 msgid "cannot create type information for type %qT because it involves types of variable size"
 msgstr "无法为类型%qT创建类型信息,因为它的大小是可变的"
 
-#: cp/rtti.c:635 cp/rtti.c:650
+#: cp/rtti.c:651 cp/rtti.c:666
 #, gcc-internal-format
 msgid "dynamic_cast of %q#D to %q#T can never succeed"
 msgstr "从%q#D到%q#T的动态转换永远不会成功"
 
-#: cp/rtti.c:661
+#: cp/rtti.c:677
 #, gcc-internal-format
 msgid "%<dynamic_cast%> not permitted with -fno-rtti"
 msgstr "在指定 -fno-rtti 的情况下不能使用%<dynamic_cast%>"
 
-#: cp/rtti.c:740
+#: cp/rtti.c:756
 #, gcc-internal-format
 msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
 msgstr "无法将%qE从类型%qT动态转换到类型%q#T(%s)"
 
-#: cp/search.c:258
+#: cp/search.c:260
 #, gcc-internal-format
 msgid "%qT is an ambiguous base of %qT"
 msgstr "%qT是%qT的有歧义的基类"
 
-#: cp/search.c:276
+#: cp/search.c:278
 #, gcc-internal-format
 msgid "%qT is an inaccessible base of %qT"
 msgstr "%qT是%qT不可访问的基类"
 
-#: cp/search.c:1869
+#: cp/search.c:1841
 #, gcc-internal-format
 msgid "deprecated covariant return type for %q+#D"
-msgstr "不建议为%q+#D使用协变返回类型"
+msgstr "不建议为%q+#D使用协变返回类型"
 
-#: cp/search.c:1871 cp/search.c:1886 cp/search.c:1891 cp/search.c:1910
+#: cp/search.c:1843 cp/search.c:1858 cp/search.c:1863 cp/search.c:1882
 #, gcc-internal-format
 msgid "  overriding %q+#D"
-msgstr "  覆盖了%q+#D"
+msgstr "覆盖了%q+#D"
 
-#: cp/search.c:1885
+#: cp/search.c:1857
 #, gcc-internal-format
 msgid "invalid covariant return type for %q+#D"
 msgstr "%q+#D的协变返回类型无效"
 
-#: cp/search.c:1890
+#: cp/search.c:1862
 #, gcc-internal-format
 msgid "conflicting return type specified for %q+#D"
 msgstr "为%q+#D指定了冲突的返回类型"
 
-#: cp/search.c:1900
+#: cp/search.c:1872
 #, gcc-internal-format
 msgid "looser throw specifier for %q+#F"
-msgstr "放松%q+#F的 throw 限定"
+msgstr "对%q+#F放松的 throw 限定"
 
-#: cp/search.c:1901
+#: cp/search.c:1873
 #, gcc-internal-format
 msgid "  overriding %q+#F"
-msgstr "  覆盖了%q+#F"
+msgstr "覆盖了%q+#F"
 
-#: cp/search.c:1909
+#: cp/search.c:1881
 #, gcc-internal-format
 msgid "conflicting type attributes specified for %q+#D"
 msgstr "为%q+#D指定了冲突的属性"
 
-#: cp/search.c:1920
+#: cp/search.c:1892
 #, gcc-internal-format
 msgid "overriding non-deleted function %q+D"
 msgstr "覆盖了未被删除的函数%q+D"
 
-#: cp/search.c:1924
+#: cp/search.c:1896
 #, gcc-internal-format
 msgid "non-deleted function %q+D"
 msgstr "未被删除的函数%q+D"
 
-#: cp/search.c:1925
+#: cp/search.c:1897
 #, gcc-internal-format
 msgid "overriding deleted function %q+D"
 msgstr "隐藏了被删除的函数%q+D"
 
 #. A static member function cannot match an inherited
 #. virtual member function.
-#: cp/search.c:2017
+#: cp/search.c:1989
 #, gcc-internal-format
 msgid "%q+#D cannot be declared"
 msgstr "无法声明%q+#D"
 
-#: cp/search.c:2018
+#: cp/search.c:1990
 #, gcc-internal-format
 msgid "  since %q+#D declared in base class"
-msgstr "  因为%q+#D已在基类中声明过"
+msgstr "因为%q+#D已在基类中声明过"
 
-#: cp/semantics.c:756
+#: cp/semantics.c:762
 #, gcc-internal-format
 msgid "suggest explicit braces around empty body in %<do%> statement"
 msgstr "建议在%<do%>的空语句体周围显式地加上花括号"
 
-#: cp/semantics.c:1294
+#: cp/semantics.c:1287
 #, gcc-internal-format
 msgid "type of asm operand %qE could not be determined"
 msgstr "无法确定 asm 操作数%qE的类型"
 
-#: cp/semantics.c:1350
+#: cp/semantics.c:1345
 #, gcc-internal-format
 msgid "__label__ declarations are only allowed in function scopes"
 msgstr "__label__ 声明只能出现在函数作用域中"
 
-#: cp/semantics.c:1438
+#: cp/semantics.c:1443
 #, gcc-internal-format
 msgid "invalid use of member %q+D in static member function"
 msgstr "在静态成员函数中使用成员%q+D无效"
 
-#: cp/semantics.c:1440
+#: cp/semantics.c:1445
 #, gcc-internal-format
 msgid "invalid use of non-static data member %q+D"
 msgstr "对非静态数据成员%q+D的无效使用"
 
-#: cp/semantics.c:1441 cp/semantics.c:1480
+#: cp/semantics.c:1446 cp/semantics.c:1510
 #, gcc-internal-format
 msgid "from this location"
 msgstr "从这个地方"
 
-#: cp/semantics.c:1479
+#: cp/semantics.c:1509
 #, gcc-internal-format
 msgid "object missing in reference to %q+D"
 msgstr "对%q+D的引用缺少对象"
 
-#: cp/semantics.c:1958
+#: cp/semantics.c:2065
 #, gcc-internal-format
 msgid "arguments to destructor are not allowed"
 msgstr "析构函数不能有参数"
 
-#: cp/semantics.c:2010
+#: cp/semantics.c:2119
 #, gcc-internal-format
 msgid "%<this%> is unavailable for static member functions"
 msgstr "静态成员函数中不能使用%<this%>"
 
-#: cp/semantics.c:2016
+#: cp/semantics.c:2125
 #, gcc-internal-format
 msgid "invalid use of %<this%> in non-member function"
 msgstr "在非成员函数中使用%<this%>无效"
 
-#: cp/semantics.c:2018
+#: cp/semantics.c:2127
 #, gcc-internal-format
 msgid "invalid use of %<this%> at top level"
-msgstr "在文件使用%<this%>无效"
+msgstr "在文件作用域使用%<this%>无效"
 
-#: cp/semantics.c:2042
+#: cp/semantics.c:2151
 #, gcc-internal-format
 msgid "invalid qualifying scope in pseudo-destructor name"
 msgstr "伪析构函数名的限定作用域无效"
 
-#: cp/semantics.c:2047 cp/typeck.c:2116
+#: cp/semantics.c:2156 cp/typeck.c:2240
 #, gcc-internal-format
 msgid "qualified type %qT does not match destructor name ~%qT"
 msgstr "限定的类型%qT不匹配析构函数名 ~%qT"
 
-#: cp/semantics.c:2069
+#: cp/semantics.c:2178
 #, gcc-internal-format
 msgid "%qE is not of type %qT"
 msgstr "%qE的类型不是%qT"
 
-#: cp/semantics.c:2113
+#: cp/semantics.c:2222
 #, gcc-internal-format
 msgid "compound literal of non-object type %qT"
 msgstr "非对象类型%qT的复合字面常量"
 
-#: cp/semantics.c:2197
+#: cp/semantics.c:2306
 #, gcc-internal-format
 msgid "template type parameters must use the keyword %<class%> or %<typename%>"
 msgstr "模板形参必须使用%<class%>或%<typename%>关键字"
 
-#: cp/semantics.c:2238
+#: cp/semantics.c:2348
 #, gcc-internal-format
 msgid "invalid use of type %qT as a default value for a template template-parameter"
 msgstr "将类型%qT用作模板的模板参数的默认值无效"
 
-#: cp/semantics.c:2241
+#: cp/semantics.c:2351
 #, gcc-internal-format
 msgid "invalid default argument for a template template parameter"
 msgstr "模板的模板形参的默认实参无效"
 
-#: cp/semantics.c:2258
+#: cp/semantics.c:2368
 #, gcc-internal-format
 msgid "definition of %q#T inside template parameter list"
 msgstr "在模板参数列表中定义了%q#T"
 
-#: cp/semantics.c:2269
+#: cp/semantics.c:2379
 #, gcc-internal-format
 msgid "invalid definition of qualified type %qT"
 msgstr "对限定类型%qT的定义无效"
 
-#: cp/semantics.c:2485
+#: cp/semantics.c:2595
 #, gcc-internal-format
 msgid "invalid base-class specification"
 msgstr "无效的基类"
 
-#: cp/semantics.c:2497
+#: cp/semantics.c:2607
 #, gcc-internal-format
 msgid "base class %qT has cv qualifiers"
 msgstr "基类%qT有 cv 限定"
 
-#: cp/semantics.c:2522
+#: cp/semantics.c:2632
 #, gcc-internal-format
-msgid "%Hincomplete type %qT used in nested name specifier"
-msgstr "%H嵌套名指定中使用了不完全的类型%qT"
+msgid "incomplete type %qT used in nested name specifier"
+msgstr "嵌套名指定中使用了不完全的类型%qT"
 
-#: cp/semantics.c:2526
+#: cp/semantics.c:2636
 #, gcc-internal-format
-msgid "%Hreference to %<%T::%D%> is ambiguous"
-msgstr "%H对%<%T::%D%>的引用有歧义"
+msgid "reference to %<%T::%D%> is ambiguous"
+msgstr "对%<%T::%D%>的引用有歧义"
+
+#: cp/semantics.c:2641 cp/typeck.c:2040
+#, gcc-internal-format
+msgid "%qD is not a member of %qT"
+msgstr "%qD不是%qT的成员"
 
-#: cp/semantics.c:2530
+#: cp/semantics.c:2644
 #, gcc-internal-format
-msgid "%H%qD is not a member of %qT"
-msgstr "%H%qD不是%qT的成员"
+msgid "%qD is not a member of %qD"
+msgstr "%qD不是%qD的成员"
 
-#: cp/semantics.c:2533
+#: cp/semantics.c:2646
 #, gcc-internal-format
-msgid "%H%qD is not a member of %qD"
-msgstr "%H%qD不是%qD的成员"
+msgid "%<::%D%> has not been declared"
+msgstr "%<::%D%>未被声明"
 
-#: cp/semantics.c:2535
+#: cp/semantics.c:2863 cp/semantics.c:5602
 #, gcc-internal-format
-msgid "%H%<::%D%> has not been declared"
-msgstr "%H%<::%D%>尚未声明"
+msgid "%qD is not captured"
+msgstr "%qD未被捕获"
 
-#: cp/semantics.c:2676
+#: cp/semantics.c:2869
 #, gcc-internal-format
 msgid "use of %<auto%> variable from containing function"
 msgstr "在包含函数中使用%<auto%>变量"
 
-#: cp/semantics.c:2678
+#: cp/semantics.c:2871
 #, gcc-internal-format
 msgid "  %q+#D declared here"
 msgstr "%q+#D已在此声明过"
 
-#: cp/semantics.c:2716
+#: cp/semantics.c:2909
 #, gcc-internal-format
 msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
 msgstr "模板参数%qD(类型为%qT)不允许出现在整数表达式中,因为它的类型不是整数或枚举"
 
-#: cp/semantics.c:2885
+#: cp/semantics.c:3073
 #, gcc-internal-format
 msgid "%qD cannot appear in a constant-expression"
 msgstr "%qD不能出现在常量表达式中"
 
-#: cp/semantics.c:2893
+#: cp/semantics.c:3081
 #, gcc-internal-format
 msgid "use of namespace %qD as expression"
 msgstr "命名空间%qD被用作表达式"
 
-#: cp/semantics.c:2898
+#: cp/semantics.c:3086
 #, gcc-internal-format
 msgid "use of class template %qT as expression"
 msgstr "将类模板%qT用作表达式"
 
 #. Ambiguous reference to base members.
-#: cp/semantics.c:2904
+#: cp/semantics.c:3092
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous in multiple inheritance lattice"
 msgstr "在多继承网格中对%qD的访问有歧义"
 
-#: cp/semantics.c:3026 cp/semantics.c:4633
+#: cp/semantics.c:3214 cp/semantics.c:4987
 #, gcc-internal-format
 msgid "type of %qE is unknown"
 msgstr "%qE的类型未知"
 
-#: cp/semantics.c:3041
+#: cp/semantics.c:3229
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
 msgstr "不能为析构函数%<~%T%>使用%<offsetof%>"
 
-#: cp/semantics.c:3052
+#: cp/semantics.c:3240
 #, gcc-internal-format
 msgid "cannot apply %<offsetof%> to member function %qD"
 msgstr "不能为成员函数%qD应用%<offsetof%>"
 
-#: cp/semantics.c:3488
+#: cp/semantics.c:3709
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %qs"
 msgstr "%qD在子句%qs中不是一个变量"
 
-#: cp/semantics.c:3497 cp/semantics.c:3519 cp/semantics.c:3541
+#: cp/semantics.c:3718 cp/semantics.c:3740 cp/semantics.c:3762
 #, gcc-internal-format
 msgid "%qD appears more than once in data clauses"
 msgstr "%qD在数据子句中多次出现"
 
-#: cp/semantics.c:3511
+#: cp/semantics.c:3732
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %<firstprivate%>"
 msgstr "%qD在%<firstprivate%>子句中不是一个变量"
 
-#: cp/semantics.c:3533
+#: cp/semantics.c:3754
 #, gcc-internal-format
 msgid "%qD is not a variable in clause %<lastprivate%>"
 msgstr "%qD在%<lastprivate%>子句中不是一个变量"
 
-#: cp/semantics.c:3563
+#: cp/semantics.c:3784
 #, gcc-internal-format
 msgid "num_threads expression must be integral"
 msgstr "num_threads 表达式必须是整型的"
 
-#: cp/semantics.c:3577
+#: cp/semantics.c:3798
 #, gcc-internal-format
 msgid "schedule chunk size expression must be integral"
 msgstr "调度块大小表达式必须为整型"
 
-#: cp/semantics.c:3709
+#: cp/semantics.c:3930
 #, gcc-internal-format
 msgid "%qE has reference type for %qs"
 msgstr "%qE有%qs的引用类型"
 
-#: cp/semantics.c:3780
+#: cp/semantics.c:4001
 #, gcc-internal-format
 msgid "%<threadprivate%> %qD is not file, namespace or block scope variable"
 msgstr "%<threadprivate%>%qD不是一个文件、命名空间或块作用域变量"
 
-#: cp/semantics.c:3794
+#: cp/semantics.c:4015
 #, gcc-internal-format
 msgid "%<threadprivate%> %qE directive not in %qT definition"
 msgstr "%<threadprivate%>%qE指示不在%qT定义中"
 
-#: cp/semantics.c:3926
-#, gcc-internal-format
-msgid "%Hinvalid controlling predicate"
-msgstr "%H无效的控制谓词"
-
-#: cp/semantics.c:3936
-#, gcc-internal-format
-msgid "%Hdifference between %qE and %qD does not have integer type"
-msgstr "%H%qE和%qD之间的差不具有整数类型"
-
-#: cp/semantics.c:4031
-#, gcc-internal-format
-msgid "%Hinvalid increment expression"
-msgstr "%H无效的自增语句"
-
-#: cp/semantics.c:4157 cp/semantics.c:4228
+#: cp/semantics.c:4160
 #, gcc-internal-format
-msgid "%Hexpected iteration declaration or initialization"
-msgstr "%H需要迭代声明或初始化"
-
-#: cp/semantics.c:4168
-#, gcc-internal-format
-msgid "%Hmissing controlling predicate"
-msgstr "%H缺少控制谓词"
-
-#: cp/semantics.c:4174
-#, gcc-internal-format
-msgid "%Hmissing increment expression"
-msgstr "%H缺少自增语句"
-
-#: cp/semantics.c:4254
-#, gcc-internal-format
-msgid "%Hinvalid type for iteration variable %qE"
-msgstr "%H迭代变量%qE类型无效"
+msgid "difference between %qE and %qD does not have integer type"
+msgstr "%qE和%qD之间的差不具有整数类型"
 
 #. Report the error.
-#: cp/semantics.c:4434
+#: cp/semantics.c:4686
 #, gcc-internal-format
 msgid "static assertion failed: %E"
 msgstr "静态断言错误:%E"
 
-#: cp/semantics.c:4436
+#: cp/semantics.c:4688
 #, gcc-internal-format
 msgid "non-constant condition for static assertion"
 msgstr "静态断言中出现非常量条件"
 
-#: cp/semantics.c:4461 cp/semantics.c:4556
+#: cp/semantics.c:4776 cp/semantics.c:4898
 #, gcc-internal-format
 msgid "argument to decltype must be an expression"
 msgstr "decltype 的实参必须是一个表达式"
 
-#: cp/semantics.c:4507
+#: cp/semantics.c:4848
 #, gcc-internal-format
 msgid "%qE refers to a set of overloaded functions"
 msgstr "%qE指向多个重载函数的集合"
 
-#: cp/semantics.c:4589
+#: cp/semantics.c:4931
 #, gcc-internal-format
 msgid "unable to determine the declared type of expression %<%E%>"
 msgstr "无法确定表达式%<%E%>的声明类型"
 
-#: cp/semantics.c:4802
+#: cp/semantics.c:5192
 #, gcc-internal-format
 msgid "__is_convertible_to"
 msgstr "__is_convertible_to"
 
-#: cp/semantics.c:4831
+#: cp/semantics.c:5233 cp/semantics.c:5243
 #, gcc-internal-format
 msgid "incomplete type %qT not allowed"
 msgstr "不允许不完全类型%qT"
 
-#: cp/tree.c:863
+#: cp/semantics.c:5306
+#, gcc-internal-format
+msgid "the type %qT of constexpr variable %qD is not literal"
+msgstr "constexpr 变量%2$qD的类型%1$qT不是字面常量"
+
+#: cp/semantics.c:5341
+#, gcc-internal-format
+msgid "parameter %q#D is not of literal type"
+msgstr "形参%q#D不是一个字面类型"
+
+#: cp/semantics.c:5354
+#, gcc-internal-format
+msgid "return type %qT of function %qD is not a literal type"
+msgstr "函数%2$qD的返回值类型%1$qT不是一个字面类型"
+
+#: cp/semantics.c:5648
+#, gcc-internal-format
+msgid "cannot capture %qE by reference"
+msgstr "无法通过引用捕获%qE"
+
+#: cp/semantics.c:5670
+#, gcc-internal-format
+msgid "already captured %<this%> in lambda expression"
+msgstr "已经在 Lambda 表达式中捕获了%<this%>"
+
+#: cp/semantics.c:5789
+#, gcc-internal-format
+msgid "%<this%> was not captured for this lambda function"
+msgstr "lambda 函数中无法捕获%<this%>"
+
+#: cp/tree.c:919
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "%qV限定符不能应用到%qT上"
 
-#: cp/tree.c:2184
+#: cp/tree.c:2490
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr "只能为 Java 类定义应用%qE属性"
 
-#: cp/tree.c:2213
+#: cp/tree.c:2519
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to class definitions"
 msgstr "只能为类定义应用%qE属性"
 
-#: cp/tree.c:2219
+#: cp/tree.c:2525
 #, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr "%qE已过时:g++ 的虚函数表现在默认与 COM 兼容"
 
-#: cp/tree.c:2243
+#: cp/tree.c:2549
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr "请求的 init_priority 不是一个整数常数"
 
-#: cp/tree.c:2264
+#: cp/tree.c:2570
 #, gcc-internal-format
 msgid "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr "只能将%qE属性用于某个类的对象的文件作用域定义"
 
-#: cp/tree.c:2272
+#: cp/tree.c:2578
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr "请求的 init_priority 越界"
 
-#: cp/tree.c:2282
+#: cp/tree.c:2588
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr "请求的 init_priority 保留为内部使用"
 
-#: cp/tree.c:2293
+#: cp/tree.c:2599
 #, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "%qE属性在此平台上不受支持"
 
-#: cp/typeck.c:457 cp/typeck.c:472 cp/typeck.c:574
+#: cp/tree.c:3189
+#, gcc-internal-format
+msgid "lang_* check: failed in %s, at %s:%d"
+msgstr "lang_* check:在 %s 中失败,于 %s:%d"
+
+#: cp/typeck.c:470 cp/typeck.c:504 cp/typeck.c:645
+#, gcc-internal-format
+msgid "comparison between distinct pointer types %qT and %qT lacks a cast"
+msgstr "在不同的指针类型%qT和%qT之间的比较需要一个类型转换"
+
+#: cp/typeck.c:475 cp/typeck.c:509 cp/typeck.c:649
+#, gcc-internal-format
+msgid "conversion between distinct pointer types %qT and %qT lacks a cast"
+msgstr "在不同的指针类型%qT和%qT之间的转换要一个类型转换"
+
+#: cp/typeck.c:480 cp/typeck.c:514 cp/typeck.c:653
+#, gcc-internal-format
+msgid "conditional expression between distinct pointer types %qT and %qT lacks a cast"
+msgstr "不同的指针类型%qT和%qT组成的条件表达式中需要一个类型转换"
+
+#: cp/typeck.c:588
+#, gcc-internal-format
+msgid "ISO C++ forbids comparison between pointer of type %<void *%> and pointer-to-function"
+msgstr "ISO C++ 不允许在%<void *%>和函数指针间比较"
+
+#: cp/typeck.c:593
+#, gcc-internal-format
+msgid "ISO C++ forbids conversion between pointer of type %<void *%> and pointer-to-function"
+msgstr "ISO C++ 不允许在%<void *%>和函数指针间转换"
+
+#: cp/typeck.c:598
 #, gcc-internal-format
-msgid "%s between distinct pointer types %qT and %qT lacks a cast"
-msgstr "%s(在不同的指针类型%qT和%qT之间)需要一个转换"
+msgid "ISO C++ forbids conditional expression between pointer of type %<void *%> and pointer-to-function"
+msgstr "ISO C++ 不允许%<void *%>和函数指针组成的条件表达式"
 
-#: cp/typeck.c:534
+#: cp/typeck.c:681
 #, gcc-internal-format
-msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
-msgstr "ISO C++ 不允许在%<void *%>和函数指针间 %s"
+msgid "comparison between distinct pointer-to-member types %qT and %qT lacks a cast"
+msgstr "在不同的成员指针类型%qT和%qT之间的比较需要一个类型转换"
 
-#: cp/typeck.c:595
+#: cp/typeck.c:686
 #, gcc-internal-format
-msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
-msgstr "%s(在不同的成员指针类型%qT和%qT之间)需要一个转换"
+msgid "conversion between distinct pointer-to-member types %qT and %qT lacks a cast"
+msgstr "在不同的成员指针类型%qT和%qT之间的转换需要一个类型转换"
 
-#: cp/typeck.c:1186
+#: cp/typeck.c:691
+#, gcc-internal-format
+msgid "conditional expression between distinct pointer-to-member types %qT and %qT lacks a cast"
+msgstr "不同的成员指针类型%qT和%qT组成的条件表达式中需要一个类型转换"
+
+#: cp/typeck.c:1305
 #, gcc-internal-format
 msgid "canonical types differ for identical types %T and %T"
 msgstr "相同类型 %T 和 %T 的正规类型不同"
 
-#: cp/typeck.c:1193
+#: cp/typeck.c:1312
 #, gcc-internal-format
 msgid "same canonical type node for different types %T and %T"
 msgstr "不同类型 %T 和 %T 有相同的正规类型节点"
 
-#: cp/typeck.c:1306
+#: cp/typeck.c:1425
 #, gcc-internal-format
 msgid "invalid application of %qs to a member function"
 msgstr "%qs用于成员函数无效"
 
-#: cp/typeck.c:1374
+#: cp/typeck.c:1493
 #, gcc-internal-format
 msgid "invalid application of %<sizeof%> to a bit-field"
 msgstr "对位段使用%<sizeof%>无效"
 
-#: cp/typeck.c:1382
+#: cp/typeck.c:1501
 #, gcc-internal-format
 msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
 msgstr "ISO C++ 不允许将%<sizeof%>应用到函数类型的表达式上"
 
-#: cp/typeck.c:1431
+#: cp/typeck.c:1550
 #, gcc-internal-format
 msgid "invalid application of %<__alignof%> to a bit-field"
 msgstr "对位段使用%<__alignof%>无效"
 
-#: cp/typeck.c:1442
+#: cp/typeck.c:1561
 #, gcc-internal-format
 msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
 msgstr "ISO C++ 不允许将%<__alignof%>应用到函数类型的表达式上"
 
-#: cp/typeck.c:1500
+#: cp/typeck.c:1619
 #, gcc-internal-format
 msgid "invalid use of non-static member function"
 msgstr "对非静态成员函数的使用无效"
 
-#: cp/typeck.c:1762
+#: cp/typeck.c:1886
 #, gcc-internal-format
 msgid "deprecated conversion from string constant to %qT"
 msgstr "不建议使用从字符串常量到%qT的转换"
 
-#: cp/typeck.c:1885 cp/typeck.c:2246
+#: cp/typeck.c:2009 cp/typeck.c:2384
 #, gcc-internal-format
 msgid "request for member %qD in %qE, which is of non-class type %qT"
 msgstr "对成员%qD的请求出现在%qE中,而后者具有非类类型%qT"
 
-#: cp/typeck.c:1914
+#: cp/typeck.c:2038
 #, gcc-internal-format
 msgid "invalid use of nonstatic data member %qE"
 msgstr "对非静态数据成员%qE的使用无效"
 
-#: cp/typeck.c:1916
-#, gcc-internal-format
-msgid "%qD is not a member of %qT"
-msgstr "%qD不是%qT的成员"
-
-#: cp/typeck.c:1969
+#: cp/typeck.c:2093
 #, gcc-internal-format
 msgid "invalid access to non-static data member %qD of NULL object"
 msgstr "对 NULL 对象非静态数据成员%qD的访问无效"
 
-#: cp/typeck.c:1972 cp/typeck.c:2003
+#: cp/typeck.c:2096 cp/typeck.c:2127
 #, gcc-internal-format
 msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
 msgstr "(可能错误使用了%<offsetof%>宏)"
 
-#: cp/typeck.c:2000
+#: cp/typeck.c:2124
 #, gcc-internal-format
 msgid "invalid access to non-static data member %qD  of NULL object"
 msgstr "对 NULL 对象非静态数据成员%qD的访问无效"
 
-#: cp/typeck.c:2090
+#: cp/typeck.c:2252
 #, gcc-internal-format
-msgid "invalid use of %qD"
-msgstr "错误地使用了%qD"
+msgid "object type %qT does not match destructor name ~%qT"
+msgstr "对象类型%qT的析构函数名~%qT不匹配"
 
-#: cp/typeck.c:2122
+#: cp/typeck.c:2260
 #, gcc-internal-format
 msgid "the type being destroyed is %qT, but the destructor refers to %qT"
 msgstr "被析构的类型是%qT,但析构函数却使用了%qT"
 
-#: cp/typeck.c:2161 cp/typeck.c:2181
+#: cp/typeck.c:2299 cp/typeck.c:2319
 #, gcc-internal-format
 msgid "%qD is not a template"
 msgstr "%qD不是一个模板"
 
-#: cp/typeck.c:2285
+#: cp/typeck.c:2423
 #, gcc-internal-format
 msgid "%<%D::%D%> is not a member of %qT"
 msgstr "%<%D::%D%>不是%qT的成员"
 
-#: cp/typeck.c:2301
+#: cp/typeck.c:2435
+#, gcc-internal-format
+msgid "cannot call constructor %<%T::%D%> directly"
+msgstr "不能直接调用构造函数%<%T::%D%>"
+
+#: cp/typeck.c:2447
 #, gcc-internal-format
 msgid "%qT is not a base of %qT"
 msgstr "%qT不是%qT的基类"
 
-#: cp/typeck.c:2321
+#: cp/typeck.c:2467
 #, gcc-internal-format
 msgid "%qD has no member named %qE"
 msgstr "%qD没有名为%qE的成员"
 
-#: cp/typeck.c:2337
+#: cp/typeck.c:2483
 #, gcc-internal-format
 msgid "%qD is not a member template function"
 msgstr "%qD不是一个成员模板函数"
 
-#: cp/typeck.c:2481
+#: cp/typeck.c:2628
 #, gcc-internal-format
 msgid "%qT is not a pointer-to-object type"
 msgstr "%qT不是一个指向对象的类型"
 
-#: cp/typeck.c:2509
+#: cp/typeck.c:2656
 #, gcc-internal-format
 msgid "invalid use of %qs on pointer to member"
 msgstr "将%qs用在成员指针上无效"
 
-#: cp/typeck.c:2513
+#: cp/typeck.c:2660
 #, gcc-internal-format
 msgid "invalid type argument of %qs"
 msgstr "%qs的实参类型无效"
 
-#: cp/typeck.c:2515
+#: cp/typeck.c:2662
 #, gcc-internal-format
 msgid "invalid type argument"
 msgstr "无效的类型参数"
 
-#: cp/typeck.c:2542
+#: cp/typeck.c:2689
 #, gcc-internal-format
 msgid "subscript missing in array reference"
 msgstr "数组引用缺少下标"
 
-#: cp/typeck.c:2622
+#: cp/typeck.c:2769
 #, gcc-internal-format
 msgid "ISO C++ forbids subscripting non-lvalue array"
 msgstr "ISO C++ 不允许按下标访问非左值的数组"
 
-#: cp/typeck.c:2634
+#: cp/typeck.c:2781
 #, gcc-internal-format
 msgid "subscripting array declared %<register%>"
 msgstr "按下标访问声明为%<register%>的数组"
 
-#: cp/typeck.c:2726
+#: cp/typeck.c:2873
 #, gcc-internal-format
 msgid "object missing in use of %qE"
 msgstr "使用%qE时缺少对象"
 
-#: cp/typeck.c:2859
+#: cp/typeck.c:3052
 #, gcc-internal-format
 msgid "ISO C++ forbids calling %<::main%> from within program"
 msgstr "ISO C++ 不允许在程序里调用%<::main%>"
 
-#: cp/typeck.c:2878
+#: cp/typeck.c:3071
 #, gcc-internal-format
 msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>, e.g. %<(... ->* %E) (...)%>"
 msgstr "必须用%<.*%>or%<->*%>调用%<%E (...)%>中的成员函数指针,例如%<(... ->* %E) (...)%>"
 
-#: cp/typeck.c:2893
+#: cp/typeck.c:3086
 #, gcc-internal-format
 msgid "%qE cannot be used as a function"
 msgstr "%qE不能用作函数"
 
-#: cp/typeck.c:2986
+#: cp/typeck.c:3177
 #, gcc-internal-format
 msgid "too many arguments to %s %q+#D"
 msgstr "给予 %s%q+#D的实参太多"
 
-#: cp/typeck.c:2988 cp/typeck.c:3101
+#: cp/typeck.c:3179 cp/typeck.c:3292
 #, gcc-internal-format
 msgid "at this point in file"
 msgstr "在文件的这个地方"
 
-#: cp/typeck.c:2991
+#: cp/typeck.c:3182
 #, gcc-internal-format
 msgid "too many arguments to function"
 msgstr "给予函数的实参太多"
 
-#: cp/typeck.c:3026
+#: cp/typeck.c:3217
 #, gcc-internal-format
 msgid "parameter %P of %qD has incomplete type %qT"
 msgstr "%2$qD的第 %1$P 个形参的类型%3$qT不完全"
 
-#: cp/typeck.c:3029
+#: cp/typeck.c:3220
 #, gcc-internal-format
 msgid "parameter %P has incomplete type %qT"
 msgstr "形参 %P 的类型%qT不完全"
 
-#: cp/typeck.c:3099
+#: cp/typeck.c:3290
 #, gcc-internal-format
 msgid "too few arguments to %s %q+#D"
 msgstr "给予 %s%q+#D的实参太少"
 
-#: cp/typeck.c:3104
+#: cp/typeck.c:3295
 #, gcc-internal-format
 msgid "too few arguments to function"
 msgstr "给予函数的实参太少"
 
-#: cp/typeck.c:3282 cp/typeck.c:3293
+#: cp/typeck.c:3501 cp/typeck.c:3512
 #, gcc-internal-format
 msgid "assuming cast to type %qT from overloaded function"
 msgstr "假定从重载函数转换到类型%qT"
 
-#: cp/typeck.c:3501
+#. Some sort of arithmetic operation involving NULL was
+#. performed.
+#: cp/typeck.c:3555
+#, gcc-internal-format
+msgid "NULL used in arithmetic"
+msgstr "算术表达式中使用了 NULL"
+
+#: cp/typeck.c:3746
 #, gcc-internal-format
 msgid "left rotate count is negative"
 msgstr "循环左移次数为负"
 
-#: cp/typeck.c:3502
+#: cp/typeck.c:3747
 #, gcc-internal-format
 msgid "right rotate count is negative"
 msgstr "循环右移次数为负"
 
-#: cp/typeck.c:3508
+#: cp/typeck.c:3753
 #, gcc-internal-format
 msgid "left rotate count >= width of type"
 msgstr "循环左移次数大于或等于类型宽度"
 
-#: cp/typeck.c:3509
+#: cp/typeck.c:3754
 #, gcc-internal-format
 msgid "right rotate count >= width of type"
 msgstr "循环右移次数大于或等于类型宽度"
 
-#: cp/typeck.c:3528 cp/typeck.c:3751
+#: cp/typeck.c:3773 cp/typeck.c:3996
 #, gcc-internal-format
 msgid "comparison with string literal results in unspecified behaviour"
 msgstr "与字面字符串比较的结构是不可预测的"
 
-#: cp/typeck.c:3568 cp/typeck.c:3576 cp/typeck.c:3771 cp/typeck.c:3779
+#: cp/typeck.c:3813 cp/typeck.c:3821 cp/typeck.c:4016 cp/typeck.c:4024
 #, gcc-internal-format
 msgid "ISO C++ forbids comparison between pointer and integer"
 msgstr "ISO C++ 不允许比较指针和整数的值"
 
-#: cp/typeck.c:3796
+#: cp/typeck.c:4041
 #, gcc-internal-format
 msgid "unordered comparison on non-floating point argument"
 msgstr "非浮点实参间的无效比较"
 
-#: cp/typeck.c:3835
+#: cp/typeck.c:4081
 #, gcc-internal-format
 msgid "invalid operands of types %qT and %qT to binary %qO"
 msgstr "操作数类型%qT和%qT对双目%qO而言无效"
 
-#. Some sort of arithmetic operation involving NULL was
-#. performed.  Note that pointer-difference and pointer-addition
-#. have already been handled above, and so we don't end up here in
-#. that case.
-#: cp/typeck.c:3925
-#, gcc-internal-format
-msgid "NULL used in arithmetic"
-msgstr "算术表达式中使用了 NULL"
-
-#: cp/typeck.c:3992
+#: cp/typeck.c:4222
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
 msgstr "ISO C++ 不允许在减法中使用类型为%<void *%>的指针"
 
-#: cp/typeck.c:3994
+#: cp/typeck.c:4224
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer to a function in subtraction"
 msgstr "ISO C++ 不允许在减法中使用函数指针"
 
-#: cp/typeck.c:3996
+#: cp/typeck.c:4226
 #, gcc-internal-format
 msgid "ISO C++ forbids using pointer to a method in subtraction"
 msgstr "ISO C++ 不允许在减法中使用指向方法的指针"
 
-#: cp/typeck.c:4009
+#: cp/typeck.c:4239
 #, gcc-internal-format
 msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
 msgstr "在指针算术中使用指向不完全类型的指针无效"
 
-#: cp/typeck.c:4069
+#: cp/typeck.c:4298
+#, gcc-internal-format
+msgid "taking address of %s %qE"
+msgstr "取 %s%qE的地址"
+
+#: cp/typeck.c:4311
 #, gcc-internal-format
 msgid "invalid use of %qE to form a pointer-to-member-function"
-msgstr "用%qE形成成员函数指针的用法无效"
+msgstr "用%qE形成成员函数指针的用法无效"
 
-#: cp/typeck.c:4072
+#: cp/typeck.c:4314
 #, gcc-internal-format
 msgid "  a qualified-id is required"
-msgstr "  需要一个限定的标识符"
+msgstr "需要一个限定的标识符"
 
-#: cp/typeck.c:4077
+#: cp/typeck.c:4319
 #, gcc-internal-format
 msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
 msgstr "%qE两边的括号不能用来构造一个成员函数指针"
 
-#: cp/typeck.c:4100
+#: cp/typeck.c:4342
 #, gcc-internal-format
 msgid "taking address of temporary"
 msgstr "取临时变量的地址"
 
-#: cp/typeck.c:4360
+#: cp/typeck.c:4612
 #, gcc-internal-format
 msgid "ISO C++ forbids incrementing an enum"
 msgstr "ISO C++ 不允许枚举自增"
 
-#: cp/typeck.c:4361
+#: cp/typeck.c:4613
 #, gcc-internal-format
 msgid "ISO C++ forbids decrementing an enum"
 msgstr "ISO C++ 不允许枚举自减"
 
-#: cp/typeck.c:4377
+#: cp/typeck.c:4629
 #, gcc-internal-format
 msgid "cannot increment a pointer to incomplete type %qT"
 msgstr "指向不完全类型%qT的指针不能自增"
 
-#: cp/typeck.c:4378
+#: cp/typeck.c:4630
 #, gcc-internal-format
 msgid "cannot decrement a pointer to incomplete type %qT"
 msgstr "指向不完全类型%qT的指针不能自减"
 
-#: cp/typeck.c:4389
+#: cp/typeck.c:4641
 #, gcc-internal-format
 msgid "ISO C++ forbids incrementing a pointer of type %qT"
 msgstr "ISO C++ 不允许对类型为%qT的指针自增"
 
-#: cp/typeck.c:4390
+#: cp/typeck.c:4642
 #, gcc-internal-format
 msgid "ISO C++ forbids decrementing a pointer of type %qT"
 msgstr "ISO C++ 不允许对类型为%qT的指针自减"
 
-#: cp/typeck.c:4416
+#: cp/typeck.c:4668
 #, gcc-internal-format
 msgid "invalid use of Boolean expression as operand to %<operator--%>"
-msgstr "布尔表达式不能用作%<操作符--%>的操作数"
+msgstr "布尔表达式不能用作%<运算符--%>的操作数"
 
-#: cp/typeck.c:4448
+#: cp/typeck.c:4703
 #, gcc-internal-format
 msgid "ISO C++ forbids taking address of function %<::main%>"
 msgstr "ISO C++ 不允许取函数%<::main%>的地址"
 
 #. An expression like &memfn.
-#: cp/typeck.c:4509
+#: cp/typeck.c:4764
 #, gcc-internal-format
 msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function.  Say %<&%T::%D%>"
 msgstr "ISO C++ 不允许通过提取一个未限定的或带括号的非静态成员函数的地址来形成一个成员函数指针。请使用%<&%T::%D%>"
 
-#: cp/typeck.c:4514
+#: cp/typeck.c:4769
 #, gcc-internal-format
 msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function.  Say %<&%T::%D%>"
 msgstr "ISO C++ 不允许通过取已绑定的成员函数的地址来构造成员函数指针。请改用%<&%T::%D%>"
 
-#: cp/typeck.c:4543
+#: cp/typeck.c:4798
 #, gcc-internal-format
 msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
 msgstr "ISO C++ 不允许取转换到非左值表达式的地址"
 
-#: cp/typeck.c:4571
+#: cp/typeck.c:4826
 #, gcc-internal-format
 msgid "cannot create pointer to reference member %qD"
 msgstr "不能创建指向引用成员%qD的指针"
 
-#: cp/typeck.c:4786
+#: cp/typeck.c:5041
 #, gcc-internal-format
 msgid "cannot take the address of %<this%>, which is an rvalue expression"
 msgstr "无法取右值表达式%<this%>的地址"
 
-#: cp/typeck.c:4809
+#: cp/typeck.c:5064
 #, gcc-internal-format
 msgid "address of explicit register variable %qD requested"
 msgstr "要求显式寄存器变量%qD的地址。"
 
-#: cp/typeck.c:4814
+#: cp/typeck.c:5069
 #, gcc-internal-format
 msgid "address requested for %qD, which is declared %<register%>"
 msgstr "请求声明为%<register%>的%qD的地址"
 
-#: cp/typeck.c:4881
+#: cp/typeck.c:5136 cp/typeck.c:5163
 #, gcc-internal-format
 msgid "%s expression list treated as compound expression"
 msgstr "%s 表达式列表被看作复合表达式"
 
-#: cp/typeck.c:4971
+#: cp/typeck.c:5236
+#, gcc-internal-format
+msgid "no context to resolve type of %qE"
+msgstr "缺少用以解析%qE类型的上下文"
+
+#: cp/typeck.c:5267
 #, gcc-internal-format
-msgid "cast from type %qT to type %qT casts away constness"
-msgstr "从%qT到%qT的类型转换丢失了 const"
+msgid "cast from type %qT to type %qT casts away qualifiers"
+msgstr "从类型%qT到类型%qT的类型转换丢失了限定符"
 
-#: cp/typeck.c:4976
+#: cp/typeck.c:5272
 #, gcc-internal-format
-msgid "static_cast from type %qT to type %qT casts away constness"
-msgstr "从%qT到%qT的 static_cast 丢失了 const"
+msgid "static_cast from type %qT to type %qT casts away qualifiers"
+msgstr "从类型%qT到类型%qT的 static_cast 丢失了限定符"
 
-#: cp/typeck.c:4981
+#: cp/typeck.c:5277
 #, gcc-internal-format
-msgid "reinterpret_cast from type %qT to type %qT casts away constness"
-msgstr "从%qT到%qT的 reinterpret_cast 丢失了 const"
+msgid "reinterpret_cast from type %qT to type %qT casts away qualifiers"
+msgstr "从类型%qT到类型%qT的 reinterpret_cast 丢失了限定符"
 
-#: cp/typeck.c:5301
+#: cp/typeck.c:5620
 #, gcc-internal-format
 msgid "invalid static_cast from type %qT to type %qT"
 msgstr "从类型%qT到类型%qT中的 static_cast 无效"
 
-#: cp/typeck.c:5324
+#: cp/typeck.c:5643
 #, gcc-internal-format
 msgid "converting from %qT to %qT"
 msgstr "从%qT转换到%qT"
 
-#: cp/typeck.c:5373
+#: cp/typeck.c:5692
 #, gcc-internal-format
 msgid "invalid cast of an rvalue expression of type %qT to type %qT"
 msgstr "从具有类型%qT的右值表达式到类型%qT中的转换无效"
 
-#: cp/typeck.c:5435
+#: cp/typeck.c:5759
 #, gcc-internal-format
 msgid "cast from %qT to %qT loses precision"
 msgstr "从%qT到%qT的转换损失精度"
 
-#: cp/typeck.c:5465
+#: cp/typeck.c:5789
 #, gcc-internal-format
 msgid "cast from %qT to %qT increases required alignment of target type"
 msgstr "从%qT到%qT的转换增大了目标类型的对齐需求"
@@ -33222,361 +35717,506 @@ msgstr "从%qT到%qT的转换增大了目标类型的对齐需求"
 #. where possible, and it is necessary in some cases.  DR 195
 #. addresses this issue, but as of 2004/10/26 is still in
 #. drafting.
-#: cp/typeck.c:5484
+#: cp/typeck.c:5808
 #, gcc-internal-format
 msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
 msgstr "ISO C++ 不允许在函数指针和对象指针间进行转换"
 
-#: cp/typeck.c:5496
+#: cp/typeck.c:5821
 #, gcc-internal-format
 msgid "invalid cast from type %qT to type %qT"
 msgstr "从类型%qT到类型%qT的转换无效"
 
-#: cp/typeck.c:5552
+#: cp/typeck.c:5877
 #, gcc-internal-format
 msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
 msgstr "在类型%qT上使用 const_cast 无效,因为它既不是指针,也不是引用,也不是数据成员指针"
 
-#: cp/typeck.c:5561
+#: cp/typeck.c:5886
 #, gcc-internal-format
 msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
 msgstr "在类型%qT上使用 const_cast 无效,因为它是一个指针函数类型的指针或引用"
 
-#: cp/typeck.c:5586
+#: cp/typeck.c:5911
 #, gcc-internal-format
 msgid "invalid const_cast of an rvalue of type %qT to type %qT"
 msgstr "从类型%qT到类型%qT中的 const_cast 无效"
 
-#: cp/typeck.c:5635
+#: cp/typeck.c:5960
 #, gcc-internal-format
 msgid "invalid const_cast from type %qT to type %qT"
 msgstr "从类型%qT到类型%qT中的 const_cast 无效"
 
-#: cp/typeck.c:5712 cp/typeck.c:5720
+#: cp/typeck.c:6037 cp/typeck.c:6045
 #, gcc-internal-format
 msgid "ISO C++ forbids casting to an array type %qT"
 msgstr "ISO C++ 不允许转换为数组类型%qT"
 
-#: cp/typeck.c:5729
+#: cp/typeck.c:6054
 #, gcc-internal-format
 msgid "invalid cast to function type %qT"
 msgstr "向函数类型%qT的转换无效"
 
-#: cp/typeck.c:5968
+#: cp/typeck.c:6300
 #, gcc-internal-format
 msgid "  in evaluation of %<%Q(%#T, %#T)%>"
-msgstr "  在求%<%Q(%#T, %#T)%>值时"
+msgstr "在求%<%Q(%#T, %#T)%>值时"
 
-#: cp/typeck.c:6019
+#: cp/typeck.c:6358
 #, gcc-internal-format
 msgid "incompatible types in assignment of %qT to %qT"
 msgstr "将%qT赋值给%qT时类型不兼容"
 
-#: cp/typeck.c:6032
+#: cp/typeck.c:6372
 #, gcc-internal-format
 msgid "array used as initializer"
 msgstr "数组被用作初始值设定"
 
-#: cp/typeck.c:6034
+#: cp/typeck.c:6374
 #, gcc-internal-format
 msgid "invalid array assignment"
 msgstr "无效的数组赋值"
 
-#: cp/typeck.c:6132
+#: cp/typeck.c:6474
 #, gcc-internal-format
 msgid "   in pointer to member function conversion"
-msgstr "  在成员函数指针转换中"
+msgstr "在成员函数指针转换中"
 
-#: cp/typeck.c:6143
+#: cp/typeck.c:6485
 #, gcc-internal-format
 msgid "pointer to member conversion via virtual base %qT"
 msgstr "成员指针转换经由虚基类%qT"
 
-#: cp/typeck.c:6183 cp/typeck.c:6195
+#: cp/typeck.c:6525 cp/typeck.c:6538
 #, gcc-internal-format
 msgid "   in pointer to member conversion"
-msgstr "  在成员指针转换中"
+msgstr "在成员指针转换中"
 
-#: cp/typeck.c:6273
+#: cp/typeck.c:6616
 #, gcc-internal-format
 msgid "invalid conversion to type %qT from type %qT"
 msgstr "到类型%qT的转换无效,从类型%qT"
 
-#: cp/typeck.c:6544
+#: cp/typeck.c:6887
 #, gcc-internal-format
 msgid "cannot convert %qT to %qT for argument %qP to %qD"
 msgstr "不能将%4$qD的实参%3$qP从%1$qT转换到%2$qT"
 
-#: cp/typeck.c:6547
+#: cp/typeck.c:6890
 #, gcc-internal-format
 msgid "cannot convert %qT to %qT in %s"
 msgstr "不能将%qT转换为%qT,在 %s 中"
 
-#: cp/typeck.c:6561
+#: cp/typeck.c:6904
 #, gcc-internal-format
 msgid "%s might be a candidate for a format attribute"
 msgstr "%s 可能是 format 属性的一个备选"
 
-#: cp/typeck.c:6650 cp/typeck.c:6652
+#: cp/typeck.c:6997 cp/typeck.c:6999
 #, gcc-internal-format
 msgid "in passing argument %P of %q+D"
 msgstr "在传递%2$q+D的第 %1$P 个实参时"
 
-#: cp/typeck.c:6702
+#: cp/typeck.c:7054
 #, gcc-internal-format
 msgid "returning reference to temporary"
 msgstr "返回临时变量的引用"
 
-#: cp/typeck.c:6709
+#: cp/typeck.c:7061
 #, gcc-internal-format
 msgid "reference to non-lvalue returned"
 msgstr "返回了一个非左值的引用"
 
-#: cp/typeck.c:6725
+#: cp/typeck.c:7077
 #, gcc-internal-format
 msgid "reference to local variable %q+D returned"
 msgstr "返回了对局部变量的%q+D的引用"
 
-#: cp/typeck.c:6728
+#: cp/typeck.c:7080
 #, gcc-internal-format
 msgid "address of local variable %q+D returned"
 msgstr "返回了局部变量的%q+D的地址"
 
-#: cp/typeck.c:6763
+#: cp/typeck.c:7115
 #, gcc-internal-format
 msgid "returning a value from a destructor"
 msgstr "析构函数返回值"
 
 #. If a return statement appears in a handler of the
 #. function-try-block of a constructor, the program is ill-formed.
-#: cp/typeck.c:6771
+#: cp/typeck.c:7123
 #, gcc-internal-format
 msgid "cannot return from a handler of a function-try-block of a constructor"
 msgstr "不能从构造函数的异常处理中返回"
 
 #. You can't return a value from a constructor.
-#: cp/typeck.c:6774
+#: cp/typeck.c:7126
 #, gcc-internal-format
 msgid "returning a value from a constructor"
 msgstr "构造函数返回值"
 
-#: cp/typeck.c:6799
+#: cp/typeck.c:7144
+#, gcc-internal-format
+msgid "lambda return type can only be deduced when the return statement is the only statement in the function body"
+msgstr "只有当返回语名是函数体中唯一一条语句时才能演绎 Lambda 返回类型"
+
+#: cp/typeck.c:7150
+#, gcc-internal-format
+msgid "inconsistent types %qT and %qT deduced for lambda return type"
+msgstr "Lambda 返回类型演绎得到不一致的类型%qT和%qT"
+
+#: cp/typeck.c:7176
 #, gcc-internal-format
 msgid "return-statement with no value, in function returning %qT"
 msgstr "在返回%qT的函数中,返回语句不带返回值"
 
-#: cp/typeck.c:6820
+#: cp/typeck.c:7197
 #, gcc-internal-format
 msgid "return-statement with a value, in function returning 'void'"
 msgstr "在返回‘void’的函数中,返回语句带返回值"
 
-#: cp/typeck.c:6850
+#: cp/typeck.c:7227
 #, gcc-internal-format
 msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
 msgstr "%<operator new%>不能返回 NULL,除非它被声明为%<throw()%>(或 -fcheck-new 起作用)"
 
-#: cp/typeck2.c:54
+#: cp/typeck2.c:55
 #, gcc-internal-format
 msgid "type %qT is not a base type for type %qT"
 msgstr "类型%qT不是类型%qT的基类"
 
-#: cp/typeck2.c:97
+#: cp/typeck2.c:106
 #, gcc-internal-format
-msgid "%s of read-only parameter %qD"
-msgstr "%s只读参数%qD"
+msgid "assignment of data-member %qD in read-only structure"
+msgstr "向只读结构的数据成员%qD赋值"
 
-#: cp/typeck2.c:102
+#: cp/typeck2.c:108
 #, gcc-internal-format
-msgid "%s of read-only reference %qD"
-msgstr "%s只读引用%qD"
+msgid "assignment (via 'asm' output) of data-member %qD in read-only structure"
+msgstr "通过‘asm’输出向只读结构的数据成员%qD赋值"
 
-#: cp/typeck2.c:104
+#: cp/typeck2.c:110
 #, gcc-internal-format
-msgid "%s of read-only named return value %qD"
-msgstr "%s只读返回值%qD"
+msgid "increment of data-member %qD in read-only structure"
+msgstr "令只读结构的数据成员%qD自增"
 
-#: cp/typeck2.c:106
+#: cp/typeck2.c:112
 #, gcc-internal-format
-msgid "%s of function %qD"
-msgstr "%s函数%qD"
+msgid "decrement of data-member %qD in read-only structure"
+msgstr "令只读结构的数据成员%qD自减"
 
-#: cp/typeck2.c:108
+#: cp/typeck2.c:116
+#, gcc-internal-format
+msgid "assignment of read-only data-member %qD"
+msgstr "向只读数据成员%qD赋值"
+
+#: cp/typeck2.c:118
+#, gcc-internal-format
+msgid "assignment (via 'asm' output) of read-only data-member %qD"
+msgstr "通过‘asm’输出向只读数据成员%qD赋值"
+
+#: cp/typeck2.c:120
+#, gcc-internal-format
+msgid "increment of read-only data-member %qD"
+msgstr "令只读数据成员%qD自增"
+
+#: cp/typeck2.c:122
+#, gcc-internal-format
+msgid "decrement of read-only data-member %qD"
+msgstr "令只读数据成员%qD自减"
+
+#: cp/typeck2.c:131
+#, gcc-internal-format
+msgid "assignment of constant field %qD"
+msgstr "向只读字段%qD赋值"
+
+#: cp/typeck2.c:133
+#, gcc-internal-format
+msgid "assignment (via 'asm' output) of constant field %qD"
+msgstr "通过‘asm’输出向只读字段%qD赋值"
+
+#: cp/typeck2.c:135
+#, gcc-internal-format
+msgid "increment of constant field %qD"
+msgstr "令只读字段%qD自增"
+
+#: cp/typeck2.c:137
+#, gcc-internal-format
+msgid "decrement of constant field %qD"
+msgstr "令只读字段%qD自减"
+
+#: cp/typeck2.c:143
+#, gcc-internal-format
+msgid "assignment (via 'asm' output) of read-only variable %qD"
+msgstr "通过‘asm’输出向只读变量%qD赋值"
+
+#: cp/typeck2.c:153
+#, gcc-internal-format
+msgid "assignment of read-only parameter %qD"
+msgstr "向只读形参%qD赋值"
+
+#: cp/typeck2.c:155
+#, gcc-internal-format
+msgid "assignment (via 'asm' output) of read-only parameter %qD"
+msgstr "通过‘asm’输出向只读形参%qD赋值"
+
+#: cp/typeck2.c:157
+#, gcc-internal-format
+msgid "increment of read-only parameter %qD"
+msgstr "令只读形参%qD自增"
+
+#: cp/typeck2.c:159
+#, gcc-internal-format
+msgid "decrement of read-only parameter %qD"
+msgstr "令只读形参%qD自减"
+
+#: cp/typeck2.c:166
+#, gcc-internal-format
+msgid "assignment of read-only reference %qD"
+msgstr "向只读形参%qD赋值"
+
+#: cp/typeck2.c:168
+#, gcc-internal-format
+msgid "assignment (via 'asm' output) of read-only reference %qD"
+msgstr "通过‘asm’输出向只读成员%qD赋值"
+
+#: cp/typeck2.c:170
+#, gcc-internal-format
+msgid "increment of read-only reference %qD"
+msgstr "令只读引用%qD自增"
+
+#: cp/typeck2.c:172
 #, gcc-internal-format
-msgid "%s of read-only location %qE"
-msgstr "%s只读位置%qE"
+msgid "decrement of read-only reference %qD"
+msgstr "令只读引用%qD自减"
 
-#: cp/typeck2.c:288
+#: cp/typeck2.c:176
+#, gcc-internal-format
+msgid "assignment of read-only named return value %qD"
+msgstr "向有名只读返回值%qD赋值"
+
+#: cp/typeck2.c:178
+#, gcc-internal-format
+msgid "assignment (via 'asm' output) of read-only named return value %qD"
+msgstr "通过‘asm’输出向只读有名返回值%qD赋值"
+
+#: cp/typeck2.c:180
+#, gcc-internal-format
+msgid "increment of read-only named return value %qD"
+msgstr "令只读有名返回值%qD自增"
+
+#: cp/typeck2.c:182
+#, gcc-internal-format
+msgid "decrement of read-only named return value %qD"
+msgstr "令有名只读返回值%qD自减"
+
+#: cp/typeck2.c:186
+#, gcc-internal-format
+msgid "assignment of function %qD"
+msgstr "向函数%qD赋值"
+
+#: cp/typeck2.c:188
+#, gcc-internal-format
+msgid "assignment (via 'asm' output) of function %qD"
+msgstr "通过‘asm’输出向函数%qD赋值"
+
+#: cp/typeck2.c:190
+#, gcc-internal-format
+msgid "increment of function %qD"
+msgstr "令函数%qD自增"
+
+#: cp/typeck2.c:192
+#, gcc-internal-format
+msgid "decrement of function %qD"
+msgstr "令函数%qD自减"
+
+#: cp/typeck2.c:198
+#, gcc-internal-format
+msgid "assignment (via 'asm' output) of read-only location %qE"
+msgstr "通过‘asm’输出向只读位置%qE赋值"
+
+#: cp/typeck2.c:384
 #, gcc-internal-format
 msgid "cannot declare variable %q+D to be of abstract type %qT"
 msgstr "不能将变量%q+D声明为具有抽象类型%qT"
 
-#: cp/typeck2.c:291
+#: cp/typeck2.c:387
 #, gcc-internal-format
 msgid "cannot declare parameter %q+D to be of abstract type %qT"
 msgstr "不能将形参%q+D声明为具有抽象类型%qT"
 
-#: cp/typeck2.c:294
+#: cp/typeck2.c:390
 #, gcc-internal-format
 msgid "cannot declare field %q+D to be of abstract type %qT"
 msgstr "不能将字段%q+D声明为具有抽象类型%qT"
 
-#: cp/typeck2.c:298
+#: cp/typeck2.c:394
 #, gcc-internal-format
 msgid "invalid abstract return type for member function %q+#D"
 msgstr "成员函数%q+#D的抽象返回类型无效"
 
-#: cp/typeck2.c:300
+#: cp/typeck2.c:396
 #, gcc-internal-format
 msgid "invalid abstract return type for function %q+#D"
 msgstr "函数%q+#D的抽象返回类型无效"
 
 #. Here we do not have location information.
-#: cp/typeck2.c:303
+#: cp/typeck2.c:399
 #, gcc-internal-format
 msgid "invalid abstract type %qT for %qE"
 msgstr "抽象类型%qT无效,对于%qE无效"
 
-#: cp/typeck2.c:305
+#: cp/typeck2.c:401
 #, gcc-internal-format
 msgid "invalid abstract type for %q+D"
 msgstr "%q+D的抽象类型无效"
 
-#: cp/typeck2.c:308
+#: cp/typeck2.c:404
 #, gcc-internal-format
 msgid "cannot allocate an object of abstract type %qT"
 msgstr "无法为有抽象类型%qT的对象分配内存"
 
-#: cp/typeck2.c:316
+#: cp/typeck2.c:413
 #, gcc-internal-format
-msgid "%J  because the following virtual functions are pure within %qT:"
-msgstr "%J 因为下列虚函数在%qT中为纯虚函数:"
+msgid "  because the following virtual functions are pure within %qT:"
+msgstr "因为下列虚函数在%qT中为纯虚函数:"
 
-#: cp/typeck2.c:320
+#: cp/typeck2.c:417
 #, gcc-internal-format
 msgid "\t%+#D"
 msgstr "\t%+#D"
 
-#: cp/typeck2.c:327
+#: cp/typeck2.c:425
 #, gcc-internal-format
-msgid "%J  since type %qT has pure virtual functions"
-msgstr "%J  因为类型%qT有纯虚函数"
+msgid "  since type %qT has pure virtual functions"
+msgstr " 因为类型%qT有纯虚函数"
 
-#: cp/typeck2.c:607
+#: cp/typeck2.c:705
 #, gcc-internal-format
 msgid "constructor syntax used, but no constructor declared for type %qT"
 msgstr "使用了构造函数的语法,但没有为类型%qT声明构造函数"
 
-#: cp/typeck2.c:621
+#: cp/typeck2.c:719
 #, gcc-internal-format
 msgid "cannot initialize arrays using this syntax"
 msgstr "不能用以语法初始化数组"
 
-#: cp/typeck2.c:707
+#: cp/typeck2.c:801
 #, gcc-internal-format
 msgid "narrowing conversion of %qE from %qT to %qT inside { }"
 msgstr "在 {} 内将%qE从%qT转换为较窄的类型%qT"
 
-#: cp/typeck2.c:765
+#: cp/typeck2.c:859
 #, gcc-internal-format
 msgid "int-array initialized from non-wide string"
 msgstr "int 型数组由非宽字符串初始化"
 
-#: cp/typeck2.c:770
+#: cp/typeck2.c:864
 #, gcc-internal-format
 msgid "int-array initialized from incompatible wide string"
 msgstr "int 型数组不兼容的宽字符串初始化"
 
-#: cp/typeck2.c:829
+#: cp/typeck2.c:879
+#, gcc-internal-format
+msgid "initializer-string for array of chars is too long"
+msgstr "用以初始化字符数组的字符串太长"
+
+#: cp/typeck2.c:925
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr "无法用复合字面常量初始化类型为%qT的聚集"
 
-#: cp/typeck2.c:838
+#: cp/typeck2.c:940
 #, gcc-internal-format
 msgid "array must be initialized with a brace-enclosed initializer"
 msgstr "数组必须为一个由花括号包围的初始值设定所初始化"
 
-#: cp/typeck2.c:920 cp/typeck2.c:1028
+#: cp/typeck2.c:1027 cp/typeck2.c:1135
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "不平凡的代理初始值设定不受支持"
 
-#: cp/typeck2.c:1052 cp/typeck2.c:1066
+#: cp/typeck2.c:1159 cp/typeck2.c:1173
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "成员%qD缺少初始值设定"
 
-#: cp/typeck2.c:1057
+#: cp/typeck2.c:1164
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "未初始化的常量成员%qD"
 
-#: cp/typeck2.c:1059
+#: cp/typeck2.c:1166
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "成员%qD有未初始化的常量字段"
 
-#: cp/typeck2.c:1061
+#: cp/typeck2.c:1168
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "成员%qD是未初始化的引用"
 
-#: cp/typeck2.c:1119
+#: cp/typeck2.c:1236
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr "在初始化的联合中找不到字段%qD"
 
-#: cp/typeck2.c:1128
+#: cp/typeck2.c:1245
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "在联合初始值设定中出现了索引值而不是字段名"
 
-#: cp/typeck2.c:1283
+#: cp/typeck2.c:1404
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "检测到循环指针代理"
 
-#: cp/typeck2.c:1296
+#: cp/typeck2.c:1417
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "%<->%>的基操作数具有非指针类型%qT"
 
-#: cp/typeck2.c:1320
+#: cp/typeck2.c:1441
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr "%<operator->()%>的结果给出了非指针的结果"
 
-#: cp/typeck2.c:1322
+#: cp/typeck2.c:1443
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "%<->%>的左操作数不是一个指针"
 
-#: cp/typeck2.c:1344
+#: cp/typeck2.c:1465
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "%qE不能用作成员指针,因为它的类型为%qT"
 
-#: cp/typeck2.c:1353
+#: cp/typeck2.c:1474
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
 msgstr "无法将成员指针%qE应用到%qE上,因为后者的类型%qT不是一个类"
 
-#: cp/typeck2.c:1375
+#: cp/typeck2.c:1496
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr "成员指针类型%qT与对象类型%qT不兼容"
 
-#: cp/typeck2.c:1616
+#: cp/typeck2.c:1557
+#, gcc-internal-format
+msgid "invalid value-initialization of reference types"
+msgstr "引用类型的值初始化无效"
+
+#: cp/typeck2.c:1748
 #, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr "调用的函数%qD会抛出不完全的类型%q#T"
 
-#: cp/typeck2.c:1619
+#: cp/typeck2.c:1751
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr "调用的函数会抛出不完全的类型%q#T"
 
-#: fortran/f95-lang.c:211
+#: fortran/f95-lang.c:214
 #, gcc-internal-format
 msgid "Unexpected type in truthvalue_conversion"
 msgstr "truthvalue_conversion 中类型非预期"
@@ -33586,137 +36226,127 @@ msgstr "truthvalue_conversion 中类型非预期"
 msgid "can't open input file: %s"
 msgstr "不能打开输入文件:%s"
 
-#: fortran/f95-lang.c:600
+#: fortran/options.c:238
 #, gcc-internal-format
-msgid "global register variable %qs used in nested function"
-msgstr "åµ\8cå¥\97å\87½æ\95°ä¸­ä½¿ç\94¨äº\86å\85¨å±\80å¯\84å­\98å\99¨å\8f\98é\87\8f%qs"
+msgid "-fexcess-precision=standard for Fortran"
+msgstr "对 Fortran è\80\8cè¨\80 -fexcess-precision=standard"
 
-#: fortran/f95-lang.c:604
-#, gcc-internal-format
-msgid "register variable %qs used in nested function"
-msgstr "嵌套函数中使用了寄存器变量%qs"
-
-#: fortran/f95-lang.c:611
-#, gcc-internal-format
-msgid "address of global register variable %qs requested"
-msgstr "要求全局寄存器变量%qs的地址"
-
-#: fortran/f95-lang.c:629
-#, gcc-internal-format
-msgid "address of register variable %qs requested"
-msgstr "要求寄存器变量%qs的地址"
-
-#: fortran/trans-array.c:5714
+#: fortran/trans-array.c:6057
 #, gcc-internal-format
 msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
 msgstr "可能的前端缺陷:提领数组大小时没有指针、可分配属性或不带可分配组件的派生类型。"
 
-#: fortran/trans-array.c:6195
+#: fortran/trans-array.c:6540
 #, gcc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr "走过错误的表达式类型(%d)"
 
-#: fortran/trans-const.c:326
+#: fortran/trans-const.c:330
 #, gcc-internal-format
 msgid "gfc_conv_constant_to_tree(): invalid type: %s"
 msgstr "gfc_conv_constant_to_tree():无效类型;%s"
 
-#: fortran/trans-decl.c:1026
+#: fortran/trans-decl.c:1160
 #, gcc-internal-format
 msgid "intrinsic variable which isn't a procedure"
 msgstr "内建函数变量不是一个过程"
 
-#: fortran/trans-decl.c:3131
+#: fortran/trans-decl.c:3409
 #, gcc-internal-format
 msgid "backend decl for module variable %s already exists"
 msgstr "模块变量 %s 的后端声明已存在"
 
-#: fortran/trans-expr.c:1321
+#: fortran/trans-expr.c:1338
 #, gcc-internal-format
 msgid "Unknown intrinsic op"
 msgstr "未知的内建操作"
 
-#: fortran/trans-intrinsic.c:733
+#: fortran/trans-intrinsic.c:738
 #, gcc-internal-format
 msgid "Intrinsic function %s(%d) not recognized"
 msgstr "内部函数 %s(%d) 无法识别"
 
-#: fortran/trans-io.c:2105
+#: fortran/trans-io.c:2121
 #, gcc-internal-format
 msgid "Bad IO basetype (%d)"
 msgstr "错误的 IO 基类型(%d)"
 
-#: fortran/trans-types.c:392
+#: fortran/trans-openmp.c:1643
+#, gcc-internal-format
+msgid "gfc_trans_omp_workshare(): Bad statement code"
+msgstr "gfc_trans_omp_workshare():错误的语句代码"
+
+#: fortran/trans-types.c:463
 #, gcc-internal-format
 msgid "integer kind=8 not available for -fdefault-integer-8 option"
 msgstr "integer kind=8 在指定了 -fdefault-integer-8 选项时不可用"
 
-#: fortran/trans-types.c:415
+#: fortran/trans-types.c:486
 #, gcc-internal-format
 msgid "real kind=8 not available for -fdefault-real-8 option"
 msgstr "real kind=8 在指定了 -fdefault-real-8 选项时不可用"
 
-#: fortran/trans-types.c:428
+#: fortran/trans-types.c:499
 #, gcc-internal-format
 msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
 msgstr "使用 -fdefault-double-8 时需要 -fdefault-real-8"
 
-#: fortran/trans-types.c:1261
+#: fortran/trans-types.c:1343
 #, gcc-internal-format
 msgid "Array element size too big"
 msgstr "数组元素太大"
 
-#: fortran/trans.c:1232
+#: fortran/trans.c:1277
 #, gcc-internal-format
 msgid "gfc_trans_code(): Bad statement code"
 msgstr "gfc_trans_code():错误的语句代码"
 
-#: java/class.c:834
+#: java/class.c:836
 #, gcc-internal-format
 msgid "bad method signature"
 msgstr "错误的方法签名"
 
-#: java/class.c:890
+#: java/class.c:893
 #, gcc-internal-format
 msgid "misplaced ConstantValue attribute (not in any field)"
 msgstr "ConstantValue 属性位置错误(不在任何字段内)"
 
-#: java/class.c:893
+#: java/class.c:896
 #, gcc-internal-format
 msgid "duplicate ConstantValue attribute for field '%s'"
 msgstr "为字段‘%s’重复指定了 ConstantValue 属性"
 
-#: java/class.c:904
+#: java/class.c:907
 #, gcc-internal-format
 msgid "ConstantValue attribute of field '%s' has wrong type"
 msgstr "字段‘%s’的 ConstantValue 属性类型错误"
 
-#: java/class.c:1601
+#: java/class.c:1613
 #, gcc-internal-format
-msgid "%Jabstract method in non-abstract class"
-msgstr "%J非抽象类中出现纯虚方法"
+msgid "abstract method in non-abstract class"
+msgstr "非抽象类中有抽象方法"
 
-#: java/class.c:2669
+#: java/class.c:2689
 #, gcc-internal-format
 msgid "non-static method %q+D overrides static method"
 msgstr "非静态方法%q+D覆盖了静态方法"
 
-#: java/decl.c:1155
+#: java/decl.c:1261
 #, gcc-internal-format
 msgid "%q+D used prior to declaration"
 msgstr "%q+D在声明前使用"
 
-#: java/decl.c:1578
+#: java/decl.c:1687
 #, gcc-internal-format
 msgid "In %+D: overlapped variable and exception ranges at %d"
 msgstr "在 %+D 中:重叠的变量和异常范围,在 %d"
 
-#: java/decl.c:1629
+#: java/decl.c:1738
 #, gcc-internal-format
 msgid "bad type in parameter debug info"
 msgstr "参数调试信息中类型错误"
 
-#: java/decl.c:1638
+#: java/decl.c:1747
 #, gcc-internal-format
 msgid "bad PC range for debug info for local %q+D"
 msgstr "局部变量%q+D的调用信息中 PC 范围错误"
@@ -33776,38 +36406,38 @@ msgstr "为纯虚方法调用 invokestatic"
 msgid "invoke[non-static] on static method"
 msgstr "非静态地调用静态方法"
 
-#: java/expr.c:2916
+#: java/expr.c:2917
 #, gcc-internal-format
 msgid "missing field '%s' in '%s'"
 msgstr "缺少字段‘%s’,在‘%s’中"
 
-#: java/expr.c:2923
+#: java/expr.c:2924
 #, gcc-internal-format
 msgid "mismatching signature for field '%s' in '%s'"
 msgstr "不匹配的字段签名‘%s’(在 ‘%s’中)"
 
-#: java/expr.c:2952
+#: java/expr.c:2953
 #, gcc-internal-format
 msgid "assignment to final field %q+D not in field's class"
 msgstr "对 final 字段%q+D的赋值出现在该字段所属类以外"
 
-#: java/expr.c:3175
+#: java/expr.c:3177
 #, gcc-internal-format
 msgid "invalid PC in line number table"
 msgstr "行号表中 PC 无效"
 
-#: java/expr.c:3225
+#: java/expr.c:3227
 #, gcc-internal-format
 msgid "unreachable bytecode from %d to before %d"
 msgstr "不会执行到的字节码,从 %d 到 %d 之前"
 
-#: java/expr.c:3267
+#: java/expr.c:3269
 #, gcc-internal-format
 msgid "unreachable bytecode from %d to the end of the method"
 msgstr "不会执行到的字节码,从 %d 直到方法末尾"
 
 #. duplicate code from LOAD macro
-#: java/expr.c:3574
+#: java/expr.c:3576
 #, gcc-internal-format
 msgid "unrecogized wide sub-instruction"
 msgstr "无法识别的宽子指令"
@@ -33870,65 +36500,70 @@ msgstr "词法分析 final 属性时出错"
 
 #: java/jcf-parse.c:1512
 #, gcc-internal-format
-msgid "%Hduplicate class will only be compiled once"
-msgstr "%H重复的类只会被编译一次"
+msgid "duplicate class will only be compiled once"
+msgstr "重复的类只会被编译一次"
 
 #: java/jcf-parse.c:1607
 #, gcc-internal-format
 msgid "missing Code attribute"
 msgstr "缺少 Code 属性"
 
-#: java/jcf-parse.c:1851
+#: java/jcf-parse.c:1853
 #, gcc-internal-format
 msgid "no input file specified"
 msgstr "没有指定输入文件"
 
-#: java/jcf-parse.c:1886
+#: java/jcf-parse.c:1888
 #, gcc-internal-format
 msgid "can't close input file %s: %m"
 msgstr "不能关闭输入文件 %s:%m"
 
-#: java/jcf-parse.c:1931
+#: java/jcf-parse.c:1933
 #, gcc-internal-format
 msgid "bad zip/jar file %s"
 msgstr "损坏的 zip/jar 文件 %s"
 
-#: java/jcf-parse.c:2138
+#: java/jcf-parse.c:2135
 #, gcc-internal-format
 msgid "error while reading %s from zip file"
 msgstr "从 zip 文件读取 %s 时出错"
 
-#: java/jvspec.c:425
+#: java/jvspec.c:422
 #, gcc-internal-format
 msgid "warning: already-compiled .class files ignored with -C"
 msgstr "警告:-C 忽略已经编译的 .class 文件"
 
-#: java/lang.c:539
+#: java/lang.c:559
+#, gcc-internal-format
+msgid "-fexcess-precision=standard for Java"
+msgstr "对 Java 而言 -fexcess-precision=standard"
+
+#: java/lang.c:570
 #, gcc-internal-format
 msgid "-findirect-dispatch is incompatible with -freduced-reflection"
 msgstr "-findirect-dispatch 与 -freduced-reflection 不兼容"
 
-#: java/lang.c:542
+#: java/lang.c:573
 #, gcc-internal-format
 msgid "-fjni is incompatible with -freduced-reflection"
 msgstr "-fjni 与 -freduced-reflection 不兼容"
 
-#: java/lang.c:553
+#: java/lang.c:584
 #, gcc-internal-format
 msgid "can't do dependency tracking with input from stdin"
 msgstr "从标准输入输入时无法进行依赖项跟踪"
 
-#: java/lang.c:569
+#: java/lang.c:600
 #, gcc-internal-format
 msgid "couldn't determine target name for dependency tracking"
 msgstr "不能确定依赖项跟踪的目标名"
 
-#: java/mangle_name.c:139 java/mangle_name.c:209
+#: java/mangle_name.c:325 java/mangle_name.c:402
 #, gcc-internal-format
 msgid "internal error - invalid Utf8 name"
 msgstr "内部错误 - 无效的 utf8 名"
 
-#: java/typeck.c:490
+#: java/typeck.c:427
 #, gcc-internal-format
 msgid "junk at end of signature string"
 msgstr "签名字符串末尾有垃圾字符"
@@ -33948,237 +36583,499 @@ msgstr "PC=%d 处校验错:%s"
 msgid "bad pc in exception_table"
 msgstr "异常表中 PC 错误"
 
-#: objc/objc-act.c:698
+#: lto/lto-elf.c:98 lto/lto-elf.c:119
 #, gcc-internal-format
-msgid "%<@end%> must appear in an @implementation context"
-msgstr "%<@end%>必须出现在 @implementation 上下文中"
+msgid "could not read section header: %s"
+msgstr "无法读取节头:%s"
 
-#: objc/objc-act.c:727
+#: lto/lto-elf.c:218
 #, gcc-internal-format
-msgid "method declaration not in @interface context"
-msgstr "方法声明不在@interface 上下文中"
+msgid "two or more sections for %s:"
+msgstr "%s 有两个以上的节:"
 
-#: objc/objc-act.c:738
+#. Initialize the section header of section SCN.  SH_NAME is the section name
+#. as an index into the section header string table.  SH_TYPE is the section
+#. type, an SHT_* macro from libelf headers.
+#: lto/lto-elf.c:243
 #, gcc-internal-format
-msgid "method definition not in @implementation context"
-msgstr "方法定义不在 @implementation 上下文中"
+msgid "elf32_getshdr() failed: %s"
+msgstr "elf32_getshdr() 失败:%s"
 
-#: objc/objc-act.c:1167
+#: lto/lto-elf.c:245
 #, gcc-internal-format
-msgid "comparison of distinct Objective-C types lacks a cast"
-msgstr "比较独一无二的 Objective-C 类型时缺少转换"
+msgid "elf64_getshdr() failed: %s"
+msgstr "elf64_getshdr() 失败:%s"
 
-#: objc/objc-act.c:1171
+#: lto/lto-elf.c:279
 #, gcc-internal-format
-msgid "initialization from distinct Objective-C type"
-msgstr "ä»\8eç\8b¬ä¸\80æ\97 äº\8cç\9a\84 Objective-C ç±»å\9e\8bå\88\9då§\8bå\8c\96"
+msgid "could not create a new ELF section: %s"
+msgstr "ä¸\8dè\83½å\88\9b建ä¸\80个æ\96°ç\9a\84 ELF è\8a\82ï¼\9a%s"
 
-#: objc/objc-act.c:1175
+#: lto/lto-elf.c:333
 #, gcc-internal-format
-msgid "assignment from distinct Objective-C type"
-msgstr "从独一无二的 Objective-C 类型赋值"
+msgid "could not append data to ELF section: %s"
+msgstr "无法向 ELF 节增加数据:%s"
 
-#: objc/objc-act.c:1179
+#. Validate's ELF_FILE's executable header and, if cached_file_attrs is
+#. uninitialized, caches the architecture.
+#: lto/lto-elf.c:382
 #, gcc-internal-format
-msgid "distinct Objective-C type in return"
-msgstr "返回独一无二的 Objective-C 类型"
+msgid "could not read ELF header: %s"
+msgstr "不能读取 ELF 头:%s"
 
-#: objc/objc-act.c:1183
+#: lto/lto-elf.c:388
 #, gcc-internal-format
-msgid "passing argument %d of %qE from distinct Objective-C type"
-msgstr "ä»\8eä¸\8då\90\8cç\9a\84 Objective-C ç±»å\9e\8bä¼ é\80\92%2$qEç\9a\84第 %1$d ä¸ªå\8f\82æ\95°"
+msgid "not a relocatable ELF object file"
+msgstr "ä¸\8dæ\98¯ä¸\80个å\8f¯é\87\8då®\9aä½\8dç\9a\84 ELF ç\9b®æ \87æ\96\87件"
 
-#: objc/objc-act.c:1339
+#: lto/lto-elf.c:397
 #, gcc-internal-format
-msgid "statically allocated instance of Objective-C class %qs"
-msgstr "静态分配的 Objective-C 类%qs的实例"
+msgid "inconsistent file architecture detected"
+msgstr "检测到不一致的文件架构"
 
-#: objc/objc-act.c:1416
+#: lto/lto-elf.c:423
 #, gcc-internal-format
-msgid "protocol %qs has circular dependency"
-msgstr "协议%qs存在循环依赖"
+msgid "could not read ELF identification information: %s"
+msgstr "无法读取 ELF 标识信息:%s"
 
-#: objc/objc-act.c:1441 objc/objc-act.c:6600
+#: lto/lto-elf.c:442
 #, gcc-internal-format
-msgid "cannot find protocol declaration for %qs"
-msgstr "找不到%qs的协议声明"
+msgid "unsupported ELF file class"
+msgstr "不支持的 ELF 文件类"
 
-#: objc/objc-act.c:1905 objc/objc-act.c:3356 objc/objc-act.c:7215
-#: objc/objc-act.c:7551 objc/objc-act.c:7605 objc/objc-act.c:7630
+#: lto/lto-elf.c:475
 #, gcc-internal-format
-msgid "cannot find interface declaration for %qs"
-msgstr "æ\89¾ä¸\8då\88°%qsç\9a\84æ\8e¥å\8f£å£°æ\98\8e"
+msgid "could not locate ELF string table: %s"
+msgstr "æ\97 æ³\95å®\9aä½\8d ELF å­\97符串表ï¼\9a%s"
 
-#: objc/objc-act.c:1909
+#. Helper functions used by init_ehdr.  Initialize ELF_FILE's executable
+#. header using cached data from previously read files.
+#: lto/lto-elf.c:499
 #, gcc-internal-format
-msgid "interface %qs does not have valid constant string layout"
-msgstr "接口%qs常量字符串布局无效"
+msgid "elf32_newehdr() failed: %s"
+msgstr "elf32_newehdr() 失败:%s"
 
-#: objc/objc-act.c:1914
+#: lto/lto-elf.c:501
 #, gcc-internal-format
-msgid "cannot find reference tag for class %qs"
-msgstr "找不到类%qs的引用标记"
+msgid "elf64_newehdr() failed: %s"
+msgstr "elf64_newehdr() 失败:%s"
 
-#: objc/objc-act.c:2549
+#: lto/lto-elf.c:580
 #, gcc-internal-format
-msgid "%Hcreating selector for nonexistent method %qE"
-msgstr "%H为不存在的方法%qE创建选择子"
+msgid "could not open file %s"
+msgstr "无法打开文件 %s"
 
-#: objc/objc-act.c:2754
+#: lto/lto-elf.c:587
 #, gcc-internal-format
-msgid "%qs is not an Objective-C class name or alias"
-msgstr "%qs不是一个 Objective-C 类名或别名"
+msgid "ELF library is older than that used when building GCC"
+msgstr "ELF 库比构建 GCC 时所使用的还要旧"
 
-#: objc/objc-act.c:2882 objc/objc-act.c:2913 objc/objc-act.c:7479
-#: objc/objc-act.c:7780 objc/objc-act.c:7810
+#: lto/lto-elf.c:596
 #, gcc-internal-format
-msgid "Objective-C declarations may only appear in global scope"
-msgstr "Objective-C 声明只能出现在全局作用域中"
+msgid "could not open ELF file: %s"
+msgstr "无法打开 ELF 文件:%s"
 
-#: objc/objc-act.c:2887
+#: lto/lto-elf.c:606
 #, gcc-internal-format
-msgid "cannot find class %qs"
-msgstr "æ\89¾ä¸\8då\88°ç±»%qs"
+msgid "could not seek in archive"
+msgstr "æ\97 æ³\95å\9c¨å½\92档中å®\9aä½\8d"
 
-#: objc/objc-act.c:2889
+#: lto/lto-elf.c:613
 #, gcc-internal-format
-msgid "class %qs already exists"
-msgstr "类%qs已存在"
+msgid "could not find archive member"
+msgstr "找不到归档成员"
 
-#: objc/objc-act.c:2933 objc/objc-act.c:7520
+#: lto/lto-elf.c:661
 #, gcc-internal-format
-msgid "%qs redeclared as different kind of symbol"
-msgstr "%qs被重新声明为不同意义的符号"
+msgid "gelf_getehdr() failed: %s"
+msgstr "gelf_getehdr() 失败:%s"
 
-#: objc/objc-act.c:3209
+#: lto/lto-elf.c:670
 #, gcc-internal-format
-msgid "strong-cast assignment has been intercepted"
-msgstr "强转换的赋值被打断"
+msgid "elf_getscn() failed: %s"
+msgstr "elf_getscn() 失败:%s"
 
-#: objc/objc-act.c:3251
+#: lto/lto-elf.c:673
 #, gcc-internal-format
-msgid "strong-cast may possibly be needed"
-msgstr "可能需要强类型转换"
+msgid "gelf_getshdr() failed: %s"
+msgstr "gelf_getshdr() 失败:%s"
 
-#: objc/objc-act.c:3261
+#: lto/lto-elf.c:676
 #, gcc-internal-format
-msgid "instance variable assignment has been intercepted"
-msgstr "实例变量的赋值被打断"
+msgid "gelf_update_shdr() failed: %s"
+msgstr "gelf_update_shdr() 失败:%s"
 
-#: objc/objc-act.c:3280
+#: lto/lto-elf.c:680
 #, gcc-internal-format
-msgid "pointer arithmetic for garbage-collected objects not allowed"
-msgstr "不允许在被垃圾收集的对象上进行指针算术运算"
+msgid "gelf_update_ehdr() failed: %s"
+msgstr "gelf_update_ehdr() 失败:%s"
 
-#: objc/objc-act.c:3286
+#: lto/lto-elf.c:688
 #, gcc-internal-format
-msgid "global/static variable assignment has been intercepted"
-msgstr "全局/静态变量赋值已被打断"
+msgid "elf_update() failed: %s"
+msgstr "elf_update() 失败:%s"
 
-#: objc/objc-act.c:3469
+#: lto/lto-lang.c:659
+#, gcc-internal-format
+msgid "-fwpa and -fltrans are mutually exclusive"
+msgstr "-fwpa 和 -fltrans 互斥"
+
+#: lto/lto.c:244
+#, gcc-internal-format
+msgid "bytecode stream: garbage at the end of symbols section"
+msgstr "字节码流:符号节结尾有垃圾字符"
+
+#: lto/lto.c:268
+#, gcc-internal-format
+msgid "could not parse hex number"
+msgstr "不能解析 16 进制数"
+
+#: lto/lto.c:300
+#, gcc-internal-format
+msgid "unexpected file name %s in linker resolution file. Expected %s"
+msgstr "符号解析文件中有非预期的文件名 %s。需要 %s"
+
+#: lto/lto.c:309
+#, gcc-internal-format
+msgid "could not parse file offset"
+msgstr "不能解析文件偏移量"
+
+#: lto/lto.c:312
+#, gcc-internal-format
+msgid "unexpected offset"
+msgstr "非预期的偏移"
+
+#: lto/lto.c:331
+#, gcc-internal-format
+msgid "Invalid line in the resolution file."
+msgstr "符号解析文件中有无效行。"
+
+#: lto/lto.c:344
+#, gcc-internal-format
+msgid "Invalid resolution in the resolution file."
+msgstr "符号解析文件中有非预期的符号解析"
+
+#: lto/lto.c:1041
+#, gcc-internal-format
+msgid "lto_elf_file_open() failed"
+msgstr "lto_elf_file_open() 失败"
+
+#: lto/lto.c:1097
+#, gcc-internal-format
+msgid "environment variable COLLECT_GCC must be set"
+msgstr "环境变量 COLLECT_GCC 必须被设置"
+
+#: lto/lto.c:1102
+#, gcc-internal-format
+msgid "environment variable COLLECT_GCC_OPTIONS must be set"
+msgstr "环境变量 COLLECT_GCC_OPTIONS 必须被设置"
+
+#: lto/lto.c:1111
+#, gcc-internal-format
+msgid "malformed COLLECT_GCC_OPTIONS"
+msgstr "COLLECT_GCC_OPTIONS 格式错误"
+
+#: lto/lto.c:1144
+#, gcc-internal-format
+msgid "opening LTRANS output list %s: %m"
+msgstr "打开 LTRANS 输出列表 %s:%m"
+
+#: lto/lto.c:1162 lto/lto.c:1184
+#, gcc-internal-format
+msgid "writing to LTRANS output list %s: %m"
+msgstr "写入 LTRANS 输出列表 %s:%m"
+
+#: lto/lto.c:1196
+#, gcc-internal-format
+msgid "pex_init failed: %s"
+msgstr "pex_init 失败:%s"
+
+#: lto/lto.c:1204
+#, gcc-internal-format
+msgid "can't get program status: %s"
+msgstr "无法获取程序状态:%s"
+
+#: lto/lto.c:1216
+#, gcc-internal-format
+msgid "%s terminated with status %d"
+msgstr "%s 以状态码 %d 终止"
+
+#: lto/lto.c:1225
+#, gcc-internal-format
+msgid "closing LTRANS output list %s: %m"
+msgstr "关闭 LTRANS 输出列表 %s:%m"
+
+#: lto/lto.c:1717
+#, gcc-internal-format
+msgid "deleting LTRANS input file %s: %m"
+msgstr "删除 LTRANS 输出列表 %s:%m"
+
+#: lto/lto.c:1798
+#, gcc-internal-format
+msgid "could not open symbol resolution file: %s"
+msgstr "无法打开符号解析文件:%s"
+
+#: objc/objc-act.c:729
+#, gcc-internal-format
+msgid "%<@end%> must appear in an @implementation context"
+msgstr "%<@end%>必须出现在 @implementation 上下文中"
+
+#: objc/objc-act.c:758
+#, gcc-internal-format
+msgid "method declaration not in @interface context"
+msgstr "方法声明不在@interface 上下文中"
+
+#: objc/objc-act.c:769
+#, gcc-internal-format
+msgid "method definition not in @implementation context"
+msgstr "方法定义不在 @implementation 上下文中"
+
+#: objc/objc-act.c:1026
+#, gcc-internal-format
+msgid "class %qs does not implement the %qE protocol"
+msgstr "类%qs没有实现%qE协议"
+
+#: objc/objc-act.c:1029
+#, gcc-internal-format
+msgid "type %qs does not conform to the %qE protocol"
+msgstr "类型%qs没有完全遵循%qE协议"
+
+#: objc/objc-act.c:1206
+#, gcc-internal-format
+msgid "comparison of distinct Objective-C types lacks a cast"
+msgstr "比较独一无二的 Objective-C 类型时缺少转换"
+
+#: objc/objc-act.c:1210
+#, gcc-internal-format
+msgid "initialization from distinct Objective-C type"
+msgstr "从独一无二的 Objective-C 类型初始化"
+
+#: objc/objc-act.c:1214
+#, gcc-internal-format
+msgid "assignment from distinct Objective-C type"
+msgstr "从独一无二的 Objective-C 类型赋值"
+
+#: objc/objc-act.c:1218
+#, gcc-internal-format
+msgid "distinct Objective-C type in return"
+msgstr "返回独一无二的 Objective-C 类型"
+
+#: objc/objc-act.c:1222
+#, gcc-internal-format
+msgid "passing argument %d of %qE from distinct Objective-C type"
+msgstr "从不同的 Objective-C 类型传递%2$qE的第 %1$d 个参数"
+
+#: objc/objc-act.c:1378
+#, gcc-internal-format
+msgid "statically allocated instance of Objective-C class %qE"
+msgstr "静态分配的 Objective-C 类%qE的实例"
+
+#: objc/objc-act.c:1455
+#, gcc-internal-format
+msgid "protocol %qE has circular dependency"
+msgstr "协议%qE存在循环依赖"
+
+#: objc/objc-act.c:1480 objc/objc-act.c:6677
+#, gcc-internal-format
+msgid "cannot find protocol declaration for %qE"
+msgstr "找不到%qE的协议声明"
+
+#: objc/objc-act.c:1951 objc/objc-act.c:3405 objc/objc-act.c:7293
+#: objc/objc-act.c:7627 objc/objc-act.c:7682 objc/objc-act.c:7707
+#, gcc-internal-format
+msgid "cannot find interface declaration for %qE"
+msgstr "找不到%qE的接口声明"
+
+#: objc/objc-act.c:1955
+#, gcc-internal-format
+msgid "interface %qE does not have valid constant string layout"
+msgstr "接口%qE常量字符串布局无效"
+
+#: objc/objc-act.c:1960
+#, gcc-internal-format
+msgid "cannot find reference tag for class %qE"
+msgstr "找不到类%qE的引用标记"
+
+#: objc/objc-act.c:2597
+#, gcc-internal-format
+msgid "creating selector for nonexistent method %qE"
+msgstr "为不存在的方法%qE创建选择子"
+
+#: objc/objc-act.c:2800
+#, gcc-internal-format
+msgid "%qE is not an Objective-C class name or alias"
+msgstr "%qE不是一个 Objective-C 类名或别名"
+
+#: objc/objc-act.c:2929 objc/objc-act.c:2961 objc/objc-act.c:7555
+#: objc/objc-act.c:7857 objc/objc-act.c:7887
+#, gcc-internal-format
+msgid "Objective-C declarations may only appear in global scope"
+msgstr "Objective-C 声明只能出现在全局作用域中"
+
+#: objc/objc-act.c:2934
+#, gcc-internal-format
+msgid "cannot find class %qE"
+msgstr "找不到类%qE"
+
+#: objc/objc-act.c:2936
+#, gcc-internal-format
+msgid "class %qE already exists"
+msgstr "类%qE已存在"
+
+#: objc/objc-act.c:2981 objc/objc-act.c:7596
+#, gcc-internal-format
+msgid "%qE redeclared as different kind of symbol"
+msgstr "%qE被重新声明为不同意义的符号"
+
+#: objc/objc-act.c:3259
+#, gcc-internal-format
+msgid "strong-cast assignment has been intercepted"
+msgstr "强转换的赋值被打断"
+
+#: objc/objc-act.c:3301
+#, gcc-internal-format
+msgid "strong-cast may possibly be needed"
+msgstr "可能需要强类型转换"
+
+#: objc/objc-act.c:3311
+#, gcc-internal-format
+msgid "instance variable assignment has been intercepted"
+msgstr "实例变量的赋值被打断"
+
+#: objc/objc-act.c:3330
+#, gcc-internal-format
+msgid "pointer arithmetic for garbage-collected objects not allowed"
+msgstr "不允许在被垃圾收集的对象上进行指针算术运算"
+
+#: objc/objc-act.c:3336
+#, gcc-internal-format
+msgid "global/static variable assignment has been intercepted"
+msgstr "全局/静态变量赋值已被打断"
+
+#: objc/objc-act.c:3825 objc/objc-act.c:3981
 #, gcc-internal-format
 msgid "use %<-fobjc-exceptions%> to enable Objective-C exception syntax"
 msgstr "使用%<-fobjc-exceptions%>来启用 Objective-C 异常语法"
 
-#: objc/objc-act.c:3812
+#: objc/objc-act.c:3863
 #, gcc-internal-format
 msgid "@catch parameter is not a known Objective-C class type"
 msgstr "@catch 参数不是一个已知的 Objective-C 类类型"
 
-#: objc/objc-act.c:3828
+#: objc/objc-act.c:3879
 #, gcc-internal-format
 msgid "exception of type %<%T%> will be caught"
-msgstr "类型为%<%T%>的异常将被捕获"
+msgstr "类型为%<%T%>的异常将"
 
-#: objc/objc-act.c:3830
+#: objc/objc-act.c:3881
 #, gcc-internal-format
-msgid "%H   by earlier handler for %<%T%>"
-msgstr "%H   为早先的%<%T%>的处理者"
+msgid "   by earlier handler for %<%T%>"
+msgstr "为%<%T%>更早的处理者所捕获"
 
-#: objc/objc-act.c:3883
+#: objc/objc-act.c:3934
 #, gcc-internal-format
 msgid "%<@try%> without %<@catch%> or %<@finally%>"
 msgstr "%<@try%>缺少对应的%<@catch%>或%<@finally%>"
 
-#: objc/objc-act.c:3931
+#: objc/objc-act.c:3992
 #, gcc-internal-format
 msgid "%<@throw%> (rethrow) used outside of a @catch block"
 msgstr "在 @catch 块外使用%<@throw%>(rethrow)"
 
-#: objc/objc-act.c:4332
+#: objc/objc-act.c:4394
 #, gcc-internal-format
 msgid "type %q+D does not have a known size"
 msgstr "类型%q+D大小未知"
 
-#: objc/objc-act.c:4968
+#: objc/objc-act.c:5026
 #, gcc-internal-format
-msgid "%J%s %qs"
-msgstr "%J%s%qs"
+msgid "%s %qs"
+msgstr "%s%qs"
 
-#: objc/objc-act.c:4991 objc/objc-act.c:5010
+#: objc/objc-act.c:5049 objc/objc-act.c:5068
 #, gcc-internal-format
 msgid "inconsistent instance variable specification"
 msgstr "不一致的实例变量指定"
 
-#: objc/objc-act.c:5875
+#: objc/objc-act.c:5931
 #, gcc-internal-format
 msgid "can not use an object as parameter to a method"
 msgstr "不能将对象用作方法的参数"
 
-#: objc/objc-act.c:6098
+#: objc/objc-act.c:6159
+#, gcc-internal-format
+msgid "multiple methods named %<%c%E%> found"
+msgstr "多个名为%<%c%E%>的方法"
+
+#: objc/objc-act.c:6162
+#, gcc-internal-format
+msgid "using %<%c%s%>"
+msgstr "使用%<%c%s%>"
+
+#: objc/objc-act.c:6171
+#, gcc-internal-format
+msgid "multiple selectors named %<%c%E%> found"
+msgstr "多个名为%<%c%E%>的选择子"
+
+#: objc/objc-act.c:6174
+#, gcc-internal-format
+msgid "found %<%c%s%>"
+msgstr "找到了%<%c%s%>"
+
+#: objc/objc-act.c:6183
 #, gcc-internal-format
-msgid "multiple %s named %<%c%s%> found"
-msgstr "找到多个 %s 名为%<%c%s%>"
+msgid "also found %<%c%s%>"
+msgstr "也找到了%<%c%s%>"
 
-#: objc/objc-act.c:6324
+#: objc/objc-act.c:6397
 #, gcc-internal-format
-msgid "no super class declared in @interface for %qs"
-msgstr "@interface 中没有为%qs定义基类"
+msgid "no super class declared in @interface for %qE"
+msgstr "没有为%qE在 @interface 中声明超类"
 
-#: objc/objc-act.c:6362
+#: objc/objc-act.c:6435
 #, gcc-internal-format
-msgid "found %<-%s%> instead of %<+%s%> in protocol(s)"
-msgstr "在协议中找到了%<-%s%>而不是%<+%s%>"
+msgid "found %<-%E%> instead of %<+%E%> in protocol(s)"
+msgstr "在协议中找到%<-%E%>而非%<+%E%>"
 
-#: objc/objc-act.c:6421
+#: objc/objc-act.c:6492
 #, gcc-internal-format
 msgid "invalid receiver type %qs"
 msgstr "无效的接收者类型%qs"
 
-#: objc/objc-act.c:6436
+#: objc/objc-act.c:6507
 #, gcc-internal-format
-msgid "%<%c%s%> not found in protocol(s)"
-msgstr "在协议中找不到%<%c%s%>"
+msgid "%<%c%E%> not found in protocol(s)"
+msgstr "在协议中找不到%<%c%E%>"
 
-#: objc/objc-act.c:6450
+#: objc/objc-act.c:6521
 #, gcc-internal-format
-msgid "%qs may not respond to %<%c%s%>"
-msgstr "%qs可能不响应%<%c%s%>"
+msgid "%qE may not respond to %<%c%E%>"
+msgstr "%qE可能不能响应%<%c%E%>"
 
-#: objc/objc-act.c:6458
+#: objc/objc-act.c:6529
 #, gcc-internal-format
-msgid "no %<%c%s%> method found"
-msgstr "找不到方法%<%c%s%>"
+msgid "no %<%c%E%> method found"
+msgstr "找不到方法%<%c%E%>"
 
-#: objc/objc-act.c:6464
+#: objc/objc-act.c:6536
 #, gcc-internal-format
 msgid "(Messages without a matching method signature"
 msgstr "(消息缺少匹配的方法签名"
 
-#: objc/objc-act.c:6465
+#: objc/objc-act.c:6538
 #, gcc-internal-format
 msgid "will be assumed to return %<id%> and accept"
 msgstr "将被假定为返回%<id%>并接受"
 
-#: objc/objc-act.c:6466
+#: objc/objc-act.c:6540
 #, gcc-internal-format
 msgid "%<...%> as arguments.)"
 msgstr "%<...%>作为实参。)"
 
-#: objc/objc-act.c:6700
+#: objc/objc-act.c:6778
 #, gcc-internal-format
-msgid "undeclared selector %qs"
-msgstr "未声明的选择者%qs"
+msgid "undeclared selector %qE"
+msgstr "未声明的选择子%qE"
 
 #. Historically, a class method that produced objects (factory
 #. method) would assign `self' to the instance that it
@@ -34189,160 +37086,1005 @@ msgstr "未声明的选择者%qs"
 #. to an instance variable.  It's better to catch the cases
 #. where this is done unknowingly than to support the above
 #. paradigm.
-#: objc/objc-act.c:6742
+#: objc/objc-act.c:6820
 #, gcc-internal-format
-msgid "instance variable %qs accessed in class method"
-msgstr "实例变量%qs在类方法中被访问"
+msgid "instance variable %qE accessed in class method"
+msgstr "实例变量%qE在类方法中被访问"
 
-#: objc/objc-act.c:6976
+#: objc/objc-act.c:7054
 #, gcc-internal-format
-msgid "duplicate declaration of method %<%c%s%>"
-msgstr "重复声明方法%<%c%s%>"
+msgid "duplicate declaration of method %<%c%E%>"
+msgstr "方法%<%c%E%>的声明重复"
 
-#: objc/objc-act.c:7037
+#: objc/objc-act.c:7115
 #, gcc-internal-format
-msgid "duplicate interface declaration for category %<%s(%s)%>"
-msgstr "类别%<%s(%s)%>有重复的接口声明"
+msgid "duplicate interface declaration for category %<%E(%E)%>"
+msgstr "类别%<%E(%E)%>有重复的接口声明"
 
-#: objc/objc-act.c:7064
+#: objc/objc-act.c:7142
 #, gcc-internal-format
 msgid "illegal reference type specified for instance variable %qs"
 msgstr "为实例变量%qs指定了无效的引用类型"
 
-#: objc/objc-act.c:7075
+#: objc/objc-act.c:7153
 #, gcc-internal-format
 msgid "instance variable %qs has unknown size"
 msgstr "实例变量%qs大小未知"
 
-#: objc/objc-act.c:7100
+#: objc/objc-act.c:7178
 #, gcc-internal-format
-msgid "type %qs has no default constructor to call"
-msgstr "类型%qs没有可以调用的默认构造函数"
+msgid "type %qE has no default constructor to call"
+msgstr "类型%qE没有可以调用的默认构造函数"
 
-#: objc/objc-act.c:7106
+#: objc/objc-act.c:7184
 #, gcc-internal-format
-msgid "destructor for %qs shall not be run either"
-msgstr "%qs的析构函数也不能被调用"
+msgid "destructor for %qE shall not be run either"
+msgstr "%qE的析构函数也不能被调用"
 
 #. Vtable pointers are Real Bad(tm), since Obj-C cannot
 #. initialize them.
-#: objc/objc-act.c:7118
+#: objc/objc-act.c:7196
 #, gcc-internal-format
-msgid "type %qs has virtual member functions"
-msgstr "类型%qs有虚成员函数"
+msgid "type %qE has virtual member functions"
+msgstr "类型%qE有虚成员函数"
 
-#: objc/objc-act.c:7119
+#: objc/objc-act.c:7197
 #, gcc-internal-format
-msgid "illegal aggregate type %qs specified for instance variable %qs"
-msgstr "非法的聚合类型%qs指定给实例变量%qs"
+msgid "illegal aggregate type %qE specified for instance variable %qs"
+msgstr "非法的聚合类型%qE指定给实例变量%qs"
 
-#: objc/objc-act.c:7129
+#: objc/objc-act.c:7207
 #, gcc-internal-format
-msgid "type %qs has a user-defined constructor"
-msgstr "类型%qs有一个用户定义的构造函数"
+msgid "type %qE has a user-defined constructor"
+msgstr "类型%qE有一个用户定义的构造函数"
 
-#: objc/objc-act.c:7131
+#: objc/objc-act.c:7209
 #, gcc-internal-format
-msgid "type %qs has a user-defined destructor"
-msgstr "类型%qs有一个用户定义的析构函数"
+msgid "type %qE has a user-defined destructor"
+msgstr "类型%qE有一个用户定义的析构函数"
 
-#: objc/objc-act.c:7135
+#: objc/objc-act.c:7213
 #, gcc-internal-format
 msgid "C++ constructors and destructors will not be invoked for Objective-C fields"
 msgstr "不会为 Objective-C 字段调用 C++ 构造和析构函数"
 
-#: objc/objc-act.c:7244
+#: objc/objc-act.c:7322
 #, gcc-internal-format
-msgid "instance variable %qs is declared private"
-msgstr "实例变量%qs被声明为私有的"
+msgid "instance variable %qE is declared private"
+msgstr "实例变量%qE被声明为私有的"
 
-#: objc/objc-act.c:7255
+#: objc/objc-act.c:7333
 #, gcc-internal-format
-msgid "instance variable %qs is %s; this will be a hard error in the future"
-msgstr "实例变量%qs是 %s;这在将来会是一个严重的错误"
+msgid "instance variable %qE is %s; this will be a hard error in the future"
+msgstr "实例变量%qE是 %s;这在将来会是一个严重的错误"
 
-#: objc/objc-act.c:7262
+#: objc/objc-act.c:7340
 #, gcc-internal-format
-msgid "instance variable %qs is declared %s"
-msgstr "实例变量%qs声明为 %s"
+msgid "instance variable %qE is declared %s"
+msgstr "实例变量%qE被声明为 %s"
 
-#: objc/objc-act.c:7288 objc/objc-act.c:7376
+#: objc/objc-act.c:7366 objc/objc-act.c:7454
 #, gcc-internal-format
-msgid "incomplete implementation of class %qs"
-msgstr "类%qs的实现不完全"
+msgid "incomplete implementation of class %qE"
+msgstr "类%qE的实现不完全"
 
-#: objc/objc-act.c:7292 objc/objc-act.c:7381
+#: objc/objc-act.c:7370 objc/objc-act.c:7458
 #, gcc-internal-format
-msgid "incomplete implementation of category %qs"
-msgstr "类别%qs的实现不完全"
+msgid "incomplete implementation of category %qE"
+msgstr "类别%qE的实现不完全"
 
-#: objc/objc-act.c:7297 objc/objc-act.c:7386
+#: objc/objc-act.c:7375 objc/objc-act.c:7462
 #, gcc-internal-format
-msgid "method definition for %<%c%s%> not found"
-msgstr "找不到%<%c%s%>的方法定义"
+msgid "method definition for %<%c%E%> not found"
+msgstr "找不到%<%c%E%>的方法定义"
 
-#: objc/objc-act.c:7427
+#: objc/objc-act.c:7503
 #, gcc-internal-format
-msgid "%s %qs does not fully implement the %qs protocol"
-msgstr "%s%qs没有完全实现%qs协议"
+msgid "%s %qE does not fully implement the %qE protocol"
+msgstr "%s%qE没有完全实现%qE协议"
 
-#: objc/objc-act.c:7485 objc/objc-act.c:9187
+#: objc/objc-act.c:7561 objc/objc-act.c:9248
 #, gcc-internal-format
 msgid "%<@end%> missing in implementation context"
 msgstr "实现上下文中缺少%<@end%>"
 
-#: objc/objc-act.c:7504
+#: objc/objc-act.c:7580
 #, gcc-internal-format
-msgid "cannot find interface declaration for %qs, superclass of %qs"
-msgstr "找不到%qs(%qs的基类)的接口声明"
+msgid "cannot find interface declaration for %qE, superclass of %qE"
+msgstr "找不到%2$qE超类%1$qE的接口声明"
 
-#: objc/objc-act.c:7534
+#: objc/objc-act.c:7610
 #, gcc-internal-format
-msgid "reimplementation of class %qs"
-msgstr "类%qs的又一次实现"
+msgid "reimplementation of class %qE"
+msgstr "类%qE的重新实现"
 
-#: objc/objc-act.c:7566
+#: objc/objc-act.c:7640
 #, gcc-internal-format
-msgid "conflicting super class name %qs"
-msgstr "冲突的基类名%qs"
+msgid "conflicting super class name %qE"
+msgstr "冲突的超类名%qE"
 
-#: objc/objc-act.c:7568
+#: objc/objc-act.c:7643
 #, gcc-internal-format
-msgid "previous declaration of %qs"
-msgstr "%qs先前的声明"
+msgid "previous declaration of %qE"
+msgstr "%qE的上一个声明"
 
-#: objc/objc-act.c:7584 objc/objc-act.c:7582
+#: objc/objc-act.c:7645
 #, gcc-internal-format
-msgid "duplicate interface declaration for class %qs"
-msgstr "类%qs有重复的接口声明"
+msgid "previous declaration"
+msgstr "上一个声明"
 
-#: objc/objc-act.c:7838
+#: objc/objc-act.c:7661 objc/objc-act.c:7659
 #, gcc-internal-format
-msgid "duplicate declaration for protocol %qs"
-msgstr "重复声明协议%qs"
+msgid "duplicate interface declaration for class %qE"
+msgstr "类%qE的接口声明重复"
 
-#. Add a readable method name to the warning.
-#: objc/objc-act.c:8426
+#: objc/objc-act.c:7915
 #, gcc-internal-format
-msgid "%J%s %<%c%s%>"
-msgstr "%J%s%<%c%s%>"
+msgid "duplicate declaration for protocol %qE"
+msgstr "重复声明协议%qE"
 
-#: objc/objc-act.c:8757
+#: objc/objc-act.c:8732
 #, gcc-internal-format
-msgid "no super class declared in interface for %qs"
-msgstr "没有在%qs的接口中声明基类"
+msgid "conflicting types for %<%c%s%>"
+msgstr "%<%c%s%>类型冲突"
 
-#: objc/objc-act.c:8808
+#: objc/objc-act.c:8736
+#, gcc-internal-format
+msgid "previous declaration of %<%c%s%>"
+msgstr "%<%c%s%>的上一个声明"
+
+#: objc/objc-act.c:8826
+#, gcc-internal-format
+msgid "no super class declared in interface for %qE"
+msgstr "没有在%qE的接口中声明超类"
+
+#: objc/objc-act.c:8885
 #, gcc-internal-format
 msgid "[super ...] must appear in a method context"
 msgstr "[super ...] 必须出现在方法上下文中"
 
-#: objc/objc-act.c:8847
+#: objc/objc-act.c:8924
 #, gcc-internal-format
 msgid "method possibly missing a [super dealloc] call"
 msgstr "方法可能缺少一个 [super dealloc] 调用"
 
-#: objc/objc-act.c:9477
+#: objc/objc-act.c:9541
+#, gcc-internal-format
+msgid "local declaration of %qE hides instance variable"
+msgstr "%qE的局部声明隐藏了实例变量"
+
+#: ada/gcc-interface/misc.c:196
+#, gcc-internal-format
+msgid "missing argument to \"-%s\""
+msgstr "“-%s”缺少参数"
+
+#: ada/gcc-interface/misc.c:254
+#, gcc-internal-format
+msgid "%<-gnat%> misspelled as %<-gant%>"
+msgstr "%<-gnat%>被错误地拼写为%<-gant%>"
+
+#: ada/gcc-interface/misc.c:312
+#, gcc-internal-format
+msgid "-fexcess-precision=standard for Ada"
+msgstr "对 Ada 而言 -fexcess-precision=standard"
+
+#: ada/gcc-interface/utils.c:5297
+#, gcc-internal-format
+msgid "%qs attribute requires prototypes with named arguments"
+msgstr "%qs属性需要带有名实参的原型"
+
+#: ada/gcc-interface/utils.c:5309
+#, gcc-internal-format
+msgid "%qs attribute only applies to variadic functions"
+msgstr "%qs属性只能用于带可变参数函数"
+
+#: ada/gcc-interface/utils.c:5472
+#, gcc-internal-format
+msgid "invalid vector type for attribute %qs"
+msgstr "属性%qs的向量类型无效"
+
+#: ada/gcc-interface/utils.c:5535
+#, gcc-internal-format
+msgid "attribute %qs applies to array types only"
+msgstr "%qs属性只能为数组类型使用"
+
+#: ada/gcc-interface/utils.c:5562
 #, gcc-internal-format
-msgid "local declaration of %qs hides instance variable"
-msgstr "%qs的局部声明隐藏了实例变量"
+msgid "invalid element type for attribute %qs"
+msgstr "属性%qs的元素类型无效"
+
+#~ msgid "jump bypassing disabled"
+#~ msgstr "跳转旁路被禁用"
+
+#~ msgid "%s: error writing file '%s': %s\n"
+#~ msgstr "%s:写入文件‘%s’时出错:%s\n"
+
+#~ 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 read access for file '%s'\n"
+#~ msgstr "%s:警告:没有文件‘%s’的读权限\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: invalid file name: %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 "%s: can't open file '%s' for reading: %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: cannot get working directory: %s\n"
+#~ msgstr "%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 "Type/rank mismatch in argument '%s' at %L"
+#~ msgstr "%2$L处实参‘%1$s’类型/秩不匹配"
+
+#~ 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 "Too many dimensions in shape specification for RESHAPE at %L"
+#~ msgstr "%L 为 RESHAPE 指定的维数太多"
+
+#~ msgid "Shape specification at %L cannot be negative"
+#~ msgstr "%L处外形指定不能为负数"
+
+#~ msgid "Add a directory for INCLUDE and MODULE searching"
+#~ msgstr "将一个目录添加到 INCLUDE 和 MODULE 搜索路径中"
+
+#~ msgid "Warn about implicit conversion"
+#~ msgstr "对隐式转换给出警告"
+
+#~ msgid "Treat the input file as preprocessed"
+#~ msgstr "将输入文件当作已经预处理过的"
+
+#~ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+#~ msgstr "自动生成融和浮点乘加指令"
+
+#~ msgid "Support SSE5 built-in functions and code generation"
+#~ msgstr "支持 SSE5 内建函数及代码生成"
+
+#~ msgid "Do not generate fused multiply/add instructions"
+#~ 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 "Enable OpenMP"
+#~ msgstr "启用 OpenMP"
+
+#~ msgid "Warn on calls to these functions"
+#~ 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 %<char%> in declaration specifiers"
+#~ msgstr "声明中同时使用了%<_Sat%>和%<char%>"
+
+#~ 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 "integer constant is too large for %qs type"
+#~ msgstr "对%qs类型而言整数常量太大"
+
+#~ 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 "  conflict with %q+D"
+#~ 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 "%H%sparameter pack %qD cannot have a default argument"
+#~ msgstr "%H%s模板参数包%qD不能有默认参数"
+
+#~ msgid "%H%sparameter pack cannot have a default argument"
+#~ msgstr "%H%s模板参数包不能有默认参数"
+
+#~ 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 "%Hcollapse argument needs positive constant integer expression"
+#~ msgstr "%H折叠变量需要正整常数表达式"
+
+#~ 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 "%Hexpected string literal"
+#~ 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的地址"