OSDN Git Service

* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
[pf3gnuchains/gcc-fork.git] / gcc / po / zh_CN.po
index 44a29c2..9ec07e0 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gcc 4.1-b20051125\n"
 "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
-"POT-Creation-Date: 2005-11-20 16:33+0000\n"
-"PO-Revision-Date: 2006-01-14 23:48+0800\n"
+"POT-Creation-Date: 2006-02-28 00:11-0800\n"
+"PO-Revision-Date: 2006-02-26 04:45+0800\n"
 "Last-Translator: Meng Jie <zuxyhere@eastday.com>\n"
 "Language-Team: Chinese (simplified) <i18n-translation@lists.linux.net.cn>\n"
 "MIME-Version: 1.0\n"
@@ -18,7 +18,7 @@ msgstr ""
 "X-Poedit-Country: CHINA\n"
 "X-Poedit-Basepath: z:\\gcc-4.1-20051125\\gcc\n"
 
-#: c-decl.c:3715
+#: c-decl.c:3739
 msgid "<anonymous>"
 msgstr "<anonymous>"
 
@@ -291,53 +291,53 @@ msgstr "#include <...> 搜索从这里开始:\n"
 msgid "End of search list.\n"
 msgstr "搜索列表结束。\n"
 
-#: c-opts.c:1329
+#: c-opts.c:1339
 msgid "<built-in>"
 msgstr "<built-in>"
 
-#: c-opts.c:1345
+#: c-opts.c:1355
 msgid "<command line>"
 msgstr "<command line>"
 
-#: c-typeck.c:2226 c-typeck.c:4613 c-typeck.c:4615 c-typeck.c:4623
-#: c-typeck.c:4653 c-typeck.c:6032
+#: c-typeck.c:2226 c-typeck.c:4592 c-typeck.c:4594 c-typeck.c:4602
+#: c-typeck.c:4632 c-typeck.c:6011
 msgid "initializer element is not constant"
 msgstr "初始值设定元素不是常量"
 
-#: c-typeck.c:4419
+#: c-typeck.c:4398
 msgid "array initialized from parenthesized string constant"
 msgstr "用括号中的字符串常量初始化数组"
 
-#: c-typeck.c:4479 cp/typeck2.c:672
+#: c-typeck.c:4458 cp/typeck2.c:672
 #, gcc-internal-format
 msgid "char-array initialized from wide string"
 msgstr "用宽字符串初始化 char 数组"
 
-#: c-typeck.c:4484
+#: c-typeck.c:4463
 msgid "wchar_t-array initialized from non-wide string"
 msgstr "用窄字符串初始化 wchar_t 数组"
 
-#: c-typeck.c:4502 cp/typeck2.c:692
+#: c-typeck.c:4481 cp/typeck2.c:692
 #, gcc-internal-format
 msgid "initializer-string for array of chars is too long"
 msgstr "用以初始化字符数组的字符串太长"
 
-#: c-typeck.c:4508
+#: c-typeck.c:4487
 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:4572 c-typeck.c:4071 cp/typeck.c:1398
+#: c-typeck.c:4551 c-typeck.c:4050 cp/typeck.c:1398
 #, gcc-internal-format
 msgid "invalid use of non-lvalue array"
 msgstr "对非左值数组的无效使用"
 
-#: c-typeck.c:4596
+#: c-typeck.c:4575
 msgid "array initialized from non-constant array expression"
 msgstr "用非常量的数组表达式初始化数组"
 
-#: c-typeck.c:4660 c-typeck.c:6036
+#: c-typeck.c:4639 c-typeck.c:6015
 #, gcc-internal-format
 msgid "initializer element is not computable at load time"
 msgstr "初始值设定中的元素在载入时无法被计算出"
@@ -346,125 +346,125 @@ 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:4671 c-decl.c:3152 c-decl.c:3167
+#: c-typeck.c:4650 c-decl.c:3181 c-decl.c:3196
 #, gcc-internal-format
 msgid "variable-sized object may not be initialized"
 msgstr "可变大小的对象不能被初始化"
 
-#: c-typeck.c:4675
+#: c-typeck.c:4654
 msgid "invalid initializer"
 msgstr "无效的初始值设定"
 
-#: c-typeck.c:5149
+#: c-typeck.c:5128
 msgid "extra brace group at end of initializer"
 msgstr "初始值设定项末尾有多余的花括号组"
 
-#: c-typeck.c:5169
+#: c-typeck.c:5148
 msgid "missing braces around initializer"
 msgstr "初始值设定周围缺少花括号"
 
-#: c-typeck.c:5230
+#: c-typeck.c:5209
 msgid "braces around scalar initializer"
 msgstr "标量初始化带花括号"
 
-#: c-typeck.c:5287
+#: c-typeck.c:5266
 msgid "initialization of flexible array member in a nested context"
 msgstr "在嵌套的上下文中初始化变长数组成员"
 
-#: c-typeck.c:5289
+#: c-typeck.c:5268
 msgid "initialization of a flexible array member"
 msgstr "对变长数组成员的初始化"
 
-#: c-typeck.c:5316
+#: c-typeck.c:5295
 msgid "missing initializer"
 msgstr "缺少初始值设定"
 
-#: c-typeck.c:5338
+#: c-typeck.c:5317
 msgid "empty scalar initializer"
 msgstr "空的标量初始值设定项"
 
-#: c-typeck.c:5343
+#: c-typeck.c:5322
 msgid "extra elements in scalar initializer"
 msgstr "标量初始化设定中有多余元素"
 
-#: c-typeck.c:5447 c-typeck.c:5507
+#: c-typeck.c:5426 c-typeck.c:5486
 msgid "array index in non-array initializer"
 msgstr "在非数组初始值设定项中出现数组索引"
 
-#: c-typeck.c:5452 c-typeck.c:5560
+#: c-typeck.c:5431 c-typeck.c:5539
 msgid "field name not in record or union initializer"
 msgstr "字段名不在记录或联合初始化设定中"
 
-#: c-typeck.c:5498
+#: c-typeck.c:5477
 msgid "array index in initializer not of integer type"
 msgstr "初始值设定中数组索引不是整型"
 
-#: c-typeck.c:5503 c-typeck.c:5505
+#: c-typeck.c:5482 c-typeck.c:5484
 msgid "nonconstant array index in initializer"
 msgstr "初始值设定中数组索引不是常数"
 
-#: c-typeck.c:5509 c-typeck.c:5512
+#: c-typeck.c:5488 c-typeck.c:5491
 msgid "array index in initializer exceeds array bounds"
 msgstr "初始化时数组索引越界"
 
-#: c-typeck.c:5523
+#: c-typeck.c:5502
 msgid "empty index range in initializer"
 msgstr "初始值设定项中索引范围为空"
 
-#: c-typeck.c:5532
+#: c-typeck.c:5511
 msgid "array index range in initializer exceeds array bounds"
 msgstr "初始值设定中数据索引范围超出数组边界"
 
-#: c-typeck.c:5607 c-typeck.c:5628 c-typeck.c:6100
+#: c-typeck.c:5586 c-typeck.c:5607 c-typeck.c:6079
 msgid "initialized field with side-effects overwritten"
 msgstr "带副作用的字段初始化设定被覆盖"
 
-#: c-typeck.c:6308
+#: c-typeck.c:6287
 msgid "excess elements in char array initializer"
 msgstr "字符数组初始值设定项中有多余元素"
 
-#: c-typeck.c:6315 c-typeck.c:6361
+#: c-typeck.c:6294 c-typeck.c:6340
 msgid "excess elements in struct initializer"
 msgstr "结构初始值设定项中有多余元素"
 
-#: c-typeck.c:6376
+#: c-typeck.c:6355
 msgid "non-static initialization of a flexible array member"
 msgstr "对变长数组成员非静态地初始化"
 
-#: c-typeck.c:6444
+#: c-typeck.c:6423
 msgid "excess elements in union initializer"
 msgstr "联合初始值设定项中有多余元素"
 
-#: c-typeck.c:6531
+#: c-typeck.c:6510
 msgid "excess elements in array initializer"
 msgstr "数组初始值设定项中有多余的元素"
 
-#: c-typeck.c:6561
+#: c-typeck.c:6540
 msgid "excess elements in vector initializer"
 msgstr "矢量初始值设定项中有多余元素"
 
-#: c-typeck.c:6585
+#: c-typeck.c:6564
 msgid "excess elements in scalar initializer"
 msgstr "标量初始值设定项中有多余元素"
 
-#: cfgrtl.c:2129
+#: cfgrtl.c:2130
 msgid "flow control insn inside a basic block"
 msgstr "基本块内有流程控制指令"
 
-#: cfgrtl.c:2207
+#: cfgrtl.c:2208
 msgid "wrong insn in the fallthru edge"
 msgstr "直通边上的错误指令"
 
-#: cfgrtl.c:2249
+#: cfgrtl.c:2250
 msgid "insn outside basic block"
 msgstr "基本块外出现指令"
 
-#: cfgrtl.c:2256
+#: cfgrtl.c:2257
 #, fuzzy
 msgid "return not followed by barrier"
 msgstr "‘#’后没有宏参数"
 
-#: cgraph.c:300 ipa-inline.c:294
+#: cgraph.c:300 ipa-inline.c:296
 msgid "function body not available"
 msgstr "函数体不可用"
 
@@ -476,7 +476,7 @@ msgstr "不考虑内联重定义的外部内联函数"
 msgid "function not considered for inlining"
 msgstr "不考虑内联函数"
 
-#: cgraph.c:307 cgraphunit.c:597 ipa-inline.c:287
+#: cgraph.c:307 cgraphunit.c:597 ipa-inline.c:289
 msgid "function not inlinable"
 msgstr "函数不能内联"
 
@@ -658,40 +658,40 @@ msgstr "内部编译器错误:重入错误报告程序。\n"
 msgid "negative insn length"
 msgstr "指令长度为负"
 
-#: final.c:2467
+#: final.c:2479
 msgid "could not split insn"
 msgstr "无法分离指令"
 
-#: final.c:2816
+#: final.c:2828
 msgid "invalid 'asm': "
 msgstr "无效的‘asm’:"
 
-#: final.c:2999
+#: final.c:3011
 #, c-format
 msgid "nested assembly dialect alternatives"
 msgstr "嵌套的汇编风格指示"
 
-#: final.c:3016 final.c:3028
+#: final.c:3028 final.c:3040
 #, c-format
 msgid "unterminated assembly dialect alternative"
 msgstr "未结束的汇编风格指示"
 
-#: final.c:3075
+#: final.c:3087
 #, c-format
 msgid "operand number missing after %%-letter"
 msgstr "%% 字母后缺少操作数号"
 
-#: final.c:3078 final.c:3119
+#: final.c:3090 final.c:3131
 #, c-format
 msgid "operand number out of range"
 msgstr "操作数号超出范围"
 
-#: final.c:3138
+#: final.c:3150
 #, c-format
 msgid "invalid %%-code"
 msgstr "无效的 %%-code"
 
-#: final.c:3168
+#: final.c:3180
 #, c-format
 msgid "'%%l' operand isn't a label"
 msgstr "‘%%l’操作数不是一个标号"
@@ -702,13 +702,13 @@ msgstr "‘%%l’操作数不是一个标号"
 #. handle them.
 #. We can't handle floating point constants;
 #. PRINT_OPERAND must handle them.
-#: final.c:3269 vmsdbgout.c:487 config/i386/i386.c:6606
+#: final.c:3281 vmsdbgout.c:487 config/i386/i386.c:6616
 #: config/pdp11/pdp11.c:1700
 #, c-format
 msgid "floating constant misused"
 msgstr "错误地使用了浮点常量"
 
-#: final.c:3325 vmsdbgout.c:544 config/i386/i386.c:6682
+#: final.c:3337 vmsdbgout.c:544 config/i386/i386.c:6692
 #: config/pdp11/pdp11.c:1747
 #, c-format
 msgid "invalid expression as operand"
@@ -1501,9 +1501,9 @@ msgid "Branches executed:%s of %d\n"
 msgstr "执行的分支:%s (共有 %d 个)\n"
 
 #: gcov.c:1390
-#, fuzzy, c-format
+#, c-format
 msgid "Taken at least once:%s of %d\n"
-msgstr "大小最少为(KB)(_I)"
+msgstr "至少执行一次的跳转:%s(总数为 %d)\n"
 
 #: gcov.c:1396
 #, c-format
@@ -1571,66 +1571,11 @@ msgid "GCSE disabled"
 msgstr "GCSE 被禁用"
 
 #. Return if there's nothing to do, or it is too expensive.
-#: gcse.c:6518
+#: gcse.c:6526
 #, fuzzy
 msgid "jump bypassing disabled"
 msgstr "帐号将被禁用(&D)"
 
-#: gengtype-yacc.c:602 java/parse-scan.c:1988 java/parse-scan.y:1375
-#: java/parse.c:2981 java/parse.y:16475
-msgid "syntax error: cannot back up"
-msgstr "语法错误:不能备份"
-
-#. Each stack pointer address is followed by the size of the
-#. data in use in that stack, in bytes.  This used to be a
-#. conditional around just the two extra args, but that might
-#. be undefined if yyoverflow is a macro.
-#: gengtype-yacc.c:1085 gengtype-yacc.c:1846 java/parse-scan.c:2471
-#: java/parse-scan.c:3359 java/parse.c:3464 java/parse.c:6451
-msgid "memory exhausted"
-msgstr "内存耗尽"
-
-#. This is so xgettext sees the translatable formats that are
-#. constructed on the fly.
-#: gengtype-yacc.c:1653 java/parse-scan.c:3166 java/parse.c:6258
-#, c-format
-msgid "syntax error, unexpected %s"
-msgstr "语法错误,非预期的 %s"
-
-#: gengtype-yacc.c:1654 java/parse-scan.c:3167 java/parse.c:6259
-#, c-format
-msgid "syntax error, unexpected %s, expecting %s"
-msgstr "语法错误,非预期的 %s,需要 %s"
-
-#: gengtype-yacc.c:1655 java/parse-scan.c:3168 java/parse.c:6260
-#, c-format
-msgid "syntax error, unexpected %s, expecting %s or %s"
-msgstr "语法错误,非预期的 %s,需要 %s 或 %s"
-
-#: gengtype-yacc.c:1656 java/parse-scan.c:3169 java/parse.c:6261
-#, c-format
-msgid "syntax error, unexpected %s, expecting %s or %s or %s"
-msgstr "语法错误,非预期的 %s,需要 %s,%s 或 %s"
-
-#: gengtype-yacc.c:1657 java/parse-scan.c:3170 java/parse.c:6262
-#, c-format
-msgid "syntax error, unexpected %s, expecting %s or %s or %s or %s"
-msgstr "语法错误,非预期的 %s,需要 %s,%s,%s 或 %s"
-
-#. Depending on the version of Bison used to compile this grammar,
-#. it may issue generic diagnostics spelled "syntax error" or
-#. "parse error".  To prevent this from changing the translation
-#. template randomly, we list all the variants of this particular
-#. diagnostic here.  Translators: there is no fine distinction
-#. between diagnostics with "syntax error" in them, and diagnostics
-#. with "parse error" in them.  It's okay to give them both the same
-#. translation.
-#: gengtype-yacc.c:1732 gengtype-yacc.c:1738 java/parse-scan.c:3245
-#: java/parse-scan.c:3251 java/parse-scan.y:1371 java/parse.c:6337
-#: java/parse.c:6343 java/parse.y:16471
-msgid "syntax error"
-msgstr "语法错误"
-
 #. Opening quotation mark.
 #: intl.c:58
 msgid "`"
@@ -1641,27 +1586,27 @@ msgstr "‘"
 msgid "'"
 msgstr "’"
 
-#: ipa-inline.c:273
+#: ipa-inline.c:275
 msgid "--param large-function-growth limit reached"
 msgstr "到达 --param large-function-growth 给定的极限"
 
-#: ipa-inline.c:303
+#: ipa-inline.c:305
 msgid "--param max-inline-insns-single limit reached"
 msgstr "到达 --param max-inline-insns-single 给定的极限"
 
-#: ipa-inline.c:312
+#: ipa-inline.c:314
 msgid "--param max-inline-insns-auto limit reached"
 msgstr "到达 --param max-inline-insns-single 给定的极限"
 
-#: ipa-inline.c:338 ipa-inline.c:764
+#: ipa-inline.c:340 ipa-inline.c:766
 msgid "recursive inlining"
 msgstr "递归内联"
 
-#: ipa-inline.c:777
+#: ipa-inline.c:779
 msgid "call is unlikely"
 msgstr "不太可能调用"
 
-#: ipa-inline.c:848
+#: ipa-inline.c:850
 msgid "--param inline-unit-growth limit reached"
 msgstr "到达 --param inline-unit-growth 给定的极限"
 
@@ -1700,7 +1645,7 @@ msgstr "无法优化循环,循环变量可能溢出"
 msgid "This switch lacks documentation"
 msgstr "此开关缺少可用文档"
 
-#: opts.c:1210
+#: opts.c:1227
 #, c-format
 msgid ""
 "\n"
@@ -1709,11 +1654,11 @@ msgstr ""
 "\n"
 "目标机特定的选项:\n"
 
-#: opts.c:1231
+#: opts.c:1248
 msgid "The following options are language-independent:\n"
 msgstr "下列选项是与具体语言无关的:\n"
 
-#: opts.c:1238
+#: opts.c:1255
 #, c-format
 msgid ""
 "The %s front end recognizes the following options:\n"
@@ -1722,7 +1667,7 @@ msgstr ""
 "%s 前端可识别下列选项:\n"
 "\n"
 
-#: opts.c:1251
+#: opts.c:1268
 msgid "The --param option recognizes the following as parameters:\n"
 msgstr "--param 选项可接受以下参数:\n"
 
@@ -2037,7 +1982,7 @@ msgstr "%s:无法得到工作目录:%s\n"
 msgid "%s: input file names must have .c suffixes: %s\n"
 msgstr "%s:输入文件名必须有 .c 后缀:%s\n"
 
-#: reload.c:3730
+#: reload.c:3734
 msgid "unable to generate reloads for:"
 msgstr "无法生成重新载入,为:"
 
@@ -2046,16 +1991,16 @@ msgid "this is the insn:"
 msgstr "这是指令:"
 
 #. It's the compiler's fault.
-#: reload1.c:5088
+#: reload1.c:5103
 msgid "could not find a spill register"
 msgstr "找不到可舍出的寄存器"
 
 #. It's the compiler's fault.
-#: reload1.c:6722
+#: reload1.c:6737
 msgid "VOIDmode on an output"
 msgstr "输出有 VOIDmode"
 
-#: reload1.c:7692
+#: reload1.c:7710
 msgid "Failure trying to reload:"
 msgstr "试图重新载入时失败:"
 
@@ -2115,12 +2060,12 @@ msgstr "collect:调整 %s,于 %s\n"
 msgid "collect: relinking\n"
 msgstr "collect:重新链接\n"
 
-#: toplev.c:582
+#: toplev.c:583
 #, c-format
 msgid "unrecoverable error"
 msgstr "不可恢复错误"
 
-#: toplev.c:1114
+#: toplev.c:1115
 #, c-format
 msgid ""
 "%s%s%s version %s (%s)\n"
@@ -2129,42 +2074,42 @@ msgstr ""
 "%s%s%s 版本 %s (%s)\n"
 "%s\t由 GNU C 版本 %s 编译。\n"
 
-#: toplev.c:1116
+#: toplev.c:1117
 #, c-format
 msgid "%s%s%s version %s (%s) compiled by CC.\n"
 msgstr "由 CC 编译的 %s%s%s 版本 %s (%s)。\n"
 
-#: toplev.c:1120
+#: toplev.c:1121
 #, 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:1182
+#: toplev.c:1183
 msgid "options passed: "
 msgstr "传递的选项:"
 
-#: toplev.c:1211
+#: toplev.c:1212
 msgid "options enabled: "
 msgstr "启用的选项:"
 
-#: toplev.c:1330
+#: toplev.c:1331
 #, c-format
 msgid "created and used with differing settings of '%s'"
 msgstr "创建和使用时使用了不同的‘%s’设定"
 
-#: toplev.c:1332
+#: toplev.c:1333
 msgid "out of memory"
 msgstr "内存不足"
 
-#: toplev.c:1347
+#: toplev.c:1348
 msgid "created and used with different settings of -fpic"
 msgstr "创建和使用时使用了不同的 -fpic 设定"
 
-#: toplev.c:1349
+#: toplev.c:1350
 msgid "created and used with different settings of -fpie"
 msgstr "创建和使用时使用了不同的 -fpie 设定"
 
-#: tree-inline.c:2013
+#: tree-inline.c:2021
 msgid "originally indirect function call not considered for inlining"
 msgstr "原本间接的函数调用不被考虑内联"
 
@@ -2511,87 +2456,92 @@ msgstr ""
 msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
 msgstr ""
 
-#: config/alpha/alpha.c:5069
+#: params.def:561
+#, fuzzy
+msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
+msgstr "GCC 试图分别跟踪的不存在直接结构访问的结构变量中的字段的最大数目"
+
+#: config/alpha/alpha.c:5084
 #, c-format
 msgid "invalid %%H value"
 msgstr "无效 %%H 值"
 
-#: config/alpha/alpha.c:5090 config/bfin/bfin.c:1181
+#: config/alpha/alpha.c:5105 config/bfin/bfin.c:1191
 #, c-format
 msgid "invalid %%J value"
 msgstr "无效 %%J 值"
 
-#: config/alpha/alpha.c:5120 config/ia64/ia64.c:4597
+#: config/alpha/alpha.c:5135 config/ia64/ia64.c:4603
 #, c-format
 msgid "invalid %%r value"
 msgstr "无效 %%r 值"
 
-#: config/alpha/alpha.c:5130 config/rs6000/rs6000.c:10385
+#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:10413
 #: config/xtensa/xtensa.c:1691
 #, c-format
 msgid "invalid %%R value"
 msgstr "无效 %%R 值"
 
-#: config/alpha/alpha.c:5136 config/rs6000/rs6000.c:10304
+#: config/alpha/alpha.c:5151 config/rs6000/rs6000.c:10332
 #: config/xtensa/xtensa.c:1658
 #, c-format
 msgid "invalid %%N value"
 msgstr "无效 %%N 值"
 
-#: config/alpha/alpha.c:5144 config/rs6000/rs6000.c:10332
+#: config/alpha/alpha.c:5159 config/rs6000/rs6000.c:10360
 #, c-format
 msgid "invalid %%P value"
 msgstr "无效 %%P 值"
 
-#: config/alpha/alpha.c:5152
+#: config/alpha/alpha.c:5167
 #, c-format
 msgid "invalid %%h value"
 msgstr "无效 %%h 值"
 
-#: config/alpha/alpha.c:5160 config/xtensa/xtensa.c:1684
+#: config/alpha/alpha.c:5175 config/xtensa/xtensa.c:1684
 #, c-format
 msgid "invalid %%L value"
 msgstr "无效 %%L 值"
 
-#: config/alpha/alpha.c:5199 config/rs6000/rs6000.c:10286
+#: config/alpha/alpha.c:5214 config/rs6000/rs6000.c:10314
 #, c-format
 msgid "invalid %%m value"
 msgstr "无效 %%m 值"
 
-#: config/alpha/alpha.c:5207 config/rs6000/rs6000.c:10294
+#: config/alpha/alpha.c:5222 config/rs6000/rs6000.c:10322
 #, c-format
 msgid "invalid %%M value"
 msgstr "无效 %%M 值"
 
-#: config/alpha/alpha.c:5251
+#: config/alpha/alpha.c:5266
 #, c-format
 msgid "invalid %%U value"
 msgstr "无效 %%U 值"
 
-#: config/alpha/alpha.c:5263 config/alpha/alpha.c:5277
-#: config/rs6000/rs6000.c:10393
+#: config/alpha/alpha.c:5278 config/alpha/alpha.c:5292
+#: config/rs6000/rs6000.c:10421
 #, c-format
 msgid "invalid %%s value"
 msgstr "无效 %%s 值"
 
-#: config/alpha/alpha.c:5300
+#: config/alpha/alpha.c:5315
 #, c-format
 msgid "invalid %%C value"
 msgstr "无效 %%C 值"
 
-#: config/alpha/alpha.c:5337 config/rs6000/rs6000.c:10125
-#: config/rs6000/rs6000.c:10143
+#: config/alpha/alpha.c:5352 config/rs6000/rs6000.c:10153
+#: config/rs6000/rs6000.c:10171
 #, c-format
 msgid "invalid %%E value"
 msgstr "无效 %%E 值"
 
-#: config/alpha/alpha.c:5362 config/alpha/alpha.c:5410
+#: config/alpha/alpha.c:5377 config/alpha/alpha.c:5425
 #, fuzzy, c-format
 msgid "unknown relocation unspec"
 msgstr "未知的转义序列:‘\\%c’"
 
-#: config/alpha/alpha.c:5371 config/crx/crx.c:1082
-#: config/rs6000/rs6000.c:10706
+#: config/alpha/alpha.c:5386 config/crx/crx.c:1082
+#: config/rs6000/rs6000.c:10735
 #, c-format
 msgid "invalid %%xn code"
 msgstr "无效的 %%xn 代码"
@@ -2618,35 +2568,35 @@ msgstr "%%V 代码的操作数无效"
 
 #. Unknown flag.
 #. Undocumented flag.
-#: config/arc/arc.c:1798 config/m32r/m32r.c:1926 config/sparc/sparc.c:6802
+#: config/arc/arc.c:1798 config/m32r/m32r.c:1926 config/sparc/sparc.c:6818
 #, c-format
 msgid "invalid operand output code"
 msgstr "无效的操作数输出代码"
 
-#: config/arm/arm.c:10904 config/arm/arm.c:10922
+#: config/arm/arm.c:10906 config/arm/arm.c:10924
 #, c-format
 msgid "predicated Thumb instruction"
 msgstr "预测到的 Thumb 指令"
 
-#: config/arm/arm.c:10910
+#: config/arm/arm.c:10912
 #, c-format
 msgid "predicated instruction in conditional sequence"
 msgstr "在条件序列中预测到的指令"
 
-#: config/arm/arm.c:11018 config/arm/arm.c:11028 config/arm/arm.c:11038
-#: config/arm/arm.c:11064 config/arm/arm.c:11082 config/arm/arm.c:11117
-#: config/arm/arm.c:11136 config/arm/arm.c:11151 config/arm/arm.c:11177
-#: config/arm/arm.c:11184 config/arm/arm.c:11191
+#: config/arm/arm.c:11020 config/arm/arm.c:11030 config/arm/arm.c:11040
+#: config/arm/arm.c:11066 config/arm/arm.c:11084 config/arm/arm.c:11119
+#: config/arm/arm.c:11138 config/arm/arm.c:11153 config/arm/arm.c:11179
+#: config/arm/arm.c:11186 config/arm/arm.c:11193
 #, c-format
 msgid "invalid operand for code '%c'"
 msgstr "代码‘%c’的操作数无效"
 
-#: config/arm/arm.c:11077
+#: config/arm/arm.c:11079
 #, c-format
 msgid "instruction never exectued"
 msgstr "指令从不被执行"
 
-#: config/arm/arm.c:11202
+#: config/arm/arm.c:11204
 #, c-format
 msgid "missing operand"
 msgstr "缺少操作数"
@@ -2690,12 +2640,12 @@ msgstr "错误的 shift 指令"
 msgid "internal compiler error.  Incorrect shift:"
 msgstr "编译器内部错误。不正确的移位量:"
 
-#: config/bfin/bfin.c:1143
+#: config/bfin/bfin.c:1153
 #, c-format
 msgid "invalid %%j value"
 msgstr "无效的 %%j 值"
 
-#: config/bfin/bfin.c:1262
+#: config/bfin/bfin.c:1272
 #, c-format
 msgid "invalid const_double operand"
 msgstr "无效的双精度常量操作数"
@@ -2784,11 +2734,11 @@ msgstr "c4x_rptb_rpts_p:重复块的顶层标号被移动"
 #. Use `%s' to print the string in case there are any escape
 #. characters in the message.
 #: config/cris/cris.c:492 fortran/dump-parse-tree.c:84
-#: fortran/dump-parse-tree.c:416 fortran/dump-parse-tree.c:744 c-typeck.c:4372
-#: c-typeck.c:4387 c-typeck.c:4402 final.c:2821 final.c:2823 gcc.c:4664
-#: loop-iv.c:2711 loop-iv.c:2720 rtl-error.c:113 toplev.c:586
-#: tree-ssa-loop-niter.c:1037 cp/parser.c:1963 cp/typeck.c:4274
-#: java/expr.c:402 java/parse.y:5005
+#: fortran/dump-parse-tree.c:416 fortran/dump-parse-tree.c:747 c-typeck.c:4351
+#: c-typeck.c:4366 c-typeck.c:4381 final.c:2833 final.c:2835 gcc.c:4664
+#: loop-iv.c:2711 loop-iv.c:2720 rtl-error.c:113 toplev.c:587
+#: tree-ssa-loop-niter.c:1037 cp/parser.c:1970 cp/typeck.c:4292
+#: java/expr.c:402
 #, gcc-internal-format
 msgid "%s"
 msgstr "%s"
@@ -2829,57 +2779,57 @@ msgstr "‘H’修饰符的操作数无效"
 msgid "bad register"
 msgstr "错误的寄存器名"
 
-#: config/cris/cris.c:880
+#: config/cris/cris.c:887
 msgid "invalid operand for 'e' modifier"
 msgstr "‘e’修饰符的操作数无效"
 
-#: config/cris/cris.c:897
+#: config/cris/cris.c:904
 msgid "invalid operand for 'm' modifier"
 msgstr "‘m’修饰符的操作数无效"
 
-#: config/cris/cris.c:922
+#: config/cris/cris.c:929
 msgid "invalid operand for 'A' modifier"
 msgstr "‘A’修饰符的操作数无效"
 
-#: config/cris/cris.c:945
+#: config/cris/cris.c:952
 msgid "invalid operand for 'D' modifier"
 msgstr "‘D’修饰符的操作数无效"
 
-#: config/cris/cris.c:959
+#: config/cris/cris.c:966
 msgid "invalid operand for 'T' modifier"
 msgstr "‘T’修饰符的操作数无效"
 
-#: config/cris/cris.c:968
+#: config/cris/cris.c:975
 msgid "invalid operand modifier letter"
 msgstr "无效的操作数修饰符字母"
 
-#: config/cris/cris.c:1025
+#: config/cris/cris.c:1032
 msgid "unexpected multiplicative operand"
 msgstr "无效的乘性操作数"
 
-#: config/cris/cris.c:1045
+#: config/cris/cris.c:1052
 msgid "unexpected operand"
 msgstr "非预期的操作数"
 
-#: config/cris/cris.c:1078 config/cris/cris.c:1088
+#: config/cris/cris.c:1085 config/cris/cris.c:1095
 msgid "unrecognized address"
 msgstr "无法识别的地址"
 
-#: config/cris/cris.c:2014
+#: config/cris/cris.c:2021
 msgid "unrecognized supposed constant"
 msgstr "预期的常量无法识别"
 
-#: config/cris/cris.c:2370 config/cris/cris.c:2415
+#: config/cris/cris.c:2396 config/cris/cris.c:2460
 msgid "unexpected side-effects in address"
 msgstr "地址中有非预期的副作用"
 
 #. Can't possibly get a GOT-needing-fixup for a function-call,
 #. right?
-#: config/cris/cris.c:3173
+#: config/cris/cris.c:3254
 msgid "Unidentifiable call op"
 msgstr "无法识别的 call 操作"
 
-#: config/cris/cris.c:3208
+#: config/cris/cris.c:3305
 #, c-format
 msgid "PIC register isn't set up"
 msgstr "尚未设定好 PIC 寄存器"
@@ -3022,27 +2972,27 @@ msgstr "错误的 output_condmove_single 操作数"
 msgid " (frv)"
 msgstr " (frv)"
 
-#: config/i386/i386.c:6676
+#: config/i386/i386.c:6686
 #, c-format
 msgid "invalid UNSPEC as operand"
 msgstr "无效的 UNSPEC 用作操作数"
 
-#: config/i386/i386.c:7258
+#: config/i386/i386.c:7268
 #, c-format
 msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
 msgstr "操作数既不是一个常量也不是一个条件码,无效的操作数代码‘c’"
 
-#: config/i386/i386.c:7311
+#: config/i386/i386.c:7321
 #, c-format
 msgid "invalid operand code '%c'"
 msgstr "无效的操作数代码‘%c’"
 
-#: config/i386/i386.c:7354
+#: config/i386/i386.c:7364
 #, c-format
 msgid "invalid constraints for operand"
 msgstr "操作数的约束无效"
 
-#: config/i386/i386.c:12948
+#: config/i386/i386.c:12958
 msgid "unknown insn mode"
 msgstr "未知的指令模式"
 
@@ -3063,20 +3013,20 @@ msgstr "环境变量 DJGPP 指向的文件‘%s’不存在"
 msgid "environment variable DJGPP points to corrupt file '%s'"
 msgstr "环境变量 DJGPP 指向的文件‘%s’已损坏"
 
-#: config/ia64/ia64.c:4647
+#: config/ia64/ia64.c:4653
 #, c-format
 msgid "ia64_print_operand: unknown code"
 msgstr "ia64_print_operand:未知代码"
 
-#: config/ia64/ia64.c:8918
+#: config/ia64/ia64.c:9013
 msgid "invalid conversion from %<__fpreg%>"
 msgstr "从 %<__fpreg%> 的转换无效"
 
-#: config/ia64/ia64.c:8921
+#: config/ia64/ia64.c:9016
 msgid "invalid conversion to %<__fpreg%>"
 msgstr "向 %<__fpreg%> 的转换无效"
 
-#: config/ia64/ia64.c:8934 config/ia64/ia64.c:8945
+#: config/ia64/ia64.c:9029 config/ia64/ia64.c:9040
 msgid "invalid operation on %<__fpreg%>"
 msgstr "对 %<__fpreg%> 的操作无效"
 
@@ -3085,12 +3035,12 @@ msgstr "对 %<__fpreg%> 的操作无效"
 msgid "invalid %%P operand"
 msgstr "无效的 %%P 操作数"
 
-#: config/iq2000/iq2000.c:3133 config/rs6000/rs6000.c:10322
+#: config/iq2000/iq2000.c:3133 config/rs6000/rs6000.c:10350
 #, c-format
 msgid "invalid %%p value"
 msgstr "无效的 %%p 值"
 
-#: config/iq2000/iq2000.c:3189 config/mips/mips.c:5532
+#: config/iq2000/iq2000.c:3189 config/mips/mips.c:5537
 #, c-format
 msgid "invalid use of %%d, %%x, or %%X"
 msgstr "对 %%d、%%x 或 %%X 的无效使用"
@@ -3132,7 +3082,7 @@ msgid "post-increment address is not a register"
 msgstr "后自增地址不是一个寄存器"
 
 #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
-#: config/rs6000/rs6000.c:17547
+#: config/rs6000/rs6000.c:17587
 msgid "bad address"
 msgstr "错误地址"
 
@@ -3178,41 +3128,41 @@ msgstr "无法完成 z 寄存器替换"
 msgid "invalid Z register replacement for insn"
 msgstr "无效的 Z 寄存器替换"
 
-#: config/mips/mips.c:5200
+#: config/mips/mips.c:5205
 msgid "mips_debugger_offset called with non stack/frame/arg pointer"
 msgstr ""
 
-#: config/mips/mips.c:5410
+#: config/mips/mips.c:5415
 #, c-format
 msgid "PRINT_OPERAND, invalid insn for %%C"
 msgstr "PRINT_OPERAND,%%C 的指令无效"
 
-#: config/mips/mips.c:5427
+#: config/mips/mips.c:5432
 #, c-format
 msgid "PRINT_OPERAND, invalid insn for %%N"
 msgstr "PRINT_OPERAND,%%N 的指令无效"
 
-#: config/mips/mips.c:5436
+#: config/mips/mips.c:5441
 #, c-format
 msgid "PRINT_OPERAND, invalid insn for %%F"
 msgstr "PRINT_OPERAND,%%F 的指令无效"
 
-#: config/mips/mips.c:5445
+#: config/mips/mips.c:5450
 #, c-format
 msgid "PRINT_OPERAND, invalid insn for %%W"
 msgstr "PRINT_OPERAND,%%W 的指令无效"
 
-#: config/mips/mips.c:5466
+#: config/mips/mips.c:5471
 #, c-format
 msgid "invalid %%Y value"
 msgstr "无效的 %%Y 值"
 
-#: config/mips/mips.c:5483 config/mips/mips.c:5491
+#: config/mips/mips.c:5488 config/mips/mips.c:5496
 #, c-format
 msgid "PRINT_OPERAND, invalid insn for %%q"
 msgstr "PRINT_OPERAND,%%q 指令无效"
 
-#: config/mips/mips.c:5560
+#: config/mips/mips.c:5565
 msgid "PRINT_OPERAND, invalid operand for relocation"
 msgstr "PRINT_OPERAND,重定位的操作数无效"
 
@@ -3257,179 +3207,179 @@ msgstr "MMIX 内部错误:它的比较条件是什么?"
 msgid "MMIX Internal: This is not a constant:"
 msgstr "MMIX 内部错误:这不是一个常量:"
 
-#: config/ms1/ms1.c:302
-msgid "ms1_final_prescan_insn, invalid insn #1"
+#: config/mt/mt.c:298
+msgid "mt_final_prescan_insn, invalid insn #1"
 msgstr ""
 
-#: config/ms1/ms1.c:373
+#: config/mt/mt.c:369
 msgid "PRINT_OPERAND_ADDRESS, 2 regs"
 msgstr "PRINT_OPERAND_ADDRESS,两个寄存器"
 
-#: config/ms1/ms1.c:397
+#: config/mt/mt.c:393
 msgid "PRINT_OPERAND_ADDRESS, invalid insn #1"
 msgstr "PRINT_OPERAND_ADDRESS,无效指令 #1"
 
-#: config/rs6000/host-darwin.c:83
+#: config/rs6000/host-darwin.c:87
 #, c-format
 msgid "Out of stack space.\n"
 msgstr "堆栈溢出。\n"
 
-#: config/rs6000/host-darwin.c:104
+#: config/rs6000/host-darwin.c:108
 #, c-format
 msgid "Try running '%s' in the shell to raise its limit.\n"
 msgstr "尝试在命令解释器中运行‘%s’以提升它的极限。\n"
 
-#: config/rs6000/rs6000.c:10152
+#: config/rs6000/rs6000.c:10180
 #, c-format
 msgid "invalid %%f value"
 msgstr "无效 %%f 值"
 
-#: config/rs6000/rs6000.c:10161
+#: config/rs6000/rs6000.c:10189
 #, c-format
 msgid "invalid %%F value"
 msgstr "无效 %%F 值"
 
-#: config/rs6000/rs6000.c:10170
+#: config/rs6000/rs6000.c:10198
 #, c-format
 msgid "invalid %%G value"
 msgstr "无效 %%G 值"
 
-#: config/rs6000/rs6000.c:10205
+#: config/rs6000/rs6000.c:10233
 #, c-format
 msgid "invalid %%j code"
 msgstr "无效 %%j 代码"
 
-#: config/rs6000/rs6000.c:10215
+#: config/rs6000/rs6000.c:10243
 #, c-format
 msgid "invalid %%J code"
 msgstr "无效 %%J 代码"
 
-#: config/rs6000/rs6000.c:10225
+#: config/rs6000/rs6000.c:10253
 #, c-format
 msgid "invalid %%k value"
 msgstr "无效 %%k 值"
 
-#: config/rs6000/rs6000.c:10245 config/xtensa/xtensa.c:1677
+#: config/rs6000/rs6000.c:10273 config/xtensa/xtensa.c:1677
 #, c-format
 msgid "invalid %%K value"
 msgstr "无效 %%K 值"
 
-#: config/rs6000/rs6000.c:10312
+#: config/rs6000/rs6000.c:10340
 #, c-format
 msgid "invalid %%O value"
 msgstr "无效 %%O 值"
 
-#: config/rs6000/rs6000.c:10359
+#: config/rs6000/rs6000.c:10387
 #, c-format
 msgid "invalid %%q value"
 msgstr "无效 %%q 值"
 
-#: config/rs6000/rs6000.c:10403
+#: config/rs6000/rs6000.c:10431
 #, c-format
 msgid "invalid %%S value"
 msgstr "无效 %%S 值"
 
-#: config/rs6000/rs6000.c:10443
+#: config/rs6000/rs6000.c:10471
 #, c-format
 msgid "invalid %%T value"
 msgstr "无效 %%T 值"
 
-#: config/rs6000/rs6000.c:10453
+#: config/rs6000/rs6000.c:10481
 #, c-format
 msgid "invalid %%u value"
 msgstr "无效 %%u 值"
 
-#: config/rs6000/rs6000.c:10462 config/xtensa/xtensa.c:1647
+#: config/rs6000/rs6000.c:10490 config/xtensa/xtensa.c:1647
 #, c-format
 msgid "invalid %%v value"
 msgstr "无效 %%v 值"
 
-#: config/rs6000/rs6000.c:19064
+#: config/rs6000/rs6000.c:19104
 msgid "AltiVec argument passed to unprototyped function"
 msgstr "传递 AltiVec 实参给无原型的函数"
 
-#: config/s390/s390.c:4175
+#: config/s390/s390.c:4488
 #, c-format
 msgid "cannot decompose address"
 msgstr "无法分解地址"
 
-#: config/s390/s390.c:4385
+#: config/s390/s390.c:4698
 msgid "UNKNOWN in print_operand !?"
 msgstr "UNKNOWN 出现在 print_operand 中?!"
 
-#: config/sh/sh.c:768
+#: config/sh/sh.c:746
 #, c-format
 msgid "invalid operand to %%R"
 msgstr "%%R 的操作数无效"
 
-#: config/sh/sh.c:795
+#: config/sh/sh.c:773
 #, c-format
 msgid "invalid operand to %%S"
 msgstr "%%S 的操作数无效"
 
-#: config/sh/sh.c:7661
+#: config/sh/sh.c:7679
 msgid "created and used with different architectures / ABIs"
 msgstr "创建和使用时使用了不同的架构/ABI"
 
-#: config/sh/sh.c:7663
+#: config/sh/sh.c:7681
 msgid "created and used with different ABIs"
 msgstr "创建和使用时使用了不同的 ABI"
 
-#: config/sh/sh.c:7665
+#: config/sh/sh.c:7683
 msgid "created and used with different endianness"
 msgstr "创建和使用时使用了不同的高/低位字节在前设定"
 
-#: config/sparc/sparc.c:6610 config/sparc/sparc.c:6616
+#: config/sparc/sparc.c:6626 config/sparc/sparc.c:6632
 #, c-format
 msgid "invalid %%Y operand"
 msgstr "无效的 %%Y 操作数"
 
-#: config/sparc/sparc.c:6686
+#: config/sparc/sparc.c:6702
 #, c-format
 msgid "invalid %%A operand"
 msgstr "无效的 %%A 操作数"
 
-#: config/sparc/sparc.c:6696
+#: config/sparc/sparc.c:6712
 #, c-format
 msgid "invalid %%B operand"
 msgstr "无效的 %%B 操作数"
 
-#: config/sparc/sparc.c:6735
+#: config/sparc/sparc.c:6751
 #, c-format
 msgid "invalid %%c operand"
 msgstr "无效的 %%c 操作数"
 
-#: config/sparc/sparc.c:6736
+#: config/sparc/sparc.c:6752
 #, c-format
 msgid "invalid %%C operand"
 msgstr "无效的 %%C 操作数"
 
-#: config/sparc/sparc.c:6757
+#: config/sparc/sparc.c:6773
 #, c-format
 msgid "invalid %%d operand"
 msgstr "无效的 %%d 操作数"
 
-#: config/sparc/sparc.c:6758
+#: config/sparc/sparc.c:6774
 #, c-format
 msgid "invalid %%D operand"
 msgstr "无效的 %%D 操作数"
 
-#: config/sparc/sparc.c:6774
+#: config/sparc/sparc.c:6790
 #, c-format
 msgid "invalid %%f operand"
 msgstr "无效的 %%f 操作数"
 
-#: config/sparc/sparc.c:6788
+#: config/sparc/sparc.c:6804
 #, c-format
 msgid "invalid %%s operand"
 msgstr "无效的 %%s 操作数"
 
-#: config/sparc/sparc.c:6842
+#: config/sparc/sparc.c:6858
 #, c-format
 msgid "long long constant not a valid immediate operand"
 msgstr "long long 常量不是一个有效的立即数操作数"
 
-#: config/sparc/sparc.c:6845
+#: config/sparc/sparc.c:6861
 #, c-format
 msgid "floating point constant not a valid immediate operand"
 msgstr "浮点常量不是一个有效的立即数操作数"
@@ -3503,15 +3453,15 @@ msgstr "地址中无寄存器"
 msgid "address offset not a constant"
 msgstr "地址偏移量不是一个常量"
 
-#: cp/call.c:2444
+#: cp/call.c:2441
 msgid "candidates are:"
 msgstr "备选为:"
 
-#: cp/call.c:6216
+#: cp/call.c:6213
 msgid "candidate 1:"
 msgstr "备选 1:"
 
-#: cp/call.c:6217
+#: cp/call.c:6214
 msgid "candidate 2:"
 msgstr "备选 2:"
 
@@ -3560,48 +3510,48 @@ msgstr "%L 处整数超出标准 Fortran 隐含的对称范围"
 msgid "Elemental binary operation"
 msgstr "基本的二元操作"
 
-#: fortran/arith.c:1914
+#: fortran/arith.c:1920
 #, no-c-format
 msgid "Arithmetic OK converting %s to %s at %L"
 msgstr "从 %s 转换到 %s,在 %L 处:算术正常"
 
-#: fortran/arith.c:1918
+#: fortran/arith.c:1924
 #, no-c-format
 msgid "Arithmetic overflow converting %s to %s at %L"
 msgstr "从 %s 转换到 %s,在 %L 处:算术上溢"
 
-#: fortran/arith.c:1922
+#: fortran/arith.c:1928
 #, no-c-format
 msgid "Arithmetic underflow converting %s to %s at %L"
 msgstr "从 %s 转换到 %s,在 %L 处:算术下溢"
 
-#: fortran/arith.c:1926
+#: fortran/arith.c:1932
 #, no-c-format
 msgid "Arithmetic NaN converting %s to %s at %L"
 msgstr "从 %s 转换到 %s,在 %L 处:算术 NaN"
 
-#: fortran/arith.c:1930
+#: fortran/arith.c:1936
 #, no-c-format
 msgid "Division by zero converting %s to %s at %L"
 msgstr "从 %s 转换到 %s 时被零除,于 %L 处"
 
-#: fortran/arith.c:1934
+#: fortran/arith.c:1940
 #, no-c-format
 msgid "Array operands are incommensurate converting %s to %s at %L"
 msgstr ""
 
-#: fortran/arith.c:1938
+#: fortran/arith.c:1944
 #, no-c-format
 msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
 msgstr ""
 
-#: fortran/arith.c:2271 fortran/arith.c:2306 fortran/arith.c:2343
-#: fortran/arith.c:2393
+#: fortran/arith.c:2277 fortran/arith.c:2312 fortran/arith.c:2349
+#: fortran/arith.c:2399
 #, no-c-format
 msgid "The Hollerith constant at %L is too long to convert to %s"
 msgstr "%L 的荷勒瑞斯常数太长,无法被转换为 %s"
 
-#: fortran/arith.c:2439
+#: fortran/arith.c:2445
 #, no-c-format
 msgid "Enumerator exceeds the C integer type at %C"
 msgstr "%C 处:枚举量超过 C 整数类型"
@@ -3711,7 +3661,7 @@ msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须是 %s"
 msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须具有数字类型"
 
-#: fortran/check.c:75 fortran/check.c:640 fortran/check.c:650
+#: fortran/check.c:75 fortran/check.c:661 fortran/check.c:671
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须为整数型或实数型"
@@ -3791,147 +3741,147 @@ msgstr "内建函数‘%s’在 %L 处缺少 DIM 参数"
 msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
 msgstr "‘%s’内建函数的‘dim’实参(于 %L 处)不是一个有效的维数索引"
 
-#: fortran/check.c:434
+#: fortran/check.c:433
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须为 ALLOCATABLE"
 
-#: fortran/check.c:473 fortran/check.c:1619
+#: fortran/check.c:454 fortran/check.c:3108
+#, no-c-format
+msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+msgstr "‘%s’和‘%s’实参(属于‘%s’内建函数)在 %L 处类型必须相同"
+
+#: fortran/check.c:463 fortran/check.c:941 fortran/check.c:1076
+#: fortran/check.c:1139 fortran/check.c:1364
+#, no-c-format
+msgid "Extension: Different type kinds at %L"
+msgstr "扩展:%L 处类型种别不同"
+
+#: fortran/check.c:488 fortran/check.c:1661
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须是一个 POINTER"
 
-#: fortran/check.c:485
+#: fortran/check.c:500
 #, 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:494
+#: fortran/check.c:515
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须是一个 POINTER 或 TARGET"
 
-#: fortran/check.c:510
+#: fortran/check.c:531
 #, no-c-format
 msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
 msgstr "%L 处由矢量下标选择的部分数组不应是指针的目标"
 
-#: fortran/check.c:620 fortran/check.c:722
+#: fortran/check.c:641 fortran/check.c:743
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
 msgstr "当‘x’是 COMPLEX 时‘%s’实参(属于‘%s’内建函数,在 %L 处)不能存在"
 
-#: fortran/check.c:771 fortran/check.c:1423 fortran/check.c:1431
+#: fortran/check.c:792 fortran/check.c:1444 fortran/check.c:1452
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须为数字或 LOGICAL 型"
 
-#: fortran/check.c:920 fortran/check.c:1055 fortran/check.c:1118
-#: fortran/check.c:1343
-#, no-c-format
-msgid "Extension: Different type kinds at %L"
-msgstr "扩展:%L 处类型种别不同"
-
-#: fortran/check.c:1025
+#: fortran/check.c:1046
 #, no-c-format
 msgid "Argument of %s at %L must be of length one"
 msgstr "%s 的参数(位于 %L)长度必须为 1"
 
-#: fortran/check.c:1077
+#: fortran/check.c:1098
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须具有与‘%s’一样的种别"
 
-#: fortran/check.c:1192
+#: fortran/check.c:1213
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)不能是派生类型"
 
-#: fortran/check.c:1315
+#: fortran/check.c:1336
 #, no-c-format
 msgid "Intrinsic '%s' at %L must have at least two arguments"
 msgstr "内建函数‘%s’ 于 %L 处必须有至少两个实参"
 
-#: fortran/check.c:1349
+#: fortran/check.c:1370
 #, no-c-format
 msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须是 %s(%d)"
 
-#: fortran/check.c:1374
+#: fortran/check.c:1395
 #, no-c-format
 msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER or REAL"
 msgstr "‘%s’内建函数的‘a1’实参在 %L 处必须是 INTEGER 或 REAL"
 
-#: fortran/check.c:1452
+#: fortran/check.c:1473
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)的秩必须为 1 或 2"
 
-#: fortran/check.c:1640
+#: fortran/check.c:1682
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be conformable with '%s' argument"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须与‘%s’实参相容"
 
-#: fortran/check.c:1667
+#: fortran/check.c:1709
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
 msgstr "‘%s’实参(属于内建函数‘%s’,于 %L 处)的类型必须为 REAL 或 COMPLEX"
 
-#: fortran/check.c:1688
+#: fortran/check.c:1730
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须是一个哑元变量"
 
-#: fortran/check.c:1696
+#: fortran/check.c:1738
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
 msgstr "‘%s’实参(属于‘%s’内建函数,位于 %L)必须是一个 OPTIONAL 哑变量"
 
-#: fortran/check.c:1812
+#: fortran/check.c:1854
 #, 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:1822
+#: fortran/check.c:1864
 #, no-c-format
 msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
 msgstr "‘reshape’内建函数的‘shape’实参在 %L 处有多于 %d 个的元素"
 
-#: fortran/check.c:1910
+#: fortran/check.c:1952
 #, no-c-format
 msgid "Missing arguments to %s intrinsic at %L"
 msgstr "%s 内建函数缺少实参,于 %L 处"
 
-#: fortran/check.c:1951
+#: fortran/check.c:1993
 #, 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:2013
+#: fortran/check.c:2055
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)秩必须小于 %d"
 
-#: fortran/check.c:2470 fortran/check.c:2490
+#: fortran/check.c:2512 fortran/check.c:2532
 #, no-c-format
 msgid "Too many arguments to %s at %L"
 msgstr "给予函数 %s 的参数太多,于 %L"
 
-#: fortran/check.c:2618 fortran/check.c:2980 fortran/check.c:3004
+#: fortran/check.c:2660 fortran/check.c:3022 fortran/check.c:3046
 #, 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:3051 fortran/check.c:3059
+#: fortran/check.c:3093 fortran/check.c:3101
 #, no-c-format
 msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
 msgstr "实参‘%s’(属于内建函数‘%s’,位于 %L)必须为 INTEGER 或 LOGICAL"
 
-#: fortran/check.c:3066
-#, no-c-format
-msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
-msgstr "‘%s’和‘%s’实参(属于‘%s’内建函数)在 %L 处类型必须相同"
-
 #: fortran/data.c:63
 #, no-c-format
 msgid "non-constant array in DATA statement %L."
@@ -3972,500 +3922,520 @@ msgstr "DATA 语句不允许出现在 %C 处的 PURE 过程中"
 msgid "Bad INTENT specification at %C"
 msgstr "%C 处错误地指定 INTENT"
 
-#: fortran/decl.c:547
+#: fortran/decl.c:548
 #, no-c-format
 msgid "Syntax error in character length specification at %C"
 msgstr "%C 处指定字符长度时语法错误"
 
-#: fortran/decl.c:779
+#: fortran/decl.c:623
+#, fuzzy, no-c-format
+msgid "Procedure '%s' at %C is already defined at %L"
+msgstr "组件‘%s’在 %C 处已经于 %L 处被声明"
+
+#: fortran/decl.c:633
+#, fuzzy, no-c-format
+msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+msgstr "调用过程‘%s’带隐式接口,位于 %L"
+
+#: fortran/decl.c:805
 #, no-c-format
 msgid "Initializer not allowed for PARAMETER '%s' at %C"
 msgstr "PARAMETER‘%s’在 %C 处不允许有初始值设定"
 
-#: fortran/decl.c:788
+#: fortran/decl.c:814
 #, no-c-format
 msgid "Initializer not allowed for COMMON variable '%s' at %C"
 msgstr "COMMON 变量‘%s’在 %C 处不允许有初始值设定"
 
-#: fortran/decl.c:798
+#: fortran/decl.c:824
 #, no-c-format
 msgid "PARAMETER at %L is missing an initializer"
 msgstr "%L 处 PARAMETER 缺少初始值设定"
 
-#: fortran/decl.c:809
+#: fortran/decl.c:835
 #, no-c-format
 msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
 msgstr ""
 
-#: fortran/decl.c:887
+#: fortran/decl.c:913
 #, no-c-format
 msgid "Component at %C must have the POINTER attribute"
 msgstr "%C 处的组件必须有 POINTER 属性"
 
-#: fortran/decl.c:896
+#: fortran/decl.c:922
 #, no-c-format
 msgid "Array component of structure at %C must have explicit or deferred shape"
 msgstr ""
 
-#: fortran/decl.c:925
+#: fortran/decl.c:951
 #, no-c-format
 msgid "Pointer array component of structure at %C must have a deferred shape"
 msgstr ""
 
-#: fortran/decl.c:935
+#: fortran/decl.c:961
 #, no-c-format
 msgid "Array component of structure at %C must have an explicit shape"
 msgstr ""
 
-#: fortran/decl.c:961
+#: fortran/decl.c:987
 #, no-c-format
 msgid "NULL() initialization at %C is ambiguous"
 msgstr "%C 处的 NULL() 初始化有歧义"
 
-#: fortran/decl.c:1028
+#: fortran/decl.c:1054
 #, no-c-format
 msgid "Enumerator cannot be array at %C"
 msgstr "%C 处枚举量不能是数组"
 
-#: fortran/decl.c:1089 fortran/decl.c:3297
+#: fortran/decl.c:1115 fortran/decl.c:3374
 #, no-c-format
 msgid "Duplicate array spec for Cray pointee at %C."
 msgstr ""
 
-#: fortran/decl.c:1141
+#: fortran/decl.c:1167
 #, no-c-format
 msgid "Function name '%s' not allowed at %C"
 msgstr "函数名‘%s’不允许出现在 %C 处"
 
-#: fortran/decl.c:1157
+#: fortran/decl.c:1183
 #, no-c-format
 msgid "Extension: Old-style initialization at %C"
 msgstr "扩展:%C 处旧式的初始化"
 
-#: fortran/decl.c:1173
+#: fortran/decl.c:1199
 #, no-c-format
 msgid "Initialization at %C isn't for a pointer variable"
 msgstr "%C 的初始化不是为指针变量准备的"
 
-#: fortran/decl.c:1181
-#, no-c-format
-msgid "Pointer initialization requires a NULL at %C"
+#: fortran/decl.c:1207
+#, fuzzy, no-c-format
+msgid "Pointer initialization requires a NULL() at %C"
 msgstr "%C 处的指针初始化需要 NULL"
 
-#: fortran/decl.c:1188
+#: fortran/decl.c:1214
 #, no-c-format
 msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
 msgstr "%C 处对指针的初始化不允许出现在 PURE 过程中"
 
-#: fortran/decl.c:1204
+#: fortran/decl.c:1228
 #, no-c-format
 msgid "Pointer initialization at %C requires '=>', not '='"
 msgstr "在 %C 处的指针初始化需要‘=>’,而不是‘=’"
 
-#: fortran/decl.c:1212
+#: fortran/decl.c:1236
 #, no-c-format
 msgid "Expected an initialization expression at %C"
 msgstr "%C 处需要一个初始化表达式"
 
-#: fortran/decl.c:1219
+#: fortran/decl.c:1243
 #, no-c-format
 msgid "Initialization of variable at %C is not allowed in a PURE procedure"
 msgstr "%C 处对变量的初始化不允许出现在 PURE 过程中"
 
-#: fortran/decl.c:1241
+#: fortran/decl.c:1265
 #, no-c-format
 msgid "ENUMERATOR %L not initialized with integer expression"
 msgstr ""
 
-#: fortran/decl.c:1298
-#, no-c-format
-msgid "Old-style kind %d not supported for type %s at %C"
+#: fortran/decl.c:1324 fortran/decl.c:1333
+#, fuzzy, no-c-format
+msgid "Old-style type declaration %s*%d not supported at %C"
 msgstr "旧式的种别 %d 在 %C 处不为类型 %s 所支持"
 
-#: fortran/decl.c:1334
+#: fortran/decl.c:1338
+#, fuzzy, no-c-format
+msgid "Nonstandard type declaration %s*%d at %C"
+msgstr "%C 处数据声明语法错误"
+
+#: fortran/decl.c:1372
 #, no-c-format
 msgid "Expected initialization expression at %C"
 msgstr "%C 处需要初始化表达式"
 
-#: fortran/decl.c:1340
+#: fortran/decl.c:1378
 #, no-c-format
 msgid "Expected scalar initialization expression at %C"
 msgstr "%C 处需要标量初始化表达式"
 
-#: fortran/decl.c:1358
+#: fortran/decl.c:1396
 #, no-c-format
 msgid "Kind %d not supported for type %s at %C"
 msgstr "种别 %d 在 %C 处 不为类型 %s 所支持"
 
-#: fortran/decl.c:1367
+#: fortran/decl.c:1405
 #, no-c-format
 msgid "Missing right paren at %C"
 msgstr "%C 处缺少右括号"
 
-#: fortran/decl.c:1456 fortran/decl.c:1499
+#: fortran/decl.c:1494 fortran/decl.c:1537
 #, no-c-format
 msgid "Kind %d is not a CHARACTER kind at %C"
 msgstr "种别 %d 在 %C 处不是 CHARACTER 种别"
 
-#: fortran/decl.c:1493
+#: fortran/decl.c:1531
 #, no-c-format
 msgid "Syntax error in CHARACTER declaration at %C"
 msgstr "%C 的 CHARACTER 声明语法错误"
 
-#: fortran/decl.c:1554
+#: fortran/decl.c:1592
 #, no-c-format
 msgid "Extension: BYTE type at %C"
 msgstr "扩展:%C 处的 BYTE 类型"
 
-#: fortran/decl.c:1560
+#: fortran/decl.c:1598
 #, no-c-format
 msgid "BYTE type used at %C is not available on the target machine"
 msgstr "%C 使用到的 BYTE 类型在目标机上不可"
 
-#: fortran/decl.c:1628
+#: fortran/decl.c:1647
+#, fuzzy, no-c-format
+msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+msgstr "遵循 ISO Fortran 95 标准"
+
+#: fortran/decl.c:1670
 #, no-c-format
 msgid "Type name '%s' at %C is ambiguous"
 msgstr "类型名‘%s’(于 %C 处)有歧义"
 
-#: fortran/decl.c:1694
+#: fortran/decl.c:1736
 #, no-c-format
 msgid "Missing character range in IMPLICIT at %C"
 msgstr ""
 
-#: fortran/decl.c:1740
+#: fortran/decl.c:1782
 #, no-c-format
 msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
 msgstr "%C 处 IMPLICIT 语句中的字母必须按序排列"
 
-#: fortran/decl.c:1794
+#: fortran/decl.c:1836
 #, no-c-format
 msgid "Empty IMPLICIT statement at %C"
 msgstr "%C IMPLICIT 语句为空"
 
-#: fortran/decl.c:1958
+#: fortran/decl.c:2000
 #, no-c-format
 msgid "Enumerator cannot have attributes %C"
 msgstr "枚举量不能有属性 %C"
 
-#: fortran/decl.c:1971
+#: fortran/decl.c:2013
 #, no-c-format
 msgid "Missing dimension specification at %C"
 msgstr "%C 处没有指定维数"
 
-#: fortran/decl.c:2053
+#: fortran/decl.c:2095
 #, no-c-format
 msgid "Duplicate %s attribute at %L"
 msgstr "重复的 %s 属性,位于 %L"
 
-#: fortran/decl.c:2070
+#: fortran/decl.c:2112
 #, no-c-format
 msgid "Attribute at %L is not allowed in a TYPE definition"
 msgstr ""
 
-#: fortran/decl.c:2084
+#: fortran/decl.c:2126
 #, no-c-format
 msgid "%s attribute at %L is not allowed outside of a MODULE"
 msgstr "%s 属性(位于 %L)不允许出现在 MODULE 以外"
 
 #. Now we have an error, which we signal, and then fix up
 #. because the knock-on is plain and simple confusing.
-#: fortran/decl.c:2222
+#: fortran/decl.c:2264
 #, no-c-format
 msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition."
 msgstr "%C 处的派生类型尚未被定义,因此不能出现在派生类型定义中"
 
-#: fortran/decl.c:2252
+#: fortran/decl.c:2294
 #, no-c-format
 msgid "Syntax error in data declaration at %C"
 msgstr "%C 处数据声明语法错误"
 
-#: fortran/decl.c:2398
+#: fortran/decl.c:2440
 #, no-c-format
 msgid "Name '%s' at %C is the name of the procedure"
 msgstr "名字‘%s’(位于 %C)是一个过程的名字"
 
-#: fortran/decl.c:2410
+#: fortran/decl.c:2452
 #, no-c-format
 msgid "Unexpected junk in formal argument list at %C"
 msgstr "%C 处形参列表中有非预期的垃圾字符"
 
-#: fortran/decl.c:2428
+#: fortran/decl.c:2470
 #, no-c-format
 msgid "Duplicate symbol '%s' in formal argument list at %C"
 msgstr "符号‘%s’在 %C 处的形参列表中重复出现"
 
-#: fortran/decl.c:2471
+#: fortran/decl.c:2513
 #, no-c-format
 msgid "Unexpected junk following RESULT variable at %C"
 msgstr "%C 处的 RESULT 变量后有非预期的垃圾字符"
 
-#: fortran/decl.c:2478
+#: fortran/decl.c:2520
 #, no-c-format
 msgid "RESULT variable at %C must be different than function name"
 msgstr "%C 处 RESULT 变量不能与函数重名"
 
-#: fortran/decl.c:2533
+#: fortran/decl.c:2575
 #, no-c-format
 msgid "Expected formal argument list in function definition at %C"
 msgstr ""
 
-#: fortran/decl.c:2544
+#: fortran/decl.c:2586
 #, no-c-format
 msgid "Unexpected junk after function declaration at %C"
 msgstr "%C 处的函数声明后有非预期的垃圾字符"
 
-#: fortran/decl.c:2565
+#: fortran/decl.c:2607
 #, no-c-format
 msgid "Function '%s' at %C already has a type of %s"
 msgstr "函数‘%s’(位于 %C)已经具有类型 %s"
 
-#: fortran/decl.c:2613
+#: fortran/decl.c:2678
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a PROGRAM"
 msgstr "%C 处的 ENTRY 语句不能出现在 PROGRAM 中"
 
-#: fortran/decl.c:2616
+#: fortran/decl.c:2681
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a MODULE"
 msgstr "%C 处的 ENTRY 语句不能出现在 MODULE 中"
 
-#: fortran/decl.c:2620
+#: fortran/decl.c:2685
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
 msgstr "%C 处的 ENTRY 语句不能出现在 BLOCK DATA 中"
 
-#: fortran/decl.c:2624
+#: fortran/decl.c:2689
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within an INTERFACE"
 msgstr "%C 处的 ENTRY 语句不能出现在 INTERFACE 中"
 
-#: fortran/decl.c:2628
+#: fortran/decl.c:2693
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
 msgstr "%C 处的 ENTRY 语句不能出现在 DERIVED TYPE 块中"
 
-#: fortran/decl.c:2633
+#: fortran/decl.c:2698
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
 msgstr "%C 处的 ENTRY 语句不能出现在 IF-THEN 块中"
 
-#: fortran/decl.c:2637
+#: fortran/decl.c:2702
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a DO block"
 msgstr "%C 处的 ENTRY 语句不能出现在 DO 中"
 
-#: fortran/decl.c:2641
+#: fortran/decl.c:2706
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a SELECT block"
 msgstr "%C 处的 ENTRY 语句不能出现在 SELECT 块中"
 
-#: fortran/decl.c:2645
+#: fortran/decl.c:2710
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a FORALL block"
 msgstr "%C 处的 ENTRY 语句不能出现在 FORALL 块中"
 
-#: fortran/decl.c:2649
+#: fortran/decl.c:2714
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a WHERE block"
 msgstr "%C 处的 ENTRY 语句不能出现在 WHERE 块中"
 
-#: fortran/decl.c:2653
+#: fortran/decl.c:2718
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear within a contained subprogram"
 msgstr "%C 处的 ENTRY 语句不能出现在嵌套的子程序中"
 
-#: fortran/decl.c:2666
+#: fortran/decl.c:2731
 #, no-c-format
 msgid "ENTRY statement at %C cannot appear in a contained procedure"
 msgstr "%C 处 ENTRY 语句不能出现在被包含的过程中"
 
-#: fortran/decl.c:2741
+#: fortran/decl.c:2812
 #, no-c-format
 msgid "RESULT attribute required in ENTRY statement at %C"
 msgstr "%C 处的 ENTRY 语句需要 RESULT 属性"
 
-#: fortran/decl.c:2982
+#: fortran/decl.c:3053
 #, no-c-format
 msgid "Unexpected END statement at %C"
 msgstr "%C 处非预期的 END 语句"
 
 #. We would have required END [something]
-#: fortran/decl.c:2991
+#: fortran/decl.c:3062
 #, no-c-format
 msgid "%s statement expected at %L"
 msgstr "需要 %s 语句在 %L 处"
 
-#: fortran/decl.c:3002
+#: fortran/decl.c:3073
 #, no-c-format
 msgid "Expecting %s statement at %C"
 msgstr "需要 %s 语句,于 %C"
 
-#: fortran/decl.c:3016
+#: fortran/decl.c:3087
 #, no-c-format
 msgid "Expected block name of '%s' in %s statement at %C"
 msgstr "需要块名‘%s’在‘%s’表达式中,于 %C"
 
-#: fortran/decl.c:3032
+#: fortran/decl.c:3103
 #, no-c-format
 msgid "Expected terminating name at %C"
 msgstr "%C 处需要结束名"
 
-#: fortran/decl.c:3041
+#: fortran/decl.c:3112
 #, no-c-format
 msgid "Expected label '%s' for %s statement at %C"
 msgstr "需要标号‘%s’,为 %s 语句,于 %C"
 
-#: fortran/decl.c:3096
+#: fortran/decl.c:3167
 #, no-c-format
 msgid "Missing array specification at %L in DIMENSION statement"
 msgstr ""
 
-#: fortran/decl.c:3105
+#: fortran/decl.c:3176
 #, no-c-format
 msgid "Array specification must be deferred at %L"
 msgstr "%L 处数组指定必须延迟"
 
-#: fortran/decl.c:3176
-#, fuzzy, no-c-format
+#: fortran/decl.c:3253
+#, no-c-format
 msgid "Unexpected character in variable list at %C"
-msgstr "%C å¤\84å½¢å\8f\82列表中有非预期的垃圾字符"
+msgstr "%C å¤\84å\8f\98é\87\8f列表中有非预期的垃圾字符"
 
-#: fortran/decl.c:3213
+#: fortran/decl.c:3290
 #, no-c-format
 msgid "Expected '(' at %C"
 msgstr "在 %C 处需要‘(’"
 
-#: fortran/decl.c:3227 fortran/decl.c:3268
+#: fortran/decl.c:3304 fortran/decl.c:3345
 #, no-c-format
 msgid "Expected variable name at %C"
 msgstr "在 %C 处需要变量名"
 
-#: fortran/decl.c:3243
+#: fortran/decl.c:3320
 #, no-c-format
 msgid "Cray pointer at %C must be an integer."
 msgstr "%C 处 Cray 指针必须是一个整数。"
 
-#: fortran/decl.c:3247
+#: fortran/decl.c:3324
 #, 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:3254
+#: fortran/decl.c:3331
 #, no-c-format
 msgid "Expected \",\" at %C"
 msgstr "在 %C 处需要“,”"
 
-#: fortran/decl.c:3317
+#: fortran/decl.c:3394
 #, no-c-format
 msgid "Expected \")\" at %C"
 msgstr "在 %C 处需要“)”"
 
-#: fortran/decl.c:3329
+#: fortran/decl.c:3406
 #, no-c-format
 msgid "Expected \",\" or end of statement at %C"
 msgstr "在 %C 处需要“,”或语句尾"
 
-#: fortran/decl.c:3394
+#: fortran/decl.c:3471
 #, no-c-format
 msgid "Cray pointer declaration at %C requires -fcray-pointer flag."
 msgstr "%C 处的 Cray 指针声明需要 -fcray-pointer 标记。"
 
-#: fortran/decl.c:3492
+#: fortran/decl.c:3569
 #, no-c-format
 msgid "Access specification of the %s operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:3510
+#: fortran/decl.c:3587
 #, no-c-format
 msgid "Access specification of the .%s. operator at %C has already been specified"
 msgstr ""
 
-#: fortran/decl.c:3597
+#: fortran/decl.c:3674
 #, no-c-format
 msgid "Expected variable name at %C in PARAMETER statement"
 msgstr ""
 
-#: fortran/decl.c:3604
+#: fortran/decl.c:3681
 #, no-c-format
 msgid "Expected = sign in PARAMETER statement at %C"
 msgstr "%C 在 PARAMETER 语句中需要 = 符号"
 
-#: fortran/decl.c:3610
+#: fortran/decl.c:3687
 #, no-c-format
 msgid "Expected expression at %C in PARAMETER statement"
 msgstr "%C 在 PARAMETER 语句中需要表达式"
 
-#: fortran/decl.c:3668
+#: fortran/decl.c:3745
 #, no-c-format
 msgid "Unexpected characters in PARAMETER statement at %C"
 msgstr "%C 处 PARAMETER 语句中有非预期的字符"
 
-#: fortran/decl.c:3693
+#: fortran/decl.c:3770
 #, no-c-format
 msgid "Blanket SAVE statement at %C follows previous SAVE statement"
 msgstr ""
 
-#: fortran/decl.c:3706
+#: fortran/decl.c:3783
 #, no-c-format
 msgid "SAVE statement at %C follows blanket SAVE statement"
 msgstr "%C 处 SAVE 语句跟随空白 SAVE 语句"
 
-#: fortran/decl.c:3752
+#: fortran/decl.c:3829
 #, no-c-format
 msgid "Syntax error in SAVE statement at %C"
 msgstr "%C SAVE 语句语法错误"
 
-#: fortran/decl.c:3773
+#: fortran/decl.c:3850
 #, no-c-format
 msgid "MODULE PROCEDURE at %C must be in a generic module interface"
 msgstr ""
 
-#: fortran/decl.c:3833
+#: fortran/decl.c:3910
 #, no-c-format
 msgid "Derived type at %C can only be PRIVATE within a MODULE"
 msgstr ""
 
-#: fortran/decl.c:3846
+#: fortran/decl.c:3923
 #, no-c-format
 msgid "Derived type at %C can only be PUBLIC within a MODULE"
 msgstr ""
 
-#: fortran/decl.c:3857
+#: fortran/decl.c:3934
 #, no-c-format
 msgid "Expected :: in TYPE definition at %C"
 msgstr "%C 在 TYPE 定义中需要 ::"
 
-#: fortran/decl.c:3874
+#: fortran/decl.c:3951
 #, no-c-format
 msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
 msgstr "类型‘%s’(位于 %C)不能与内建类型重名"
 
-#: fortran/decl.c:3884
+#: fortran/decl.c:3961
 #, no-c-format
 msgid "Derived type name '%s' at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/decl.c:3901
+#: fortran/decl.c:3978
 #, no-c-format
 msgid "Derived type definition of '%s' at %C has already been defined"
 msgstr ""
 
-#: fortran/decl.c:3935
+#: fortran/decl.c:4012
 #, no-c-format
 msgid "Cray Pointee at %C cannot be assumed shape array"
 msgstr ""
 
-#: fortran/decl.c:3956
+#: fortran/decl.c:4033
 #, no-c-format
 msgid "New in Fortran 2003: ENUM AND ENUMERATOR at %C"
 msgstr "Fortran 2003 新特性:%C 处的 ENUM AND ENUMERATOR"
 
-#: fortran/decl.c:3980
+#: fortran/decl.c:4057
 #, no-c-format
 msgid "ENUM definition statement expected before %C"
 msgstr ""
 
-#: fortran/decl.c:4013
+#: fortran/decl.c:4090
 #, no-c-format
 msgid "Syntax error in ENUMERATOR definition at %C"
 msgstr "%C 处 ENUMERATOR 定义中语法错误"
@@ -4480,21 +4450,21 @@ msgstr "%-5d "
 msgid "      "
 msgstr "      "
 
-#: fortran/dump-parse-tree.c:79 fortran/dump-parse-tree.c:594
+#: fortran/dump-parse-tree.c:79 fortran/dump-parse-tree.c:597
 #, c-format
 msgid "(%s "
 msgstr "(%s"
 
-#: fortran/dump-parse-tree.c:92 fortran/dump-parse-tree.c:841
-#: fortran/dump-parse-tree.c:878 fortran/dump-parse-tree.c:888
+#: fortran/dump-parse-tree.c:92 fortran/dump-parse-tree.c:844
+#: fortran/dump-parse-tree.c:881 fortran/dump-parse-tree.c:891
 #, c-format
 msgid "%d"
 msgstr "%d"
 
 #: fortran/dump-parse-tree.c:96 fortran/dump-parse-tree.c:123
 #: fortran/dump-parse-tree.c:166 fortran/dump-parse-tree.c:403
-#: fortran/dump-parse-tree.c:495 fortran/dump-parse-tree.c:581
-#: fortran/dump-parse-tree.c:602
+#: fortran/dump-parse-tree.c:498 fortran/dump-parse-tree.c:584
+#: fortran/dump-parse-tree.c:605
 #, c-format
 msgid ")"
 msgstr ")"
@@ -4515,7 +4485,7 @@ msgid "(arg not-present)"
 msgstr "(没有实参)"
 
 #: fortran/dump-parse-tree.c:120 fortran/dump-parse-tree.c:397
-#: fortran/dump-parse-tree.c:491
+#: fortran/dump-parse-tree.c:494
 #, c-format
 msgid " "
 msgstr " "
@@ -4612,7 +4582,7 @@ msgstr "复数"
 msgid "???"
 msgstr "???"
 
-#: fortran/dump-parse-tree.c:415 fortran/dump-parse-tree.c:698
+#: fortran/dump-parse-tree.c:415 fortran/dump-parse-tree.c:701
 #, c-format
 msgid "%s:"
 msgstr "%s:"
@@ -4712,652 +4682,662 @@ msgstr "<= "
 msgid "NOT "
 msgstr "NOT "
 
-#: fortran/dump-parse-tree.c:501
+#: fortran/dump-parse-tree.c:482
+#, c-format
+msgid "parens"
+msgstr ""
+
+#: fortran/dump-parse-tree.c:504
 #, c-format
 msgid "%s["
 msgstr "%s["
 
-#: fortran/dump-parse-tree.c:507
+#: fortran/dump-parse-tree.c:510
 #, c-format
 msgid "%s[["
 msgstr "%s[["
 
-#: fortran/dump-parse-tree.c:528
+#: fortran/dump-parse-tree.c:531
 #, c-format
 msgid "(%s %s %s %s"
 msgstr "(%s %s %s %s"
 
-#: fortran/dump-parse-tree.c:534
+#: fortran/dump-parse-tree.c:537
 #, c-format
 msgid " ALLOCATABLE"
 msgstr " ALLOCATABLE"
 
-#: fortran/dump-parse-tree.c:536 fortran/dump-parse-tree.c:599
+#: fortran/dump-parse-tree.c:539 fortran/dump-parse-tree.c:602
 #, c-format
 msgid " DIMENSION"
 msgstr " DIMENSION"
 
-#: fortran/dump-parse-tree.c:538
+#: fortran/dump-parse-tree.c:541
 #, c-format
 msgid " EXTERNAL"
 msgstr " EXTERNAL"
 
-#: fortran/dump-parse-tree.c:540
+#: fortran/dump-parse-tree.c:543
 #, c-format
 msgid " INTRINSIC"
 msgstr " INTRINSIC"
 
-#: fortran/dump-parse-tree.c:542
+#: fortran/dump-parse-tree.c:545
 #, c-format
 msgid " OPTIONAL"
 msgstr " OPTIONAL"
 
-#: fortran/dump-parse-tree.c:544 fortran/dump-parse-tree.c:597
+#: fortran/dump-parse-tree.c:547 fortran/dump-parse-tree.c:600
 #, c-format
 msgid " POINTER"
 msgstr " POINTER"
 
-#: fortran/dump-parse-tree.c:546
+#: fortran/dump-parse-tree.c:549
 #, c-format
 msgid " SAVE"
 msgstr " SAVE"
 
-#: fortran/dump-parse-tree.c:548
+#: fortran/dump-parse-tree.c:551
 #, c-format
 msgid " TARGET"
 msgstr " TARGET"
 
-#: fortran/dump-parse-tree.c:550
+#: fortran/dump-parse-tree.c:553
 #, c-format
 msgid " DUMMY"
 msgstr " DUMMY"
 
-#: fortran/dump-parse-tree.c:552
+#: fortran/dump-parse-tree.c:555
 #, c-format
 msgid " RESULT"
 msgstr " RESULT"
 
-#: fortran/dump-parse-tree.c:554
+#: fortran/dump-parse-tree.c:557
 #, c-format
 msgid " ENTRY"
 msgstr " ENTRY"
 
-#: fortran/dump-parse-tree.c:557
+#: fortran/dump-parse-tree.c:560
 #, c-format
 msgid " DATA"
 msgstr " DATA"
 
-#: fortran/dump-parse-tree.c:559
+#: fortran/dump-parse-tree.c:562
 #, c-format
 msgid " USE-ASSOC"
 msgstr " USE-ASSOC"
 
-#: fortran/dump-parse-tree.c:561
+#: fortran/dump-parse-tree.c:564
 #, c-format
 msgid " IN-NAMELIST"
 msgstr " IN-NAMELIST"
 
-#: fortran/dump-parse-tree.c:563
+#: fortran/dump-parse-tree.c:566
 #, c-format
 msgid " IN-COMMON"
 msgstr " IN-COMMON"
 
-#: fortran/dump-parse-tree.c:566
+#: fortran/dump-parse-tree.c:569
 #, c-format
 msgid " FUNCTION"
 msgstr " FUNCTION"
 
-#: fortran/dump-parse-tree.c:568
+#: fortran/dump-parse-tree.c:571
 #, c-format
 msgid " SUBROUTINE"
 msgstr " SUBROUTINE"
 
-#: fortran/dump-parse-tree.c:570
+#: fortran/dump-parse-tree.c:573
 #, c-format
 msgid " IMPLICIT-TYPE"
 msgstr " IMPLICIT-TYPE"
 
-#: fortran/dump-parse-tree.c:573
+#: fortran/dump-parse-tree.c:576
 #, c-format
 msgid " SEQUENCE"
 msgstr " SEQUENCE"
 
-#: fortran/dump-parse-tree.c:575
+#: fortran/dump-parse-tree.c:578
 #, c-format
 msgid " ELEMENTAL"
 msgstr " ELEMENTAL"
 
-#: fortran/dump-parse-tree.c:577
+#: fortran/dump-parse-tree.c:580
 #, c-format
 msgid " PURE"
 msgstr " PURE"
 
-#: fortran/dump-parse-tree.c:579
+#: fortran/dump-parse-tree.c:582
 #, c-format
 msgid " RECURSIVE"
 msgstr " RECURSIVE"
 
-#: fortran/dump-parse-tree.c:625
+#: fortran/dump-parse-tree.c:628
 #, c-format
 msgid "symbol %s "
 msgstr "符号 %s"
 
-#: fortran/dump-parse-tree.c:632
+#: fortran/dump-parse-tree.c:635
 #, c-format
 msgid "value: "
 msgstr "值:"
 
-#: fortran/dump-parse-tree.c:639
+#: fortran/dump-parse-tree.c:642
 #, c-format
 msgid "Array spec:"
 msgstr "数组指定:"
 
-#: fortran/dump-parse-tree.c:646
+#: fortran/dump-parse-tree.c:649
 #, c-format
 msgid "Generic interfaces:"
 msgstr "通用接口:"
 
-#: fortran/dump-parse-tree.c:648 fortran/dump-parse-tree.c:672
-#: fortran/dump-parse-tree.c:701 fortran/dump-parse-tree.c:1041
-#: fortran/dump-parse-tree.c:1047 fortran/dump-parse-tree.c:1517
+#: fortran/dump-parse-tree.c:651 fortran/dump-parse-tree.c:675
+#: fortran/dump-parse-tree.c:704 fortran/dump-parse-tree.c:1044
+#: fortran/dump-parse-tree.c:1050 fortran/dump-parse-tree.c:1535
 #, c-format
 msgid " %s"
 msgstr " %s"
 
-#: fortran/dump-parse-tree.c:654
+#: fortran/dump-parse-tree.c:657
 #, c-format
 msgid "result: %s"
 msgstr "结果:%s"
 
-#: fortran/dump-parse-tree.c:660
+#: fortran/dump-parse-tree.c:663
 #, c-format
 msgid "components: "
 msgstr "组件:"
 
-#: fortran/dump-parse-tree.c:667
+#: fortran/dump-parse-tree.c:670
 #, c-format
 msgid "Formal arglist:"
 msgstr "形参列表:"
 
-#: fortran/dump-parse-tree.c:674
+#: fortran/dump-parse-tree.c:677
 #, c-format
 msgid " [Alt Return]"
 msgstr " [替代返回]"
 
-#: fortran/dump-parse-tree.c:681
+#: fortran/dump-parse-tree.c:684
 #, c-format
 msgid "Formal namespace"
 msgstr "形式命名空间"
 
-#: fortran/dump-parse-tree.c:739
+#: fortran/dump-parse-tree.c:742
 #, c-format
 msgid "common: /%s/ "
 msgstr "common: /%s/ "
 
-#: fortran/dump-parse-tree.c:747 fortran/dump-parse-tree.c:1453
+#: fortran/dump-parse-tree.c:750 fortran/dump-parse-tree.c:1471
 #, c-format
 msgid ", "
 msgstr ", "
 
-#: fortran/dump-parse-tree.c:760
+#: fortran/dump-parse-tree.c:763
 #, c-format
 msgid "symtree: %s  Ambig %d"
 msgstr ""
 
-#: fortran/dump-parse-tree.c:763
+#: fortran/dump-parse-tree.c:766
 #, c-format
 msgid " from namespace %s"
 msgstr " 从命名空间 %s"
 
-#: fortran/dump-parse-tree.c:807
+#: fortran/dump-parse-tree.c:810
 #, c-format
 msgid "NOP"
 msgstr "NOP"
 
-#: fortran/dump-parse-tree.c:811
+#: fortran/dump-parse-tree.c:814
 #, c-format
 msgid "CONTINUE"
 msgstr "CONTINUE"
 
-#: fortran/dump-parse-tree.c:815
+#: fortran/dump-parse-tree.c:818
 #, c-format
 msgid "ENTRY %s"
 msgstr "ENTRY %s"
 
-#: fortran/dump-parse-tree.c:819
+#: fortran/dump-parse-tree.c:822
 #, c-format
 msgid "ASSIGN "
 msgstr "ASSIGN "
 
-#: fortran/dump-parse-tree.c:826
+#: fortran/dump-parse-tree.c:829
 #, c-format
 msgid "LABEL ASSIGN "
 msgstr "LABEL ASSIGN "
 
-#: fortran/dump-parse-tree.c:828
+#: fortran/dump-parse-tree.c:831
 #, c-format
 msgid " %d"
 msgstr " %d"
 
-#: fortran/dump-parse-tree.c:832
+#: fortran/dump-parse-tree.c:835
 #, c-format
 msgid "POINTER ASSIGN "
 msgstr "POINTER ASSIGN "
 
-#: fortran/dump-parse-tree.c:839
+#: fortran/dump-parse-tree.c:842
 #, c-format
 msgid "GOTO "
 msgstr "GOTO "
 
-#: fortran/dump-parse-tree.c:848
+#: fortran/dump-parse-tree.c:851
 #, c-format
 msgid ", ("
 msgstr ", ("
 
-#: fortran/dump-parse-tree.c:862
+#: fortran/dump-parse-tree.c:865
 #, c-format
 msgid "CALL %s "
 msgstr "CALL %s "
 
-#: fortran/dump-parse-tree.c:867
+#: fortran/dump-parse-tree.c:870
 #, c-format
 msgid "RETURN "
 msgstr "RETURN "
 
-#: fortran/dump-parse-tree.c:873
+#: fortran/dump-parse-tree.c:876
 #, c-format
 msgid "PAUSE "
 msgstr "PAUSE "
 
-#: fortran/dump-parse-tree.c:883
+#: fortran/dump-parse-tree.c:886
 #, c-format
 msgid "STOP "
 msgstr "STOP "
 
-#: fortran/dump-parse-tree.c:893 fortran/dump-parse-tree.c:901
+#: fortran/dump-parse-tree.c:896 fortran/dump-parse-tree.c:904
 #, c-format
 msgid "IF "
 msgstr "IF "
 
-#: fortran/dump-parse-tree.c:895
+#: fortran/dump-parse-tree.c:898
 #, c-format
 msgid " %d, %d, %d"
 msgstr " %d, %d, %d"
 
-#: fortran/dump-parse-tree.c:912
+#: fortran/dump-parse-tree.c:915
 #, c-format
 msgid "ELSE\n"
 msgstr "ELSE\n"
 
-#: fortran/dump-parse-tree.c:915
+#: fortran/dump-parse-tree.c:918
 #, c-format
 msgid "ELSE IF "
 msgstr "ELSE IF "
 
-#: fortran/dump-parse-tree.c:925
+#: fortran/dump-parse-tree.c:928
 #, c-format
 msgid "ENDIF"
 msgstr "ENDIF"
 
-#: fortran/dump-parse-tree.c:930
+#: fortran/dump-parse-tree.c:933
 #, c-format
 msgid "SELECT CASE "
 msgstr "SELECT CASE "
 
-#: fortran/dump-parse-tree.c:938
+#: fortran/dump-parse-tree.c:941
 #, c-format
 msgid "CASE "
 msgstr "CASE "
 
-#: fortran/dump-parse-tree.c:954
+#: fortran/dump-parse-tree.c:957
 #, c-format
 msgid "END SELECT"
 msgstr "END SELECT"
 
-#: fortran/dump-parse-tree.c:958
+#: fortran/dump-parse-tree.c:961
 #, c-format
 msgid "WHERE "
 msgstr "WHERE "
 
-#: fortran/dump-parse-tree.c:969
+#: fortran/dump-parse-tree.c:972
 #, c-format
 msgid "ELSE WHERE "
 msgstr "ELSE WHERE "
 
-#: fortran/dump-parse-tree.c:976
+#: fortran/dump-parse-tree.c:979
 #, c-format
 msgid "END WHERE"
 msgstr "END WHERE"
 
-#: fortran/dump-parse-tree.c:981
+#: fortran/dump-parse-tree.c:984
 #, c-format
 msgid "FORALL "
 msgstr "FORALL "
 
-#: fortran/dump-parse-tree.c:1006
+#: fortran/dump-parse-tree.c:1009
 #, c-format
 msgid "END FORALL"
 msgstr "END FORALL"
 
-#: fortran/dump-parse-tree.c:1010
+#: fortran/dump-parse-tree.c:1013
 #, c-format
 msgid "DO "
 msgstr "DO "
 
-#: fortran/dump-parse-tree.c:1024 fortran/dump-parse-tree.c:1035
+#: fortran/dump-parse-tree.c:1027 fortran/dump-parse-tree.c:1038
 #, c-format
 msgid "END DO"
 msgstr "END DO"
 
-#: fortran/dump-parse-tree.c:1028
+#: fortran/dump-parse-tree.c:1031
 #, c-format
 msgid "DO WHILE "
 msgstr "DO WHILE "
 
-#: fortran/dump-parse-tree.c:1039
+#: fortran/dump-parse-tree.c:1042
 #, c-format
 msgid "CYCLE"
 msgstr "CYCLE"
 
-#: fortran/dump-parse-tree.c:1045
+#: fortran/dump-parse-tree.c:1048
 #, c-format
 msgid "EXIT"
 msgstr "EXIT"
 
-#: fortran/dump-parse-tree.c:1051
+#: fortran/dump-parse-tree.c:1054
 #, c-format
 msgid "ALLOCATE "
 msgstr "ALLOCATE "
 
-#: fortran/dump-parse-tree.c:1054 fortran/dump-parse-tree.c:1070
+#: fortran/dump-parse-tree.c:1057 fortran/dump-parse-tree.c:1073
 #, c-format
 msgid " STAT="
 msgstr " STAT="
 
-#: fortran/dump-parse-tree.c:1067
+#: fortran/dump-parse-tree.c:1070
 #, c-format
 msgid "DEALLOCATE "
 msgstr "DEALLOCATE "
 
-#: fortran/dump-parse-tree.c:1083
+#: fortran/dump-parse-tree.c:1086
 #, c-format
 msgid "OPEN"
 msgstr "OPEN"
 
-#: fortran/dump-parse-tree.c:1088 fortran/dump-parse-tree.c:1162
-#: fortran/dump-parse-tree.c:1204 fortran/dump-parse-tree.c:1227
-#: fortran/dump-parse-tree.c:1373
+#: fortran/dump-parse-tree.c:1091 fortran/dump-parse-tree.c:1170
+#: fortran/dump-parse-tree.c:1212 fortran/dump-parse-tree.c:1235
+#: fortran/dump-parse-tree.c:1387
 #, c-format
 msgid " UNIT="
 msgstr " UNIT="
 
-#: fortran/dump-parse-tree.c:1093 fortran/dump-parse-tree.c:1167
-#: fortran/dump-parse-tree.c:1209 fortran/dump-parse-tree.c:1238
-#: fortran/dump-parse-tree.c:1390
+#: fortran/dump-parse-tree.c:1096 fortran/dump-parse-tree.c:1175
+#: fortran/dump-parse-tree.c:1217 fortran/dump-parse-tree.c:1246
+#: fortran/dump-parse-tree.c:1404
 #, c-format
 msgid " IOMSG="
 msgstr " IOMSG="
 
-#: fortran/dump-parse-tree.c:1098 fortran/dump-parse-tree.c:1172
-#: fortran/dump-parse-tree.c:1214 fortran/dump-parse-tree.c:1243
-#: fortran/dump-parse-tree.c:1395
+#: fortran/dump-parse-tree.c:1101 fortran/dump-parse-tree.c:1180
+#: fortran/dump-parse-tree.c:1222 fortran/dump-parse-tree.c:1251
+#: fortran/dump-parse-tree.c:1409
 #, c-format
 msgid " IOSTAT="
 msgstr " IOSTAT="
 
-#: fortran/dump-parse-tree.c:1103 fortran/dump-parse-tree.c:1232
+#: fortran/dump-parse-tree.c:1106 fortran/dump-parse-tree.c:1240
 #, c-format
 msgid " FILE="
 msgstr " FILE="
 
-#: fortran/dump-parse-tree.c:1108 fortran/dump-parse-tree.c:1177
+#: fortran/dump-parse-tree.c:1111 fortran/dump-parse-tree.c:1185
 #, c-format
 msgid " STATUS="
 msgstr " STATUS="
 
-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1273
+#: fortran/dump-parse-tree.c:1116 fortran/dump-parse-tree.c:1281
 #, c-format
 msgid " ACCESS="
 msgstr " ACCESS="
 
-#: fortran/dump-parse-tree.c:1118 fortran/dump-parse-tree.c:1289
+#: fortran/dump-parse-tree.c:1121 fortran/dump-parse-tree.c:1297
 #, c-format
 msgid " FORM="
 msgstr " FORM="
 
-#: fortran/dump-parse-tree.c:1123 fortran/dump-parse-tree.c:1304
+#: fortran/dump-parse-tree.c:1126 fortran/dump-parse-tree.c:1312
 #, c-format
 msgid " RECL="
 msgstr " RECL="
 
-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1314
+#: fortran/dump-parse-tree.c:1131 fortran/dump-parse-tree.c:1322
 #, c-format
 msgid " BLANK="
 msgstr " BLANK="
 
-#: fortran/dump-parse-tree.c:1133 fortran/dump-parse-tree.c:1319
+#: fortran/dump-parse-tree.c:1136 fortran/dump-parse-tree.c:1327
 #, c-format
 msgid " POSITION="
 msgstr " POSITION="
 
-#: fortran/dump-parse-tree.c:1138 fortran/dump-parse-tree.c:1324
+#: fortran/dump-parse-tree.c:1141 fortran/dump-parse-tree.c:1332
 #, c-format
 msgid " ACTION="
 msgstr " ACTION="
 
-#: fortran/dump-parse-tree.c:1143 fortran/dump-parse-tree.c:1344
+#: fortran/dump-parse-tree.c:1146 fortran/dump-parse-tree.c:1352
 #, c-format
 msgid " DELIM="
 msgstr " DELIM="
 
-#: fortran/dump-parse-tree.c:1148 fortran/dump-parse-tree.c:1349
+#: fortran/dump-parse-tree.c:1151 fortran/dump-parse-tree.c:1357
 #, c-format
 msgid " PAD="
 msgstr " PAD="
 
-#: fortran/dump-parse-tree.c:1152 fortran/dump-parse-tree.c:1181
-#: fortran/dump-parse-tree.c:1218 fortran/dump-parse-tree.c:1354
-#: fortran/dump-parse-tree.c:1426
+#: fortran/dump-parse-tree.c:1156 fortran/dump-parse-tree.c:1362
+#, c-format
+msgid " CONVERT="
+msgstr ""
+
+#: fortran/dump-parse-tree.c:1160 fortran/dump-parse-tree.c:1189
+#: fortran/dump-parse-tree.c:1226 fortran/dump-parse-tree.c:1367
+#: fortran/dump-parse-tree.c:1444
 #, c-format
 msgid " ERR=%d"
 msgstr " ERR=%d"
 
-#: fortran/dump-parse-tree.c:1157
+#: fortran/dump-parse-tree.c:1165
 #, c-format
 msgid "CLOSE"
 msgstr "CLOSE"
 
-#: fortran/dump-parse-tree.c:1185
+#: fortran/dump-parse-tree.c:1193
 #, c-format
 msgid "BACKSPACE"
 msgstr "BACKSPACE"
 
-#: fortran/dump-parse-tree.c:1189
+#: fortran/dump-parse-tree.c:1197
 #, c-format
 msgid "ENDFILE"
 msgstr "ENDFILE"
 
-#: fortran/dump-parse-tree.c:1193
+#: fortran/dump-parse-tree.c:1201
 #, c-format
 msgid "REWIND"
 msgstr "REWIND"
 
-#: fortran/dump-parse-tree.c:1197
+#: fortran/dump-parse-tree.c:1205
 #, c-format
 msgid "FLUSH"
 msgstr "FLUSH"
 
-#: fortran/dump-parse-tree.c:1222
+#: fortran/dump-parse-tree.c:1230
 #, c-format
 msgid "INQUIRE"
 msgstr "INQUIRE"
 
-#: fortran/dump-parse-tree.c:1248
+#: fortran/dump-parse-tree.c:1256
 #, c-format
 msgid " EXIST="
 msgstr " EXIST="
 
-#: fortran/dump-parse-tree.c:1253
+#: fortran/dump-parse-tree.c:1261
 #, c-format
 msgid " OPENED="
 msgstr " OPENED="
 
-#: fortran/dump-parse-tree.c:1258
+#: fortran/dump-parse-tree.c:1266
 #, c-format
 msgid " NUMBER="
 msgstr " NUMBER="
 
-#: fortran/dump-parse-tree.c:1263
+#: fortran/dump-parse-tree.c:1271
 #, c-format
 msgid " NAMED="
 msgstr " NAMED="
 
-#: fortran/dump-parse-tree.c:1268
+#: fortran/dump-parse-tree.c:1276
 #, c-format
 msgid " NAME="
 msgstr " NAME="
 
-#: fortran/dump-parse-tree.c:1278
+#: fortran/dump-parse-tree.c:1286
 #, c-format
 msgid " SEQUENTIAL="
 msgstr " SEQUENTIAL="
 
-#: fortran/dump-parse-tree.c:1284
+#: fortran/dump-parse-tree.c:1292
 #, c-format
 msgid " DIRECT="
 msgstr " DIRECT="
 
-#: fortran/dump-parse-tree.c:1294
+#: fortran/dump-parse-tree.c:1302
 #, c-format
 msgid " FORMATTED"
 msgstr " FORMATTED"
 
-#: fortran/dump-parse-tree.c:1299
+#: fortran/dump-parse-tree.c:1307
 #, c-format
 msgid " UNFORMATTED="
 msgstr " UNFORMATTED="
 
-#: fortran/dump-parse-tree.c:1309
+#: fortran/dump-parse-tree.c:1317
 #, c-format
 msgid " NEXTREC="
 msgstr " NEXTREC="
 
-#: fortran/dump-parse-tree.c:1329
+#: fortran/dump-parse-tree.c:1337
 #, c-format
 msgid " READ="
 msgstr " READ="
 
-#: fortran/dump-parse-tree.c:1334
+#: fortran/dump-parse-tree.c:1342
 #, c-format
 msgid " WRITE="
 msgstr " WRITE="
 
-#: fortran/dump-parse-tree.c:1339
+#: fortran/dump-parse-tree.c:1347
 #, c-format
 msgid " READWRITE="
 msgstr " READWRITE="
 
-#: fortran/dump-parse-tree.c:1358
+#: fortran/dump-parse-tree.c:1371
 #, c-format
 msgid "IOLENGTH "
 msgstr "IOLENGTH "
 
-#: fortran/dump-parse-tree.c:1363
+#: fortran/dump-parse-tree.c:1377
 #, c-format
 msgid "READ"
 msgstr "READ"
 
-#: fortran/dump-parse-tree.c:1367
+#: fortran/dump-parse-tree.c:1381
 #, c-format
 msgid "WRITE"
 msgstr "WRITE"
 
-#: fortran/dump-parse-tree.c:1379
+#: fortran/dump-parse-tree.c:1393
 #, c-format
 msgid " FMT="
 msgstr " FMT="
 
-#: fortran/dump-parse-tree.c:1384
+#: fortran/dump-parse-tree.c:1398
 #, c-format
 msgid " FMT=%d"
 msgstr " FMT=%d"
 
-#: fortran/dump-parse-tree.c:1386
+#: fortran/dump-parse-tree.c:1400
 #, c-format
 msgid " NML=%s"
 msgstr " %s"
 
-#: fortran/dump-parse-tree.c:1400
+#: fortran/dump-parse-tree.c:1414
 #, c-format
 msgid " SIZE="
 msgstr " SIZE="
 
-#: fortran/dump-parse-tree.c:1405
+#: fortran/dump-parse-tree.c:1419
 #, c-format
 msgid " REC="
 msgstr " REC="
 
-#: fortran/dump-parse-tree.c:1410
+#: fortran/dump-parse-tree.c:1424
 #, c-format
 msgid " ADVANCE="
 msgstr " ADVANCE="
 
-#: fortran/dump-parse-tree.c:1417
+#: fortran/dump-parse-tree.c:1435
 #, c-format
 msgid "TRANSFER "
 msgstr "TRANSFER "
 
-#: fortran/dump-parse-tree.c:1422
+#: fortran/dump-parse-tree.c:1440
 #, c-format
 msgid "DT_END"
 msgstr "DT_END"
 
-#: fortran/dump-parse-tree.c:1428
+#: fortran/dump-parse-tree.c:1446
 #, c-format
 msgid " END=%d"
 msgstr " END=%d"
 
-#: fortran/dump-parse-tree.c:1430
+#: fortran/dump-parse-tree.c:1448
 #, c-format
 msgid " EOR=%d"
 msgstr " EOR=%d"
 
-#: fortran/dump-parse-tree.c:1447
+#: fortran/dump-parse-tree.c:1465
 #, c-format
 msgid "Equivalence: "
 msgstr "等价:"
 
-#: fortran/dump-parse-tree.c:1473
+#: fortran/dump-parse-tree.c:1491
 #, c-format
 msgid "Namespace:"
 msgstr "命名空间:"
 
-#: fortran/dump-parse-tree.c:1487
+#: fortran/dump-parse-tree.c:1505
 #, c-format
 msgid " %c-%c: "
 msgstr " %c-%c:"
 
-#: fortran/dump-parse-tree.c:1489
+#: fortran/dump-parse-tree.c:1507
 #, c-format
 msgid " %c: "
 msgstr " %c:"
 
-#: fortran/dump-parse-tree.c:1498
+#: fortran/dump-parse-tree.c:1516
 #, c-format
 msgid "procedure name = %s"
 msgstr "过程名 = %s"
 
-#: fortran/dump-parse-tree.c:1514
+#: fortran/dump-parse-tree.c:1532
 #, c-format
 msgid "Operator interfaces for %s:"
 msgstr "%s 的运算符接口:"
 
-#: fortran/dump-parse-tree.c:1523
+#: fortran/dump-parse-tree.c:1541
 #, c-format
 msgid "User operators:\n"
 msgstr "用户运算符:\n"
 
-#: fortran/dump-parse-tree.c:1539
+#: fortran/dump-parse-tree.c:1557
 #, c-format
 msgid "CONTAINS\n"
 msgstr "CONTAINS\n"
@@ -5409,193 +5389,223 @@ msgstr "%C 处需要整数表达式"
 msgid "Integer value too large in expression at %C"
 msgstr "%C 处表达式中整数值太大"
 
-#: fortran/expr.c:1273
+#: fortran/expr.c:1274
 #, no-c-format
 msgid "Numeric or CHARACTER operands are required in expression at %L"
 msgstr ""
 
-#: fortran/expr.c:1293
+#: fortran/expr.c:1294
 #, no-c-format
 msgid "Exponent at %L must be INTEGER for an initialization expression"
 msgstr ""
 
-#: fortran/expr.c:1306
+#: fortran/expr.c:1307
 #, no-c-format
 msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
 msgstr ""
 
-#: fortran/expr.c:1313
+#: fortran/expr.c:1314
 #, no-c-format
 msgid "Concat operator at %L must concatenate strings of the same kind"
 msgstr "%L 处的毗连运算符必须毗连同一种别的字符串"
 
-#: fortran/expr.c:1323
+#: fortran/expr.c:1324
 #, no-c-format
 msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
 msgstr "%L 处的表达式中的 .NOT. 运算符必须带 LOGICAL 操作数"
 
-#: fortran/expr.c:1339
+#: fortran/expr.c:1340
 #, no-c-format
 msgid "LOGICAL operands are required in expression at %L"
 msgstr "%L 处的表达式需要 LOGICAL 操作数"
 
-#: fortran/expr.c:1347
+#: fortran/expr.c:1351
 #, no-c-format
 msgid "Only intrinsic operators can be used in expression at %L"
 msgstr "%L 处只有内建运算符才能用于表达式中"
 
-#: fortran/expr.c:1355
+#: fortran/expr.c:1359
 #, no-c-format
 msgid "Numeric operands are required in expression at %L"
 msgstr "%L 处的表达式需要数字操作数"
 
-#: fortran/expr.c:1459
+#: fortran/expr.c:1423
+#, no-c-format
+msgid "The F95 does not permit the assumed character length variable '%s' in constant expression at %L."
+msgstr ""
+
+#: fortran/expr.c:1476
 #, no-c-format
 msgid "Function '%s' in initialization expression at %L must be an intrinsic function"
 msgstr ""
 
-#: fortran/expr.c:1481
+#: fortran/expr.c:1498
 #, no-c-format
-msgid "Variable '%s' at %L cannot appear in an initialization expression"
-msgstr "变量‘%s’不能出现在 %L 处的初始化表达式中"
+msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+msgstr ""
 
-#: fortran/expr.c:1603
+#: fortran/expr.c:1583
+#, fuzzy, no-c-format
+msgid "Initialization expression didn't reduce %C"
+msgstr "%C 处需要初始化表达式"
+
+#: fortran/expr.c:1627
 #, no-c-format
 msgid "Specification function '%s' at %L cannot be a statement function"
 msgstr "指定函数‘%s’(位于 %L)不能是一个语句函数"
 
-#: fortran/expr.c:1610
+#: fortran/expr.c:1634
 #, no-c-format
 msgid "Specification function '%s' at %L cannot be an internal function"
 msgstr "指定函数‘%s’(位于 %L)不能是一个内部函数"
 
-#: fortran/expr.c:1617
+#: fortran/expr.c:1641
 #, no-c-format
 msgid "Specification function '%s' at %L must be PURE"
 msgstr "指定函数‘%s’(位于 %L)必须为 PURE"
 
-#: fortran/expr.c:1624
+#: fortran/expr.c:1648
 #, no-c-format
 msgid "Specification function '%s' at %L cannot be RECURSIVE"
 msgstr "指定函数‘%s’(位于 %L)不能是 RECURSIVE"
 
-#: fortran/expr.c:1681
+#: fortran/expr.c:1705
 #, no-c-format
 msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
 msgstr "哑元‘%s’(位于 %L)不能是 OPTIONAL"
 
-#: fortran/expr.c:1688
-#, fuzzy, no-c-format
+#: fortran/expr.c:1712
+#, no-c-format
 msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
-msgstr "â\80\98%sâ\80\99å®\9eå\8f\82(å±\9eäº\8eå\86\85建å\87½æ\95°â\80\98%sâ\80\99\9c¨ %L å¤\84ä¸\8dè\83½æ\98¯ INTENT(IN)"
+msgstr "â\80\98%sâ\80\99å\93\91å\85\83å®\9eå\8f\82å\9c¨ %L å¤\84ä¸\8dè\83½æ\98¯ INTENT(OUT)"
 
-#: fortran/expr.c:1708
+#: fortran/expr.c:1732
 #, no-c-format
 msgid "Variable '%s' cannot appear in the expression at %L"
 msgstr "变量‘%s’不能出现在 %L 处的表达式中"
 
-#: fortran/expr.c:1754
+#: fortran/expr.c:1780
 #, no-c-format
 msgid "Expression at %L must be of INTEGER type"
 msgstr "%L 处的表达式必须具有 INTEGER 类型"
 
-#: fortran/expr.c:1760
+#: fortran/expr.c:1786
 #, no-c-format
 msgid "Expression at %L must be scalar"
 msgstr "%L 处的表达式必须具有标量类型"
 
-#: fortran/expr.c:1788
+#: fortran/expr.c:1814
 #, no-c-format
 msgid "Incompatible ranks in %s at %L"
 msgstr "%s 中秩不兼容,位于 %L"
 
-#: fortran/expr.c:1802
+#: fortran/expr.c:1828
 #, no-c-format
-msgid "%s at %L has different shape on dimension %d (%d/%d)"
+msgid "different shape for %s at %L on dimension %d (%d/%d)"
 msgstr ""
 
-#: fortran/expr.c:1835
+#: fortran/expr.c:1861
 #, no-c-format
 msgid "Can't assign to INTENT(IN) variable '%s' at %L"
 msgstr ""
 
-#: fortran/expr.c:1842
+#: fortran/expr.c:1868
+#, no-c-format
+msgid "'%s' in the assignment at %L cannot be an l-value since it is a procedure"
+msgstr ""
+
+#: fortran/expr.c:1876
 #, no-c-format
 msgid "Incompatible ranks %d and %d in assignment at %L"
 msgstr "赋值中有不兼容的秩 %d 和 %d,位于 %L"
 
-#: fortran/expr.c:1849
+#: fortran/expr.c:1883
 #, no-c-format
 msgid "Variable type is UNKNOWN in assignment at %L"
 msgstr "%L 处赋值中的变量类型是 UNKNOWN"
 
-#: fortran/expr.c:1856
+#: fortran/expr.c:1890
 #, no-c-format
 msgid "NULL appears on right-hand side in assignment at %L"
 msgstr "%L 处赋值右手边出现 NULL"
 
-#: fortran/expr.c:1866
+#: fortran/expr.c:1900
 #, no-c-format
 msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal."
 msgstr ""
 
-#: fortran/expr.c:1875
+#: fortran/expr.c:1909
 #, no-c-format
 msgid "POINTER valued function appears on right-hand side of assignment at %L"
 msgstr "%L 处赋值右手边出现值为 POINTER 的函数"
 
-#: fortran/expr.c:1880
+#: fortran/expr.c:1914
 msgid "Array assignment"
 msgstr "数组赋值"
 
-#: fortran/expr.c:1897
+#: fortran/expr.c:1931
 #, no-c-format
 msgid "Incompatible types in assignment at %L, %s to %s"
 msgstr "%L 处赋值类型不兼容,从 %s 到 %s"
 
-#: fortran/expr.c:1920
+#: fortran/expr.c:1954
 #, no-c-format
 msgid "Pointer assignment target is not a POINTER at %L"
 msgstr ""
 
-#: fortran/expr.c:1928
+#: fortran/expr.c:1962
+#, no-c-format
+msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+msgstr ""
+
+#: fortran/expr.c:1971
 #, no-c-format
 msgid "Pointer assignment to non-POINTER at %L"
 msgstr "%L 处指针赋给非指针"
 
-#: fortran/expr.c:1936
+#: fortran/expr.c:1979
 #, no-c-format
 msgid "Bad pointer object in PURE procedure at %L"
 msgstr ""
 
-#: fortran/expr.c:1949
+#: fortran/expr.c:1992
 #, no-c-format
 msgid "Different types in pointer assignment at %L"
 msgstr "%L 处指针赋值时类型不同"
 
-#: fortran/expr.c:1956
+#: fortran/expr.c:1999
 #, no-c-format
 msgid "Different kind type parameters in pointer assignment at %L"
 msgstr ""
 
-#: fortran/expr.c:1964
+#: fortran/expr.c:2006
+#, fuzzy, no-c-format
+msgid "Different ranks in pointer assignment at %L"
+msgstr "%L 处指针赋值时类型不同"
+
+#: fortran/expr.c:2020
+#, fuzzy, no-c-format
+msgid "Different character lengths in pointer assignment at %L"
+msgstr "%L 处指针赋值时类型不同"
+
+#: fortran/expr.c:2028
 #, no-c-format
 msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
 msgstr ""
 
-#: fortran/expr.c:1971
+#: fortran/expr.c:2035
 #, no-c-format
 msgid "Bad target in pointer assignment in PURE procedure at %L"
 msgstr ""
 
-#: fortran/expr.c:1977
+#: fortran/expr.c:2041
 #, no-c-format
-msgid "Unequal ranks %d and %d in pointer assignment at %L"
+msgid "Pointer assignment with vector subscript on rhs at %L"
 msgstr ""
 
-#: fortran/expr.c:1984
+#: fortran/expr.c:2059
 #, no-c-format
-msgid "Pointer assignment with vector subscript on rhs at %L"
+msgid "The upper bound in the last dimension of the assumed_size array on the rhs of the pointer assignment at %L must be set"
 msgstr ""
 
 #: fortran/gfortranspec.c:232
@@ -5672,829 +5682,839 @@ msgstr "需要‘END INTERFACE ASSIGNMENT (.%s.)’在 %C 处"
 msgid "Expecting 'END INTERFACE %s' at %C"
 msgstr "需要‘END INTERFACE %s’于 %C 处"
 
-#: fortran/interface.c:509
+#: fortran/interface.c:523
 #, no-c-format
 msgid "Assignment operator interface at %L must be a SUBROUTINE"
 msgstr ""
 
-#: fortran/interface.c:518
+#: fortran/interface.c:532
 #, no-c-format
 msgid "Intrinsic operator interface at %L must be a FUNCTION"
 msgstr ""
 
-#: fortran/interface.c:605
+#: fortran/interface.c:619
 #, no-c-format
 msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
 msgstr "%L 处定义赋值的第一个参数必须是 INTENT(IN) 或 INTENT(INOUT)"
 
-#: fortran/interface.c:609
+#: fortran/interface.c:623
 #, no-c-format
 msgid "Second argument of defined assignment at %L must be INTENT(IN)"
 msgstr "%L 处定义赋值的第二个参数必须是 INTENT(IN)"
 
-#: fortran/interface.c:615
+#: fortran/interface.c:629
 #, no-c-format
 msgid "First argument of operator interface at %L must be INTENT(IN)"
 msgstr "%L 处运算符接口的第一个参数必须是 INTENT(IN)"
 
-#: fortran/interface.c:619
+#: fortran/interface.c:633
 #, no-c-format
 msgid "Second argument of operator interface at %L must be INTENT(IN)"
 msgstr "%L 处运算符接口的第二个参数必须是 INTENT(IN)"
 
-#: fortran/interface.c:626
+#: fortran/interface.c:640
 #, no-c-format
 msgid "Operator interface at %L conflicts with intrinsic interface"
 msgstr ""
 
-#: fortran/interface.c:631
+#: fortran/interface.c:645
 #, no-c-format
 msgid "Operator interface at %L has the wrong number of arguments"
 msgstr ""
 
-#: fortran/interface.c:880
+#: fortran/interface.c:894
 #, no-c-format
 msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
 msgstr "过程‘%s’(在 %s 中,位于 %L) 既不是函数也不是子进程"
 
-#: fortran/interface.c:934
+#: fortran/interface.c:948
 #, no-c-format
 msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
 msgstr "有歧义的接口‘%s’和‘%s’在 %s 中,位于 %L"
 
-#: fortran/interface.c:1183
+#: fortran/interface.c:1197
 #, fuzzy, no-c-format
 msgid "Keyword argument '%s' at %L is not in the procedure"
 msgstr "初始化不允许出现在 %C 处的 PURE 过程中"
 
-#: fortran/interface.c:1192
+#: fortran/interface.c:1206
 #, no-c-format
 msgid "Keyword argument '%s' at %L is already associated with another actual argument"
 msgstr ""
 
-#: fortran/interface.c:1202
+#: fortran/interface.c:1216
 #, no-c-format
 msgid "More actual than formal arguments in procedure call at %L"
 msgstr ""
 
-#: fortran/interface.c:1215
+#: fortran/interface.c:1229
 #, no-c-format
 msgid "Missing alternate return spec in subroutine call at %L"
 msgstr ""
 
-#: fortran/interface.c:1224
+#: fortran/interface.c:1238
 #, no-c-format
 msgid "Unexpected alternate return spec in subroutine call at %L"
 msgstr ""
 
-#: fortran/interface.c:1233
+#: fortran/interface.c:1250
 #, no-c-format
 msgid "Type/rank mismatch in argument '%s' at %L"
 msgstr "实参‘%s’类型/秩不匹配,于 %L 处"
 
-#: fortran/interface.c:1248
+#: fortran/interface.c:1265
 #, no-c-format
 msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
 msgstr ""
 
-#: fortran/interface.c:1257
+#: fortran/interface.c:1274
 #, no-c-format
 msgid "Actual argument for '%s' must be a pointer at %L"
 msgstr "‘%s’的实参在 %L 处必须是一个指针"
 
-#: fortran/interface.c:1278
+#: fortran/interface.c:1284
+#, no-c-format
+msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
+msgstr ""
+
+#: fortran/interface.c:1305
 #, no-c-format
 msgid "Missing actual argument for argument '%s' at %L"
 msgstr "参数‘%s’在 %L 处缺少实参"
 
-#: fortran/interface.c:1463
+#: fortran/interface.c:1490
 #, no-c-format
 msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
 msgstr ""
 
-#: fortran/interface.c:1504
+#: fortran/interface.c:1531
 #, no-c-format
 msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
 msgstr ""
 
-#: fortran/interface.c:1515
+#: fortran/interface.c:1542
 #, no-c-format
 msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
 msgstr ""
 
-#: fortran/interface.c:1524
+#: fortran/interface.c:1551
 #, no-c-format
 msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
 msgstr ""
 
-#: fortran/interface.c:1545
+#: fortran/interface.c:1576
 #, no-c-format
 msgid "Procedure '%s' called with an implicit interface at %L"
 msgstr "调用过程‘%s’带隐式接口,位于 %L"
 
-#: fortran/interface.c:1711
+#: fortran/interface.c:1743
 #, no-c-format
 msgid "Function '%s' called in lieu of an operator at %L must be PURE"
 msgstr ""
 
-#: fortran/interface.c:1776
-#, no-c-format
-msgid "Subroutine '%s' called in lieu of assignment at %L must be PURE"
-msgstr ""
-
-#: fortran/interface.c:1798
+#: fortran/interface.c:1823
 #, no-c-format
 msgid "Entity '%s' at %C is already present in the interface"
 msgstr ""
 
-#: fortran/intrinsic.c:2715
+#: fortran/intrinsic.c:2720
 #, no-c-format
 msgid "Too many arguments in call to '%s' at %L"
 msgstr "对‘%s’的调用给出的参数太多,于 %L 处"
 
-#: fortran/intrinsic.c:2729
+#: fortran/intrinsic.c:2734
 #, no-c-format
 msgid "Can't find keyword named '%s' in call to '%s' at %L"
 msgstr ""
 
-#: fortran/intrinsic.c:2736
+#: fortran/intrinsic.c:2741
 #, no-c-format
 msgid "Argument '%s' is appears twice in call to '%s' at %L"
 msgstr ""
 
-#: fortran/intrinsic.c:2750
+#: fortran/intrinsic.c:2755
 #, no-c-format
 msgid "Missing actual argument '%s' in call to '%s' at %L"
 msgstr "缺少实参‘%s’,在调用‘%s’时,位于 %L"
 
-#: fortran/intrinsic.c:2809
+#: fortran/intrinsic.c:2814
 #, no-c-format
 msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
 msgstr ""
 
-#: fortran/intrinsic.c:3113
+#: fortran/intrinsic.c:3118
 #, no-c-format
 msgid "Ranks of arguments to elemental intrinsic '%s' differ at %L"
 msgstr ""
 
-#: fortran/intrinsic.c:3159
+#: fortran/intrinsic.c:3164
 #, no-c-format
 msgid "Intrinsic '%s' at %L is not included in the selected standard"
 msgstr "内建函数‘%s’(于 %L 处)不为所选择的标准所包含"
 
-#: fortran/intrinsic.c:3262
+#: fortran/intrinsic.c:3267
 #, no-c-format
 msgid "Extension: Evaluation of nonstandard initialization expression at %L"
 msgstr ""
 
-#: fortran/intrinsic.c:3322
+#: fortran/intrinsic.c:3327
 #, no-c-format
 msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
 msgstr ""
 
-#: fortran/intrinsic.c:3397
+#: fortran/intrinsic.c:3402
 #, no-c-format
 msgid "Extension: Conversion from %s to %s at %L"
 msgstr "扩展:从 %s 到 %s,位于 %L"
 
-#: fortran/intrinsic.c:3400
+#: fortran/intrinsic.c:3405
 #, no-c-format
 msgid "Conversion from %s to %s at %L"
 msgstr "从 %s 转换到 %s,位于 %L"
 
-#: fortran/intrinsic.c:3437
+#: fortran/intrinsic.c:3453
 #, no-c-format
 msgid "Can't convert %s to %s at %L"
 msgstr "不能将 %s 转换为 %s,于 %L"
 
-#: fortran/io.c:404
+#: fortran/io.c:415
 msgid "Positive width required"
 msgstr "需要正的宽度"
 
-#: fortran/io.c:405
+#: fortran/io.c:416
 msgid "Period required"
 msgstr "需要半角句号"
 
-#: fortran/io.c:406
+#: fortran/io.c:417
 msgid "Nonnegative width required"
 msgstr "需要非负的宽度"
 
-#: fortran/io.c:407
+#: fortran/io.c:418
 msgid "Unexpected element"
 msgstr "非预期的元素"
 
-#: fortran/io.c:408
+#: fortran/io.c:419
 msgid "Unexpected end of format string"
 msgstr "非预期的格式字符串结尾"
 
-#: fortran/io.c:425
+#: fortran/io.c:436
 msgid "Missing leading left parenthesis"
 msgstr "缺少前导左括号"
 
-#: fortran/io.c:463
+#: fortran/io.c:474
 msgid "Expected P edit descriptor"
 msgstr "需要 P 编译描述符"
 
 #. P requires a prior number.
-#: fortran/io.c:471
+#: fortran/io.c:482
 msgid "P descriptor requires leading scale factor"
 msgstr ""
 
 #. X requires a prior number if we're being pedantic.
-#: fortran/io.c:476
+#: fortran/io.c:487
 #, no-c-format
 msgid "Extension: X descriptor requires leading space count at %C"
 msgstr ""
 
-#: fortran/io.c:496
+#: fortran/io.c:507
 #, no-c-format
 msgid "Extension: $ descriptor at %C"
 msgstr "扩展:%C 处的 $ 描述符"
 
-#: fortran/io.c:501
+#: fortran/io.c:512
 msgid "$ must be the last specifier"
 msgstr "$ 必须是最后一个限定符"
 
-#: fortran/io.c:546
+#: fortran/io.c:557
 msgid "Repeat count cannot follow P descriptor"
 msgstr ""
 
-#: fortran/io.c:609
+#: fortran/io.c:620
 msgid "Positive exponent width required"
 msgstr "需要正的指数宽度"
 
-#: fortran/io.c:710 fortran/io.c:762
+#: fortran/io.c:721 fortran/io.c:773
 #, no-c-format
 msgid "Extension: Missing comma at %C"
 msgstr "扩展:%C 处缺少逗号"
 
-#: fortran/io.c:777 fortran/io.c:780
+#: fortran/io.c:788 fortran/io.c:791
 #, no-c-format
 msgid "%s in format string at %C"
 msgstr "%s 出现在 %C 处的格式字符串中"
 
-#: fortran/io.c:820
+#: fortran/io.c:832
+#, fuzzy, no-c-format
+msgid "Format statement in module main block at %C."
+msgstr "忽略 %C 处的错误语句标号"
+
+#: fortran/io.c:838
 #, no-c-format
 msgid "Missing format label at %C"
 msgstr "%C 处缺少格式标号"
 
-#: fortran/io.c:878 fortran/io.c:902
+#: fortran/io.c:896 fortran/io.c:920
 #, no-c-format
 msgid "Duplicate %s specification at %C"
 msgstr "重复 %s 指定,于 %C"
 
-#: fortran/io.c:909
+#: fortran/io.c:927
 #, fuzzy, no-c-format
 msgid "Variable tag cannot be INTENT(IN) at %C"
 msgstr "‘%s’实参(属于内建函数‘%s’)在 %L 处不能是 INTENT(IN)"
 
-#: fortran/io.c:916
+#: fortran/io.c:934
 #, no-c-format
 msgid "Variable tag cannot be assigned in PURE procedure at %C"
 msgstr ""
 
-#: fortran/io.c:953
+#: fortran/io.c:971
 #, no-c-format
 msgid "Duplicate %s label specification at %C"
 msgstr "重复的 %s 标号指定,位于 %C"
 
-#: fortran/io.c:975
+#: fortran/io.c:993
 #, no-c-format
 msgid "%s tag at %L must be of type %s"
 msgstr "%s 标记在 %L 处必须具有类型 %s"
 
-#: fortran/io.c:986
+#: fortran/io.c:1004
 #, no-c-format
 msgid "Constant expression in FORMAT tag at %L must be of type default CHARACTER"
 msgstr ""
 
-#: fortran/io.c:999
+#: fortran/io.c:1017
 #, no-c-format
 msgid "%s tag at %L must be of type %s or %s"
 msgstr "%s 标记在 %L 处必须具有类型 %s 或 %s"
 
-#: fortran/io.c:1007
+#: fortran/io.c:1025
 #, no-c-format
 msgid "Obsolete: ASSIGNED variable in FORMAT tag at %L"
 msgstr "已过时:%L 处 FORMAT 标记中有 ASSIGNED 变量"
 
-#: fortran/io.c:1012
+#: fortran/io.c:1030
 #, no-c-format
 msgid "Variable '%s' at %L has not been assigned a format label"
 msgstr "变量‘%s’在 %L 尚未分配到格式标号"
 
-#: fortran/io.c:1027
+#: fortran/io.c:1045
 #, no-c-format
 msgid "Extension: Character array in FORMAT tag at %L"
 msgstr ""
 
-#: fortran/io.c:1034
+#: fortran/io.c:1052
 #, no-c-format
 msgid "Extension: Non-character in FORMAT tag at %L"
 msgstr ""
 
-#: fortran/io.c:1045
+#: fortran/io.c:1063
 #, no-c-format
 msgid "%s tag at %L must be scalar"
 msgstr "%s 标记在 %L 处必须是标量"
 
-#: fortran/io.c:1050
+#: fortran/io.c:1069
 #, no-c-format
 msgid "Fortran 2003: IOMSG tag at %L"
 msgstr "Fortran 2003:%L 处的 IOMSG 标记"
 
-#: fortran/io.c:1214
+#: fortran/io.c:1076
+#, no-c-format
+msgid "Fortran 95 requires default INTEGER in IOSTAT tag at %L"
+msgstr ""
+
+#: fortran/io.c:1084
+#, no-c-format
+msgid "Fortran 95 requires default INTEGER in SIZE tag at %L"
+msgstr ""
+
+#: fortran/io.c:1092
+#, fuzzy, no-c-format
+msgid "Extension: CONVERT tag at %L"
+msgstr "扩展:%C 处的 BYTE 类型"
+
+#: fortran/io.c:1261
 #, no-c-format
 msgid "OPEN statement not allowed in PURE procedure at %C"
 msgstr "OPEN 语句不允许出现在 %C 处的 PURE 过程中"
 
-#: fortran/io.c:1322
+#: fortran/io.c:1369
 #, no-c-format
 msgid "CLOSE statement not allowed in PURE procedure at %C"
 msgstr "CLOSE 语句不允许出现在 %C 处的 PURE 过程中"
 
-#: fortran/io.c:1448 fortran/match.c:1441
+#: fortran/io.c:1495 fortran/match.c:1457
 #, fuzzy, no-c-format
 msgid "%s statement not allowed in PURE procedure at %C"
 msgstr "OPEN 语句不允许出现在 %C 处的 PURE 过程中"
 
-#: fortran/io.c:1508
+#: fortran/io.c:1555
 #, no-c-format
 msgid "Fortran 2003: FLUSH statement at %C"
 msgstr "Fortran 2003:%C 处的 FLUSH 语句"
 
-#: fortran/io.c:1568
+#: fortran/io.c:1615
 #, no-c-format
 msgid "Duplicate UNIT specification at %C"
 msgstr "%C 处重复的 UNIT 指定"
 
-#: fortran/io.c:1624
+#: fortran/io.c:1671
 #, no-c-format
 msgid "Duplicate format specification at %C"
 msgstr "%C 处重复的格式指定"
 
-#: fortran/io.c:1641
+#: fortran/io.c:1688
 #, no-c-format
 msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
 msgstr "符号‘%s’在名字列表‘%s’是 INTENT(IN),位于 %C"
 
-#: fortran/io.c:1677
+#: fortran/io.c:1724
 #, no-c-format
 msgid "Duplicate NML specification at %C"
 msgstr "%C 处重复的 NML 指定"
 
-#: fortran/io.c:1686
+#: fortran/io.c:1733
 #, no-c-format
 msgid "Symbol '%s' at %C must be a NAMELIST group name"
 msgstr ""
 
-#: fortran/io.c:1722
+#: fortran/io.c:1771
 #, no-c-format
 msgid "END tag at %C not allowed in output statement"
 msgstr "%C 处的 END 标记不允许出现在输出语句中"
 
-#: fortran/io.c:1782
+#: fortran/io.c:1831
 #, no-c-format
 msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
 msgstr "%L 处指定的 UNIT 必须是 INTEGER 表达式或一个 CHARACTER 变量"
 
-#: fortran/io.c:1792
+#: fortran/io.c:1840
 #, no-c-format
 msgid "Internal unit with vector subscript at %L"
 msgstr ""
 
-#: fortran/io.c:1799
-#, no-c-format
-msgid "REC tag at %L is incompatible with internal file"
-msgstr ""
-
-#: fortran/io.c:1806
-#, no-c-format
-msgid "Internal file at %L is incompatible with namelist"
-msgstr "%L 处的内部文件与名字列表不兼容"
-
-#: fortran/io.c:1813
-#, no-c-format
-msgid "ADVANCE tag at %L is incompatible with internal file"
-msgstr ""
-
-#: fortran/io.c:1823
-#, no-c-format
-msgid "REC tag at %L is incompatible with END tag"
-msgstr "%L REC 标记与 END 标记不兼容"
-
-#: fortran/io.c:1831
-#, no-c-format
-msgid "END tag at %L is incompatible with list directed format (*)"
-msgstr ""
-
-#: fortran/io.c:1838
-#, no-c-format
-msgid "REC tag at %L is incompatible with namelist"
-msgstr "%L REC 标记与名字列表不兼容"
+#: fortran/io.c:1848
+#, fuzzy, no-c-format
+msgid "External IO UNIT cannot be an array at %L"
+msgstr "%C 处枚举量不能是数组"
 
-#: fortran/io.c:1846
-#, no-c-format
-msgid "ADVANCE tag at %L is incompatible with list directed format (*)"
-msgstr ""
+#: fortran/io.c:1858
+#, fuzzy, no-c-format
+msgid "ERR tag label %d at %L not defined"
+msgstr "FORMAT 标号 %d 在 %L 处未定义"
 
-#: fortran/io.c:1853
-#, no-c-format
-msgid "EOR tag at %L requires an ADVANCE tag"
-msgstr ""
+#: fortran/io.c:1870
+#, fuzzy, no-c-format
+msgid "END tag label %d at %L not defined"
+msgstr "FORMAT 标号 %d 在 %L 处未定义"
 
-#: fortran/io.c:1859
-#, no-c-format
-msgid "SIZE tag at %L requires an ADVANCE tag"
-msgstr ""
+#: fortran/io.c:1882
+#, fuzzy, no-c-format
+msgid "EOR tag label %d at %L not defined"
+msgstr "FORMAT 标号 %d 在 %L 处未定义"
 
-#: fortran/io.c:1879
+#: fortran/io.c:1892
 #, no-c-format
 msgid "FORMAT label %d at %L not defined"
 msgstr "FORMAT 标号 %d 在 %L 处未定义"
 
-#: fortran/io.c:2000
+#: fortran/io.c:2013
 #, no-c-format
 msgid "Syntax error in I/O iterator at %C"
 msgstr "%C 处 I/O 迭代语法错误"
 
-#: fortran/io.c:2031
+#: fortran/io.c:2044
 #, no-c-format
 msgid "Expected variable in READ statement at %C"
 msgstr "%C READ 语句需要变量"
 
-#: fortran/io.c:2037
+#: fortran/io.c:2050
 #, no-c-format
 msgid "Expected expression in %s statement at %C"
 msgstr "需要 %s 语句,于 %C 处"
 
-#: fortran/io.c:2048
+#: fortran/io.c:2061
 #, no-c-format
 msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
 msgstr ""
 
-#: fortran/io.c:2057
+#: fortran/io.c:2070
 #, no-c-format
 msgid "Cannot read to variable '%s' in PURE procedure at %C"
 msgstr ""
 
-#: fortran/io.c:2074
+#: fortran/io.c:2087
 #, no-c-format
 msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
 msgstr ""
 
 #. A general purpose syntax error.
-#: fortran/io.c:2134 fortran/io.c:2363 fortran/gfortran.h:1629
+#: fortran/io.c:2147 fortran/io.c:2515 fortran/gfortran.h:1666
 #, no-c-format
 msgid "Syntax error in %s statement at %C"
 msgstr "%s 语句在 %C 处语法错误"
 
-#: fortran/io.c:2191
+#: fortran/io.c:2364
 #, no-c-format
 msgid "PRINT namelist at %C is an extension"
 msgstr "%C 处的 PRINT 名字列表是一个扩展"
 
-#: fortran/io.c:2199
-#, no-c-format
-msgid "Namelist followed by I/O list at %C"
-msgstr ""
-
-#: fortran/io.c:2305
+#: fortran/io.c:2476
 #, no-c-format
 msgid "Extension: Comma before output item list at %C is an extension"
 msgstr ""
 
-#: fortran/io.c:2314
+#: fortran/io.c:2485
 #, no-c-format
 msgid "Expected comma in I/O list at %C"
 msgstr "%C 处 I/O 列表中需要逗号"
 
-#: fortran/io.c:2332
-#, no-c-format
-msgid "Internal file '%s' at %L is INTENT(IN)"
-msgstr "内部文件‘%s’在 %L 处是 INTENT(IN)"
-
-#: fortran/io.c:2348
-#, no-c-format
-msgid "io-unit in %s statement at %C must be an internal file in a PURE procedure"
-msgstr ""
-
-#: fortran/io.c:2395
+#: fortran/io.c:2547
 #, fuzzy, no-c-format
 msgid "PRINT statement at %C not allowed within PURE procedure"
 msgstr "OPEN 语句不允许出现在 %C 处的 PURE 过程中"
 
-#: fortran/io.c:2534 fortran/io.c:2582
+#: fortran/io.c:2686 fortran/io.c:2737
 #, fuzzy, no-c-format
 msgid "INQUIRE statement not allowed in PURE procedure at %C"
 msgstr "OPEN 语句不允许出现在 %C 处的 PURE 过程中"
 
-#: fortran/io.c:2558
+#: fortran/io.c:2713
 #, no-c-format
 msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
 msgstr ""
 
-#: fortran/io.c:2568
+#: fortran/io.c:2723
 #, no-c-format
 msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
 msgstr ""
 
-#: fortran/io.c:2575
+#: fortran/io.c:2730
 #, no-c-format
 msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
 msgstr "%L 处的 INQUIRE 语句需要 FILE 或 UNIT 限定符"
 
-#: fortran/match.c:175
+#: fortran/match.c:179
 #, no-c-format
 msgid "Integer too large at %C"
 msgstr "%C 处整数太大"
 
-#: fortran/match.c:238
-#, no-c-format
-msgid "Statement label at %C is out of range"
+#: fortran/match.c:239 fortran/parse.c:329
+#, fuzzy, no-c-format
+msgid "Too many digits in statement label at %C"
+msgstr "忽略 %C 处的错误语句标号"
+
+#: fortran/match.c:245 fortran/parse.c:332
+#, fuzzy, no-c-format
+msgid "Statement label at %C is zero"
 msgstr "%C 处语句标号越界"
 
-#: fortran/match.c:263
+#: fortran/match.c:278
 #, no-c-format
 msgid "Label name '%s' at %C is ambiguous"
 msgstr "标号名‘%s’在 %C 处有歧义"
 
-#: fortran/match.c:269
+#: fortran/match.c:284
 #, no-c-format
 msgid "Duplicate construct label '%s' at %C"
 msgstr "重复的构造标号‘%s’出现在 %C 处"
 
-#: fortran/match.c:393
+#: fortran/match.c:408
 #, no-c-format
 msgid "Name at %C is too long"
 msgstr "%C 的名字太长"
 
-#: fortran/match.c:510
+#: fortran/match.c:525
 #, no-c-format
 msgid "Loop variable at %C cannot be a sub-component"
 msgstr ""
 
-#: fortran/match.c:516
-#, fuzzy, no-c-format
+#: fortran/match.c:531
+#, no-c-format
 msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
-msgstr "‘%s’实参(属于内建函数‘%s’)在 %L 处不能是 INTENT(IN)"
+msgstr "循环变量‘%s’在 %C 处不能是 INTENT(IN)"
 
-#: fortran/match.c:523
+#: fortran/match.c:538
 #, no-c-format
 msgid "Loop variable at %C cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/match.c:553
+#: fortran/match.c:568
 #, no-c-format
 msgid "Expected a step value in iterator at %C"
 msgstr ""
 
-#: fortran/match.c:565
+#: fortran/match.c:580
 #, no-c-format
 msgid "Syntax error in iterator at %C"
 msgstr "%C 处迭代语法错误"
 
-#: fortran/match.c:801
+#: fortran/match.c:816
 #, no-c-format
 msgid "Invalid form of PROGRAM statement at %C"
 msgstr "%C 处 PROGRAM 语句格式无效"
 
-#: fortran/match.c:835
+#: fortran/match.c:850
 #, no-c-format
 msgid "Cannot assign to a PARAMETER variable at %C"
 msgstr ""
 
-#: fortran/match.c:924 fortran/match.c:1000
+#: fortran/match.c:939 fortran/match.c:1015
 #, no-c-format
 msgid "Obsolete: arithmetic IF statement at %C"
 msgstr "已过时:%C 处的算术 IF 语句"
 
-#: fortran/match.c:971
+#: fortran/match.c:986
 #, no-c-format
 msgid "Syntax error in IF-expression at %C"
 msgstr "%C 处 IF 表达式语法错误"
 
-#: fortran/match.c:983
+#: fortran/match.c:998
 #, no-c-format
 msgid "Block label not appropriate for arithmetic IF statement at %C"
 msgstr ""
 
-#: fortran/match.c:1025
+#: fortran/match.c:1040
 #, no-c-format
 msgid "Block label is not appropriate IF statement at %C"
 msgstr ""
 
-#: fortran/match.c:1096
+#: fortran/match.c:1111
 #, no-c-format
 msgid "Unclassifiable statement in IF-clause at %C"
 msgstr "%C 处 IF 子句中有无法归类的语句"
 
-#: fortran/match.c:1103
+#: fortran/match.c:1118
 #, no-c-format
 msgid "Syntax error in IF-clause at %C"
 msgstr "%C 处 IF 语句语法错误"
 
-#: fortran/match.c:1147
+#: fortran/match.c:1162
 #, no-c-format
 msgid "Unexpected junk after ELSE statement at %C"
 msgstr "%C 处 ELSE 语句后有非预期的垃圾字符"
 
-#: fortran/match.c:1153 fortran/match.c:1188
+#: fortran/match.c:1168 fortran/match.c:1203
 #, no-c-format
 msgid "Label '%s' at %C doesn't match IF label '%s'"
 msgstr ""
 
-#: fortran/match.c:1182
+#: fortran/match.c:1197
 #, no-c-format
 msgid "Unexpected junk after ELSE IF statement at %C"
 msgstr ""
 
-#: fortran/match.c:1345
+#: fortran/match.c:1360
 #, fuzzy, no-c-format
 msgid "Name '%s' in %s statement at %C is not a loop name"
 msgstr "DATA 语句不允许出现在 %C 处的 PURE 过程中"
 
-#: fortran/match.c:1360
+#: fortran/match.c:1375
 #, no-c-format
 msgid "%s statement at %C is not within a loop"
 msgstr "%s 语句在 %C 处不在循环内"
 
-#: fortran/match.c:1363
+#: fortran/match.c:1378
 #, no-c-format
 msgid "%s statement at %C is not within loop '%s'"
 msgstr "%s 语句在 %C 处不在循环‘%s’内"
 
-#: fortran/match.c:1419
-#, no-c-format
-msgid "STOP code out of range at %C"
-msgstr "%C 处 STOP 代码越界"
+#: fortran/match.c:1435
+#, fuzzy, no-c-format
+msgid "Too many digits in STOP code at %C"
+msgstr "对‘%s’的调用给出的参数太多,于 %L 处"
 
-#: fortran/match.c:1472
+#: fortran/match.c:1488
 #, no-c-format
 msgid "Obsolete: PAUSE statement at %C"
 msgstr "已过时:%C 处的 PAUSE 语句"
 
-#: fortran/match.c:1521
+#: fortran/match.c:1537
 #, no-c-format
 msgid "Obsolete: ASSIGN statement at %C"
 msgstr "已过时:%C 处的 ASSIGN 语句"
 
-#: fortran/match.c:1567
+#: fortran/match.c:1583
 #, no-c-format
 msgid "Obsolete: Assigned GOTO statement at %C"
 msgstr "已过时:%C 处赋值 GOTO 语句"
 
-#: fortran/match.c:1614 fortran/match.c:1666
+#: fortran/match.c:1630 fortran/match.c:1682
 #, no-c-format
 msgid "Statement label list in GOTO at %C cannot be empty"
 msgstr ""
 
-#: fortran/match.c:1750
+#: fortran/match.c:1766
 #, no-c-format
 msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
 msgstr ""
 
-#: fortran/match.c:1770
+#: fortran/match.c:1786
 #, no-c-format
 msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
 msgstr ""
 
-#: fortran/match.c:1778
+#: fortran/match.c:1794
 #, no-c-format
 msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
 msgstr ""
 
-#: fortran/match.c:1785 fortran/match.c:1951
+#: fortran/match.c:1801 fortran/match.c:1967
 #, no-c-format
 msgid "STAT expression at %C must be a variable"
 msgstr "%C 处的 STAT 表达式必须是一个变量"
 
-#: fortran/match.c:1840
+#: fortran/match.c:1856
 #, no-c-format
 msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
 msgstr ""
 
-#: fortran/match.c:1918
+#: fortran/match.c:1934
 #, no-c-format
 msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
 msgstr ""
 
-#: fortran/match.c:1937
+#: fortran/match.c:1953
 #, no-c-format
 msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
 msgstr ""
 
-#: fortran/match.c:1944
+#: fortran/match.c:1960
 #, no-c-format
 msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
 msgstr ""
 
-#: fortran/match.c:1993
+#: fortran/match.c:2009
 #, no-c-format
 msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
 msgstr "%C 处的替代 RETURN 语句只允许出现在 SUBROUTINE 中"
 
-#: fortran/match.c:2024
+#: fortran/match.c:2040
 #, no-c-format
 msgid "Extension: RETURN statement in main program at %C"
 msgstr ""
 
-#: fortran/match.c:2219
+#: fortran/match.c:2235
 #, no-c-format
 msgid "Syntax error in common block name at %C"
 msgstr "%C 处公共块名语法错误"
 
-#: fortran/match.c:2284
+#: fortran/match.c:2271
+#, fuzzy, no-c-format
+msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+msgstr "符号‘%s’在 %L 处已经有了显式接口"
+
+#: fortran/match.c:2318
 #, no-c-format
 msgid "Symbol '%s' at %C is already in a COMMON block"
 msgstr ""
 
-#: fortran/match.c:2296
+#: fortran/match.c:2330
 #, no-c-format
 msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
 msgstr ""
 
-#: fortran/match.c:2299
+#: fortran/match.c:2333
 #, no-c-format
 msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
 msgstr ""
 
-#: fortran/match.c:2311
+#: fortran/match.c:2345
 #, no-c-format
 msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute"
 msgstr ""
 
-#: fortran/match.c:2334
+#: fortran/match.c:2368
 #, no-c-format
 msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
 msgstr ""
 
-#: fortran/match.c:2345
+#: fortran/match.c:2379
 #, no-c-format
 msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
 msgstr ""
 
-#: fortran/match.c:2377
+#: fortran/match.c:2411
 #, no-c-format
 msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
 msgstr ""
 
-#: fortran/match.c:2487
+#: fortran/match.c:2521
 #, no-c-format
 msgid "Namelist group name '%s' at %C already has a basic type of %s"
 msgstr ""
 
-#: fortran/match.c:2627
+#: fortran/match.c:2528
+#, no-c-format
+msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+msgstr ""
+
+#: fortran/match.c:2555
+#, fuzzy, no-c-format
+msgid "Assumed size array '%s' in namelist '%s'at %C is not allowed."
+msgstr "%C 处的空数组构造不被允许"
+
+#: fortran/match.c:2561
+#, fuzzy, no-c-format
+msgid "Assumed shape array '%s' in namelist '%s' at %C is an extension."
+msgstr "%C 处的 PRINT 名字列表是一个扩展"
+
+#: fortran/match.c:2689
 #, no-c-format
 msgid "Derived type component %C is not a permitted EQUIVALENCE member"
 msgstr ""
 
-#: fortran/match.c:2636
+#: fortran/match.c:2698
 #, no-c-format
 msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
 msgstr ""
 
-#: fortran/match.c:2672
+#: fortran/match.c:2727
+#, no-c-format
+msgid "EQUIVALENCE at %C requires two or more objects"
+msgstr ""
+
+#: fortran/match.c:2741
 #, no-c-format
 msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
 msgstr ""
 
-#: fortran/match.c:2824
+#: fortran/match.c:2893
 #, no-c-format
 msgid "Statement function at %L is recursive"
 msgstr "%L 处的语句函数是递归的"
 
-#: fortran/match.c:2914
+#: fortran/match.c:2983
 #, no-c-format
 msgid "Expected initialization expression in CASE at %C"
 msgstr "%C 处 CASE 中需要初始化表达式"
 
-#: fortran/match.c:2941
+#: fortran/match.c:3010
 #, no-c-format
 msgid "Expected case name of '%s' at %C"
 msgstr "%C 处需要‘%s’的 case 名"
 
-#: fortran/match.c:2985
+#: fortran/match.c:3054
 #, no-c-format
 msgid "Unexpected CASE statement at %C"
 msgstr "%C 处非预期的 CASE 语句"
 
-#: fortran/match.c:3037
+#: fortran/match.c:3106
 #, no-c-format
 msgid "Syntax error in CASE-specification at %C"
 msgstr "%C CASE 指定语法错误"
 
-#: fortran/match.c:3157
+#: fortran/match.c:3226
 #, no-c-format
 msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
 msgstr ""
 
-#: fortran/match.c:3188
+#: fortran/match.c:3257
 #, no-c-format
 msgid "Label '%s' at %C doesn't match WHERE label '%s'"
 msgstr ""
 
-#: fortran/match.c:3283
+#: fortran/match.c:3352
 #, no-c-format
 msgid "Syntax error in FORALL iterator at %C"
 msgstr "%C 处 FORALL 迭代语法错误"
@@ -6514,17 +6534,17 @@ msgstr ""
 msgid "The name '%s' cannot be used as a defined operator at %C"
 msgstr "名字‘%s’在 %C 处不能用作已定义的运算符"
 
-#: fortran/matchexp.c:156
+#: fortran/matchexp.c:160
 #, no-c-format
 msgid "Expected a right parenthesis in expression at %C"
 msgstr "%C 处表达式中需要右括号"
 
-#: fortran/matchexp.c:278
+#: fortran/matchexp.c:302
 #, no-c-format
 msgid "Expected exponent in expression at %C"
 msgstr "%C 处表达式中需要指数部分"
 
-#: fortran/matchexp.c:314 fortran/matchexp.c:418
+#: fortran/matchexp.c:338 fortran/matchexp.c:442
 #, no-c-format
 msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
 msgstr ""
@@ -6619,103 +6639,103 @@ msgstr "转换整数时出错"
 msgid "Expected real string"
 msgstr "需要实数字符串"
 
-#: fortran/module.c:2495
+#: fortran/module.c:2496
 msgid "Expected expression type"
 msgstr "需要表达式类型"
 
-#: fortran/module.c:2540
+#: fortran/module.c:2542
 msgid "Bad operator"
 msgstr "错误的运算符"
 
-#: fortran/module.c:2626
+#: fortran/module.c:2628
 msgid "Bad type in constant expression"
 msgstr "常量表达式中类型错误"
 
-#: fortran/module.c:2663
+#: fortran/module.c:2665
 #, no-c-format
 msgid "Namelist %s cannot be renamed by USE association to %s."
 msgstr ""
 
-#: fortran/module.c:3331
+#: fortran/module.c:3333
 #, no-c-format
 msgid "Symbol '%s' referenced at %L not found in module '%s'"
 msgstr ""
 
-#: fortran/module.c:3339
+#: fortran/module.c:3341
 #, no-c-format
 msgid "User operator '%s' referenced at %L not found in module '%s'"
 msgstr ""
 
-#: fortran/module.c:3345
+#: fortran/module.c:3347
 #, no-c-format
 msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
 msgstr ""
 
-#: fortran/module.c:3700
+#: fortran/module.c:3702
 #, no-c-format
 msgid "Can't open module file '%s' for writing at %C: %s"
 msgstr "不能打开模块文件‘%s’写入,在 %C 处:%s"
 
-#: fortran/module.c:3725
+#: fortran/module.c:3727
 #, no-c-format
 msgid "Error writing module file '%s' for writing: %s"
 msgstr "写入模块文件‘%s’时出错:%s"
 
-#: fortran/module.c:3746
+#: fortran/module.c:3748
 #, no-c-format
 msgid "Can't open module file '%s' for reading at %C: %s"
 msgstr "无法打开模块文件‘%s’读取,在 %C 处:%s"
 
-#: fortran/module.c:3760
+#: fortran/module.c:3762
 msgid "Unexpected end of module"
 msgstr "非预期的模块结束"
 
-#: fortran/module.c:3768
+#: fortran/module.c:3770
 #, no-c-format
 msgid "Can't USE the same module we're building!"
 msgstr ""
 
-#: fortran/options.c:212
+#: fortran/options.c:231
 #, no-c-format
 msgid "Reading file '%s' as free form."
 msgstr "将文件‘%s’按自由格式读入。"
 
-#: fortran/options.c:222
+#: fortran/options.c:241
 #, no-c-format
 msgid "'-fd-lines-as-comments' has no effect in free form."
 msgstr "‘-fd-lines-as-comments’在树形式上不起作用。"
 
-#: fortran/options.c:225
+#: fortran/options.c:244
 #, no-c-format
 msgid "'-fd-lines-as-code' has no effect in free form."
 msgstr "‘-fd-lines-as-code’在树形式上不起作用。"
 
-#: fortran/options.c:290
+#: fortran/options.c:309
 #, c-format
 msgid "gfortran: Only one -M option allowed\n"
 msgstr "gfortran:只允许使用一个 -M 选项\n"
 
-#: fortran/options.c:296
+#: fortran/options.c:315
 #, c-format
 msgid "gfortran: Directory required after -M\n"
 msgstr "gfortran:-M 后需要给出目录\n"
 
-#: fortran/options.c:336
+#: fortran/options.c:355
 #, no-c-format
 msgid "Argument to -ffpe-trap is not valid: %s"
 msgstr "-ffpe-trap 的参数无效:%s"
 
-#: fortran/options.c:468
+#: fortran/options.c:451
 #, no-c-format
 msgid "Fixed line length must be at least seven."
 msgstr "固定格式的行长至少为七。"
 
-#: fortran/options.c:474
+#: fortran/options.c:505
 #, no-c-format
 msgid "Maximum supported idenitifier length is %d"
 msgstr ""
 
-#: fortran/options.c:481
+#: fortran/options.c:512
 #, no-c-format
 msgid "Argument to -fqkind isn't a valid real kind"
 msgstr ""
@@ -6725,264 +6745,253 @@ msgstr ""
 msgid "Unclassifiable statement at %C"
 msgstr "%C 语句无法归类"
 
-#. Skip the bad statement label.
-#: fortran/parse.c:329
+#: fortran/parse.c:339 fortran/parse.c:413
 #, no-c-format
-msgid "Ignoring bad statement label at %C"
-msgstr "忽略 %C 处的错误语句标号"
-
-#: fortran/parse.c:340
-#, no-c-format
-msgid "Ignoring statement label of zero at %C"
-msgstr "忽略 %C 处的错误语句标号零"
-
-#: fortran/parse.c:350
-#, no-c-format
-msgid "Ignoring statement label in empty statement at %C"
+msgid "Non-numeric character in statement label at %C"
 msgstr ""
 
-#: fortran/parse.c:412
+#: fortran/parse.c:351
 #, no-c-format
-msgid "Non-numeric character in statement label at %C"
+msgid "Ignoring statement label in empty statement at %C"
 msgstr ""
 
-#: fortran/parse.c:420
+#: fortran/parse.c:421
 #, no-c-format
 msgid "Zero is not a valid statement label at %C"
 msgstr "零不是 %C 处的一个有效的语句标号"
 
-#: fortran/parse.c:439
+#: fortran/parse.c:440
 #, no-c-format
 msgid "Bad continuation line at %C"
 msgstr "%C 处错误的续行"
 
-#: fortran/parse.c:466
+#: fortran/parse.c:467
 #, no-c-format
 msgid "Statement label in blank line will be ignored at %C"
 msgstr ""
 
-#: fortran/parse.c:491
+#: fortran/parse.c:492
 #, no-c-format
 msgid "Line truncated at %C"
 msgstr "行在 %C 处被截断"
 
-#: fortran/parse.c:664
+#: fortran/parse.c:665
 #, no-c-format
 msgid "FORMAT statement at %L does not have a statement label"
 msgstr "%L 处 FORMAT 语句没有语句标号"
 
-#: fortran/parse.c:736
+#: fortran/parse.c:737
 msgid "arithmetic IF"
 msgstr "算术 IF"
 
-#: fortran/parse.c:742
+#: fortran/parse.c:743
 msgid "attribute declaration"
 msgstr "属性声明"
 
-#: fortran/parse.c:772
+#: fortran/parse.c:773
 msgid "data declaration"
 msgstr "数据声明"
 
-#: fortran/parse.c:781
+#: fortran/parse.c:782
 msgid "derived type declaration"
 msgstr "派生的类型声明"
 
-#: fortran/parse.c:860
+#: fortran/parse.c:861
 msgid "block IF"
 msgstr "块 IF"
 
-#: fortran/parse.c:869
+#: fortran/parse.c:870
 msgid "implied END DO"
 msgstr "暗示的 END DO"
 
-#: fortran/parse.c:936
+#: fortran/parse.c:937
 msgid "assignment"
 msgstr "赋值"
 
-#: fortran/parse.c:939
+#: fortran/parse.c:940
 msgid "pointer assignment"
 msgstr "指针赋值"
 
-#: fortran/parse.c:948
+#: fortran/parse.c:949
 msgid "simple IF"
 msgstr "简单的 IF"
 
-#: fortran/parse.c:1085
+#: fortran/parse.c:1086
 #, no-c-format
 msgid "Unexpected %s statement at %C"
 msgstr "非预期的 %s 语句于 %C 处"
 
-#: fortran/parse.c:1217
+#: fortran/parse.c:1218
 #, no-c-format
 msgid "%s statement at %C cannot follow %s statement at %L"
 msgstr "%s 语句在 %C 处不能跟随 %s 语句在 %L 处"
 
-#: fortran/parse.c:1234
+#: fortran/parse.c:1235
 #, no-c-format
 msgid "Unexpected end of file in '%s'"
 msgstr "‘%s’中非预期的文件结尾"
 
-#: fortran/parse.c:1287
+#: fortran/parse.c:1288
 #, no-c-format
 msgid "Derived type definition at %C has no components"
 msgstr ""
 
-#: fortran/parse.c:1298
+#: fortran/parse.c:1299
 #, no-c-format
 msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
 msgstr ""
 
-#: fortran/parse.c:1305
+#: fortran/parse.c:1306
 #, no-c-format
 msgid "PRIVATE statement at %C must precede structure components"
 msgstr ""
 
-#: fortran/parse.c:1313
+#: fortran/parse.c:1314
 #, no-c-format
 msgid "Duplicate PRIVATE statement at %C"
 msgstr "%C 处重复的 PRIVATE 语句"
 
-#: fortran/parse.c:1325
+#: fortran/parse.c:1326
 #, no-c-format
 msgid "SEQUENCE statement at %C must precede structure components"
 msgstr ""
 
-#: fortran/parse.c:1332
+#: fortran/parse.c:1333
 #, no-c-format
 msgid "SEQUENCE attribute at %C already specified in TYPE statement"
 msgstr ""
 
-#: fortran/parse.c:1337
+#: fortran/parse.c:1338
 #, no-c-format
 msgid "Duplicate SEQUENCE statement at %C"
 msgstr "%C 处重复的 SEQUENCE 语句"
 
-#: fortran/parse.c:1361
+#: fortran/parse.c:1362
 #, no-c-format
 msgid "Component %s of SEQUENCE type declared at %C does not have the SEQUENCE attribute"
 msgstr ""
 
-#: fortran/parse.c:1406
+#: fortran/parse.c:1407
 #, no-c-format
 msgid "ENUM declaration at %C has no ENUMERATORS"
 msgstr ""
 
-#: fortran/parse.c:1480
+#: fortran/parse.c:1481
 #, no-c-format
 msgid "Unexpected %s statement in INTERFACE block at %C"
 msgstr "非预期的 %s 语句出现在 %C 处的 INTERFACE 块中"
 
-#: fortran/parse.c:1507
+#: fortran/parse.c:1508
 #, no-c-format
 msgid "SUBROUTINE at %C does not belong in a generic function interface"
 msgstr ""
 
-#: fortran/parse.c:1512
+#: fortran/parse.c:1513
 #, no-c-format
 msgid "FUNCTION at %C does not belong in a generic subroutine interface"
 msgstr ""
 
-#: fortran/parse.c:1529
+#: fortran/parse.c:1530
 #, no-c-format
 msgid "Unexpected %s statement at %C in INTERFACE body"
 msgstr "非预期的 %s 语句出现在 %C 处的 INTERFACE 体中"
 
-#: fortran/parse.c:1601
+#: fortran/parse.c:1602
 #, no-c-format
 msgid "%s statement must appear in a MODULE"
 msgstr "%s 语句必须出现在 MODULE 中"
 
-#: fortran/parse.c:1608
+#: fortran/parse.c:1609
 #, no-c-format
 msgid "%s statement at %C follows another accessibility specification"
 msgstr ""
 
-#: fortran/parse.c:1685
+#: fortran/parse.c:1686
 #, no-c-format
 msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
 msgstr ""
 
-#: fortran/parse.c:1706
+#: fortran/parse.c:1707
 #, no-c-format
 msgid "Unexpected %s statement in WHERE block at %C"
 msgstr "非预期的 %s 语句出现在 %C 处的 WHERE 块中"
 
-#: fortran/parse.c:1766
+#: fortran/parse.c:1767
 #, no-c-format
 msgid "Unexpected %s statement in FORALL block at %C"
 msgstr "非预期的 %s 语句出现在 %C 处的 FORALL 块中"
 
-#: fortran/parse.c:1818
+#: fortran/parse.c:1819
 #, no-c-format
 msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
 msgstr "%C 处的 ELSE IF 语句不能出现在 %L 处的 ELSE 语句之后"
 
-#: fortran/parse.c:1836
+#: fortran/parse.c:1837
 #, no-c-format
 msgid "Duplicate ELSE statements at %L and %C"
 msgstr "%L 和 %C 处重复的 ELSE 语句"
 
-#: fortran/parse.c:1898
+#: fortran/parse.c:1899
 #, no-c-format
 msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
 msgstr ""
 
-#: fortran/parse.c:1956
+#: fortran/parse.c:1957
 #, no-c-format
 msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
 msgstr ""
 
-#: fortran/parse.c:1991
+#: fortran/parse.c:1992
 #, no-c-format
 msgid "End of nonblock DO statement at %C is within another block"
 msgstr ""
 
-#: fortran/parse.c:2000
+#: fortran/parse.c:2001
 #, no-c-format
 msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
 msgstr ""
 
-#: fortran/parse.c:2050
+#: fortran/parse.c:2051
 #, no-c-format
 msgid "Statement label in ENDDO at %C doesn't match DO label"
 msgstr ""
 
-#: fortran/parse.c:2107
+#: fortran/parse.c:2108
 #, no-c-format
 msgid "%s statement at %C cannot terminate a non-block DO loop"
 msgstr ""
 
-#: fortran/parse.c:2246
+#: fortran/parse.c:2247
 #, no-c-format
 msgid "Contained procedure '%s' at %C is already ambiguous"
 msgstr ""
 
-#: fortran/parse.c:2297
+#: fortran/parse.c:2298
 #, no-c-format
 msgid "Unexpected %s statement in CONTAINS section at %C"
 msgstr "非预期的 %s 语句出现在 %C 处的 CONTAINS 段中"
 
-#: fortran/parse.c:2382
+#: fortran/parse.c:2383
 #, no-c-format
 msgid "CONTAINS statement at %C is already in a contained program unit"
 msgstr ""
 
-#: fortran/parse.c:2431
+#: fortran/parse.c:2432
 #, no-c-format
 msgid "Global name '%s' at %L is already being used as a %s at %L"
 msgstr ""
 
-#: fortran/parse.c:2452
+#: fortran/parse.c:2453
 #, no-c-format
 msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
 msgstr ""
 
-#: fortran/parse.c:2476
+#: fortran/parse.c:2478
 #, no-c-format
 msgid "Unexpected %s statement in BLOCK DATA at %C"
 msgstr "非预期的 %s 语句出现在 %C 处的 BLOCK DATA 块中"
 
-#: fortran/parse.c:2518
+#: fortran/parse.c:2521
 #, no-c-format
 msgid "Unexpected %s statement in MODULE at %C"
 msgstr "非预期的 %s 语句出现在 %C 处的 MODULE 中"
@@ -6990,606 +6999,640 @@ msgstr "非预期的 %s 语句出现在 %C 处的 MODULE 中"
 #. If we see a duplicate main program, shut down.  If the second
 #. instance is an implied main program, ie data decls or executable
 #. statements, we're in for lots of errors.
-#: fortran/parse.c:2694
+#: fortran/parse.c:2700
 #, no-c-format
 msgid "Two main PROGRAMs at %L and %C"
 msgstr "%L 和 %C 处有两个主 PROGRAM"
 
-#: fortran/primary.c:89
+#: fortran/primary.c:91
 #, no-c-format
 msgid "Missing kind-parameter at %C"
 msgstr "%C 处缺少种别参数"
 
-#: fortran/primary.c:212
+#: fortran/primary.c:214
 #, no-c-format
 msgid "Integer kind %d at %C not available"
 msgstr "整数种别 %d 在 %C 处不可用"
 
-#: fortran/primary.c:220
+#: fortran/primary.c:222
 #, no-c-format
 msgid "Integer too big for its kind at %C"
 msgstr "%C 处的整数对其种别来说太大"
 
-#: fortran/primary.c:250
+#: fortran/primary.c:252
 #, no-c-format
 msgid "Extension: Hollerith constant at %C"
 msgstr "扩展:%C 处的荷勒瑞斯常量"
 
-#: fortran/primary.c:262
+#: fortran/primary.c:264
 #, no-c-format
 msgid "Invalid Hollerith constant: %L must contain at least one character"
 msgstr "无效的荷勒瑞斯常量:%L 必须包含至少一个字符"
 
-#: fortran/primary.c:268
+#: fortran/primary.c:270
 #, no-c-format
 msgid "Invalid Hollerith constant: Interger kind at %L should be default"
 msgstr "无效的荷勒瑞斯常量:%L 的整数种别应当是默认的"
 
-#: fortran/primary.c:340
+#: fortran/primary.c:357
 #, no-c-format
 msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
 msgstr "扩展:%C 处的十六进制常量使用了非标准语法。"
 
-#: fortran/primary.c:353
-#, no-c-format
-msgid "Empty set of digits in binary constant at %C"
-msgstr ""
-
-#: fortran/primary.c:356
-#, no-c-format
-msgid "Empty set of digits in octal constant at %C"
-msgstr ""
-
-#: fortran/primary.c:359
-#, no-c-format
-msgid "Empty set of digits in hexadecimal constant at %C"
-msgstr ""
-
-#: fortran/primary.c:372
-#, no-c-format
-msgid "Illegal character in binary constant at %C"
-msgstr "%C 处二进制常量中有非法字符"
+#: fortran/primary.c:367
+#, fuzzy, no-c-format
+msgid "Empty set of digits in BOZ constant at %C"
+msgstr "%C 处的复常量语法错误"
 
-#: fortran/primary.c:375
-#, no-c-format
-msgid "Illegal character in octal constant at %C"
+#: fortran/primary.c:373
+#, fuzzy, no-c-format
+msgid "Illegal character in BOZ constant at %C"
 msgstr "%C 处的 8 进制常量中有非法字符"
 
-#: fortran/primary.c:378
-#, no-c-format
-msgid "Illegal character in hexadecimal constant at %C"
-msgstr "%C 处 16 进制常量中有非法字符"
+#: fortran/primary.c:395
+#, fuzzy, no-c-format
+msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
+msgstr "扩展:%C 处的十六进制常量使用了非标准语法。"
 
-#: fortran/primary.c:407
+#: fortran/primary.c:421
 #, no-c-format
 msgid "Integer too big for integer kind %i at %C"
 msgstr "整数对其种别 %i 来说太大,于 %C 处"
 
-#: fortran/primary.c:508
+#: fortran/primary.c:521
 #, no-c-format
 msgid "Missing exponent in real number at %C"
 msgstr "%C 处实数缺少指数部分"
 
-#: fortran/primary.c:565
+#: fortran/primary.c:578
 #, no-c-format
 msgid "Real number at %C has a 'd' exponent and an explicit kind"
 msgstr ""
 
-#: fortran/primary.c:575
+#: fortran/primary.c:588
 #, no-c-format
 msgid "Real number at %C has a 'q' exponent and an explicit kind"
 msgstr ""
 
-#: fortran/primary.c:587
+#: fortran/primary.c:600
 #, no-c-format
 msgid "Invalid real kind %d at %C"
 msgstr "无效的实型种别 %d,在 %C 处"
 
-#: fortran/primary.c:601
+#: fortran/primary.c:614
 #, no-c-format
 msgid "Real constant overflows its kind at %C"
 msgstr "%C 处实常数上溢其种别"
 
-#: fortran/primary.c:606
+#: fortran/primary.c:619
 #, no-c-format
 msgid "Real constant underflows its kind at %C"
 msgstr "%C 处实常数下溢其种别"
 
-#: fortran/primary.c:698
+#: fortran/primary.c:711
 #, no-c-format
 msgid "Syntax error in SUBSTRING specification at %C"
 msgstr "%C SUBSTRING 指定语法错误"
 
-#: fortran/primary.c:930
+#: fortran/primary.c:943
 #, no-c-format
 msgid "Invalid kind %d for CHARACTER constant at %C"
 msgstr "CHARACTER 常量的种别 %d 无效,在 %C 处"
 
-#: fortran/primary.c:951
+#: fortran/primary.c:964
 #, no-c-format
 msgid "Unterminated character constant beginning at %C"
 msgstr "开始于 %C 的未终结的字符常量"
 
-#: fortran/primary.c:1018
+#: fortran/primary.c:1038
 #, no-c-format
 msgid "Bad kind for logical constant at %C"
 msgstr "%C 处逻辑常量的种别错误"
 
-#: fortran/primary.c:1053
+#: fortran/primary.c:1073
 #, no-c-format
 msgid "Expected PARAMETER symbol in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.c:1059
+#: fortran/primary.c:1079
 #, no-c-format
 msgid "Numeric PARAMETER required in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.c:1065
+#: fortran/primary.c:1085
 #, no-c-format
 msgid "Scalar PARAMETER required in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.c:1095
+#: fortran/primary.c:1115
 #, no-c-format
 msgid "Error converting PARAMETER constant in complex constant at %C"
 msgstr ""
 
-#: fortran/primary.c:1222
+#: fortran/primary.c:1242
 #, no-c-format
 msgid "Syntax error in COMPLEX constant at %C"
 msgstr "%C 处的复常量语法错误"
 
-#: fortran/primary.c:1404
+#: fortran/primary.c:1424
 #, no-c-format
 msgid "Keyword '%s' at %C has already appeared in the current argument list"
 msgstr ""
 
-#: fortran/primary.c:1461
+#: fortran/primary.c:1481
 #, no-c-format
 msgid "Expected alternate return label at %C"
 msgstr "%C 处需要替代的返回标号"
 
-#: fortran/primary.c:1480
+#: fortran/primary.c:1500
 #, no-c-format
 msgid "Missing keyword name in actual argument list at %C"
 msgstr ""
 
-#: fortran/primary.c:1516
+#: fortran/primary.c:1536
 #, no-c-format
 msgid "Syntax error in argument list at %C"
 msgstr "%C 处的参数列表语法错误"
 
-#: fortran/primary.c:1603
+#: fortran/primary.c:1623
 #, no-c-format
 msgid "Expected structure component name at %C"
 msgstr "%C 处需要结构组件名"
 
-#: fortran/primary.c:1841
+#: fortran/primary.c:1861
 #, no-c-format
 msgid "Too many components in structure constructor at %C"
 msgstr "%C 处结构构造的组件太多"
 
-#: fortran/primary.c:1856
+#: fortran/primary.c:1876
 #, no-c-format
 msgid "Too few components in structure constructor at %C"
 msgstr "%C 处结构构造中组件太少"
 
-#: fortran/primary.c:1874
+#: fortran/primary.c:1894
 #, no-c-format
 msgid "Syntax error in structure constructor at %C"
 msgstr "%C 结构构造语法错误"
 
-#: fortran/primary.c:1987
+#: fortran/primary.c:2007
 #, no-c-format
 msgid "Unexpected use of subroutine name '%s' at %C"
 msgstr "对子进程名‘%s’非预期的使用,在 %C 处"
 
-#: fortran/primary.c:2018
+#: fortran/primary.c:2038
 #, no-c-format
 msgid "Statement function '%s' requires argument list at %C"
 msgstr "语句函数‘%s’在 %C 处缺少参数列表"
 
-#: fortran/primary.c:2021
+#: fortran/primary.c:2041
 #, no-c-format
 msgid "Function '%s' requires an argument list at %C"
 msgstr "函数‘%s’在 %C 需要参数列表"
 
-#: fortran/primary.c:2175
+#: fortran/primary.c:2195
 #, no-c-format
 msgid "Missing argument list in function '%s' at %C"
 msgstr "函数‘%s’在 %C 处缺少参数列表"
 
-#: fortran/primary.c:2203
+#: fortran/primary.c:2223
 #, no-c-format
 msgid "Symbol at %C is not appropriate for an expression"
 msgstr "%C 处的符号不适用于表达式"
 
-#: fortran/primary.c:2273
+#: fortran/primary.c:2293
 #, no-c-format
 msgid "Expected VARIABLE at %C"
 msgstr "%C 处需要 VARIABLE "
 
-#: fortran/resolve.c:101
+#: fortran/resolve.c:102
 #, no-c-format
 msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:105
+#: fortran/resolve.c:106
 #, no-c-format
 msgid "Alternate return specifier in function '%s' at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:119
+#: fortran/resolve.c:120
 #, no-c-format
 msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
 msgstr ""
 
-#: fortran/resolve.c:127
+#: fortran/resolve.c:128
 #, fuzzy, no-c-format
 msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
 msgstr "初始化不允许出现在 %C 处的 PURE 过程中"
 
-#: fortran/resolve.c:181
+#: fortran/resolve.c:172
 #, fuzzy, no-c-format
 msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
 msgstr "%L 定义赋值的第二个参数必须是 INTENT(IN)"
 
-#: fortran/resolve.c:189
+#: fortran/resolve.c:180
 #, no-c-format
 msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
 msgstr ""
 
-#: fortran/resolve.c:200
+#: fortran/resolve.c:191
 #, no-c-format
 msgid "Argument '%s' of elemental procedure at %L must be scalar"
 msgstr "元素过程的实参‘%s’在 %L 处必须是标量"
 
-#: fortran/resolve.c:208
+#: fortran/resolve.c:199
 #, no-c-format
 msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
 msgstr ""
 
-#: fortran/resolve.c:220
+#: fortran/resolve.c:211
 #, no-c-format
 msgid "Argument '%s' of statement function at %L must be scalar"
 msgstr "语句函数的实参‘%s’在 %L 处必须是标量"
 
-#: fortran/resolve.c:231
+#: fortran/resolve.c:222
 #, no-c-format
 msgid "Character-valued argument '%s' of statement function at %L must has constant length"
 msgstr ""
 
-#: fortran/resolve.c:292
+#: fortran/resolve.c:283
 #, no-c-format
 msgid "Contained function '%s' at %L has no IMPLICIT type"
 msgstr ""
 
-#: fortran/resolve.c:437
+#: fortran/resolve.c:293
+#, fuzzy, no-c-format
+msgid "Character-valued internal function '%s' at %L must not be assumed length"
+msgstr "语句函数‘%s’在 %L 处不允许用作实参"
+
+#: fortran/resolve.c:436
 #, no-c-format
 msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:441
+#: fortran/resolve.c:440
 #, no-c-format
 msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:448
+#: fortran/resolve.c:447
 #, no-c-format
 msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:452
+#: fortran/resolve.c:451
 #, no-c-format
 msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:490
+#: fortran/resolve.c:489
 #, no-c-format
 msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:495
+#: fortran/resolve.c:494
 #, no-c-format
 msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
 msgstr ""
 
-#: fortran/resolve.c:710 fortran/resolve.c:3347 fortran/resolve.c:3998
+#: fortran/resolve.c:590
+#, no-c-format
+msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+msgstr ""
+
+#: fortran/resolve.c:716
+#, 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 ""
+
+#: fortran/resolve.c:781 fortran/resolve.c:3615 fortran/resolve.c:4281
 #, no-c-format
 msgid "Label %d referenced at %L is never defined"
 msgstr "标号 %d(引用自 %L)从未被定义"
 
-#: fortran/resolve.c:737
+#: fortran/resolve.c:808
 #, no-c-format
 msgid "Statement function '%s' at %L is not allowed as an actual argument"
 msgstr "语句函数‘%s’在 %L 处不允许用作实参"
 
-#: fortran/resolve.c:760
+#: fortran/resolve.c:815
+#, fuzzy, no-c-format
+msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+msgstr "语句函数‘%s’在 %L 处不允许用作实参"
+
+#: fortran/resolve.c:821
+#, 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:845
 #, no-c-format
 msgid "Symbol '%s' at %L is ambiguous"
 msgstr "符号‘%s’(位于 %L)有歧义"
 
-#: fortran/resolve.c:859
+#: fortran/resolve.c:974
 #, no-c-format
 msgid "Generic function '%s' at %L is not an intrinsic function"
 msgstr "通用函数‘%s’(于 %L 处)不是一个内建函数"
 
-#: fortran/resolve.c:869
+#: fortran/resolve.c:984
 #, no-c-format
 msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
 msgstr ""
 
-#: fortran/resolve.c:907
+#: fortran/resolve.c:1022
 #, no-c-format
 msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:953
+#: fortran/resolve.c:1068
 #, no-c-format
 msgid "Unable to resolve the specific function '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:1009 fortran/resolve.c:5363
+#: fortran/resolve.c:1124 fortran/resolve.c:5889
 #, no-c-format
 msgid "Function '%s' at %L has no IMPLICIT type"
 msgstr "函数‘%s’在 %L 处没有 IMPLICIT 类型"
 
-#: fortran/resolve.c:1128
+#. This follows from a slightly odd requirement at 5.1.1.5 in the
+#. standard that allows assumed character length functions to be
+#. declared in interfaces but not used.  Picking up the symbol here,
+#. rather than resolve_symbol, accomplishes that.
+#: fortran/resolve.c:1211
+#, no-c-format
+msgid "Function '%s' can be declared in an interface to return CHARACTER(*) but cannot be used at %L"
+msgstr ""
+
+#: fortran/resolve.c:1220
+#, no-c-format
+msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+msgstr ""
+
+#: fortran/resolve.c:1329
 #, no-c-format
 msgid "Function reference to '%s' at %L is inside a FORALL block"
 msgstr ""
 
-#: fortran/resolve.c:1134
+#: fortran/resolve.c:1335
 #, no-c-format
 msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:1154
+#: fortran/resolve.c:1365
 #, no-c-format
 msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:1157
+#: fortran/resolve.c:1368
 #, no-c-format
 msgid "Subroutine call to '%s' at %L is not PURE"
 msgstr ""
 
-#: fortran/resolve.c:1219
+#: fortran/resolve.c:1430
 #, no-c-format
 msgid "Generic subroutine '%s' at %L is not an intrinsic subroutine"
 msgstr "通用子进程‘%s’(于 %L 处)不是一个内建子进程"
 
-#: fortran/resolve.c:1228
+#: fortran/resolve.c:1439
 #, no-c-format
 msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
 msgstr ""
 
-#: fortran/resolve.c:1263
+#: fortran/resolve.c:1474
 #, no-c-format
 msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
 msgstr ""
 
-#: fortran/resolve.c:1306
+#: fortran/resolve.c:1517
 #, no-c-format
 msgid "Unable to resolve the specific subroutine '%s' at %L"
 msgstr ""
 
-#: fortran/resolve.c:1406
+#: fortran/resolve.c:1573
+#, no-c-format
+msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+msgstr ""
+
+#: fortran/resolve.c:1656
 #, no-c-format
 msgid "Shapes for operands at %L and %L are not conformable"
 msgstr "%L 和 %L 处的操作数外形不相容"
 
-#: fortran/resolve.c:1462
+#: fortran/resolve.c:1713
 #, c-format
 msgid "Operand of unary numeric operator '%s' at %%L is %s"
 msgstr "单目数值运算符‘%s’(位于 %%L)的操作数为 %s"
 
-#: fortran/resolve.c:1478
+#: fortran/resolve.c:1729
 #, c-format
 msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
 msgstr "二元数值运算符‘%s’(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:1492
+#: fortran/resolve.c:1743
 #, c-format
 msgid "Operands of string concatenation operator at %%L are %s/%s"
 msgstr "字符串毗连运算符(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:1511
+#: fortran/resolve.c:1762
 #, c-format
 msgid "Operands of logical operator '%s' at %%L are %s/%s"
 msgstr "逻辑运算符‘%s’(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:1525
+#: fortran/resolve.c:1776
 #, c-format
 msgid "Operand of .NOT. operator at %%L is %s"
 msgstr "%%L 处的 .NOT. 运算符的操作数为 %s"
 
-#: fortran/resolve.c:1535
+#: fortran/resolve.c:1786
 msgid "COMPLEX quantities cannot be compared at %L"
 msgstr "%L 处复数不能比较大小"
 
-#: fortran/resolve.c:1561
+#: fortran/resolve.c:1812
 #, c-format
 msgid "Logicals at %%L must be compared with %s instead of %s"
 msgstr "%%L 处逻辑值必须与 %s 比较,而不是 %s"
 
-#: fortran/resolve.c:1566
+#: fortran/resolve.c:1817
 #, c-format
 msgid "Operands of comparison operator '%s' at %%L are %s/%s"
 msgstr "比较运算符‘%s’(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:1574
+#: fortran/resolve.c:1825
 #, c-format
 msgid "Operand of user operator '%s' at %%L is %s"
 msgstr "用户运算符‘%s’(位于 %%L)的操作数为 %s"
 
-#: fortran/resolve.c:1577
+#: fortran/resolve.c:1828
 #, c-format
 msgid "Operands of user operator '%s' at %%L are %s/%s"
 msgstr "用户运算符‘%s’(位于 %%L)的操作数为 %s/%s"
 
-#: fortran/resolve.c:1645
+#: fortran/resolve.c:1899
 #, no-c-format
 msgid "Inconsistent ranks for operator at %L and %L"
 msgstr "%L 和 %L 处的操作数秩不一致"
 
-#: fortran/resolve.c:1767
+#: fortran/resolve.c:2022
 #, no-c-format
 msgid "Illegal stride of zero at %L"
 msgstr "%L 零间隔非法"
 
-#: fortran/resolve.c:1788
+#: fortran/resolve.c:2043
 #, no-c-format
 msgid "Array reference at %L is out of bounds"
 msgstr "%L 处数组引用越界"
 
-#: fortran/resolve.c:1809
+#: fortran/resolve.c:2064
 #, no-c-format
 msgid "Rightmost upper bound of assumed size array section not specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:1819
+#: fortran/resolve.c:2074
 #, no-c-format
 msgid "Rank mismatch in array reference at %L (%d/%d)"
 msgstr "%L 处数组引用中秩不匹配(%d/%d)"
 
-#: fortran/resolve.c:1847
+#: fortran/resolve.c:2102
 #, no-c-format
 msgid "Array index at %L must be scalar"
 msgstr "%L 处数组索引必须是标量"
 
-#: fortran/resolve.c:1853
+#: fortran/resolve.c:2108
 #, no-c-format
 msgid "Array index at %L must be of INTEGER type"
 msgstr "%L 处数组索引必须具有 INTEGER 类型"
 
-#: fortran/resolve.c:1859
+#: fortran/resolve.c:2114
 #, no-c-format
 msgid "Extension: REAL array index at %L"
 msgstr "扩展:%L 处的 REAL 数组索引"
 
-#: fortran/resolve.c:1888
+#: fortran/resolve.c:2144
 #, no-c-format
 msgid "Argument dim at %L must be scalar"
 msgstr "%L 实参维数必须是标量"
 
-#: fortran/resolve.c:1894
+#: fortran/resolve.c:2150
 #, no-c-format
 msgid "Argument dim at %L must be of INTEGER type"
 msgstr "%L 处实参维数必须具有 INTEGER 类型"
 
-#: fortran/resolve.c:1996
+#: fortran/resolve.c:2252
 #, no-c-format
 msgid "Array index at %L is an array of rank %d"
 msgstr "%L 处数组索引是一个秩为 %d 的数组"
 
-#: fortran/resolve.c:2034
+#: fortran/resolve.c:2290
 #, no-c-format
 msgid "Substring start index at %L must be of type INTEGER"
 msgstr "%L 处的子字符串起始索引类型必须为 INTEGER"
 
-#: fortran/resolve.c:2041
+#: fortran/resolve.c:2297
 #, no-c-format
 msgid "Substring start index at %L must be scalar"
 msgstr "%L 处的子字符串起始索引必须是标量"
 
-#: fortran/resolve.c:2048
+#: fortran/resolve.c:2304
 #, no-c-format
 msgid "Substring start index at %L is less than one"
 msgstr "%L 处的子字符串起始索引小于 1"
 
-#: fortran/resolve.c:2061
+#: fortran/resolve.c:2317
 #, no-c-format
 msgid "Substring end index at %L must be of type INTEGER"
 msgstr "%L 处的子字符串终止索引类型必须为 INTEGER"
 
-#: fortran/resolve.c:2068
+#: fortran/resolve.c:2324
 #, no-c-format
 msgid "Substring end index at %L must be scalar"
 msgstr "%L 处的子字符串终止索引必须是标量"
 
-#: fortran/resolve.c:2076
+#: fortran/resolve.c:2332
 #, no-c-format
 msgid "Substring end index at %L is out of bounds"
 msgstr "%L 处的子字符串终止索引越界"
 
-#: fortran/resolve.c:2150
+#: fortran/resolve.c:2406
 #, no-c-format
 msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
 msgstr ""
 
-#: fortran/resolve.c:2169
+#: fortran/resolve.c:2425
 #, no-c-format
 msgid "Two or more part references with nonzero rank must not be specified at %L"
 msgstr ""
 
-#: fortran/resolve.c:2395
+#: fortran/resolve.c:2654
 #, no-c-format
 msgid "%s at %L must be a scalar"
 msgstr "%s (%L 处)必须是一个标量"
 
-#: fortran/resolve.c:2403
+#: fortran/resolve.c:2662
 #, no-c-format
 msgid "%s at %L must be INTEGER or REAL"
 msgstr "%s (%L 处)必须是 INTEGER 或 REAL"
 
-#: fortran/resolve.c:2406
+#: fortran/resolve.c:2665
 #, no-c-format
 msgid "%s at %L must be INTEGER"
 msgstr "%s (%L 处)必须是 INTEGER"
 
-#: fortran/resolve.c:2422
+#: fortran/resolve.c:2681
 #, no-c-format
 msgid "Obsolete: REAL DO loop iterator at %L"
 msgstr "已过时:%L 处的 REAL DO 循环游标"
 
-#: fortran/resolve.c:2431
+#: fortran/resolve.c:2690
 #, no-c-format
 msgid "Cannot assign to loop variable in PURE procedure at %L"
 msgstr ""
 
-#: fortran/resolve.c:2455
+#: fortran/resolve.c:2714
 #, no-c-format
 msgid "Step expression in DO loop at %L cannot be zero"
 msgstr ""
 
-#: fortran/resolve.c:2488
-#, no-c-format
-msgid "FORALL Iteration variable at %L must be INTEGER"
-msgstr ""
+#: fortran/resolve.c:2749
+#, fuzzy, no-c-format
+msgid "FORALL index-name at %L must be a scalar INTEGER"
+msgstr "%L 处数组索引必须是标量"
 
-#: fortran/resolve.c:2493
-#, no-c-format
-msgid "FORALL start expression at %L must be INTEGER"
-msgstr ""
+#: fortran/resolve.c:2754
+#, fuzzy, no-c-format
+msgid "FORALL start expression at %L must be a scalar INTEGER"
+msgstr "%L 处的表达式必须具有标量类型"
 
-#: fortran/resolve.c:2500
-#, no-c-format
-msgid "FORALL end expression at %L must be INTEGER"
-msgstr ""
+#: fortran/resolve.c:2761
+#, fuzzy, no-c-format
+msgid "FORALL end expression at %L must be a scalar INTEGER"
+msgstr "%L 处的表达式必须具有标量类型"
 
-#: fortran/resolve.c:2507
-#, no-c-format
-msgid "FORALL Stride expression at %L must be INTEGER"
-msgstr ""
+#: fortran/resolve.c:2769
+#, fuzzy, no-c-format
+msgid "FORALL stride expression at %L must be a scalar %s"
+msgstr "%L 处的表达式必须具有标量类型"
+
+#: fortran/resolve.c:2774
+#, fuzzy, no-c-format
+msgid "FORALL stride expression at %L cannot be zero"
+msgstr "%L 迭代次数不能为零"
 
-#: fortran/resolve.c:2604
+#: fortran/resolve.c:2872
 #, no-c-format
 msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:2704
+#: fortran/resolve.c:2972
 #, no-c-format
 msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
 msgstr ""
 
-#: fortran/resolve.c:2729
+#: fortran/resolve.c:2997
 #, no-c-format
 msgid "Array specification required in ALLOCATE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:2758
+#: fortran/resolve.c:3026
 #, no-c-format
 msgid "Bad array specification in ALLOCATE statement at %L"
 msgstr ""
@@ -7598,453 +7641,512 @@ msgstr ""
 #. 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:2914
+#: fortran/resolve.c:3182
 #, no-c-format
 msgid "CASE label at %L overlaps with CASE label at %L"
 msgstr ""
 
-#: fortran/resolve.c:2965
+#: fortran/resolve.c:3233
 #, no-c-format
 msgid "Expression in CASE statement at %L must be of type %s"
 msgstr "%L 处 CASE 语句中的表达式必须具有 %s 类型"
 
-#: fortran/resolve.c:2976
+#: fortran/resolve.c:3244
 #, no-c-format
 msgid "Expression in CASE statement at %L must be kind %d"
 msgstr "%L 处 CASE 语句中的表达式种类必须为 %d"
 
-#: fortran/resolve.c:2988
+#: fortran/resolve.c:3256
 #, no-c-format
 msgid "Expression in CASE statement at %L must be scalar"
 msgstr "%L 处 CASE 语句中的表达式必须为标量"
 
-#: fortran/resolve.c:3034
+#: fortran/resolve.c:3302
 #, no-c-format
 msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
 msgstr ""
 
-#: fortran/resolve.c:3052
+#: fortran/resolve.c:3320
 #, no-c-format
 msgid "Argument of SELECT statement at %L cannot be %s"
 msgstr "%L 处 SELECT 语句的实参不能是 %s"
 
-#: fortran/resolve.c:3061
+#: fortran/resolve.c:3329
 #, no-c-format
 msgid "Argument of SELECT statement at %L must be a scalar expression"
 msgstr "%L 处 SELECT 语句中的实参必须为标量"
 
-#: fortran/resolve.c:3125
+#: fortran/resolve.c:3393
 #, no-c-format
 msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
 msgstr ""
 
-#: fortran/resolve.c:3152
+#: fortran/resolve.c:3420
 #, no-c-format
 msgid "Logical range in CASE statement at %L is not allowed"
 msgstr ""
 
-#: fortran/resolve.c:3163
+#: fortran/resolve.c:3431
 #, no-c-format
 msgid "Range specification at %L can never be matched"
 msgstr ""
 
-#: fortran/resolve.c:3266
+#: fortran/resolve.c:3534
 #, no-c-format
 msgid "Logical SELECT CASE block at %L has more that two cases"
 msgstr ""
 
-#: fortran/resolve.c:3304
+#: fortran/resolve.c:3572
 #, no-c-format
 msgid "Data transfer element at %L cannot have POINTER components"
 msgstr ""
 
-#: fortran/resolve.c:3311
+#: fortran/resolve.c:3579
 #, no-c-format
 msgid "Data transfer element at %L cannot have PRIVATE components"
 msgstr ""
 
-#: fortran/resolve.c:3320
+#: fortran/resolve.c:3588
 #, no-c-format
 msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
 msgstr ""
 
-#: fortran/resolve.c:3354
+#: fortran/resolve.c:3622
 #, no-c-format
 msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:3363
+#: fortran/resolve.c:3631
 #, no-c-format
 msgid "Branch at %L causes an infinite loop"
 msgstr "%L 处的分支导致无穷循环"
 
-#. still nothing, so illegal.
-#: fortran/resolve.c:3393
+#: fortran/resolve.c:3664
 #, no-c-format
 msgid "Label at %L is not in the same block as the GOTO statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:3409
+#: fortran/resolve.c:3680
 #, no-c-format
 msgid "Obsolete: GOTO at %L jumps to END of construct at %L"
 msgstr ""
 
-#: fortran/resolve.c:3483
+#: fortran/resolve.c:3754
 #, no-c-format
 msgid "WHERE mask at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:3499
+#: fortran/resolve.c:3770
 #, no-c-format
 msgid "WHERE assignment target at %L has inconsistent shape"
 msgstr ""
 
-#: fortran/resolve.c:3509 fortran/resolve.c:3708
+#: fortran/resolve.c:3780 fortran/resolve.c:3979
 #, no-c-format
 msgid "Unsupported statement inside WHERE at %L"
 msgstr "%L 处在 WHERE 内不支持的语句"
 
-#: fortran/resolve.c:3585
+#: fortran/resolve.c:3856
 #, no-c-format
 msgid "expresion reference type error at %L"
 msgstr "%L 处表达式引用类型错误"
 
-#: fortran/resolve.c:3617
+#: fortran/resolve.c:3888
 #, no-c-format
 msgid "Unsupported statement while finding forall index in expression"
 msgstr ""
 
-#: fortran/resolve.c:3664
+#: fortran/resolve.c:3935
 #, no-c-format
 msgid "Assignment to a FORALL index variable at %L"
 msgstr "%L 处向 FORALL 索引变量赋值"
 
-#: fortran/resolve.c:3672
+#: fortran/resolve.c:3943
 #, no-c-format
 msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
 msgstr ""
 
-#: fortran/resolve.c:3799
+#: fortran/resolve.c:4070
 #, no-c-format
 msgid "An outer FORALL construct already has an index with this name %L"
 msgstr ""
 
-#: fortran/resolve.c:3811 fortran/resolve.c:3814 fortran/resolve.c:3817
+#: fortran/resolve.c:4082 fortran/resolve.c:4085 fortran/resolve.c:4088
 #, no-c-format
 msgid "A FORALL index must not appear in a limit or stride expression in the same FORALL at %L"
 msgstr ""
 
-#: fortran/resolve.c:3860
+#: fortran/resolve.c:4131
 #, no-c-format
 msgid "ELSE IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:3870
+#: fortran/resolve.c:4141
 #, no-c-format
 msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
 msgstr "%L 处的 WHERE/ELSEWHERE 子句需要一个 LOGICAL 数组"
 
-#: fortran/resolve.c:3948
+#: fortran/resolve.c:4222
 #, no-c-format
 msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:3951
+#: fortran/resolve.c:4225
 #, fuzzy, no-c-format
 msgid "Variable '%s' has not been assigned a target label at %L"
 msgstr "变量‘%s’在 %L 尚未分配到格式标号"
 
-#: fortran/resolve.c:3961
+#: fortran/resolve.c:4235
 #, no-c-format
 msgid "Alternate RETURN statement at %L requires an INTEGER return specifier"
 msgstr ""
 
-#: fortran/resolve.c:3977
+#: fortran/resolve.c:4247
+#, fuzzy, no-c-format
+msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+msgstr "%L 处定义赋值的第二个参数必须是 INTENT(IN)"
+
+#: fortran/resolve.c:4260
 #, no-c-format
 msgid "Cannot assign to variable '%s' in PURE procedure at %L"
 msgstr ""
 
-#: fortran/resolve.c:3986
+#: fortran/resolve.c:4269
 #, no-c-format
 msgid "Right side of assignment at %L is a derived type containing a POINTER in a PURE procedure"
 msgstr ""
 
-#: fortran/resolve.c:4006
+#: fortran/resolve.c:4289
 #, no-c-format
 msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
 msgstr ""
 
-#: fortran/resolve.c:4021
+#: fortran/resolve.c:4304
 #, no-c-format
 msgid "Arithmetic IF statement at %L requires a numeric expression"
 msgstr ""
 
-#: fortran/resolve.c:4033
+#: fortran/resolve.c:4316
 #, no-c-format
 msgid "IF clause at %L requires a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:4059
+#: fortran/resolve.c:4342
 #, no-c-format
 msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:4066
+#: fortran/resolve.c:4349
 #, no-c-format
 msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4078
+#: fortran/resolve.c:4361
 #, no-c-format
 msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
 msgstr ""
 
-#: fortran/resolve.c:4144
+#: fortran/resolve.c:4427
 #, no-c-format
 msgid "FORALL mask clause at %L requires a LOGICAL expression"
 msgstr ""
 
-#: fortran/resolve.c:4267
-#, fuzzy, no-c-format
-msgid "Assumed size array at %L must be a dummy argument"
-msgstr "‘reshape’内建函数的‘shape’实参在 %L 处必须是大小为常量的数组"
-
-#: fortran/resolve.c:4270
-#, fuzzy, no-c-format
-msgid "Assumed shape array at %L must be a dummy argument"
-msgstr "‘reshape’内建函数的‘shape’实参在 %L 处必须是大小为常量的数组"
+#: fortran/resolve.c:4503
+#, no-c-format
+msgid "Allocatable array '%s' at %L must have a deferred shape"
+msgstr "可分配的数组‘%s’在 %L 处必须有延迟的外形"
 
-#: fortran/resolve.c:4280
+#: fortran/resolve.c:4506
 #, no-c-format
-msgid "Parameter array '%s' at %L cannot be automatic or assumed shape"
+msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
 msgstr ""
 
-#: fortran/resolve.c:4296
+#: fortran/resolve.c:4513
 #, no-c-format
-msgid "Module array '%s' at %L cannot be automatic or assumed shape"
-msgstr ""
+msgid "Array pointer '%s' at %L must have a deferred shape"
+msgstr "数组指针‘%s’在 %L 处必须有延迟的外形"
+
+#: fortran/resolve.c:4524
+#, no-c-format
+msgid "Array '%s' at %L cannot have a deferred shape"
+msgstr "数组‘%s’在 %L 处不能有延迟的外形"
+
+#: fortran/resolve.c:4579
+#, fuzzy, no-c-format
+msgid "The module or main program array '%s' at %L must have constant shape"
+msgstr "可分配的数组‘%s’在 %L 处必须有延迟的外形"
 
-#: fortran/resolve.c:4308
+#: fortran/resolve.c:4592
 #, no-c-format
 msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
 msgstr ""
 
-#: fortran/resolve.c:4320
+#: fortran/resolve.c:4605
 #, no-c-format
-msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+msgid "'%s' at %L must have constant character length in this context"
 msgstr ""
 
-#: fortran/resolve.c:4330
+#: fortran/resolve.c:4636
 #, no-c-format
-msgid "Incompatible derived type in PARAMETER at %L"
-msgstr ""
+msgid "Allocatable '%s' at %L cannot have an initializer"
+msgstr "可分配的‘%s’在 %L 处不能有初始值设定"
 
-#: fortran/resolve.c:4341
+#: fortran/resolve.c:4639
 #, no-c-format
-msgid "Symbol at %L is not a DUMMY variable"
-msgstr "%L 处的符号不是一个 DUMMY 变量"
+msgid "External '%s' at %L cannot have an initializer"
+msgstr "外部‘%s’在 %L 处不能有初始值设定"
+
+#: fortran/resolve.c:4642
+#, no-c-format
+msgid "Dummy '%s' at %L cannot have an initializer"
+msgstr "哑元‘%s’在 %L 处不能有初始值设定"
+
+#: fortran/resolve.c:4645
+#, no-c-format
+msgid "Intrinsic '%s' at %L cannot have an initializer"
+msgstr "内建函数‘%s’在 %L 处不能有初始值设定"
+
+#: fortran/resolve.c:4648
+#, no-c-format
+msgid "Function result '%s' at %L cannot have an initializer"
+msgstr "函数结果‘%s’在 %L 处不能有初始值设定"
+
+#: fortran/resolve.c:4651
+#, no-c-format
+msgid "Automatic array '%s' at %L cannot have an initializer"
+msgstr "自动数组‘%s’在 %L 处不能有初始值设定"
+
+#: fortran/resolve.c:4671
+#, fuzzy, no-c-format
+msgid "Object '%s' at %L must have the SAVE attribute %s"
+msgstr "%C 处的组件必须有 POINTER 属性"
 
-#: fortran/resolve.c:4352
+#: fortran/resolve.c:4704
 #, no-c-format
 msgid "Character-valued statement function '%s' at %L must have constant length"
 msgstr ""
 
-#: fortran/resolve.c:4370
+#: fortran/resolve.c:4723
 #, no-c-format
-msgid "The derived type '%s' at %L is of type '%s', which has not been defined."
+msgid "'%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.c:4391
+#: fortran/resolve.c:4738
 #, 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 "External object '%s' at %L may not have an initializer"
+msgstr "外部对象‘%s’在 %L 处不能有初始值设定"
+
+#: fortran/resolve.c:4757
+#, fuzzy, no-c-format
+msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+msgstr "指定函数‘%s’(位于 %L)不能是一个内部函数"
+
+#: fortran/resolve.c:4761
+#, fuzzy, no-c-format
+msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+msgstr "指定函数‘%s’(位于 %L)不能是一个内部函数"
 
-#: fortran/resolve.c:4411
+#: fortran/resolve.c:4765
+#, fuzzy, no-c-format
+msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+msgstr "指定函数‘%s’(位于 %L)不能是 RECURSIVE"
+
+#: fortran/resolve.c:4769
 #, no-c-format
-msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
 msgstr ""
 
-#: fortran/resolve.c:4433
+#: fortran/resolve.c:4778
 #, no-c-format
-msgid "'%s' is a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
 msgstr ""
 
-#: fortran/resolve.c:4453
+#: fortran/resolve.c:4803
 #, no-c-format
-msgid "Allocatable array '%s' at %L must have a deferred shape"
-msgstr "可分配的数组‘%s’在 %L 处必须有延迟的外形"
+msgid "Character length of component '%s' needs to be a constant specification expression at %L."
+msgstr ""
 
-#: fortran/resolve.c:4456
+#: fortran/resolve.c:4818
 #, no-c-format
-msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
 msgstr ""
 
-#: fortran/resolve.c:4463
+#: fortran/resolve.c:4836
 #, no-c-format
-msgid "Array pointer '%s' at %L must have a deferred shape"
-msgstr "数组指针‘%s’在 %L 处必须有延迟的外形"
+msgid "Component '%s' of '%s' at %L must have constant array bounds."
+msgstr ""
 
-#: fortran/resolve.c:4474
+#: fortran/resolve.c:4860
 #, no-c-format
-msgid "Array '%s' at %L cannot have a deferred shape"
-msgstr "数组‘%s’在 %L 处不能有延迟的外形"
+msgid "Parameter array '%s' at %L cannot be automatic or assumed shape"
+msgstr ""
 
-#: fortran/resolve.c:4509
+#: fortran/resolve.c:4872
 #, no-c-format
-msgid "Allocatable '%s' at %L cannot have an initializer"
-msgstr "可分配的‘%s’在 %L 处不能有初始值设定"
+msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+msgstr ""
 
-#: fortran/resolve.c:4512
+#: fortran/resolve.c:4883
 #, no-c-format
-msgid "External '%s' at %L cannot have an initializer"
-msgstr "外部‘%s’在 %L 处不能有初始值设定"
+msgid "Incompatible derived type in PARAMETER at %L"
+msgstr ""
 
-#: fortran/resolve.c:4515
-#, no-c-format
-msgid "Dummy '%s' at %L cannot have an initializer"
-msgstr "哑元‘%s’在 %L 处不能有初始值设定"
+#: fortran/resolve.c:4985
+#, fuzzy, no-c-format
+msgid "Assumed size array at %L must be a dummy argument"
+msgstr "‘reshape’内建函数的‘shape’实参在 %L 处必须是大小为常量的数组"
 
-#: fortran/resolve.c:4518
-#, no-c-format
-msgid "Intrinsic '%s' at %L cannot have an initializer"
-msgstr "内建函数‘%s’在 %L 处不能有初始值设定"
+#: fortran/resolve.c:4988
+#, fuzzy, no-c-format
+msgid "Assumed shape array at %L must be a dummy argument"
+msgstr "‘reshape’内建函数的‘shape’实参在 %L 处必须是大小为常量的数组"
 
-#: fortran/resolve.c:4521
+#: fortran/resolve.c:5001
 #, no-c-format
-msgid "Function result '%s' at %L cannot have an initializer"
-msgstr "函数结果‘%s’在 %L 处不能有初始值设定"
+msgid "Symbol at %L is not a DUMMY variable"
+msgstr "%L 处的符号不是一个 DUMMY 变量"
 
-#: fortran/resolve.c:4524
+#: fortran/resolve.c:5016
 #, no-c-format
-msgid "Automatic array '%s' at %L cannot have an initializer"
-msgstr "自动数组‘%s’在 %L 处不能有初始值设定"
+msgid "The derived type '%s' at %L is of type '%s', which has not been defined."
+msgstr ""
 
-#: fortran/resolve.c:4547
+#: fortran/resolve.c:5035
 #, no-c-format
-msgid "PRIVATE symbol '%s' cannot be member of PUBLIC namelist at %L"
+msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
 msgstr ""
 
-#: fortran/resolve.c:4559
+#: fortran/resolve.c:5067
 #, no-c-format
-msgid "External object '%s' at %L may not have an initializer"
-msgstr "外部对象‘%s’在 %L 处不能有初始值设定"
+msgid "PRIVATE symbol '%s' cannot be member of PUBLIC namelist at %L"
+msgstr ""
 
-#: fortran/resolve.c:4572
+#: fortran/resolve.c:5091
 #, no-c-format
 msgid "Intrinsic at %L does not exist"
 msgstr "%L 处的内建函数不存在"
 
-#: fortran/resolve.c:4684
+#: fortran/resolve.c:5166
+#, no-c-format
+msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+msgstr ""
+
+#: fortran/resolve.c:5210
 #, no-c-format
 msgid "Nonconstant array section at %L in DATA statement"
 msgstr ""
 
-#: fortran/resolve.c:4697
+#: fortran/resolve.c:5223
 #, no-c-format
 msgid "DATA statement at %L has more variables than values"
 msgstr ""
 
-#: fortran/resolve.c:4895
+#: fortran/resolve.c:5421
 #, no-c-format
 msgid "DATA statement at %L has more values than variables"
 msgstr ""
 
-#: fortran/resolve.c:4977
+#: fortran/resolve.c:5503
 #, no-c-format
 msgid "Label %d at %L defined but not used"
 msgstr "标号 %d 于 %L 经定义但未被使用"
 
-#: fortran/resolve.c:4982
+#: fortran/resolve.c:5508
 #, no-c-format
 msgid "Label %d at %L defined but cannot be used"
 msgstr "标号 %d 于 %L 经定义但无法被使用"
 
-#: fortran/resolve.c:5066
+#: fortran/resolve.c:5592
 #, no-c-format
 msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:5081
+#: fortran/resolve.c:5607
 #, no-c-format
 msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:5088
+#: fortran/resolve.c:5614
 #, no-c-format
 msgid "Derived type variable '%s' at %L with default initializer cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:5189
+#: fortran/resolve.c:5715
 #, no-c-format
 msgid "Syntax error in EQUIVALENCE statement at %L"
 msgstr "%L 处 EQUIVALENCE 语句语法错误"
 
-#: fortran/resolve.c:5206
+#: fortran/resolve.c:5732
 #, no-c-format
 msgid "Initialized objects '%s' and '%s'  cannot both be in the EQUIVALENCE statement at %L"
 msgstr ""
 
-#: fortran/resolve.c:5220
+#: fortran/resolve.c:5746
 #, no-c-format
 msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
 msgstr ""
 
-#: fortran/resolve.c:5229
+#: fortran/resolve.c:5755
 #, no-c-format
 msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:5308
+#: fortran/resolve.c:5834
 #, no-c-format
 msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:5319
+#: fortran/resolve.c:5845
 #, no-c-format
 msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
 msgstr ""
 
-#: fortran/resolve.c:5330
+#: fortran/resolve.c:5856
 #, no-c-format
 msgid "Substring at %L has length zero"
 msgstr "%L 的子字符串长度为零"
 
-#: fortran/resolve.c:5376
+#: fortran/resolve.c:5899
+#, fuzzy, no-c-format
+msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+msgstr "函数‘%s’在 %L 处没有 IMPLICIT 类型"
+
+#: fortran/resolve.c:5911
 #, no-c-format
 msgid "ENTRY '%s' at %L has no IMPLICIT type"
 msgstr "ENTRY‘%s’在 %L 处没有 IMPLICIT 类型"
 
-#: fortran/resolve.c:5412
+#: fortran/resolve.c:5947
 #, no-c-format
 msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
 msgstr ""
 
-#: fortran/scanner.c:928
+#: fortran/scanner.c:967
 #, no-c-format
 msgid "%s:%d: file %s left but not entered"
 msgstr "%s:%d: 文件 %s 被留下但未进入"
 
-#: fortran/scanner.c:951
+#: fortran/scanner.c:994
 #, no-c-format
 msgid "%s:%d: Illegal preprocessor directive"
 msgstr "%s:%d:无效的预包含指示"
 
-#: fortran/scanner.c:1026
+#: fortran/scanner.c:1069
 #, no-c-format
 msgid "File '%s' is being included recursively"
 msgstr "文件‘%s’被递归地包含"
 
-#: fortran/scanner.c:1035
+#: fortran/scanner.c:1084
 #, no-c-format
 msgid "Can't open file '%s'"
 msgstr "无法打开文件‘%s’"
 
-#: fortran/scanner.c:1044
+#: fortran/scanner.c:1093
 #, no-c-format
 msgid "Can't open included file '%s'"
 msgstr "无法打开包含文件‘%s’"
 
-#: fortran/scanner.c:1133
+#: fortran/scanner.c:1195
 #, c-format
 msgid "%s:%3d %s\n"
 msgstr "%s:%3d %s\n"
@@ -8099,119 +8201,119 @@ msgstr "如果 ATAN2 %L 的第一个参数为 0,第二个参数必须不为 0"
 msgid "Bad character in CHAR function at %L"
 msgstr ""
 
-#: fortran/simplify.c:1193
+#: fortran/simplify.c:1195
 #, no-c-format
 msgid "Argument of IACHAR at %L must be of length one"
 msgstr "%L 处 IACHAR 的参数长度必须为 1"
 
-#: fortran/simplify.c:1233
+#: fortran/simplify.c:1235
 #, no-c-format
 msgid "Invalid second argument of IBCLR at %L"
 msgstr "%L 处 IBCLR 的第二个参数无效"
 
-#: fortran/simplify.c:1241
+#: fortran/simplify.c:1243
 #, no-c-format
 msgid "Second argument of IBCLR exceeds bit size at %L"
 msgstr ""
 
-#: fortran/simplify.c:1268
+#: fortran/simplify.c:1270
 #, no-c-format
 msgid "Invalid second argument of IBITS at %L"
 msgstr "%L 处 IBITS 的第二个参数无效"
 
-#: fortran/simplify.c:1274
+#: fortran/simplify.c:1276
 #, no-c-format
 msgid "Invalid third argument of IBITS at %L"
 msgstr "%L 处 IBITS 的第三个参数无效"
 
-#: fortran/simplify.c:1285
+#: fortran/simplify.c:1287
 #, no-c-format
 msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
 msgstr ""
 
-#: fortran/simplify.c:1333
+#: fortran/simplify.c:1335
 #, no-c-format
 msgid "Invalid second argument of IBSET at %L"
 msgstr "%L 处 IBSET 的第二个参数无效"
 
-#: fortran/simplify.c:1341
+#: fortran/simplify.c:1343
 #, no-c-format
 msgid "Second argument of IBSET exceeds bit size at %L"
 msgstr ""
 
-#: fortran/simplify.c:1364
+#: fortran/simplify.c:1369
 #, no-c-format
 msgid "Argument of ICHAR at %L must be of length one"
 msgstr "%L 处 ICHAR 的参数长度必须为 1"
 
-#: fortran/simplify.c:1372
+#: fortran/simplify.c:1377
 #, no-c-format
 msgid "Argument of ICHAR at %L out of range of this processor"
 msgstr ""
 
-#: fortran/simplify.c:1580
+#: fortran/simplify.c:1585
 #, no-c-format
 msgid "Argument of INT at %L is not a valid type"
 msgstr "%L 处 INT 的实参类型无效"
 
-#: fortran/simplify.c:1657
+#: fortran/simplify.c:1662
 #, no-c-format
 msgid "Invalid second argument of ISHFT at %L"
 msgstr "%L 处 ISHFT 的第二个参数无效"
 
-#: fortran/simplify.c:1673
+#: fortran/simplify.c:1678
 #, no-c-format
 msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
 msgstr ""
 
-#: fortran/simplify.c:1737
+#: fortran/simplify.c:1742
 #, no-c-format
 msgid "Invalid second argument of ISHFTC at %L"
 msgstr "%L 处 ISHFTC 的第二个参数无效"
 
-#: fortran/simplify.c:1747
+#: fortran/simplify.c:1752
 #, no-c-format
 msgid "Invalid third argument of ISHFTC at %L"
 msgstr "%L 处 ISHFTC 的第三个参数无效"
 
-#: fortran/simplify.c:1762
+#: fortran/simplify.c:1767
 #, no-c-format
 msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
 msgstr ""
 
-#: fortran/simplify.c:1832
+#: fortran/simplify.c:1837
 #, no-c-format
 msgid "Argument of KIND at %L is a DERIVED type"
 msgstr "%L 处 KIND 的实参具有 DERIVED 类型"
 
-#: fortran/simplify.c:1903
+#: fortran/simplify.c:1908
 #, no-c-format
 msgid "DIM argument at %L is out of bounds"
 msgstr "%L 处的 DIM 参数越界"
 
-#: fortran/simplify.c:2033
+#: fortran/simplify.c:2038
 #, no-c-format
 msgid "Argument of LOG at %L cannot be less than or equal to zero"
 msgstr ""
 
-#: fortran/simplify.c:2046
+#: fortran/simplify.c:2051
 #, no-c-format
 msgid "Complex argument of LOG at %L cannot be zero"
 msgstr ""
 
-#: fortran/simplify.c:2090
+#: fortran/simplify.c:2095
 #, no-c-format
 msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
 msgstr ""
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:2265
+#: fortran/simplify.c:2272
 #, no-c-format
 msgid "Second argument MOD at %L is zero"
 msgstr "%L 处 MOD 的第二个参数为 0"
 
 #. Result is processor-dependent.
-#: fortran/simplify.c:2276
+#: fortran/simplify.c:2283
 #, no-c-format
 msgid "Second argument of MOD at %L is zero"
 msgstr "%L 处 MOD 的第二个参数为 0"
@@ -8219,72 +8321,72 @@ 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:2322 fortran/simplify.c:2334
+#: fortran/simplify.c:2331 fortran/simplify.c:2343
 #, no-c-format
 msgid "Second argument of MODULO at %L is zero"
 msgstr "%L 处 MODULO 的第二个参数为 0"
 
-#: fortran/simplify.c:2391
+#: fortran/simplify.c:2400
 #, no-c-format
 msgid "Second argument of NEAREST at %L may not be zero"
 msgstr "%L 处 NEAREST 的第二个参数不能为 0"
 
-#: fortran/simplify.c:2699
+#: fortran/simplify.c:2708
 #, no-c-format
 msgid "Invalid second argument of REPEAT at %L"
 msgstr "%L 处 REPEAT 的第二个参数无效"
 
-#: fortran/simplify.c:2773
+#: fortran/simplify.c:2782
 #, no-c-format
 msgid "Integer too large in shape specification at %L"
 msgstr "%L 处外形指定中整数太大"
 
-#: fortran/simplify.c:2783
+#: fortran/simplify.c:2792
 #, no-c-format
 msgid "Too many dimensions in shape specification for RESHAPE at %L"
 msgstr "%L 为 RESHAPE 指定的维数太多"
 
-#: fortran/simplify.c:2791
+#: fortran/simplify.c:2800
 #, no-c-format
 msgid "Shape specification at %L cannot be negative"
 msgstr "%L 处外形指定不能为负数"
 
-#: fortran/simplify.c:2801
+#: fortran/simplify.c:2810
 #, no-c-format
 msgid "Shape specification at %L cannot be the null array"
 msgstr ""
 
-#: fortran/simplify.c:2825
+#: fortran/simplify.c:2834
 #, no-c-format
 msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
 msgstr ""
 
-#: fortran/simplify.c:2832
+#: fortran/simplify.c:2841
 #, no-c-format
 msgid "Error in ORDER parameter of RESHAPE at %L"
 msgstr ""
 
-#: fortran/simplify.c:2842
+#: fortran/simplify.c:2851
 #, no-c-format
 msgid "ORDER parameter of RESHAPE at %L is out of range"
 msgstr ""
 
-#: fortran/simplify.c:2851
+#: fortran/simplify.c:2860
 #, no-c-format
 msgid "Invalid permutation in ORDER parameter at %L"
 msgstr ""
 
-#: fortran/simplify.c:2908
+#: fortran/simplify.c:2917
 #, no-c-format
 msgid "PAD parameter required for short SOURCE parameter at %L"
 msgstr ""
 
-#: fortran/simplify.c:3042
+#: fortran/simplify.c:3051
 #, no-c-format
 msgid "Result of SCALE overflows its kind at %L"
 msgstr "%L 处 SCALE 的结果上溢其种别"
 
-#: fortran/simplify.c:3623
+#: fortran/simplify.c:3632
 #, no-c-format
 msgid "Argument of SQRT at %L has a negative value"
 msgstr "%L 处 SQRT 的参数为负"
@@ -8319,143 +8421,143 @@ msgstr "符号‘%s’(位于 %L)没有 IMPLICIT 类型"
 msgid "%s attribute not allowed in BLOCK DATA program unit at %L"
 msgstr "%s 属性在 %L 处不允许出现在 BLOCAK DATA 程序单元中"
 
-#: fortran/symbol.c:497 fortran/symbol.c:976
+#: fortran/symbol.c:506 fortran/symbol.c:997
 #, no-c-format
 msgid "%s attribute conflicts with %s attribute at %L"
 msgstr "%s 属性与 %s 属性在 %L 处冲突"
 
-#: fortran/symbol.c:500
+#: fortran/symbol.c:509
 #, no-c-format
 msgid "%s attribute conflicts with %s attribute in '%s' at %L"
 msgstr "%s 属性与 %s 属性冲突,在‘%s’中,位于 %L"
 
-#: fortran/symbol.c:542
+#: fortran/symbol.c:551
 #, no-c-format
 msgid "Cannot change attributes of USE-associated symbol at %L"
 msgstr ""
 
-#: fortran/symbol.c:545
+#: fortran/symbol.c:554
 #, no-c-format
 msgid "Cannot change attributes of USE-associated symbol %s at %L"
 msgstr ""
 
-#: fortran/symbol.c:567
+#: fortran/symbol.c:576
 #, no-c-format
 msgid "Cannot change attributes of symbol at %L after it has been used"
 msgstr ""
 
-#: fortran/symbol.c:583
+#: fortran/symbol.c:592
 #, no-c-format
 msgid "Duplicate %s attribute specified at %L"
 msgstr "重复的 %s 属性在 %L 处被指定"
 
-#: fortran/symbol.c:712
+#: fortran/symbol.c:733
 #, no-c-format
 msgid "Cray Pointee at %L appears in multiple pointer() statements."
 msgstr ""
 
-#: fortran/symbol.c:744
+#: fortran/symbol.c:765
 #, no-c-format
 msgid "SAVE attribute at %L cannot be specified in a PURE procedure"
 msgstr "%L 处 PURE 过程不能指定 SAVE 属性"
 
-#: fortran/symbol.c:752
+#: fortran/symbol.c:773
 #, no-c-format
 msgid "Duplicate SAVE attribute specified at %L"
 msgstr "%L 指定了重复的 SAVE 属性"
 
-#: fortran/symbol.c:1006
+#: fortran/symbol.c:1027
 #, no-c-format
 msgid "%s procedure at %L is already declared as %s procedure"
 msgstr ""
 
-#: fortran/symbol.c:1041
+#: fortran/symbol.c:1062
 #, no-c-format
 msgid "INTENT (%s) conflicts with INTENT(%s) at %L"
 msgstr "INTENT (%s) 与 INTENT(%s) 在 %L 冲突"
 
-#: fortran/symbol.c:1064
+#: fortran/symbol.c:1085
 #, no-c-format
 msgid "ACCESS specification at %L was already specified"
 msgstr ""
 
-#: fortran/symbol.c:1084
+#: fortran/symbol.c:1105
 #, no-c-format
 msgid "Symbol '%s' at %L already has an explicit interface"
 msgstr "符号‘%s’在 %L 处已经有了显式接口"
 
-#: fortran/symbol.c:1112
+#: fortran/symbol.c:1133
 #, no-c-format
 msgid "Symbol '%s' at %L already has basic type of %s"
 msgstr "符号‘%s’在 %L 处已经有了基本类型 %s"
 
-#: fortran/symbol.c:1124
+#: fortran/symbol.c:1145
 #, no-c-format
 msgid "Symbol '%s' at %L cannot have a type"
 msgstr "符号‘%s’于 %L 处不能有类型"
 
-#: fortran/symbol.c:1262
+#: fortran/symbol.c:1283
 #, no-c-format
 msgid "Component '%s' at %C already declared at %L"
 msgstr "组件‘%s’在 %C 处已经于 %L 处被声明"
 
-#: fortran/symbol.c:1340
+#: fortran/symbol.c:1361
 #, no-c-format
 msgid "Symbol '%s' at %C is ambiguous"
 msgstr "符号‘%s’在 %C 处有歧义"
 
-#: fortran/symbol.c:1380
+#: fortran/symbol.c:1393
 #, no-c-format
 msgid "Derived type '%s' at %C is being used before it is defined"
 msgstr ""
 
-#: fortran/symbol.c:1408
+#: fortran/symbol.c:1421
 #, no-c-format
 msgid "'%s' at %C is not a member of the '%s' structure"
 msgstr "‘%s’在 %C 处不是‘%s’结构的成员"
 
-#: fortran/symbol.c:1414
+#: fortran/symbol.c:1427
 #, no-c-format
 msgid "Component '%s' at %C is a PRIVATE component of '%s'"
 msgstr "组件‘%s’在 %C 处是‘%s’的 PRIVATE 组件"
 
-#: fortran/symbol.c:1554
+#: fortran/symbol.c:1571
 #, no-c-format
 msgid "Duplicate statement label %d at %L and %L"
 msgstr "重复的语句标号 %d 出现在 %L 和 %L 处"
 
-#: fortran/symbol.c:1564
+#: fortran/symbol.c:1581
 #, no-c-format
 msgid "Label %d at %C already referenced as branch target"
 msgstr ""
 
-#: fortran/symbol.c:1573
+#: fortran/symbol.c:1590
 #, no-c-format
 msgid "Label %d at %C already referenced as a format label"
 msgstr ""
 
-#: fortran/symbol.c:1615
+#: fortran/symbol.c:1632
 #, no-c-format
 msgid "Label %d at %C previously used as a FORMAT label"
 msgstr ""
 
-#: fortran/symbol.c:1623
+#: fortran/symbol.c:1640
 #, no-c-format
 msgid "Label %d at %C previously used as branch target"
 msgstr ""
 
-#: fortran/symbol.c:1876
+#: fortran/symbol.c:1893
 #, no-c-format
 msgid "Name '%s' at %C is an ambiguous reference to '%s' from module '%s'"
 msgstr ""
 
-#: fortran/symbol.c:1879
+#: fortran/symbol.c:1896
 #, no-c-format
 msgid "Name '%s' at %C is an ambiguous reference to '%s' from current program unit"
 msgstr ""
 
 #. Symbol is from another namespace.
-#: fortran/symbol.c:2016
+#: fortran/symbol.c:2033
 #, no-c-format
 msgid "Symbol '%s' at %C has already been host associated"
 msgstr ""
@@ -8521,21 +8623,21 @@ msgstr "对数组的引用超出范围"
 msgid "Incorrect function return value"
 msgstr "不正确的函数返回值"
 
-#: fortran/trans-decl.c:437
+#: fortran/trans-decl.c:438
 #, no-c-format
 msgid "storage size not known"
 msgstr "存储大小未知"
 
-#: fortran/trans-decl.c:444
+#: fortran/trans-decl.c:445
 #, no-c-format
 msgid "storage size not constant"
 msgstr "存储大小不是常量"
 
-#: fortran/trans-io.c:476
+#: fortran/trans-io.c:533
 msgid "Assigned label is not a format label"
 msgstr "赋值标号不是格式标号"
 
-#: fortran/trans-io.c:876
+#: fortran/trans-io.c:974
 #, no-c-format
 msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers."
 msgstr ""
@@ -8549,7 +8651,7 @@ msgstr "赋值标号不是目标标号"
 msgid "Assigned label is not in the list"
 msgstr ""
 
-#: fortran/trans-stmt.c:265
+#: fortran/trans-stmt.c:319
 #, no-c-format
 msgid "An alternate return at %L without a * dummy argument"
 msgstr "%L 不带 * 哑实参的替代返回"
@@ -8756,7 +8858,7 @@ msgstr "不是一个有效的 Java .class 文件。\n"
 msgid "error while parsing constant pool\n"
 msgstr "词法分析常量池时出错\n"
 
-#: java/jcf-dump.c:841 java/jcf-parse.c:753
+#: java/jcf-dump.c:841 java/jcf-parse.c:759
 #, gcc-internal-format
 msgid "error in constant pool entry #%d\n"
 msgstr "常量池条目 #%d 出错\n"
@@ -8938,220 +9040,58 @@ msgstr ""
 msgid "cannot specify 'main' class when not linking"
 msgstr "不链接时无法指定‘main’类"
 
-#: java/parse-scan.y:879 java/parse.y:961 java/parse.y:1307 java/parse.y:1369
-#: java/parse.y:1577 java/parse.y:1800 java/parse.y:1809 java/parse.y:1820
-#: java/parse.y:1831 java/parse.y:1843 java/parse.y:1858 java/parse.y:1875
-#: java/parse.y:1877 java/parse.y:1958 java/parse.y:2135 java/parse.y:2204
-#: java/parse.y:2368 java/parse.y:2381 java/parse.y:2388 java/parse.y:2395
-#: java/parse.y:2406 java/parse.y:2408 java/parse.y:2446 java/parse.y:2448
-#: java/parse.y:2450 java/parse.y:2471 java/parse.y:2473 java/parse.y:2475
-#: java/parse.y:2491 java/parse.y:2493 java/parse.y:2514 java/parse.y:2516
-#: java/parse.y:2518 java/parse.y:2546 java/parse.y:2548 java/parse.y:2550
-#: java/parse.y:2552 java/parse.y:2570 java/parse.y:2572 java/parse.y:2583
-#: java/parse.y:2594 java/parse.y:2605 java/parse.y:2616 java/parse.y:2627
-#: java/parse.y:2640 java/parse.y:2644 java/parse.y:2646 java/parse.y:2659
-msgid "Missing term"
-msgstr "缺少项"
-
-#: java/parse-scan.y:881 java/parse.y:741 java/parse.y:779 java/parse.y:804
-#: java/parse.y:982 java/parse.y:1343 java/parse.y:1553 java/parse.y:1555
-#: java/parse.y:1785 java/parse.y:1811 java/parse.y:1822 java/parse.y:1833
-#: java/parse.y:1845 java/parse.y:1860
-msgid "';' expected"
-msgstr "此处需要‘;’"
-
-#: java/parse-scan.y:1372 java/parse.y:16472
-msgid "parse error"
-msgstr "语法错误"
-
-#: java/parse-scan.y:1373 java/parse.y:16473
-msgid "syntax error; also virtual memory exhausted"
-msgstr "语法错误;也可能是虚拟内存耗尽"
-
-#: java/parse-scan.y:1374 java/parse.y:16474
-msgid "parse error; also virtual memory exhausted"
-msgstr "语法错误;虚拟内存耗尽"
-
-#: java/parse-scan.y:1376 java/parse.y:16476
-msgid "parse error: cannot back up"
-msgstr "语法错误:不能备份"
-
-#: java/parse.y:739 java/parse.y:777
-msgid "Missing name"
-msgstr "缺少名"
-
-#: java/parse.y:802
-msgid "'*' expected"
-msgstr "此处需要‘*’"
-
-#: java/parse.y:816
-msgid "Class or interface declaration expected"
-msgstr "需要类或接口声明"
-
-#: java/parse.y:853 java/parse.y:855
-msgid "Missing class name"
-msgstr "缺少类名"
-
-#: java/parse.y:858 java/parse.y:862 java/parse.y:870 java/parse.y:1022
-#: java/parse.y:1288 java/parse.y:1290 java/parse.y:1620 java/parse.y:1871
-#: java/parse.y:1903 java/parse.y:1965
-msgid "'{' expected"
-msgstr "此处需要‘{’"
-
-#: java/parse.y:872
-msgid "Missing super class name"
-msgstr "缺少基类名"
-
-#: java/parse.y:882 java/parse.y:898
-msgid "Missing interface name"
-msgstr "缺少接口名"
-
-#: java/parse.y:976
-msgid "Missing variable initializer"
-msgstr "缺少变量初始值设定"
-
-#: java/parse.y:993
-msgid "Invalid declaration"
-msgstr "无效声明"
-
-#: java/parse.y:996 java/parse.y:1086 java/parse.y:2150 java/parse.y:2179
-#: java/parse.y:2201 java/parse.y:2205 java/parse.y:2240 java/parse.y:2319
-#: java/parse.y:2329 java/parse.y:2339
-msgid "']' expected"
-msgstr "此处需要‘]’"
-
-#: java/parse.y:1000
-msgid "Unbalanced ']'"
-msgstr "‘]’不配对"
-
-#: java/parse.y:1036
-msgid "Invalid method declaration, method name required"
-msgstr "无效的方法声明,缺少方法名"
-
-#: java/parse.y:1042 java/parse.y:1048 java/parse.y:1054 java/parse.y:2053
-msgid "Identifier expected"
-msgstr "此处需要标识符"
-
-#: java/parse.y:1060 java/parse.y:4738
-#, gcc-internal-format
-msgid "Invalid method declaration, return type required"
-msgstr "无效的方法声明,缺少返回类型"
-
-#: java/parse.y:1084 java/parse.y:1533 java/parse.y:1540 java/parse.y:1549
-#: java/parse.y:1551 java/parse.y:1579 java/parse.y:1688 java/parse.y:1995
-#: java/parse.y:2048
-msgid "')' expected"
-msgstr "此处需要‘)’"
-
-#: java/parse.y:1100
-msgid "Missing formal parameter term"
-msgstr "缺少实参项"
-
-#: java/parse.y:1115 java/parse.y:1120
-msgid "Missing identifier"
-msgstr "缺少标识符"
-
-#: java/parse.y:1140 java/parse.y:1149
-msgid "Missing class type term"
-msgstr "缺少类名项"
-
-#: java/parse.y:1305
-msgid "Invalid interface type"
-msgstr "无效的指口类型"
-
-#: java/parse.y:1493 java/parse.y:1667 java/parse.y:1669
-msgid "':' expected"
-msgstr "此处需要‘:’"
-
-#: java/parse.y:1519 java/parse.y:1524 java/parse.y:1529
-msgid "Invalid expression statement"
-msgstr "无效的表达式语句"
-
-#: java/parse.y:1547 java/parse.y:1575 java/parse.y:1616 java/parse.y:1684
-#: java/parse.y:1752 java/parse.y:1873 java/parse.y:1951 java/parse.y:2042
-#: java/parse.y:2044 java/parse.y:2057 java/parse.y:2300 java/parse.y:2302
-msgid "'(' expected"
-msgstr "此处需要‘(’"
-
-#: java/parse.y:1618
-msgid "Missing term or ')'"
-msgstr "缺项或‘)’"
-
-#: java/parse.y:1665
-msgid "Missing or invalid constant expression"
-msgstr "缺少或无效的常量表达式"
-
-#: java/parse.y:1686
-msgid "Missing term and ')' expected"
-msgstr "缺少项或‘)’"
-
-#: java/parse.y:1725
-msgid "Invalid control expression"
-msgstr "无效的控制表达式"
-
-#: java/parse.y:1727 java/parse.y:1729
-msgid "Invalid update expression"
-msgstr "无效的更新表达式"
-
-#: java/parse.y:1754
-msgid "Invalid init statement"
-msgstr "无效的初始化语句"
-
-#: java/parse.y:1954
-msgid "Missing term or ')' expected"
-msgstr "缺少项或‘)’"
-
-#: java/parse.y:1997
-msgid "'class' or 'this' expected"
-msgstr "此处需要‘class’或‘this’"
+#: config/mcore/mcore.h:57
+msgid "the m210 does not have little endian support"
+msgstr "m210 不支持低位字节在前"
 
-#: java/parse.y:1999 java/parse.y:2001
-msgid "'class' expected"
-msgstr "此处需要‘class’"
+#: config/lynx.h:71
+msgid "cannot use mthreads and mlegacy-threads together"
+msgstr "不能同时使用 mthreads 和 mlegacy-threads"
 
-#: java/parse.y:2046
-msgid "')' or term expected"
-msgstr "需要项或‘)’"
+#: config/lynx.h:96
+msgid "cannot use mshared and static together"
+msgstr "不能同时使用 mshared 和 static"
 
-#: java/parse.y:2148 java/parse.y:2177
-msgid "'[' expected"
-msgstr "此处需要‘[’"
+#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+#: config/sparc/sol2-bi.h:169 config/sparc/sol2-bi.h:174
+msgid "does not support multilib"
+msgstr "不支持 multilib"
 
-#: java/parse.y:2255
-msgid "Field expected"
-msgstr "需要字段 "
+#: config/mips/r3900.h:35
+msgid "-mhard-float not supported"
+msgstr "不支持 -mhard-float"
 
-#: java/parse.y:2314 java/parse.y:2324 java/parse.y:2334
-msgid "Missing term and ']' expected"
-msgstr "缺少项或‘]’"
+#: config/mips/r3900.h:37
+msgid "-msingle-float and -msoft-float cannot both be specified"
+msgstr "不能同时指定 -msingle-float 和 -msoft-float"
 
-#: java/parse.y:2439
-msgid "']' expected, invalid type expression"
-msgstr "需要‘]’,无效的类型表达式"
+#: config/i386/cygwin.h:29
+msgid "mno-cygwin and mno-win32 are not compatible"
+msgstr "mno-cygwin 和 mno-win32 互不兼容"
 
-#: java/parse.y:2442
-msgid "Invalid type expression"
-msgstr "表达式类型无效"
+#: config/i386/cygwin.h:70 config/i386/mingw32.h:58
+msgid "shared and mdll are not compatible"
+msgstr "shared 和 mdll 互不兼容"
 
-#: java/parse.y:2554
-msgid "Invalid reference type"
-msgstr "无效的引用类型"
+#: config/vax/netbsd-elf.h:42
+msgid "the -shared option is not currently supported for VAX ELF"
+msgstr "-shared 选项目前在 VAX ELF 下不受支持"
 
-#: java/parse.y:3025
-msgid "Constructor invocation must be first thing in a constructor"
-msgstr "构造函数调用必须是构造函数所做的第一件事"
+#: config/vax/vax.h:50 config/vax/vax.h:51
+msgid "profiling not supported with -mg\n"
+msgstr "取样不支持 -mg\n"
 
-#: java/parse.y:3027
-msgid "Only constructors can invoke constructors"
-msgstr "只有构造函数才能调用构造函数"
+#: config/arm/arm.h:141
+msgid "-msoft-float and -mhard_float may not be used together"
+msgstr "-msoft-float 和 -mhard_float 不能一起使用"
 
-#: config/i386/nwld.h:34
-msgid "Static linking is not supported.\n"
-msgstr "不支持静态链接。\n"
+#: config/arm/arm.h:143
+msgid "-mbig-endian and -mlittle-endian may not be used together"
+msgstr "-mbig-endian 和 -mlittle-endian 不能一起使用"
 
-#: config/mcore/mcore.h:57
-msgid "the m210 does not have little endian support"
-msgstr "m210 不支持低位字节在前"
+#: config/arc/arc.h:62 config/mips/mips.h:849
+msgid "may not use both -EB and -EL"
+msgstr "不能同时使用 -EB 和 -EL"
 
 #: config/i386/sco5.h:189
 msgid "-pg not supported on this platform"
@@ -9165,6 +9105,60 @@ msgstr "指定了 -p 和 -pp - 选择其中之一"
 msgid "-G and -static are mutually exclusive"
 msgstr "不能同时使用 -G 和 --static 选项"
 
+#: config/rs6000/darwin.h:105
+msgid " conflicting code gen style switches are used"
+msgstr " 冲突的代码生成选项"
+
+#: ada/lang-specs.h:34 gcc.c:794 java/jvspec.c:80
+msgid "-pg and -fomit-frame-pointer are incompatible"
+msgstr "-pg 和 -fomit-frame-pointer 互不兼容"
+
+#: ada/lang-specs.h:35
+msgid "-c or -S required for Ada"
+msgstr "Ada 需要 -c 或者 -S"
+
+#: gcc.c:767
+msgid "GCC does not support -C or -CC without -E"
+msgstr "GCC 只允许 -E 与 -C 或 -CC 合用"
+
+#: gcc.c:961
+msgid "-E or -x required when input is from standard input"
+msgstr "当输入来自标准输入设备时,需要 -E 或 -x"
+
+#: config/s390/tpf.h:125
+msgid "static is not supported on TPF-OS"
+msgstr "TPF-OS 不支持 static"
+
+#: config/sh/sh.h:460
+msgid "SH2a does not support little-endian"
+msgstr "SH2a 不支持低位字节在前"
+
+#: config/sparc/linux64.h:206 config/sparc/linux64.h:217
+#: config/sparc/netbsd-elf.h:126 config/sparc/netbsd-elf.h:145
+#: config/sparc/sol2-bi.h:197 config/sparc/sol2-bi.h:207
+msgid "may not use both -m32 and -m64"
+msgstr "不能同时使用 -m32 和 -m64"
+
+#: config/vxworks.h:66
+msgid "-Xbind-now and -Xbind-lazy are incompatible"
+msgstr "-Xbind-now 与 -Xbind-lazy 不兼容"
+
+#: config/i386/nwld.h:35
+msgid "Static linking is not supported.\n"
+msgstr "不支持静态链接。\n"
+
+#: java/lang-specs.h:34
+msgid "-fjni and -femit-class-files are incompatible"
+msgstr "-fjni 和 -femit-class-files 互不兼容"
+
+#: java/lang-specs.h:35
+msgid "-fjni and -femit-class-file are incompatible"
+msgstr "-fjni 与 -femit-class-file 不兼容"
+
+#: java/lang-specs.h:36 java/lang-specs.h:37
+msgid "-femit-class-file should used along with -fsyntax-only"
+msgstr "-femit-class-file 应当与 -fsyntax-only 一起使用"
+
 #: config/darwin.h:239
 msgid "-current_version only allowed with -dynamiclib"
 msgstr "-current_version 只能和 -dynamiclib 一起使用"
@@ -9197,112 +9191,13 @@ msgstr "-keep_private_externs 不能和 -dynamiclib 一起使用"
 msgid "-private_bundle not allowed with -dynamiclib"
 msgstr "-private_bundle 不能和 -dynamiclib 一起使用"
 
-#: config/rs6000/darwin.h:105
-msgid " conflicting code gen style switches are used"
-msgstr " 冲突的代码生成选项"
+#: java/lang.opt:66
+msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+msgstr "当使用过时的编译器特性,类,方法或字段时给出警告"
 
-#: config/vxworks.h:66
-msgid "-Xbind-now and -Xbind-lazy are incompatible"
-msgstr "-Xbind-now 与 -Xbind-lazy 不兼容"
-
-#: config/arm/arm.h:141
-msgid "-msoft-float and -mhard_float may not be used together"
-msgstr "-msoft-float 和 -mhard_float 不能一起使用"
-
-#: config/arm/arm.h:143
-msgid "-mbig-endian and -mlittle-endian may not be used together"
-msgstr "-mbig-endian 和 -mlittle-endian 不能一起使用"
-
-#: java/jvspec.c:80 ada/lang-specs.h:34 gcc.c:794
-msgid "-pg and -fomit-frame-pointer are incompatible"
-msgstr "-pg 和 -fomit-frame-pointer 互不兼容"
-
-#: ada/lang-specs.h:35
-msgid "-c or -S required for Ada"
-msgstr "Ada 需要 -c 或者 -S"
-
-#: config/sparc/linux64.h:206 config/sparc/linux64.h:217
-#: config/sparc/netbsd-elf.h:126 config/sparc/netbsd-elf.h:145
-#: config/sparc/sol2-bi.h:195 config/sparc/sol2-bi.h:205
-msgid "may not use both -m32 and -m64"
-msgstr "不能同时使用 -m32 和 -m64"
-
-#: config/sparc/sol2-bi.h:167 config/sparc/sol2-bi.h:172
-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
-msgid "does not support multilib"
-msgstr "不支持 multilib"
-
-#: config/s390/tpf.h:125
-msgid "static is not supported on TPF-OS"
-msgstr "TPF-OS 不支持 static"
-
-#: config/mips/mips.h:849 config/arc/arc.h:62
-msgid "may not use both -EB and -EL"
-msgstr "不能同时使用 -EB 和 -EL"
-
-#: config/lynx.h:71
-msgid "cannot use mthreads and mlegacy-threads together"
-msgstr "不能同时使用 mthreads 和 mlegacy-threads"
-
-#: config/lynx.h:96
-msgid "cannot use mshared and static together"
-msgstr "不能同时使用 mshared 和 static"
-
-#: config/mips/r3900.h:35
-msgid "-mhard-float not supported"
-msgstr "不支持 -mhard-float"
-
-#: config/mips/r3900.h:37
-msgid "-msingle-float and -msoft-float cannot both be specified"
-msgstr "不能同时指定 -msingle-float 和 -msoft-float"
-
-#: java/lang-specs.h:34
-msgid "-fjni and -femit-class-files are incompatible"
-msgstr "-fjni 和 -femit-class-files 互不兼容"
-
-#: java/lang-specs.h:35
-msgid "-fjni and -femit-class-file are incompatible"
-msgstr "-fjni 与 -femit-class-file 不兼容"
-
-#: java/lang-specs.h:36 java/lang-specs.h:37
-msgid "-femit-class-file should used along with -fsyntax-only"
-msgstr "-femit-class-file 应当与 -fsyntax-only 一起使用"
-
-#: config/sh/sh.h:460
-msgid "SH2a does not support little-endian"
-msgstr "SH2a 不支持低位字节在前"
-
-#: config/i386/mingw32.h:58 config/i386/cygwin.h:70
-msgid "shared and mdll are not compatible"
-msgstr "shared 和 mdll 互不兼容"
-
-#: gcc.c:767
-msgid "GCC does not support -C or -CC without -E"
-msgstr "GCC 只允许 -E 与 -C 或 -CC 合用"
-
-#: gcc.c:961
-msgid "-E or -x required when input is from standard input"
-msgstr "当输入来自标准输入设备时,需要 -E 或 -x"
-
-#: config/vax/netbsd-elf.h:42
-msgid "the -shared option is not currently supported for VAX ELF"
-msgstr "-shared 选项目前在 VAX ELF 下不受支持"
-
-#: config/vax/vax.h:50 config/vax/vax.h:51
-msgid "profiling not supported with -mg\n"
-msgstr "取样不支持 -mg\n"
-
-#: config/i386/cygwin.h:29
-msgid "mno-cygwin and mno-win32 are not compatible"
-msgstr "mno-cygwin 和 mno-win32 互不兼容"
-
-#: java/lang.opt:66
-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
-msgstr "当使用过时的编译器特性,类,方法或字段时给出警告"
-
-#: java/lang.opt:70
-msgid "Warn if deprecated empty statements are found"
-msgstr "发现过时的空语句时给出警告"
+#: java/lang.opt:70
+msgid "Warn if deprecated empty statements are found"
+msgstr "发现过时的空语句时给出警告"
 
 #: java/lang.opt:74
 msgid "Warn if .class files are out of date"
@@ -9505,57 +9400,90 @@ msgid "Use n as character line width in fixed mode"
 msgstr "在固定模式下以 n 作为字符行宽"
 
 #: fortran/lang.opt:146
+#, fuzzy
+msgid "Allow arbitrary character line width in free mode"
+msgstr "在固定模式下允许任意的字符行宽"
+
+#: fortran/lang.opt:150
+#, fuzzy
+msgid "Use n as character line width in free mode"
+msgstr "在固定模式下以 n 作为字符行宽"
+
+#: fortran/lang.opt:154
 msgid "Maximum identifier length"
 msgstr "标识符的最大长度"
 
-#: fortran/lang.opt:150
+#: fortran/lang.opt:158
 msgid "Size in bytes of the largest array that will be put on the stack"
 msgstr ""
 
-#: fortran/lang.opt:154
+#: fortran/lang.opt:162
 msgid "Set default accessibility of module entities to PRIVATE"
 msgstr ""
 
-#: fortran/lang.opt:158
+#: fortran/lang.opt:166
 msgid "Don't generate code, just do syntax and semantics checking"
 msgstr "不生成代码,仅做语法和语义检查"
 
-#: fortran/lang.opt:162
+#: fortran/lang.opt:170
 msgid "Try to layout derived types as compact as possible"
 msgstr ""
 
-#: fortran/lang.opt:166
+#: fortran/lang.opt:174
 msgid "Copy array sections into a contiguous block on procedure entry"
 msgstr ""
 
-#: fortran/lang.opt:170
+#: fortran/lang.opt:178
+#, fuzzy
+msgid "Treat the input file as preprocessed"
+msgstr "将输入文件当作已经预处理过的"
+
+#: fortran/lang.opt:182
 msgid "Set the kind for a real with the 'q' exponent to 'n'"
 msgstr ""
 
-#: fortran/lang.opt:174
+#: fortran/lang.opt:186
 msgid "Stop on following floating point exceptions"
 msgstr "在以下浮点异常的情况下的停止"
 
-#: fortran/lang.opt:178
+#: fortran/lang.opt:190
 msgid "Conform to the ISO Fortran 95 standard"
 msgstr "遵循 ISO Fortran 95 标准"
 
-#: fortran/lang.opt:182
+#: fortran/lang.opt:194
 msgid "Conform to the ISO Fortran 2003 standard"
 msgstr "遵循 ISO Fortran 2003 标准"
 
-#: fortran/lang.opt:186
+#: fortran/lang.opt:198
 msgid "Conform nothing in particular"
 msgstr "不特别遵循任何标准"
 
-#: fortran/lang.opt:190
+#: fortran/lang.opt:202
 msgid "Accept extensions to support legacy code"
 msgstr "接受一定的扩展以支持传统的代码"
 
-#: fortran/lang.opt:194 c.opt:661
+#: fortran/lang.opt:206 c.opt:661
 msgid "Use the narrowest integer type possible for enumeration types"
 msgstr "为枚举类型使用尽可能窄的整数类型"
 
+#: fortran/lang.opt:210
+#, fuzzy
+msgid "Use little-endian format for unformatted files"
+msgstr "令低位字节在前"
+
+#: fortran/lang.opt:214
+#, fuzzy
+msgid "Use big-endian format for unformatted files"
+msgstr "令高位字节在前"
+
+#: fortran/lang.opt:218
+msgid "Use native format for unformatted files"
+msgstr ""
+
+#: fortran/lang.opt:222
+msgid "Swap endianness for unformatted files"
+msgstr ""
+
 #: treelang/lang.opt:30
 msgid "Trace lexical analysis"
 msgstr "跟踪词法分析"
@@ -9640,11 +9568,13 @@ msgstr "为局部函数生成间接分支"
 msgid "Emit rdval instead of rduniq for thread pointer"
 msgstr ""
 
-#: config/alpha/alpha.opt:103 config/sparc/long-double-switch.opt:24
+#: config/alpha/alpha.opt:103 config/s390/s390.opt:56
+#: config/sparc/long-double-switch.opt:24
 msgid "Use 128-bit long double"
 msgstr "使用 128 位 long double"
 
-#: config/alpha/alpha.opt:107 config/sparc/long-double-switch.opt:28
+#: config/alpha/alpha.opt:107 config/s390/s390.opt:60
+#: config/sparc/long-double-switch.opt:28
 msgid "Use 64-bit long double"
 msgstr "使用 64 位 long double"
 
@@ -9895,44 +9825,44 @@ msgstr "启用融合的乘加指令"
 msgid "Use hardware fp"
 msgstr "使用硬件浮点单元"
 
-#: config/s390/s390.opt:56
+#: config/s390/s390.opt:64
 msgid "Use packed stack layout"
 msgstr "使用紧实的堆栈布局"
 
-#: config/s390/s390.opt:60
+#: config/s390/s390.opt:68
 msgid "Use bras for executable < 64k"
 msgstr ""
 
-#: config/s390/s390.opt:64
+#: config/s390/s390.opt:72
 msgid "Don't use hardware fp"
 msgstr "不使用硬件浮点单元"
 
-#: config/s390/s390.opt:68
+#: config/s390/s390.opt:76
 msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
 msgstr ""
 
-#: config/s390/s390.opt:72
+#: config/s390/s390.opt:80
 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:76 config/ia64/ia64.opt:97 config/sparc/sparc.opt:96
+#: config/s390/s390.opt:84 config/ia64/ia64.opt:97 config/sparc/sparc.opt:96
 #: config/i386/i386.opt:222 config/rs6000/rs6000.opt:203
 msgid "Schedule code for given CPU"
 msgstr "为指定的 CPU 优化代码"
 
-#: config/s390/s390.opt:80
+#: config/s390/s390.opt:88
 msgid "mvcle use"
 msgstr "使用 mvcle"
 
-#: config/s390/s390.opt:84
+#: config/s390/s390.opt:92
 msgid "Warn if a function uses alloca or creates an array with dynamic size"
 msgstr "当函数使用 alloca 来创建变长数组时给出警告"
 
-#: config/s390/s390.opt:88
+#: config/s390/s390.opt:96
 msgid "Warn if a single function's framesize exceeds the given framesize"
 msgstr "当单个函数的帧大小超过给定值时给出警告"
 
-#: config/s390/s390.opt:92
+#: config/s390/s390.opt:100
 msgid "z/Architecture"
 msgstr "z/Architecture"
 
@@ -10028,7 +9958,7 @@ msgstr "及早放置停止位,以取得更好的调度效果"
 msgid "Specify range of registers to make fixed"
 msgstr ""
 
-#: config/m32c/m32c.opt:25 config/ms1/ms1.opt:32
+#: config/m32c/m32c.opt:25 config/mt/mt.opt:28
 msgid "Use simulator runtime"
 msgstr "使用仿真器运行时"
 
@@ -10795,24 +10725,20 @@ msgstr "生成的代码使用不可执行 PLT 和 GOT"
 msgid "Generate code for old exec BSS PLT"
 msgstr "为旧的可执行 BSS PLT 生成代码"
 
-#: config/ms1/ms1.opt:24
-msgid "Generate multiply instructions"
-msgstr "生成乘法指令"
-
-#: config/ms1/ms1.opt:28
+#: config/mt/mt.opt:24
 msgid "Use byte loads and stores when generating code."
 msgstr "生成代码时使用字节载入和存储。"
 
-#: config/ms1/ms1.opt:36
+#: config/mt/mt.opt:32
 msgid "Do not include crt0.o in the startup files"
 msgstr "不将 crt0.o 包含在启动文件中"
 
-#: config/ms1/ms1.opt:40 config/ms1/ms1.opt:44 config/ms1/ms1.opt:48
-#: config/ms1/ms1.opt:52 config/ms1/ms1.opt:56
+#: config/mt/mt.opt:36 config/mt/mt.opt:40 config/mt/mt.opt:44
+#: config/mt/mt.opt:48 config/mt/mt.opt:52
 msgid "Internal debug switch"
 msgstr "内部调试开关"
 
-#: config/ms1/ms1.opt:60 config/iq2000/iq2000.opt:24
+#: config/mt/mt.opt:56 config/iq2000/iq2000.opt:24
 msgid "Specify CPU for code generation purposes"
 msgstr "为代码生成指定目标 CPU"
 
@@ -12100,7 +12026,7 @@ msgstr "启用基于 ID 的共享库"
 
 #: config/bfin/bfin.opt:49
 msgid "Avoid generating pc-relative calls; use indirection"
-msgstr ""
+msgstr "避免生成相对 PC 的调用;使用间接调用"
 
 #: config/vxworks.opt:25
 msgid "Assume the VxWorks RTP environment"
@@ -13345,7 +13271,7 @@ msgstr "优化同级递归和尾递归"
 
 #: common.opt:615
 msgid "Pack structure members together without holes"
-msgstr ""
+msgstr "将结构成员不带间隔地紧实存放"
 
 #: common.opt:619
 msgid "Set initial maximum structure member alignment"
@@ -13833,52 +13759,52 @@ msgstr ""
 msgid "branch target register load optimization is not intended to be run twice"
 msgstr ""
 
-#: builtins.c:366
+#: builtins.c:375
 #, gcc-internal-format
 msgid "offset outside bounds of constant string"
 msgstr "偏移量越过字符串常量界"
 
-#: builtins.c:966
+#: builtins.c:975
 #, gcc-internal-format
 msgid "second argument to %<__builtin_prefetch%> must be a constant"
 msgstr "%<__builtin_prefetch%> 的第二个实参必须是一个常量"
 
-#: builtins.c:973
+#: builtins.c:982
 #, gcc-internal-format
 msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
 msgstr "%<__builtin_prefetch%> 的第二个实参无效;使用 0"
 
-#: builtins.c:981
+#: builtins.c:990
 #, gcc-internal-format
 msgid "third argument to %<__builtin_prefetch%> must be a constant"
 msgstr "%<__builtin_prefetch%> 的第三个实参必须是一个常量"
 
-#: builtins.c:988
+#: builtins.c:997
 #, gcc-internal-format
 msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
 msgstr "%<__builtin_prefetch%> 的第三个实参无效;使用 0"
 
-#: builtins.c:4078
+#: builtins.c:4087
 #, gcc-internal-format
 msgid "argument of %<__builtin_args_info%> must be constant"
 msgstr "%<__builtin_args_info%> 的实参必须是常量"
 
-#: builtins.c:4084
+#: builtins.c:4093
 #, gcc-internal-format
 msgid "argument of %<__builtin_args_info%> out of range"
 msgstr "%<__builtin_args_info%> 实参不在允许范围内"
 
-#: builtins.c:4090
+#: builtins.c:4099
 #, gcc-internal-format
 msgid "missing argument in %<__builtin_args_info%>"
 msgstr "%<__builtin_args_info%> 缺少实参"
 
-#: builtins.c:4186 gimplify.c:1883
+#: builtins.c:4195 gimplify.c:1882
 #, gcc-internal-format
 msgid "too few arguments to function %<va_start%>"
 msgstr "给函数 %<va_start%> 的参数太少"
 
-#: builtins.c:4349
+#: builtins.c:4359
 #, gcc-internal-format
 msgid "first argument to %<va_arg%> not of type %<va_list%>"
 msgstr "给 %<va_arg%> 的第一个参数的类型不是 %<va_list%>"
@@ -13886,86 +13812,86 @@ 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:4363
+#: builtins.c:4373
 #, gcc-internal-format
 msgid "%qT is promoted to %qT when passed through %<...%>"
 msgstr "通过 %<...%> 传递时 %qT 被提升为 %qT"
 
-#: builtins.c:4368
+#: builtins.c:4378
 #, 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:4374 c-typeck.c:2186
+#: builtins.c:4384 c-typeck.c:2186
 #, gcc-internal-format
 msgid "if this code is reached, the program will abort"
 msgstr "如果执行到这段代码,程序将中止"
 
-#: builtins.c:4493
+#: builtins.c:4503
 #, gcc-internal-format
 msgid "invalid argument to %<__builtin_frame_address%>"
 msgstr "%<__builtin_frame_address%> 的实参无效"
 
-#: builtins.c:4495
+#: builtins.c:4505
 #, gcc-internal-format
 msgid "invalid argument to %<__builtin_return_address%>"
 msgstr "%<__builtin_return_address%> 的实参无效"
 
-#: builtins.c:4508
+#: builtins.c:4518
 #, gcc-internal-format
 msgid "unsupported argument to %<__builtin_frame_address%>"
 msgstr "%<__builtin_frame_address%> 的实参不受支持"
 
-#: builtins.c:4510
+#: builtins.c:4520
 #, gcc-internal-format
 msgid "unsupported argument to %<__builtin_return_address%>"
 msgstr "%<__builtin_return_address%> 的实参不受支持"
 
-#: builtins.c:4613
+#: builtins.c:4623
 #, gcc-internal-format
 msgid "second argument to %<__builtin_expect%> must be a constant"
 msgstr "%<__builtin_expect%> 的第二个实参必须是一个常量"
 
-#: builtins.c:6075
+#: builtins.c:6095
 #, gcc-internal-format
 msgid "%<__builtin_longjmp%> second argument must be 1"
 msgstr "%<__builtin_longjmp%> 的第二个实参必须是 1"
 
-#: builtins.c:6639
+#: builtins.c:6659
 #, gcc-internal-format
 msgid "target format does not support infinity"
 msgstr "目标格式不支持无限大浮点数"
 
-#: builtins.c:8481 builtins.c:8575
+#: builtins.c:8501 builtins.c:8595
 #, gcc-internal-format
 msgid "too few arguments to function %qs"
 msgstr "给予函数 %qs 的参数太少"
 
-#: builtins.c:8487 builtins.c:8581
+#: builtins.c:8507 builtins.c:8601
 #, gcc-internal-format
 msgid "too many arguments to function %qs"
 msgstr "给予函数 %qs 的参数太多"
 
-#: builtins.c:8493 builtins.c:8606
+#: builtins.c:8513 builtins.c:8626
 #, gcc-internal-format
 msgid "non-floating-point argument to function %qs"
 msgstr "给予函数 %qs 的参数不是浮点数"
 
-#: builtins.c:9700
+#: builtins.c:9726
 #, gcc-internal-format
 msgid "%<va_start%> used in function with fixed args"
 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:9707
+#: builtins.c:9733
 #, gcc-internal-format
 msgid "%<__builtin_next_arg%> called without an argument"
 msgstr "调用 %<__builtin_next_arg%> 时没有给定实参"
 
-#: builtins.c:9722
+#: builtins.c:9748
 #, gcc-internal-format
 msgid "%<va_start%> used with too many arguments"
 msgstr "使用 %<va_start%> 时参数太多"
@@ -13975,22 +13901,22 @@ msgstr "使用 %<va_start%> 时参数太多"
 #. 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:9742
+#: builtins.c:9768
 #, gcc-internal-format
 msgid "second parameter of %<va_start%> not last named argument"
 msgstr "%<va_start%> 的第二个参数不是最后一个有名参数"
 
-#: builtins.c:9851
+#: builtins.c:9880
 #, gcc-internal-format
 msgid "%Hfirst argument of %D must be a pointer, second integer constant"
 msgstr "%H%D 的第一个实参必须是一个指针,第二个必须是整常量"
 
-#: builtins.c:9864
+#: builtins.c:9893
 #, gcc-internal-format
 msgid "%Hlast argument of %D is not integer constant between 0 and 3"
 msgstr "%H%D 的最后一个实参不是一个 0 到 3 之间的整常量"
 
-#: builtins.c:9910 builtins.c:10063 builtins.c:10128
+#: builtins.c:9939 builtins.c:10092 builtins.c:10160
 #, gcc-internal-format
 msgid "%Hcall to %D will always overflow destination buffer"
 msgstr "%H对 %D 的调用总是导致目标缓冲区溢出"
@@ -14036,479 +13962,509 @@ msgstr "大整数隐式截断为无符号类型"
 msgid "negative integer implicitly converted to unsigned type"
 msgstr "负整数隐式转换为无符号类型"
 
-#: c-common.c:1013
+#: c-common.c:975
+#, gcc-internal-format
+msgid "type-punning to incomplete type might break strict-aliasing rules"
+msgstr "类型双关作用在不完全类型上可能破坏强重叠规则"
+
+#: c-common.c:983
+#, gcc-internal-format
+msgid "dereferencing type-punned pointer will break strict-aliasing rules"
+msgstr "提领类型双关的指针将破坏强重叠规则"
+
+#: c-common.c:987
+#, gcc-internal-format
+msgid "dereferencing type-punned pointer might break strict-aliasing rules"
+msgstr "提领类型双关的指针可能破坏强重叠规则"
+
+#: c-common.c:1049
 #, gcc-internal-format
 msgid "overflow in implicit constant conversion"
 msgstr "隐式常量转换溢出"
 
-#: c-common.c:1149
+#: c-common.c:1185
 #, gcc-internal-format
 msgid "operation on %qE may be undefined"
 msgstr "%qE 上的运算结果可能是未定义的"
 
-#: c-common.c:1435
+#: c-common.c:1471
 #, gcc-internal-format
 msgid "case label does not reduce to an integer constant"
 msgstr "case 标号不能还原为一个整常量"
 
-#: c-common.c:1475
+#: c-common.c:1511
 #, gcc-internal-format
 msgid "case label value is less than minimum value for type"
 msgstr "case 标号值比该类型的最小值还要小"
 
-#: c-common.c:1483
+#: c-common.c:1519
 #, gcc-internal-format
 msgid "case label value exceeds maximum value for type"
 msgstr "case 标号值比该类型的最大值还要大"
 
-#: c-common.c:1491
+#: c-common.c:1527
 #, gcc-internal-format
 msgid "lower value in case label range less than minimum value for type"
 msgstr "case 标号范围的下限值比该类型的最小值还要小"
 
-#: c-common.c:1500
+#: c-common.c:1536
 #, gcc-internal-format
 msgid "upper value in case label range exceeds maximum value for type"
 msgstr "case 标号范围的上限值比该类型的最大值还要大"
 
-#: c-common.c:1840
+#: c-common.c:1876
 #, gcc-internal-format
 msgid "invalid truth-value expression"
 msgstr "无效的真值表达式"
 
-#: c-common.c:1888
+#: c-common.c:1924
 #, gcc-internal-format
 msgid "invalid operands to binary %s"
 msgstr "双目运算符 %s 操作数无效"
 
-#: c-common.c:2123
+#: c-common.c:2159
 #, gcc-internal-format
 msgid "comparison is always false due to limited range of data type"
 msgstr "由于数据类型范围限制,比较结果永远为假"
 
-#: c-common.c:2125
+#: c-common.c:2161
 #, gcc-internal-format
 msgid "comparison is always true due to limited range of data type"
 msgstr "由于数据类型范围限制,比较结果永远为真"
 
-#: c-common.c:2195
+#: c-common.c:2231
 #, gcc-internal-format
 msgid "comparison of unsigned expression >= 0 is always true"
 msgstr "无符号表达式永远大于或等于 0"
 
-#: c-common.c:2204
+#: c-common.c:2240
 #, gcc-internal-format
 msgid "comparison of unsigned expression < 0 is always false"
 msgstr "无符号表达式永远不小于 0"
 
-#: c-common.c:2246
+#: c-common.c:2282
 #, gcc-internal-format
 msgid "pointer of type %<void *%> used in arithmetic"
 msgstr "%<void *%> 型指针用在了算术表达式中"
 
-#: c-common.c:2252
+#: c-common.c:2288
 #, gcc-internal-format
 msgid "pointer to a function used in arithmetic"
 msgstr "在算术表达式中使用了函数指针"
 
-#: c-common.c:2258
+#: c-common.c:2294
 #, gcc-internal-format
 msgid "pointer to member function used in arithmetic"
 msgstr "在算术表达式中使用了成员指针"
 
 #. Common Ada/Pascal programmer's mistake.  We always warn
 #. about this since it is so bad.
-#: c-common.c:2384
+#: c-common.c:2420
 #, gcc-internal-format
 msgid "the address of %qD, will always evaluate as %<true%>"
 msgstr "%qD 的地址总是等价为 %<true%>"
 
-#: c-common.c:2481
+#: c-common.c:2517
 #, gcc-internal-format
 msgid "suggest parentheses around assignment used as truth value"
 msgstr "建议在用作真值的赋值语句前后加上括号"
 
-#: c-common.c:2549 c-common.c:2589
+#: c-common.c:2585 c-common.c:2625
 #, gcc-internal-format
 msgid "invalid use of %<restrict%>"
 msgstr "错误地使用了 %<restrict%>"
 
-#: c-common.c:2805
+#: c-common.c:2841
 #, gcc-internal-format
 msgid "invalid application of %<sizeof%> to a function type"
 msgstr "%<sizeof%> 不能用于函数类型"
 
-#: c-common.c:2815
+#: c-common.c:2851
 #, gcc-internal-format
 msgid "invalid application of %qs to a void type"
 msgstr "%qs 不能用于 void 类型"
 
-#: c-common.c:2821
+#: c-common.c:2857
 #, gcc-internal-format
 msgid "invalid application of %qs to incomplete type %qT "
 msgstr "%qs 不能用于不完全的类型 %qT"
 
-#: c-common.c:2862
+#: c-common.c:2898
 #, gcc-internal-format
 msgid "%<__alignof%> applied to a bit-field"
 msgstr "将 %<__alignof%> 用于位段"
 
-#: c-common.c:3393
+#: c-common.c:3444
 #, gcc-internal-format
 msgid "cannot disable built-in function %qs"
 msgstr "无法禁用内建函数 %qs"
 
-#: c-common.c:3581
+#: c-common.c:3632
 #, gcc-internal-format
 msgid "pointers are not permitted as case values"
 msgstr "指针不能用作 case 常量"
 
-#: c-common.c:3587
+#: c-common.c:3638
 #, gcc-internal-format
 msgid "range expressions in switch statements are non-standard"
 msgstr "在 switch 语句中使用范围表达式不符合标准"
 
-#: c-common.c:3613
+#: c-common.c:3664
 #, gcc-internal-format
 msgid "empty range specified"
 msgstr "指定范围为空"
 
-#: c-common.c:3673
+#: c-common.c:3724
 #, gcc-internal-format
 msgid "duplicate (or overlapping) case value"
 msgstr "重复 (或重叠) 的 case 值"
 
-#: c-common.c:3674
+#: c-common.c:3725
 #, gcc-internal-format
 msgid "%Jthis is the first entry overlapping that value"
 msgstr "%J这是重叠此值的第一个条目"
 
-#: c-common.c:3678
+#: c-common.c:3729
 #, gcc-internal-format
 msgid "duplicate case value"
 msgstr "重复的 case 常量"
 
-#: c-common.c:3679
+#: c-common.c:3730
 #, gcc-internal-format
 msgid "%Jpreviously used here"
 msgstr "%J已经在这里使用过"
 
-#: c-common.c:3683
+#: c-common.c:3734
 #, gcc-internal-format
 msgid "multiple default labels in one switch"
 msgstr "单个 switch 语句中出现了多个 default 标号"
 
-#: c-common.c:3684
+#: c-common.c:3735
 #, gcc-internal-format
 msgid "%Jthis is the first default label"
 msgstr "%J这是第一个默认标号"
 
-#: c-common.c:3733
+#: c-common.c:3784
 #, gcc-internal-format
 msgid "%Jcase value %qs not in enumerated type"
 msgstr "%Jcase 值 %qs 不在枚举类型内"
 
-#: c-common.c:3736
+#: c-common.c:3787
 #, gcc-internal-format
 msgid "%Jcase value %qs not in enumerated type %qT"
 msgstr "%Jcase 值 %qs 不在枚举类型 %qT 内"
 
-#: c-common.c:3793
+#: c-common.c:3844
 #, gcc-internal-format
 msgid "%Hswitch missing default case"
 msgstr "%Hswitch 没有默认 case"
 
 #. Warn if there are enumerators that don't correspond to
 #. case expressions.
-#: c-common.c:3853
+#: c-common.c:3904
 #, gcc-internal-format
 msgid "%Henumeration value %qE not handled in switch"
 msgstr "%Hswitch 没有处理枚举值 %qE"
 
-#: c-common.c:3880
+#: c-common.c:3931
 #, gcc-internal-format
 msgid "taking the address of a label is non-standard"
 msgstr "取标号的地址不符合标准"
 
-#: c-common.c:4049 c-common.c:4068 c-common.c:4086 c-common.c:4113
-#: c-common.c:4132 c-common.c:4155 c-common.c:4176 c-common.c:4201
-#: c-common.c:4227 c-common.c:4275 c-common.c:4302 c-common.c:4353
-#: c-common.c:4378 c-common.c:4406 c-common.c:4425 c-common.c:4757
-#: c-common.c:4822 c-common.c:4918 c-common.c:4984 c-common.c:5002
-#: c-common.c:5048 c-common.c:5118 c-common.c:5142 c-common.c:5429
-#: c-common.c:5452 c-common.c:5491
+#: c-common.c:4095
+#, fuzzy, gcc-internal-format
+msgid "%qE attribute ignored for field of type %qT"
+msgstr "%qE 属性为 %qE 所忽略"
+
+#: c-common.c:4106 c-common.c:4125 c-common.c:4143 c-common.c:4170
+#: c-common.c:4189 c-common.c:4212 c-common.c:4233 c-common.c:4258
+#: c-common.c:4284 c-common.c:4332 c-common.c:4359 c-common.c:4410
+#: c-common.c:4435 c-common.c:4463 c-common.c:4482 c-common.c:4814
+#: c-common.c:4879 c-common.c:4975 c-common.c:5041 c-common.c:5059
+#: c-common.c:5105 c-common.c:5175 c-common.c:5199 c-common.c:5498
+#: c-common.c:5521 c-common.c:5560
 #, gcc-internal-format
 msgid "%qE attribute ignored"
 msgstr "%qE 属性被忽略"
 
-#: c-common.c:4256
+#: c-common.c:4313
 #, gcc-internal-format
 msgid "%qE attribute have effect only on public objects"
 msgstr "%qE 属性只能应用到公共对象上"
 
-#: c-common.c:4463
+#: c-common.c:4520
 #, gcc-internal-format
 msgid "unknown machine mode %qs"
 msgstr "未知的机器模式 %qs"
 
-#: c-common.c:4483
+#: c-common.c:4540
 #, gcc-internal-format
 msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
 msgstr "指定矢量类型时使用 __attribute__ ((mode)) 已过时"
 
-#: c-common.c:4486
+#: c-common.c:4543
 #, gcc-internal-format
 msgid "use __attribute__ ((vector_size)) instead"
 msgstr "改用 __attribute__ ((vector_size))"
 
-#: c-common.c:4495
+#: c-common.c:4552
 #, gcc-internal-format
 msgid "unable to emulate %qs"
 msgstr "无法枚举 %qs"
 
-#: c-common.c:4505
+#: c-common.c:4562
 #, gcc-internal-format
 msgid "invalid pointer mode %qs"
 msgstr "无效的指针模式 %qs"
 
-#: c-common.c:4520
+#: c-common.c:4577
 #, gcc-internal-format
 msgid "no data type for mode %qs"
 msgstr "没有模式为 %qs 的数据类型"
 
-#: c-common.c:4530
+#: c-common.c:4587
 #, gcc-internal-format
 msgid "cannot use mode %qs for enumeral types"
 msgstr "无法为枚举类型使用模式 %qs"
 
-#: c-common.c:4557
+#: c-common.c:4614
 #, gcc-internal-format
 msgid "mode %qs applied to inappropriate type"
 msgstr "对不合适的类型应用模式 %qs"
 
-#: c-common.c:4588
+#: c-common.c:4645
 #, gcc-internal-format
 msgid "%Jsection attribute cannot be specified for local variables"
 msgstr "%J不能为局部变量指定 section 属性"
 
-#: c-common.c:4599
+#: c-common.c:4656
 #, gcc-internal-format
 msgid "section of %q+D conflicts with previous declaration"
 msgstr "%q+D 的节与早先的声明冲突"
 
-#: c-common.c:4608
+#: c-common.c:4665
 #, gcc-internal-format
 msgid "section attribute not allowed for %q+D"
 msgstr "%q+D 不能有 section 属性"
 
-#: c-common.c:4614
+#: c-common.c:4671
 #, gcc-internal-format
 msgid "%Jsection attributes are not supported for this target"
 msgstr "%Jsection 属性在此目标机上不受支持"
 
-#: c-common.c:4646
+#: c-common.c:4703
 #, gcc-internal-format
 msgid "requested alignment is not a constant"
 msgstr "要求的对齐边界不是常量"
 
-#: c-common.c:4651
+#: c-common.c:4708
 #, gcc-internal-format
 msgid "requested alignment is not a power of 2"
 msgstr "要求的对齐边界不是 2 的某次方"
 
-#: c-common.c:4656
+#: c-common.c:4713
 #, gcc-internal-format
 msgid "requested alignment is too large"
 msgstr "要求的对齐边界太大"
 
-#: c-common.c:4682
+#: c-common.c:4739
 #, gcc-internal-format
 msgid "alignment may not be specified for %q+D"
 msgstr "不能为 %q+D 指定对齐"
 
-#: c-common.c:4720
+#: c-common.c:4777
 #, gcc-internal-format
 msgid "%q+D defined both normally and as an alias"
 msgstr "%q+D 既有正常定义又有别名定义"
 
-#: c-common.c:4736
+#: c-common.c:4793
 #, gcc-internal-format
 msgid "alias argument not a string"
 msgstr "alias 的参数不是一个字符串"
 
-#: c-common.c:4787
+#: c-common.c:4844
 #, gcc-internal-format
 msgid "%Jweakref attribute must appear before alias attribute"
 msgstr "%Jweakref 属性必须出现在 alias 属性前"
 
-#: c-common.c:4815
+#: c-common.c:4872
 #, gcc-internal-format
 msgid "%qE attribute ignored on non-class types"
 msgstr "%qE 属性在不是类的类型上被忽略"
 
-#: c-common.c:4828
+#: c-common.c:4885
 #, gcc-internal-format
 msgid "visibility argument not a string"
 msgstr "visibility 的实参不是一个字符串"
 
-#: c-common.c:4840
+#: c-common.c:4897
 #, gcc-internal-format
 msgid "%qE attribute ignored on types"
 msgstr "%qE 属性在类型上被忽略"
 
-#: c-common.c:4855
+#: c-common.c:4912
 #, gcc-internal-format
 msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
 msgstr "visibility  的实参必须是“default”、“hidden”、“protected”或“internal”其中之一"
 
-#: c-common.c:4926
+#: c-common.c:4983
 #, gcc-internal-format
 msgid "tls_model argument not a string"
 msgstr "tls_model 的实参不是一个字符串"
 
-#: c-common.c:4939
+#: c-common.c:4996
 #, 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:4958 c-common.c:5022
+#: c-common.c:5015 c-common.c:5079
 #, gcc-internal-format
 msgid "%J%qE attribute applies only to functions"
 msgstr "%J%qE 属性只能应用到函数上"
 
-#: c-common.c:4963 c-common.c:5027
+#: c-common.c:5020 c-common.c:5084
 #, gcc-internal-format
 msgid "%Jcan%'t set %qE attribute after definition"
 msgstr "%J定义之后不能设定 %qE 属性"
 
-#: c-common.c:5116
+#: c-common.c:5173
 #, gcc-internal-format
 msgid "%qE attribute ignored for %qE"
 msgstr "%qE 属性为 %qE 所忽略"
 
-#: c-common.c:5171
+#: c-common.c:5228
 #, gcc-internal-format
 msgid "invalid vector type for attribute %qE"
 msgstr "属性 %qE 的矢量类型无效"
 
-#: c-common.c:5179
+#: c-common.c:5234
+#, gcc-internal-format
+msgid "vector size not an integral multiple of component size"
+msgstr ""
+
+#: c-common.c:5240
+#, gcc-internal-format
+msgid "zero vector size"
+msgstr ""
+
+#: c-common.c:5248
 #, gcc-internal-format
 msgid "number of components of the vector not a power of two"
 msgstr "矢量中分量数不是 2 的某次方"
 
-#: c-common.c:5207
+#: c-common.c:5276
 #, gcc-internal-format
 msgid "nonnull attribute without arguments on a non-prototype"
 msgstr "非空的属性在非原型中没有实参"
 
-#: c-common.c:5222
+#: c-common.c:5291
 #, gcc-internal-format
 msgid "nonnull argument has invalid operand number (argument %lu)"
 msgstr "非空的实参 %lu 操作数号不对"
 
-#: c-common.c:5241
+#: c-common.c:5310
 #, gcc-internal-format
 msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
 msgstr "非空的实参操作数号越界(实参 %lu,操作数 %lu)"
 
-#: c-common.c:5249
+#: c-common.c:5318
 #, gcc-internal-format
 msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
 msgstr "非空的实参 %lu 引用了非指针操作数 %lu"
 
-#: c-common.c:5312 c-common.c:5335
+#: c-common.c:5381 c-common.c:5404
 #, gcc-internal-format
 msgid "not enough variable arguments to fit a sentinel"
 msgstr "变量实参太少,不足以填满一个哨兵"
 
-#: c-common.c:5356
+#: c-common.c:5425
 #, gcc-internal-format
 msgid "missing sentinel in function call"
 msgstr "函数调用中缺少哨兵"
 
-#: c-common.c:5398
+#: c-common.c:5467
 #, gcc-internal-format
 msgid "null argument where non-null required (argument %lu)"
 msgstr "实参为 NULL,需要非 NULL 值(实参 %lu)"
 
-#: c-common.c:5463
+#: c-common.c:5532
 #, gcc-internal-format
 msgid "cleanup argument not an identifier"
 msgstr "cleanup 实参不是一个标识符"
 
-#: c-common.c:5470
+#: c-common.c:5539
 #, gcc-internal-format
 msgid "cleanup argument not a function"
 msgstr "cleanup 实参不是一个函数"
 
-#: c-common.c:5509
+#: c-common.c:5578
 #, gcc-internal-format
 msgid "%qE attribute requires prototypes with named arguments"
 msgstr "%qE 属性需要带有名实参的原型"
 
-#: c-common.c:5520
+#: c-common.c:5589
 #, gcc-internal-format
 msgid "%qE attribute only applies to variadic functions"
 msgstr "%qE 属性只能用于带可变参数函数"
 
-#: c-common.c:5531
+#: c-common.c:5600
 #, gcc-internal-format
 msgid "requested position is not an integer constant"
 msgstr "要求的位置不是一个整数常量"
 
-#: c-common.c:5538
+#: c-common.c:5607
 #, gcc-internal-format
 msgid "requested position is less than zero"
 msgstr "要求的位置小于 0"
 
-#: c-common.c:5840
+#: c-common.c:5909
 #, gcc-internal-format
 msgid "%Hignoring return value of %qD, declared with attribute warn_unused_result"
 msgstr "%H忽略声明有 warn_unused_result 属性的 %qD 的返回值"
 
-#: c-common.c:5844
+#: c-common.c:5913
 #, gcc-internal-format
 msgid "%Hignoring return value of function declared with attribute warn_unused_result"
 msgstr "%H忽略声明有 warn_unused_result 属性的函数的返回值"
 
-#: c-common.c:5904 cp/typeck.c:4239
+#: c-common.c:5973 cp/typeck.c:4258
 #, gcc-internal-format
 msgid "attempt to take address of bit-field structure member %qD"
 msgstr "试图取位段结构成员 %qD 的地址"
 
-#: c-common.c:5951
+#: c-common.c:6020
 #, gcc-internal-format
 msgid "invalid lvalue in assignment"
 msgstr "赋值运算中的左值无效"
 
-#: c-common.c:5954
+#: c-common.c:6023
 #, gcc-internal-format
 msgid "invalid lvalue in increment"
 msgstr "自增运算中的左值无效"
 
-#: c-common.c:5957
+#: c-common.c:6026
 #, gcc-internal-format
 msgid "invalid lvalue in decrement"
 msgstr "自减运算中的左值无效"
 
-#: c-common.c:5960
+#: c-common.c:6029
 #, gcc-internal-format
 msgid "invalid lvalue in unary %<&%>"
 msgstr "单目 %<&%> 运算中的左值无效"
 
-#: c-common.c:5963
+#: c-common.c:6032
 #, gcc-internal-format
 msgid "invalid lvalue in asm statement"
 msgstr "asm 语句中出现无效的左值"
 
-#: c-common.c:6091 c-common.c:6140 c-typeck.c:2444
+#: c-common.c:6160 c-common.c:6209 c-typeck.c:2444
 #, gcc-internal-format
 msgid "too few arguments to function %qE"
 msgstr "提供给函数 %qE 的实参太少"
 
 #. ??? This should not be an error when inlining calls to
 #. unprototyped functions.
-#: c-common.c:6108 c-typeck.c:4117
+#: c-common.c:6177 c-typeck.c:4096
 #, gcc-internal-format
 msgid "incompatible type for argument %d of %qE"
 msgstr "实参 %d(属于 %qE)类型不兼容"
@@ -14518,8 +14474,8 @@ msgstr "实参 %d(属于 %qE)类型不兼容"
 #. an unprototyped function, it is compile-time undefined;
 #. making it a constraint in that case was rejected in
 #. DR#252.
-#: c-convert.c:96 c-typeck.c:1597 c-typeck.c:3758 cp/typeck.c:1372
-#: cp/typeck.c:5986 fortran/convert.c:89 treelang/tree-convert.c:79
+#: c-convert.c:96 c-typeck.c:1597 c-typeck.c:3737 cp/typeck.c:1372
+#: cp/typeck.c:6011 fortran/convert.c:89 treelang/tree-convert.c:79
 #, gcc-internal-format
 msgid "void value not ignored as it ought to be"
 msgstr "void 值未如预期地被忽略"
@@ -14540,12 +14496,12 @@ msgstr "假定数组 %q+D 有一个元素"
 msgid "GCC supports only %u nested scopes"
 msgstr "GCC 只支持 %u 个嵌套的作用域"
 
-#: c-decl.c:755 cp/decl.c:355 java/decl.c:1685
+#: c-decl.c:755 cp/decl.c:354 java/decl.c:1700
 #, gcc-internal-format
 msgid "label %q+D used but not defined"
 msgstr "标号 %q+D 使用前未定义"
 
-#: c-decl.c:761 cp/decl.c:366 java/decl.c:1690
+#: c-decl.c:761 cp/decl.c:365 java/decl.c:1705
 #, gcc-internal-format
 msgid "label %q+D defined but not used"
 msgstr "标号 %q+D 定义后未使用"
@@ -14560,7 +14516,7 @@ msgstr "标号 %q+D 声明后未定义"
 msgid "nested function %q+D declared but never defined"
 msgstr "嵌套函数 %q+D 声明过但从未定义"
 
-#: c-decl.c:812 cp/decl.c:560
+#: c-decl.c:812 cp/decl.c:559
 #, gcc-internal-format
 msgid "unused variable %q+D"
 msgstr "未使用的变量 %q+D"
@@ -14756,8 +14712,8 @@ msgstr "%q+D 的声明隐藏了一个全局声明"
 msgid "declaration of %q+D shadows a previous local"
 msgstr "%q+D 的声明隐藏了先前的一个局部变量"
 
-#: c-decl.c:1934 cp/name-lookup.c:953 cp/name-lookup.c:984
-#: cp/name-lookup.c:992
+#: c-decl.c:1934 cp/name-lookup.c:954 cp/name-lookup.c:985
+#: cp/name-lookup.c:993
 #, gcc-internal-format
 msgid "%Jshadowed declaration is here"
 msgstr "%J被隐藏的声明在这里"
@@ -14802,7 +14758,7 @@ msgstr "%H(即使在一个函数内多次出现,每个未声明的标识符在
 msgid "%Hfor each function it appears in.)"
 msgstr "%H所在的函数内只报告一次。)"
 
-#: c-decl.c:2474 cp/decl.c:2131
+#: c-decl.c:2474 cp/decl.c:2134
 #, gcc-internal-format
 msgid "label %qE referenced outside of any function"
 msgstr "标号 %qE 在所有函数外被引用"
@@ -14912,193 +14868,193 @@ msgstr "GCC 尚未完全正确地实现 %<[*]%> 数组声明"
 msgid "static or type qualifiers in abstract declarator"
 msgstr "static 或类型限定符出现在抽象声明中"
 
-#: c-decl.c:3113
+#: c-decl.c:3142
 #, gcc-internal-format
 msgid "%q+D is usually a function"
 msgstr "%q+D 通常是一个函数"
 
-#: c-decl.c:3122 cp/decl.c:3702 cp/decl2.c:838
+#: c-decl.c:3151 cp/decl.c:3706 cp/decl2.c:825
 #, gcc-internal-format
 msgid "typedef %qD is initialized (use __typeof__ instead)"
 msgstr "typedef %qD 被初始化(改用 __typeof__)"
 
-#: c-decl.c:3127
+#: c-decl.c:3156
 #, 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:3133
+#: c-decl.c:3162
 #, gcc-internal-format
 msgid "parameter %qD is initialized"
 msgstr "形参 %qD 已初始化"
 
-#: c-decl.c:3158
+#: c-decl.c:3187
 #, gcc-internal-format
 msgid "variable %qD has initializer but incomplete type"
 msgstr "变量 %qD 有初始值设定但类型不完全"
 
-#: c-decl.c:3234 c-decl.c:5858 cp/decl.c:3741 cp/decl.c:10148
+#: c-decl.c:3263 c-decl.c:5885 cp/decl.c:3745 cp/decl.c:10133
 #, gcc-internal-format
 msgid "inline function %q+D given attribute noinline"
 msgstr "为内联函数 %q+D 给定了 noinline 属性"
 
-#: c-decl.c:3306
+#: c-decl.c:3335
 #, gcc-internal-format
 msgid "initializer fails to determine size of %q+D"
 msgstr "初始值设定无法决定 %q+D 的大小"
 
-#: c-decl.c:3311
+#: c-decl.c:3340
 #, gcc-internal-format
 msgid "array size missing in %q+D"
 msgstr "在 %q+D 中缺少数组大小"
 
-#: c-decl.c:3323
+#: c-decl.c:3352
 #, gcc-internal-format
 msgid "zero or negative size array %q+D"
 msgstr "数组 %q+D 大小为 0 或负"
 
-#: c-decl.c:3375 varasm.c:1646
+#: c-decl.c:3407 varasm.c:1646
 #, gcc-internal-format
 msgid "storage size of %q+D isn%'t known"
 msgstr "%q+D 的存储大小未知"
 
-#: c-decl.c:3385
+#: c-decl.c:3417
 #, gcc-internal-format
 msgid "storage size of %q+D isn%'t constant"
 msgstr "%q+D 的存储大小不是常量"
 
-#: c-decl.c:3432
+#: c-decl.c:3464
 #, gcc-internal-format
 msgid "ignoring asm-specifier for non-static local variable %q+D"
 msgstr "为非静态局部变量 %q+D 忽略了 asm 限定符"
 
-#: c-decl.c:3460 fortran/f95-lang.c:667
+#: c-decl.c:3492 fortran/f95-lang.c:667
 #, gcc-internal-format
 msgid "cannot put object with volatile field into register"
 msgstr "不能将带有 volatile 字段的对象放入寄存器"
 
-#: c-decl.c:3595
+#: c-decl.c:3627
 #, gcc-internal-format
 msgid "ISO C forbids forward parameter declarations"
 msgstr "ISO C 不允许前向参数声明"
 
-#: c-decl.c:3722
+#: c-decl.c:3746
 #, gcc-internal-format
 msgid "bit-field %qs width not an integer constant"
 msgstr "位段 %qs 的宽度不是一个整数常量"
 
-#: c-decl.c:3730
+#: c-decl.c:3754
 #, gcc-internal-format
 msgid "negative width in bit-field %qs"
 msgstr "位段 %qs 宽度为负"
 
-#: c-decl.c:3735
+#: c-decl.c:3759
 #, gcc-internal-format
 msgid "zero width for bit-field %qs"
 msgstr "位段 %qs 宽度为 0"
 
-#: c-decl.c:3745
+#: c-decl.c:3769
 #, gcc-internal-format
 msgid "bit-field %qs has invalid type"
 msgstr "位段 %qs 类型无效"
 
-#: c-decl.c:3754
+#: c-decl.c:3779
 #, gcc-internal-format
 msgid "type of bit-field %qs is a GCC extension"
 msgstr "位段类型 %qs 是一个 GCC 扩展"
 
-#: c-decl.c:3763
+#: c-decl.c:3788
 #, gcc-internal-format
 msgid "width of %qs exceeds its type"
 msgstr "%qs 的宽度超过它自身的类型"
 
-#: c-decl.c:3776
+#: c-decl.c:3801
 #, gcc-internal-format
 msgid "%qs is narrower than values of its type"
 msgstr "%qs 比其类型的值要窄"
 
-#: c-decl.c:3925
+#: c-decl.c:3950
 #, gcc-internal-format
 msgid "type defaults to %<int%> in declaration of %qs"
 msgstr "在 %qs 的声明中,类型默认为 %<int%>"
 
-#: c-decl.c:3953
+#: c-decl.c:3978
 #, gcc-internal-format
 msgid "duplicate %<const%>"
 msgstr "重复的 %<const%>"
 
-#: c-decl.c:3955
+#: c-decl.c:3980
 #, gcc-internal-format
 msgid "duplicate %<restrict%>"
 msgstr "重复的 %<restrict%>"
 
-#: c-decl.c:3957
+#: c-decl.c:3982
 #, gcc-internal-format
 msgid "duplicate %<volatile%>"
 msgstr "重复的 %<volatile%>"
 
-#: c-decl.c:3976
+#: c-decl.c:4001
 #, gcc-internal-format
 msgid "function definition declared %<auto%>"
 msgstr "函数声明定义为 %<auto%>"
 
-#: c-decl.c:3978
+#: c-decl.c:4003
 #, gcc-internal-format
 msgid "function definition declared %<register%>"
 msgstr "函数声明定义为 %<register%>"
 
-#: c-decl.c:3980
+#: c-decl.c:4005
 #, gcc-internal-format
 msgid "function definition declared %<typedef%>"
 msgstr "函数声明定义为 %<typedef%>"
 
-#: c-decl.c:3982
+#: c-decl.c:4007
 #, gcc-internal-format
 msgid "function definition declared %<__thread%>"
 msgstr "函数声明定义为 %<__thread%>"
 
-#: c-decl.c:3998
+#: c-decl.c:4023
 #, gcc-internal-format
 msgid "storage class specified for structure field %qs"
 msgstr "为结构字段 %qs 指定了存储类"
 
-#: c-decl.c:4002 cp/decl.c:7207
+#: c-decl.c:4027 cp/decl.c:7193
 #, gcc-internal-format
 msgid "storage class specified for parameter %qs"
 msgstr "为形参 %qs 指定了存储类"
 
-#: c-decl.c:4005 cp/decl.c:7209
+#: c-decl.c:4030 cp/decl.c:7195
 #, gcc-internal-format
 msgid "storage class specified for typename"
 msgstr "为类型名指定了存储类"
 
-#: c-decl.c:4018 cp/decl.c:7226
+#: c-decl.c:4043 cp/decl.c:7212
 #, gcc-internal-format
 msgid "%qs initialized and declared %<extern%>"
 msgstr "%qs 已初始化,却又被声明为 %<extern%>"
 
-#: c-decl.c:4020 cp/decl.c:7229
+#: c-decl.c:4045 cp/decl.c:7215
 #, gcc-internal-format
 msgid "%qs has both %<extern%> and initializer"
 msgstr "%qs 既有 %<extern%> 又有初始值设定"
 
-#: c-decl.c:4025
+#: c-decl.c:4050
 #, gcc-internal-format
 msgid "file-scope declaration of %qs specifies %<auto%>"
 msgstr "文件作用域中 %qs 的声明指定了 %<auto%>"
 
-#: c-decl.c:4027
+#: c-decl.c:4052
 #, gcc-internal-format
 msgid "file-scope declaration of %qs specifies %<register%>"
 msgstr "文件作用域中 %qs 的声明指定了 %<register%>"
 
-#: c-decl.c:4032 cp/decl.c:7233
+#: c-decl.c:4057 cp/decl.c:7219
 #, gcc-internal-format
 msgid "nested function %qs declared %<extern%>"
 msgstr "嵌套函数 %qs 被声明为 %<extern%>"
 
-#: c-decl.c:4035 cp/decl.c:7243
+#: c-decl.c:4060 cp/decl.c:7229
 #, gcc-internal-format
 msgid "function-scope %qs implicitly auto and declared %<__thread%>"
 msgstr "函数作用域的 %qs 隐式为 auto,却被声明为 %<__thread%>"
@@ -15106,147 +15062,147 @@ msgstr "函数作用域的 %qs 隐式为 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:4082 c-decl.c:4276
+#: c-decl.c:4107 c-decl.c:4301
 #, gcc-internal-format
 msgid "static or type qualifiers in non-parameter array declarator"
 msgstr "static 或类型限定符出现在非形参数组声明中"
 
-#: c-decl.c:4128
+#: c-decl.c:4153
 #, gcc-internal-format
 msgid "declaration of %qs as array of voids"
 msgstr "%qs 声明为 void 的数组"
 
-#: c-decl.c:4134
+#: c-decl.c:4159
 #, gcc-internal-format
 msgid "declaration of %qs as array of functions"
 msgstr "%qs 声明为函数的数组"
 
-#: c-decl.c:4139
+#: c-decl.c:4164
 #, gcc-internal-format
 msgid "invalid use of structure with flexible array member"
 msgstr "对包含变长数组成员的结构的无效使用"
 
-#: c-decl.c:4159
+#: c-decl.c:4184
 #, gcc-internal-format
 msgid "size of array %qs has non-integer type"
 msgstr "数组 %qs 的大小的类型不是整数"
 
-#: c-decl.c:4164
+#: c-decl.c:4189
 #, gcc-internal-format
 msgid "ISO C forbids zero-size array %qs"
 msgstr "ISO C 不允许大小为 0 的数组 %qs"
 
-#: c-decl.c:4171
+#: c-decl.c:4196
 #, gcc-internal-format
 msgid "size of array %qs is negative"
 msgstr "数组 %qs 的大小为负"
 
-#: c-decl.c:4185
+#: c-decl.c:4210
 #, gcc-internal-format
 msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
 msgstr "ISO C90 不允许数组 %qs,因为不能计算其大小"
 
-#: c-decl.c:4189
+#: c-decl.c:4214
 #, gcc-internal-format
 msgid "ISO C90 forbids variable-size array %qs"
 msgstr "ISO C90 不允许变长数组 %qs"
 
-#: c-decl.c:4229 c-decl.c:4398 cp/decl.c:7665
+#: c-decl.c:4254 c-decl.c:4423 cp/decl.c:7650
 #, gcc-internal-format
 msgid "size of array %qs is too large"
 msgstr "数组 %qs 太大"
 
-#: c-decl.c:4240
+#: c-decl.c:4265
 #, gcc-internal-format
 msgid "ISO C90 does not support flexible array members"
 msgstr "ISO C90 不允许变长数组成员"
 
-#: c-decl.c:4250
+#: c-decl.c:4275
 #, gcc-internal-format
 msgid "array type has incomplete element type"
 msgstr "数组元素的类型不完全"
 
-#: c-decl.c:4308 cp/decl.c:7334
+#: c-decl.c:4333 cp/decl.c:7313
 #, gcc-internal-format
 msgid "%qs declared as function returning a function"
 msgstr "%qs 声明为返回一个函数的函数"
 
-#: c-decl.c:4313 cp/decl.c:7339
+#: c-decl.c:4338 cp/decl.c:7318
 #, gcc-internal-format
 msgid "%qs declared as function returning an array"
 msgstr "%qs 声明为返回一个数组的函数"
 
-#: c-decl.c:4333
+#: c-decl.c:4358
 #, gcc-internal-format
 msgid "function definition has qualified void return type"
 msgstr "函数定义有限定的 void 返回类型"
 
-#: c-decl.c:4336
+#: c-decl.c:4361
 #, gcc-internal-format
 msgid "type qualifiers ignored on function return type"
 msgstr "忽略函数返回类型的类型限定"
 
-#: c-decl.c:4365 c-decl.c:4411 c-decl.c:4506 c-decl.c:4596
+#: c-decl.c:4390 c-decl.c:4436 c-decl.c:4531 c-decl.c:4621
 #, gcc-internal-format
 msgid "ISO C forbids qualified function types"
 msgstr "ISO C 不允许使用 const 或 volatile 限定函数类型"
 
-#: c-decl.c:4419
+#: c-decl.c:4444
 #, gcc-internal-format
 msgid "typedef %q+D declared %<inline%>"
 msgstr "typedef %q+D 声明为 %<inline%>"
 
-#: c-decl.c:4449
+#: c-decl.c:4474
 #, gcc-internal-format
 msgid "ISO C forbids const or volatile function types"
 msgstr "ISO C 不允许使用 const 或 volatile 限定函数类型"
 
-#: c-decl.c:4469
+#: c-decl.c:4494
 #, gcc-internal-format
 msgid "variable or field %qs declared void"
 msgstr "变量或字段 %qs 声明为 void"
 
-#: c-decl.c:4499
+#: c-decl.c:4524
 #, gcc-internal-format
 msgid "attributes in parameter array declarator ignored"
 msgstr "出现在形参数组声明中的属性被忽略"
 
-#: c-decl.c:4533
+#: c-decl.c:4558
 #, gcc-internal-format
 msgid "parameter %q+D declared %<inline%>"
 msgstr "形参 %q+D 声明为 %<inline%>"
 
-#: c-decl.c:4546
+#: c-decl.c:4571
 #, gcc-internal-format
 msgid "field %qs declared as a function"
 msgstr "字段 %qs 声明为一个函数"
 
-#: c-decl.c:4552
+#: c-decl.c:4577
 #, gcc-internal-format
 msgid "field %qs has incomplete type"
 msgstr "字段 %qs 的类型不完全"
 
-#: c-decl.c:4566 c-decl.c:4578 c-decl.c:4582
+#: c-decl.c:4591 c-decl.c:4603 c-decl.c:4607
 #, gcc-internal-format
 msgid "invalid storage class for function %qs"
 msgstr "函数 %qs 的存储类无效"
 
-#: c-decl.c:4602
+#: c-decl.c:4627
 #, gcc-internal-format
 msgid "%<noreturn%> function returns non-void value"
 msgstr "%<noreturn%> 函数返回了一个非 void 的返回值"
 
-#: c-decl.c:4630
+#: c-decl.c:4655
 #, gcc-internal-format
 msgid "cannot inline function %<main%>"
 msgstr "不能内联 %<main%> 函数"
 
-#: c-decl.c:4677
+#: c-decl.c:4702
 #, gcc-internal-format
 msgid "variable previously declared %<static%> redeclared %<extern%>"
 msgstr "先前被声明为 %<static%> 的变量重声明为 %<extern%>"
 
-#: c-decl.c:4687
+#: c-decl.c:4712
 #, gcc-internal-format
 msgid "variable %q+D declared %<inline%>"
 msgstr "变量 %q+D 声明为 %<inline%>"
@@ -15256,345 +15212,345 @@ msgstr "变量 %q+D 声明为 %<inline%>"
 #. A mere warning is sure to result in improper
 #. semantics at runtime.  Don't bother to allow this to
 #. compile.
-#: c-decl.c:4717 cp/decl.c:6094 cp/decl.c:8255
+#: c-decl.c:4742 cp/decl.c:6121 cp/decl.c:8240
 #, gcc-internal-format
 msgid "thread-local storage not supported for this target"
 msgstr "线程局部存储在此目标机上不受支持"
 
-#: c-decl.c:4782 c-decl.c:5937
+#: c-decl.c:4807 c-decl.c:5964
 #, gcc-internal-format
 msgid "function declaration isn%'t a prototype"
 msgstr "函数声明不是一个原型"
 
-#: c-decl.c:4790
+#: c-decl.c:4815
 #, gcc-internal-format
 msgid "parameter names (without types) in function declaration"
 msgstr "函数声明中出现形参名却未指定类型"
 
-#: c-decl.c:4823
+#: c-decl.c:4848
 #, gcc-internal-format
 msgid "parameter %u (%q+D) has incomplete type"
 msgstr "形参 %u (%q+D) 的类型不完全"
 
-#: c-decl.c:4826
+#: c-decl.c:4851
 #, gcc-internal-format
 msgid "%Jparameter %u has incomplete type"
 msgstr "%J参数 %u 类型不完全"
 
-#: c-decl.c:4835
+#: c-decl.c:4860
 #, gcc-internal-format
 msgid "parameter %u (%q+D) has void type"
 msgstr "形参 %u (%q+D)类型为 void"
 
-#: c-decl.c:4838
+#: c-decl.c:4863
 #, gcc-internal-format
 msgid "%Jparameter %u has void type"
 msgstr "%J形参 %u 类型为 void"
 
-#: c-decl.c:4898
+#: c-decl.c:4923
 #, gcc-internal-format
 msgid "%<void%> as only parameter may not be qualified"
 msgstr "%<void%> 作为仅有的参数时不能被限定"
 
-#: c-decl.c:4902 c-decl.c:4936
+#: c-decl.c:4927 c-decl.c:4961
 #, gcc-internal-format
 msgid "%<void%> must be the only parameter"
 msgstr "%<void%> 必须是仅有的形参"
 
-#: c-decl.c:4930
+#: c-decl.c:4955
 #, 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:4975
+#: c-decl.c:5000
 #, 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:4979
+#: c-decl.c:5004
 #, gcc-internal-format
 msgid "anonymous %s declared inside parameter list"
 msgstr "在形参列表中声明了匿名 %s"
 
-#: c-decl.c:4984
+#: c-decl.c:5009
 #, gcc-internal-format
 msgid "its scope is only this definition or declaration, which is probably not what you want"
 msgstr "它的作用域仅限于此定义或声明,这可能并不是您想要的"
 
-#: c-decl.c:5117
+#: c-decl.c:5142
 #, gcc-internal-format
 msgid "redefinition of %<union %E%>"
 msgstr "%<union %E%> 重定义"
 
-#: c-decl.c:5119
+#: c-decl.c:5144
 #, gcc-internal-format
 msgid "redefinition of %<struct %E%>"
 msgstr "%<struct %E%> 重定义"
 
-#: c-decl.c:5124
+#: c-decl.c:5149
 #, gcc-internal-format
 msgid "nested redefinition of %<union %E%>"
 msgstr "嵌套的 %<union %E%> 重定义"
 
-#: c-decl.c:5126
+#: c-decl.c:5151
 #, gcc-internal-format
 msgid "nested redefinition of %<struct %E%>"
 msgstr "嵌套的 %<struct %E%> 重定义"
 
-#: c-decl.c:5197 cp/decl.c:3502
+#: c-decl.c:5222 cp/decl.c:3506
 #, gcc-internal-format
 msgid "declaration does not declare anything"
 msgstr "没有声明任何东西"
 
-#: c-decl.c:5201
+#: c-decl.c:5226
 #, gcc-internal-format
 msgid "ISO C doesn%'t support unnamed structs/unions"
 msgstr "ISO C 不支持匿名结构/联合"
 
-#: c-decl.c:5244 c-decl.c:5260
+#: c-decl.c:5269 c-decl.c:5285
 #, gcc-internal-format
 msgid "duplicate member %q+D"
 msgstr "重复的成员 %q+D"
 
-#: c-decl.c:5299
+#: c-decl.c:5324
 #, gcc-internal-format
 msgid "union has no named members"
 msgstr "联合包含无名成员"
 
-#: c-decl.c:5301
+#: c-decl.c:5326
 #, gcc-internal-format
 msgid "union has no members"
 msgstr "联合体没有成员"
 
-#: c-decl.c:5306
+#: c-decl.c:5331
 #, gcc-internal-format
 msgid "struct has no named members"
 msgstr "结构不包含任何有名成员"
 
-#: c-decl.c:5308
+#: c-decl.c:5333
 #, gcc-internal-format
 msgid "struct has no members"
 msgstr "结构体没有成员"
 
-#: c-decl.c:5365
+#: c-decl.c:5392
 #, gcc-internal-format
 msgid "%Jflexible array member in union"
 msgstr "%J联合中出现变长数组成员"
 
-#: c-decl.c:5370
+#: c-decl.c:5397
 #, gcc-internal-format
 msgid "%Jflexible array member not at end of struct"
 msgstr "%J结构中的变长数组成员没有出现在结构的末尾"
 
-#: c-decl.c:5375
+#: c-decl.c:5402
 #, gcc-internal-format
 msgid "%Jflexible array member in otherwise empty struct"
 msgstr "%J变长数组是结构中的唯一成员"
 
-#: c-decl.c:5382
+#: c-decl.c:5409
 #, gcc-internal-format
 msgid "%Jinvalid use of structure with flexible array member"
 msgstr "%J对包含变长数组成员的结构的无效使用"
 
-#: c-decl.c:5493
+#: c-decl.c:5520
 #, gcc-internal-format
 msgid "union cannot be made transparent"
 msgstr "联合不能成为透明的"
 
-#: c-decl.c:5564
+#: c-decl.c:5591
 #, 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:5571
+#: c-decl.c:5598
 #, gcc-internal-format
 msgid "redeclaration of %<enum %E%>"
 msgstr "%<enum %E%> 重声明"
 
-#: c-decl.c:5634
+#: c-decl.c:5661
 #, gcc-internal-format
 msgid "enumeration values exceed range of largest integer"
 msgstr "枚举值超过了最大整数类型可表示的范围"
 
-#: c-decl.c:5651
+#: c-decl.c:5678
 #, gcc-internal-format
 msgid "specified mode too small for enumeral values"
 msgstr "指定的模式对枚举值来说太小"
 
-#: c-decl.c:5747
+#: c-decl.c:5774
 #, gcc-internal-format
 msgid "enumerator value for %qE is not an integer constant"
 msgstr "%qE 的枚举值不是一个整数常量"
 
-#: c-decl.c:5764
+#: c-decl.c:5791
 #, gcc-internal-format
 msgid "overflow in enumeration values"
 msgstr "枚举值溢出"
 
-#: c-decl.c:5769
+#: c-decl.c:5796
 #, gcc-internal-format
 msgid "ISO C restricts enumerator values to range of %<int%>"
 msgstr "ISO C 将枚举值限制在 %<int%> 范围内"
 
-#: c-decl.c:5865
+#: c-decl.c:5892
 #, gcc-internal-format
 msgid "return type is an incomplete type"
 msgstr "返回不完全的类型"
 
-#: c-decl.c:5873
+#: c-decl.c:5900
 #, gcc-internal-format
 msgid "return type defaults to %<int%>"
 msgstr "返回类型默认为 %<int%>"
 
-#: c-decl.c:5944
+#: c-decl.c:5971
 #, gcc-internal-format
 msgid "no previous prototype for %q+D"
 msgstr "%q+D 先前没有原型"
 
-#: c-decl.c:5953
+#: c-decl.c:5980
 #, gcc-internal-format
 msgid "%q+D was used with no prototype before its definition"
 msgstr "%q+D 定义前没有原型"
 
-#: c-decl.c:5959
+#: c-decl.c:5986
 #, gcc-internal-format
 msgid "no previous declaration for %q+D"
 msgstr "%q+D 先前没有声明过"
 
-#: c-decl.c:5969
+#: c-decl.c:5996
 #, gcc-internal-format
 msgid "%q+D was used with no declaration before its definition"
 msgstr "%q+D 的内联声明出现在其定义之后"
 
-#: c-decl.c:6001 c-decl.c:6518
+#: c-decl.c:6028 c-decl.c:6545
 #, gcc-internal-format
 msgid "return type of %q+D is not %<int%>"
 msgstr "%q+D 的返回类型不是 %<int%>"
 
-#: c-decl.c:6016
+#: c-decl.c:6043
 #, gcc-internal-format
 msgid "first argument of %q+D should be %<int%>"
 msgstr "%q+D 的第一个参数的类型应该是 %<int%>"
 
-#: c-decl.c:6024
+#: c-decl.c:6051
 #, gcc-internal-format
 msgid "second argument of %q+D should be %<char **%>"
 msgstr "%q+D 的第二个参数类型应该是 %<char **%>"
 
-#: c-decl.c:6033
+#: c-decl.c:6060
 #, gcc-internal-format
 msgid "third argument of %q+D should probably be %<char **%>"
 msgstr "%q+D 如果有第三个参数,类型应该是 %<char **%>"
 
-#: c-decl.c:6043
+#: c-decl.c:6070
 #, gcc-internal-format
 msgid "%q+D takes only zero or two arguments"
 msgstr "%q+D 只带零或两个参数"
 
-#: c-decl.c:6046
+#: c-decl.c:6073
 #, gcc-internal-format
 msgid "%q+D is normally a non-static function"
 msgstr "%q+D 通常是一个非静态的函数"
 
-#: c-decl.c:6092
+#: c-decl.c:6119
 #, gcc-internal-format
 msgid "%Jold-style parameter declarations in prototyped function definition"
 msgstr "%J原型函数定义中使用了旧式参数声明"
 
-#: c-decl.c:6106
+#: c-decl.c:6133
 #, gcc-internal-format
 msgid "%Jtraditional C rejects ISO C style function definitions"
 msgstr "%J传统 C 不接受 ISO C 风格的函数定义"
 
-#: c-decl.c:6122
+#: c-decl.c:6149
 #, gcc-internal-format
 msgid "%Jparameter name omitted"
 msgstr "%J省略了形参的名字"
 
-#: c-decl.c:6156
+#: c-decl.c:6183
 #, gcc-internal-format
 msgid "%Jold-style function definition"
 msgstr "%J旧式的函数定义"
 
-#: c-decl.c:6165
+#: c-decl.c:6192
 #, gcc-internal-format
 msgid "%Jparameter name missing from parameter list"
 msgstr "%J形参列表中缺少形参名"
 
-#: c-decl.c:6176
+#: c-decl.c:6203
 #, gcc-internal-format
 msgid "%q+D declared as a non-parameter"
 msgstr "%q+D 声明为非形参"
 
-#: c-decl.c:6181
+#: c-decl.c:6208
 #, gcc-internal-format
 msgid "multiple parameters named %q+D"
 msgstr "多个名为 %q+D 的形参"
 
-#: c-decl.c:6189
+#: c-decl.c:6216
 #, gcc-internal-format
 msgid "parameter %q+D declared with void type"
 msgstr "形参 %q+D 声明为 void 类型"
 
-#: c-decl.c:6206 c-decl.c:6208
+#: c-decl.c:6233 c-decl.c:6235
 #, gcc-internal-format
 msgid "type of %q+D defaults to %<int%>"
 msgstr "类型 %q+D 默认为 %<int%>"
 
-#: c-decl.c:6227
+#: c-decl.c:6254
 #, gcc-internal-format
 msgid "parameter %q+D has incomplete type"
 msgstr "形参 %q+D 的类型不完全"
 
-#: c-decl.c:6233
+#: c-decl.c:6260
 #, gcc-internal-format
 msgid "declaration for parameter %q+D but no such parameter"
 msgstr "声明的参数 %q+D 不存在"
 
-#: c-decl.c:6283
+#: c-decl.c:6310
 #, gcc-internal-format
 msgid "number of arguments doesn%'t match built-in prototype"
 msgstr "实参个数与内建原型不符"
 
-#: c-decl.c:6287
+#: c-decl.c:6314
 #, gcc-internal-format
 msgid "number of arguments doesn%'t match prototype"
 msgstr "实参数目与原型不符"
 
-#: c-decl.c:6288 c-decl.c:6328 c-decl.c:6341
+#: c-decl.c:6315 c-decl.c:6355 c-decl.c:6368
 #, gcc-internal-format
 msgid "%Hprototype declaration"
 msgstr "%H原型声明"
 
-#: c-decl.c:6322
+#: c-decl.c:6349
 #, gcc-internal-format
 msgid "promoted argument %qD doesn%'t match built-in prototype"
 msgstr "提升后的实参 %qD 与内建原型不符"
 
-#: c-decl.c:6326
+#: c-decl.c:6353
 #, gcc-internal-format
 msgid "promoted argument %qD doesn%'t match prototype"
 msgstr "提升后的实参 %qD 与原型不符"
 
-#: c-decl.c:6336
+#: c-decl.c:6363
 #, gcc-internal-format
 msgid "argument %qD doesn%'t match built-in prototype"
 msgstr "实参 %qD 与内建原型不符"
 
-#: c-decl.c:6340
+#: c-decl.c:6367
 #, gcc-internal-format
 msgid "argument %qD doesn%'t match prototype"
 msgstr "实参 %qD 与原型不符"
 
-#: c-decl.c:6563 cp/decl.c:10942
+#: c-decl.c:6590 cp/decl.c:10954
 #, gcc-internal-format
 msgid "no return statement in function returning non-void"
 msgstr "在有返回值的函数中未发现 return 语句"
 
-#: c-decl.c:6572
+#: c-decl.c:6599
 #, gcc-internal-format
 msgid "this function may return with or without a value"
 msgstr "这个函数可能返回也可能不返回值"
@@ -15602,232 +15558,232 @@ msgstr "这个函数可能返回也可能不返回值"
 #. 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:6665
+#: c-decl.c:6692
 #, gcc-internal-format
 msgid "%<for%> loop initial declaration used outside C99 mode"
 msgstr "在 C99 模式之外使用 %<for%> 循环初始化声明"
 
-#: c-decl.c:6694
+#: c-decl.c:6721
 #, gcc-internal-format
 msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
 msgstr "在 %<for%> 循环初始声明中声明了静态变量 %q+D"
 
-#: c-decl.c:6697
+#: c-decl.c:6724
 #, gcc-internal-format
 msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
 msgstr "在 %<for%> 循环初始声明中声明了 %<extern%> 变量 %q+D"
 
-#: c-decl.c:6702
+#: c-decl.c:6729
 #, gcc-internal-format
 msgid "%<struct %E%> declared in %<for%> loop initial declaration"
 msgstr "%<struct %E%> 声明于 %<for%> 循环初始声明中"
 
-#: c-decl.c:6706
+#: c-decl.c:6733
 #, gcc-internal-format
 msgid "%<union %E%> declared in %<for%> loop initial declaration"
 msgstr "%<union %E%> 声明于 %<for%> 循环初始声明中"
 
-#: c-decl.c:6710
+#: c-decl.c:6737
 #, gcc-internal-format
 msgid "%<enum %E%> declared in %<for%> loop initial declaration"
 msgstr "%<enum %E%> 声明于 %<for%> 循环初始声明中"
 
-#: c-decl.c:6714
+#: c-decl.c:6741
 #, gcc-internal-format
 msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
 msgstr "在 %<for%> 循环初始声明中声明了非变量 %q+D"
 
-#: c-decl.c:6998 c-decl.c:7149 c-decl.c:7359
+#: c-decl.c:7025 c-decl.c:7176 c-decl.c:7386
 #, gcc-internal-format
 msgid "duplicate %qE"
 msgstr "重复的 %qE"
 
-#: c-decl.c:7021 c-decl.c:7158 c-decl.c:7261
+#: c-decl.c:7048 c-decl.c:7185 c-decl.c:7288
 #, gcc-internal-format
 msgid "two or more data types in declaration specifiers"
 msgstr "声明指定了两个以上的数据类型"
 
-#: c-decl.c:7033 cp/decl.c:6897
+#: c-decl.c:7060 cp/parser.c:7509
 #, gcc-internal-format
 msgid "%<long long long%> is too long for GCC"
 msgstr "%<long long long%> 对 GCC 来说太长了"
 
-#: c-decl.c:7040 c-decl.c:7232
+#: c-decl.c:7067 c-decl.c:7259
 #, gcc-internal-format
 msgid "both %<long long%> and %<double%> in declaration specifiers"
 msgstr "声明中同时使用了 %<long long%> 和 %<double%>"
 
-#: c-decl.c:7046
+#: c-decl.c:7073
 #, gcc-internal-format
 msgid "ISO C90 does not support %<long long%>"
 msgstr "ISO C90 不支持 %<long long%>"
 
-#: c-decl.c:7051 c-decl.c:7071
+#: c-decl.c:7078 c-decl.c:7098
 #, gcc-internal-format
 msgid "both %<long%> and %<short%> in declaration specifiers"
 msgstr "声明中同时使用了 <long%> 和 %<short%>"
 
-#: c-decl.c:7054 c-decl.c:7165
+#: c-decl.c:7081 c-decl.c:7192
 #, gcc-internal-format
 msgid "both %<long%> and %<void%> in declaration specifiers"
 msgstr "声明中同时使用了 %<long%> 和 %<void%>"
 
-#: c-decl.c:7057 c-decl.c:7184
+#: c-decl.c:7084 c-decl.c:7211
 #, gcc-internal-format
 msgid "both %<long%> and %<_Bool%> in declaration specifiers"
 msgstr "声明中同时使用了 %<long%> 和 %<_Bool%>"
 
-#: c-decl.c:7060 c-decl.c:7203
+#: c-decl.c:7087 c-decl.c:7230
 #, gcc-internal-format
 msgid "both %<long%> and %<char%> in declaration specifiers"
 msgstr "声明中同时使用了 %<long%> 和 %<char%>"
 
-#: c-decl.c:7063 c-decl.c:7216
+#: c-decl.c:7090 c-decl.c:7243
 #, gcc-internal-format
 msgid "both %<long%> and %<float%> in declaration specifiers"
 msgstr "声明中同时使用了 %<long%> 和 %<float%>"
 
-#: c-decl.c:7074 c-decl.c:7168
+#: c-decl.c:7101 c-decl.c:7195
 #, gcc-internal-format
 msgid "both %<short%> and %<void%> in declaration specifiers"
 msgstr "声明中同时使用了 %<short%> 和 %<void%>"
 
-#: c-decl.c:7077 c-decl.c:7187
+#: c-decl.c:7104 c-decl.c:7214
 #, gcc-internal-format
 msgid "both %<short%> and %<_Bool%> in declaration specifiers"
 msgstr "声明中同时使用了 %<short%> 和 %<_Bool%>"
 
-#: c-decl.c:7080 c-decl.c:7206
+#: c-decl.c:7107 c-decl.c:7233
 #, gcc-internal-format
 msgid "both %<short%> and %<char%> in declaration specifiers"
 msgstr "声明中同时使用了 %<short%> 和 %<char%>"
 
-#: c-decl.c:7083 c-decl.c:7219
+#: c-decl.c:7110 c-decl.c:7246
 #, gcc-internal-format
 msgid "both %<short%> and %<float%> in declaration specifiers"
 msgstr "声明中同时使用了 %<short%> 和 %<float%>"
 
-#: c-decl.c:7086 c-decl.c:7235
+#: c-decl.c:7113 c-decl.c:7262
 #, gcc-internal-format
 msgid "both %<short%> and %<double%> in declaration specifiers"
 msgstr "声明中同时使用了 %<short%> 和 %<double%>"
 
-#: c-decl.c:7094 c-decl.c:7114
+#: c-decl.c:7121 c-decl.c:7141
 #, gcc-internal-format
 msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
 msgstr "声明中同时使用了 %<signed%> 和 %<unsigned%>"
 
-#: c-decl.c:7097 c-decl.c:7171
+#: c-decl.c:7124 c-decl.c:7198
 #, gcc-internal-format
 msgid "both %<signed%> and %<void%> in declaration specifiers"
 msgstr "声明中同时使用了 %<signed%> 和 %<void%>"
 
-#: c-decl.c:7100 c-decl.c:7190
+#: c-decl.c:7127 c-decl.c:7217
 #, gcc-internal-format
 msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
 msgstr "声明中同时使用了 %<signed%> 和 %<_Bool%>"
 
-#: c-decl.c:7103 c-decl.c:7222
+#: c-decl.c:7130 c-decl.c:7249
 #, gcc-internal-format
 msgid "both %<signed%> and %<float%> in declaration specifiers"
 msgstr "声明中同时使用了 %<signed%> 和 %<float%>"
 
-#: c-decl.c:7106 c-decl.c:7238
+#: c-decl.c:7133 c-decl.c:7265
 #, gcc-internal-format
 msgid "both %<signed%> and %<double%> in declaration specifiers"
 msgstr "声明中同时使用了 %<signed%> 和 %<double%>"
 
-#: c-decl.c:7117 c-decl.c:7174
+#: c-decl.c:7144 c-decl.c:7201
 #, gcc-internal-format
 msgid "both %<unsigned%> and %<void%> in declaration specifiers"
 msgstr "声明中同时使用了 %<unsigned%> 和 %<void%>"
 
-#: c-decl.c:7120 c-decl.c:7193
+#: c-decl.c:7147 c-decl.c:7220
 #, gcc-internal-format
 msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
 msgstr "声明中同时使用了 %<unsigned%> 和 %<_Bool%>"
 
-#: c-decl.c:7123 c-decl.c:7225
+#: c-decl.c:7150 c-decl.c:7252
 #, gcc-internal-format
 msgid "both %<unsigned%> and %<float%> in declaration specifiers"
 msgstr "声明中同时使用了 %<unsigned%> 和 %<float%>"
 
-#: c-decl.c:7126 c-decl.c:7241
+#: c-decl.c:7153 c-decl.c:7268
 #, gcc-internal-format
 msgid "both %<unsigned%> and %<double%> in declaration specifiers"
 msgstr "声明中同时使用了 %<unsigned%> 和 %<double%>"
 
-#: c-decl.c:7134
+#: c-decl.c:7161
 #, gcc-internal-format
 msgid "ISO C90 does not support complex types"
 msgstr "ISO C90 不支持复数类型"
 
-#: c-decl.c:7136 c-decl.c:7177
+#: c-decl.c:7163 c-decl.c:7204
 #, gcc-internal-format
 msgid "both %<complex%> and %<void%> in declaration specifiers"
 msgstr "声明中同时使用了 %<complex%> 和 %<void%>"
 
-#: c-decl.c:7139 c-decl.c:7196
+#: c-decl.c:7166 c-decl.c:7223
 #, gcc-internal-format
 msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
 msgstr "声明中同时使用了 %<complex%> 和 %<_Bool%>"
 
-#: c-decl.c:7278
+#: c-decl.c:7305
 #, gcc-internal-format
 msgid "%qE fails to be a typedef or built in type"
 msgstr "%qE 不是一个 typedef 类型,也不是一个内建类型"
 
-#: c-decl.c:7310
+#: c-decl.c:7337
 #, gcc-internal-format
 msgid "%qE is not at beginning of declaration"
 msgstr "%qE 没有出现在声明的开头"
 
-#: c-decl.c:7324
+#: c-decl.c:7351
 #, gcc-internal-format
 msgid "%<__thread%> used with %<auto%>"
 msgstr "%<__thread%> 与 %<auto%> 一起使用"
 
-#: c-decl.c:7326
+#: c-decl.c:7353
 #, gcc-internal-format
 msgid "%<__thread%> used with %<register%>"
 msgstr "%<__thread%> 与 %<register%> 一起使用"
 
-#: c-decl.c:7328
+#: c-decl.c:7355
 #, gcc-internal-format
 msgid "%<__thread%> used with %<typedef%>"
 msgstr "%<__thread%> 与 %<typedef%> 一起使用"
 
-#: c-decl.c:7339 cp/parser.c:7361
+#: c-decl.c:7366 cp/parser.c:7395
 #, gcc-internal-format
 msgid "%<__thread%> before %<extern%>"
 msgstr "%<__thread%> 出现在 %<extern%> 之前"
 
-#: c-decl.c:7348 cp/parser.c:7351
+#: c-decl.c:7375 cp/parser.c:7385
 #, gcc-internal-format
 msgid "%<__thread%> before %<static%>"
 msgstr "%<__thread%> 出现在 %<static%> 之前"
 
-#: c-decl.c:7364
+#: c-decl.c:7391
 #, gcc-internal-format
 msgid "multiple storage classes in declaration specifiers"
 msgstr "声明指定了多个存储类"
 
-#: c-decl.c:7371
+#: c-decl.c:7398
 #, gcc-internal-format
 msgid "%<__thread%> used with %qE"
 msgstr "%<__thread%> 与 %qE 一起使用"
 
-#: c-decl.c:7425
+#: c-decl.c:7452
 #, gcc-internal-format
 msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
 msgstr "ISO C 不支持单独用 %<complex%> 表示 %<double complex%>"
 
-#: c-decl.c:7470 c-decl.c:7496
+#: c-decl.c:7497 c-decl.c:7523
 #, gcc-internal-format
 msgid "ISO C does not support complex integer types"
 msgstr "ISO C 不支持复整数"
 
-#: c-decl.c:7570 toplev.c:821
+#: c-decl.c:7597 toplev.c:822
 #, gcc-internal-format
 msgid "%q+F used but never defined"
 msgstr "%q+F 使用过但从未定义"
@@ -16274,87 +16230,87 @@ msgstr "-I- 指定了两次"
 msgid "obsolete option -I- used, please use -iquote instead"
 msgstr "使用了过时的选项 -I-,请改用 -iquote"
 
-#: c-opts.c:489
+#: c-opts.c:492
 #, gcc-internal-format
 msgid "argument %qs to %<-Wnormalized%> not recognized"
 msgstr "实参 %qs(给予 %<-Wnormalized%>)无法识别"
 
-#: c-opts.c:573
+#: c-opts.c:576
 #, gcc-internal-format
 msgid "switch %qs is no longer supported"
 msgstr "开关 %qs 不再被支持"
 
-#: c-opts.c:683
+#: c-opts.c:686
 #, gcc-internal-format
 msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
 msgstr "-fhandle-exceptions 已被重命名为 -fexceptions (并且现在默认为开)"
 
-#: c-opts.c:865
+#: c-opts.c:868
 #, gcc-internal-format
 msgid "output filename specified twice"
 msgstr "输出文件名指定了两次"
 
-#: c-opts.c:1002
+#: c-opts.c:1012
 #, gcc-internal-format
 msgid "-Wformat-y2k ignored without -Wformat"
 msgstr "-Wformat-y2k 未与 -Wformat 一起使用,已忽略"
 
-#: c-opts.c:1004
+#: c-opts.c:1014
 #, gcc-internal-format
 msgid "-Wformat-extra-args ignored without -Wformat"
 msgstr "-Wformat-extra-args 未与 -Wformat 一起使用,已忽略"
 
-#: c-opts.c:1006
+#: c-opts.c:1016
 #, gcc-internal-format
 msgid "-Wformat-zero-length ignored without -Wformat"
 msgstr "-Wformat-zero-length 未与 -Wformat 一起使用,已忽略"
 
-#: c-opts.c:1008
+#: c-opts.c:1018
 #, gcc-internal-format
 msgid "-Wformat-nonliteral ignored without -Wformat"
 msgstr "-Wformat-nonliteral 未与 -Wformat 一起使用,已忽略"
 
-#: c-opts.c:1010
+#: c-opts.c:1020
 #, gcc-internal-format
 msgid "-Wformat-security ignored without -Wformat"
 msgstr "-Wformat-security 未与 -Wformat 一起使用,已忽略"
 
-#: c-opts.c:1030
+#: c-opts.c:1040
 #, gcc-internal-format
 msgid "opening output file %s: %m"
 msgstr "打开输出文件 %s:%m"
 
-#: c-opts.c:1035
+#: c-opts.c:1045
 #, gcc-internal-format
 msgid "too many filenames given.  Type %s --help for usage"
 msgstr "给定了太多文件名。试用 %s --help 以了解用法"
 
-#: c-opts.c:1121
+#: c-opts.c:1131
 #, gcc-internal-format
 msgid "YYDEBUG was not defined at build time, -dy ignored"
 msgstr "YYDEBUG 未在编译时定义,忽略 -dy"
 
-#: c-opts.c:1167
+#: c-opts.c:1177
 #, gcc-internal-format
 msgid "opening dependency file %s: %m"
 msgstr "打开依赖文件 %s:%m"
 
-#: c-opts.c:1177
+#: c-opts.c:1187
 #, gcc-internal-format
 msgid "closing dependency file %s: %m"
 msgstr "关闭依赖文件 %s:%m"
 
-#: c-opts.c:1180
+#: c-opts.c:1190
 #, gcc-internal-format
 msgid "when writing output to %s: %m"
 msgstr "当写入输出到 %s 时:%m"
 
-#: c-opts.c:1260
+#: c-opts.c:1270
 #, gcc-internal-format
 msgid "to generate dependencies you must specify either -M or -MM"
 msgstr "要生成依赖项,您必须指定 -M 或 -MM"
 
-#: c-opts.c:1428
+#: c-opts.c:1438
 #, gcc-internal-format
 msgid "too late for # directive to set debug directory"
 msgstr "使用 # 指示设定调试目录太迟"
@@ -16407,7 +16363,7 @@ msgstr "ISO C++ 不允许嵌套函数"
 msgid "expected identifier"
 msgstr "需要标识符"
 
-#: c-parser.c:1635 cp/parser.c:10194
+#: c-parser.c:1635 cp/parser.c:10272
 #, gcc-internal-format
 msgid "comma at end of enumerator list"
 msgstr "枚举表以逗号结尾"
@@ -16841,7 +16797,7 @@ msgstr "%<#pragma GCC visibility%> 末尾有垃圾字符"
 msgid "%qD has an incomplete type"
 msgstr "%qD 类型不完全"
 
-#: c-typeck.c:178 cp/call.c:2696
+#: c-typeck.c:178 cp/call.c:2693
 #, gcc-internal-format
 msgid "invalid use of void expression"
 msgstr "对 void 表达式的无效使用"
@@ -17130,624 +17086,609 @@ msgstr "自增指向未知结构的指针"
 msgid "decrement of pointer to unknown structure"
 msgstr "自减指向未知结构的指针"
 
-#: c-typeck.c:2998
+#: c-typeck.c:3003
 #, gcc-internal-format
 msgid "assignment of read-only member %qD"
 msgstr "向只读成员 %qD 赋值"
 
-#: c-typeck.c:2999
+#: c-typeck.c:3004
 #, gcc-internal-format
 msgid "increment of read-only member %qD"
 msgstr "令只读成员 %qD 自增"
 
-#: c-typeck.c:3000
+#: c-typeck.c:3005
 #, gcc-internal-format
 msgid "decrement of read-only member %qD"
 msgstr "令只读成员 %qD 自减"
 
-#: c-typeck.c:3001
+#: c-typeck.c:3006
 #, gcc-internal-format
 msgid "read-only member %qD used as %<asm%> output"
 msgstr "只读成员 %qD 用作 %<asm%> 的输出"
 
-#: c-typeck.c:3005
+#: c-typeck.c:3010
 #, gcc-internal-format
 msgid "assignment of read-only variable %qD"
 msgstr "向只读变量 %qD 赋值"
 
-#: c-typeck.c:3006
+#: c-typeck.c:3011
 #, gcc-internal-format
 msgid "increment of read-only variable %qD"
 msgstr "令只读变量 %qD 自增"
 
-#: c-typeck.c:3007
+#: c-typeck.c:3012
 #, gcc-internal-format
 msgid "decrement of read-only variable %qD"
 msgstr "令只读成员 %qD 自增"
 
-#: c-typeck.c:3008
+#: c-typeck.c:3013
 #, gcc-internal-format
 msgid "read-only variable %qD used as %<asm%> output"
 msgstr "只读变量 %qD 被用作 %<asm%> 的输出"
 
-#: c-typeck.c:3011
+#: c-typeck.c:3016
 #, gcc-internal-format
 msgid "assignment of read-only location"
 msgstr "向只读位置赋值"
 
-#: c-typeck.c:3012
+#: c-typeck.c:3017
 #, gcc-internal-format
 msgid "increment of read-only location"
 msgstr "令只读位置自增"
 
-#: c-typeck.c:3013
+#: c-typeck.c:3018
 #, gcc-internal-format
 msgid "decrement of read-only location"
 msgstr "令只读位置自减"
 
-#: c-typeck.c:3014
+#: c-typeck.c:3019
 #, gcc-internal-format
 msgid "read-only location used as %<asm%> output"
 msgstr "只读位置用作 %<asm%> 的输出"
 
-#: c-typeck.c:3049
+#: c-typeck.c:3054
 #, gcc-internal-format
 msgid "cannot take address of bit-field %qD"
 msgstr "无法取得位段 %qD 的地址"
 
-#: c-typeck.c:3077
+#: c-typeck.c:3082
 #, gcc-internal-format
 msgid "global register variable %qD used in nested function"
 msgstr "嵌套函数中使用了全局寄存器变量 %qD"
 
-#: c-typeck.c:3080
+#: c-typeck.c:3085
 #, gcc-internal-format
 msgid "register variable %qD used in nested function"
 msgstr "嵌套函数中使用了寄存器变量 %qD"
 
-#: c-typeck.c:3085
+#: c-typeck.c:3090
 #, gcc-internal-format
 msgid "address of global register variable %qD requested"
 msgstr "要求全局寄存器变量 %qD 的地址"
 
-#: c-typeck.c:3087
+#: c-typeck.c:3092
 #, gcc-internal-format
 msgid "address of register variable %qD requested"
 msgstr "要求寄存器变量 %qD 的地址。"
 
-#: c-typeck.c:3133
+#: c-typeck.c:3138
 #, gcc-internal-format
 msgid "non-lvalue array in conditional expression"
 msgstr "非左值数组出现在条件表达式中"
 
-#: c-typeck.c:3177
+#: c-typeck.c:3182
 #, gcc-internal-format
 msgid "signed and unsigned type in conditional expression"
 msgstr "有符号和无符号类型一起出现在条件表达式中"
 
-#: c-typeck.c:3184
+#: c-typeck.c:3189
 #, gcc-internal-format
 msgid "ISO C forbids conditional expr with only one void side"
 msgstr "ISO C 不允许条件表达式仅有一边为空"
 
-#: c-typeck.c:3200 c-typeck.c:3208
+#: c-typeck.c:3205 c-typeck.c:3213
 #, gcc-internal-format
 msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
 msgstr "ISO C 不允许在条件表达式中同时使用 %<void *%> 和函数指针"
 
-#: c-typeck.c:3215
+#: c-typeck.c:3220
 #, gcc-internal-format
 msgid "pointer type mismatch in conditional expression"
 msgstr "条件表达式指针类型不匹配"
 
-#: c-typeck.c:3222 c-typeck.c:3232
+#: c-typeck.c:3227 c-typeck.c:3237
 #, gcc-internal-format
 msgid "pointer/integer type mismatch in conditional expression"
 msgstr "条件表达式中指针/整数类型不匹配"
 
-#: c-typeck.c:3246
+#: c-typeck.c:3251
 #, gcc-internal-format
 msgid "type mismatch in conditional expression"
 msgstr "条件表达式中类型不匹配"
 
-#: c-typeck.c:3286
+#: c-typeck.c:3291
 #, gcc-internal-format
 msgid "left-hand operand of comma expression has no effect"
 msgstr "逗号表达式的左操作数不起作用"
 
-#: c-typeck.c:3320
+#: c-typeck.c:3325
 #, gcc-internal-format
 msgid "cast specifies array type"
 msgstr "类型转换指定了数组类型"
 
-#: c-typeck.c:3326
+#: c-typeck.c:3331
 #, gcc-internal-format
 msgid "cast specifies function type"
 msgstr "类型转换指定了函数类型"
 
-#: c-typeck.c:3336
+#: c-typeck.c:3341
 #, gcc-internal-format
 msgid "ISO C forbids casting nonscalar to the same type"
 msgstr "ISO C 不允许将非标量转换为其自身类型"
 
-#: c-typeck.c:3353
+#: c-typeck.c:3358
 #, gcc-internal-format
 msgid "ISO C forbids casts to union type"
 msgstr "ISO C 不允许转换为联合类型"
 
-#: c-typeck.c:3361
+#: c-typeck.c:3366
 #, gcc-internal-format
 msgid "cast to union type from type not present in union"
 msgstr "类型转换的源类型未出现在联合中"
 
-#: c-typeck.c:3407
+#: c-typeck.c:3412
 #, gcc-internal-format
 msgid "cast adds new qualifiers to function type"
 msgstr "类型转换为函数类型添加了新的限定"
 
 #. There are qualifiers present in IN_OTYPE that are not
 #. present in IN_TYPE.
-#: c-typeck.c:3412
+#: c-typeck.c:3417
 #, gcc-internal-format
 msgid "cast discards qualifiers from pointer target type"
 msgstr "类型转换丢弃了指针目标类型的限定"
 
-#: c-typeck.c:3428
+#: c-typeck.c:3433
 #, gcc-internal-format
 msgid "cast increases required alignment of target type"
 msgstr "类型转换增大了目标类型的对齐需求"
 
-#: c-typeck.c:3435
+#: c-typeck.c:3440
 #, gcc-internal-format
 msgid "cast from pointer to integer of different size"
 msgstr "当将一个指针转换为大小不同的整数时给出警告"
 
-#: c-typeck.c:3439
+#: c-typeck.c:3444
 #, gcc-internal-format
 msgid "cast from function call of type %qT to non-matching type %qT"
 msgstr "从类型为 %qT 的函数调用转换到不匹配的类型 %qT"
 
-#: c-typeck.c:3447
+#: c-typeck.c:3452
 #, gcc-internal-format
 msgid "cast to pointer from integer of different size"
 msgstr "当将一个指针转换为大小不同的整数时给出警告"
 
-#: c-typeck.c:3461
-#, gcc-internal-format
-msgid "type-punning to incomplete type might break strict-aliasing rules"
-msgstr "类型双关作用在不完全类型上可能破坏强重叠规则"
-
-#: c-typeck.c:3469
-#, gcc-internal-format
-msgid "dereferencing type-punned pointer will break strict-aliasing rules"
-msgstr "提领类型双关的指针将破坏强重叠规则"
-
-#: c-typeck.c:3473
-#, gcc-internal-format
-msgid "dereferencing type-punned pointer might break strict-aliasing rules"
-msgstr "提领类型双关的指针可能破坏强重叠规则"
-
-#: c-typeck.c:3486
+#: c-typeck.c:3465
 #, gcc-internal-format
 msgid "ISO C forbids conversion of function pointer to object pointer type"
 msgstr "ISO C 不允许将一个函数指针转换为一个对象指针"
 
-#: c-typeck.c:3495
+#: c-typeck.c:3474
 #, gcc-internal-format
 msgid "ISO C forbids conversion of object pointer to function pointer type"
 msgstr "ISO C 不允许将一个对象指针转换为一个函数指针"
 
-#: c-typeck.c:3769
+#: c-typeck.c:3748
 #, gcc-internal-format
 msgid "cannot pass rvalue to reference parameter"
 msgstr "不能将右值传递给引用参数"
 
-#: c-typeck.c:3876 c-typeck.c:4044
+#: c-typeck.c:3855 c-typeck.c:4023
 #, gcc-internal-format
 msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
 msgstr "传递实参 %d(属于 %qE)从未限定的函数指针构造了限定的函数指针"
 
-#: c-typeck.c:3879 c-typeck.c:4047
+#: c-typeck.c:3858 c-typeck.c:4026
 #, gcc-internal-format
 msgid "assignment makes qualified function pointer from unqualified"
 msgstr "将未限定的函数指针赋予限定的函数指针"
 
-#: c-typeck.c:3882 c-typeck.c:4049
+#: c-typeck.c:3861 c-typeck.c:4028
 #, gcc-internal-format
 msgid "initialization makes qualified function pointer from unqualified"
 msgstr "返回时将未限定的函数指针赋给限定的函数指针"
 
-#: c-typeck.c:3885 c-typeck.c:4051
+#: c-typeck.c:3864 c-typeck.c:4030
 #, gcc-internal-format
 msgid "return makes qualified function pointer from unqualified"
 msgstr "返回时将未限定的函数指针赋给限定的函数指针"
 
-#: c-typeck.c:3889 c-typeck.c:4011
+#: c-typeck.c:3868 c-typeck.c:3990
 #, gcc-internal-format
 msgid "passing argument %d of %qE discards qualifiers from pointer target type"
 msgstr "传递实参 %d(属于 %qE)丢弃了指针目标类型的限定"
 
-#: c-typeck.c:3891 c-typeck.c:4013
+#: c-typeck.c:3870 c-typeck.c:3992
 #, gcc-internal-format
 msgid "assignment discards qualifiers from pointer target type"
 msgstr "赋值丢弃了指针目标类型的限定"
 
-#: c-typeck.c:3893 c-typeck.c:4015
+#: c-typeck.c:3872 c-typeck.c:3994
 #, gcc-internal-format
 msgid "initialization discards qualifiers from pointer target type"
 msgstr "初始化丢弃了指针目标类型的限定"
 
-#: c-typeck.c:3895 c-typeck.c:4017
+#: c-typeck.c:3874 c-typeck.c:3996
 #, gcc-internal-format
 msgid "return discards qualifiers from pointer target type"
 msgstr "返回时丢弃了指针目标类型的限定"
 
-#: c-typeck.c:3902
+#: c-typeck.c:3881
 #, gcc-internal-format
 msgid "ISO C prohibits argument conversion to union type"
 msgstr "ISO C 不允许将实参转换为联合"
 
-#: c-typeck.c:3937
+#: c-typeck.c:3916
 #, gcc-internal-format
 msgid "request for implicit conversion from %qT to %qT not permitted in C++"
 msgstr "C++ 中不允许从 %qT 到 %qT 的隐式转换"
 
-#: c-typeck.c:3950
+#: c-typeck.c:3929
 #, gcc-internal-format
 msgid "argument %d of %qE might be a candidate for a format attribute"
 msgstr "实参 %d(属于 %qE)可能是 format 属性的备选"
 
-#: c-typeck.c:3956
+#: c-typeck.c:3935
 #, gcc-internal-format
 msgid "assignment left-hand side might be a candidate for a format attribute"
 msgstr "赋值的左手边可能是 format 属性的备选时"
 
-#: c-typeck.c:3961
+#: c-typeck.c:3940
 #, gcc-internal-format
 msgid "initialization left-hand side might be a candidate for a format attribute"
 msgstr "初始化的左手边可能是 format 属性的备选时"
 
-#: c-typeck.c:3966
+#: c-typeck.c:3945
 #, gcc-internal-format
 msgid "return type might be a candidate for a format attribute"
 msgstr "返回类型可能是 format 属性的备选"
 
-#: c-typeck.c:3991
+#: c-typeck.c:3970
 #, gcc-internal-format
 msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
 msgstr "ISO C 不允许将实参 %d(属于 %qE)在函数指针和 %<void *%> 间传递"
 
-#: c-typeck.c:3994
+#: c-typeck.c:3973
 #, gcc-internal-format
 msgid "ISO C forbids assignment between function pointer and %<void *%>"
 msgstr "ISO C 不允许在函数指针和 %<void *%> 间赋值"
 
-#: c-typeck.c:3996
+#: c-typeck.c:3975
 #, gcc-internal-format
 msgid "ISO C forbids initialization between function pointer and %<void *%>"
 msgstr "ISO C 不允许在函数指针和 %<void *%> 间初始化"
 
-#: c-typeck.c:3998
+#: c-typeck.c:3977
 #, gcc-internal-format
 msgid "ISO C forbids return between function pointer and %<void *%>"
 msgstr "ISO C 不允许在函数指针和 %<void *%> 间返回"
 
-#: c-typeck.c:4027
+#: c-typeck.c:4006
 #, gcc-internal-format
 msgid "pointer targets in passing argument %d of %qE differ in signedness"
 msgstr "传递参数 %d (属于 %qE) 给指针时目标与指针有/无符号不一致"
 
-#: c-typeck.c:4029
+#: c-typeck.c:4008
 #, gcc-internal-format
 msgid "pointer targets in assignment differ in signedness"
 msgstr "对指针赋值时目标与指针有/无符号不一致"
 
-#: c-typeck.c:4031
+#: c-typeck.c:4010
 #, gcc-internal-format
 msgid "pointer targets in initialization differ in signedness"
 msgstr "初始化指针时目标与指针有/无符号不一致"
 
-#: c-typeck.c:4033
+#: c-typeck.c:4012
 #, gcc-internal-format
 msgid "pointer targets in return differ in signedness"
 msgstr "返回指针时目标与指针有/无符号不一致"
 
-#: c-typeck.c:4058
+#: c-typeck.c:4037
 #, gcc-internal-format
 msgid "passing argument %d of %qE from incompatible pointer type"
 msgstr "传递参数 %d (属于 %qE)时在不兼容的指针类型间转换"
 
-#: c-typeck.c:4060
+#: c-typeck.c:4039
 #, gcc-internal-format
 msgid "assignment from incompatible pointer type"
 msgstr "从不兼容的指针类型赋值"
 
-#: c-typeck.c:4061
+#: c-typeck.c:4040
 #, gcc-internal-format
 msgid "initialization from incompatible pointer type"
 msgstr "从不兼容的指针类型初始化"
 
-#: c-typeck.c:4063
+#: c-typeck.c:4042
 #, gcc-internal-format
 msgid "return from incompatible pointer type"
 msgstr "返回了不兼容的指针类型"
 
-#: c-typeck.c:4085
+#: c-typeck.c:4064
 #, gcc-internal-format
 msgid "passing argument %d of %qE makes pointer from integer without a cast"
 msgstr "传递参数 %d (属于 %qE)时将整数赋给指针,未作类型转换"
 
-#: c-typeck.c:4087
+#: c-typeck.c:4066
 #, gcc-internal-format
 msgid "assignment makes pointer from integer without a cast"
 msgstr "赋值时将整数赋给指针,未作类型转换"
 
-#: c-typeck.c:4089
+#: c-typeck.c:4068
 #, gcc-internal-format
 msgid "initialization makes pointer from integer without a cast"
 msgstr "初始化时将整数赋给指针,未作类型转换"
 
-#: c-typeck.c:4091
+#: c-typeck.c:4070
 #, gcc-internal-format
 msgid "return makes pointer from integer without a cast"
 msgstr "返回时将整数赋给指针,未作类型转换"
 
-#: c-typeck.c:4098
+#: c-typeck.c:4077
 #, gcc-internal-format
 msgid "passing argument %d of %qE makes integer from pointer without a cast"
 msgstr "传递参数 %d (属于 %qE)时将指针赋给整数,未作类型转换"
 
-#: c-typeck.c:4100
+#: c-typeck.c:4079
 #, gcc-internal-format
 msgid "assignment makes integer from pointer without a cast"
 msgstr "赋值时将指针赋给整数,未作类型转换"
 
-#: c-typeck.c:4102
+#: c-typeck.c:4081
 #, gcc-internal-format
 msgid "initialization makes integer from pointer without a cast"
 msgstr "初始化将指针赋给整数,未作类型转换"
 
-#: c-typeck.c:4104
+#: c-typeck.c:4083
 #, gcc-internal-format
 msgid "return makes integer from pointer without a cast"
 msgstr "返回时将指针赋给整数,未作类型转换"
 
-#: c-typeck.c:4120
+#: c-typeck.c:4099
 #, gcc-internal-format
 msgid "incompatible types in assignment"
 msgstr "赋值时类型不兼容"
 
-#: c-typeck.c:4123
+#: c-typeck.c:4102
 #, gcc-internal-format
 msgid "incompatible types in initialization"
 msgstr "初始化时类型不兼容"
 
-#: c-typeck.c:4126
+#: c-typeck.c:4105
 #, gcc-internal-format
 msgid "incompatible types in return"
 msgstr "返回时类型不兼容"
 
-#: c-typeck.c:4207
+#: c-typeck.c:4186
 #, gcc-internal-format
 msgid "traditional C rejects automatic aggregate initialization"
 msgstr "传统 C 不接受自动的聚合初始化"
 
-#: c-typeck.c:4375 c-typeck.c:4390 c-typeck.c:4405
+#: c-typeck.c:4354 c-typeck.c:4369 c-typeck.c:4384
 #, gcc-internal-format
 msgid "(near initialization for %qs)"
 msgstr "(在 %qs 的初始化附近)"
 
-#: c-typeck.c:4942 cp/decl.c:4597
+#: c-typeck.c:4921 cp/decl.c:4603
 #, gcc-internal-format
 msgid "opaque vector types cannot be initialized"
 msgstr "不透明的矢量类型不能被初始化"
 
-#: c-typeck.c:5572
+#: c-typeck.c:5551
 #, gcc-internal-format
 msgid "unknown field %qE specified in initializer"
 msgstr "初始值设定项里有未知的字段 %qE"
 
-#: c-typeck.c:6466
+#: c-typeck.c:6445
 #, gcc-internal-format
 msgid "traditional C rejects initialization of unions"
 msgstr "传统 C 不接受对联合的初始化"
 
-#: c-typeck.c:6774
+#: c-typeck.c:6753
 #, gcc-internal-format
 msgid "jump into statement expression"
 msgstr "跳转至语句表达式中"
 
-#: c-typeck.c:6780
+#: c-typeck.c:6759
 #, gcc-internal-format
 msgid "jump into scope of identifier with variably modified type"
 msgstr "跳至具有可变类型的标识符的作用域中"
 
-#: c-typeck.c:6817
+#: c-typeck.c:6796
 #, gcc-internal-format
 msgid "ISO C forbids %<goto *expr;%>"
 msgstr "ISO C++ 不允许 %<goto *expr;%>"
 
-#: c-typeck.c:6832 cp/typeck.c:6234
+#: c-typeck.c:6811 cp/typeck.c:6259
 #, gcc-internal-format
 msgid "function declared %<noreturn%> has a %<return%> statement"
 msgstr "被声明为 %<noreturn%> 的函数却有 %<return%> 语句"
 
-#: c-typeck.c:6840
+#: c-typeck.c:6819
 #, gcc-internal-format
 msgid "%<return%> with no value, in function returning non-void"
 msgstr "在有返回值的的函数中,%<return%> 不带返回值"
 
-#: c-typeck.c:6849
+#: c-typeck.c:6828
 #, gcc-internal-format
 msgid "%<return%> with a value, in function returning void"
 msgstr "在无返回值的函数中,%<return%> 带返回值"
 
-#: c-typeck.c:6906
+#: c-typeck.c:6885
 #, gcc-internal-format
 msgid "function returns address of local variable"
 msgstr "函数返回局部变量的地址"
 
-#: c-typeck.c:6979 cp/semantics.c:908
+#: c-typeck.c:6958 cp/semantics.c:908
 #, gcc-internal-format
 msgid "switch quantity not an integer"
 msgstr "switch 语句中的值不是一个整数"
 
-#: c-typeck.c:6990
+#: c-typeck.c:6969
 #, gcc-internal-format
 msgid "%<long%> switch expression not converted to %<int%> in ISO C"
 msgstr "在 ISO C 中,%<long%> 开关表达式不被转换为 %<int%>"
 
-#: c-typeck.c:7031
+#: c-typeck.c:7010
 #, gcc-internal-format
 msgid "case label in statement expression not containing enclosing switch statement"
 msgstr "case 标号出现在没有 switch 语句的语句表达式中"
 
-#: c-typeck.c:7034
+#: c-typeck.c:7013
 #, gcc-internal-format
 msgid "%<default%> label in statement expression not containing enclosing switch statement"
 msgstr "%<default%> 标号出现在没有相应 switch 语句的语句表达式中"
 
-#: c-typeck.c:7040
+#: c-typeck.c:7019
 #, 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:7043
+#: c-typeck.c:7022
 #, gcc-internal-format
 msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
 msgstr "%<default%> 标号出现在没有包含的 switch 语句的可变类型标识符的作用域中"
 
-#: c-typeck.c:7047 cp/parser.c:6185
+#: c-typeck.c:7026 cp/parser.c:6205
 #, gcc-internal-format
 msgid "case label not within a switch statement"
 msgstr "case 标号出现在开关语句外"
 
-#: c-typeck.c:7049
+#: c-typeck.c:7028
 #, gcc-internal-format
 msgid "%<default%> label not within a switch statement"
 msgstr "%<default%> 标号未出现在 switch 语句内"
 
-#: c-typeck.c:7126
+#: c-typeck.c:7105
 #, gcc-internal-format
 msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
 msgstr "%H建议显式地使用花括号以避免出现有歧义的 %<else%>"
 
-#: c-typeck.c:7145
+#: c-typeck.c:7124
 #, gcc-internal-format
 msgid "%Hempty body in an if-statement"
 msgstr "%Hif 语句体为空"
 
-#: c-typeck.c:7154
+#: c-typeck.c:7133
 #, gcc-internal-format
 msgid "%Hempty body in an else-statement"
 msgstr "%Helse 语句体为空"
 
-#: c-typeck.c:7263 cp/cp-gimplify.c:118 cp/parser.c:6677
+#: c-typeck.c:7242 cp/cp-gimplify.c:118 cp/parser.c:6702
 #, gcc-internal-format
 msgid "break statement not within loop or switch"
 msgstr "break 语句不在循环或开关语句内"
 
-#: c-typeck.c:7265 cp/parser.c:6688
+#: c-typeck.c:7244 cp/parser.c:6713
 #, gcc-internal-format
 msgid "continue statement not within a loop"
 msgstr "continue 语句出现在循环以外"
 
-#: c-typeck.c:7285
+#: c-typeck.c:7264
 #, gcc-internal-format
 msgid "%Hstatement with no effect"
 msgstr "%H语句不起作用"
 
-#: c-typeck.c:7307
+#: c-typeck.c:7286
 #, gcc-internal-format
 msgid "expression statement has incomplete type"
 msgstr "表达式语句类型不完全"
 
-#: c-typeck.c:7765 c-typeck.c:7806
+#: c-typeck.c:7744 c-typeck.c:7785
 #, gcc-internal-format
 msgid "division by zero"
 msgstr "被零除"
 
-#: c-typeck.c:7851 cp/typeck.c:3037
+#: c-typeck.c:7830 cp/typeck.c:3037
 #, gcc-internal-format
 msgid "right shift count is negative"
 msgstr "右移次数为负"
 
-#: c-typeck.c:7858 cp/typeck.c:3043
+#: c-typeck.c:7837 cp/typeck.c:3043
 #, gcc-internal-format
 msgid "right shift count >= width of type"
 msgstr "右移次数大于或等于类型宽度"
 
-#: c-typeck.c:7879 cp/typeck.c:3062
+#: c-typeck.c:7858 cp/typeck.c:3062
 #, gcc-internal-format
 msgid "left shift count is negative"
 msgstr "左移次数为负"
 
-#: c-typeck.c:7882 cp/typeck.c:3064
+#: c-typeck.c:7861 cp/typeck.c:3064
 #, gcc-internal-format
 msgid "left shift count >= width of type"
 msgstr "左移次数大于或等于类型宽度"
 
-#: c-typeck.c:7900 cp/typeck.c:3099
+#: c-typeck.c:7879 cp/typeck.c:3099
 #, gcc-internal-format
 msgid "comparing floating point with == or != is unsafe"
 msgstr "使用 == 或 != 比较浮点数是不安全的"
 
-#: c-typeck.c:7924 c-typeck.c:7931
+#: c-typeck.c:7903 c-typeck.c:7910
 #, gcc-internal-format
 msgid "ISO C forbids comparison of %<void *%> with function pointer"
 msgstr "ISO C 不允许在 %<void *%> 和函数指针间比较"
 
-#: c-typeck.c:7937 c-typeck.c:7983
+#: c-typeck.c:7916 c-typeck.c:7962
 #, gcc-internal-format
 msgid "comparison of distinct pointer types lacks a cast"
 msgstr "比较不相关的指针时缺少类型转换"
 
-#: c-typeck.c:7951 c-typeck.c:7956 c-typeck.c:8003 c-typeck.c:8008
+#: c-typeck.c:7930 c-typeck.c:7935 c-typeck.c:7982 c-typeck.c:7987
 #, gcc-internal-format
 msgid "comparison between pointer and integer"
 msgstr "比较指针和整数"
 
-#: c-typeck.c:7975
+#: c-typeck.c:7954
 #, gcc-internal-format
 msgid "comparison of complete and incomplete pointers"
 msgstr "在完全和不完全指针间比较"
 
-#: c-typeck.c:7978
+#: c-typeck.c:7957
 #, gcc-internal-format
 msgid "ISO C forbids ordered comparisons of pointers to functions"
 msgstr "ISO C 不允许函数指针间比较大小"
 
-#: c-typeck.c:7991 c-typeck.c:7998
+#: c-typeck.c:7970 c-typeck.c:7977
 #, gcc-internal-format
 msgid "ordered comparison of pointer with integer zero"
 msgstr "指针与整数 0 比较大小"
 
-#: c-typeck.c:8228
+#: c-typeck.c:8207
 #, gcc-internal-format
 msgid "comparison between signed and unsigned"
 msgstr "比较有符号和无符号数"
 
-#: c-typeck.c:8274 cp/typeck.c:3522
+#: c-typeck.c:8253 cp/typeck.c:3522
 #, gcc-internal-format
 msgid "comparison of promoted ~unsigned with constant"
 msgstr "比较常量和取反后又经提升的无符号数"
 
-#: c-typeck.c:8282 cp/typeck.c:3530
+#: c-typeck.c:8261 cp/typeck.c:3530
 #, gcc-internal-format
 msgid "comparison of promoted ~unsigned with unsigned"
 msgstr "比较无符号数和取反后又经提升的无符号数"
 
-#: c-typeck.c:8340
+#: c-typeck.c:8319
 #, gcc-internal-format
 msgid "used array that cannot be converted to pointer where scalar is required"
 msgstr "需要标量时使用了不能被转换为指针的数组"
 
-#: c-typeck.c:8344
+#: c-typeck.c:8323
 #, gcc-internal-format
 msgid "used struct type value where scalar is required"
 msgstr "需要标量时使用了结构类型"
 
-#: c-typeck.c:8348
+#: c-typeck.c:8327
 #, gcc-internal-format
 msgid "used union type value where scalar is required"
 msgstr "需要标量时使用了联合类型"
@@ -17757,12 +17698,12 @@ msgstr "需要标量时使用了联合类型"
 msgid "function call has aggregate value"
 msgstr "函数调用有聚合类型"
 
-#: cfgexpand.c:1558
+#: cfgexpand.c:1597
 #, gcc-internal-format
 msgid "not protecting local variables: variable length buffer"
 msgstr "没有保护局部变量:可变长度的缓冲区"
 
-#: cfgexpand.c:1560
+#: cfgexpand.c:1599
 #, gcc-internal-format
 msgid "not protecting function: no buffer at least %d bytes long"
 msgstr "没有保护函数:没有至少有 %d 字节长的缓冲区"
@@ -18047,67 +17988,67 @@ msgstr "非条件跳转 %i 之后的分支边数不对"
 msgid "wrong amount of branch edges after conditional jump %i"
 msgstr "条件跳转 %i 之后的分支边数不对"
 
-#: cfgrtl.c:2056
+#: cfgrtl.c:2057
 #, gcc-internal-format
 msgid "call edges for non-call insn in bb %i"
 msgstr ""
 
-#: cfgrtl.c:2065
+#: cfgrtl.c:2066
 #, gcc-internal-format
 msgid "abnormal edges for no purpose in bb %i"
 msgstr ""
 
-#: cfgrtl.c:2077
+#: cfgrtl.c:2078
 #, gcc-internal-format
 msgid "insn %d inside basic block %d but block_for_insn is NULL"
 msgstr ""
 
-#: cfgrtl.c:2081
+#: cfgrtl.c:2082
 #, fuzzy, gcc-internal-format
 msgid "insn %d inside basic block %d but block_for_insn is %i"
 msgstr "块 %d 缺少 NOTE_INSN_BASIC_BLOCK"
 
-#: cfgrtl.c:2095 cfgrtl.c:2105
+#: cfgrtl.c:2096 cfgrtl.c:2106
 #, gcc-internal-format
 msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
 msgstr "块 %d 缺少 NOTE_INSN_BASIC_BLOCK"
 
-#: cfgrtl.c:2118
+#: cfgrtl.c:2119
 #, gcc-internal-format
 msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
 msgstr "NOTE_INSN_BASIC_BLOCK %d 在基本块 %d 中间"
 
-#: cfgrtl.c:2128
+#: cfgrtl.c:2129
 #, gcc-internal-format
 msgid "in basic block %d:"
 msgstr "在基本块 %d 中:"
 
-#: cfgrtl.c:2165
+#: cfgrtl.c:2166
 #, gcc-internal-format
 msgid "bb prediction set for block %i, but it is not used in RTL land"
 msgstr ""
 
-#: cfgrtl.c:2183
+#: cfgrtl.c:2184
 #, fuzzy, gcc-internal-format
 msgid "missing barrier after block %i"
 msgstr "%qs 后断言"
 
-#: cfgrtl.c:2196
+#: cfgrtl.c:2197
 #, gcc-internal-format
 msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
 msgstr ""
 
-#: cfgrtl.c:2205
+#: cfgrtl.c:2206
 #, fuzzy, gcc-internal-format
 msgid "verify_flow_info: Incorrect fallthru %i->%i"
 msgstr "verify_flow_info:重复的边 %i->%i"
 
-#: cfgrtl.c:2224
+#: cfgrtl.c:2225
 #, gcc-internal-format
 msgid "basic blocks not laid down consecutively"
 msgstr ""
 
-#: cfgrtl.c:2263
+#: cfgrtl.c:2264
 #, gcc-internal-format
 msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
 msgstr ""
@@ -18237,27 +18178,27 @@ msgstr "需要浮点数时使用了聚合值"
 msgid "conversion to incomplete type"
 msgstr "转换为不完全类型"
 
-#: convert.c:678 convert.c:754
+#: convert.c:688 convert.c:764
 #, gcc-internal-format
 msgid "can't convert between vector values of different size"
 msgstr "不能在不同大小的矢量类型间进行转换"
 
-#: convert.c:684
+#: convert.c:694
 #, gcc-internal-format
 msgid "aggregate value used where an integer was expected"
 msgstr "需要整数时使用了聚合值"
 
-#: convert.c:734
+#: convert.c:744
 #, gcc-internal-format
 msgid "pointer value used where a complex was expected"
 msgstr "需要复数时使用了指针值"
 
-#: convert.c:738
+#: convert.c:748
 #, gcc-internal-format
 msgid "aggregate value used where a complex was expected"
 msgstr "需要复数时使用了聚合值"
 
-#: convert.c:760
+#: convert.c:770
 #, gcc-internal-format
 msgid "can't convert value to a vector"
 msgstr "不能将值转换为矢量"
@@ -18342,27 +18283,27 @@ msgstr "%d 的主导者应该为 %d,而不是 %d"
 msgid "ENTRY does not dominate bb %d"
 msgstr "ENTRY 未能主导基本块 %d"
 
-#: dwarf2out.c:3526
+#: dwarf2out.c:3533
 #, gcc-internal-format
 msgid "DW_LOC_OP %s not implemented"
 msgstr ""
 
-#: emit-rtl.c:2266
+#: emit-rtl.c:2269
 #, fuzzy, gcc-internal-format
 msgid "invalid rtl sharing found in the insn"
 msgstr "此指令中操作数无效"
 
-#: emit-rtl.c:2268
+#: emit-rtl.c:2271
 #, gcc-internal-format
 msgid "shared rtx"
 msgstr "共享的 rtx"
 
-#: emit-rtl.c:2270 flow.c:492 flow.c:517 flow.c:539
+#: emit-rtl.c:2273 flow.c:492 flow.c:517 flow.c:539
 #, gcc-internal-format
 msgid "internal consistency failure"
 msgstr "内部一致性错误"
 
-#: emit-rtl.c:3334
+#: emit-rtl.c:3337
 #, gcc-internal-format
 msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
 msgstr "ICE:需要 emit_jump_insn 时使用了 emit_insn used where:\n"
@@ -18427,27 +18368,27 @@ msgstr "verify_eh_tree 失败"
 msgid "stack limits not supported on this target"
 msgstr "堆栈限制在此目标机上不受支持"
 
-#: fold-const.c:3328 fold-const.c:3339
+#: fold-const.c:3331 fold-const.c:3342
 #, gcc-internal-format
 msgid "comparison is always %d due to width of bit-field"
 msgstr "由于位段宽度所限,比较结果永远为 %d"
 
-#: fold-const.c:4940 fold-const.c:4955
+#: fold-const.c:4943 fold-const.c:4958
 #, gcc-internal-format
 msgid "comparison is always %d"
 msgstr "比较结果始终为 %d"
 
-#: fold-const.c:5084
+#: fold-const.c:5087
 #, gcc-internal-format
 msgid "%<or%> of unmatched not-equal tests is always 1"
 msgstr "对两个不匹配的不等比较取 %<or%> 的结果总为 1"
 
-#: fold-const.c:5089
+#: fold-const.c:5092
 #, gcc-internal-format
 msgid "%<and%> of mutually exclusive equal-tests is always 0"
 msgstr "对两个互斥的相等比较取 %<and%> 的结果永远是 0"
 
-#: fold-const.c:10301
+#: fold-const.c:10304
 #, gcc-internal-format
 msgid "fold check: original tree changed by fold"
 msgstr ""
@@ -18467,22 +18408,22 @@ msgstr "变量 %q+D 的大小太大"
 msgid "impossible constraint in %<asm%>"
 msgstr "%<asm%> 中不可能的约束"
 
-#: function.c:3478
+#: function.c:3506
 #, gcc-internal-format
 msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "变量 %q+D 能为 %<longjmp%> 或 %<vfork%> 所篡改"
 
-#: function.c:3499
+#: function.c:3527
 #, gcc-internal-format
 msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
 msgstr "实参 %q+D 可能为 %<longjmp%> 或 %<vfork%> 所篡改"
 
-#: function.c:3894
+#: function.c:3922
 #, gcc-internal-format
 msgid "function returns an aggregate"
 msgstr "函数返回一个聚合"
 
-#: function.c:4286
+#: function.c:4314
 #, gcc-internal-format
 msgid "unused parameter %q+D"
 msgstr "未使用的参数 %q+D"
@@ -18570,12 +18511,12 @@ msgstr "语言 %s 未能被识别"
 msgid "%s: %s"
 msgstr "%s:%s"
 
-#: gcse.c:6579
+#: gcse.c:6587
 #, gcc-internal-format
 msgid "%s: %d basic blocks and %d edges/basic block"
 msgstr ""
 
-#: gcse.c:6592
+#: gcse.c:6600
 #, gcc-internal-format
 msgid "%s: %d basic blocks and %d registers"
 msgstr "%s:%d 个基本块和 %d 个寄存器"
@@ -18633,17 +18574,17 @@ msgstr "无法写入 PCH 文件:%m"
 msgid "unexpected node"
 msgstr "与预期不符的结点"
 
-#: gimplify.c:3662
+#: gimplify.c:3682
 #, gcc-internal-format
 msgid "invalid lvalue in asm output %d"
 msgstr "汇编输出 %d 中左值无效"
 
-#: gimplify.c:3774
+#: gimplify.c:3794
 #, gcc-internal-format
 msgid "memory input %d is not directly addressable"
 msgstr "内存输入 %d 不可直接寻址"
 
-#: gimplify.c:4646
+#: gimplify.c:4670
 #, gcc-internal-format
 msgid "gimplification failed"
 msgstr "gimplification 失败"
@@ -18653,7 +18594,7 @@ msgstr "gimplification 失败"
 msgid "%s cannot be used in asm here"
 msgstr "%s 不能在这里用于 asm"
 
-#: graph.c:403 java/jcf-parse.c:1080 java/jcf-parse.c:1215 java/lex.c:1855
+#: graph.c:403 java/jcf-parse.c:1086 java/jcf-parse.c:1221 java/lex.c:1855
 #: objc/objc-act.c:501
 #, gcc-internal-format
 msgid "can't open %s: %m"
@@ -18695,67 +18636,72 @@ msgstr "无法识别的命令行选项“%s”"
 msgid "-Wuninitialized is not supported without -O"
 msgstr "-Wuninitialized 在未使用 -O 时不受支持"
 
-#: opts.c:684
+#: opts.c:685
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work with exceptions"
 msgstr "-freorder-blocks-and-partition 不能与异常一起工作"
 
-#: opts.c:693
+#: opts.c:696
+#, fuzzy, gcc-internal-format
+msgid "-freorder-blocks-and-partition does not support unwind info"
+msgstr "-freorder-blocks-and-partition 不能与异常一起工作"
+
+#: opts.c:710
 #, gcc-internal-format
 msgid "-freorder-blocks-and-partition does not work on this architecture"
 msgstr "-freorder-blocks-and-partition 不能在此架构下工作"
 
-#: opts.c:861
+#: opts.c:878
 #, gcc-internal-format
 msgid "structure alignment must be a small power of two, not %d"
 msgstr "结构的对齐必须是 2 的较小次方,而不是 %d"
 
-#: opts.c:919
+#: opts.c:936
 #, gcc-internal-format
 msgid "unrecognized visibility value \"%s\""
 msgstr "无法识别的可见性值“%s”"
 
-#: opts.c:967
+#: opts.c:984
 #, gcc-internal-format
 msgid "unrecognized register name \"%s\""
 msgstr "无法识别的寄存器名“%s”"
 
-#: opts.c:991
+#: opts.c:1008
 #, gcc-internal-format
 msgid "unknown tls-model \"%s\""
 msgstr "未知的 tls-model“%s”"
 
-#: opts.c:1041
+#: opts.c:1058
 #, gcc-internal-format
 msgid "-f[no-]force-mem is nop and option will be removed in 4.2"
 msgstr "-f[no-]force-mem 被忽略,此选项将在 4.2 中被删除"
 
-#: opts.c:1064
+#: opts.c:1081
 #, gcc-internal-format
 msgid "%s: --param arguments should be of the form NAME=VALUE"
 msgstr "%s:--param 实参的形式应该为“名字=值”"
 
-#: opts.c:1069
+#: opts.c:1086
 #, gcc-internal-format
 msgid "invalid --param value %qs"
 msgstr "无效的 --param 值 %qs"
 
-#: opts.c:1166
+#: opts.c:1183
 #, gcc-internal-format
 msgid "target system does not support debug output"
 msgstr "目标系统不支持调试输出"
 
-#: opts.c:1173
+#: opts.c:1190
 #, gcc-internal-format
 msgid "debug format \"%s\" conflicts with prior selection"
 msgstr "调试格式“%s”与先前的选择冲突"
 
-#: opts.c:1189
+#: opts.c:1206
 #, gcc-internal-format
 msgid "unrecognised debug output level \"%s\""
 msgstr "无法识别的调试输出级别“%s”"
 
-#: opts.c:1191
+#: opts.c:1208
 #, gcc-internal-format
 msgid "debug output level %s is too high"
 msgstr "调试输出级别 %s 太高"
@@ -18831,7 +18777,7 @@ msgstr "输出操作数 %d 必须使用 %<&%> 约束"
 msgid "can't use '%s' as a %s register"
 msgstr "无法将‘%s’用作 %s 寄存器"
 
-#: regclass.c:781 config/ia64/ia64.c:5035 config/ia64/ia64.c:5042
+#: regclass.c:781 config/ia64/ia64.c:5041 config/ia64/ia64.c:5048
 #: config/pa/pa.c:339 config/pa/pa.c:346
 #, gcc-internal-format
 msgid "unknown register name: %s"
@@ -18852,22 +18798,22 @@ msgstr "寄存器用作两个全局寄存器变量"
 msgid "call-clobbered register used for global register variable"
 msgstr "调用篡改寄存器用作全局寄存器变量"
 
-#: regrename.c:1893
+#: regrename.c:1916
 #, gcc-internal-format
 msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
 msgstr ""
 
-#: regrename.c:1905
+#: regrename.c:1928
 #, gcc-internal-format
 msgid "validate_value_data: Loop in regno chain (%u)"
 msgstr ""
 
-#: regrename.c:1908
+#: regrename.c:1931
 #, gcc-internal-format
 msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
 msgstr ""
 
-#: regrename.c:1920
+#: regrename.c:1943
 #, gcc-internal-format
 msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
 msgstr ""
@@ -18882,12 +18828,12 @@ msgstr "不能在 %<asm%> 中重新加载整数常量操作数"
 msgid "impossible register constraint in %<asm%>"
 msgstr "%<asm%> 中不可能的寄存器约束"
 
-#: reload.c:3560
+#: reload.c:3564
 #, gcc-internal-format
 msgid "%<&%> constraint used with no register class"
 msgstr "%<&%> 约束未与寄存器类型一起使用"
 
-#: reload.c:3731 reload.c:3963
+#: reload.c:3735 reload.c:3967
 #, gcc-internal-format
 msgid "inconsistent operand constraints in an %<asm%>"
 msgstr "一句 %<asm%> 中操作数约束不一致"
@@ -18912,17 +18858,17 @@ msgstr "重新加载 %<asm%> 时在类 %qs 中找不到寄存器"
 msgid "unable to find a register to spill in class %qs"
 msgstr "在类 %qs 中找不到可舍出的寄存器"
 
-#: reload1.c:3969
+#: reload1.c:3984
 #, gcc-internal-format
 msgid "%<asm%> operand requires impossible reload"
 msgstr "%<asm%> 要求不可能的重新加载"
 
-#: reload1.c:5093
+#: reload1.c:5108
 #, gcc-internal-format
 msgid "%<asm%> operand constraint incompatible with operand size"
 msgstr "%<asm%> 操作数的约束与操作数大小不兼容"
 
-#: reload1.c:6723
+#: reload1.c:6738
 #, gcc-internal-format
 msgid "output operand is constant in %<asm%>"
 msgstr "%<asm%> 的输出操作数是常量"
@@ -19007,77 +18953,77 @@ msgstr "约束中出现无效的标点 %qc"
 msgid "matching constraint does not allow a register"
 msgstr "匹配的约束不允许使用寄存器"
 
-#: stmt.c:598
+#: stmt.c:615
 #, gcc-internal-format
 msgid "asm-specifier for variable %qs conflicts with asm clobber list"
 msgstr "变量 %qs 的 asm 指定与 asm 篡改列表冲突"
 
-#: stmt.c:686
+#: stmt.c:703
 #, gcc-internal-format
 msgid "unknown register name %qs in %<asm%>"
 msgstr "%<asm%> 中出现未知的寄存器名 %qs"
 
-#: stmt.c:694
+#: stmt.c:711
 #, gcc-internal-format
 msgid "PIC register %qs clobbered in %<asm%>"
 msgstr "PIC 寄存器 %qs 在 %<asm%> 中被篡改"
 
-#: stmt.c:741
+#: stmt.c:758
 #, gcc-internal-format
 msgid "more than %d operands in %<asm%>"
 msgstr "%<asm%> 中的操作数超过 %d 个"
 
-#: stmt.c:804
+#: stmt.c:821
 #, gcc-internal-format
 msgid "output number %d not directly addressable"
 msgstr "输出数 %d 不可直接寻址"
 
-#: stmt.c:883
+#: stmt.c:900
 #, gcc-internal-format
 msgid "asm operand %d probably doesn%'t match constraints"
 msgstr "汇编操作数 %d 与约束可能不匹配"
 
-#: stmt.c:893
+#: stmt.c:910
 #, gcc-internal-format
 msgid "use of memory input without lvalue in asm operand %d is deprecated"
 msgstr ""
 
-#: stmt.c:1040
+#: stmt.c:1057
 #, gcc-internal-format
 msgid "asm clobber conflict with output operand"
 msgstr "汇编篡改列表与输出操作数冲突"
 
-#: stmt.c:1045
+#: stmt.c:1062
 #, gcc-internal-format
 msgid "asm clobber conflict with input operand"
 msgstr "汇编篡改列表与输入操作数冲突"
 
-#: stmt.c:1122
+#: stmt.c:1139
 #, gcc-internal-format
 msgid "too many alternatives in %<asm%>"
 msgstr "%<asm%> 中太多变数"
 
-#: stmt.c:1134
+#: stmt.c:1151
 #, gcc-internal-format
 msgid "operand constraints for %<asm%> differ in number of alternatives"
 msgstr ""
 
-#: stmt.c:1187
+#: stmt.c:1204
 #, gcc-internal-format
 msgid "duplicate asm operand name %qs"
 msgstr "重复的汇编操作数名 %qs"
 
-#: stmt.c:1285
+#: stmt.c:1302
 #, gcc-internal-format
 msgid "missing close brace for named operand"
 msgstr "有名操作数后缺少右花括号"
 
-#: stmt.c:1313
+#: stmt.c:1330
 #, gcc-internal-format
 msgid "undefined named operand %qs"
 msgstr "未定义的有名操作数 %qs"
 
-#: stmt.c:1457
+#: stmt.c:1474
 #, gcc-internal-format
 msgid "%Hvalue computed is not used"
 msgstr "%H计算出的值未被使用"
@@ -19092,59 +19038,59 @@ msgstr "类型大小不能被显式地计算出"
 msgid "variable-size type declared outside of any function"
 msgstr "变长类型的声明出现在所有函数之外"
 
-#: stor-layout.c:455
+#: stor-layout.c:462
 #, gcc-internal-format
 msgid "size of %q+D is %d bytes"
 msgstr "%q+D 的大小为 %d 字节"
 
-#: stor-layout.c:457
+#: stor-layout.c:464
 #, gcc-internal-format
 msgid "size of %q+D is larger than %wd bytes"
 msgstr "%q+D 的大小超过 %wd 字节"
 
-#: stor-layout.c:865
+#: stor-layout.c:881
 #, gcc-internal-format
 msgid "packed attribute causes inefficient alignment for %q+D"
 msgstr "packed 属性导致 %q+D 低效率的对齐"
 
-#: stor-layout.c:868
+#: stor-layout.c:884
 #, 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:883
+#: stor-layout.c:899
 #, gcc-internal-format
 msgid "padding struct to align %q+D"
 msgstr "填补结构以对齐 %q+D"
 
-#: stor-layout.c:1282
+#: stor-layout.c:1302
 #, gcc-internal-format
 msgid "padding struct size to alignment boundary"
 msgstr "将结构大小填补到对齐边界上"
 
-#: stor-layout.c:1312
+#: stor-layout.c:1332
 #, gcc-internal-format
 msgid "packed attribute causes inefficient alignment for %qs"
 msgstr "packed 属性导致 %qs 低效率的对齐"
 
-#: stor-layout.c:1316
+#: stor-layout.c:1336
 #, gcc-internal-format
 msgid "packed attribute is unnecessary for %qs"
 msgstr "packed 属性对 %qs 来说是不需要的"
 
-#: stor-layout.c:1322
+#: stor-layout.c:1342
 #, gcc-internal-format
 msgid "packed attribute causes inefficient alignment"
 msgstr "packed 属性导致低效率的对齐"
 
-#: stor-layout.c:1324
+#: stor-layout.c:1344
 #, gcc-internal-format
 msgid "packed attribute is unnecessary"
 msgstr "不需要 packed 属性"
 
-#: stor-layout.c:1835
+#: stor-layout.c:1849
 #, gcc-internal-format
 msgid "alignment of array elements is greater than element size"
 msgstr "数组元素的对齐边界比元素大小还要大"
@@ -19162,364 +19108,364 @@ msgstr ""
 #: tlink.c:705
 #, gcc-internal-format
 msgid "'%s' was assigned to '%s', but was not defined during recompilation, or vice versa"
-msgstr ""
+msgstr "‘%s’被分配给‘%s’,但在重新编译的过程中未定义,或相反"
 
 #: tlink.c:775
 #, gcc-internal-format
 msgid "ld returned %d exit status"
 msgstr "ld 返回 %d"
 
-#: toplev.c:512
+#: toplev.c:513
 #, gcc-internal-format
 msgid "invalid option argument %qs"
 msgstr "无效的选项参数 %qs"
 
-#: toplev.c:602
+#: toplev.c:603
 #, gcc-internal-format
 msgid "getting core file size maximum limit: %m"
 msgstr ""
 
-#: toplev.c:605
+#: toplev.c:606
 #, gcc-internal-format
 msgid "setting core file size limit to maximum: %m"
 msgstr ""
 
-#: toplev.c:823
+#: toplev.c:824
 #, gcc-internal-format
 msgid "%q+F declared %<static%> but never defined"
 msgstr "%q+F 声明为 %<static%> 却从未定义过"
 
-#: toplev.c:848
+#: toplev.c:849
 #, gcc-internal-format
 msgid "%q+D defined but not used"
 msgstr "%q+D 定义后未使用"
 
-#: toplev.c:891 toplev.c:915
+#: toplev.c:892 toplev.c:916
 #, gcc-internal-format
 msgid "%qs is deprecated (declared at %s:%d)"
 msgstr "%qs 已过时(于 %s:%d 声明)"
 
-#: toplev.c:919
+#: toplev.c:920
 #, gcc-internal-format
 msgid "type is deprecated (declared at %s:%d)"
 msgstr "类型已过时(于 %s:%d 声明)"
 
-#: toplev.c:925
+#: toplev.c:926
 #, gcc-internal-format
 msgid "%qs is deprecated"
 msgstr "%qs 已过时"
 
-#: toplev.c:927
+#: toplev.c:928
 #, gcc-internal-format
 msgid "type is deprecated"
 msgstr "类型已过时"
 
-#: toplev.c:1094
+#: toplev.c:1095
 #, gcc-internal-format
 msgid "unrecognized gcc debugging option: %c"
 msgstr "无法识别的 gcc 调试选项:%c"
 
-#: toplev.c:1247
+#: toplev.c:1248
 #, gcc-internal-format
 msgid "can%'t open %s for writing: %m"
 msgstr "无法打开 %s 并写入:%m"
 
-#: toplev.c:1591
+#: toplev.c:1592
 #, gcc-internal-format
 msgid "instruction scheduling not supported on this target machine"
 msgstr "指令调度在此目标机上不受支持"
 
-#: toplev.c:1595
+#: toplev.c:1596
 #, gcc-internal-format
 msgid "this target machine does not have delayed branches"
 msgstr "此目标机没有延迟转移指令"
 
-#: toplev.c:1609
+#: toplev.c:1610
 #, gcc-internal-format
 msgid "-f%sleading-underscore not supported on this target machine"
 msgstr "-f%sleading-underscore 在此目标机上不受支持"
 
-#: toplev.c:1682
+#: toplev.c:1683
 #, gcc-internal-format
 msgid "target system does not support the \"%s\" debug format"
 msgstr "目标系统不支持“%s”调试格式"
 
-#: toplev.c:1694
+#: toplev.c:1695
 #, gcc-internal-format
 msgid "variable tracking requested, but useless unless producing debug info"
 msgstr ""
 
-#: toplev.c:1697
+#: toplev.c:1698
 #, gcc-internal-format
 msgid "variable tracking requested, but not supported by this debug format"
 msgstr ""
 
-#: toplev.c:1717
+#: toplev.c:1718
 #, gcc-internal-format
 msgid "can%'t open %s: %m"
 msgstr "无法打开%s:%m"
 
-#: toplev.c:1724
+#: toplev.c:1725
 #, gcc-internal-format
 msgid "-ffunction-sections not supported for this target"
 msgstr "-ffunction-sections 在此目标机上不受支持"
 
-#: toplev.c:1729
+#: toplev.c:1730
 #, gcc-internal-format
 msgid "-fdata-sections not supported for this target"
 msgstr "-fdata-sections 在此目标机上不受支持"
 
-#: toplev.c:1736
+#: toplev.c:1737
 #, gcc-internal-format
 msgid "-ffunction-sections disabled; it makes profiling impossible"
 msgstr "-ffunction-sections 被禁用;因此不可能进行取样"
 
-#: toplev.c:1743
+#: toplev.c:1744
 #, gcc-internal-format
 msgid "-fprefetch-loop-arrays not supported for this target"
 msgstr "-fprefetch-loop-arrays 在此目标机上不受支持"
 
-#: toplev.c:1749
+#: toplev.c:1750
 #, gcc-internal-format
 msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
 msgstr "-fprefetch-loop-arrays 在此目标机上不受支持(尝试 -march 开关)"
 
-#: toplev.c:1758
+#: toplev.c:1759
 #, gcc-internal-format
 msgid "-fprefetch-loop-arrays is not supported with -Os"
 msgstr "-fprefetch-loop-arrays 不支持与 -Os 并用"
 
-#: toplev.c:1764
+#: toplev.c:1765
 #, gcc-internal-format
 msgid "-ffunction-sections may affect debugging on some targets"
 msgstr "-ffunction-sections 在某些目标机上可能会影响调试"
 
-#: toplev.c:1779
+#: toplev.c:1780
 #, gcc-internal-format
 msgid "-fstack-protector not supported for this target"
 msgstr "-fstack-protector 在此目标机上不受支持"
 
-#: toplev.c:1792
+#: toplev.c:1793
 #, gcc-internal-format
 msgid "unwind tables currently requires a frame pointer for correctness"
 msgstr "解绕表目前需要堆栈框架指针来保证正确性"
 
-#: toplev.c:1897
+#: toplev.c:1898
 #, gcc-internal-format
 msgid "error writing to %s: %m"
 msgstr "写入 %s 时出错:%m"
 
-#: toplev.c:1899 java/jcf-parse.c:1099 java/jcf-write.c:3539
+#: toplev.c:1900 java/jcf-parse.c:1105 java/jcf-write.c:3539
 #, gcc-internal-format
 msgid "error closing %s: %m"
 msgstr "关闭 %s 时出错:%m"
 
-#: tree-cfg.c:1422 tree-cfg.c:2060 tree-cfg.c:2063
+#: tree-cfg.c:1445 tree-cfg.c:2083 tree-cfg.c:2086
 #, gcc-internal-format
 msgid "%Hwill never be executed"
 msgstr "%H永远不会被执行"
 
-#: tree-cfg.c:3149
+#: tree-cfg.c:3172
 #, gcc-internal-format
 msgid "SSA name in freelist but still referenced"
 msgstr ""
 
-#: tree-cfg.c:3158
+#: tree-cfg.c:3181
 #, gcc-internal-format
 msgid "ASSERT_EXPR with an always-false condition"
 msgstr ""
 
-#: tree-cfg.c:3168
+#: tree-cfg.c:3191
 #, gcc-internal-format
 msgid "GIMPLE register modified with BIT_FIELD_REF"
 msgstr ""
 
-#: tree-cfg.c:3203
+#: tree-cfg.c:3226
 #, gcc-internal-format
 msgid "invariant not recomputed when ADDR_EXPR changed"
 msgstr ""
 
-#: tree-cfg.c:3209
+#: tree-cfg.c:3232
 #, gcc-internal-format
 msgid "constant not recomputed when ADDR_EXPR changed"
 msgstr ""
 
-#: tree-cfg.c:3214
+#: tree-cfg.c:3237
 #, gcc-internal-format
 msgid "side effects not recomputed when ADDR_EXPR changed"
 msgstr ""
 
-#: tree-cfg.c:3230
+#: tree-cfg.c:3253
 #, gcc-internal-format
 msgid "address taken, but ADDRESSABLE bit not set"
 msgstr ""
 
-#: tree-cfg.c:3240
+#: tree-cfg.c:3263
 #, gcc-internal-format
 msgid "non-boolean used in condition"
 msgstr "条件表达式使用了非布尔值"
 
-#: tree-cfg.c:3245
+#: tree-cfg.c:3268
 #, gcc-internal-format
 msgid "invalid conditional operand"
 msgstr "无效的条件操作数"
 
-#: tree-cfg.c:3300
+#: tree-cfg.c:3323
 #, gcc-internal-format
 msgid "invalid reference prefix"
 msgstr "无效的引用前缀"
 
-#: tree-cfg.c:3365
+#: tree-cfg.c:3388
 #, gcc-internal-format
 msgid "is not a valid GIMPLE statement"
 msgstr "不是一个有效的 GIMPLE 语句"
 
-#: tree-cfg.c:3385
+#: tree-cfg.c:3408
 #, gcc-internal-format
 msgid "statement marked for throw, but doesn%'t"
 msgstr ""
 
-#: tree-cfg.c:3390
+#: tree-cfg.c:3413
 #, gcc-internal-format
 msgid "statement marked for throw in middle of block"
 msgstr ""
 
-#: tree-cfg.c:3485
+#: tree-cfg.c:3508
 #, gcc-internal-format
 msgid "bb_for_stmt (phi) is set to a wrong basic block"
 msgstr ""
 
-#: tree-cfg.c:3500
+#: tree-cfg.c:3523
 #, gcc-internal-format
 msgid "PHI def is not a GIMPLE value"
 msgstr ""
 
-#: tree-cfg.c:3516 tree-cfg.c:3539
+#: tree-cfg.c:3539 tree-cfg.c:3562
 #, gcc-internal-format
 msgid "incorrect sharing of tree nodes"
 msgstr "对树结节的共享不正确"
 
-#: tree-cfg.c:3530
+#: tree-cfg.c:3553
 #, gcc-internal-format
 msgid "bb_for_stmt (stmt) is set to a wrong basic block"
 msgstr ""
 
-#: tree-cfg.c:3548
+#: tree-cfg.c:3571
 #, gcc-internal-format
 msgid "verify_stmts failed"
 msgstr "verify_stmts 失败"
 
-#: tree-cfg.c:3569
+#: tree-cfg.c:3592
 #, gcc-internal-format
 msgid "ENTRY_BLOCK has a statement list associated with it"
 msgstr ""
 
-#: tree-cfg.c:3575
+#: tree-cfg.c:3598
 #, gcc-internal-format
 msgid "EXIT_BLOCK has a statement list associated with it"
 msgstr ""
 
-#: tree-cfg.c:3582
+#: tree-cfg.c:3605
 #, gcc-internal-format
 msgid "fallthru to exit from bb %d"
 msgstr ""
 
-#: tree-cfg.c:3604
+#: tree-cfg.c:3627
 #, gcc-internal-format
 msgid "nonlocal label %s is not first in a sequence of labels in bb %d"
 msgstr ""
 
-#: tree-cfg.c:3613
+#: tree-cfg.c:3636
 #, fuzzy, gcc-internal-format
 msgid "label %s to block does not match in bb %d"
 msgstr "%<else%> 标号在基本块 %d 结尾不匹配边\n"
 
-#: tree-cfg.c:3622
+#: tree-cfg.c:3645
 #, gcc-internal-format
 msgid "label %s has incorrect context in bb %d"
 msgstr ""
 
-#: tree-cfg.c:3636
+#: tree-cfg.c:3659
 #, gcc-internal-format
 msgid "control flow in the middle of basic block %d"
 msgstr "基本块 %d 中出现流程控制"
 
-#: tree-cfg.c:3646
+#: tree-cfg.c:3669
 #, gcc-internal-format
 msgid "label %s in the middle of basic block %d"
 msgstr "标号 %s 在基本块 %d 中间"
 
-#: tree-cfg.c:3665
+#: tree-cfg.c:3688
 #, gcc-internal-format
 msgid "fallthru edge after a control statement in bb %d"
 msgstr ""
 
-#: tree-cfg.c:3680
+#: tree-cfg.c:3703
 #, gcc-internal-format
 msgid "structured COND_EXPR at the end of bb %d"
 msgstr ""
 
-#: tree-cfg.c:3693 tree-cfg.c:3731 tree-cfg.c:3744 tree-cfg.c:3815
+#: tree-cfg.c:3716 tree-cfg.c:3754 tree-cfg.c:3767 tree-cfg.c:3838
 #, gcc-internal-format
 msgid "wrong outgoing edge flags at end of bb %d"
 msgstr ""
 
-#: tree-cfg.c:3701
+#: tree-cfg.c:3724
 #, gcc-internal-format
 msgid "%<then%> label does not match edge at end of bb %d"
 msgstr "%<then%> 标号在基本块 %d 结尾不匹配边"
 
-#: tree-cfg.c:3709
+#: tree-cfg.c:3732
 #, gcc-internal-format
 msgid "%<else%> label does not match edge at end of bb %d"
 msgstr "%<else%> 标号在基本块 %d 结尾不匹配边"
 
-#: tree-cfg.c:3719
+#: tree-cfg.c:3742
 #, gcc-internal-format
 msgid "explicit goto at end of bb %d"
 msgstr "基本块 %d 末尾显式的 goto"
 
-#: tree-cfg.c:3749
+#: tree-cfg.c:3772
 #, gcc-internal-format
 msgid "return edge does not point to exit in bb %d"
 msgstr ""
 
-#: tree-cfg.c:3782
+#: tree-cfg.c:3805
 #, gcc-internal-format
 msgid "found default case not at end of case vector"
 msgstr "默认 case 没有出现在 case 矢量末尾"
 
-#: tree-cfg.c:3788
+#: tree-cfg.c:3811
 #, gcc-internal-format
 msgid "case labels not sorted:"
 msgstr "case 标号未排序: "
 
-#: tree-cfg.c:3799
+#: tree-cfg.c:3822
 #, gcc-internal-format
 msgid "no default case found at end of case vector"
 msgstr "case 矢量末尾没有默认 case"
 
-#: tree-cfg.c:3807
+#: tree-cfg.c:3830
 #, gcc-internal-format
 msgid "extra outgoing edge %d->%d"
 msgstr "多余的出边 %d->%d"
 
-#: tree-cfg.c:3829
+#: tree-cfg.c:3852
 #, gcc-internal-format
 msgid "missing edge %i->%i"
 msgstr "缺少边 %i->%i"
 
-#: tree-cfg.c:5123 tree-cfg.c:5127
+#: tree-cfg.c:5146 tree-cfg.c:5150
 #, gcc-internal-format
 msgid "%H%<noreturn%> function does return"
 msgstr "%H%<noreturn%> 函数确实会返回"
 
-#: tree-cfg.c:5149 tree-cfg.c:5154
+#: tree-cfg.c:5172 tree-cfg.c:5177
 #, gcc-internal-format
 msgid "%Hcontrol reaches end of non-void function"
 msgstr "%H在有返回值的函数中,控制流程到达函数尾"
 
-#: tree-cfg.c:5214
+#: tree-cfg.c:5237
 #, gcc-internal-format
 msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
 msgstr "%J函数是属性 %<noreturn%> 可能的备选"
@@ -19565,57 +19511,57 @@ msgstr ""
 msgid "unnecessary EH edge %i->%i"
 msgstr "不需要的 EH 边 %i->%i"
 
-#: tree-inline.c:1373
+#: tree-inline.c:1381
 #, 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:1385
+#: tree-inline.c:1393
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses setjmp"
 msgstr "函数 %q+F 无法被内联,因为它使用了 setjmp"
 
-#: tree-inline.c:1399
+#: tree-inline.c:1407
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable argument lists"
 msgstr "函数 %q+F 无法被内联,因为它使用了变长实参表"
 
-#: tree-inline.c:1410
+#: tree-inline.c:1418
 #, 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:1417
+#: tree-inline.c:1425
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses non-local goto"
 msgstr "函数 %q+F 无法被内联,因为使用了非局部的 goto"
 
-#: tree-inline.c:1428
+#: tree-inline.c:1436
 #, 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:1447
+#: tree-inline.c:1455
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it contains a computed goto"
 msgstr "函数 %q+F 无法被内联,因为包含一个运行时 goto"
 
-#: tree-inline.c:1461
+#: tree-inline.c:1469
 #, 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:1486
+#: tree-inline.c:1494
 #, gcc-internal-format
 msgid "function %q+F can never be inlined because it uses variable sized variables"
 msgstr "函数 %q+F 无法被内联,因为使用了变长变量"
 
-#: tree-inline.c:2025 tree-inline.c:2035
+#: tree-inline.c:2033 tree-inline.c:2043
 #, gcc-internal-format
 msgid "inlining failed in call to %q+F: %s"
 msgstr "调用 %q+F 时内联失败:%s"
 
-#: tree-inline.c:2026 tree-inline.c:2037
+#: tree-inline.c:2034 tree-inline.c:2045
 #, gcc-internal-format
 msgid "called from here"
 msgstr "从此处调用"
@@ -19874,91 +19820,91 @@ msgstr "%H此函数中的 %qD 在使用前可能未初始化"
 msgid "no support for induction"
 msgstr "不支持归纳"
 
-#: tree.c:3495
+#: tree.c:3497
 #, gcc-internal-format
 msgid "%q+D already declared with dllexport attribute: dllimport ignored"
 msgstr "%q+D 已被声明为具有 dllexport 属性:忽略 dllimport"
 
-#: tree.c:3507
+#: tree.c:3509
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
 msgstr "%q+D 重声明时没有 dllimport 属性,但已被作为 dllimport 链接引用过"
 
-#: tree.c:3523 config/i386/winnt-cxx.c:70
+#: tree.c:3525 config/i386/winnt-cxx.c:70
 #, gcc-internal-format
 msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
 msgstr "%q+D 重声明时没有 dllimport 属性:忽略先前的 dllimport"
 
-#: tree.c:3575 config/darwin.c:1209 config/arm/arm.c:2888
-#: config/arm/arm.c:2916 config/avr/avr.c:4656 config/h8300/h8300.c:5282
-#: config/h8300/h8300.c:5306 config/i386/i386.c:2057 config/i386/i386.c:16691
-#: config/ia64/ia64.c:533 config/m68hc11/m68hc11.c:1118
+#: tree.c:3577 config/darwin.c:1236 config/arm/arm.c:2890
+#: config/arm/arm.c:2918 config/avr/avr.c:4656 config/h8300/h8300.c:5282
+#: config/h8300/h8300.c:5306 config/i386/i386.c:2066 config/i386/i386.c:16701
+#: config/ia64/ia64.c:534 config/m68hc11/m68hc11.c:1118
 #: config/sh/symbian.c:409 config/sh/symbian.c:416
 #, gcc-internal-format
 msgid "%qs attribute ignored"
 msgstr "忽略 %qs 属性"
 
-#: tree.c:3594
+#: tree.c:3596
 #, gcc-internal-format
 msgid "inline function %q+D declared as  dllimport: attribute ignored"
 msgstr "内联函数 %q+D 声明为 dllimport:忽略此属性"
 
-#: tree.c:3602
+#: tree.c:3604
 #, gcc-internal-format
 msgid "function %q+D definition is marked dllimport"
 msgstr "函数 %q+D 的定义被标记为 dllimport"
 
-#: tree.c:3610 config/sh/symbian.c:431
+#: tree.c:3612 config/sh/symbian.c:431
 #, gcc-internal-format
 msgid "variable %q+D definition is marked dllimport"
 msgstr "变量 %q+D 的定义被标记为 dllimport"
 
-#: tree.c:3633 config/sh/symbian.c:506
+#: tree.c:3635 config/sh/symbian.c:506
 #, gcc-internal-format
 msgid "external linkage required for symbol %q+D because of %qs attribute"
 msgstr ""
 
-#: tree.c:5045
+#: tree.c:5029
 #, gcc-internal-format
 msgid "arrays of functions are not meaningful"
 msgstr "函数数组是没有意义的"
 
-#: tree.c:5097
+#: tree.c:5081
 #, gcc-internal-format
 msgid "function return type cannot be function"
 msgstr "函数不能返回函数"
 
-#: tree.c:5997
+#: tree.c:6000
 #, gcc-internal-format
 msgid "tree check: %s, have %s in %s, at %s:%d"
 msgstr "树检查:%s,得到 %s 在 %s,于 %s:%d"
 
-#: tree.c:6034
+#: tree.c:6037
 #, 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:6047
+#: tree.c:6050
 #, 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:6072
+#: tree.c:6075
 #, gcc-internal-format
 msgid "tree check: expected tree that contains %qs structure, have %qs  in %s, at %s:%d"
 msgstr "树检查:需要包含 %qs 结构的树,得到 %s 在 %s,于 %s:%d"
 
-#: tree.c:6086
+#: tree.c:6089
 #, gcc-internal-format
 msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:6098
+#: tree.c:6101
 #, gcc-internal-format
 msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
 msgstr ""
 
-#: tree.c:6110
+#: tree.c:6113
 #, gcc-internal-format
 msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
 msgstr ""
@@ -20001,7 +19947,7 @@ msgstr "全局寄存器变量有初始值"
 #: varasm.c:959
 #, gcc-internal-format
 msgid "optimization may eliminate reads and/or writes to register variables"
-msgstr ""
+msgstr "优化可能会去除对寄存器变量的读写"
 
 #: varasm.c:997
 #, gcc-internal-format
@@ -20033,85 +19979,85 @@ msgstr "线程局部的 COMMON 数据没有实现"
 msgid "requested alignment for %q+D is greater than implemented alignment of %wu"
 msgstr "%q+D 需要的对齐边界大于实现的对齐边界 %wu"
 
-#: varasm.c:3919
+#: varasm.c:3933
 #, gcc-internal-format
 msgid "no-op convert from %wd to %wd bytes in initializer"
 msgstr ""
 
-#: varasm.c:3963
+#: varasm.c:3977
 #, gcc-internal-format
 msgid "initializer for integer value is too complicated"
 msgstr "整数值的初始值设定太复杂"
 
-#: varasm.c:3968
+#: varasm.c:3982
 #, gcc-internal-format
 msgid "initializer for floating value is not a floating constant"
 msgstr "浮点值的初始值设定不是一个浮点常量"
 
-#: varasm.c:4237
+#: varasm.c:4251
 #, gcc-internal-format
 msgid "invalid initial value for member %qs"
 msgstr "成员 %qs 的初始值无效"
 
-#: varasm.c:4437 varasm.c:4481
+#: varasm.c:4451 varasm.c:4495
 #, gcc-internal-format
 msgid "weak declaration of %q+D must precede definition"
 msgstr "%q+D 的弱声明必须在定义之前"
 
-#: varasm.c:4445
+#: varasm.c:4459
 #, gcc-internal-format
 msgid "weak declaration of %q+D after first use results in unspecified behavior"
 msgstr "%q+D 的弱声明出现在第一次使用之后将导致不可预期的行为"
 
-#: varasm.c:4479
+#: varasm.c:4493
 #, gcc-internal-format
 msgid "weak declaration of %q+D must be public"
 msgstr "%q+D 的弱声明必须是公共的"
 
-#: varasm.c:4488
+#: varasm.c:4502
 #, gcc-internal-format
 msgid "weak declaration of %q+D not supported"
 msgstr "不支持 %q+D 的弱声明"
 
-#: varasm.c:4518
+#: varasm.c:4532
 #, gcc-internal-format
 msgid "only weak aliases are supported in this configuration"
 msgstr "此配置下只支持弱别名"
 
-#: varasm.c:4748
+#: varasm.c:4762
 #, gcc-internal-format
 msgid "%Jweakref is not supported in this configuration"
 msgstr "%J别名引用在此配置下不受支持"
 
-#: varasm.c:4821
+#: varasm.c:4835
 #, gcc-internal-format
 msgid "%q+D aliased to undefined symbol %qs"
 msgstr "%q+D 是未定义符号 %qs 的别名"
 
-#: varasm.c:4826
+#: varasm.c:4840
 #, gcc-internal-format
 msgid "%q+D aliased to external symbol %qs"
 msgstr "%q+D 是外部符号 %qs 的别名"
 
-#: varasm.c:4865
+#: varasm.c:4879
 #, gcc-internal-format
 msgid "weakref %q+D ultimately targets itself"
-msgstr ""
+msgstr "weakref %q+D 最终指向其自身"
 
-#: varasm.c:4878
+#: varasm.c:4892
 #, gcc-internal-format
 msgid "%Jalias definitions not supported in this configuration"
 msgstr "%J别名定义在此配置下不受支持"
 
-#: varasm.c:4883
+#: varasm.c:4897
 #, gcc-internal-format
 msgid "%Jonly weak aliases are supported in this configuration"
 msgstr "%J此配置下只支持弱别名"
 
-#: varasm.c:4940
+#: varasm.c:4954
 #, gcc-internal-format
 msgid "visibility attribute not supported in this configuration; ignored"
-msgstr ""
+msgstr "可见性属性在此配置下不受支持;已忽略"
 
 #: varray.c:207
 #, gcc-internal-format
@@ -20180,7 +20126,7 @@ msgstr ""
 msgid "Unknown value %qs of -mmacosx-version-min"
 msgstr ""
 
-#: config/darwin.c:1323
+#: config/darwin.c:1350
 #, gcc-internal-format
 msgid "internal and protected visibility attributes not supported in this configuration; ignored"
 msgstr "内部和保护的可见性属性在此配置下不受支持;已忽略"
@@ -20271,83 +20217,83 @@ msgstr "对 VxWorks 的取样支持"
 msgid "profiler support for WindISS"
 msgstr "对 WindISS 的取样支持"
 
-#: config/alpha/alpha.c:231 config/rs6000/rs6000.c:1570
+#: config/alpha/alpha.c:231 config/rs6000/rs6000.c:1578
 #, gcc-internal-format
 msgid "bad value %qs for -mtls-size switch"
 msgstr "-mtls-size 开关的值 %qs 不正确"
 
-#: config/alpha/alpha.c:270
+#: config/alpha/alpha.c:285
 #, gcc-internal-format
 msgid "-f%s ignored for Unicos/Mk (not supported)"
 msgstr "-f%s 在 Unicos/Mk 上被忽略(不受支持)"
 
-#: config/alpha/alpha.c:294
+#: config/alpha/alpha.c:309
 #, gcc-internal-format
 msgid "-mieee not supported on Unicos/Mk"
 msgstr "-mieee 在 Unicos/Mk 上不被支持"
 
-#: config/alpha/alpha.c:305
+#: config/alpha/alpha.c:320
 #, gcc-internal-format
 msgid "-mieee-with-inexact not supported on Unicos/Mk"
 msgstr "-mieee-with-inexact 在 Unicos/Mk 上不被支持"
 
-#: config/alpha/alpha.c:322
+#: config/alpha/alpha.c:337
 #, gcc-internal-format
 msgid "bad value %qs for -mtrap-precision switch"
 msgstr "-mtrap-precision 开关的值 %qs 不正确"
 
-#: config/alpha/alpha.c:336
+#: config/alpha/alpha.c:351
 #, gcc-internal-format
 msgid "bad value %qs for -mfp-rounding-mode switch"
 msgstr "-mfp-rounding-mode 开关的值 %qs 不正确"
 
-#: config/alpha/alpha.c:351
+#: config/alpha/alpha.c:366
 #, gcc-internal-format
 msgid "bad value %qs for -mfp-trap-mode switch"
 msgstr "-mfp-trap-mode 开关的值 %qs 不正确"
 
-#: config/alpha/alpha.c:365 config/alpha/alpha.c:377
+#: config/alpha/alpha.c:380 config/alpha/alpha.c:392
 #, gcc-internal-format
 msgid "bad value %qs for -mcpu switch"
 msgstr "-mcpu 开关的值 %qs 错误"
 
-#: config/alpha/alpha.c:384
+#: config/alpha/alpha.c:399
 #, gcc-internal-format
 msgid "trap mode not supported on Unicos/Mk"
 msgstr "陷阱模式在 Unicos/Mk 上不被支持"
 
-#: config/alpha/alpha.c:391
+#: config/alpha/alpha.c:406
 #, gcc-internal-format
 msgid "fp software completion requires -mtrap-precision=i"
 msgstr ""
 
-#: config/alpha/alpha.c:407
+#: config/alpha/alpha.c:422
 #, gcc-internal-format
 msgid "rounding mode not supported for VAX floats"
 msgstr "舍入模式不为 VAX 浮点数所支持"
 
-#: config/alpha/alpha.c:412
+#: config/alpha/alpha.c:427
 #, gcc-internal-format
 msgid "trap mode not supported for VAX floats"
 msgstr "陷阱模式不为 VAX 浮点数所支持"
 
-#: config/alpha/alpha.c:416
+#: config/alpha/alpha.c:431
 #, gcc-internal-format
 msgid "128-bit long double not supported for VAX floats"
 msgstr "128 位 long double 在 VAX 上不受支持"
 
-#: config/alpha/alpha.c:444
+#: config/alpha/alpha.c:459
 #, gcc-internal-format
 msgid "L%d cache latency unknown for %s"
 msgstr "L%d 缓存延迟未知,对 %s 来说"
 
-#: config/alpha/alpha.c:459
+#: config/alpha/alpha.c:474
 #, gcc-internal-format
 msgid "bad value %qs for -mmemory-latency"
 msgstr "-mmemory-latency 开关的值 %qs 错误"
 
-#: config/alpha/alpha.c:6551 config/alpha/alpha.c:6554 config/s390/s390.c:7796
-#: config/s390/s390.c:7799
+#: config/alpha/alpha.c:6566 config/alpha/alpha.c:6569 config/s390/s390.c:8109
+#: config/s390/s390.c:8112
 #, gcc-internal-format
 msgid "bad builtin fcode"
 msgstr "错误的内建 fcode"
@@ -20367,7 +20313,7 @@ msgstr "%qs 属性的实参不是“ilink1”或“ilink2”"
 msgid "switch -mcpu=%s conflicts with -march= switch"
 msgstr "开关 -mcpu=%s 与 -march= 开关冲突"
 
-#: config/arm/arm.c:922 config/rs6000/rs6000.c:1226 config/sparc/sparc.c:698
+#: config/arm/arm.c:922 config/rs6000/rs6000.c:1230 config/sparc/sparc.c:706
 #, gcc-internal-format
 msgid "bad value (%s) for %s switch"
 msgstr "开关的参数(%s,属于开关%s)不正确"
@@ -20482,39 +20428,39 @@ msgstr "-mpic-register= 不与 -fpic 并用时不起作用"
 msgid "unable to use '%s' for PIC register"
 msgstr "‘%s’不能被用作 PIC 寄存器"
 
-#: config/arm/arm.c:2856 config/arm/arm.c:2874 config/avr/avr.c:4676
-#: config/bfin/bfin.c:2723 config/c4x/c4x.c:4076 config/h8300/h8300.c:5258
-#: config/i386/i386.c:2021 config/m68hc11/m68hc11.c:1155
-#: config/m68k/m68k.c:376 config/mcore/mcore.c:3032 config/ms1/ms1.c:1285
-#: config/rs6000/rs6000.c:17343 config/sh/sh.c:7529 config/sh/sh.c:7550
-#: config/sh/sh.c:7585 config/stormy16/stormy16.c:2241 config/v850/v850.c:2111
+#: config/arm/arm.c:2858 config/arm/arm.c:2876 config/avr/avr.c:4676
+#: config/bfin/bfin.c:2733 config/c4x/c4x.c:4076 config/h8300/h8300.c:5258
+#: config/i386/i386.c:2030 config/m68hc11/m68hc11.c:1155
+#: config/m68k/m68k.c:376 config/mcore/mcore.c:3032 config/mt/mt.c:1274
+#: config/rs6000/rs6000.c:17383 config/sh/sh.c:7568 config/sh/sh.c:7589
+#: config/sh/sh.c:7612 config/stormy16/stormy16.c:2241 config/v850/v850.c:2111
 #, gcc-internal-format
 msgid "%qs attribute only applies to functions"
 msgstr "%qs 属性只能应用于函数"
 
-#: config/arm/arm.c:11995
+#: config/arm/arm.c:11997
 #, gcc-internal-format
 msgid "unable to compute real location of stacked parameter"
 msgstr ""
 
 #. @@@ better error message
-#: config/arm/arm.c:12640 config/arm/arm.c:12677
+#: config/arm/arm.c:12642 config/arm/arm.c:12679
 #, gcc-internal-format
 msgid "selector must be an immediate"
 msgstr "选择子必须是立即数"
 
 #. @@@ better error message
-#: config/arm/arm.c:12720 config/i386/i386.c:15465 config/i386/i386.c:15499
+#: config/arm/arm.c:12722 config/i386/i386.c:15478 config/i386/i386.c:15512
 #, gcc-internal-format
 msgid "mask must be an immediate"
 msgstr "掩码必须是一个立即数"
 
-#: config/arm/arm.c:13379
+#: config/arm/arm.c:13381
 #, gcc-internal-format
 msgid "no low registers available for popping high registers"
-msgstr ""
+msgstr "高寄存器弹栈时没有可用的低寄存器"
 
-#: config/arm/arm.c:13603
+#: config/arm/arm.c:13605
 #, gcc-internal-format
 msgid "interrupt Service Routines cannot be coded in Thumb mode"
 msgstr ""
@@ -20564,27 +20510,27 @@ msgstr "MCU %qs 只支持汇编器"
 msgid "trampolines not supported"
 msgstr "不支持蹦床"
 
-#: config/bfin/bfin.c:1805 config/m68k/m68k.c:294
+#: config/bfin/bfin.c:1815 config/m68k/m68k.c:294
 #, 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:1825
+#: config/bfin/bfin.c:1835
 #, gcc-internal-format
 msgid "-mshared-library-id= specified without -mid-shared-library"
 msgstr "指定了 -mshared-library-id= 却没有使用 -mid-shared-library"
 
-#: config/bfin/bfin.c:2728
+#: config/bfin/bfin.c:2738
 #, gcc-internal-format
 msgid "multiple function type attributes specified"
 msgstr "指定了多个函数类型属性"
 
-#: config/bfin/bfin.c:2784
+#: config/bfin/bfin.c:2794
 #, gcc-internal-format
 msgid "`%s' attribute only applies to functions"
 msgstr "‘%s’属性只能用于函数"
 
-#: config/bfin/bfin.c:2795
+#: config/bfin/bfin.c:2805
 #, gcc-internal-format
 msgid "can't apply both longcall and shortcall attributes to the same function"
 msgstr ""
@@ -20638,73 +20584,73 @@ msgstr ""
 msgid "invalid use of ':' modifier"
 msgstr "错误地使用了‘:’修饰符"
 
-#: config/cris/cris.c:979
+#: config/cris/cris.c:986
 #, gcc-internal-format
 msgid "internal error: bad register: %d"
 msgstr "内部错误:错误的寄存器:%dt"
 
-#: config/cris/cris.c:1521
+#: config/cris/cris.c:1528
 #, gcc-internal-format
 msgid "internal error: sideeffect-insn affecting main effect"
 msgstr ""
 
-#: config/cris/cris.c:1545
+#: config/cris/cris.c:1552
 #, 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:1896
+#: config/cris/cris.c:1903
 #, gcc-internal-format
 msgid "internal error: cris_side_effect_mode_ok with bad operands"
 msgstr ""
 
-#: config/cris/cris.c:2099
+#: config/cris/cris.c:2106
 #, 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:2127
+#: config/cris/cris.c:2134
 #, gcc-internal-format
 msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
 msgstr "-march= 或 -mcpu= 中未知的 CRIS CPU 版本设定:%s"
 
-#: config/cris/cris.c:2163
+#: config/cris/cris.c:2170
 #, gcc-internal-format
 msgid "unknown CRIS cpu version specification in -mtune= : %s"
 msgstr "-mtune= 中未知的 CRIS CPU 版本设定:%s"
 
-#: config/cris/cris.c:2181
+#: config/cris/cris.c:2188
 #, gcc-internal-format
 msgid "-fPIC and -fpic are not supported in this configuration"
 msgstr "-fPIC 和 -fpic 在此配置下不受支持"
 
-#: config/cris/cris.c:2196
+#: config/cris/cris.c:2203
 #, gcc-internal-format
 msgid "that particular -g option is invalid with -maout and -melinux"
 msgstr ""
 
-#: config/cris/cris.c:2390
+#: config/cris/cris.c:2416
 #, gcc-internal-format
 msgid "Unknown src"
 msgstr "未知源"
 
-#: config/cris/cris.c:2432
+#: config/cris/cris.c:2477
 #, gcc-internal-format
 msgid "Unknown dest"
 msgstr "未知目标"
 
-#: config/cris/cris.c:2717
+#: config/cris/cris.c:2762
 #, gcc-internal-format
 msgid "stackframe too big: %d bytes"
 msgstr "堆栈框架太大:%d 字节"
 
-#: config/cris/cris.c:3133 config/cris/cris.c:3160
+#: config/cris/cris.c:3214 config/cris/cris.c:3241
 #, gcc-internal-format
 msgid "expand_binop failed in movsi got"
 msgstr ""
 
-#: config/cris/cris.c:3225
+#: config/cris/cris.c:3322
 #, gcc-internal-format
 msgid "emitting PIC operand, but PIC register isn't set up"
 msgstr ""
@@ -20759,7 +20705,7 @@ msgstr "CRIS-port 断言错误:"
 #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
 #. TARGET_ASM_FUNCTION_EPILOGUE.
 #. Node: Profiling
-#: config/cris/cris.h:867
+#: config/cris/cris.h:871
 #, gcc-internal-format
 msgid "no FUNCTION_PROFILER for CRIS"
 msgstr "CRIS 没有 FUNCTION_PROFILER"
@@ -20859,7 +20805,7 @@ msgstr "不能在 PCH 文件中设定位置:%m"
 msgid "code model %s not supported in PIC mode"
 msgstr "代码模式 %s 在 PIC 模式下不受支持"
 
-#: config/i386/i386.c:1330 config/sparc/sparc.c:662
+#: config/i386/i386.c:1330 config/sparc/sparc.c:670
 #, gcc-internal-format
 msgid "bad value (%s) for -mcmodel= switch"
 msgstr "-mcmodel= 值(%s)不正确"
@@ -20889,7 +20835,7 @@ msgstr "未编译入对 %i 位模式的支持"
 msgid "CPU you selected does not support x86-64 instruction set"
 msgstr "您选择的 CPU 不支持 x86-64 指令集"
 
-#: config/i386/i386.c:1390 config/ms1/ms1.c:811
+#: config/i386/i386.c:1390 config/mt/mt.c:803
 #, gcc-internal-format
 msgid "bad value (%s) for -march= switch"
 msgstr "-march= 所带参数(%s)不正确"
@@ -20979,102 +20925,102 @@ msgstr "-mfpmath= 开关的值(%s)错误"
 msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
 msgstr "解卷表目前需要框架指针或 -maccumulate-outgoing-args 来保证正确性"
 
-#: config/i386/i386.c:2034 config/i386/i386.c:2076
+#: config/i386/i386.c:2043 config/i386/i386.c:2085
 #, gcc-internal-format
 msgid "fastcall and regparm attributes are not compatible"
 msgstr "fastcall 和 regparm 属性互不兼容"
 
-#: config/i386/i386.c:2041
+#: config/i386/i386.c:2050
 #, gcc-internal-format
 msgid "%qs attribute requires an integer constant argument"
 msgstr "%qs 属性需要一个整常量作为实参"
 
-#: config/i386/i386.c:2047
+#: config/i386/i386.c:2056
 #, gcc-internal-format
 msgid "argument to %qs attribute larger than %d"
 msgstr "%qs 属性的实参大于 %d"
 
-#: config/i386/i386.c:2068 config/i386/i386.c:2103
+#: config/i386/i386.c:2077 config/i386/i386.c:2112
 #, gcc-internal-format
 msgid "fastcall and cdecl attributes are not compatible"
 msgstr "fastcall 和 cdecl 属性互不兼容"
 
-#: config/i386/i386.c:2072
+#: config/i386/i386.c:2081
 #, gcc-internal-format
 msgid "fastcall and stdcall attributes are not compatible"
 msgstr "fastcall 和 stdcall 属性互不兼容"
 
-#: config/i386/i386.c:2086 config/i386/i386.c:2099
+#: config/i386/i386.c:2095 config/i386/i386.c:2108
 #, gcc-internal-format
 msgid "stdcall and cdecl attributes are not compatible"
 msgstr "stdcall 和 cdecl 属性互不兼容"
 
-#: config/i386/i386.c:2090
+#: config/i386/i386.c:2099
 #, gcc-internal-format
 msgid "stdcall and fastcall attributes are not compatible"
 msgstr "stdcall 和 fastcall 属性互不兼容"
 
-#: config/i386/i386.c:2225
+#: config/i386/i386.c:2234
 #, gcc-internal-format
 msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "带属性 sseregparm 调用 %qD 却没有启用 SSE/SSE2"
 
-#: config/i386/i386.c:2228
+#: config/i386/i386.c:2237
 #, gcc-internal-format
 msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
 msgstr "带属性 sseregparm 调用 %qT 却没有启用 SSE/SSE2"
 
-#: config/i386/i386.c:2953
+#: config/i386/i386.c:2962
 #, gcc-internal-format
 msgid "SSE register return with SSE disabled"
 msgstr "已禁用 SSE 却在 SSE 寄存器中返回"
 
-#: config/i386/i386.c:2955
+#: config/i386/i386.c:2964
 #, gcc-internal-format
 msgid "SSE register argument with SSE disabled"
 msgstr "已禁用 SSE 却在 SSE 寄存器中传递参数"
 
-#: config/i386/i386.c:3270
+#: config/i386/i386.c:3279
 #, gcc-internal-format
 msgid "SSE vector argument without SSE enabled changes the ABI"
 msgstr "没有启用 SSE,却出现了 SSE 矢量实参,这改变了 ABI"
 
-#: config/i386/i386.c:3287
+#: config/i386/i386.c:3296
 #, gcc-internal-format
 msgid "MMX vector argument without MMX enabled changes the ABI"
 msgstr "没有启用 MMX,却出现了 MMX 矢量实参,这改变了 ABI"
 
-#: config/i386/i386.c:3553
+#: config/i386/i386.c:3562
 #, gcc-internal-format
 msgid "SSE vector return without SSE enabled changes the ABI"
 msgstr "没有启用 SSE,却有 SSE 矢量返回值,这改变了 ABI"
 
-#: config/i386/i386.c:3563
+#: config/i386/i386.c:3572
 #, gcc-internal-format
 msgid "MMX vector return without MMX enabled changes the ABI"
 msgstr "没有启用 MMX却返回 MMX 矢量,这改变了 ABI"
 
-#: config/i386/i386.c:6923
+#: config/i386/i386.c:6933
 #, gcc-internal-format
 msgid "extended registers have no high halves"
 msgstr "扩展的寄存器没有高半部分"
 
-#: config/i386/i386.c:6938
+#: config/i386/i386.c:6948
 #, gcc-internal-format
 msgid "unsupported operand size for extended register"
 msgstr "扩展的寄存器不支持的操作数大小"
 
-#: config/i386/i386.c:15193 config/rs6000/rs6000.c:7128
+#: config/i386/i386.c:15206 config/rs6000/rs6000.c:7157
 #, gcc-internal-format
 msgid "selector must be an integer constant in the range 0..%wi"
 msgstr "选择子必须是 0 到 %wi 间的整常量"
 
-#: config/i386/i386.c:15531
+#: config/i386/i386.c:15544
 #, gcc-internal-format
 msgid "shift must be an immediate"
 msgstr "偏移值必须是立即数"
 
-#: config/i386/i386.c:16701
+#: config/i386/i386.c:16711
 #, gcc-internal-format
 msgid "%qs incompatible attribute ignored"
 msgstr "%qs 忽略不兼容的属性"
@@ -21134,47 +21080,47 @@ msgstr "objc 不支持 ms-bitfields"
 msgid "malformed #pragma builtin"
 msgstr "#pragma builtin 格式错误"
 
-#: config/ia64/ia64.c:501 config/m32r/m32r.c:373
+#: config/ia64/ia64.c:502 config/m32r/m32r.c:373
 #, gcc-internal-format
 msgid "invalid argument of %qs attribute"
 msgstr "属性 %qs 的参数无效"
 
-#: config/ia64/ia64.c:513
+#: config/ia64/ia64.c:514
 #, gcc-internal-format
 msgid "%Jan address area attribute cannot be specified for local variables"
 msgstr "%J不能为局部变量指定地址区域属性"
 
-#: config/ia64/ia64.c:520
+#: config/ia64/ia64.c:521
 #, gcc-internal-format
 msgid "address area of %q+D conflicts with previous declaration"
 msgstr "%q+D 的数据区域与先前的声明冲突"
 
-#: config/ia64/ia64.c:527
+#: config/ia64/ia64.c:528
 #, gcc-internal-format
 msgid "%Jaddress area attribute cannot be specified for functions"
 msgstr "%J不能为函数指定地址区域属性"
 
-#: config/ia64/ia64.c:5023 config/pa/pa.c:327
+#: config/ia64/ia64.c:5029 config/pa/pa.c:327
 #, gcc-internal-format
 msgid "value of -mfixed-range must have form REG1-REG2"
 msgstr "-mfixed-range 值必须有“寄存器1-寄存器2”的形式"
 
-#: config/ia64/ia64.c:5050 config/pa/pa.c:354
+#: config/ia64/ia64.c:5056 config/pa/pa.c:354
 #, gcc-internal-format
 msgid "%s-%s is an empty range"
 msgstr "%s-%s 是一个空的范围"
 
-#: config/ia64/ia64.c:5078
+#: config/ia64/ia64.c:5084
 #, gcc-internal-format
 msgid "bad value %<%s%> for -mtls-size= switch"
 msgstr "-mtls-size= 开关的值 %<%s%> 无效"
 
-#: config/ia64/ia64.c:5106
+#: config/ia64/ia64.c:5112
 #, gcc-internal-format
 msgid "bad value %<%s%> for -mtune= switch"
 msgstr "-mtune= 所带参数 %<%s%> 不正确"
 
-#: config/ia64/ia64.c:5125
+#: config/ia64/ia64.c:5131
 #, gcc-internal-format
 msgid "not yet implemented: latency-optimized inline square root"
 msgstr "尚未实现:最小延迟优化的内联平方根运算"
@@ -21189,8 +21135,7 @@ msgstr ""
 msgid "argument %qd is not a constant"
 msgstr "实参 %qd 不是一个常数"
 
-#: config/iq2000/iq2000.c:2892 config/ms1/ms1.c:352
-#: config/xtensa/xtensa.c:1773
+#: config/iq2000/iq2000.c:2892 config/mt/mt.c:348 config/xtensa/xtensa.c:1773
 #, gcc-internal-format
 msgid "PRINT_OPERAND_ADDRESS, null pointer"
 msgstr "PRINT_OPERAND_ADDRESS,空指针"
@@ -21200,7 +21145,7 @@ msgstr "PRINT_OPERAND_ADDRESS,空指针"
 msgid "PRINT_OPERAND: Unknown punctuation '%c'"
 msgstr "PRINT_OPERAND:未知的标点‘%c’"
 
-#: config/iq2000/iq2000.c:3056 config/mips/mips.c:5390
+#: config/iq2000/iq2000.c:3056 config/mips/mips.c:5395
 #: config/xtensa/xtensa.c:1627
 #, gcc-internal-format
 msgid "PRINT_OPERAND null pointer"
@@ -21251,7 +21196,7 @@ msgstr "不能同时指定 -msep-data 和 -mid-shared-library"
 msgid "-fPIC is not currently supported on the 68000 or 68010"
 msgstr "-fPIC 目前在 68000 和 68010 上不受支持"
 
-#: config/m68k/m68k.c:640 config/rs6000/rs6000.c:13614
+#: config/m68k/m68k.c:640 config/rs6000/rs6000.c:13646
 #, gcc-internal-format
 msgid "stack limit expression is not supported"
 msgstr "不支持堆栈限制表达式"
@@ -21317,49 +21262,49 @@ msgstr "-mips3d/-mpaired-single 必须与 -mips64 一起使用"
 msgid "-mips16 and -mdsp cannot be used together"
 msgstr "-mips16 和 -mdsp 不能一起使用"
 
-#: config/mips/mips.c:5327
+#: config/mips/mips.c:5332
 #, gcc-internal-format
 msgid "internal error: %%) found without a %%( in assembler pattern"
 msgstr "内部错误:未找到汇编器形式的 %%( 与已有的 %%) 匹配"
 
-#: config/mips/mips.c:5341
+#: config/mips/mips.c:5346
 #, gcc-internal-format
 msgid "internal error: %%] found without a %%[ in assembler pattern"
 msgstr "内部错误:未找到汇编器形式的 %%[ 与已有的 %%] 匹配"
 
-#: config/mips/mips.c:5354
+#: config/mips/mips.c:5359
 #, gcc-internal-format
 msgid "internal error: %%> found without a %%< in assembler pattern"
 msgstr "内部错误:未找到汇编器形式的 %%< 与已有的 %%> 匹配"
 
-#: config/mips/mips.c:5367
+#: config/mips/mips.c:5372
 #, gcc-internal-format
 msgid "internal error: %%} found without a %%{ in assembler pattern"
 msgstr "内部错误:未找到汇编器形式的 %%{ 与已有的 %%} 匹配"
 
-#: config/mips/mips.c:5381
+#: config/mips/mips.c:5386
 #, gcc-internal-format
 msgid "PRINT_OPERAND: unknown punctuation '%c'"
 msgstr "PRINT_OPERAND:未知的标点‘%c’"
 
-#: config/mips/mips.c:8144
+#: config/mips/mips.c:8149
 #, gcc-internal-format
 msgid "cannot handle inconsistent calls to %qs"
 msgstr "无法处理对 %qs 不一致的调用"
 
-#: config/mips/mips.c:9543
+#: config/mips/mips.c:9548
 #, gcc-internal-format
 msgid "the cpu name must be lower case"
 msgstr "cpu 名必须是小写"
 
-#: config/mips/mips.c:10209
+#: config/mips/mips.c:10214
 #, gcc-internal-format
 msgid "invalid argument to builtin function"
 msgstr "给内建函数的实参无效"
 
 #. Output assembler code to FILE to increment profiler label # LABELNO
 #. for profiling a function entry.
-#: config/mips/mips.h:2106
+#: config/mips/mips.h:2108
 #, gcc-internal-format
 msgid "mips16 function profiling"
 msgstr "mips16 函数取样"
@@ -21415,7 +21360,7 @@ msgstr "堆栈框架大小不是 8 字节的倍数:%wd"
 msgid "MMIX Internal: %s is not a shiftable int"
 msgstr "MMIX 内部错误:%s 不是一个可移位的整数"
 
-#: config/ms1/ms1.c:315
+#: config/mt/mt.c:311
 #, gcc-internal-format
 msgid "info pointer NULL"
 msgstr "info 指针为 NULL"
@@ -21440,7 +21385,7 @@ msgstr "此处理器只有使用 GAS 时才支持 -g"
 msgid "-g option disabled"
 msgstr "-g 选项已被禁用"
 
-#: config/pa/pa.c:7996
+#: config/pa/pa.c:8016
 #, gcc-internal-format
 msgid "alignment (%u) for %s exceeds maximum alignment for global common data.  Using %u"
 msgstr ""
@@ -21455,17 +21400,17 @@ msgstr "使用 C89 修订版 1 的特性必须指定 -munix=98 选项。\n"
 msgid "Segmentation Fault (code)"
 msgstr "段错误 (代码)"
 
-#: config/rs6000/host-darwin.c:117
+#: config/rs6000/host-darwin.c:121
 #, gcc-internal-format
 msgid "Segmentation Fault"
 msgstr "段错误"
 
-#: config/rs6000/host-darwin.c:131
+#: config/rs6000/host-darwin.c:135
 #, gcc-internal-format
 msgid "While setting up signal stack: %m"
 msgstr "当设定信号栈时:%m"
 
-#: config/rs6000/host-darwin.c:137
+#: config/rs6000/host-darwin.c:141
 #, gcc-internal-format
 msgid "While setting up signal handler: %m"
 msgstr "当设置信号处理者时:%m"
@@ -21519,187 +21464,197 @@ msgstr "传递参数 %d (属于 %qE)时丢弃了指针目标类型的类型限
 msgid "invalid parameter combination for AltiVec intrinsic"
 msgstr "对 AltiVec 内建函数来说无效的参数组合"
 
-#: config/rs6000/rs6000.c:1250
+#: config/rs6000/rs6000.c:1254
 #, gcc-internal-format
 msgid "-mmultiple is not supported on little endian systems"
 msgstr "-mmultiple 在低位字节在前的系统上不受支持"
 
-#: config/rs6000/rs6000.c:1257
+#: config/rs6000/rs6000.c:1261
 #, gcc-internal-format
 msgid "-mstring is not supported on little endian systems"
 msgstr "-mstring 在低位字节在前的系统上不受支持"
 
-#: config/rs6000/rs6000.c:1271
+#: config/rs6000/rs6000.c:1275
 #, gcc-internal-format
 msgid "unknown -mdebug-%s switch"
 msgstr "未知的 -mdebug-%s 开关"
 
-#: config/rs6000/rs6000.c:1283
+#: config/rs6000/rs6000.c:1287
 #, gcc-internal-format
 msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
 msgstr "未知的 -mtraceback 参数 %qs;需要 %<full%>、%<partial%> 或 %<none%>"
 
-#: config/rs6000/rs6000.c:1324
+#: config/rs6000/rs6000.c:1333
 #, gcc-internal-format
 msgid "AltiVec and E500 instructions cannot coexist"
 msgstr "AltiVec 和 E500 指令不能共存"
 
-#: config/rs6000/rs6000.c:1553
+#: config/rs6000/rs6000.c:1561
 #, gcc-internal-format
 msgid "unknown -m%s= option specified: '%s'"
 msgstr "指定了未知的 -m%s= 选项:‘%s’"
 
-#: config/rs6000/rs6000.c:1758
+#: config/rs6000/rs6000.c:1766
 #, gcc-internal-format
 msgid "not configured for ABI: '%s'"
 msgstr "没有为此 ABI 配置:‘%s’"
 
-#: config/rs6000/rs6000.c:1768
+#: config/rs6000/rs6000.c:1776
 #, gcc-internal-format
 msgid "Using darwin64 ABI"
 msgstr "使用 darwin64 ABI"
 
-#: config/rs6000/rs6000.c:1773
+#: config/rs6000/rs6000.c:1781
 #, gcc-internal-format
 msgid "Using old darwin ABI"
 msgstr "使用旧式的 Darwin ABI"
 
-#: config/rs6000/rs6000.c:1778
+#: config/rs6000/rs6000.c:1787
+#, gcc-internal-format
+msgid "Using IBM extended precision long double"
+msgstr ""
+
+#: config/rs6000/rs6000.c:1792
+#, gcc-internal-format
+msgid "Using IEEE extended precision long double"
+msgstr ""
+
+#: config/rs6000/rs6000.c:1797
 #, gcc-internal-format
 msgid "unknown ABI specified: '%s'"
 msgstr "指定了未知的 ABI:‘%s’"
 
-#: config/rs6000/rs6000.c:1805
+#: config/rs6000/rs6000.c:1824
 #, gcc-internal-format
 msgid "invalid option for -mfloat-gprs: '%s'"
 msgstr "-mfloat-gprs 的选项无效:‘%s’"
 
-#: config/rs6000/rs6000.c:1815
+#: config/rs6000/rs6000.c:1834
 #, gcc-internal-format
 msgid "Unknown switch -mlong-double-%s"
 msgstr "未知的开关 -mlong-double-%s"
 
-#: config/rs6000/rs6000.c:1836
+#: config/rs6000/rs6000.c:1855
 #, 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:1844
+#: config/rs6000/rs6000.c:1863
 #, gcc-internal-format
 msgid "unknown -malign-XXXXX option specified: '%s'"
 msgstr "指定了未知的 -malign-XXXXX 选项:‘%s’"
 
-#: config/rs6000/rs6000.c:4201
+#: config/rs6000/rs6000.c:4225
 #, gcc-internal-format
 msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr "GCC 返回矢量引用:非标准的 ABI 扩展,不保证兼容性"
 
-#: config/rs6000/rs6000.c:4274
+#: config/rs6000/rs6000.c:4298
 #, gcc-internal-format
 msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
 msgstr "不能在矢量寄存器中返回值,因为 altivec 指令集已被禁用,使用 -maltivec 启用"
 
-#: config/rs6000/rs6000.c:4520
+#: config/rs6000/rs6000.c:4544
 #, gcc-internal-format
 msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
 msgstr "不能在矢量寄存器中传递参数,因为 altivec 指令集已被禁用,使用 -maltivec 启用"
 
-#: config/rs6000/rs6000.c:5373
+#: config/rs6000/rs6000.c:5400
 #, gcc-internal-format
 msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
 msgstr "GCC 传递矢量引用:非标准的 ABI 扩展,不保证兼容性"
 
-#: config/rs6000/rs6000.c:6542
+#: config/rs6000/rs6000.c:6571
 #, gcc-internal-format
 msgid "argument 1 must be a 5-bit signed literal"
 msgstr "实参 1 必须是一个 5 位有符号字面值"
 
-#: config/rs6000/rs6000.c:6645 config/rs6000/rs6000.c:7439
+#: config/rs6000/rs6000.c:6674 config/rs6000/rs6000.c:7468
 #, gcc-internal-format
 msgid "argument 2 must be a 5-bit unsigned literal"
 msgstr "实参 2 必须是一个 5 位无符号字面值"
 
-#: config/rs6000/rs6000.c:6685
+#: config/rs6000/rs6000.c:6714
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate must be a constant"
 msgstr "__builtin_altivec_predicate 的第一个实参必须是常量"
 
-#: config/rs6000/rs6000.c:6738
+#: config/rs6000/rs6000.c:6767
 #, gcc-internal-format
 msgid "argument 1 of __builtin_altivec_predicate is out of range"
 msgstr "__builtin_altivec_predicate 的第 1 个实参越界"
 
-#: config/rs6000/rs6000.c:6900
+#: config/rs6000/rs6000.c:6929
 #, gcc-internal-format
 msgid "argument 3 must be a 4-bit unsigned literal"
 msgstr "实参 3 必须是一个 4 位无符号字面值"
 
-#: config/rs6000/rs6000.c:7072
+#: config/rs6000/rs6000.c:7101
 #, gcc-internal-format
 msgid "argument to %qs must be a 2-bit unsigned literal"
 msgstr "%qs 的实参必须是一个 2 位无符号字面常量"
 
-#: config/rs6000/rs6000.c:7216
+#: config/rs6000/rs6000.c:7245
 #, gcc-internal-format
 msgid "unresolved overload for Altivec builtin %qF"
 msgstr ""
 
-#: config/rs6000/rs6000.c:7298
+#: config/rs6000/rs6000.c:7327
 #, gcc-internal-format
 msgid "argument to dss must be a 2-bit unsigned literal"
 msgstr "dss 的实参必须是一个 2 位无符号字面常量"
 
-#: config/rs6000/rs6000.c:7559
+#: config/rs6000/rs6000.c:7588
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate must be a constant"
 msgstr "__builtin_spe_predicate 的第一个实参必须是常量"
 
-#: config/rs6000/rs6000.c:7631
+#: config/rs6000/rs6000.c:7660
 #, gcc-internal-format
 msgid "argument 1 of __builtin_spe_predicate is out of range"
 msgstr "__builtin_spe_predicate 的第 1 个实参越界"
 
-#: config/rs6000/rs6000.c:13577
+#: config/rs6000/rs6000.c:13609
 #, gcc-internal-format
 msgid "stack frame too large"
 msgstr "堆栈框架太大"
 
-#: config/rs6000/rs6000.c:16137
+#: config/rs6000/rs6000.c:16169
 #, gcc-internal-format
 msgid "no profiling of 64-bit code for this ABI"
 msgstr "此 ABI 不支持取样 64 位代码"
 
-#: config/rs6000/rs6000.c:17246
+#: config/rs6000/rs6000.c:17278
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
 msgstr "对于 64 位代码在 AltiVec 类型中使用 %<long%> 无效"
 
-#: config/rs6000/rs6000.c:17248
+#: config/rs6000/rs6000.c:17280
 #, gcc-internal-format
 msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
 msgstr "在 AltiVec 类型中使用 %<long%> 已过时;请改用 %<int%>"
 
-#: config/rs6000/rs6000.c:17252
+#: config/rs6000/rs6000.c:17284
 #, gcc-internal-format
 msgid "use of %<long long%> in AltiVec types is invalid"
 msgstr "在 AltiVec 类型中使用 %<long long%> 无效"
 
-#: config/rs6000/rs6000.c:17254
+#: config/rs6000/rs6000.c:17286
 #, gcc-internal-format
 msgid "use of %<double%> in AltiVec types is invalid"
 msgstr "在 AltiVec 类型中使用 %<double%> 无效"
 
-#: config/rs6000/rs6000.c:17256
+#: config/rs6000/rs6000.c:17288
 #, gcc-internal-format
 msgid "use of %<long double%> in AltiVec types is invalid"
 msgstr "在 AltiVec 类型中使用 %<long double%> 无效"
 
-#: config/rs6000/rs6000.c:17258
+#: config/rs6000/rs6000.c:17290
 #, gcc-internal-format
 msgid "use of boolean types in AltiVec types is invalid"
 msgstr "在 AltiVec 类型中使用布尔类型无效"
 
-#: config/rs6000/rs6000.c:17260
+#: config/rs6000/rs6000.c:17292
 #, gcc-internal-format
 msgid "use of %<complex%> in AltiVec types is invalid"
 msgstr "在 AltiVec 类型中使用 %<complex%> 无效"
@@ -21714,7 +21669,12 @@ msgstr "-maix64 和 POWER 架构互不兼容"
 msgid "-maix64 requires PowerPC64 architecture remain enabled"
 msgstr "-maix64 需要 PowerPC64 架构被启用"
 
-#: config/rs6000/aix43.h:48 config/rs6000/aix51.h:47 config/rs6000/aix52.h:47
+#: config/rs6000/aix43.h:50 config/rs6000/aix52.h:49
+#, fuzzy, gcc-internal-format
+msgid "soft-float and long-double-128 are incompatible"
+msgstr "-mrelocatable 与 -mcall-%s 互不兼容"
+
+#: config/rs6000/aix43.h:54 config/rs6000/aix51.h:47 config/rs6000/aix52.h:53
 #, gcc-internal-format
 msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
 msgstr "需要 -maix64:目前尚不支持 64 位计算和 32 位寻址混用"
@@ -21762,7 +21722,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:1590
+#: config/rs6000/rs6000.h:1593
 #, gcc-internal-format
 msgid "RETURN_ADDRESS_OFFSET not supported"
 msgstr "RETURN_ADDRESS_OFFSET 不受支持"
@@ -21825,116 +21785,119 @@ msgstr "-mcall-aixdesc 必须是高位字节在前"
 msgid "-msecure-plt not supported by your assembler"
 msgstr "-msecure-plt 不为您的汇编器所支持"
 
-#: config/rs6000/sysv4.h:230
+#: config/rs6000/sysv4.h:220
+#, gcc-internal-format
+msgid "-msoft-float and -mlong-double-128 not supported"
+msgstr ""
+
+#: config/rs6000/sysv4.h:234
 #, gcc-internal-format
 msgid "-m%s not supported in this configuration"
 msgstr "-m%s 在此配置下不受支持"
 
-#: config/s390/s390.c:1319
+#: config/s390/s390.c:1339
 #, gcc-internal-format
 msgid "stack guard value must be an exact power of 2"
 msgstr "栈防护值必须是 2 的整数次方"
 
-#: config/s390/s390.c:1326
+#: config/s390/s390.c:1346
 #, gcc-internal-format
 msgid "stack size must be an exact power of 2"
 msgstr "栈大小必须刚好是 2 的某次方"
 
-#: config/s390/s390.c:1371
+#: config/s390/s390.c:1391
 #, gcc-internal-format
 msgid "z/Architecture mode not supported on %s"
 msgstr "z/Architecture 模式在 %s 上不受支持"
 
-#: config/s390/s390.c:1373
+#: config/s390/s390.c:1393
 #, gcc-internal-format
 msgid "64-bit ABI not supported in ESA/390 mode"
 msgstr "64-bit ABI 在 ESA/390 模式下不受支持"
 
-#: config/s390/s390.c:1384
+#: config/s390/s390.c:1404
 #, gcc-internal-format
 msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination"
 msgstr "-mbackchain -mpacked-stack -mhard-float 一起使用不受支持"
 
-#: config/s390/s390.c:1390
+#: config/s390/s390.c:1410
 #, gcc-internal-format
 msgid "-mstack-size implies use of -mstack-guard"
 msgstr "-mstack-size 意味着使用 -mstack-guard"
 
-#: config/s390/s390.c:1392
+#: config/s390/s390.c:1412
 #, gcc-internal-format
 msgid "stack size must be greater than the stack guard value"
 msgstr "栈大小必须大于栈防护值"
 
-#: config/s390/s390.c:1394
+#: config/s390/s390.c:1414
 #, gcc-internal-format
 msgid "stack size must not be greater than 64k"
 msgstr "栈大小不能大于 64K"
 
-#: config/s390/s390.c:1397
+#: config/s390/s390.c:1417
 #, gcc-internal-format
 msgid "-mstack-guard implies use of -mstack-size"
 msgstr "-mstack-guard 意味着使用 -mstack-size"
 
-#: config/s390/s390.c:6253
+#: config/s390/s390.c:6566
 #, gcc-internal-format
 msgid "total size of local variables exceeds architecture limit"
 msgstr "局部变量大小总和超过架构极限。"
 
-#: config/s390/s390.c:6840
+#: config/s390/s390.c:7153
 #, gcc-internal-format
 msgid "frame size of %qs is "
 msgstr "%qs 的框架大小是"
 
-#: config/s390/s390.c:6840
+#: config/s390/s390.c:7153
 #, gcc-internal-format
 msgid " bytes"
 msgstr " 字节"
 
-#: config/s390/s390.c:6844
+#: config/s390/s390.c:7157
 #, gcc-internal-format
 msgid "%qs uses dynamic stack allocation"
 msgstr "%qs 使用动态栈分配"
 
-#: config/sh/sh.c:6486
+#: config/sh/sh.c:6483
 #, gcc-internal-format
 msgid "__builtin_saveregs not supported by this subtarget"
 msgstr "__builtin_saveregs 在此子目标上不受支持"
 
-#: config/sh/sh.c:7535
-#, gcc-internal-format
-msgid "attribute interrupt_handler is not compatible with -m5-compact"
-msgstr "属性 interrupt_handler 与 -m5-compact 不兼容"
-
-#. The sp_switch attribute only has meaning for interrupt functions.
-#. The trap_exit attribute only has meaning for interrupt functions.
-#: config/sh/sh.c:7557 config/sh/sh.c:7592
+#: config/sh/sh.c:7488
 #, gcc-internal-format
 msgid "%qs attribute only applies to interrupt functions"
 msgstr "%qs 属性只能应用到中断函数上"
 
+#: config/sh/sh.c:7574
+#, gcc-internal-format
+msgid "attribute interrupt_handler is not compatible with -m5-compact"
+msgstr "属性 interrupt_handler 与 -m5-compact 不兼容"
+
 #. The argument must be a constant string.
-#: config/sh/sh.c:7564
+#: config/sh/sh.c:7596
 #, gcc-internal-format
 msgid "%qs attribute argument not a string constant"
 msgstr "%qs 属性的参数不是一个字符串常量"
 
 #. The argument must be a constant integer.
-#: config/sh/sh.c:7599
+#: config/sh/sh.c:7621
 #, gcc-internal-format
 msgid "%qs attribute argument not an integer constant"
 msgstr "%qs 属性的参数不是一个整型常量"
 
-#: config/sh/sh.c:9655
+#: config/sh/sh.c:9673
 #, gcc-internal-format
 msgid "r0 needs to be available as a call-clobbered register"
 msgstr "r0 需要用作调用篡改的寄存器"
 
-#: config/sh/sh.c:9676
+#: config/sh/sh.c:9694
 #, gcc-internal-format
 msgid "Need a second call-clobbered general purpose register"
 msgstr "需要另一个调用篡改的通用寄存器"
 
-#: config/sh/sh.c:9684
+#: config/sh/sh.c:9702
 #, gcc-internal-format
 msgid "Need a call-clobbered target register"
 msgstr "需要一个调用篡改的通用寄存器"
@@ -21959,7 +21922,7 @@ msgstr "无法重声明 %q+D:dllimport 符号没有外部链接。"
 msgid "%s %q+D %s after being referenced with dllimport linkage"
 msgstr "%s %q+D %s 已被作为 dllimport 链接引用过。"
 
-#: config/sh/symbian.c:892 cp/tree.c:2334
+#: config/sh/symbian.c:892 cp/tree.c:2335
 #, gcc-internal-format
 msgid "lang_* check: failed in %s, at %s:%d"
 msgstr "lang_* check:在 %s 中失败,于 %s:%d"
@@ -21990,17 +21953,17 @@ msgstr "取样优化在此目标机上仍只属试验性质"
 msgid "ignoring -fschedule-insns because of exception handling bug"
 msgstr "忽略 -fschedule-insns 以绕开异常处理的缺陷"
 
-#: config/sparc/sparc.c:635
+#: config/sparc/sparc.c:643
 #, gcc-internal-format
 msgid "%s is not supported by this configuration"
 msgstr "%s 不为这个配置所支持"
 
-#: config/sparc/sparc.c:642
+#: config/sparc/sparc.c:650
 #, gcc-internal-format
 msgid "-mlong-double-64 not allowed with -m64"
 msgstr "-mlong-double-64 不允许与 -m64 一起使用"
 
-#: config/sparc/sparc.c:667
+#: config/sparc/sparc.c:675
 #, gcc-internal-format
 msgid "-mcmodel= is not supported on 32 bit systems"
 msgstr "32 位系统不支持 -mcmodel="
@@ -22195,648 +22158,648 @@ msgstr "“-%s”缺少参数"
 msgid "%<-gnat%> misspelled as %<-gant%>"
 msgstr "%<-gnat%> 被错误地拼写为 %<-gant%>"
 
-#: cp/call.c:289
+#: cp/call.c:286
 #, gcc-internal-format
 msgid "unable to call pointer to member function here"
 msgstr "无法在这里调用函数成员指针"
 
-#: cp/call.c:2392
+#: cp/call.c:2389
 #, gcc-internal-format
 msgid "%s %D(%T, %T, %T) <built-in>"
 msgstr "%s %D(%T, %T, %T) <内建>"
 
-#: cp/call.c:2397
+#: cp/call.c:2394
 #, gcc-internal-format
 msgid "%s %D(%T, %T) <built-in>"
 msgstr "%s %D(%T, %T) <内建>"
 
-#: cp/call.c:2401
+#: cp/call.c:2398
 #, gcc-internal-format
 msgid "%s %D(%T) <built-in>"
 msgstr "%s %D(%T) <内建>"
 
-#: cp/call.c:2405
+#: cp/call.c:2402
 #, gcc-internal-format
 msgid "%s %T <conversion>"
 msgstr "%s %T <转换>"
 
-#: cp/call.c:2407
+#: cp/call.c:2404
 #, gcc-internal-format
 msgid "%s %+#D <near match>"
 msgstr "%s %+#D <就近匹配>"
 
-#: cp/call.c:2409 cp/pt.c:1324
+#: cp/call.c:2406 cp/pt.c:1327
 #, gcc-internal-format
 msgid "%s %+#D"
 msgstr "%s %+#D"
 
-#: cp/call.c:2631
+#: cp/call.c:2628
 #, gcc-internal-format
 msgid "conversion from %qT to %qT is ambiguous"
 msgstr "从 %qT 到 %qT 的转换有歧义"
 
-#: cp/call.c:2782 cp/call.c:2800 cp/call.c:2858
+#: cp/call.c:2779 cp/call.c:2797 cp/call.c:2855
 #, gcc-internal-format
 msgid "no matching function for call to %<%D(%A)%>"
 msgstr "对 %<%D(%A)%> 的调用没有匹配的函数"
 
-#: cp/call.c:2803 cp/call.c:2861
+#: cp/call.c:2800 cp/call.c:2858
 #, 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:2929
+#: cp/call.c:2926
 #, gcc-internal-format
 msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
 msgstr "没有对象不能调用成员函数指针 %E,考虑使用 .* 或 ->*"
 
-#: cp/call.c:3003
+#: cp/call.c:3000
 #, gcc-internal-format
 msgid "no match for call to %<(%T) (%A)%>"
 msgstr "对 %<(%T) (%A)%> 的调用没有匹配"
 
-#: cp/call.c:3012
+#: cp/call.c:3009
 #, gcc-internal-format
 msgid "call of %<(%T) (%A)%> is ambiguous"
 msgstr "对 %<(%T) (%A)%> 的调用有歧义"
 
-#: cp/call.c:3050
+#: cp/call.c:3047
 #, gcc-internal-format
 msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
 msgstr "%s 为三元 %<operator?:%> 在 %<%E ? %E : %E%> 中"
 
-#: cp/call.c:3056
+#: cp/call.c:3053
 #, gcc-internal-format
 msgid "%s for %<operator%s%> in %<%E%s%>"
 msgstr "%s 为 %<operator%s%> 在 %<%E%s%> 中"
 
-#: cp/call.c:3060
+#: cp/call.c:3057
 #, gcc-internal-format
 msgid "%s for %<operator[]%> in %<%E[%E]%>"
 msgstr "%s 为 %<operator[]%> 在 %<%E[%E]%> 中"
 
-#: cp/call.c:3065
+#: cp/call.c:3062
 #, gcc-internal-format
 msgid "%s for %qs in %<%s %E%>"
 msgstr "%s 为 %qs 在 %<%s %E%>"
 
-#: cp/call.c:3070
+#: cp/call.c:3067
 #, gcc-internal-format
 msgid "%s for %<operator%s%> in %<%E %s %E%>"
 msgstr "%s 为 %<operator%s%> 在 %<%E %s %E%> 中"
 
-#: cp/call.c:3073
+#: cp/call.c:3070
 #, gcc-internal-format
 msgid "%s for %<operator%s%> in %<%s%E%>"
 msgstr "%s 为 %<operator%s%> 在 %<%s%E%> 中"
 
-#: cp/call.c:3165
+#: cp/call.c:3162
 #, gcc-internal-format
 msgid "ISO C++ forbids omitting the middle term of a ?: expression"
 msgstr "ISO C 不允许省略 ?: 表达式中的第二项"
 
-#: cp/call.c:3242
+#: cp/call.c:3239
 #, gcc-internal-format
 msgid "%qE has type %<void%> and is not a throw-expression"
 msgstr "%qE 类型为 %<void%>,不是一个 throw 表达式"
 
-#: cp/call.c:3281 cp/call.c:3491
+#: cp/call.c:3278 cp/call.c:3488
 #, gcc-internal-format
 msgid "operands to ?: have different types"
 msgstr "?: 的操作数有不同的类型"
 
-#: cp/call.c:3445
+#: cp/call.c:3442
 #, gcc-internal-format
 msgid "enumeral mismatch in conditional expression: %qT vs %qT"
 msgstr "条件表达式中枚举不匹配:%qT 对 %qT"
 
-#: cp/call.c:3452
+#: cp/call.c:3449
 #, gcc-internal-format
 msgid "enumeral and non-enumeral type in conditional expression"
 msgstr "枚举和非枚举类型一起出现在条件表达式中"
 
-#: cp/call.c:3746
+#: cp/call.c:3743
 #, gcc-internal-format
 msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
 msgstr "%<%D(int)%> 没有出现在后缀 %qs 中,尝试使用前缀运算符"
 
-#: cp/call.c:3819
+#: cp/call.c:3816
 #, gcc-internal-format
 msgid "comparison between %q#T and %q#T"
 msgstr "在 %q#T 和 %q#T 间比较"
 
-#: cp/call.c:4078
+#: cp/call.c:4075
 #, gcc-internal-format
 msgid "no suitable %<operator %s%> for %qT"
 msgstr "没有合适的 %<operator %s%> 给 %qT"
 
-#: cp/call.c:4095
+#: cp/call.c:4092
 #, gcc-internal-format
 msgid "%q+#D is private"
 msgstr "%q+#D 是私有的"
 
-#: cp/call.c:4097
+#: cp/call.c:4094
 #, gcc-internal-format
 msgid "%q+#D is protected"
 msgstr "%q+#D 是保护的"
 
-#: cp/call.c:4099
+#: cp/call.c:4096
 #, gcc-internal-format
 msgid "%q+#D is inaccessible"
 msgstr "%q+#D 无法访问"
 
-#: cp/call.c:4100
+#: cp/call.c:4097
 #, gcc-internal-format
 msgid "within this context"
 msgstr "在此上下文中"
 
-#: cp/call.c:4189 cp/cvt.c:264
+#: cp/call.c:4186 cp/cvt.c:264
 #, gcc-internal-format
 msgid "invalid conversion from %qT to %qT"
 msgstr "从类型 %qT 到类型 %qT 的转换无效"
 
-#: cp/call.c:4191
+#: cp/call.c:4188
 #, gcc-internal-format
 msgid "  initializing argument %P of %qD"
 msgstr "  初始化实参 %P,属于 %qD"
 
-#: cp/call.c:4203
+#: cp/call.c:4200
 #, gcc-internal-format
 msgid "passing NULL to non-pointer argument %P of %qD"
 msgstr "将 NULL 作为非指针实参 %P 传递给 %qD"
 
-#: cp/call.c:4206
+#: cp/call.c:4203
 #, gcc-internal-format
 msgid "converting to non-pointer type %qT from NULL"
 msgstr "将 NULL 转换到非指针类型 %qT"
 
-#: cp/call.c:4214
+#: cp/call.c:4211
 #, gcc-internal-format
 msgid "passing %qT for argument %P to %qD"
 msgstr "将 %qT 作为实参 %P 传递给 %qD"
 
-#: cp/call.c:4217
+#: cp/call.c:4214
 #, gcc-internal-format
 msgid "converting to %qT from %qT"
 msgstr "当转换到 %qT (从 %qT)时"
 
-#: cp/call.c:4356
+#: cp/call.c:4353
 #, gcc-internal-format
 msgid "cannot bind bitfield %qE to %qT"
 msgstr "无法将位段 %qE 绑定到 %qT"
 
-#: cp/call.c:4359 cp/call.c:4375
+#: cp/call.c:4356 cp/call.c:4372
 #, gcc-internal-format
 msgid "cannot bind packed field %qE to %qT"
 msgstr "不能将紧实的字段 %qE 绑定到 %qT"
 
-#: cp/call.c:4362
+#: cp/call.c:4359
 #, gcc-internal-format
 msgid "cannot bind rvalue %qE to %qT"
 msgstr "无法将右值 %qE 绑定到 %qT"
 
-#: cp/call.c:4476
+#: cp/call.c:4473
 #, gcc-internal-format
 msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
 msgstr "不能通过 %<...%> 传递有非简单旧数据类型 %q#T 的对象;调用会在运行时中止"
 
 #. Undefined behavior [expr.call] 5.2.2/7.
-#: cp/call.c:4502
+#: cp/call.c:4499
 #, gcc-internal-format
 msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
 msgstr "不能通过 %<...%> 接受有非简单旧数据类型 %q#T 的对象;调用会在运行时中止"
 
-#: cp/call.c:4545
+#: cp/call.c:4542
 #, gcc-internal-format
 msgid "the default argument for parameter %d of %qD has not yet been parsed"
 msgstr "参数 %d(属于 %qD)尚未被解析到"
 
-#: cp/call.c:4624
+#: cp/call.c:4621
 #, gcc-internal-format
 msgid "argument of function call might be a candidate for a format attribute"
 msgstr "函数的实参可能是 format 属性的备选"
 
-#: cp/call.c:4761
+#: cp/call.c:4758
 #, gcc-internal-format
 msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
 msgstr "将 %qT 作为 %q#D 的 %<this%> 实参时丢弃了类型限定"
 
-#: cp/call.c:4780
+#: cp/call.c:4777
 #, gcc-internal-format
 msgid "%qT is not an accessible base of %qT"
 msgstr "%qT 是 %qT 的一个不可访问的基类"
 
-#: cp/call.c:5030
+#: cp/call.c:5027
 #, gcc-internal-format
 msgid "could not find class$ field in java interface type %qT"
 msgstr "在 java 接口类型 %qT 中找不到 class$ 字段"
 
-#: cp/call.c:5267
+#: cp/call.c:5264
 #, gcc-internal-format
 msgid "call to non-function %qD"
 msgstr "调用非函数的 %qD"
 
-#: cp/call.c:5389
+#: cp/call.c:5386
 #, gcc-internal-format
 msgid "no matching function for call to %<%T::%s(%A)%#V%>"
 msgstr "对 %<%T::%s(%A)%#V%> 的调用没有匹配的函数"
 
-#: cp/call.c:5407
+#: cp/call.c:5404
 #, gcc-internal-format
 msgid "call of overloaded %<%s(%A)%> is ambiguous"
 msgstr "对重载的 %<%s(%A)%> 的调用有歧义"
 
-#: cp/call.c:5431
+#: cp/call.c:5428
 #, gcc-internal-format
 msgid "cannot call member function %qD without object"
 msgstr "没有对象无法调用成员函数 %qD"
 
-#: cp/call.c:6036
+#: cp/call.c:6033
 #, gcc-internal-format
 msgid "passing %qT chooses %qT over %qT"
 msgstr "传递 %qT 时选择 %qT 而不是 %qT"
 
-#: cp/call.c:6038 cp/name-lookup.c:4228
+#: cp/call.c:6035 cp/name-lookup.c:4257
 #, gcc-internal-format
 msgid "  in call to %qD"
 msgstr "  在调用 %qD 时"
 
-#: cp/call.c:6095
+#: cp/call.c:6092
 #, gcc-internal-format
 msgid "choosing %qD over %qD"
 msgstr "选择 %qD 而不是 %qD"
 
-#: cp/call.c:6096
+#: cp/call.c:6093
 #, gcc-internal-format
 msgid "  for conversion from %qT to %qT"
 msgstr "  当从 %qT 转换为 %qT 时"
 
-#: cp/call.c:6098
+#: cp/call.c:6095
 #, gcc-internal-format
 msgid "  because conversion sequence for the argument is better"
 msgstr "  因为前者的实参类型转换序列更好"
 
-#: cp/call.c:6212
+#: cp/call.c:6209
 #, 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:6356
+#: cp/call.c:6353
 #, gcc-internal-format
 msgid "could not convert %qE to %qT"
 msgstr "不能将 %qE 转换为 %qT"
 
-#: cp/call.c:6488
+#: cp/call.c:6478
 #, gcc-internal-format
 msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
 msgstr "将类型为 %qT 的非 const 引用初始化为类型为 %qT 的临时变量无效"
 
-#: cp/call.c:6492
+#: cp/call.c:6482
 #, gcc-internal-format
 msgid "invalid initialization of reference of type %qT from expression of type %qT"
 msgstr "将类型为 %qT 的引用初始化为类型为 %qT 的表达式无效"
 
-#: cp/class.c:277
+#: cp/class.c:281
 #, gcc-internal-format
 msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
 msgstr "无法从基类 %qT 转换到派生类 %qT,通过虚基类 %qT"
 
-#: cp/class.c:933
+#: cp/class.c:945
 #, gcc-internal-format
 msgid "Java class %qT cannot have a destructor"
 msgstr "Java 类 %qT 不能有析构函数"
 
-#: cp/class.c:935
+#: cp/class.c:947
 #, gcc-internal-format
 msgid "Java class %qT cannot have an implicit non-trivial destructor"
 msgstr "Java 类 %qT 不能有隐式的非平凡的析构函数"
 
-#: cp/class.c:1036
+#: cp/class.c:1054
 #, gcc-internal-format
 msgid "repeated using declaration %q+D"
 msgstr "重复的 using 声明 %q+D"
 
-#: cp/class.c:1038
+#: cp/class.c:1056
 #, gcc-internal-format
 msgid "using declaration %q+D conflicts with a previous using declaration"
 msgstr "using 声明 %q+D 与先前的一个 using 声明冲突"
 
-#: cp/class.c:1043
+#: cp/class.c:1061
 #, gcc-internal-format
 msgid "%q+#D cannot be overloaded"
 msgstr "%q+#D 无法被重载"
 
-#: cp/class.c:1044
+#: cp/class.c:1062
 #, gcc-internal-format
 msgid "with %q+#D"
 msgstr "与 %q+#D"
 
-#: cp/class.c:1100
+#: cp/class.c:1124
 #, gcc-internal-format
 msgid "conflicting access specifications for method %q+D, ignored"
 msgstr "方法 %q+D 的权限设定冲突,已忽略"
 
-#: cp/class.c:1103
+#: cp/class.c:1127
 #, gcc-internal-format
 msgid "conflicting access specifications for field %qE, ignored"
 msgstr "字段 %qE 的权限设定冲突,已忽略"
 
-#: cp/class.c:1164 cp/class.c:1172
+#: cp/class.c:1188 cp/class.c:1196
 #, gcc-internal-format
 msgid "%q+D invalid in %q#T"
 msgstr "%q+D 无效,在 %q#T 中"
 
-#: cp/class.c:1165
+#: cp/class.c:1189
 #, gcc-internal-format
 msgid "  because of local method %q+#D with same name"
 msgstr " 因为局部方法 %q+#D 与之重名"
 
-#: cp/class.c:1173
+#: cp/class.c:1197
 #, gcc-internal-format
 msgid "  because of local member %q+#D with same name"
 msgstr " 因为局部成员 %q+#D 与之重名"
 
-#: cp/class.c:1215
+#: cp/class.c:1239
 #, gcc-internal-format
 msgid "base class %q#T has a non-virtual destructor"
 msgstr "基类 %q#T 有一个非虚析构函数"
 
-#: cp/class.c:1529
+#: cp/class.c:1553
 #, gcc-internal-format
 msgid "all member functions in class %qT are private"
 msgstr "类 %qT 中所有成员函数都是私有的"
 
-#: cp/class.c:1540
+#: cp/class.c:1564
 #, gcc-internal-format
 msgid "%q#T only defines a private destructor and has no friends"
 msgstr "%q#T 仅定义了一个私有析构函数且没有友元"
 
-#: cp/class.c:1583
+#: cp/class.c:1607
 #, gcc-internal-format
 msgid "%q#T only defines private constructors and has no friends"
 msgstr "%q#T 仅定义了一个私有构造函数且没有友元"
 
-#: cp/class.c:1976
+#: cp/class.c:2000
 #, 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:2395
+#: cp/class.c:2419
 #, gcc-internal-format
 msgid "%q+D was hidden"
 msgstr "%q+D 被隐藏"
 
-#: cp/class.c:2396
+#: cp/class.c:2420
 #, gcc-internal-format
 msgid "  by %q+D"
 msgstr "  为 %q+D"
 
-#: cp/class.c:2437 cp/decl2.c:1083
+#: cp/class.c:2461 cp/decl2.c:1072
 #, gcc-internal-format
 msgid "%q+#D invalid; an anonymous union can only have non-static data members"
 msgstr "%q+#D 无效;匿名联合只能有非静态的数据成员"
 
-#: cp/class.c:2443 cp/decl2.c:1089
+#: cp/class.c:2467 cp/decl2.c:1078
 #, gcc-internal-format
 msgid "private member %q+#D in anonymous union"
 msgstr "匿名联合中出现私有成员 %q+#D"
 
-#: cp/class.c:2445 cp/decl2.c:1091
+#: cp/class.c:2469 cp/decl2.c:1080
 #, gcc-internal-format
 msgid "protected member %q+#D in anonymous union"
 msgstr "匿名联合中出现保护成员 %q+#D"
 
-#: cp/class.c:2611
+#: cp/class.c:2635
 #, gcc-internal-format
 msgid "bit-field %q+#D with non-integral type"
 msgstr "位段 %q+#D 有非整数的类型"
 
-#: cp/class.c:2628
+#: cp/class.c:2652
 #, gcc-internal-format
 msgid "bit-field %q+D width not an integer constant"
 msgstr "位段 %q+D 的宽度不是一个整数常量"
 
-#: cp/class.c:2633
+#: cp/class.c:2657
 #, gcc-internal-format
 msgid "negative width in bit-field %q+D"
 msgstr "位段 %q+D 宽度为负"
 
-#: cp/class.c:2638
+#: cp/class.c:2662
 #, gcc-internal-format
 msgid "zero width for bit-field %q+D"
 msgstr "位段 %q+D 宽度为 0"
 
-#: cp/class.c:2644
+#: cp/class.c:2668
 #, gcc-internal-format
 msgid "width of %q+D exceeds its type"
 msgstr "%q+D 的宽度超过了它的类型"
 
-#: cp/class.c:2653
+#: cp/class.c:2677
 #, gcc-internal-format
 msgid "%q+D is too small to hold all values of %q#T"
 msgstr "%q+D 太小而不能存放 %q#T 的所有可能值"
 
-#: cp/class.c:2712
+#: cp/class.c:2736
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in union"
 msgstr "有构造函数的成员 %q+#D 不能用在联合中"
 
-#: cp/class.c:2715
+#: cp/class.c:2739
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in union"
 msgstr "有析构函数的成员 %q+#D 不能用在联合中"
 
-#: cp/class.c:2717
+#: cp/class.c:2741
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in union"
 msgstr "有拷贝赋值运算符的成员 %q+#D 不能用在联合中"
 
-#: cp/class.c:2740
+#: cp/class.c:2764
 #, gcc-internal-format
 msgid "multiple fields in union %qT initialized"
 msgstr "初始化了联合 %qT 中的多个字段"
 
-#: cp/class.c:2802
+#: cp/class.c:2826
 #, gcc-internal-format
 msgid "ignoring packed attribute on unpacked non-POD field %q+#D"
 msgstr "为非紧实的非简单旧数据字段 %q+#D 忽略 packed 属性"
 
-#: cp/class.c:2862
+#: cp/class.c:2886
 #, gcc-internal-format
 msgid "%q+D may not be static because it is a member of a union"
 msgstr "%q+D 不能是静态的,因为它是联合的成员"
 
-#: cp/class.c:2867
+#: cp/class.c:2891
 #, 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:2876
+#: cp/class.c:2900
 #, gcc-internal-format
 msgid "field %q+D in local class cannot be static"
 msgstr "局部类中的字段 %q+D 不能是静态的"
 
-#: cp/class.c:2882
+#: cp/class.c:2906
 #, gcc-internal-format
 msgid "field %q+D invalidly declared function type"
 msgstr "字段 %q+D 无效地声明为函数类型"
 
-#: cp/class.c:2888
+#: cp/class.c:2912
 #, gcc-internal-format
 msgid "field %q+D invalidly declared method type"
 msgstr "字段 %q+D 无效地声明为方法类型"
 
-#: cp/class.c:2920
+#: cp/class.c:2944
 #, gcc-internal-format
 msgid "non-static reference %q+#D in class without a constructor"
 msgstr "类中有非静态引用 %q+#D,却没有提供构造函数"
 
-#: cp/class.c:2967
+#: cp/class.c:2991
 #, gcc-internal-format
 msgid "non-static const member %q+#D in class without a constructor"
 msgstr "类中有非静态常量成员 %q+#D 却没有构造函数"
 
-#: cp/class.c:2982
+#: cp/class.c:3006
 #, gcc-internal-format
 msgid "field %q+#D with same name as class"
 msgstr "字段 %q+#D 与类重名"
 
-#: cp/class.c:3015
+#: cp/class.c:3039
 #, gcc-internal-format
 msgid "%q#T has pointer data members"
 msgstr "%q#T 有指针数据成员"
 
-#: cp/class.c:3019
+#: cp/class.c:3043
 #, gcc-internal-format
 msgid "  but does not override %<%T(const %T&)%>"
 msgstr "  但没有重载 %<%T(const %T&)%>"
 
-#: cp/class.c:3021
+#: cp/class.c:3045
 #, gcc-internal-format
 msgid "  or %<operator=(const %T&)%>"
 msgstr "  或 %<operator=(const %T&)%>"
 
-#: cp/class.c:3024
+#: cp/class.c:3048
 #, gcc-internal-format
 msgid "  but does not override %<operator=(const %T&)%>"
 msgstr "  也没有重载 %<operator=(const %T&)%>"
 
-#: cp/class.c:3480
+#: cp/class.c:3504
 #, 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:3592
+#: cp/class.c:3616
 #, gcc-internal-format
 msgid "class %qT will be considered nearly empty in a future version of GCC"
 msgstr "在 GCC 的未来版本中类 %qT 将被看作几乎为空"
 
-#: cp/class.c:3674
+#: cp/class.c:3698
 #, gcc-internal-format
 msgid "initializer specified for non-virtual method %q+D"
 msgstr "为非虚方法 %q+D 指定了初始值设定项"
 
-#: cp/class.c:4336
+#: cp/class.c:4360
 #, 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:4435
+#: cp/class.c:4459
 #, gcc-internal-format
 msgid "direct base %qT inaccessible in %qT due to ambiguity"
 msgstr "由于存在歧义,直接基类 %qT 在 %qT 中无法访问"
 
-#: cp/class.c:4447
+#: cp/class.c:4471
 #, gcc-internal-format
 msgid "virtual base %qT inaccessible in %qT due to ambiguity"
 msgstr "由于存在歧义,虚基类 %qT 在 %qT 中无法访问"
 
-#: cp/class.c:4624
+#: cp/class.c:4648
 #, 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 的未来版本中改变"
 
 #. Versions of G++ before G++ 3.4 did not reset the
 #. DECL_MODE.
-#: cp/class.c:4663
+#: cp/class.c:4687
 #, 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:4691
+#: cp/class.c:4715
 #, 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:4700
+#: cp/class.c:4724
 #, 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:4759
+#: cp/class.c:4783
 #, 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:4905 cp/parser.c:13111
+#: cp/class.c:4929 cp/parser.c:13211
 #, gcc-internal-format
 msgid "redefinition of %q#T"
 msgstr "%q#T 重定义"
 
-#: cp/class.c:5055
+#: cp/class.c:5079
 #, gcc-internal-format
 msgid "%q#T has virtual functions but non-virtual destructor"
 msgstr "%q#T 有虚函数却没有虚析构函数"
 
-#: cp/class.c:5157
+#: cp/class.c:5181
 #, gcc-internal-format
 msgid "trying to finish struct, but kicked out due to previous parse errors"
 msgstr "试图完成结构,但为先前的解析错误所中断"
 
-#: cp/class.c:5574
+#: cp/class.c:5628
 #, gcc-internal-format
 msgid "language string %<\"%E\"%> not recognized"
 msgstr "语言字符串 %<\"%E\"%> 不可识别"
 
-#: cp/class.c:5660
+#: cp/class.c:5714
 #, gcc-internal-format
 msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
 msgstr "无法解析重载函数 %qD,基于向类型 %qT 的转换"
 
-#: cp/class.c:5787
+#: cp/class.c:5841
 #, gcc-internal-format
 msgid "no matches converting function %qD to type %q#T"
 msgstr "没有可将函数 %qD 转换到类型 %q#T 的匹配项"
 
-#: cp/class.c:5810
+#: cp/class.c:5864
 #, gcc-internal-format
 msgid "converting overloaded function %qD to type %q#T is ambiguous"
 msgstr "将重载函数 %qD 转换为类型 %q#T 有歧义"
 
-#: cp/class.c:5836
+#: cp/class.c:5890
 #, gcc-internal-format
 msgid "assuming pointer to member %qD"
 msgstr "假定是成员指针 %qD"
 
-#: cp/class.c:5839
+#: cp/class.c:5893
 #, gcc-internal-format
 msgid "(a pointer to member can only be formed with %<&%E%>)"
 msgstr "(成员指针只能用 %<&%E%> 构成)"
 
-#: cp/class.c:5884 cp/class.c:5915 cp/class.c:6067 cp/class.c:6074
+#: cp/class.c:5938 cp/class.c:5969 cp/class.c:6121 cp/class.c:6128
 #, gcc-internal-format
 msgid "not enough type information"
 msgstr "类型信息不充分"
 
-#: cp/class.c:5901
+#: cp/class.c:5955
 #, gcc-internal-format
 msgid "argument of type %qT does not match %qT"
 msgstr "实参类型为 %qT,与 %qT 不匹配"
 
-#: cp/class.c:6051
+#: cp/class.c:6105
 #, gcc-internal-format
 msgid "invalid operation on uninstantiated type"
 msgstr "对未初始化类型的操作无效"
@@ -22846,12 +22809,12 @@ msgstr "对未初始化类型的操作无效"
 #. 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:6288 cp/decl.c:1136 cp/name-lookup.c:508
+#: cp/class.c:6342 cp/decl.c:1136 cp/name-lookup.c:508
 #, gcc-internal-format
 msgid "declaration of %q#D"
 msgstr "%q#D 的声明"
 
-#: cp/class.c:6289
+#: cp/class.c:6343
 #, gcc-internal-format
 msgid "changes meaning of %qD from %q+#D"
 msgstr "改变了 %qD 的原意 %q+#D"
@@ -22891,7 +22854,7 @@ msgstr "成员指针经由虚基类从 %qT 转换到 %qT"
 msgid "conversion from %qT to %qT discards qualifiers"
 msgstr "从 %qT 到 %qT 的转换丢失了限定信息"
 
-#: cp/cvt.c:516 cp/typeck.c:4960
+#: cp/cvt.c:516 cp/typeck.c:4978
 #, gcc-internal-format
 msgid "casting %qT to %qT does not dereference pointer"
 msgstr "从 %qT 转换到 %qT 并未提领指针"
@@ -22979,22 +22942,22 @@ msgstr "%qT 的默认类型转换有歧义"
 msgid "  candidate conversions include %qD and %qD"
 msgstr "  备选转换包括 %qD 和 %qD"
 
-#: cp/decl.c:1003
+#: cp/decl.c:1002
 #, gcc-internal-format
 msgid "%qD was declared %<extern%> and later %<static%>"
 msgstr "%qD 先被声明为 %<extern%> 后又被声明为 %<static%>"
 
-#: cp/decl.c:1004 cp/decl.c:1508 objc/objc-act.c:2920 objc/objc-act.c:7487
+#: cp/decl.c:1003 cp/decl.c:1508 objc/objc-act.c:2920 objc/objc-act.c:7487
 #, gcc-internal-format
 msgid "previous declaration of %q+D"
 msgstr "%q+D 的前一个声明"
 
-#: cp/decl.c:1037
+#: cp/decl.c:1036
 #, gcc-internal-format
 msgid "declaration of %qF throws different exceptions"
 msgstr "%qF 的声明抛出不同的异常"
 
-#: cp/decl.c:1038
+#: cp/decl.c:1037
 #, gcc-internal-format
 msgid "from previous declaration %q+F"
 msgstr "从先前的声明 %q+F"
@@ -23170,263 +23133,263 @@ msgstr "同一作用域中 %qD 冗余的重声明"
 #. that specialization that would cause an implicit
 #. instantiation to take place, in every translation unit in
 #. which such a use occurs.
-#: cp/decl.c:1756
+#: cp/decl.c:1759
 #, gcc-internal-format
 msgid "explicit specialization of %qD after first use"
 msgstr "在初次使用后显式特例化 %qD"
 
-#: cp/decl.c:1835
+#: cp/decl.c:1838
 #, gcc-internal-format
 msgid "%q+D: visibility attribute ignored because it"
 msgstr "%q+D:可见性属性被忽略,因为它"
 
-#: cp/decl.c:1837
+#: cp/decl.c:1840
 #, gcc-internal-format
 msgid "%Jconflicts with previous declaration here"
 msgstr "%J与此处先前的声明冲突"
 
-#: cp/decl.c:2227 cp/decl.c:2249
+#: cp/decl.c:2230 cp/decl.c:2252
 #, gcc-internal-format
 msgid "jump to label %qD"
 msgstr "跳转至标号 %qD"
 
-#: cp/decl.c:2229 cp/decl.c:2251
+#: cp/decl.c:2232 cp/decl.c:2254
 #, gcc-internal-format
 msgid "jump to case label"
 msgstr "跳转至 case 标号"
 
-#: cp/decl.c:2232 cp/decl.c:2254
+#: cp/decl.c:2235 cp/decl.c:2257
 #, gcc-internal-format
 msgid "%H  from here"
 msgstr "%H  从这里"
 
-#: cp/decl.c:2237
+#: cp/decl.c:2240
 #, gcc-internal-format
 msgid "  crosses initialization of %q+#D"
 msgstr "  跳过 %q+#D 的初始化"
 
-#: cp/decl.c:2239 cp/decl.c:2353
+#: cp/decl.c:2242 cp/decl.c:2356
 #, gcc-internal-format
 msgid "  enters scope of non-POD %q+#D"
 msgstr "  进入非简单旧数据 %q+#D 的作用域"
 
-#: cp/decl.c:2258 cp/decl.c:2357
+#: cp/decl.c:2261 cp/decl.c:2360
 #, gcc-internal-format
 msgid "  enters try block"
 msgstr "  进入 try 块"
 
-#: cp/decl.c:2260 cp/decl.c:2359
+#: cp/decl.c:2263 cp/decl.c:2362
 #, gcc-internal-format
 msgid "  enters catch block"
 msgstr "  进入 catch 块"
 
-#: cp/decl.c:2337
+#: cp/decl.c:2340
 #, gcc-internal-format
 msgid "jump to label %q+D"
 msgstr "跳转至标号 %q+D"
 
-#: cp/decl.c:2338
+#: cp/decl.c:2341
 #, gcc-internal-format
 msgid "  from here"
 msgstr "  从这里"
 
 #. Can't skip init of __exception_info.
-#: cp/decl.c:2349
+#: cp/decl.c:2352
 #, gcc-internal-format
 msgid "%J  enters catch block"
 msgstr "%J 进入 catch 块"
 
-#: cp/decl.c:2351
+#: cp/decl.c:2354
 #, gcc-internal-format
 msgid "  skips initialization of %q+#D"
 msgstr "  跳过 %q+#D 的初始化"
 
-#: cp/decl.c:2385
+#: cp/decl.c:2388
 #, gcc-internal-format
 msgid "label named wchar_t"
 msgstr "标号名为 wchar_t"
 
-#: cp/decl.c:2388
+#: cp/decl.c:2391
 #, gcc-internal-format
 msgid "duplicate label %qD"
 msgstr "重复的标号 %qD"
 
-#: cp/decl.c:2644 cp/parser.c:3636
+#: cp/decl.c:2647 cp/parser.c:3652
 #, gcc-internal-format
 msgid "%qD used without template parameters"
 msgstr "%qD 使用时未带模板参数"
 
-#: cp/decl.c:2661 cp/decl.c:2752
+#: cp/decl.c:2664 cp/decl.c:2755
 #, gcc-internal-format
 msgid "no class template named %q#T in %q#T"
 msgstr "没有名为 %q#T 的类模板,在%q#T 中 "
 
-#: cp/decl.c:2682 cp/decl.c:2692 cp/decl.c:2712
+#: cp/decl.c:2685 cp/decl.c:2695 cp/decl.c:2715
 #, gcc-internal-format
 msgid "no type named %q#T in %q#T"
 msgstr "没有名为 %q#T 的类型,在%q#T 中 "
 
-#: cp/decl.c:2761
+#: cp/decl.c:2764
 #, gcc-internal-format
 msgid "template parameters do not match template"
 msgstr "模板参数与模板不符"
 
-#: cp/decl.c:2762 cp/friend.c:317 cp/friend.c:325
+#: cp/decl.c:2765 cp/friend.c:317 cp/friend.c:325
 #, gcc-internal-format
 msgid "%q+D declared here"
 msgstr "%q+D 已在此声明过"
 
-#: cp/decl.c:3435
+#: cp/decl.c:3439
 #, gcc-internal-format
 msgid "%Jan anonymous union cannot have function members"
 msgstr "%J一个匿名联合不能有函数成员"
 
-#: cp/decl.c:3453
+#: cp/decl.c:3457
 #, gcc-internal-format
 msgid "member %q+#D with constructor not allowed in anonymous aggregate"
 msgstr "有构造函数的成员 %q+#D 不允许在匿名聚合中出现"
 
-#: cp/decl.c:3456
+#: cp/decl.c:3460
 #, gcc-internal-format
 msgid "member %q+#D with destructor not allowed in anonymous aggregate"
 msgstr "有构构函数的成员 %q+#D 不允许在匿名聚合中出现"
 
-#: cp/decl.c:3459
+#: cp/decl.c:3463
 #, gcc-internal-format
 msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
 msgstr "有拷贝赋值运算符的成员 %q+#D 不能用在联合中"
 
-#: cp/decl.c:3484
+#: cp/decl.c:3488
 #, gcc-internal-format
 msgid "multiple types in one declaration"
 msgstr "一个声明指定了多个类型"
 
-#: cp/decl.c:3488
+#: cp/decl.c:3492
 #, gcc-internal-format
 msgid "redeclaration of C++ built-in type %qT"
 msgstr "对 C++ 内建类型 %qT 的重声明"
 
-#: cp/decl.c:3525
+#: cp/decl.c:3529
 #, gcc-internal-format
 msgid "missing type-name in typedef-declaration"
 msgstr "typedef 声明中缺少类型名"
 
-#: cp/decl.c:3533
+#: cp/decl.c:3537
 #, gcc-internal-format
 msgid "ISO C++ prohibits anonymous structs"
 msgstr "ISO C++ 不允许匿名结构"
 
-#: cp/decl.c:3540
+#: cp/decl.c:3544
 #, gcc-internal-format
 msgid "%qs can only be specified for functions"
 msgstr "只能为函数指定 %qs"
 
-#: cp/decl.c:3546
+#: cp/decl.c:3550
 #, gcc-internal-format
 msgid "%<friend%> can only be specified inside a class"
 msgstr "%<friend%> 只能在类中指定"
 
-#: cp/decl.c:3548
+#: cp/decl.c:3552
 #, gcc-internal-format
 msgid "%<explicit%> can only be specified for constructors"
 msgstr "只能为构造函数指定 %<explicit%>"
 
-#: cp/decl.c:3550
+#: cp/decl.c:3554
 #, gcc-internal-format
 msgid "a storage class can only be specified for objects and functions"
 msgstr "只能为对象和函数指定存储类"
 
-#: cp/decl.c:3556
+#: cp/decl.c:3560
 #, gcc-internal-format
 msgid "qualifiers can only be specified for objects and functions"
 msgstr "只能为对象和函数指定类型限定"
 
-#: cp/decl.c:3586
+#: cp/decl.c:3590
 #, gcc-internal-format
 msgid "attribute ignored in declaration of %q+#T"
 msgstr "属性于 %q+#T 的声明中被忽略"
 
-#: cp/decl.c:3587
+#: cp/decl.c:3591
 #, gcc-internal-format
 msgid "attribute for %q+#T must follow the %qs keyword"
 msgstr "%q+#T 的属性必须跟在 %qs 关键字后面"
 
-#: cp/decl.c:3707
+#: cp/decl.c:3711
 #, gcc-internal-format
 msgid "function %q#D is initialized like a variable"
 msgstr "函数 %q#D 像变量一样被初始化"
 
-#: cp/decl.c:3719
+#: cp/decl.c:3723
 #, gcc-internal-format
 msgid "declaration of %q#D has %<extern%> and is initialized"
 msgstr "%q#D 声明有 %<extern%> 并被初始化"
 
-#: cp/decl.c:3749
+#: cp/decl.c:3753
 #, gcc-internal-format
 msgid "%q#D is not a static member of %q#T"
 msgstr "%q#D 不是 %q#T 的静态成员"
 
-#: cp/decl.c:3755
+#: cp/decl.c:3759
 #, 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:3764
+#: cp/decl.c:3768
 #, gcc-internal-format
 msgid "template header not allowed in member definition of explicitly specialized class"
 msgstr "模板头不允许出现在显式特例化类的成员定义中"
 
-#: cp/decl.c:3773
+#: cp/decl.c:3777
 #, gcc-internal-format
 msgid "duplicate initialization of %qD"
 msgstr "ISO C++ 不允许成员 %qD 的初始化"
 
-#: cp/decl.c:3812
+#: cp/decl.c:3816
 #, gcc-internal-format
 msgid "declaration of %q#D outside of class is not definition"
 msgstr "出现在类外的 %q#D 的声明不是定义"
 
-#: cp/decl.c:3861
+#: cp/decl.c:3865
 #, gcc-internal-format
 msgid "variable %q#D has initializer but incomplete type"
 msgstr "变量 %q#D 有初始值设定,但是类型不完全"
 
-#: cp/decl.c:3868 cp/decl.c:4564
+#: cp/decl.c:3872 cp/decl.c:4570
 #, gcc-internal-format
 msgid "elements of array %q#D have incomplete type"
 msgstr "数组 %q#D 的元素类型不完全"
 
-#: cp/decl.c:3884
+#: cp/decl.c:3888
 #, gcc-internal-format
 msgid "aggregate %q#D has incomplete type and cannot be defined"
 msgstr "聚合 %q#D 类型不完全,无法被定义"
 
-#: cp/decl.c:3934
+#: cp/decl.c:3938
 #, gcc-internal-format
 msgid "%qD declared as reference but not initialized"
 msgstr "%qD 声明为引用却未被初始化"
 
-#: cp/decl.c:3940
+#: cp/decl.c:3944
 #, gcc-internal-format
 msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
 msgstr "ISO C++ 不允许使用初始值设定列表来初始化引用 %qD"
 
-#: cp/decl.c:3966
+#: cp/decl.c:3970
 #, gcc-internal-format
 msgid "cannot initialize %qT from %qT"
 msgstr "不能初始化 %qT,从 %qT"
 
-#: cp/decl.c:3999
+#: cp/decl.c:4003
 #, gcc-internal-format
 msgid "initializer fails to determine size of %qD"
 msgstr "初始值设定无法决定 %qD 的大小"
 
-#: cp/decl.c:4004
+#: cp/decl.c:4008
 #, gcc-internal-format
 msgid "array size missing in %qD"
 msgstr "%qD 缺少数组大小"
 
-#: cp/decl.c:4014
+#: cp/decl.c:4018
 #, gcc-internal-format
 msgid "zero-size array %qD"
 msgstr "大小为 0 的数组 %qD"
@@ -23434,238 +23397,238 @@ 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:4050
+#: cp/decl.c:4054
 #, gcc-internal-format
 msgid "storage size of %qD isn't known"
 msgstr "%qD 的存储大小未知"
 
-#: cp/decl.c:4072
+#: cp/decl.c:4076
 #, gcc-internal-format
 msgid "storage size of %qD isn't constant"
 msgstr "%qD 的存储大小不是常量"
 
-#: cp/decl.c:4127
+#: cp/decl.c:4131
 #, 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:4130
+#: cp/decl.c:4134
 #, gcc-internal-format
 msgid "%J  you can work around this by removing the initializer"
 msgstr "%J  变通的作法是删除初始值设定"
 
-#: cp/decl.c:4157
+#: cp/decl.c:4161
 #, gcc-internal-format
 msgid "uninitialized const %qD"
 msgstr "未初始化的常量 %qD"
 
-#: cp/decl.c:4228
+#: cp/decl.c:4236
 #, gcc-internal-format
 msgid "name %qD used in a GNU-style designated initializer for an array"
 msgstr "名字 %qD 用在 GNU 风格的数组指定元素初始值设定中"
 
-#: cp/decl.c:4275
+#: cp/decl.c:4282
 #, gcc-internal-format
 msgid "invalid type %qT as initializer for a vector of type %qT"
 msgstr "无效类型 %qT 被用作类型为 %qT 的矢量的初始化设定"
 
-#: cp/decl.c:4317
+#: cp/decl.c:4324
 #, gcc-internal-format
 msgid "initializer for %qT must be brace-enclosed"
 msgstr "%qT 的初始化设定必须在花括号内"
 
-#: cp/decl.c:4332
+#: cp/decl.c:4339
 #, gcc-internal-format
 msgid "ISO C++ does not allow designated initializers"
 msgstr "ISO C++ 不允许指定元素初始值设定"
 
-#: cp/decl.c:4337
+#: cp/decl.c:4344
 #, gcc-internal-format
 msgid "%qT has no non-static data member named %qD"
 msgstr "%qT 没有名为 %qD 的非静态数据成员"
 
-#: cp/decl.c:4386
+#: cp/decl.c:4393
 #, gcc-internal-format
 msgid "braces around scalar initializer for type %qT"
 msgstr "类型 %qT 的标量初始化带花括号"
 
-#: cp/decl.c:4464
+#: cp/decl.c:4471
 #, gcc-internal-format
 msgid "missing braces around initializer for %qT"
 msgstr "%qT 的初始值设定周围缺少花括号"
 
-#: cp/decl.c:4520
+#: cp/decl.c:4526
 #, gcc-internal-format
 msgid "too many initializers for %qT"
 msgstr "%qT 的初始值设定项太多"
 
-#: cp/decl.c:4558
+#: cp/decl.c:4564
 #, gcc-internal-format
 msgid "variable-sized object %qD may not be initialized"
 msgstr "可变大小的对象 %qD 不能被初始化"
 
-#: cp/decl.c:4569
+#: cp/decl.c:4575
 #, gcc-internal-format
 msgid "%qD has incomplete type"
 msgstr "%qD 类型不完全"
 
-#: cp/decl.c:4616
+#: cp/decl.c:4621
 #, gcc-internal-format
 msgid "%qD must be initialized by constructor, not by %<{...}%>"
 msgstr "%qD 必须由构造函数而不是 %<{...}%> 初始化"
 
-#: cp/decl.c:4652
+#: cp/decl.c:4657
 #, gcc-internal-format
 msgid "array %qD initialized by parenthesized string literal %qE"
 msgstr "数组 %qD 被有括号的字面字符串 %qE 所初始化"
 
-#: cp/decl.c:4667
+#: cp/decl.c:4672
 #, gcc-internal-format
 msgid "structure %qD with uninitialized const members"
 msgstr "结构 %qD 有未初始化的常量成员"
 
-#: cp/decl.c:4669
+#: cp/decl.c:4674
 #, gcc-internal-format
 msgid "structure %qD with uninitialized reference members"
 msgstr "结构 %qD 有未初始化的引用成员"
 
-#: cp/decl.c:4871
+#: cp/decl.c:4881
 #, gcc-internal-format
 msgid "assignment (not initialization) in declaration"
 msgstr "赋值(不是初始化)出现在声明中"
 
-#: cp/decl.c:4888
+#: cp/decl.c:4898
 #, gcc-internal-format
 msgid "cannot initialize %qD to namespace %qD"
 msgstr "不能将 %qD 初始化到命名空间 %qD"
 
-#: cp/decl.c:4929
+#: cp/decl.c:4948
 #, gcc-internal-format
 msgid "shadowing previous type declaration of %q#D"
 msgstr "隐藏了早先的类型声明 %q#D"
 
-#: cp/decl.c:4959
+#: cp/decl.c:4978
 #, gcc-internal-format
 msgid "%qD cannot be thread-local because it has non-POD type %qT"
 msgstr "%qD 不能是线程局部的,因为它有非简单旧数据的类型 %qT"
 
-#: cp/decl.c:4976
+#: cp/decl.c:5003
 #, gcc-internal-format
 msgid "%qD is thread-local and so cannot be dynamically initialized"
 msgstr "%qD 是线程局部的,所以不能被动态地初始化"
 
-#: cp/decl.c:4994
+#: cp/decl.c:5021
 #, gcc-internal-format
 msgid "%qD cannot be initialized by a non-constant expression when being declared"
 msgstr "%qD 不能由一个声明时非常量的表达式初始化"
 
-#: cp/decl.c:5584
+#: cp/decl.c:5611
 #, gcc-internal-format
 msgid "destructor for alien class %qT cannot be a member"
 msgstr "其他类 %qT 的析构函数不能用作成员"
 
-#: cp/decl.c:5586
+#: cp/decl.c:5613
 #, gcc-internal-format
 msgid "constructor for alien class %qT cannot be a member"
 msgstr "其他类 %qT 的构造函数不能用作成员"
 
-#: cp/decl.c:5607
+#: cp/decl.c:5634
 #, gcc-internal-format
 msgid "%qD declared as a %<virtual%> %s"
 msgstr "%qD 声明为 %<virtual%> %s"
 
-#: cp/decl.c:5609
+#: cp/decl.c:5636
 #, gcc-internal-format
 msgid "%qD declared as an %<inline%> %s"
 msgstr "%qD 声明为 %<inline%> %s"
 
-#: cp/decl.c:5611
+#: cp/decl.c:5638
 #, gcc-internal-format
 msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
 msgstr "为 %qD 指定的 %<const%> 和 %<volatile%> 在 %s 声明中无效"
 
-#: cp/decl.c:5615
+#: cp/decl.c:5642
 #, gcc-internal-format
 msgid "%q+D declared as a friend"
 msgstr "%q+D 声明为友元"
 
-#: cp/decl.c:5621
+#: cp/decl.c:5648
 #, gcc-internal-format
 msgid "%q+D declared with an exception specification"
 msgstr "%q+D 声明时有异常指定"
 
-#: cp/decl.c:5655
+#: cp/decl.c:5682
 #, gcc-internal-format
 msgid "definition of %qD is not in namespace enclosing %qT"
 msgstr "%qD 的定义不在包含 %qT 的命名空间中"
 
-#: cp/decl.c:5715
+#: cp/decl.c:5742
 #, 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:5725
+#: cp/decl.c:5752
 #, gcc-internal-format
 msgid "invalid use of template-id %qD in declaration of primary template"
 msgstr "在基本模板的声明中对模板标识符 %qD 的使用无效"
 
-#: cp/decl.c:5755
+#: cp/decl.c:5782
 #, gcc-internal-format
 msgid "default arguments are not allowed in declaration of friend template specialization %qD"
 msgstr "友元模板特例化 %qD 中不允许出现默认参数"
 
-#: cp/decl.c:5763
+#: cp/decl.c:5790
 #, gcc-internal-format
 msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
 msgstr "%<inline%> 不允许用于友元模板特例化 %qD 的声明"
 
-#: cp/decl.c:5806
+#: cp/decl.c:5833
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be a template"
 msgstr "不能将 %<::main%> 声明为一个模板"
 
-#: cp/decl.c:5808
+#: cp/decl.c:5835
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be inline"
 msgstr "不能将 %<::main%> 声明为 inline"
 
-#: cp/decl.c:5810
+#: cp/decl.c:5837
 #, gcc-internal-format
 msgid "cannot declare %<::main%> to be static"
 msgstr "不能将 %<::main%> 声明为 static"
 
-#: cp/decl.c:5816
+#: cp/decl.c:5843
 #, gcc-internal-format
 msgid "%<::main%> must return %<int%>"
 msgstr "%<::main%> 必须返回 %<int%>"
 
-#: cp/decl.c:5848
+#: cp/decl.c:5875
 #, gcc-internal-format
 msgid "non-local function %q#D uses anonymous type"
 msgstr "非局部函数 %q#D 使用匿名类型"
 
-#: cp/decl.c:5851 cp/decl.c:6121
+#: cp/decl.c:5878 cp/decl.c:6148
 #, 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:5857
+#: cp/decl.c:5884
 #, gcc-internal-format
 msgid "non-local function %q#D uses local type %qT"
 msgstr "非局部函数 %q#D 使用了局部类型 %qT"
 
-#: cp/decl.c:5880
+#: cp/decl.c:5907
 #, gcc-internal-format
 msgid "%smember function %qD cannot have cv-qualifier"
 msgstr "%s成员函数 %qD 不能拥有 cv 限定符"
 
-#: cp/decl.c:5949
+#: cp/decl.c:5976
 #, gcc-internal-format
 msgid "definition of implicitly-declared %qD"
 msgstr "隐式声明的 %qD 的定义"
 
-#: cp/decl.c:5969 cp/decl2.c:704
+#: cp/decl.c:5996 cp/decl2.c:704
 #, gcc-internal-format
 msgid "no %q#D member function declared in class %qT"
 msgstr "成员函数 %q#D 未在类 %qT 中声明"
@@ -23674,525 +23637,520 @@ 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:6118
+#: cp/decl.c:6145
 #, gcc-internal-format
 msgid "non-local variable %q#D uses anonymous type"
 msgstr "非局部变量 %q#D 使用了匿名类型"
 
-#: cp/decl.c:6127
+#: cp/decl.c:6154
 #, gcc-internal-format
 msgid "non-local variable %q#D uses local type %qT"
 msgstr "非局部变量 %q#D 使用了局部类型 %qT"
 
-#: cp/decl.c:6244
+#: cp/decl.c:6271
 #, gcc-internal-format
 msgid "invalid in-class initialization of static data member of non-integral type %qT"
 msgstr "类中对具有非整数类型 %qT 的静态数据成员的初始化无效"
 
-#: cp/decl.c:6254
+#: cp/decl.c:6281
 #, gcc-internal-format
 msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
 msgstr "ISO C++ 不允许在类内初始化非常量静态成员 %qD"
 
-#: cp/decl.c:6258
+#: cp/decl.c:6285
 #, 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:6278
+#: cp/decl.c:6309
 #, gcc-internal-format
 msgid "size of array %qD has non-integral type %qT"
 msgstr "数组 %qD 的大小具有非整数类型 %qT"
 
-#: cp/decl.c:6280
+#: cp/decl.c:6311
 #, gcc-internal-format
 msgid "size of array has non-integral type %qT"
 msgstr "数组 %qT 的大小的类型不是整数"
 
-#: cp/decl.c:6316
+#: cp/decl.c:6347
 #, gcc-internal-format
 msgid "size of array %qD is negative"
 msgstr "数组 %qD 的大小为负"
 
-#: cp/decl.c:6318
+#: cp/decl.c:6349
 #, gcc-internal-format
 msgid "size of array is negative"
 msgstr "数组大小为负数"
 
-#: cp/decl.c:6326
+#: cp/decl.c:6357
 #, gcc-internal-format
 msgid "ISO C++ forbids zero-size array %qD"
 msgstr "ISO C 不允许大小为 0 的数组 %qD"
 
-#: cp/decl.c:6328
+#: cp/decl.c:6359
 #, gcc-internal-format
 msgid "ISO C++ forbids zero-size array"
 msgstr "ISO C++ 不允许大小为 0 的数组"
 
-#: cp/decl.c:6335
+#: cp/decl.c:6366
 #, gcc-internal-format
 msgid "size of array %qD is not an integral constant-expression"
 msgstr "数组 %qD 的大小不是一个整数常表达式"
 
-#: cp/decl.c:6338
+#: cp/decl.c:6369
 #, gcc-internal-format
 msgid "size of array is not an integral constant-expression"
 msgstr "数组大小不是一个整数常表达式"
 
-#: cp/decl.c:6343
+#: cp/decl.c:6375
 #, gcc-internal-format
 msgid "ISO C++ forbids variable-size array %qD"
 msgstr "ISO C++ 不允许变长数组 %qD"
 
-#: cp/decl.c:6345
+#: cp/decl.c:6377
 #, gcc-internal-format
 msgid "ISO C++ forbids variable-size array"
 msgstr "ISO C++ 不允许变长数组"
 
-#: cp/decl.c:6375
+#: cp/decl.c:6407
 #, gcc-internal-format
 msgid "overflow in array dimension"
 msgstr "数组维数溢出"
 
-#: cp/decl.c:6449
+#: cp/decl.c:6481
 #, gcc-internal-format
 msgid "declaration of %qD as %s"
 msgstr "%qD 声明为 %s"
 
-#: cp/decl.c:6451
+#: cp/decl.c:6483
 #, gcc-internal-format
 msgid "creating %s"
 msgstr "创建 %s"
 
-#: cp/decl.c:6463
+#: cp/decl.c:6495
 #, gcc-internal-format
 msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
 msgstr "多维数组 %qD 的声明必须至少指定除第一维以外所有维的大小"
 
-#: cp/decl.c:6467
+#: cp/decl.c:6499
 #, gcc-internal-format
 msgid "multidimensional array must have bounds for all dimensions except the first"
 msgstr "声明多维数组必须至少指定除第一维以外所有维的大小"
 
-#: cp/decl.c:6502
+#: cp/decl.c:6534
 #, gcc-internal-format
 msgid "return type specification for constructor invalid"
 msgstr "为构造函数指定返回值无效"
 
-#: cp/decl.c:6512
+#: cp/decl.c:6544
 #, gcc-internal-format
 msgid "return type specification for destructor invalid"
 msgstr "指定析构函数的返回类型无效"
 
-#: cp/decl.c:6525
+#: cp/decl.c:6557
 #, gcc-internal-format
 msgid "operator %qT declared to return %qT"
 msgstr "运算符 %qT 声明为有 %qT 返回值"
 
-#: cp/decl.c:6527
+#: cp/decl.c:6559
 #, gcc-internal-format
 msgid "return type specified for %<operator %T%>"
 msgstr "为 %<operator %T%> 指定了返回值"
 
-#: cp/decl.c:6549
+#: cp/decl.c:6581
 #, gcc-internal-format
 msgid "unnamed variable or field declared void"
 msgstr "无名变量或字段声明为 void"
 
-#: cp/decl.c:6553
+#: cp/decl.c:6585
 #, gcc-internal-format
 msgid "variable or field %qE declared void"
 msgstr "变量或字段 %qE 声明为 void"
 
-#: cp/decl.c:6556
+#: cp/decl.c:6588
 #, gcc-internal-format
 msgid "variable or field declared void"
 msgstr "变量或字段声明为 void"
 
-#: cp/decl.c:6711
+#: cp/decl.c:6743
 #, gcc-internal-format
 msgid "type %qT is not derived from type %qT"
 msgstr "类型 %qT 不是由类型 %qT 派生的"
 
-#: cp/decl.c:6731 cp/decl.c:6823 cp/decl.c:7948
+#: cp/decl.c:6759 cp/decl.c:6847 cp/decl.c:7933
 #, gcc-internal-format
 msgid "declaration of %qD as non-function"
 msgstr "%qD 没有声明为一个函数"
 
-#: cp/decl.c:6737
+#: cp/decl.c:6765
 #, gcc-internal-format
 msgid "declaration of %qD as non-member"
 msgstr "%qD 未声明为成员"
 
-#: cp/decl.c:6767
+#: cp/decl.c:6796
 #, gcc-internal-format
 msgid "declarator-id missing; using reserved word %qD"
 msgstr "缺少声明标识符:使用了保留字 %qD"
 
-#: cp/decl.c:6856
+#: cp/decl.c:6880
 #, gcc-internal-format
 msgid "two or more data types in declaration of %qs"
 msgstr "%qs 的声明指定了两个以上的数据类型"
 
-#: cp/decl.c:6899
-#, gcc-internal-format
-msgid "ISO C++ does not support %<long long%>"
-msgstr "ISO C++ 不支持 %<long long%>"
-
-#: cp/decl.c:6921
-#, gcc-internal-format
-msgid "duplicate %qs"
-msgstr "重复的 %qs"
-
-#: cp/decl.c:6959 cp/decl.c:6961
+#: cp/decl.c:6944 cp/decl.c:6946
 #, gcc-internal-format
 msgid "ISO C++ forbids declaration of %qs with no type"
 msgstr "ISO C++ 不允许声明无类型的 %qs"
 
-#: cp/decl.c:6986
+#: cp/decl.c:6971
 #, gcc-internal-format
 msgid "short, signed or unsigned invalid for %qs"
 msgstr "为 %qs 使用 short、signed 或 unsigned 无效"
 
-#: cp/decl.c:6988
+#: cp/decl.c:6973
 #, gcc-internal-format
 msgid "long, short, signed or unsigned invalid for %qs"
 msgstr "为 %qs 使用 long、short、signed 或 unsigned 无效"
 
-#: cp/decl.c:6990
+#: cp/decl.c:6975
 #, gcc-internal-format
 msgid "long and short specified together for %qs"
 msgstr "为 %qs 同时给定了 long 和 short"
 
-#: cp/decl.c:6992
+#: cp/decl.c:6977
 #, gcc-internal-format
 msgid "long or short specified with char for %qs"
 msgstr "为 char %qs 给定了 long 或 short"
 
-#: cp/decl.c:6994
+#: cp/decl.c:6979
 #, gcc-internal-format
 msgid "long or short specified with floating type for %qs"
 msgstr "为浮点类型 %qs 给定了 long 或 short"
 
-#: cp/decl.c:6996
+#: cp/decl.c:6981
 #, gcc-internal-format
 msgid "signed and unsigned given together for %qs"
 msgstr "为 %qs 同时给定了 signed 和 unsigned"
 
-#: cp/decl.c:7002
+#: cp/decl.c:6987
 #, gcc-internal-format
 msgid "long, short, signed or unsigned used invalidly for %qs"
 msgstr "为 %qs 使用 long、short、signed 或 unsigned 无效"
 
-#: cp/decl.c:7067
+#: cp/decl.c:7052
 #, gcc-internal-format
 msgid "complex invalid for %qs"
 msgstr "对 %qs 而言无效的复数"
 
-#: cp/decl.c:7096
+#: cp/decl.c:7081
 #, gcc-internal-format
 msgid "qualifiers are not allowed on declaration of %<operator %T%>"
 msgstr "%<operator %T%> 的声明中不能使用限定符"
 
-#: cp/decl.c:7108 cp/typeck.c:6605
+#: cp/decl.c:7093 cp/typeck.c:6630
 #, gcc-internal-format
 msgid "ignoring %qV qualifiers added to function type %qT"
 msgstr "忽略 %qV 限定符,在函数类型 %qT 上"
 
-#: cp/decl.c:7131
+#: cp/decl.c:7116
 #, gcc-internal-format
 msgid "member %qD cannot be declared both virtual and static"
 msgstr "成员 %qD 不能既被声明为虚函数,又被声明为静态函数"
 
-#: cp/decl.c:7138
+#: cp/decl.c:7124
 #, gcc-internal-format
 msgid "%<%T::%D%> is not a valid declarator"
 msgstr "%<%T::%D%> 不是一个有效的声明"
 
-#: cp/decl.c:7146
+#: cp/decl.c:7132
 #, gcc-internal-format
 msgid "typedef declaration invalid in parameter declaration"
 msgstr "形参声明中出现的 typedef 声明无效"
 
-#: cp/decl.c:7150
+#: cp/decl.c:7136
 #, gcc-internal-format
 msgid "storage class specifiers invalid in parameter declarations"
 msgstr "为形参声明指定了无效的存储类"
 
-#: cp/decl.c:7157
+#: cp/decl.c:7143
 #, gcc-internal-format
 msgid "virtual outside class declaration"
 msgstr "virtual 用在类声明以外"
 
-#: cp/decl.c:7171 cp/decl.c:7180
+#: cp/decl.c:7157 cp/decl.c:7166
 #, gcc-internal-format
 msgid "multiple storage classes in declaration of %qs"
 msgstr "%qs 的声明指定了多个存储类"
 
-#: cp/decl.c:7203
+#: cp/decl.c:7189
 #, gcc-internal-format
 msgid "storage class specified for %qs"
 msgstr "为 %qs 指定了存储类"
 
-#: cp/decl.c:7237
+#: cp/decl.c:7223
 #, gcc-internal-format
 msgid "top-level declaration of %qs specifies %<auto%>"
 msgstr "在顶层将 %qs 声明为 %<auto%>"
 
-#: cp/decl.c:7249
+#: cp/decl.c:7235
 #, gcc-internal-format
 msgid "storage class specifiers invalid in friend function declarations"
 msgstr "为友元函数声明指定了无效的存储类"
 
-#: cp/decl.c:7375
+#: cp/decl.c:7352
 #, gcc-internal-format
 msgid "destructor cannot be static member function"
 msgstr "析构函数不能是静态成员函数"
 
-#: cp/decl.c:7378
+#: cp/decl.c:7355
 #, gcc-internal-format
 msgid "destructors may not be cv-qualified"
 msgstr "析构函数不能被 cv 限定"
 
-#: cp/decl.c:7398
+#: cp/decl.c:7375
 #, gcc-internal-format
 msgid "constructor cannot be static member function"
 msgstr "构造函数不能是静态成员函数"
 
-#: cp/decl.c:7401
+#: cp/decl.c:7378
 #, gcc-internal-format
 msgid "constructors cannot be declared virtual"
 msgstr "构造函数不能被声明为虚函数"
 
-#: cp/decl.c:7406
+#: cp/decl.c:7383
 #, gcc-internal-format
 msgid "constructors may not be cv-qualified"
 msgstr "构造函数不能带 cv 限定"
 
-#: cp/decl.c:7426
+#: cp/decl.c:7403
 #, gcc-internal-format
 msgid "can't initialize friend function %qs"
 msgstr "无法初始化友元函数 %qs"
 
 #. Cannot be both friend and virtual.
-#: cp/decl.c:7430
+#: cp/decl.c:7407
 #, gcc-internal-format
 msgid "virtual functions cannot be friends"
 msgstr "虚函数不能是友元"
 
-#: cp/decl.c:7434
+#: cp/decl.c:7411
 #, gcc-internal-format
 msgid "friend declaration not in class definition"
 msgstr "友元声明不在类定义内"
 
-#: cp/decl.c:7436
+#: cp/decl.c:7413
 #, gcc-internal-format
 msgid "can't define friend function %qs in a local class definition"
 msgstr "局部类定义中不能定义友元函数 %qs"
 
-#: cp/decl.c:7449
+#: cp/decl.c:7426
 #, gcc-internal-format
 msgid "destructors may not have parameters"
 msgstr "析构函数不能有参数"
 
-#: cp/decl.c:7468 cp/decl.c:7475
+#: cp/decl.c:7445 cp/decl.c:7452
 #, gcc-internal-format
 msgid "cannot declare reference to %q#T"
 msgstr "无法声明对 %q#T 的引用"
 
-#: cp/decl.c:7469
+#: cp/decl.c:7446
 #, gcc-internal-format
 msgid "cannot declare pointer to %q#T"
 msgstr "无法声明指向 %q#T 的指针"
 
-#: cp/decl.c:7477
+#: cp/decl.c:7454
 #, gcc-internal-format
 msgid "cannot declare pointer to %q#T member"
 msgstr "无法声明指向 %q#T 成员的指针"
 
-#: cp/decl.c:7516
+#: cp/decl.c:7493
 #, gcc-internal-format
 msgid "%qD is a namespace"
 msgstr "%qD 是一个命名空间"
 
-#: cp/decl.c:7555
+#: cp/decl.c:7532
 #, gcc-internal-format
 msgid "template-id %qD used as a declarator"
 msgstr "模板标识符 %qD 用作声明"
 
-#: cp/decl.c:7603
+#: cp/decl.c:7582
+#, gcc-internal-format
+msgid "member functions are implicitly friends of their class"
+msgstr "成员函数隐式地成为所属类的友元"
+
+#: cp/decl.c:7584
 #, gcc-internal-format
 msgid "extra qualification %<%T::%> on member %qs"
 msgstr "有多余的限定 %<%T::%> 在成员 %qs 上"
 
-#: cp/decl.c:7621
+#: cp/decl.c:7595
+#, fuzzy, gcc-internal-format
+msgid "cannot define member function %<%T::%s%> within %<%T%>"
+msgstr "无法声明成员函数 %<%T::%s%>,在 %<%T%> 中"
+
+#: cp/decl.c:7596
 #, gcc-internal-format
 msgid "cannot declare member function %<%T::%s%> within %<%T%>"
 msgstr "无法声明成员函数 %<%T::%s%>,在 %<%T%> 中"
 
-#: cp/decl.c:7636
+#: cp/decl.c:7621
 #, gcc-internal-format
 msgid "cannot declare member %<%T::%s%> within %qT"
 msgstr "无法声明成员 %<%T::%s%>,在 %qT 中"
 
-#: cp/decl.c:7676
+#: cp/decl.c:7661
 #, gcc-internal-format
 msgid "data member may not have variably modified type %qT"
 msgstr "数据成员不能具有可变类型 %qT"
 
-#: cp/decl.c:7678
+#: cp/decl.c:7663
 #, 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:7686
+#: cp/decl.c:7671
 #, gcc-internal-format
 msgid "only declarations of constructors can be %<explicit%>"
 msgstr "只有构造函数才能被声明为 %<explicit%>"
 
-#: cp/decl.c:7694
+#: cp/decl.c:7679
 #, gcc-internal-format
 msgid "non-member %qs cannot be declared %<mutable%>"
 msgstr "非成员 %qs 不能被声明为 %<mutable%>"
 
-#: cp/decl.c:7699
+#: cp/decl.c:7684
 #, gcc-internal-format
 msgid "non-object member %qs cannot be declared %<mutable%>"
 msgstr "非对象成员 %qs 不能被声明为 %<mutable%>"
 
-#: cp/decl.c:7705
+#: cp/decl.c:7690
 #, gcc-internal-format
 msgid "function %qs cannot be declared %<mutable%>"
 msgstr "函数 %qs 不能被声明为 %<mutable%>"
 
-#: cp/decl.c:7710
+#: cp/decl.c:7695
 #, gcc-internal-format
 msgid "static %qs cannot be declared %<mutable%>"
 msgstr "静态 %qs 不能被声明为 %<mutable%>"
 
-#: cp/decl.c:7715
+#: cp/decl.c:7700
 #, gcc-internal-format
 msgid "const %qs cannot be declared %<mutable%>"
 msgstr "常量 %qs 不能被声明为 %<mutable%>"
 
-#: cp/decl.c:7735
+#: cp/decl.c:7720
 #, gcc-internal-format
 msgid "%Jtypedef name may not be a nested-name-specifier"
 msgstr "%Jtypedef 名不能是嵌套名指定"
 
-#: cp/decl.c:7751
+#: cp/decl.c:7736
 #, gcc-internal-format
 msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
 msgstr "ISO C++ 不允许嵌类的类型 %qD 与其所属的类重名"
 
-#: cp/decl.c:7850
+#: cp/decl.c:7835
 #, gcc-internal-format
 msgid "qualified function types cannot be used to declare %s functions"
 msgstr "限定的函数类型不能用来声明 %s 函数"
 
-#: cp/decl.c:7876
+#: cp/decl.c:7861
 #, gcc-internal-format
 msgid "type qualifiers specified for friend class declaration"
 msgstr "为友元类声明指定了类型限定"
 
-#: cp/decl.c:7881
+#: cp/decl.c:7866
 #, gcc-internal-format
 msgid "%<inline%> specified for friend class declaration"
 msgstr "友元函数声明中出现了 %<inline%>"
 
-#: cp/decl.c:7889
+#: cp/decl.c:7874
 #, gcc-internal-format
 msgid "template parameters cannot be friends"
 msgstr "模板参数不能是友元"
 
-#: cp/decl.c:7891
+#: cp/decl.c:7876
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
 msgstr "友元声明需要 class,即 %<friend class %T::%D%>"
 
-#: cp/decl.c:7895
+#: cp/decl.c:7880
 #, gcc-internal-format
 msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
 msgstr "友元声明需要 class,即 %<friend %#T%>"
 
-#: cp/decl.c:7908
+#: cp/decl.c:7893
 #, gcc-internal-format
 msgid "trying to make class %qT a friend of global scope"
 msgstr "试图让 %qT 成为全局域的友元"
 
-#: cp/decl.c:7919
+#: cp/decl.c:7904
 #, gcc-internal-format
 msgid "invalid qualifiers on non-member function type"
 msgstr "非成员函数类型上的限定符无效"
 
-#: cp/decl.c:7938
+#: cp/decl.c:7923
 #, gcc-internal-format
 msgid "abstract declarator %qT used as declaration"
 msgstr "抽象声明 %qT 被用作声明"
 
-#: cp/decl.c:7963
+#: cp/decl.c:7948
 #, gcc-internal-format
 msgid "cannot use %<::%> in parameter declaration"
 msgstr "不能在参数声明中使用 %<::%>"
 
 #. Something like struct S { int N::j; };
-#: cp/decl.c:8008
+#: cp/decl.c:7993
 #, gcc-internal-format
 msgid "invalid use of %<::%>"
 msgstr "错误地使用了 %<::%>"
 
-#: cp/decl.c:8023
+#: cp/decl.c:8008
 #, gcc-internal-format
 msgid "can't make %qD into a method -- not in a class"
 msgstr "%qD 不能是一个方法 -- 不在类中"
 
-#: cp/decl.c:8032
+#: cp/decl.c:8017
 #, gcc-internal-format
 msgid "function %qD declared virtual inside a union"
 msgstr "联合成员函数 %qD 被声明为虚函数"
 
-#: cp/decl.c:8041
+#: cp/decl.c:8026
 #, gcc-internal-format
 msgid "%qD cannot be declared virtual, since it is always static"
 msgstr "%qD 不能声明为虚函数,因为它总是静态的"
 
-#: cp/decl.c:8059
+#: cp/decl.c:8044
 #, gcc-internal-format
 msgid "expected qualified name in friend declaration for destructor %qD"
 msgstr "在析构函数 %qD 中的友元声明需要限定名"
 
-#: cp/decl.c:8069
+#: cp/decl.c:8054
 #, gcc-internal-format
 msgid "declaration of %qD as member of %qT"
 msgstr "%qD 声明为 %qT 的一个成员"
 
-#: cp/decl.c:8145
+#: cp/decl.c:8130
 #, gcc-internal-format
 msgid "field %qD has incomplete type"
 msgstr "字段 %qD 类型不完全"
 
-#: cp/decl.c:8147
+#: cp/decl.c:8132
 #, gcc-internal-format
 msgid "name %qT has incomplete type"
 msgstr "名字 %qT 类型不完全"
 
-#: cp/decl.c:8156
+#: cp/decl.c:8141
 #, gcc-internal-format
 msgid "  in instantiation of template %qT"
 msgstr "  在模板 %qT 的实例化中"
 
-#: cp/decl.c:8166
+#: cp/decl.c:8151
 #, gcc-internal-format
 msgid "%qE is neither function nor member function; cannot be declared friend"
 msgstr "%qE 既不是函数也不是成员函数;不能声明为友元"
 
-#: cp/decl.c:8177
-#, gcc-internal-format
-msgid "member functions are implicitly friends of their class"
-msgstr "成员函数隐式地成为所属类的友元"
-
 #. An attempt is being made to initialize a non-static
 #. member.  But, from [class.mem]:
 #.
@@ -24205,93 +24163,93 @@ msgstr "成员函数隐式地成为所属类的友元"
 #. 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:8217
+#: cp/decl.c:8202
 #, gcc-internal-format
 msgid "ISO C++ forbids initialization of member %qD"
 msgstr "ISO C++ 不允许成员 %qD 的初始化"
 
-#: cp/decl.c:8219
+#: cp/decl.c:8204
 #, gcc-internal-format
 msgid "making %qD static"
 msgstr "使 %qD 成为静态的"
 
-#: cp/decl.c:8288
+#: cp/decl.c:8273
 #, gcc-internal-format
 msgid "storage class %<auto%> invalid for function %qs"
 msgstr "函数 %qs 的存储类 %<auto%> 无效"
 
-#: cp/decl.c:8290
+#: cp/decl.c:8275
 #, gcc-internal-format
 msgid "storage class %<register%> invalid for function %qs"
 msgstr "函数 %qs 的存储类 %<register%> 无效"
 
-#: cp/decl.c:8292
+#: cp/decl.c:8277
 #, gcc-internal-format
 msgid "storage class %<__thread%> invalid for function %qs"
 msgstr "函数 %qs 的存储类 %<__thread%> 无效"
 
-#: cp/decl.c:8303
+#: cp/decl.c:8288
 #, gcc-internal-format
 msgid "%<static%> specified invalid for function %qs declared out of global scope"
 msgstr "在全局作用域外为函数 %qs 指定 %<static%> 无效"
 
-#: cp/decl.c:8306
+#: cp/decl.c:8291
 #, gcc-internal-format
 msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
 msgstr "在全局作用域外为函数 %qs 指定 %<inline%> 无效"
 
-#: cp/decl.c:8314
+#: cp/decl.c:8299
 #, gcc-internal-format
 msgid "virtual non-class function %qs"
 msgstr "虚函数 %qs 不是类成员"
 
-#: cp/decl.c:8345
+#: cp/decl.c:8330
 #, gcc-internal-format
 msgid "cannot declare member function %qD to have static linkage"
 msgstr "不能将成员函数 %qD 声明为有静态链接"
 
 #. FIXME need arm citation
-#: cp/decl.c:8352
+#: cp/decl.c:8337
 #, gcc-internal-format
 msgid "cannot declare static function inside another function"
 msgstr "不能在另一个函数中声明一个静态函数"
 
-#: cp/decl.c:8381
+#: cp/decl.c:8366
 #, gcc-internal-format
 msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
 msgstr "与声明不同,定义静态数据成员时不能使用 %<static%>"
 
-#: cp/decl.c:8388
+#: cp/decl.c:8373
 #, gcc-internal-format
 msgid "static member %qD declared %<register%>"
 msgstr "静态成员 %qD 声明为 %<register%>"
 
-#: cp/decl.c:8393
+#: cp/decl.c:8378
 #, gcc-internal-format
 msgid "cannot explicitly declare member %q#D to have extern linkage"
 msgstr "不能显式地将成员 %q#D 声明为有外部链接"
 
-#: cp/decl.c:8531
+#: cp/decl.c:8516
 #, gcc-internal-format
 msgid "default argument for %q#D has type %qT"
 msgstr "%q#D 的默认实参类型为 %qT"
 
-#: cp/decl.c:8534
+#: cp/decl.c:8519
 #, gcc-internal-format
 msgid "default argument for parameter of type %qT has type %qT"
 msgstr "类型为 %qT 的形参的默认实参却有类型 %qT"
 
-#: cp/decl.c:8551
+#: cp/decl.c:8536
 #, gcc-internal-format
 msgid "default argument %qE uses local variable %qD"
 msgstr "默认实参 %qE 使用了局部变量 %qD"
 
-#: cp/decl.c:8619
+#: cp/decl.c:8604
 #, gcc-internal-format
 msgid "parameter %qD invalidly declared method type"
 msgstr "形参 %qD 被无效地被声明为具有方法类型"
 
-#: cp/decl.c:8643
+#: cp/decl.c:8628
 #, gcc-internal-format
 msgid "parameter %qD includes %s to array of unknown bound %qT"
 msgstr "参数 %qD 包含了 %s,后者指向有未知边界 %qT 的数组"
@@ -24311,133 +24269,133 @@ msgstr "参数 %qD 包含了 %s,后者指向有未知边界 %qT 的数组"
 #. 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:8802
+#: cp/decl.c:8787
 #, gcc-internal-format
 msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
 msgstr "无效的构造函数:您要的可能是 %<%T (const %T&)%>"
 
-#: cp/decl.c:8921
+#: cp/decl.c:8906
 #, gcc-internal-format
 msgid "%qD may not be declared within a namespace"
 msgstr "%qD 不能在命名空间声明"
 
-#: cp/decl.c:8923
+#: cp/decl.c:8908
 #, gcc-internal-format
 msgid "%qD may not be declared as static"
 msgstr "%qD 不能被声明为静态的"
 
-#: cp/decl.c:8944
+#: cp/decl.c:8929
 #, gcc-internal-format
 msgid "%qD must be a nonstatic member function"
 msgstr "%qD 必须是一个非静态的成员函数"
 
-#: cp/decl.c:8953
+#: cp/decl.c:8938
 #, gcc-internal-format
 msgid "%qD must be either a non-static member function or a non-member function"
 msgstr "%qD 必须是一个非静态成员函数或非成员函数"
 
-#: cp/decl.c:8973
+#: cp/decl.c:8958
 #, gcc-internal-format
 msgid "%qD must have an argument of class or enumerated type"
 msgstr "%qD 的实参必须有类或枚举类型"
 
-#: cp/decl.c:9014
+#: cp/decl.c:8999
 #, gcc-internal-format
 msgid "conversion to %s%s will never use a type conversion operator"
 msgstr "向 %s%s 的转换永远不会用到类型转换运算符"
 
 #. 13.4.0.3
-#: cp/decl.c:9021
+#: cp/decl.c:9006
 #, gcc-internal-format
 msgid "ISO C++ prohibits overloading operator ?:"
 msgstr "ISO C++ 不允许重载 ?: 运算符"
 
-#: cp/decl.c:9071
+#: cp/decl.c:9056
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its argument"
 msgstr "后缀 %qD 必须使用 %<int%> 作为它的参数"
 
-#: cp/decl.c:9075
+#: cp/decl.c:9060
 #, gcc-internal-format
 msgid "postfix %qD must take %<int%> as its second argument"
 msgstr "后缀 %qD 必须使用 %<int%> 作为它的第二个参数"
 
-#: cp/decl.c:9082
+#: cp/decl.c:9067
 #, gcc-internal-format
 msgid "%qD must take either zero or one argument"
 msgstr "%qD 必须带 0 或 1 个实参"
 
-#: cp/decl.c:9084
+#: cp/decl.c:9069
 #, gcc-internal-format
 msgid "%qD must take either one or two arguments"
 msgstr "%qD 必须带 1 或 2 个实参"
 
-#: cp/decl.c:9105
+#: cp/decl.c:9090
 #, gcc-internal-format
 msgid "prefix %qD should return %qT"
 msgstr "前缀 %qD 应当返回 %qT"
 
-#: cp/decl.c:9111
+#: cp/decl.c:9096
 #, gcc-internal-format
 msgid "postfix %qD should return %qT"
 msgstr "后缀 %qD 应当返回 %qT"
 
-#: cp/decl.c:9120
+#: cp/decl.c:9105
 #, gcc-internal-format
 msgid "%qD must take %<void%>"
 msgstr "%qD 必须有 %<void%> 类型"
 
-#: cp/decl.c:9122 cp/decl.c:9130
+#: cp/decl.c:9107 cp/decl.c:9115
 #, gcc-internal-format
 msgid "%qD must take exactly one argument"
 msgstr "%qD 带且仅带 1 个实参"
 
-#: cp/decl.c:9132
+#: cp/decl.c:9117
 #, gcc-internal-format
 msgid "%qD must take exactly two arguments"
 msgstr "%qD 带且仅带 2 个实参"
 
-#: cp/decl.c:9140
+#: cp/decl.c:9125
 #, gcc-internal-format
 msgid "user-defined %qD always evaluates both arguments"
 msgstr "用户定义的 %qD 总是计算所有两个参数"
 
-#: cp/decl.c:9154
+#: cp/decl.c:9139
 #, gcc-internal-format
 msgid "%qD should return by value"
 msgstr "%qD 应当返回值而非引用"
 
-#: cp/decl.c:9166 cp/decl.c:9169
+#: cp/decl.c:9151 cp/decl.c:9154
 #, gcc-internal-format
 msgid "%qD cannot have default arguments"
 msgstr "%qD 不能有默认参数"
 
-#: cp/decl.c:9226
+#: cp/decl.c:9211
 #, gcc-internal-format
 msgid "using template type parameter %qT after %qs"
 msgstr "使用模板类型形参 %qT,在 %qs 后"
 
-#: cp/decl.c:9241
+#: cp/decl.c:9226
 #, gcc-internal-format
 msgid "using typedef-name %qD after %qs"
 msgstr "使用 typedef 名 %qD,在 %qs 后"
 
-#: cp/decl.c:9242
+#: cp/decl.c:9227
 #, gcc-internal-format
 msgid "%q+D has a previous declaration here"
 msgstr "%q+D 先前在此处有过声明"
 
-#: cp/decl.c:9250
+#: cp/decl.c:9235
 #, gcc-internal-format
 msgid "%qT referred to as %qs"
 msgstr "%qT 作为 %qs 被引用"
 
-#: cp/decl.c:9251 cp/decl.c:9258
+#: cp/decl.c:9236 cp/decl.c:9243
 #, gcc-internal-format
 msgid "%q+T has a previous declaration here"
 msgstr "%q+T 先前在此处有过声明"
 
-#: cp/decl.c:9257
+#: cp/decl.c:9242
 #, gcc-internal-format
 msgid "%qT referred to as enum"
 msgstr "%qT 作为枚举被引用"
@@ -24449,62 +24407,62 @@ msgstr "%qT 作为枚举被引用"
 #. void f(class C);            // No template header here
 #.
 #. then the required template argument is missing.
-#: cp/decl.c:9272
+#: cp/decl.c:9257
 #, gcc-internal-format
 msgid "template argument required for %<%s %T%>"
 msgstr "%<%s %T%> 需要模板参数"
 
-#: cp/decl.c:9320 cp/name-lookup.c:2629
+#: cp/decl.c:9305 cp/name-lookup.c:2627
 #, gcc-internal-format
 msgid "%qD has the same name as the class in which it is declared"
 msgstr "%qD 与其声明所在的类重名"
 
-#: cp/decl.c:9458
+#: cp/decl.c:9443
 #, gcc-internal-format
 msgid "use of enum %q#D without previous declaration"
 msgstr "使用枚举 %q#D 前没有给出声明"
 
-#: cp/decl.c:9476
+#: cp/decl.c:9461
 #, gcc-internal-format
 msgid "redeclaration of %qT as a non-template"
 msgstr "%qT 重声明为非模板"
 
-#: cp/decl.c:9583
+#: cp/decl.c:9568
 #, gcc-internal-format
 msgid "derived union %qT invalid"
 msgstr "派生联合 %qT 无效"
 
-#: cp/decl.c:9589
+#: cp/decl.c:9574
 #, gcc-internal-format
 msgid "Java class %qT cannot have multiple bases"
 msgstr "Java 类 %qT 不能有多个基类"
 
-#: cp/decl.c:9597
+#: cp/decl.c:9582
 #, gcc-internal-format
 msgid "Java class %qT cannot have virtual bases"
 msgstr "Java 类 %qT 不能有虚基类"
 
-#: cp/decl.c:9616
+#: cp/decl.c:9601
 #, gcc-internal-format
 msgid "base type %qT fails to be a struct or class type"
 msgstr "基类型 %qT 不是结构或类"
 
-#: cp/decl.c:9649
+#: cp/decl.c:9634
 #, gcc-internal-format
 msgid "recursive type %qT undefined"
 msgstr "递归的类型 %qT 未定义"
 
-#: cp/decl.c:9651
+#: cp/decl.c:9636
 #, gcc-internal-format
 msgid "duplicate base type %qT invalid"
 msgstr "重复的基类型 %qT 无效"
 
-#: cp/decl.c:9721
+#: cp/decl.c:9706
 #, gcc-internal-format
 msgid "multiple definition of %q#T"
 msgstr "%q#T 多次定义"
 
-#: cp/decl.c:9722
+#: cp/decl.c:9707
 #, gcc-internal-format
 msgid "%Jprevious definition here"
 msgstr "%J前一个定义在这里"
@@ -24513,47 +24471,47 @@ msgstr "%J前一个定义在这里"
 #.
 #. IF no integral type can represent all the enumerator values, the
 #. enumeration is ill-formed.
-#: cp/decl.c:9861
+#: cp/decl.c:9846
 #, gcc-internal-format
 msgid "no integral type can represent all of the enumerator values for %qT"
 msgstr "没有一个整数类型可以表示 %qT 的所有枚举值"
 
-#: cp/decl.c:9972
+#: cp/decl.c:9957
 #, gcc-internal-format
 msgid "enumerator value for %qD not integer constant"
 msgstr "%qD 的枚举值不是整数常数"
 
-#: cp/decl.c:10000
+#: cp/decl.c:9985
 #, gcc-internal-format
 msgid "overflow in enumeration values at %qD"
 msgstr "%qD 处枚举值溢出"
 
-#: cp/decl.c:10075
+#: cp/decl.c:10060
 #, gcc-internal-format
 msgid "return type %q#T is incomplete"
 msgstr "返回值类型 %q#T 为不完全"
 
-#: cp/decl.c:10185 cp/typeck.c:6352
+#: cp/decl.c:10170 cp/typeck.c:6377
 #, gcc-internal-format
 msgid "%<operator=%> should return a reference to %<*this%>"
 msgstr "%<operator=%> 应当返回一个对 %<*this%> 的引用"
 
-#: cp/decl.c:10520
+#: cp/decl.c:10536
 #, gcc-internal-format
 msgid "parameter %qD declared void"
 msgstr "形参 %qD 被声明为 void"
 
-#: cp/decl.c:11030
+#: cp/decl.c:11042
 #, gcc-internal-format
 msgid "invalid member function declaration"
 msgstr "无效的成员函数声明"
 
-#: cp/decl.c:11045
+#: cp/decl.c:11057
 #, gcc-internal-format
 msgid "%qD is already defined in class %qT"
 msgstr "%qD 已在类 %qT 中定义过"
 
-#: cp/decl.c:11255
+#: cp/decl.c:11267
 #, gcc-internal-format
 msgid "static member function %q#D declared with type qualifiers"
 msgstr "静态成员函数 %q#D 的声明带有类型限定符"
@@ -24606,7 +24564,7 @@ msgstr "局部类中对成员模板 %q#D 的声明无效"
 msgid "invalid use of %<virtual%> in template declaration of %q#D"
 msgstr "在 %q#D 的模板声明中使用 %<virtual%> 无效"
 
-#: cp/decl2.c:496 cp/pt.c:3020
+#: cp/decl2.c:496 cp/pt.c:3024
 #, gcc-internal-format
 msgid "template declaration of %q#D"
 msgstr "%q#D 声明为模板"
@@ -24641,97 +24599,97 @@ msgstr "构造函数中对静态成员的初始化无效"
 msgid "(an out of class initialization is required)"
 msgstr "(需要一个类外的初始化)"
 
-#: cp/decl2.c:855
+#: cp/decl2.c:842
 #, gcc-internal-format
 msgid "member %qD conflicts with virtual function table field name"
 msgstr "成员 %qD 与虚函数表的字段名冲突"
 
-#: cp/decl2.c:874
+#: cp/decl2.c:861
 #, gcc-internal-format
 msgid "applying attributes to template parameters is not implemented"
 msgstr "将属性应用到模板参数尚未实现"
 
-#: cp/decl2.c:884
+#: cp/decl2.c:871
 #, gcc-internal-format
 msgid "%qD is already defined in %qT"
 msgstr "%qD 已在 %qT 中定义过"
 
-#: cp/decl2.c:905
+#: cp/decl2.c:892
 #, gcc-internal-format
 msgid "initializer specified for static member function %qD"
 msgstr "为静态成员函数 %qD 指定了初始值"
 
-#: cp/decl2.c:928
+#: cp/decl2.c:915
 #, gcc-internal-format
 msgid "field initializer is not constant"
 msgstr "字段初始值设定不是一个常量"
 
-#: cp/decl2.c:955
+#: cp/decl2.c:942
 #, gcc-internal-format
 msgid "%<asm%> specifiers are not permitted on non-static data members"
 msgstr "%<asm%> 指定不允许用于非静态数据成员"
 
-#: cp/decl2.c:1001
+#: cp/decl2.c:990
 #, gcc-internal-format
 msgid "cannot declare %qD to be a bit-field type"
 msgstr "不能将 %qD 声明为位段类型"
 
-#: cp/decl2.c:1011
+#: cp/decl2.c:1000
 #, gcc-internal-format
 msgid "cannot declare bit-field %qD with function type"
 msgstr "不能将位段 %qD 声明为函数类型"
 
-#: cp/decl2.c:1018
+#: cp/decl2.c:1007
 #, gcc-internal-format
 msgid "%qD is already defined in the class %qT"
 msgstr "%qD 已在类 %qT 中定义过"
 
-#: cp/decl2.c:1025
+#: cp/decl2.c:1014
 #, gcc-internal-format
 msgid "static member %qD cannot be a bit-field"
 msgstr "静态成员 %qD 不能是位段"
 
-#: cp/decl2.c:1070
+#: cp/decl2.c:1059
 #, gcc-internal-format
 msgid "anonymous struct not inside named type"
 msgstr "匿名结构不在有名类型内"
 
-#: cp/decl2.c:1153
+#: cp/decl2.c:1142
 #, gcc-internal-format
 msgid "namespace-scope anonymous aggregates must be static"
 msgstr "命名空间域的匿名聚合必须是静态的"
 
-#: cp/decl2.c:1160
+#: cp/decl2.c:1149
 #, gcc-internal-format
 msgid "anonymous union with no members"
 msgstr "匿名联合没有成员"
 
-#: cp/decl2.c:1196
+#: cp/decl2.c:1185
 #, gcc-internal-format
 msgid "%<operator new%> must return type %qT"
 msgstr "%<operator new%> 必须返回 %qT"
 
-#: cp/decl2.c:1205
+#: cp/decl2.c:1194
 #, gcc-internal-format
 msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
 msgstr "%<operator new%> 的第一个形参类型为 %<size_t%> (%qT)"
 
-#: cp/decl2.c:1234
+#: cp/decl2.c:1223
 #, gcc-internal-format
 msgid "%<operator delete%> must return type %qT"
 msgstr "%<operator delete%> 必须返回 %qT"
 
-#: cp/decl2.c:1243
+#: cp/decl2.c:1232
 #, gcc-internal-format
 msgid "%<operator delete%> takes type %qT as first parameter"
 msgstr "%<operator delete%> 的第一个形参类型为 %qT"
 
-#: cp/decl2.c:3076
+#: cp/decl2.c:3065
 #, gcc-internal-format
 msgid "inline function %q+D used but never defined"
 msgstr "使用了内联函数 %q+D 但从未定义过"
 
-#: cp/decl2.c:3230
+#: cp/decl2.c:3219
 #, gcc-internal-format
 msgid "default argument missing for parameter %P of %q+#D"
 msgstr "形参 %P (属于 %q+#D)缺少默认实参"
@@ -24758,37 +24716,37 @@ msgstr "类型 %qT 不是从 %<java::lang::Throwable%> 派生来的"
 msgid "mixing C++ and Java catches in a single translation unit"
 msgstr "在同一个翻译单元中混合使用 C++ 和 Java 异常捕获"
 
-#: cp/except.c:607
+#: cp/except.c:608
 #, gcc-internal-format
 msgid "throwing NULL, which has integral, not pointer type"
 msgstr "抛出 NULL,它的类型是整数而不是指针"
 
-#: cp/except.c:630 cp/init.c:1923
+#: cp/except.c:631 cp/init.c:1929
 #, gcc-internal-format
 msgid "%qD should never be overloaded"
 msgstr "%qD 永远不应该被重载"
 
-#: cp/except.c:697
+#: cp/except.c:698
 #, gcc-internal-format
 msgid "  in thrown expression"
 msgstr "  在抛出的表达式中"
 
-#: cp/except.c:844
+#: cp/except.c:846
 #, gcc-internal-format
 msgid "expression %qE of abstract class type %qT cannot be used in throw-expression"
 msgstr "表达式 %qE 具有抽象类类型 %qT,不能用于 throw 表达式中"
 
-#: cp/except.c:929
+#: cp/except.c:931
 #, gcc-internal-format
 msgid "%Hexception of type %qT will be caught"
 msgstr "%H类型为 %qT 的异常将由"
 
-#: cp/except.c:931
+#: cp/except.c:933
 #, gcc-internal-format
 msgid "%H   by earlier handler for %qT"
 msgstr "%H   %qT 先前的处理者捕获"
 
-#: cp/except.c:961
+#: cp/except.c:963
 #, gcc-internal-format
 msgid "%H%<...%> handler must be the last handler for its try block"
 msgstr "%H%<...%> 处理者必须是其 try 块中的最后一个处理者"
@@ -24968,13 +24926,13 @@ msgid "%qD is both a direct base and an indirect virtual base"
 msgstr "%qD 既是一个直接基类又是一个间接虚基类"
 
 #: cp/init.c:1022
-#, gcc-internal-format
-msgid "type %qD is not a direct or virtual base of %qT"
+#, fuzzy, gcc-internal-format
+msgid "type %qT is not a direct or virtual base of %qT"
 msgstr "类型 %qD 不是 %qT 的直接或虚基类"
 
 #: cp/init.c:1025
-#, gcc-internal-format
-msgid "type %qD is not a direct base of %qT"
+#, fuzzy, gcc-internal-format
+msgid "type %qT is not a direct base of %qT"
 msgstr "类型 %qD 不是 %qT 的直接基类"
 
 #: cp/init.c:1105
@@ -24982,7 +24940,7 @@ msgstr "类型 %qD 不是 %qT 的直接基类"
 msgid "bad array initializer"
 msgstr "错误的数组初始值设定"
 
-#: cp/init.c:1305
+#: cp/init.c:1304
 #, gcc-internal-format
 msgid "%qT is not an aggregate type"
 msgstr "%qT 不是一个聚合类型"
@@ -25017,92 +24975,92 @@ msgstr "对非静态成员函数 %qD 的使用无效"
 msgid "invalid use of non-static data member %qD"
 msgstr "对非静态数据成员 %qD 的无效使用"
 
-#: cp/init.c:1681
+#: cp/init.c:1687
 #, gcc-internal-format
 msgid "size in array new must have integral type"
 msgstr "数组 new 的大小必须有整数类型"
 
-#: cp/init.c:1684
+#: cp/init.c:1690
 #, gcc-internal-format
 msgid "zero size array reserves no space"
 msgstr "未为大小为 0 的数组保留空间"
 
-#: cp/init.c:1692
+#: cp/init.c:1698
 #, gcc-internal-format
 msgid "new cannot be applied to a reference type"
 msgstr "new 不能用于引用类型"
 
-#: cp/init.c:1698
+#: cp/init.c:1704
 #, gcc-internal-format
 msgid "new cannot be applied to a function type"
 msgstr "new 不能用于函数类型"
 
-#: cp/init.c:1730
+#: cp/init.c:1736
 #, gcc-internal-format
 msgid "call to Java constructor, while %<jclass%> undefined"
 msgstr "调用 Java 构造函数,但没有定义 %<jclass%>"
 
-#: cp/init.c:1746
+#: cp/init.c:1752
 #, gcc-internal-format
 msgid "can't find class$"
 msgstr "找不到类$"
 
-#: cp/init.c:1874
+#: cp/init.c:1880
 #, gcc-internal-format
 msgid "invalid type %<void%> for new"
 msgstr "对 new 而言类型 %<void%> 无效"
 
-#: cp/init.c:1884
+#: cp/init.c:1890
 #, gcc-internal-format
 msgid "uninitialized const in %<new%> of %q#T"
 msgstr "%<new%> %q#T 时常量未初始化"
 
-#: cp/init.c:1918
+#: cp/init.c:1924
 #, gcc-internal-format
 msgid "call to Java constructor with %qs undefined"
 msgstr "调用 Java 构造函数,但没有定义 %qs"
 
-#: cp/init.c:1958
+#: cp/init.c:1964
 #, gcc-internal-format
 msgid "no suitable %qD found in class %qT"
 msgstr "找不到合适的 %qD,在类 %qT 中"
 
-#: cp/init.c:1963
+#: cp/init.c:1969
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous"
 msgstr "对成员 %qD 的请求有歧义"
 
-#: cp/init.c:2103
+#: cp/init.c:2109
 #, gcc-internal-format
 msgid "ISO C++ forbids initialization in array new"
 msgstr "ISO C++ 不允许在数组 new 中初始化"
 
-#: cp/init.c:2591
+#: cp/init.c:2597
 #, gcc-internal-format
 msgid "initializer ends prematurely"
 msgstr "初始值设定在完成之前结束"
 
-#: cp/init.c:2646
+#: cp/init.c:2652
 #, gcc-internal-format
 msgid "cannot initialize multi-dimensional array with initializer"
 msgstr "不能用初始值设定项来初始化多维数组"
 
-#: cp/init.c:2807
+#: cp/init.c:2813
 #, gcc-internal-format
 msgid "possible problem detected in invocation of delete operator:"
 msgstr "检测到调用 delete 运算符时可能出现的问题:"
 
-#: cp/init.c:2810
+#: cp/init.c:2816
 #, 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:2831
+#: cp/init.c:2837
 #, gcc-internal-format
 msgid "unknown array size in delete"
 msgstr "delete 时数组大小未知"
 
-#: cp/init.c:3064
+#: cp/init.c:3070
 #, gcc-internal-format
 msgid "type to vector delete is neither pointer or array type"
 msgstr "矢量 delete 的实参类型既非指针也非数组"
@@ -25207,7 +25165,7 @@ msgstr "%H在这里第一次需要生成的方法 %qD"
 msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
 msgstr "由于隐式的虚析构函数,类 %qT 的 vtable 布局可能与 ABI 不相容,并且可能在 GCC 的未来版本中改变"
 
-#: cp/name-lookup.c:694
+#: cp/name-lookup.c:697
 #, gcc-internal-format
 msgid "redeclaration of %<wchar_t%> as %qT"
 msgstr "%<wchar_t%> 重声明为 %qT"
@@ -25218,539 +25176,549 @@ msgstr "%<wchar_t%> 重声明为 %qT"
 #. [basic.start.main]
 #.
 #. This function shall not be overloaded.
-#: cp/name-lookup.c:726
+#: cp/name-lookup.c:727
 #, gcc-internal-format
 msgid "invalid redeclaration of %q+D"
 msgstr "对 %q+#D 无效的重声明"
 
-#: cp/name-lookup.c:727
+#: cp/name-lookup.c:728
 #, gcc-internal-format
 msgid "as %qD"
 msgstr "作为 %qD"
 
-#: cp/name-lookup.c:815
+#: cp/name-lookup.c:816
 #, gcc-internal-format
 msgid "type mismatch with previous external decl of %q#D"
 msgstr "类型与先前的 %q#D 的外部声明不匹配"
 
-#: cp/name-lookup.c:816
+#: cp/name-lookup.c:817
 #, gcc-internal-format
 msgid "previous external decl of %q+#D"
 msgstr "先前 %q+#D 的外部声明"
 
-#: cp/name-lookup.c:907
+#: cp/name-lookup.c:908
 #, gcc-internal-format
 msgid "extern declaration of %q#D doesn't match"
 msgstr "%q#D 的外部声明不匹配"
 
-#: cp/name-lookup.c:908
+#: cp/name-lookup.c:909
 #, gcc-internal-format
 msgid "global declaration %q+#D"
 msgstr "全局声明 %q+#D"
 
-#: cp/name-lookup.c:945 cp/name-lookup.c:952
+#: cp/name-lookup.c:946 cp/name-lookup.c:953
 #, 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:977
+#: cp/name-lookup.c:978
 #, gcc-internal-format
 msgid "declaration of %qD shadows a member of 'this'"
 msgstr "%qD 的声明隐藏了‘this’的一个成员"
 
-#: cp/name-lookup.c:983
+#: cp/name-lookup.c:984
 #, gcc-internal-format
 msgid "declaration of %qD shadows a previous local"
 msgstr "%qD 的声明隐藏了先前的一个局部变量"
 
-#: cp/name-lookup.c:990
+#: cp/name-lookup.c:991
 #, gcc-internal-format
 msgid "declaration of %qD shadows a global declaration"
 msgstr "%qD 的声明隐藏了一个全局声明"
 
-#: cp/name-lookup.c:1116
+#: cp/name-lookup.c:1114
 #, gcc-internal-format
 msgid "name lookup of %qD changed"
 msgstr "%qD 的名称查阅已改变"
 
-#: cp/name-lookup.c:1117
+#: cp/name-lookup.c:1115
 #, gcc-internal-format
 msgid "  matches this %q+D under ISO standard rules"
 msgstr "  在 ISO 标准规则下匹配此 %q+D"
 
-#: cp/name-lookup.c:1119
+#: cp/name-lookup.c:1117
 #, gcc-internal-format
 msgid "  matches this %q+D under old rules"
 msgstr "  在旧规则下匹配此 %q+D"
 
-#: cp/name-lookup.c:1137 cp/name-lookup.c:1145
+#: cp/name-lookup.c:1135 cp/name-lookup.c:1143
 #, gcc-internal-format
 msgid "name lookup of %qD changed for new ISO %<for%> scoping"
 msgstr "在新的 ISO %<for%> 作用域中,%qD 的名称查找有变化"
 
-#: cp/name-lookup.c:1139
+#: cp/name-lookup.c:1137
 #, gcc-internal-format
 msgid "  cannot use obsolete binding at %q+D because it has a destructor"
 msgstr "  不能在 %q+D 使用过时的绑定,因为它有析构函数"
 
-#: cp/name-lookup.c:1147
+#: cp/name-lookup.c:1145
 #, gcc-internal-format
 msgid "  using obsolete binding at %q+D"
 msgstr "  在 %q+D 使用过时的绑定"
 
-#: cp/name-lookup.c:1200
+#: cp/name-lookup.c:1198
 #, gcc-internal-format
 msgid "%s %s(%E) %p %d\n"
 msgstr "%s %s(%E) %p %d\n"
 
-#: cp/name-lookup.c:1203
+#: cp/name-lookup.c:1201
 #, gcc-internal-format
 msgid "%s %s %p %d\n"
 msgstr "%s %s %p %d\n"
 
-#: cp/name-lookup.c:1329
+#: cp/name-lookup.c:1327
 #, 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:1887
+#: cp/name-lookup.c:1885
 #, gcc-internal-format
 msgid "%q#D hides constructor for %q#T"
 msgstr "%q#D 隐藏了 %q#T 的构造函数"
 
-#: cp/name-lookup.c:1903
+#: cp/name-lookup.c:1901
 #, gcc-internal-format
 msgid "%q#D conflicts with previous using declaration %q#D"
 msgstr "%q#D 与先前的 using 声明 %q#D 冲突"
 
-#: cp/name-lookup.c:1923
+#: cp/name-lookup.c:1921
 #, gcc-internal-format
 msgid "previous non-function declaration %q+#D"
 msgstr "先前对于 %q+#D 的非函数声明"
 
-#: cp/name-lookup.c:1924
+#: cp/name-lookup.c:1922
 #, 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:2002 cp/name-lookup.c:2027
+#: cp/name-lookup.c:2000 cp/name-lookup.c:2025
 #, 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:2012
+#: cp/name-lookup.c:2010
 #, gcc-internal-format
 msgid "a using-declaration cannot specify a template-id.  Try %<using %D%>"
 msgstr "using 声明不能指定一个模板标识符。请尝试 %<using %D%>"
 
-#: cp/name-lookup.c:2019
+#: cp/name-lookup.c:2017
 #, gcc-internal-format
 msgid "namespace %qD not allowed in using-declaration"
 msgstr "不允许在 using 声明中使用命名空间 %qD"
 
-#: cp/name-lookup.c:2055
+#: cp/name-lookup.c:2053
 #, gcc-internal-format
 msgid "%qD not declared"
 msgstr "%qD 未声明"
 
-#: cp/name-lookup.c:2076 cp/name-lookup.c:2113 cp/name-lookup.c:2147
+#: cp/name-lookup.c:2074 cp/name-lookup.c:2111 cp/name-lookup.c:2145
 #, gcc-internal-format
 msgid "%qD is already declared in this scope"
 msgstr "%qD 已在此作用域中声明过"
 
-#: cp/name-lookup.c:2153
+#: cp/name-lookup.c:2151
 #, gcc-internal-format
 msgid "using declaration %qD introduced ambiguous type %qT"
 msgstr "using 声明 %qD 引入了一个有歧义的类型 %qT"
 
-#: cp/name-lookup.c:2727
+#: cp/name-lookup.c:2743
 #, gcc-internal-format
 msgid "using-declaration for non-member at class scope"
 msgstr "在类作用域使用非成员的 using 声明"
 
-#: cp/name-lookup.c:2753
+#: cp/name-lookup.c:2750
 #, gcc-internal-format
 msgid "%<%T::%D%> names destructor"
 msgstr "%<%T::%D%> 指定了析构函数"
 
-#: cp/name-lookup.c:2758
+#: cp/name-lookup.c:2755
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor"
 msgstr "%<%T::%D%> 指定了构造函数"
 
-#: cp/name-lookup.c:2763
+#: cp/name-lookup.c:2760
 #, gcc-internal-format
 msgid "%<%T::%D%> names constructor in %qT"
 msgstr "%<%T::%D%> 在 %qT 内指定了构造函数"
 
-#: cp/name-lookup.c:2779
+#: cp/name-lookup.c:2809
 #, gcc-internal-format
 msgid "no members matching %<%T::%D%> in %q#T"
 msgstr "没有与 %<%T::%D%> 匹配的成员,在 %q#T 中"
 
-#: cp/name-lookup.c:2848
+#: cp/name-lookup.c:2877
 #, gcc-internal-format
 msgid "declaration of %qD not in a namespace surrounding %qD"
 msgstr "%qD 的声明不在包含 %qD 的命名空间中"
 
-#: cp/name-lookup.c:2856
+#: cp/name-lookup.c:2885
 #, gcc-internal-format
 msgid "explicit qualification in declaration of %qD"
 msgstr "%qD 的声明中有显式的限定"
 
-#: cp/name-lookup.c:2896
+#: cp/name-lookup.c:2925
 #, gcc-internal-format
 msgid "%qD should have been declared inside %qD"
 msgstr "%qD 应当已在 %qD 内部声明过"
 
-#: cp/name-lookup.c:2958
+#: cp/name-lookup.c:2987
 #, gcc-internal-format
 msgid "namespace alias %qD not allowed here, assuming %qD"
 msgstr "这里不允许命名空间别名 %qD,假定为 %qD"
 
-#: cp/name-lookup.c:3265
+#: cp/name-lookup.c:3294
 #, gcc-internal-format
 msgid "strong using only meaningful at namespace scope"
 msgstr "强 using 只在命名空间作用域有意义"
 
-#: cp/name-lookup.c:3272
+#: cp/name-lookup.c:3301
 #, gcc-internal-format
 msgid "%qD attribute directive ignored"
 msgstr "指定 %qD 属性被忽略"
 
-#: cp/name-lookup.c:3422
+#: cp/name-lookup.c:3451
 #, gcc-internal-format
 msgid "%qD denotes an ambiguous type"
 msgstr "%qD 表示一个有歧义的类型"
 
-#: cp/name-lookup.c:3423
+#: cp/name-lookup.c:3452
 #, gcc-internal-format
 msgid "%J  first type here"
 msgstr "%J  第一个类型在这里"
 
-#: cp/name-lookup.c:3424
+#: cp/name-lookup.c:3453
 #, gcc-internal-format
 msgid "%J  other type here"
 msgstr "%J  其他类型在这里"
 
 #. This happens for A::B where B is a template, and there are no
 #. template arguments.
-#: cp/name-lookup.c:3534 cp/parser.c:4475 cp/typeck.c:1807
+#: cp/name-lookup.c:3563 cp/parser.c:4495 cp/typeck.c:1807
 #, gcc-internal-format
 msgid "invalid use of %qD"
 msgstr "错误地使用了 %qD"
 
-#: cp/name-lookup.c:3574
+#: cp/name-lookup.c:3603
 #, gcc-internal-format
 msgid "%<%D::%D%> is not a template"
 msgstr "%<%D::%D%> 不是一个模板"
 
-#: cp/name-lookup.c:3589
+#: cp/name-lookup.c:3618
 #, gcc-internal-format
 msgid "%qD undeclared in namespace %qD"
 msgstr "%qD 未声明于命名空间 %qD 中"
 
-#: cp/name-lookup.c:4226
+#: cp/name-lookup.c:4255
 #, gcc-internal-format
 msgid "%q+D is not a function,"
 msgstr "%q+D 不是一个函数,"
 
-#: cp/name-lookup.c:4227
+#: cp/name-lookup.c:4256
 #, gcc-internal-format
 msgid "  conflict with %q+D"
 msgstr "  与 %q+D 冲突"
 
-#: cp/name-lookup.c:5059
+#: cp/name-lookup.c:5090
 #, gcc-internal-format
 msgid "XXX entering pop_everything ()\n"
 msgstr "XXX 进入 pop_everything ()\n"
 
-#: cp/name-lookup.c:5068
+#: cp/name-lookup.c:5099
 #, gcc-internal-format
 msgid "XXX leaving pop_everything ()\n"
 msgstr "XXX 离开 pop_everything ()\n"
 
-#: cp/parser.c:1866
+#: cp/parser.c:1873
 #, gcc-internal-format
 msgid "minimum/maximum operators are deprecated"
 msgstr "minimum/maximum 运算符已过时"
 
-#: cp/parser.c:1886
+#: cp/parser.c:1893
 #, gcc-internal-format
 msgid "%<#pragma%> is not allowed here"
 msgstr "在这里不允许使用 %<#pragma%>"
 
-#: cp/parser.c:1915
+#: cp/parser.c:1922
 #, gcc-internal-format
 msgid "%<%D::%D%> has not been declared"
 msgstr "%<%D::%D%> 尚未声明"
 
-#: cp/parser.c:1918 cp/semantics.c:2387
+#: cp/parser.c:1925 cp/semantics.c:2396
 #, gcc-internal-format
 msgid "%<::%D%> has not been declared"
 msgstr "%<::%D%> 尚未声明"
 
-#: cp/parser.c:1921
+#: cp/parser.c:1928
 #, gcc-internal-format
 msgid "request for member %qD in non-class type %qT"
 msgstr "请求成员 %qD,在非类类型 %qT 中"
 
-#: cp/parser.c:1924
+#: cp/parser.c:1931
 #, gcc-internal-format
 msgid "%<%T::%D%> has not been declared"
 msgstr "%<%T::%D%> 尚未声明"
 
-#: cp/parser.c:1927
+#: cp/parser.c:1934
 #, gcc-internal-format
 msgid "%qD has not been declared"
 msgstr "%qD 未声明"
 
-#: cp/parser.c:1930
+#: cp/parser.c:1937
 #, gcc-internal-format
 msgid "%<%D::%D%> %s"
 msgstr "%<%D::%D%> %s"
 
-#: cp/parser.c:1932
+#: cp/parser.c:1939
 #, gcc-internal-format
 msgid "%<::%D%> %s"
 msgstr "%<::%D%> %s"
 
-#: cp/parser.c:1934
+#: cp/parser.c:1941
 #, gcc-internal-format
 msgid "%qD %s"
 msgstr "%qD %s"
 
-#: cp/parser.c:1986
+#: cp/parser.c:1993
 #, gcc-internal-format
 msgid "new types may not be defined in a return type"
 msgstr "不能在返回类型中定义新类型"
 
-#: cp/parser.c:1987
+#: cp/parser.c:1994
 #, gcc-internal-format
 msgid "(perhaps a semicolon is missing after the definition of %qT)"
 msgstr "(%qT 的定义末尾可能缺少一个分号)"
 
-#: cp/parser.c:2006 cp/parser.c:3680 cp/pt.c:4396
+#: cp/parser.c:2013 cp/parser.c:3696 cp/pt.c:4400
 #, gcc-internal-format
 msgid "%qT is not a template"
 msgstr "%qT 不是一个模板"
 
-#: cp/parser.c:2008
+#: cp/parser.c:2015
 #, gcc-internal-format
 msgid "%qE is not a template"
 msgstr "%qE 不是一个模板"
 
-#: cp/parser.c:2010
+#: cp/parser.c:2017
 #, gcc-internal-format
 msgid "invalid template-id"
 msgstr "无效的模板 ID"
 
-#: cp/parser.c:2039
+#: cp/parser.c:2046
 #, gcc-internal-format
 msgid "%s cannot appear in a constant-expression"
 msgstr "%s 不能出现在常量表达式中"
 
-#: cp/parser.c:2064
+#: cp/parser.c:2071
 #, gcc-internal-format
 msgid "invalid use of template-name %qE without an argument list"
 msgstr "使用模板名 %qE 时不带实参表无效"
 
 #. Issue an error message.
-#: cp/parser.c:2069
+#: cp/parser.c:2076
 #, gcc-internal-format
 msgid "%qE does not name a type"
 msgstr "%qE 没有命名一个类型"
 
-#: cp/parser.c:2101
+#: cp/parser.c:2108
 #, gcc-internal-format
 msgid "(perhaps %<typename %T::%E%> was intended)"
 msgstr "(也许您本意是想用 %<typename %T::%E%>)"
 
-#: cp/parser.c:2116
+#: cp/parser.c:2123
 #, gcc-internal-format
 msgid "%qE in namespace %qE does not name a type"
 msgstr "%qE 在命名空间 %qE 中没有命名一个类型"
 
-#: cp/parser.c:2119
+#: cp/parser.c:2126
 #, gcc-internal-format
 msgid "%qE in class %qT does not name a type"
 msgstr "%qE 在类 %qT 中没有命名一个类型"
 
-#: cp/parser.c:2839
+#: cp/parser.c:2846
 #, gcc-internal-format
 msgid "ISO C++ forbids braced-groups within expressions"
 msgstr "ISO C++ 不允许在表达式中使用花括号组"
 
-#: cp/parser.c:2848
+#: cp/parser.c:2855
 #, gcc-internal-format
 msgid "statement-expressions are allowed only inside functions"
 msgstr "语句表达式只能用于函数内"
 
-#: cp/parser.c:2899
+#: cp/parser.c:2906
 #, gcc-internal-format
 msgid "%<this%> may not be used in this context"
 msgstr "%<this%> 不能用在此上下文中"
 
-#: cp/parser.c:3050
+#: cp/parser.c:3057
 #, gcc-internal-format
 msgid "local variable %qD may not appear in this context"
 msgstr "局部变量 %qD 不应出现在此上下文中"
 
-#: cp/parser.c:3430
+#: cp/parser.c:3433
+#, fuzzy, gcc-internal-format
+msgid "declaration of %<~%T%> as member of %qT"
+msgstr "%qD 声明为 %qT 的一个成员"
+
+#: cp/parser.c:3446
 #, gcc-internal-format
 msgid "typedef-name %qD used as destructor declarator"
 msgstr "typedef 名 %qD 用于析构函数声明"
 
-#: cp/parser.c:3639 cp/parser.c:12562 cp/parser.c:14693
+#: cp/parser.c:3655 cp/parser.c:12662 cp/parser.c:14789
 #, gcc-internal-format
 msgid "reference to %qD is ambiguous"
 msgstr "对 %qD 的引用有歧义"
 
-#: cp/parser.c:3681 cp/typeck.c:1878 cp/typeck.c:1898
+#: cp/parser.c:3697 cp/typeck.c:1878 cp/typeck.c:1898
 #, gcc-internal-format
 msgid "%qD is not a template"
 msgstr "%qD 不是一个模板"
 
-#: cp/parser.c:4068
+#: cp/parser.c:4088
 #, gcc-internal-format
 msgid "ISO C++ forbids compound-literals"
 msgstr "ISO C++ 不允许复合字面值"
 
-#: cp/parser.c:4400
+#: cp/parser.c:4420
 #, gcc-internal-format
 msgid "%qE does not have class type"
 msgstr "%qE 不是一个类"
 
-#: cp/parser.c:4999
+#: cp/parser.c:5019
 #, gcc-internal-format
 msgid "array bound forbidden after parenthesized type-id"
 msgstr "括起的类型标识符后面不能出现数组边界"
 
-#: cp/parser.c:5000
+#: cp/parser.c:5020
 #, gcc-internal-format
 msgid "try removing the parentheses around the type-id"
 msgstr "请尝试删除类型标识符两边的括号"
 
-#: cp/parser.c:5202
+#: cp/parser.c:5222
 #, gcc-internal-format
 msgid "expression in new-declarator must have integral or enumeration type"
 msgstr "new 声明中的表达式必须具有整数或枚举类型"
 
-#: cp/parser.c:5391
+#: cp/parser.c:5411
 #, gcc-internal-format
 msgid "use of old-style cast"
 msgstr "使用旧式的类型转换"
 
-#: cp/parser.c:6175
+#: cp/parser.c:6195
 #, gcc-internal-format
 msgid "case label %qE not within a switch statement"
 msgstr "case 标号 %qE 未出现在 switch 语句中"
 
-#: cp/parser.c:6719
+#: cp/parser.c:6744
 #, gcc-internal-format
 msgid "ISO C++ forbids computed gotos"
 msgstr "ISO C++ 不允许运行时可知的 goto 目标"
 
-#: cp/parser.c:6844
+#: cp/parser.c:6869
 #, gcc-internal-format
 msgid "extra %<;%>"
 msgstr "多余的 %<;%>"
 
-#: cp/parser.c:7168
+#: cp/parser.c:7202
 #, gcc-internal-format
 msgid "mixing declarations and function-definitions is forbidden"
 msgstr "不能混合声明和函数定义"
 
-#: cp/parser.c:7299
+#: cp/parser.c:7511
+#, gcc-internal-format
+msgid "ISO C++ does not support %<long long%>"
+msgstr "ISO C++ 不支持 %<long long%>"
+
+#: cp/parser.c:7531
 #, gcc-internal-format
-msgid "duplicate %<friend%>"
-msgstr "重复的 %<friend%>"
+msgid "duplicate %qs"
+msgstr "重复的 %qs"
 
-#: cp/parser.c:7468
+#: cp/parser.c:7538
 #, gcc-internal-format
 msgid "class definition may not be declared a friend"
 msgstr "类定义不能被声明为友元"
 
-#: cp/parser.c:7782
+#: cp/parser.c:7852
 #, gcc-internal-format
 msgid "only constructors take base initializers"
 msgstr "只有构造函数才能有基类初始值设定"
 
-#: cp/parser.c:7833
+#: cp/parser.c:7904
 #, gcc-internal-format
 msgid "anachronistic old-style base class initializer"
 msgstr "年代错误的旧式基类初始值设定"
 
-#: cp/parser.c:7875
+#: cp/parser.c:7948
 #, gcc-internal-format
 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:8241
+#: cp/parser.c:8314
 #, gcc-internal-format
 msgid "keyword %<export%> not implemented, and will be ignored"
 msgstr "关键字 %<export%> 未实现,将被忽略"
 
 #. Otherwise, emit an error about the invalid digraph, but continue
 #. parsing because we got our argument list.
-#: cp/parser.c:8614
+#: cp/parser.c:8687
 #, gcc-internal-format
 msgid "%<<::%> cannot begin a template-argument list"
 msgstr "不能以 %<<::%> 开始一个模板实参列表"
 
-#: cp/parser.c:8615
+#: cp/parser.c:8688
 #, gcc-internal-format
 msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
 msgstr "%<<:%> 是 %<[%> 的另一种拼法。请在 %<<%> 和 %<::%> 间加上空格"
 
-#: cp/parser.c:8622
+#: cp/parser.c:8695
 #, gcc-internal-format
 msgid "(if you use -fpermissive G++ will accept your code)"
 msgstr "(如果您使用 -fpermissive G++ 会接受您的代码)"
 
-#: cp/parser.c:8686
+#: cp/parser.c:8759
 #, gcc-internal-format
 msgid "parse error in template argument list"
 msgstr "模板实参表语法错误"
 
 #. Explain what went wrong.
-#: cp/parser.c:8799
+#: cp/parser.c:8872
 #, gcc-internal-format
 msgid "non-template %qD used as template"
 msgstr "非模板 %qD 用作模板"
 
-#: cp/parser.c:8800
+#: cp/parser.c:8873
 #, gcc-internal-format
 msgid "use %<%T::template %D%> to indicate that it is a template"
 msgstr "使用 %<%T::template %D%> 来表示这是一个模板"
 
-#: cp/parser.c:9313
+#: cp/parser.c:9386
 #, gcc-internal-format
 msgid "template specialization with C linkage"
 msgstr "特例化模板有 C 链接"
 
-#: cp/parser.c:9419 cp/parser.c:15322
+#: cp/parser.c:9492 cp/parser.c:15418
 #, gcc-internal-format
 msgid "template declaration of %qs"
 msgstr "%qs 声明为模板"
 
-#: cp/parser.c:9892
+#: cp/parser.c:9965
 #, gcc-internal-format
 msgid "using %<typename%> outside of template"
 msgstr "在模板外使用 %<typename%>"
 
-#: cp/parser.c:10089
+#: cp/parser.c:10162
 #, gcc-internal-format
 msgid "type attributes are honored only at type definition"
 msgstr "类型属性只在类型定义时起作用"
 
-#: cp/parser.c:10286
+#: cp/parser.c:10364
 #, gcc-internal-format
 msgid "%qD is not a namespace-name"
 msgstr "%qD 不是一个命名空间"
@@ -25758,127 +25726,127 @@ msgstr "%qD 不是一个命名空间"
 #. [namespace.udecl]
 #.
 #. A using declaration shall not name a template-id.
-#: cp/parser.c:10476
+#: cp/parser.c:10554
 #, gcc-internal-format
 msgid "a template-id may not appear in a using-declaration"
 msgstr "模板标识符不允许出现在 using 声明中"
 
-#: cp/parser.c:10806
+#: cp/parser.c:10884
 #, gcc-internal-format
 msgid "an asm-specification is not allowed on a function-definition"
 msgstr "函数定义中不允许出现 asm 指定"
 
-#: cp/parser.c:10808
+#: cp/parser.c:10886
 #, gcc-internal-format
 msgid "attributes are not allowed on a function-definition"
 msgstr "函数定义中不允许有属性"
 
-#: cp/parser.c:10940
+#: cp/parser.c:11018
 #, gcc-internal-format
 msgid "attributes after parenthesized initializer ignored"
 msgstr "括起的初始值设定后出现的属性被忽略"
 
-#: cp/parser.c:11325
+#: cp/parser.c:11398
 #, gcc-internal-format
 msgid "array bound is not an integer constant"
 msgstr "数组边界不是一个整数常量"
 
-#: cp/parser.c:11395
+#: cp/parser.c:11469
 #, gcc-internal-format
 msgid "%<%T::%D%> is not a type"
 msgstr "%<%T::%D%> 不是一个类型"
 
-#: cp/parser.c:11438
+#: cp/parser.c:11494
 #, gcc-internal-format
 msgid "invalid use of constructor as a template"
 msgstr "将构造函数用作模板用法无效"
 
-#: cp/parser.c:11439
-#, gcc-internal-format
-msgid "use %<%T::%D%> instead of %<%T::%T%> to name the constructor in a qualified name"
+#: cp/parser.c:11495
+#, fuzzy, gcc-internal-format
+msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
 msgstr "使用 %<%T::%D%> 而不是 %<%T::%T%> 来以限定名指定构造函数"
 
-#: cp/parser.c:11627
+#: cp/parser.c:11723
 #, gcc-internal-format
 msgid "duplicate cv-qualifier"
 msgstr "重复的 cv 限定"
 
-#: cp/parser.c:12159
+#: cp/parser.c:12259
 #, gcc-internal-format
 msgid "file ends in default argument"
 msgstr "文件在默认参数处结束"
 
-#: cp/parser.c:12221
+#: cp/parser.c:12321
 #, gcc-internal-format
 msgid "deprecated use of default argument for parameter of non-function"
 msgstr "为非函数指定默认参数的用法已过时"
 
-#: cp/parser.c:12224
+#: cp/parser.c:12324
 #, gcc-internal-format
 msgid "default arguments are only permitted for function parameters"
 msgstr "默认参数只允许出现在函数参数中"
 
-#: cp/parser.c:12984
+#: cp/parser.c:13084
 #, gcc-internal-format
 msgid "invalid class name in declaration of %qD"
 msgstr "%qD 的声明中类名无效"
 
-#: cp/parser.c:12995
+#: cp/parser.c:13095
 #, gcc-internal-format
 msgid "declaration of %qD in %qD which does not enclose %qD"
 msgstr "%qD 声明出现在 %qD 中,而后者并不包含 %qD"
 
-#: cp/parser.c:13008
+#: cp/parser.c:13108
 #, gcc-internal-format
 msgid "extra qualification ignored"
 msgstr "忽略额外的限定"
 
-#: cp/parser.c:13019
+#: cp/parser.c:13119
 #, gcc-internal-format
 msgid "an explicit specialization must be preceded by %<template <>%>"
 msgstr "显式特例化前必须有 %<template <>%>"
 
-#: cp/parser.c:13112
+#: cp/parser.c:13212
 #, gcc-internal-format
 msgid "previous definition of %q+#T"
 msgstr "%q+#T 的上一个定义"
 
-#: cp/parser.c:13343
+#: cp/parser.c:13443
 #, gcc-internal-format
 msgid "%Hextra %<;%>"
 msgstr "%H多余的 %<;%>"
 
-#: cp/parser.c:13361
+#: cp/parser.c:13461
 #, gcc-internal-format
 msgid "a class-key must be used when declaring a friend"
 msgstr "声明友元时必须使用 class 关键字"
 
-#: cp/parser.c:13375
+#: cp/parser.c:13475
 #, gcc-internal-format
 msgid "friend declaration does not name a class or function"
 msgstr "友元声明没有指定类或函数名"
 
-#: cp/parser.c:13551
+#: cp/parser.c:13652
 #, gcc-internal-format
 msgid "pure-specifier on function-definition"
 msgstr "函数定义上有 pure 指定"
 
-#: cp/parser.c:13829
+#: cp/parser.c:13925
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed outside of templates"
 msgstr "关键字 %<typename%> 不能在模板以外使用"
 
-#: cp/parser.c:13831
+#: cp/parser.c:13927
 #, gcc-internal-format
 msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
 msgstr "关键字 %<typename%> 不允许用在此上下文中(基类隐式地是一个类型)"
 
-#: cp/parser.c:14106
+#: cp/parser.c:14202
 #, gcc-internal-format
 msgid "invalid catch parameter"
 msgstr "无效的 catch 参数"
 
-#: cp/parser.c:14862
+#: cp/parser.c:14958
 #, gcc-internal-format
 msgid "too few template-parameter-lists"
 msgstr "模板参数表太少"
@@ -25887,196 +25855,196 @@ msgstr "模板参数表太少"
 #. something like:
 #.
 #. template <class T> template <class U> void S::f();
-#: cp/parser.c:14877
+#: cp/parser.c:14973
 #, gcc-internal-format
 msgid "too many template-parameter-lists"
 msgstr "模板参数表太多"
 
 #. Skip the entire function.
-#: cp/parser.c:15101
+#: cp/parser.c:15197
 #, gcc-internal-format
 msgid "invalid function declaration"
 msgstr "无效的函数声明"
 
 #. Issue an error message.
-#: cp/parser.c:15138
+#: cp/parser.c:15234
 #, gcc-internal-format
 msgid "named return values are no longer supported"
 msgstr "有名返回值不再被支持"
 
-#: cp/parser.c:15202
+#: cp/parser.c:15298
 #, gcc-internal-format
 msgid "template with C linkage"
 msgstr "C 链接的模板"
 
-#: cp/parser.c:15535
+#: cp/parser.c:15631
 #, gcc-internal-format
 msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
 msgstr "%H在嵌套模板实参列表中应当使用 %<> >%> 而非 %<>>%>"
 
-#: cp/parser.c:15550
+#: cp/parser.c:15646
 #, gcc-internal-format
 msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
 msgstr "可疑的 %<>>%>,使用 %<>%> 来结束模板实参列表"
 
-#: cp/parser.c:16107
+#: cp/parser.c:16206
 #, gcc-internal-format
 msgid "%qs tag used in naming %q#T"
 msgstr "使用了 %qs 标记,在命名 %q#T 时"
 
-#: cp/parser.c:16128
+#: cp/parser.c:16227
 #, gcc-internal-format
 msgid "%qD redeclared with different access"
 msgstr "%qD 重声明时有不同的可访问性"
 
-#: cp/parser.c:16145
+#: cp/parser.c:16244
 #, gcc-internal-format
 msgid "%<template%> (as a disambiguator) is only allowed within templates"
 msgstr "用作消歧义的 %<template%> 只能用于模板内"
 
-#: cp/parser.c:16382 cp/parser.c:17303 cp/parser.c:17434
+#: cp/parser.c:16481 cp/parser.c:17404 cp/parser.c:17535
 #, gcc-internal-format
 msgid "misplaced %<@%D%> Objective-C++ construct"
 msgstr "位置错误的 %<@%D%> Objective-C++ 构造"
 
-#: cp/parser.c:16523
+#: cp/parser.c:16622
 #, gcc-internal-format
 msgid "%<@encode%> must specify a type as an argument"
 msgstr "%<@encode%> 必须指定一个类型作为实参"
 
-#: cp/parser.c:16838
+#: cp/parser.c:16937
 #, gcc-internal-format
 msgid "invalid Objective-C++ selector name"
 msgstr "无效的 Objective-C++ 选择子名"
 
-#: cp/parser.c:17167
+#: cp/parser.c:17268
 #, gcc-internal-format
 msgid "identifier expected after %<@protocol%>"
 msgstr "%<@protocol%> 需要标识符"
 
-#: cp/parser.c:17457
+#: cp/parser.c:17558
 #, gcc-internal-format
 msgid "inter-module optimizations not implemented for C++"
 msgstr "模块间优化淍未为 C++ 实现"
 
-#: cp/pt.c:240
+#: cp/pt.c:239
 #, gcc-internal-format
 msgid "data member %qD cannot be a member template"
 msgstr "数据成员 %qD 不能是成员模板"
 
-#: cp/pt.c:252
+#: cp/pt.c:251
 #, gcc-internal-format
 msgid "invalid member template declaration %qD"
 msgstr "无效的成员模板声明 %qD"
 
-#: cp/pt.c:574
+#: cp/pt.c:573
 #, gcc-internal-format
 msgid "explicit specialization in non-namespace scope %qD"
 msgstr "显式特例化出现在非命名空间作用域 %qD 中"
 
-#: cp/pt.c:585
+#: cp/pt.c:584
 #, gcc-internal-format
 msgid "enclosing class templates are not explicitly specialized"
 msgstr "所包含的类模板并未被显式特例化"
 
-#: cp/pt.c:669
+#: cp/pt.c:668
 #, gcc-internal-format
 msgid "specialization of %qD in different namespace"
 msgstr "在不同命名空间内对 %qD 的特例化"
 
-#: cp/pt.c:670 cp/pt.c:756
+#: cp/pt.c:669 cp/pt.c:759
 #, gcc-internal-format
 msgid "  from definition of %q+#D"
 msgstr "  从 %q+#D 的定义"
 
-#: cp/pt.c:687
+#: cp/pt.c:686
 #, gcc-internal-format
 msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
 msgstr "%qD 的显式实例化出现在命名空间 %qD 中,而后者并不包含命名空间 %qD"
 
-#: cp/pt.c:723
+#: cp/pt.c:726
 #, gcc-internal-format
 msgid "specialization of %qT after instantiation"
 msgstr "%qT 的实例化在特例化之后"
 
-#: cp/pt.c:755
+#: cp/pt.c:758
 #, gcc-internal-format
 msgid "specializing %q#T in different namespace"
 msgstr "在不同命名空间中特例化 %q#T"
 
-#: cp/pt.c:770
+#: cp/pt.c:773
 #, gcc-internal-format
 msgid "specialization %qT after instantiation %qT"
 msgstr "%qT 的实例化在 %qT 的特例化之后"
 
-#: cp/pt.c:782
+#: cp/pt.c:785
 #, gcc-internal-format
 msgid "explicit specialization of non-template %qT"
 msgstr "显式特例化非模板 %qT"
 
-#: cp/pt.c:1176
+#: cp/pt.c:1179
 #, gcc-internal-format
 msgid "specialization of %qD after instantiation"
 msgstr "%qD 的特例化在实例化之后"
 
-#: cp/pt.c:1380
+#: cp/pt.c:1383
 #, gcc-internal-format
 msgid "%qD is not a function template"
 msgstr "%qD 不是一个函数模板"
 
-#: cp/pt.c:1573
+#: cp/pt.c:1577
 #, gcc-internal-format
 msgid "template-id %qD for %q+D does not match any template declaration"
 msgstr "模板标识符 %qD(属于 %q+D)不匹配任何模板声明"
 
-#: cp/pt.c:1581
+#: cp/pt.c:1585
 #, 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:1812 cp/pt.c:1866
+#: cp/pt.c:1816 cp/pt.c:1870
 #, gcc-internal-format
 msgid "template-id %qD in declaration of primary template"
 msgstr "模板标识符 %qD 出现在基本模板的声明中"
 
-#: cp/pt.c:1825
+#: cp/pt.c:1829
 #, gcc-internal-format
 msgid "template parameter list used in explicit instantiation"
 msgstr "显式初始化中出现了模板参数列表"
 
-#: cp/pt.c:1831
+#: cp/pt.c:1835
 #, gcc-internal-format
 msgid "definition provided for explicit instantiation"
 msgstr "为显式实例化提供的定义"
 
-#: cp/pt.c:1839
+#: cp/pt.c:1843
 #, gcc-internal-format
 msgid "too many template parameter lists in declaration of %qD"
 msgstr "%qD 声明时模板参数表太多"
 
-#: cp/pt.c:1842
+#: cp/pt.c:1846
 #, gcc-internal-format
 msgid "too few template parameter lists in declaration of %qD"
 msgstr "%qD 声明时模板参数表太少"
 
-#: cp/pt.c:1844
+#: cp/pt.c:1848
 #, gcc-internal-format
 msgid "explicit specialization of %qD must be introduced by %<template <>%>"
 msgstr "%qD 的显式特例化必须由 %<template <>%> 引入"
 
-#: cp/pt.c:1863
+#: cp/pt.c:1867
 #, gcc-internal-format
 msgid "function template partial specialization %qD is not allowed"
 msgstr "函数模板部分特例化 %qD 是不允许的"
 
-#: cp/pt.c:1895
+#: cp/pt.c:1899
 #, gcc-internal-format
 msgid "default argument specified in explicit specialization"
 msgstr "显式特例化时指定了默认参数"
 
-#: cp/pt.c:1924
+#: cp/pt.c:1928
 #, gcc-internal-format
 msgid "%qD is not a template function"
 msgstr "%qD 不是一个模板函数"
@@ -26089,57 +26057,57 @@ msgstr "%qD 不是一个模板函数"
 #. program is ill-formed.
 #.
 #. Similar language is found in [temp.explicit].
-#: cp/pt.c:1986
+#: cp/pt.c:1990
 #, gcc-internal-format
 msgid "specialization of implicitly-declared special member function"
 msgstr "特例化了隐式声明的特殊成员函数"
 
-#: cp/pt.c:2030
+#: cp/pt.c:2034
 #, gcc-internal-format
 msgid "no member function %qD declared in %qT"
 msgstr "成员函数 %qD 未在 %qT 中声明"
 
-#: cp/pt.c:2254
+#: cp/pt.c:2258
 #, gcc-internal-format
 msgid "declaration of %q+#D"
 msgstr "%q+#D 的声明"
 
-#: cp/pt.c:2255
+#: cp/pt.c:2259
 #, gcc-internal-format
 msgid " shadows template parm %q+#D"
 msgstr " 隐藏了模版形参 %q+#D"
 
-#: cp/pt.c:2658
+#: cp/pt.c:2662
 #, gcc-internal-format
 msgid "template parameters not used in partial specialization:"
 msgstr "部分特例化中未用到模板参数:"
 
-#: cp/pt.c:2662
+#: cp/pt.c:2666
 #, gcc-internal-format
 msgid "        %qD"
 msgstr "        %qD"
 
-#: cp/pt.c:2673
+#: cp/pt.c:2677
 #, gcc-internal-format
 msgid "partial specialization %qT does not specialize any template arguments"
 msgstr "部分特例化 %qT 并未特例化任何模板参数"
 
-#: cp/pt.c:2698
+#: cp/pt.c:2702
 #, gcc-internal-format
 msgid "template argument %qE involves template parameter(s)"
 msgstr "模板实参 %qE 混杂了模板形参"
 
-#: cp/pt.c:2742
+#: cp/pt.c:2746
 #, gcc-internal-format
 msgid "type %qT of template argument %qE depends on template parameter(s)"
 msgstr "类型 %qT(属于模板实参 %qE)取决于模板参数"
 
-#: cp/pt.c:2829
+#: cp/pt.c:2833
 #, gcc-internal-format
 msgid "no default argument for %qD"
 msgstr "%qD 没有默认参数"
 
-#: cp/pt.c:2988
+#: cp/pt.c:2992
 #, gcc-internal-format
 msgid "template class without a name"
 msgstr "模板类没有名字"
@@ -26147,7 +26115,7 @@ msgstr "模板类没有名字"
 #. [temp.mem]
 #.
 #. A destructor shall not be a member template.
-#: cp/pt.c:2996
+#: cp/pt.c:3000
 #, gcc-internal-format
 msgid "destructor %qD declared as member template"
 msgstr "析构函数 %qD 被声明为一个成员模板"
@@ -26157,67 +26125,67 @@ msgstr "析构函数 %qD 被声明为一个成员模板"
 #. An allocation function can be a function
 #. template. ... Template allocation functions shall
 #. have two or more parameters.
-#: cp/pt.c:3011
+#: cp/pt.c:3015
 #, gcc-internal-format
 msgid "invalid template declaration of %qD"
 msgstr "%qD 模板声明无效"
 
-#: cp/pt.c:3091
+#: cp/pt.c:3095
 #, gcc-internal-format
 msgid "%qD does not declare a template type"
 msgstr "%qD 没有声明一个模板类型"
 
-#: cp/pt.c:3097
+#: cp/pt.c:3101
 #, gcc-internal-format
 msgid "template definition of non-template %q#D"
 msgstr "对非模板 %q#D 的模板定义"
 
-#: cp/pt.c:3140
+#: cp/pt.c:3144
 #, gcc-internal-format
 msgid "expected %d levels of template parms for %q#D, got %d"
 msgstr "需要 %d 级的 %q#D 模板参数,却给出了 %d 级"
 
-#: cp/pt.c:3152
+#: cp/pt.c:3156
 #, gcc-internal-format
 msgid "got %d template parameters for %q#D"
 msgstr "得到 %d 个模板参数,为 %q#D"
 
-#: cp/pt.c:3155
+#: cp/pt.c:3159
 #, gcc-internal-format
 msgid "got %d template parameters for %q#T"
 msgstr "得到 %d 个模板参数,为 %q#T"
 
-#: cp/pt.c:3157
+#: cp/pt.c:3161
 #, gcc-internal-format
 msgid "  but %d required"
 msgstr "  但实际需要 %d 个"
 
-#: cp/pt.c:3254
+#: cp/pt.c:3258
 #, gcc-internal-format
 msgid "%qT is not a template type"
 msgstr "%qT 不是一个模板类型"
 
-#: cp/pt.c:3267
+#: cp/pt.c:3271
 #, gcc-internal-format
 msgid "template specifiers not specified in declaration of %qD"
 msgstr "%qD 的声明中没有 template 限定"
 
-#: cp/pt.c:3277
+#: cp/pt.c:3281
 #, gcc-internal-format
 msgid "previous declaration %q+D"
 msgstr "先前的声明 %q+D"
 
-#: cp/pt.c:3278
+#: cp/pt.c:3282
 #, gcc-internal-format
 msgid "used %d template parameter(s) instead of %d"
 msgstr "使用了 %d 个模板参数,而不是 %d 个"
 
-#: cp/pt.c:3297
+#: cp/pt.c:3301
 #, gcc-internal-format
 msgid "template parameter %q+#D"
 msgstr "模板形参 %q+#D"
 
-#: cp/pt.c:3298
+#: cp/pt.c:3302
 #, gcc-internal-format
 msgid "redeclared here as %q#D"
 msgstr "在这里又被声明为 %q#D"
@@ -26226,357 +26194,357 @@ msgstr "在这里又被声明为 %q#D"
 #.
 #. A template-parameter may not be given default arguments
 #. by two different declarations in the same scope.
-#: cp/pt.c:3308
+#: cp/pt.c:3312
 #, gcc-internal-format
 msgid "redefinition of default argument for %q#D"
 msgstr "重定义 %q#D 的默认参数"
 
-#: cp/pt.c:3309
+#: cp/pt.c:3313
 #, gcc-internal-format
 msgid "%J  original definition appeared here"
 msgstr "%J  原始定义出现在这里"
 
-#: cp/pt.c:3405
+#: cp/pt.c:3409
 #, 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:3446
+#: cp/pt.c:3450
 #, 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:3521
+#: cp/pt.c:3525
 #, 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:3571
+#: cp/pt.c:3575
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT because it is not a constant pointer"
 msgstr "%qE 不是类型 %qT 的有效模板实参,因为它不是一个常量指针"
 
-#: cp/pt.c:3591
+#: cp/pt.c:3595
 #, 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:3598
+#: cp/pt.c:3602
 #, gcc-internal-format
 msgid "%qE is not a valid template argument for type %qT because it is not a lvalue"
 msgstr "%qE 不是类型 %qT 的有效模板实参,因为它不是一个左值"
 
-#: cp/pt.c:3611
+#: cp/pt.c:3615
 #, 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:3651
+#: cp/pt.c:3655
 #, 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:3653
+#: cp/pt.c:3657
 #, gcc-internal-format
 msgid "try using %qE instead"
 msgstr "尝试使用 %qE 代替"
 
-#: cp/pt.c:3688
+#: cp/pt.c:3692
 #, 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:3691
+#: cp/pt.c:3695
 #, gcc-internal-format
 msgid "standard conversions are not allowed in this context"
 msgstr "此上下文中不允许标准转换"
 
-#: cp/pt.c:3860
+#: cp/pt.c:3864
 #, gcc-internal-format
 msgid "to refer to a type member of a template parameter, use %<typename %E%>"
 msgstr "需要使用某个模板参数的类型成员时,请使用 %<typename %E%>"
 
-#: cp/pt.c:3875 cp/pt.c:3894 cp/pt.c:3934
+#: cp/pt.c:3879 cp/pt.c:3898 cp/pt.c:3938
 #, gcc-internal-format
 msgid "type/value mismatch at argument %d in template parameter list for %qD"
 msgstr "实参 %d 的类型/值不匹配,在 %qD 的模板参数列表中"
 
-#: cp/pt.c:3879
+#: cp/pt.c:3883
 #, gcc-internal-format
 msgid "  expected a constant of type %qT, got %qT"
 msgstr "  需要一个 %qT 类型的常量,却给出了 %qT"
 
-#: cp/pt.c:3883
+#: cp/pt.c:3887
 #, gcc-internal-format
 msgid "  expected a class template, got %qE"
 msgstr "  需要一个类模板,却给出了 %qE"
 
-#: cp/pt.c:3885
+#: cp/pt.c:3889
 #, gcc-internal-format
 msgid "  expected a type, got %qE"
 msgstr "  需要一个类型,却给出了 %qE"
 
-#: cp/pt.c:3898
+#: cp/pt.c:3902
 #, gcc-internal-format
 msgid "  expected a type, got %qT"
 msgstr "  需要一个类型,却给出了 %qT"
 
-#: cp/pt.c:3900
+#: cp/pt.c:3904
 #, gcc-internal-format
 msgid "  expected a class template, got %qT"
 msgstr "  需要一个类模板,却给出了 %qT"
 
-#: cp/pt.c:3937
+#: cp/pt.c:3941
 #, gcc-internal-format
 msgid "  expected a template of type %qD, got %qD"
 msgstr "  需要一个类型为 %qD 的模板,却给出了 %qD"
 
-#: cp/pt.c:3980
+#: cp/pt.c:3984
 #, gcc-internal-format
 msgid "could not convert template argument %qE to %qT"
 msgstr "不能将模板参数从 %qE 转换到 %qT"
 
-#: cp/pt.c:4019
+#: cp/pt.c:4023
 #, gcc-internal-format
 msgid "wrong number of template arguments (%d, should be %d)"
 msgstr "模板参数数目不对(不应是 %d 个而应是 %d 个)"
 
-#: cp/pt.c:4023
+#: cp/pt.c:4027
 #, gcc-internal-format
 msgid "provided for %q+D"
 msgstr "提供给 %q+D"
 
-#: cp/pt.c:4053
+#: cp/pt.c:4057
 #, gcc-internal-format
 msgid "template argument %d is invalid"
 msgstr "模板参数 %d 无效"
 
-#: cp/pt.c:4408
+#: cp/pt.c:4412
 #, gcc-internal-format
 msgid "non-template type %qT used as a template"
 msgstr "非模板类型 %qT 用作模板"
 
-#: cp/pt.c:4410
+#: cp/pt.c:4414
 #, gcc-internal-format
 msgid "for template declaration %q+D"
 msgstr "对于模板声明 %q+D"
 
-#: cp/pt.c:5060
+#: cp/pt.c:5064
 #, 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:5506
-#, gcc-internal-format
-msgid "ambiguous class template instantiation for %q#T"
-msgstr "%q#T 的类模板实例化有歧义"
-
-#: cp/pt.c:5512
-#, gcc-internal-format
-msgid "%s %+#T"
-msgstr "%s %+#T"
-
-#: cp/pt.c:6635
+#: cp/pt.c:6612
 #, gcc-internal-format
 msgid "instantiation of %q+D as type %qT"
 msgstr "%q+D 按类型 %qT 实例化"
 
-#: cp/pt.c:6814
+#: cp/pt.c:6791
 #, gcc-internal-format
 msgid "invalid parameter type %qT"
 msgstr "无效的参数类型 %qT"
 
-#: cp/pt.c:6816
+#: cp/pt.c:6793
 #, gcc-internal-format
 msgid "in declaration %q+D"
 msgstr "在声明 %q+D 中"
 
-#: cp/pt.c:6889
+#: cp/pt.c:6866
 #, gcc-internal-format
 msgid "function returning an array"
 msgstr "函数返回了一个数组"
 
-#: cp/pt.c:6891
+#: cp/pt.c:6868
 #, gcc-internal-format
 msgid "function returning a function"
 msgstr "函数返回了一个函数"
 
-#: cp/pt.c:6918
+#: cp/pt.c:6895
 #, gcc-internal-format
 msgid "creating pointer to member function of non-class type %qT"
 msgstr "生成非类类型 %qT 的成员函数指针"
 
-#: cp/pt.c:7099
+#: cp/pt.c:7076
 #, gcc-internal-format
 msgid "creating array with negative size (%qE)"
 msgstr "创建大小为负的数组(%qE)"
 
-#: cp/pt.c:7316
+#: cp/pt.c:7293
 #, gcc-internal-format
 msgid "forming reference to void"
 msgstr "形成对 void 的引用"
 
-#: cp/pt.c:7318
+#: cp/pt.c:7295
 #, gcc-internal-format
 msgid "forming %s to reference type %qT"
 msgstr "形成 %s,指向引用类型 %qT"
 
-#: cp/pt.c:7355
+#: cp/pt.c:7332
 #, gcc-internal-format
 msgid "creating pointer to member of non-class type %qT"
 msgstr "生成非类类型 %qT 的成员指针"
 
-#: cp/pt.c:7361
+#: cp/pt.c:7338
 #, gcc-internal-format
 msgid "creating pointer to member reference type %qT"
 msgstr "生成引用类型 %qT 的成员指针"
 
-#: cp/pt.c:7367
+#: cp/pt.c:7344
 #, gcc-internal-format
 msgid "creating pointer to member of type void"
 msgstr "创建指向 void 类型的成员指针"
 
-#: cp/pt.c:7434
+#: cp/pt.c:7411
 #, gcc-internal-format
 msgid "creating array of %qT"
 msgstr "生成 %qT 的数组"
 
-#: cp/pt.c:7440
+#: cp/pt.c:7417
 #, gcc-internal-format
 msgid "creating array of %qT, which is an abstract class type"
 msgstr "生成抽象类型 %qT 的数组"
 
-#: cp/pt.c:7484
+#: cp/pt.c:7461
 #, gcc-internal-format
 msgid "%qT is not a class, struct, or union type"
 msgstr "%qT 不是类、结构或联合类型"
 
-#: cp/pt.c:7519
+#: cp/pt.c:7496
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is not an enumeration type"
 msgstr "%qT 被解析到非枚举类型 %qT"
 
-#: cp/pt.c:7522
+#: cp/pt.c:7499
 #, gcc-internal-format
 msgid "%qT resolves to %qT, which is is not a class type"
 msgstr "%qT 被解析到非类类型 %qT"
 
-#: cp/pt.c:7584
+#: cp/pt.c:7561
 #, gcc-internal-format
 msgid "use of %qs in template"
 msgstr "在模板中使用 %qs"
 
-#: cp/pt.c:7716
+#: cp/pt.c:7693
 #, gcc-internal-format
 msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
 msgstr "依赖名 %qE 被解析为非类型,但实例化却产生了一个类型"
 
-#: cp/pt.c:7718
+#: cp/pt.c:7695
 #, gcc-internal-format
 msgid "say %<typename %E%> if a type is meant"
 msgstr "如果您想指定类型,请使用 %<typename %E%>"
 
-#: cp/pt.c:7841
+#: cp/pt.c:7818
 #, gcc-internal-format
 msgid "using invalid field %qD"
 msgstr "使用无效字段 %qD"
 
-#: cp/pt.c:8942
+#: cp/pt.c:8924
 #, gcc-internal-format
 msgid "%qT is not a class or namespace"
 msgstr "%qT 既不是类也不是命名空间"
 
-#: cp/pt.c:8945
+#: cp/pt.c:8927
 #, gcc-internal-format
 msgid "%qD is not a class or namespace"
 msgstr "%qD 既不是类也不是命名空间"
 
-#: cp/pt.c:9094
+#: cp/pt.c:9076
 #, gcc-internal-format
 msgid "%qT is/uses anonymous type"
 msgstr "%qT 是/使用了匿名类型"
 
-#: cp/pt.c:9096
+#: cp/pt.c:9078
 #, gcc-internal-format
 msgid "%qT uses local type %qT"
 msgstr "%qT 使用了局部类型 %qT"
 
-#: cp/pt.c:9105
+#: cp/pt.c:9087
 #, gcc-internal-format
 msgid "%qT is a variably modified type"
 msgstr "%qT 是一个可变类型"
 
-#: cp/pt.c:9116
+#: cp/pt.c:9098
 #, gcc-internal-format
 msgid "integral expression %qE is not constant"
 msgstr "整型表达式 %qE 不是常量"
 
-#: cp/pt.c:9121
+#: cp/pt.c:9103
 #, gcc-internal-format
 msgid "  trying to instantiate %qD"
 msgstr "  试图实例化 %qD"
 
-#: cp/pt.c:11076 cp/pt.c:11147
+#: cp/pt.c:11094
+#, gcc-internal-format
+msgid "ambiguous class template instantiation for %q#T"
+msgstr "%q#T 的类模板实例化有歧义"
+
+#: cp/pt.c:11097
+#, gcc-internal-format
+msgid "%s %+#T"
+msgstr "%s %+#T"
+
+#: cp/pt.c:11120 cp/pt.c:11191
 #, gcc-internal-format
 msgid "explicit instantiation of non-template %q#D"
 msgstr "对非模板 %q#D 的显式实例化"
 
-#: cp/pt.c:11092 cp/pt.c:11142
+#: cp/pt.c:11136 cp/pt.c:11186
 #, gcc-internal-format
 msgid "no matching template for %qD found"
 msgstr "没有找到与 %qD 匹配的模板"
 
-#: cp/pt.c:11098
+#: cp/pt.c:11142
 #, gcc-internal-format
 msgid "explicit instantiation of %q#D"
 msgstr "对 %q#D 的显式实例化"
 
-#: cp/pt.c:11134
+#: cp/pt.c:11178
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#D"
 msgstr "对 %q#D 重复的显式实例化"
 
-#: cp/pt.c:11156
+#: cp/pt.c:11200
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
 msgstr "ISO C++ 不允许在显式实例化时使用 %<extern%>"
 
-#: cp/pt.c:11161 cp/pt.c:11254
+#: cp/pt.c:11205 cp/pt.c:11298
 #, gcc-internal-format
 msgid "storage class %qD applied to template instantiation"
 msgstr "为模板实例化化应用了存储类型 %qD"
 
-#: cp/pt.c:11226
+#: cp/pt.c:11270
 #, gcc-internal-format
 msgid "explicit instantiation of non-template type %qT"
 msgstr "显式实例化非模板类型 %qT"
 
-#: cp/pt.c:11235
+#: cp/pt.c:11279
 #, gcc-internal-format
 msgid "explicit instantiation of %q#T before definition of template"
 msgstr "%q#T 的显式实例化出现在模板定义之前"
 
-#: cp/pt.c:11243
+#: cp/pt.c:11287
 #, gcc-internal-format
 msgid "ISO C++ forbids the use of %qE on explicit instantiations"
 msgstr "ISO C++ 不允许在显式实例化时使用 %qE"
 
-#: cp/pt.c:11288
+#: cp/pt.c:11332
 #, gcc-internal-format
 msgid "duplicate explicit instantiation of %q#T"
 msgstr "对 %q#T 重复的显式实例化"
 
-#: cp/pt.c:11700
+#: cp/pt.c:11745
 #, gcc-internal-format
 msgid "explicit instantiation of %qD but no definition available"
 msgstr "显式实例化 %qD 时没有可用的定义"
 
-#: cp/pt.c:11847
+#: cp/pt.c:11892
 #, 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:12120
+#: cp/pt.c:12165
 #, gcc-internal-format
 msgid "%q#T is not a valid type for a template constant parameter"
 msgstr "%q#T 不是一个有效的模板常量参数类型"
@@ -26698,183 +26666,183 @@ msgstr "从这个地方"
 msgid "object missing in reference to %q+D"
 msgstr "对 %q+D 的引用缺少对象"
 
-#: cp/semantics.c:1859
+#: cp/semantics.c:1866
 #, gcc-internal-format
 msgid "arguments to destructor are not allowed"
 msgstr "析构函数不能有参数"
 
-#: cp/semantics.c:1910
+#: cp/semantics.c:1917
 #, gcc-internal-format
 msgid "%<this%> is unavailable for static member functions"
 msgstr "静态成员函数中不能使用 %<this%>"
 
-#: cp/semantics.c:1916
+#: cp/semantics.c:1923
 #, gcc-internal-format
 msgid "invalid use of %<this%> in non-member function"
 msgstr "在非成员函数中使用 %<this%> 无效"
 
-#: cp/semantics.c:1918
+#: cp/semantics.c:1925
 #, gcc-internal-format
 msgid "invalid use of %<this%> at top level"
 msgstr "在顶层使用 %<this%> 无效"
 
-#: cp/semantics.c:1942
+#: cp/semantics.c:1949
 #, gcc-internal-format
 msgid "invalid qualifying scope in pseudo-destructor name"
 msgstr "伪析构函数名的限定作用域无效"
 
-#: cp/semantics.c:1962
+#: cp/semantics.c:1969
 #, gcc-internal-format
 msgid "%qE is not of type %qT"
 msgstr "%qE 的类型不是 %qT"
 
-#: cp/semantics.c:2062
+#: cp/semantics.c:2071
 #, gcc-internal-format
 msgid "template type parameters must use the keyword %<class%> or %<typename%>"
 msgstr "模板形参必须使用 %<class%> 或 %<typename%> 关键字"
 
-#: cp/semantics.c:2106
+#: cp/semantics.c:2115
 #, gcc-internal-format
 msgid "invalid use of type %qT as a default value for a template template-parameter"
 msgstr "将类型 %qT 用作模板的模板参数的默认值无效"
 
-#: cp/semantics.c:2109
+#: cp/semantics.c:2118
 #, gcc-internal-format
 msgid "invalid use of %qD as a default value for a template template-parameter"
 msgstr "将 %qD 用作模板的模板参数的默认值无效"
 
-#: cp/semantics.c:2113
+#: cp/semantics.c:2122
 #, gcc-internal-format
 msgid "invalid default argument for a template template parameter"
 msgstr "模板的模板形参的默认实参无效"
 
-#: cp/semantics.c:2130
+#: cp/semantics.c:2139
 #, gcc-internal-format
 msgid "definition of %q#T inside template parameter list"
 msgstr "在模板参数列表中定义了 %q#T"
 
-#: cp/semantics.c:2141
+#: cp/semantics.c:2150
 #, gcc-internal-format
 msgid "invalid definition of qualified type %qT"
 msgstr "对限定类型 %qT 的定义无效"
 
-#: cp/semantics.c:2344
+#: cp/semantics.c:2353
 #, gcc-internal-format
 msgid "invalid base-class specification"
 msgstr "无效的基类"
 
-#: cp/semantics.c:2353
+#: cp/semantics.c:2362
 #, gcc-internal-format
 msgid "base class %qT has cv qualifiers"
 msgstr "基类 %qT 有 cv 限定"
 
-#: cp/semantics.c:2375
+#: cp/semantics.c:2384
 #, gcc-internal-format
 msgid "incomplete type %qT used in nested name specifier"
 msgstr "嵌套名指定中使用了不完全的类型 %qT"
 
-#: cp/semantics.c:2378
+#: cp/semantics.c:2387
 #, gcc-internal-format
 msgid "reference to %<%T::%D%> is ambiguous"
 msgstr "对 %<%T::%D%> 的引用有歧义"
 
-#: cp/semantics.c:2382 cp/typeck.c:1642
+#: cp/semantics.c:2391 cp/typeck.c:1642
 #, gcc-internal-format
 msgid "%qD is not a member of %qT"
 msgstr "%qD 不是 %qT 的成员"
 
-#: cp/semantics.c:2385
+#: cp/semantics.c:2394
 #, gcc-internal-format
 msgid "%qD is not a member of %qD"
 msgstr "%qD 不是 %qD 的成员"
 
-#: cp/semantics.c:2499
+#: cp/semantics.c:2508
 #, gcc-internal-format
 msgid "use of %<auto%> variable from containing function"
 msgstr "在包含函数中使用 %<auto%> 变量"
 
-#: cp/semantics.c:2500
+#: cp/semantics.c:2509
 #, gcc-internal-format
 msgid "use of parameter from containing function"
 msgstr "在包含函数中使用形参"
 
-#: cp/semantics.c:2501
+#: cp/semantics.c:2510
 #, gcc-internal-format
 msgid "  %q+#D declared here"
 msgstr "  %q+#D 已在此声明过"
 
-#: cp/semantics.c:2539
+#: cp/semantics.c:2548
 #, 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:2705
+#: cp/semantics.c:2714
 #, gcc-internal-format
 msgid "%qD cannot appear in a constant-expression"
 msgstr "%qD 不能出现在常量表达式中"
 
-#: cp/semantics.c:2713
+#: cp/semantics.c:2722
 #, gcc-internal-format
 msgid "use of namespace %qD as expression"
 msgstr "命名空间 %qD 被用作表达式"
 
-#: cp/semantics.c:2718
+#: cp/semantics.c:2727
 #, gcc-internal-format
 msgid "use of class template %qT as expression"
 msgstr "将类模板 %qT 用作表达式"
 
 #. Ambiguous reference to base members.
-#: cp/semantics.c:2724
+#: cp/semantics.c:2733
 #, gcc-internal-format
 msgid "request for member %qD is ambiguous in multiple inheritance lattice"
 msgstr "在多继承网格中对 %qD 的访问有歧义"
 
-#: cp/semantics.c:2836
+#: cp/semantics.c:2845
 #, gcc-internal-format
 msgid "type of %qE is unknown"
 msgstr "%qE 的类型未知"
 
-#: cp/tree.c:563
+#: cp/tree.c:560
 #, gcc-internal-format
 msgid "%qV qualifiers cannot be applied to %qT"
 msgstr "%qV 限定符不能应用到 %qT 上"
 
-#: cp/tree.c:1782
+#: cp/tree.c:1783
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to Java class definitions"
 msgstr "只能为 Java 类定义应用 %qE 属性"
 
-#: cp/tree.c:1811
+#: cp/tree.c:1812
 #, gcc-internal-format
 msgid "%qE attribute can only be applied to class definitions"
 msgstr "只能为类定义应用 %qE 属性"
 
-#: cp/tree.c:1817
+#: cp/tree.c:1818
 #, gcc-internal-format
 msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
 msgstr "%qE 已过时:g++ 的虚函数表现在默认与 COM 兼容"
 
-#: cp/tree.c:1841
+#: cp/tree.c:1842
 #, gcc-internal-format
 msgid "requested init_priority is not an integer constant"
 msgstr "请求的 init_priority 不是一个整数常数"
 
-#: cp/tree.c:1862
+#: cp/tree.c:1863
 #, gcc-internal-format
 msgid "can only use %qE attribute on file-scope definitions of objects of class type"
 msgstr "只能将 %qE 属性用于某个类的对象的文件作用域定义"
 
-#: cp/tree.c:1870
+#: cp/tree.c:1871
 #, gcc-internal-format
 msgid "requested init_priority is out of range"
 msgstr "请求的 init_priority 越界"
 
-#: cp/tree.c:1880
+#: cp/tree.c:1881
 #, gcc-internal-format
 msgid "requested init_priority is reserved for internal use"
 msgstr "请求的 init_priority 保留为内部使用"
 
-#: cp/tree.c:1891
+#: cp/tree.c:1892
 #, gcc-internal-format
 msgid "%qE attribute is not supported on this platform"
 msgstr "%qE 属性在此平台上不受支持"
@@ -27217,47 +27185,47 @@ msgstr "ISO C++ 不允许取转换到非左值表达式的地址"
 msgid "cannot create pointer to reference member %qD"
 msgstr "不能创建指向引用成员 %qD 的指针"
 
-#: cp/typeck.c:4393
+#: cp/typeck.c:4411
 #, gcc-internal-format
 msgid "cannot take the address of %<this%>, which is an rvalue expression"
 msgstr "无法取右值表达式 %<this%> 的地址"
 
-#: cp/typeck.c:4416
+#: cp/typeck.c:4434
 #, gcc-internal-format
 msgid "address of explicit register variable %qD requested"
 msgstr "要求显式寄存器变量 %qD 的地址。"
 
-#: cp/typeck.c:4421
+#: cp/typeck.c:4439
 #, gcc-internal-format
 msgid "address requested for %qD, which is declared %<register%>"
 msgstr "请求声明为 %<register%> 的 %qD 的地址"
 
-#: cp/typeck.c:4487
+#: cp/typeck.c:4505
 #, gcc-internal-format
 msgid "%s expression list treated as compound expression"
 msgstr "%s 表达式列表被看作复合表达式"
 
-#: cp/typeck.c:4881
+#: cp/typeck.c:4899
 #, gcc-internal-format
 msgid "invalid static_cast from type %qT to type %qT"
 msgstr "从类型 %qT 到类型 %qT 中的 static_cast 无效"
 
-#: cp/typeck.c:4903
+#: cp/typeck.c:4921
 #, gcc-internal-format
 msgid "converting from %qT to %qT"
 msgstr "从 %qT 转换到 %qT"
 
-#: cp/typeck.c:4948
+#: cp/typeck.c:4966
 #, gcc-internal-format
 msgid "invalid cast of an rvalue expression of type %qT to type %qT"
 msgstr "从具有类型 %qT 的右值表达式到类型 %qT 中的转换无效"
 
-#: cp/typeck.c:5007
+#: cp/typeck.c:5025
 #, gcc-internal-format
 msgid "cast from %qT to %qT loses precision"
 msgstr "从 %qT 到 %qT 的转换损失精度"
 
-#: cp/typeck.c:5032
+#: cp/typeck.c:5052
 #, gcc-internal-format
 msgid "cast from %qT to %qT increases required alignment of target type"
 msgstr "从 %qT 到 %qT 的转换增大了目标类型的对齐需求"
@@ -27266,155 +27234,155 @@ 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:5046
+#: cp/typeck.c:5071
 #, gcc-internal-format
 msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
 msgstr "ISO C++ 不允许在函数指针和对象指针间进行转换"
 
-#: cp/typeck.c:5057
+#: cp/typeck.c:5082
 #, gcc-internal-format
 msgid "invalid cast from type %qT to type %qT"
 msgstr "从类型 %qT 到类型 %qT 的转换无效"
 
-#: cp/typeck.c:5113
+#: cp/typeck.c:5138
 #, 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:5122
+#: cp/typeck.c:5147
 #, 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:5144
+#: cp/typeck.c:5169
 #, gcc-internal-format
 msgid "invalid const_cast of an rvalue of type %qT to type %qT"
 msgstr "从类型 %qT 到类型 %qT 中的 const_cast 无效"
 
-#: cp/typeck.c:5195
+#: cp/typeck.c:5220
 #, gcc-internal-format
 msgid "invalid const_cast from type %qT to type %qT"
 msgstr "从类型 %qT 到类型 %qT 中的 const_cast 无效"
 
-#: cp/typeck.c:5263 cp/typeck.c:5268
+#: cp/typeck.c:5288 cp/typeck.c:5293
 #, gcc-internal-format
 msgid "ISO C++ forbids casting to an array type %qT"
 msgstr "ISO C++ 不允许转换为数组类型 %qT"
 
-#: cp/typeck.c:5276
+#: cp/typeck.c:5301
 #, gcc-internal-format
 msgid "invalid cast to function type %qT"
 msgstr "向函数类型 %qT 的转换无效"
 
-#: cp/typeck.c:5492
+#: cp/typeck.c:5517
 #, gcc-internal-format
 msgid "  in evaluation of %<%Q(%#T, %#T)%>"
 msgstr "  在求 %<%Q(%#T, %#T)%> 值时"
 
-#: cp/typeck.c:5561
+#: cp/typeck.c:5586
 #, gcc-internal-format
 msgid "incompatible types in assignment of %qT to %qT"
 msgstr "将 %qT 赋值给 %qT 时类型不兼容"
 
-#: cp/typeck.c:5568
+#: cp/typeck.c:5593
 #, gcc-internal-format
 msgid "ISO C++ forbids assignment of arrays"
 msgstr "ISO C++ 不允许对数组赋值"
 
-#: cp/typeck.c:5688
+#: cp/typeck.c:5713
 #, gcc-internal-format
 msgid "   in pointer to member function conversion"
 msgstr "  在成员函数指针转换中"
 
-#: cp/typeck.c:5699 cp/typeck.c:5725
+#: cp/typeck.c:5724 cp/typeck.c:5750
 #, gcc-internal-format
 msgid "pointer to member cast via virtual base %qT"
 msgstr "成员指针转换经由虚基类 %qT"
 
-#: cp/typeck.c:5702
+#: cp/typeck.c:5727
 #, gcc-internal-format
 msgid "pointer to member conversion via virtual base %qT"
 msgstr "成员指针转换经由虚基类 %qT"
 
-#: cp/typeck.c:5711
+#: cp/typeck.c:5736
 #, gcc-internal-format
 msgid "   in pointer to member conversion"
 msgstr "  在成员指针转换中"
 
-#: cp/typeck.c:5801
+#: cp/typeck.c:5826
 #, gcc-internal-format
 msgid "invalid conversion to type %qT from type %qT"
 msgstr "到类型 %qT 的转换无效,从类型 %qT"
 
-#: cp/typeck.c:6045
+#: cp/typeck.c:6070
 #, gcc-internal-format
 msgid "cannot convert %qT to %qT for argument %qP to %qD"
 msgstr "不能从 %qT 转换到 %qT,为实参 %qP(属于 %qD)"
 
-#: cp/typeck.c:6048
+#: cp/typeck.c:6073
 #, gcc-internal-format
 msgid "cannot convert %qT to %qT in %s"
 msgstr "不能将 %qT 转换为 %qT,在 %s 中"
 
-#: cp/typeck.c:6059
+#: cp/typeck.c:6084
 #, gcc-internal-format
 msgid "%s might be a candidate for a format attribute"
 msgstr "%s 可能是 format 属性的一个备选"
 
-#: cp/typeck.c:6132 cp/typeck.c:6134
+#: cp/typeck.c:6157 cp/typeck.c:6159
 #, gcc-internal-format
 msgid "in passing argument %P of %q+D"
 msgstr "在传递实参 %P (属于 %q+D)"
 
-#: cp/typeck.c:6184
+#: cp/typeck.c:6209
 #, gcc-internal-format
 msgid "returning reference to temporary"
 msgstr "返回临时变量的引用"
 
-#: cp/typeck.c:6191
+#: cp/typeck.c:6216
 #, gcc-internal-format
 msgid "reference to non-lvalue returned"
 msgstr "返回了一个非左值的引用"
 
-#: cp/typeck.c:6203
+#: cp/typeck.c:6228
 #, gcc-internal-format
 msgid "reference to local variable %q+D returned"
 msgstr "返回了对局部变量的 %q+D 的引用"
 
-#: cp/typeck.c:6206
+#: cp/typeck.c:6231
 #, gcc-internal-format
 msgid "address of local variable %q+D returned"
 msgstr "返回了局部变量的 %q+D 的地址"
 
-#: cp/typeck.c:6240
+#: cp/typeck.c:6265
 #, 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:6248
+#: cp/typeck.c:6273
 #, 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:6251
+#: cp/typeck.c:6276
 #, gcc-internal-format
 msgid "returning a value from a constructor"
 msgstr "构造函数返回值"
 
-#: cp/typeck.c:6274
+#: cp/typeck.c:6299
 #, gcc-internal-format
 msgid "return-statement with no value, in function returning %qT"
 msgstr "在返回 %qT 的函数中,返回语句不带返回值"
 
-#: cp/typeck.c:6295
+#: cp/typeck.c:6320
 #, gcc-internal-format
 msgid "return-statement with a value, in function returning 'void'"
 msgstr "在返回‘void’的函数中,返回语句带返回值"
 
-#: cp/typeck.c:6326
+#: cp/typeck.c:6351
 #, 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 起作用)"
@@ -27495,92 +27463,92 @@ msgstr "不能用以语法初始化数组"
 msgid "int-array initialized from non-wide string"
 msgstr "int 型数组由非宽字符串初始化"
 
-#: cp/typeck2.c:718
+#: cp/typeck2.c:717
 #, gcc-internal-format
 msgid "cannot initialize aggregate of type %qT with a compound literal"
 msgstr "无法用复合字面常量初始化类型为 %qT 的聚集"
 
-#: cp/typeck2.c:792 cp/typeck2.c:890
+#: cp/typeck2.c:791 cp/typeck2.c:889
 #, gcc-internal-format
 msgid "non-trivial designated initializers not supported"
 msgstr "不平凡的代理初始值设定不受支持"
 
-#: cp/typeck2.c:912 cp/typeck2.c:926
+#: cp/typeck2.c:911 cp/typeck2.c:925
 #, gcc-internal-format
 msgid "missing initializer for member %qD"
 msgstr "成员 %qD 缺少初始值设定"
 
-#: cp/typeck2.c:917
+#: cp/typeck2.c:916
 #, gcc-internal-format
 msgid "uninitialized const member %qD"
 msgstr "未初始化的常量成员 %qD"
 
-#: cp/typeck2.c:919
+#: cp/typeck2.c:918
 #, gcc-internal-format
 msgid "member %qD with uninitialized const fields"
 msgstr "成员 %qD 有未初始化的常量字段"
 
-#: cp/typeck2.c:921
+#: cp/typeck2.c:920
 #, gcc-internal-format
 msgid "member %qD is uninitialized reference"
 msgstr "成员 %qD 是未初始化的引用"
 
-#: cp/typeck2.c:976
+#: cp/typeck2.c:975
 #, gcc-internal-format
 msgid "no field %qD found in union being initialized"
 msgstr "在初始化的联合中找不到字段 %qD"
 
-#: cp/typeck2.c:985
+#: cp/typeck2.c:984
 #, gcc-internal-format
 msgid "index value instead of field name in union initializer"
 msgstr "在联合初始值设定中出现了索引值而不是字段名"
 
-#: cp/typeck2.c:998
+#: cp/typeck2.c:997
 #, gcc-internal-format
 msgid "union %qT with no named members cannot be initialized"
 msgstr "不含有名成员的联合 %qT 不能被初始化"
 
-#: cp/typeck2.c:1145
+#: cp/typeck2.c:1144
 #, gcc-internal-format
 msgid "circular pointer delegation detected"
 msgstr "检测到循环指针代理"
 
-#: cp/typeck2.c:1158
+#: cp/typeck2.c:1157
 #, gcc-internal-format
 msgid "base operand of %<->%> has non-pointer type %qT"
 msgstr "%<->%> 的基操作数具有非指针类型 %qT"
 
-#: cp/typeck2.c:1182
+#: cp/typeck2.c:1181
 #, gcc-internal-format
 msgid "result of %<operator->()%> yields non-pointer result"
 msgstr "%<operator->()%> 的结果给出了非指针的结果"
 
-#: cp/typeck2.c:1184
+#: cp/typeck2.c:1183
 #, gcc-internal-format
 msgid "base operand of %<->%> is not a pointer"
 msgstr "%<->%> 的左操作数不是一个指针"
 
-#: cp/typeck2.c:1208
+#: cp/typeck2.c:1207
 #, gcc-internal-format
 msgid "%qE cannot be used as a member pointer, since it is of type %qT"
 msgstr "%qE 不能用作成员指针,因为它的类型为 %qT"
 
-#: cp/typeck2.c:1217
+#: cp/typeck2.c:1216
 #, gcc-internal-format
 msgid "cannot apply member pointer %qE to %qE, which is of non-aggregate type %qT"
 msgstr "无法将成员指针 %qE 应用到 %qE 上,因为后者的类型 %qT 不是一个聚集"
 
-#: cp/typeck2.c:1239
+#: cp/typeck2.c:1238
 #, gcc-internal-format
 msgid "pointer to member type %qT incompatible with object type %qT"
 msgstr "成员指针类型 %qT 与对象类型 %qT 不兼容"
 
-#: cp/typeck2.c:1462
+#: cp/typeck2.c:1461
 #, gcc-internal-format
 msgid "call to function %qD which throws incomplete type %q#T"
 msgstr "调用的函数 %qD 会抛出不完全的类型 %q#T"
 
-#: cp/typeck2.c:1465
+#: cp/typeck2.c:1464
 #, gcc-internal-format
 msgid "call to function which throws incomplete type %q#T"
 msgstr "调用的函数会抛出不完全的类型 %q#T"
@@ -27615,17 +27583,17 @@ msgstr "要求全局寄存器变量 %qs 的地址"
 msgid "address of register variable %qs requested"
 msgstr "要求寄存器变量 %qs 的地址"
 
-#: fortran/trans-array.c:3052
+#: fortran/trans-array.c:3055
 #, gcc-internal-format
 msgid "Possible frontend bug: array constructor not expanded"
 msgstr "前端可能的程序缺陷:数组构造函数未能展开"
 
-#: fortran/trans-array.c:4172
+#: fortran/trans-array.c:4175
 #, gcc-internal-format
 msgid "Possible frontend bug: Deferred array size without pointer or allocatable attribute."
 msgstr "可能的前端缺陷:提领数组大小时没有指针或可分配属性。"
 
-#: fortran/trans-array.c:4621
+#: fortran/trans-array.c:4626
 #, gcc-internal-format
 msgid "bad expression type during walk (%d)"
 msgstr ""
@@ -27633,40 +27601,40 @@ msgstr ""
 #: fortran/trans-const.c:334
 #, gcc-internal-format
 msgid "gfc_conv_constant_to_tree(): invalid type: %s"
-msgstr ""
+msgstr "gfc_conv_constant_to_tree():无效类型;%s"
 
-#: fortran/trans-decl.c:879
+#: fortran/trans-decl.c:897
 #, gcc-internal-format
 msgid "intrinsic variable which isn't a procedure"
 msgstr "内建函数变量不是一个过程"
 
-#: fortran/trans-decl.c:2250
+#: fortran/trans-decl.c:2273
 #, gcc-internal-format
 msgid "Function does not return a value"
 msgstr "函数没有返回一个值"
 
 #. I don't think this should ever happen.
-#: fortran/trans-decl.c:2355
+#: fortran/trans-decl.c:2378
 #, gcc-internal-format
 msgid "module symbol %s in wrong namespace"
 msgstr "模块符号 %s 在错误的命名空间中"
 
-#: fortran/trans-decl.c:2373
+#: fortran/trans-decl.c:2397
 #, gcc-internal-format
 msgid "backend decl for module variable %s already exists"
 msgstr "模块变量 %s 的后端声明已存在"
 
-#: fortran/trans-decl.c:2455
+#: fortran/trans-decl.c:2479
 #, gcc-internal-format
 msgid "unused parameter %qs"
 msgstr "未使用的参数 %qs"
 
-#: fortran/trans-decl.c:2460
+#: fortran/trans-decl.c:2484
 #, gcc-internal-format
 msgid "unused variable %qs"
 msgstr "未使用的变量 %qs"
 
-#: fortran/trans-decl.c:2647
+#: fortran/trans-decl.c:2689
 #, gcc-internal-format
 msgid "Function return value not set"
 msgstr "未设定函数返回值"
@@ -27681,7 +27649,7 @@ msgstr "未知的内建操作"
 msgid "Intrinsic function %s(%d) not recognized"
 msgstr "内部函数 %s(%d) 无法识别"
 
-#: fortran/trans-io.c:1584
+#: fortran/trans-io.c:1730
 #, gcc-internal-format
 msgid "Bad IO basetype (%d)"
 msgstr "错误的 IO 基类型(%d)"
@@ -27713,7 +27681,7 @@ msgstr "gfc_trans_code():错误的语句代码"
 
 #. I changed this from sorry(...) because it should not return.
 #. TODO: Remove gfc_todo_error before releasing version 1.0.
-#: fortran/trans.h:576
+#: fortran/trans.h:579
 #, gcc-internal-format
 msgid "gfc_todo: Not Implemented: "
 msgstr "gfc_todo:尚未实现:"
@@ -27763,37 +27731,37 @@ msgstr "字段‘%s’的 ConstantValue 属性类型错误"
 msgid "%Jabstract method in non-abstract class"
 msgstr "%J非抽象类中出现纯虚方法"
 
-#: java/class.c:2374
+#: java/class.c:2377
 #, gcc-internal-format
 msgid "non-static method %q+D overrides static method"
 msgstr "非静态方法 %q+D 覆盖了静态方法"
 
-#: java/decl.c:1313
+#: java/decl.c:1328
 #, gcc-internal-format
 msgid "%q+D used prior to declaration"
 msgstr "%q+D 在声明前使用"
 
-#: java/decl.c:1354
+#: java/decl.c:1369
 #, gcc-internal-format
 msgid "declaration of %qs shadows a parameter"
 msgstr "%qs 的声明隐藏了一个形参"
 
-#: java/decl.c:1357
+#: java/decl.c:1372
 #, gcc-internal-format
 msgid "declaration of %qs shadows a symbol from the parameter list"
 msgstr "对 %qs 的声明隐藏了形参列表中的一个符号"
 
-#: java/decl.c:1818
+#: java/decl.c:1833
 #, gcc-internal-format
 msgid "In %+D: overlapped variable and exception ranges at %d"
 msgstr "在 %+D 中:重叠的变量和异常范围,在 %d"
 
-#: java/decl.c:1881
+#: java/decl.c:1896
 #, gcc-internal-format
 msgid "bad type in parameter debug info"
 msgstr "参数调试信息中类型错误"
 
-#: java/decl.c:1890
+#: java/decl.c:1905
 #, gcc-internal-format
 msgid "bad PC range for debug info for local %q+D"
 msgstr "局部变量 %q+D 的调用信息中 PC 范围错误"
@@ -27823,78 +27791,78 @@ msgstr "引用 %qs 有歧义:出现在接口 %qs 和接口 %qs 中"
 msgid "field %qs not found"
 msgstr "找不到字段 %qs。"
 
-#: java/expr.c:2058
+#: java/expr.c:2069
 #, gcc-internal-format
 msgid "method '%s' not found in class"
 msgstr "在类中找不到方法‘%s’"
 
-#: java/expr.c:2263
+#: java/expr.c:2274
 #, gcc-internal-format
 msgid "failed to find class '%s'"
 msgstr "找不到类‘%s’"
 
-#: java/expr.c:2292
+#: java/expr.c:2312
 #, gcc-internal-format
 msgid "class '%s' has no method named '%s' matching signature '%s'"
 msgstr "类‘%s’没有名为‘%s’的方法能够匹配签字‘%s’"
 
-#: java/expr.c:2323
+#: java/expr.c:2343
 #, gcc-internal-format
 msgid "invokestatic on non static method"
 msgstr "静态调用非静态方法"
 
-#: java/expr.c:2328
+#: java/expr.c:2348
 #, gcc-internal-format
 msgid "invokestatic on abstract method"
 msgstr "为纯虚方法调用 invokestatic"
 
-#: java/expr.c:2336
+#: java/expr.c:2356
 #, gcc-internal-format
 msgid "invoke[non-static] on static method"
 msgstr "非静态地调用静态方法"
 
-#: java/expr.c:2653
+#: java/expr.c:2682
 #, gcc-internal-format
 msgid "missing field '%s' in '%s'"
 msgstr "缺少字段‘%s’,在‘%s’中"
 
-#: java/expr.c:2660
+#: java/expr.c:2689
 #, gcc-internal-format
 msgid "mismatching signature for field '%s' in '%s'"
 msgstr "不匹配的字段签名‘%s’(在 ‘%s’中)"
 
-#: java/expr.c:2683
+#: java/expr.c:2712
 #, gcc-internal-format
 msgid "assignment to final field %q+D not in field's class"
 msgstr "对 final 字段 %q+D 的赋值出现在该字段所属类以外"
 
-#: java/expr.c:2688
+#: java/expr.c:2717
 #, gcc-internal-format
 msgid "assignment to final static field %q+D not in class initializer"
 msgstr "对 final static 字段 %q+D 的赋值没有出现在类初始值设定项中"
 
-#: java/expr.c:2697
+#: java/expr.c:2726
 #, gcc-internal-format
 msgid "assignment to final field %q+D not in constructor"
 msgstr "对 final 字段 %q+D 的赋值出现在构造函数以外"
 
-#: java/expr.c:2887
+#: java/expr.c:2916
 #, gcc-internal-format
 msgid "invalid PC in line number table"
 msgstr "行号表中 PC 无效"
 
-#: java/expr.c:2935
+#: java/expr.c:2964
 #, gcc-internal-format
 msgid "unreachable bytecode from %d to before %d"
 msgstr "不会执行到的字节码,从 %d 到 %d 之前"
 
-#: java/expr.c:2977
+#: java/expr.c:3006
 #, gcc-internal-format
 msgid "unreachable bytecode from %d to the end of the method"
 msgstr "不会执行到的字节码,从 %d 直到方法末尾"
 
 #. duplicate code from LOAD macro
-#: java/expr.c:3277
+#: java/expr.c:3306
 #, gcc-internal-format
 msgid "unrecogized wide sub-instruction"
 msgstr "无法识别的宽子指令"
@@ -27924,7 +27892,7 @@ msgstr "无法进行词法分析的签名:‘%s’"
 msgid "Not a valid Java .class file."
 msgstr "不是一个有效的 Java .class 文件。"
 
-#: java/gjavah.c:2074 java/jcf-parse.c:750
+#: java/gjavah.c:2074 java/jcf-parse.c:756
 #, gcc-internal-format
 msgid "error while parsing constant pool"
 msgstr "词法分析常量池时出错"
@@ -27969,88 +27937,88 @@ msgstr "%s:没有这个文件"
 msgid "source file for class %qs is newer than its matching class file.  Source file %qs used instead"
 msgstr "类 %qs 的源文件比与之匹配的类文件新。改用源文件 %qs"
 
-#: java/jcf-parse.c:366
+#: java/jcf-parse.c:372
 #, gcc-internal-format
 msgid "bad string constant"
 msgstr "错误的字符串常量"
 
-#: java/jcf-parse.c:384
+#: java/jcf-parse.c:390
 #, gcc-internal-format
 msgid "bad value constant type %d, index %d"
 msgstr "常量值错误,类型 %d,索引 %d"
 
-#: java/jcf-parse.c:576
+#: java/jcf-parse.c:582
 #, gcc-internal-format
 msgid "can't reopen %s: %m"
 msgstr "无法重新打开 %s:%m"
 
-#: java/jcf-parse.c:583
+#: java/jcf-parse.c:589
 #, gcc-internal-format
 msgid "can't close %s: %m"
 msgstr "无法关闭 %s:%m"
 
-#: java/jcf-parse.c:718 java/jcf-parse.c:724
+#: java/jcf-parse.c:724 java/jcf-parse.c:730
 #, gcc-internal-format
 msgid "cannot find file for class %s"
 msgstr "无法为类 %s 找到文件"
 
-#: java/jcf-parse.c:747
+#: java/jcf-parse.c:753
 #, gcc-internal-format
 msgid "not a valid Java .class file"
 msgstr "不是一个有效的 Java .class 文件。"
 
 #. FIXME - where was first time
-#: java/jcf-parse.c:765
+#: java/jcf-parse.c:771
 #, gcc-internal-format
 msgid "reading class %s for the second time from %s"
 msgstr "第二次读取类 %s,从 %s"
 
-#: java/jcf-parse.c:783
+#: java/jcf-parse.c:789
 #, gcc-internal-format
 msgid "error while parsing fields"
 msgstr "词法分析字段时出错"
 
-#: java/jcf-parse.c:786
+#: java/jcf-parse.c:792
 #, gcc-internal-format
 msgid "error while parsing methods"
 msgstr "词法分析方法时出错"
 
-#: java/jcf-parse.c:789
+#: java/jcf-parse.c:795
 #, gcc-internal-format
 msgid "error while parsing final attributes"
 msgstr "词法分析 final 属性时出错"
 
-#: java/jcf-parse.c:806
+#: java/jcf-parse.c:812
 #, gcc-internal-format
 msgid "the %<java.lang.Object%> that was found in %qs didn't have the special zero-length %<gnu.gcj.gcj-compiled%> attribute.  This generally means that your classpath is incorrectly set.  Use %<info gcj \"Input Options\"%> to see the info page describing how to set the classpath"
 msgstr "在 %qs 中发现的 %<java.lang.Object%> 没有特殊的零长度的 %<gnu.gcj.gcj-compiled%> 属性,这一般意味着您的类路径设置有问题。用 %<info gcj \"Input Options\"%> 可查看如何设定类路径的 info 页"
 
-#: java/jcf-parse.c:840
+#: java/jcf-parse.c:846
 #, gcc-internal-format
 msgid "%Hduplicate class will only be compiled once"
 msgstr "%H重复的类只会被编译一次"
 
-#: java/jcf-parse.c:894
+#: java/jcf-parse.c:900
 #, gcc-internal-format
 msgid "missing Code attribute"
 msgstr "缺少 Code 属性"
 
-#: java/jcf-parse.c:1176
+#: java/jcf-parse.c:1182
 #, gcc-internal-format
 msgid "no input file specified"
 msgstr "没有指定输入文件"
 
-#: java/jcf-parse.c:1211
+#: java/jcf-parse.c:1217
 #, gcc-internal-format
 msgid "can't close input file %s: %m"
 msgstr "不能关闭输入文件 %s:%m"
 
-#: java/jcf-parse.c:1258
+#: java/jcf-parse.c:1264
 #, gcc-internal-format
 msgid "bad zip/jar file %s"
 msgstr "损坏的 zip/jar 文件 %s"
 
-#: java/jcf-parse.c:1479
+#: java/jcf-parse.c:1485
 #, gcc-internal-format
 msgid "error while reading %s from zip file"
 msgstr "从 zip 文件读取 %s 时出错"
@@ -28134,973 +28102,220 @@ msgstr "内部错误 - bad unget"
 msgid "internal error - invalid Utf8 name"
 msgstr "内部错误 - 无效的 utf8 名"
 
-#: java/parse.y:767
+#: java/typeck.c:531
 #, gcc-internal-format
-msgid "Ambiguous class: %qs and %qs"
-msgstr "有歧义的类:%qs 和 %qs"
+msgid "junk at end of signature string"
+msgstr "签名字符串末尾有垃圾字符"
 
-#: java/parse.y:833
+#: java/verify-glue.c:387
 #, gcc-internal-format
-msgid "Modifier %qs declared twice"
-msgstr "修饰符 %qs 声明了两次"
+msgid "verification failed: %s"
+msgstr "验证失败:%s"
 
-#: java/parse.y:1081
+#: java/verify-glue.c:389
 #, gcc-internal-format
-msgid "Discouraged form of returned type specification"
-msgstr "不鼓励使用这种形式来指定返回类型"
+msgid "verification failed at PC=%d: %s"
+msgstr "PC=%d 处校验错:%s"
 
-#: java/parse.y:1176
+#: java/verify-glue.c:473
 #, gcc-internal-format
-msgid "Can't define static initializer in class %qs. Static initializer can only be defined in top-level classes"
-msgstr "无法为类 %qs 定义静态初始值设定。静态初始值设定只能在顶层类中定义"
+msgid "bad pc in exception_table"
+msgstr "异常表中 PC 错误"
 
-#: java/parse.y:1472
+#: java/parse.h:129
 #, gcc-internal-format
-msgid "An empty declaration is a deprecated feature that should not be used"
-msgstr "空声明是一项已过时的特性,不应当继续使用"
+msgid "%s method can't be abstract"
+msgstr "%s 方法不能被纯虚的"
 
-#: java/parse.y:3035
+#: java/parse.h:133
 #, gcc-internal-format
-msgid ": %qs JDK1.1(TM) feature"
-msgstr ": %qs JDK1.1(TM) 特性"
+msgid "Constructor can't be %s"
+msgstr "构造函数不可以是 %s"
 
-#: java/parse.y:3115 java/parse.y:3117
+#. Standard error messages
+#: java/parse.h:356
 #, gcc-internal-format
-msgid ""
-"%s.\n"
-"%s"
-msgstr ""
-"%s。\n"
-"%s"
+msgid "Incompatible type for %qs. Can't convert %qs to boolean"
+msgstr "%qs 的类型不兼容。不能将 %qs 转换为布尔类型"
 
-#: java/parse.y:3277
+#: java/parse.h:361
 #, gcc-internal-format
-msgid "Missing return statement"
-msgstr "返回语句缺失"
+msgid "Incompatible type for %qs. Can't convert %qs to numeric type"
+msgstr "%qs 的类型不兼容。不能将 %qs 转换为数值类型"
 
-#: java/parse.y:3299 java/parse.y:11992 java/parse.y:11996
+#: java/parse.h:369
 #, gcc-internal-format
-msgid "Unreachable statement"
-msgstr "不可到达的语句"
+msgid "Incompatible type for %qs. Explicit cast needed to convert %qs to integral"
+msgstr "%qs 的类型不兼容。需要显式地将 %qs 转换为整数类型"
 
-#: java/parse.y:3309
+#: java/parse.h:374
 #, gcc-internal-format
-msgid "Can't access %s field %<%s.%s%> from %qs"
-msgstr "不能访问 %s 字段 %<%s.%s%>,从 %qs"
+msgid "Incompatible type for %qs. Can't convert %qs to integral"
+msgstr "%qs 的类型不兼容。不能将 %qs 转换为整数类型"
 
-#: java/parse.y:3378
+#: java/parse.h:381
 #, gcc-internal-format
-msgid "%s %qs already defined in %s:%d"
-msgstr "%s %qs 已在 %s:%d 中定义"
+msgid "Variable %qs may not have been initialized"
+msgstr "变量 %qs 可能未经初始化"
 
-#: java/parse.y:3396
+#: objc/objc-act.c:710
 #, gcc-internal-format
-msgid "Variable %qs is already defined in this method and was declared %<%s %s%> at line %d"
-msgstr "变量 %qs 已经在此方法中定义过,且被声明为 %<%s %s%>,于行 %d"
+msgid "%<@end%> must appear in an @implementation context"
+msgstr "%<@end%> 必须出现在 @implementation 上下文中"
 
-#: java/parse.y:3507
+#: objc/objc-act.c:739
 #, gcc-internal-format
-msgid "Interface %qs repeated"
-msgstr "æ\8e¥å\8f£ %qs é\87\8då¤\8däº\86"
+msgid "method declaration not in @interface context"
+msgstr "æ\96¹æ³\95声æ\98\8eä¸\8då\9c¨@interface ä¸\8aä¸\8bæ\96\87中"
 
-#: java/parse.y:3537
+#: objc/objc-act.c:750
 #, gcc-internal-format
-msgid "%s name %qs clashes with imported type %qs"
-msgstr "%s 名 %qs 与引入类型 %qs 冲突"
+msgid "method definition not in @implementation context"
+msgstr "方法定义不在 @implementation 上下文中"
 
-#: java/parse.y:3569
+#: objc/objc-act.c:1174
 #, gcc-internal-format
-msgid "Public %s %qs must be defined in a file called %<%s.java%>"
-msgstr "公共 %s %qs 必须定义在一个名为 %<%s.java%> 的文件中"
+msgid "comparison of distinct Objective-C types lacks a cast"
+msgstr "比较独一无二的 Objective-C 类型时缺少转换"
 
-#: java/parse.y:3584
+#: objc/objc-act.c:1178
 #, gcc-internal-format
-msgid "Inner class %qs can't be static. Static classes can only occur in interfaces and top-level classes"
-msgstr "内嵌类 %qs 不能是静态的。静态类只能出现在接口或顶层类中"
+msgid "initialization from distinct Objective-C type"
+msgstr "从独一无二的 Objective-C 类型初始化"
 
-#: java/parse.y:3665
+#: objc/objc-act.c:1182
 #, gcc-internal-format
-msgid "The class name %qs is already defined in this scope. An inner class may not have the same simple name as any of its enclosing classes"
-msgstr "类名 %qs 已经在此作用域中定义。一个内嵌类的简单名字不可以与任何包含它的类相同"
+msgid "assignment from distinct Objective-C type"
+msgstr "从独一无二的 Objective-C 类型赋值"
 
-#: java/parse.y:3713
+#: objc/objc-act.c:1186
 #, gcc-internal-format
-msgid "Qualifier must be a reference"
-msgstr "限定符必须是一个引用"
+msgid "distinct Objective-C type in return"
+msgstr "返回独一无二的 Objective-C 类型"
 
-#: java/parse.y:3734
+#: objc/objc-act.c:1190
 #, gcc-internal-format
-msgid "Cyclic inheritance involving %s"
-msgstr "循环继承,涉及 %s"
+msgid "passing argument %d of %qE from distinct Objective-C type"
+msgstr "从不同的 Objective-C 类型传递参数 %d (属于 %qE)"
 
-#: java/parse.y:4002
+#: objc/objc-act.c:1345
 #, gcc-internal-format
-msgid "Redundant use of %<abstract%> modifier. Interface %qs is implicitly abstract"
-msgstr "%<abstract%> 修饰符多余。接口 %qs 隐式就是抽象的"
+msgid "statically allocated instance of Objective-C class %qs"
+msgstr "静态分配的 Objective-C 类 %qs 的实例"
 
-#: java/parse.y:4157
+#: objc/objc-act.c:1416
 #, gcc-internal-format
-msgid "Class %qs can't be declared both abstract and final"
-msgstr "类 %qs 不能同时被声明为 abstract 和 final"
+msgid "protocol %qs has circular dependency"
+msgstr "协议 %qs 存在循环依赖"
 
-#: java/parse.y:4169
+#: objc/objc-act.c:1438 objc/objc-act.c:6571
 #, gcc-internal-format
-msgid "%<java.lang.Object%> can't extend anything"
-msgstr "%<java.lang.Object%> 不能作任何扩展"
+msgid "cannot find protocol declaration for %qs"
+msgstr "找不到 %qs 的协议声明"
 
-#: java/parse.y:4406
+#: objc/objc-act.c:1905 objc/objc-act.c:3339 objc/objc-act.c:7180
+#: objc/objc-act.c:7516 objc/objc-act.c:7570 objc/objc-act.c:7595
 #, gcc-internal-format
-msgid "Duplicate variable declaration: %<%s %s%> was %<%s %s%> (%s:%d)"
-msgstr "重复的变量声明: %<%s %s%> 早先声明为 %<%s %s%> (%s:%d)"
+msgid "cannot find interface declaration for %qs"
+msgstr "找不到 %qs 的接口声明"
 
-#: java/parse.y:4470
+#: objc/objc-act.c:1909
 #, gcc-internal-format
-msgid "Field %qs can't be static in inner class %qs unless it is final"
-msgstr "字段 %qs 在内嵌类 %qs 中不能为 static ,除非它也是 final"
+msgid "interface %qs does not have valid constant string layout"
+msgstr "接口 %qs 常量字符串布局无效"
 
-#: java/parse.y:4713
+#: objc/objc-act.c:1914
 #, gcc-internal-format
-msgid "Class %qs must be declared abstract to define abstract method %qs"
-msgstr "类 %qs 必须被声明为抽象的,才能定义纯虚方法 %qs"
+msgid "cannot find reference tag for class %qs"
+msgstr "找不到类 %qs 的引用标记"
 
-#: java/parse.y:4720
+#: objc/objc-act.c:2539
 #, gcc-internal-format
-msgid "native method %qs can't be strictfp"
-msgstr "本地方法 %qs 不能是 strictfp"
+msgid "%Hcreating selector for nonexistent method %qE"
+msgstr "%H为不存在的方法 %qE 创建选择子"
 
-#: java/parse.y:4724
+#: objc/objc-act.c:2741
 #, gcc-internal-format
-msgid "method %qs can't be transient"
-msgstr "方法 %qs 不能是 transient"
+msgid "%qs is not an Objective-C class name or alias"
+msgstr "%qs 不是一个 Objective-C 类名或别名"
 
-#: java/parse.y:4727
+#: objc/objc-act.c:2867 objc/objc-act.c:2898 objc/objc-act.c:7444
+#: objc/objc-act.c:7745 objc/objc-act.c:7775
 #, gcc-internal-format
-msgid "method %qs can't be volatile"
-msgstr "方法 %qs 不能是 volatile"
+msgid "Objective-C declarations may only appear in global scope"
+msgstr "Objective-C 声明只能出现在全局作用域中"
 
-#: java/parse.y:4777 java/parse.y:6508
+#: objc/objc-act.c:2872
 #, gcc-internal-format
-msgid "Method %qs can't be static in inner class %qs. Only members of interfaces and top-level classes can be static"
-msgstr "æ\96¹æ³\95 %qs å\9c¨å\86\85åµ\8cç±» %qs ä¸­ä¸\8dè\83½æ\98¯é\9d\99æ\80\81ç\9a\84ã\80\82å\8fªæ\9c\89æ\8e¥å\8f£å\92\8c顶å±\82ç±»ç\9a\84æ\88\90å\91\98æ\89\8dè\83½æ\98¯é\9d\99æ\80\81ç\9a\84"
+msgid "cannot find class %qs"
+msgstr "æ\89¾ä¸\8då\88°ç±» %qs"
 
-#: java/parse.y:4932
+#: objc/objc-act.c:2874
 #, gcc-internal-format
-msgid "%s method %qs can't have a body defined"
-msgstr "%s 方法 %qs 不能定义函数体"
+msgid "class %qs already exists"
+msgstr "类 %qs 已存在"
 
-#: java/parse.y:4943
+#: objc/objc-act.c:2918 objc/objc-act.c:7485
 #, gcc-internal-format
-msgid "Non native and non abstract method %qs must have a body defined"
-msgstr "方法 %qs 既非本地方法,又非纯虚方法,必须定义函数体"
+msgid "%qs redeclared as different kind of symbol"
+msgstr "%qs 被重新声明为不同意义的符号"
 
-#: java/parse.y:5013
+#: objc/objc-act.c:3192
 #, gcc-internal-format
-msgid "%s: recursive invocation of constructor %qs"
-msgstr "%s:对构造函数 %qs 的递归调用"
+msgid "strong-cast assignment has been intercepted"
+msgstr "强转换的赋值被打断"
 
-#: java/parse.y:5043
+#: objc/objc-act.c:3234
 #, gcc-internal-format
-msgid "Inconsistent member declaration.  At most one of %<public%>, %<private%>, or %<protected%> may be specified"
-msgstr "不一致的成员声明。%<public%>、%<private%> 或 %<protected%> 中至多只能指定一个"
+msgid "strong-cast may possibly be needed"
+msgstr "可能需要强类型转换"
 
-#: java/parse.y:5051
+#: objc/objc-act.c:3244
 #, gcc-internal-format
-msgid "Inconsistent member declaration.  At most one of %<final%> or %<volatile%> may be specified"
-msgstr "不一致的成员声明。%<final%> 或 %<volatile%> 至多只能指定一个"
+msgid "instance variable assignment has been intercepted"
+msgstr "实例变量的赋值被打断"
 
-#: java/parse.y:5141
+#: objc/objc-act.c:3263
 #, gcc-internal-format
-msgid "Variable %qs is used more than once in the argument list of method %qs"
-msgstr "变量 %qs 在方法 %qs 的实参列表中被使用多次"
+msgid "pointer arithmetic for garbage-collected objects not allowed"
+msgstr "不允许在被垃圾收集的对象上进行指针算术运算"
 
-#: java/parse.y:5225
+#: objc/objc-act.c:3269
 #, gcc-internal-format
-msgid "%s %qs can't implement/extend %s %qs"
-msgstr "%s %qs 不能实现/继承 %s %qs"
+msgid "global/static variable assignment has been intercepted"
+msgstr "全局/静态变量赋值已被打断"
 
-#: java/parse.y:5259
+#: objc/objc-act.c:3452
 #, gcc-internal-format
-msgid "Class %qs can't subclass %s %qs"
-msgstr "类 %qs 不能继承 %s %qs"
+msgid "use %<-fobjc-exceptions%> to enable Objective-C exception syntax"
+msgstr "使用 %<-fobjc-exceptions%> 来启用 Objective-C 异常语法"
 
-#: java/parse.y:5268
+#: objc/objc-act.c:3794
 #, gcc-internal-format
-msgid "Can't subclass final classes: %s"
-msgstr "不能继承 final 类:%s"
+msgid "@catch parameter is not a known Objective-C class type"
+msgstr "@catch 参数不是一个已知的 Objective-C 类类型"
 
-#: java/parse.y:5454
+#: objc/objc-act.c:3810
 #, gcc-internal-format
-msgid "Cyclic class inheritance%s"
-msgstr "循环继承%s"
+msgid "exception of type %<%T%> will be caught"
+msgstr "类型为 %<%T%> 的异常将被捕获"
 
-#: java/parse.y:6159
+#: objc/objc-act.c:3812
 #, gcc-internal-format
-msgid "Superclass %qs of class %qs not found"
-msgstr "找不到基类 %qs (派生 %qs)"
+msgid "%H   by earlier handler for %<%T%>"
+msgstr "%H   为早先的 %<%T%> 的处理者"
 
-#: java/parse.y:6165
+#: objc/objc-act.c:3865
 #, gcc-internal-format
-msgid "Type %qs not found in declaration of field %qs"
-msgstr "类型 %qs 在字段 %qs 的声明中找不到"
+msgid "%<@try%> without %<@catch%> or %<@finally%>"
+msgstr "%<@try%> 缺少对应的 %<@catch%> 或 %<@finally%>"
 
-#: java/parse.y:6171
+#: objc/objc-act.c:3913
 #, gcc-internal-format
-msgid "Type %qs not found in the declaration of the argument %qs of method %qs"
-msgstr "找不到类型 %qs,于实参 %qs(属于方法 %qs)的声明中"
+msgid "%<@throw%> (rethrow) used outside of a @catch block"
+msgstr "在 @catch 块外使用 %<@throw%> (rethrow)"
 
-#: java/parse.y:6178
-#, gcc-internal-format
-msgid "Type %qs not found in the declaration of the return type of method %qs"
-msgstr "找不到类型 %qs,于方法 %qs 的返回值声明中"
-
-#: java/parse.y:6184
-#, gcc-internal-format
-msgid "Superinterface %qs of %s %qs not found"
-msgstr "基接口 %qs (派生 %s %qs) 未找到"
-
-#: java/parse.y:6191
-#, gcc-internal-format
-msgid "Type %qs not found in the declaration of the local variable %qs"
-msgstr "找不到类型 %qs,于局部变量 %qs 的声明中"
-
-#: java/parse.y:6198
-#, gcc-internal-format
-msgid "Class %qs not found in %<throws%>"
-msgstr "%<throws%> 中找不到类 %qs"
-
-#: java/parse.y:6255
-#, gcc-internal-format
-msgid "Duplicate %s declaration %qs"
-msgstr "重复的 %s 声明 %qs"
-
-#: java/parse.y:6329
-#, gcc-internal-format
-msgid "Class %qs doesn't define the abstract method %<%s %s%> from %s %<%s%>. This method must be defined or %s %qs must be declared abstract"
-msgstr "类 %qs 没有定义纯虚方法 %<%s %s%>(来自 %s %<%s%>)。此方法必须被定义,或者 %s %qs 必须被声明为抽象的"
-
-#: java/parse.y:6485
-#, gcc-internal-format
-msgid "Class %qs in %<throws%> clause must be a subclass of class %<java.lang.Throwable%>"
-msgstr "%<throws%> 子句中的类 %qs 必须是 %<java.lang.Throwable%> 的派生类"
-
-#: java/parse.y:6529
-#, gcc-internal-format
-msgid "Class %qs must override %qs with a public method in order to implement interface %qs"
-msgstr "类 %qs 必须以一个公共方法重载 %qs 以实现接口 %qs"
-
-#: java/parse.y:6543 java/parse.y:6766
-#, gcc-internal-format
-msgid "Method %qs was defined with return type %qs in class %qs"
-msgstr "方法 %qs 被定义为具有返回类型 %qs,在类 %qs 中"
-
-#: java/parse.y:6560
-#, gcc-internal-format
-msgid "%s methods can't be overridden. Method %qs is %s in class %qs"
-msgstr "方法 %s 不能被重载。方法 %qs 是 %s,在类 %qs 中"
-
-#: java/parse.y:6574
-#, gcc-internal-format
-msgid "Instance methods can't be overridden by a static method. Method %qs is an instance method in class %qs"
-msgstr "实例方法不能为静态方法所重载。方法 %qs 是类 %qs 中的一个实例方法"
-
-#: java/parse.y:6597
-#, gcc-internal-format
-msgid "Methods can't be overridden to be more private. Method %qs is not %s in class %qs"
-msgstr "重载方法不能进一步限制其可访问性。方法 %qs 不是 %s (在类 %qs 中)"
-
-#: java/parse.y:6734
-#, gcc-internal-format
-msgid "Invalid checked exception class %qs in %<throws%> clause.  The exception must be a subclass of an exception thrown by %qs from class %qs"
-msgstr "%<throw%> 子句中受查异常类 %qs 无效。异常必须是由 %qs 从类 %qs 中抛出的异常的子类"
-
-#: java/parse.y:6791
-#, gcc-internal-format
-msgid "Interface %qs inherits method %qs from interface %qs. This method is redefined with a different return type in interface %qs"
-msgstr "接口 %qs 继承了方法 %qs(自接口 %qs)。这一方法在接口 %qs 中重定义了不同的返回类型"
-
-#: java/parse.y:6966
-#, gcc-internal-format
-msgid "Class or interface %qs not found in import"
-msgstr "import 时找不到类或接口 %qs"
-
-#: java/parse.y:7055
-#, gcc-internal-format
-msgid "malformed .zip archive in CLASSPATH: %s"
-msgstr "CLASSPATH 中的 .zip 归档格式错误:%s"
-
-#: java/parse.y:7126
-#, gcc-internal-format
-msgid "Can't find default package %qs. Check the CLASSPATH environment variable and the access to the archives"
-msgstr "找不到默认包 %qs。检查 CLASSPATH 环境变量和对归档的访问权限"
-
-#: java/parse.y:7131
-#, gcc-internal-format
-msgid "Package %qs not found in import"
-msgstr "import 时找不到包 %qs"
-
-#: java/parse.y:7232
-#, gcc-internal-format
-msgid "Type %qs also potentially defined in package %qs"
-msgstr "类型 %qs 可能也在包 %qs 中被定义"
-
-#: java/parse.y:7372
-#, gcc-internal-format
-msgid "Nested %s %s is %s; cannot be accessed from here"
-msgstr "嵌套的 %s %s 是 %s;不能从这里访问"
-
-#: java/parse.y:7410
-#, gcc-internal-format
-msgid "Can't access %s %qs. Only public classes and interfaces in other packages can be accessed"
-msgstr "不能访问 %s %qs。只能访问其他包中的公共类和接口"
-
-#: java/parse.y:7448
-#, gcc-internal-format
-msgid "Only %<final%> is allowed as a local variables modifier"
-msgstr "只有 %<final%> 能修饰局部变量"
-
-#: java/parse.y:9077
-#, gcc-internal-format
-msgid "No constructor matching %qs found in class %qs"
-msgstr "没有与 %qs 匹配的构造函数,在类 %qs 中"
-
-#: java/parse.y:9581
-#, gcc-internal-format
-msgid "Can't reference %qs before the superclass constructor has been called"
-msgstr "在基类构造函数被调用之前不能引用 %qs"
-
-#: java/parse.y:9635
-#, gcc-internal-format
-msgid "Local variable %qs can't be accessed from within the inner class %qs unless it is declared final"
-msgstr "局部变量 %qs 不能从内嵌类 %qs 中访问,除非它被声明为 final"
-
-#: java/parse.y:9640 java/parse.y:10098
-#, gcc-internal-format
-msgid "Undefined variable %qs"
-msgstr "未定义的变量 %qs"
-
-#: java/parse.y:9651
-#, gcc-internal-format
-msgid "Can't make a static reference to nonstatic variable %qs in class %qs"
-msgstr "不能生成对非静态变量 %qs(在类 %qs 中)的静态引用"
-
-#: java/parse.y:9852 java/parse.y:10706
-#, gcc-internal-format
-msgid "No enclosing instance for inner class %qs is in scope%s"
-msgstr "没有包含内部类 %qs 的实例,在 %s 作用域中"
-
-#: java/parse.y:9971 java/parse.y:12415
-#, gcc-internal-format
-msgid "Keyword %<this%> used outside allowed context"
-msgstr "关键字 %<this%> 用在允许的上下文以外"
-
-#: java/parse.y:9977 java/parse.y:10862
-#, gcc-internal-format
-msgid "Can't reference %<this%> before the superclass constructor has been called"
-msgstr "在基类构造函数被调用之前不能引用 %<this%>"
-
-#: java/parse.y:9993
-#, gcc-internal-format
-msgid "Can't use variable %<%s.this%>: type %qs isn't an outer type of type %qs"
-msgstr "不能使用变量 %<%s.this%>:类型 %qs 不是类型 %qs 的外部类型"
-
-#: java/parse.y:10026
-#, gcc-internal-format
-msgid "Keyword %<super%> used outside allowed context"
-msgstr "关键字 %<super%> 用在允许的上下文以外"
-
-#: java/parse.y:10075
-#, gcc-internal-format
-msgid "No variable %qs defined in class %qs"
-msgstr "变量 %qs 未在类 %qs 中定义"
-
-#: java/parse.y:10080
-#, gcc-internal-format
-msgid "Undefined variable or class name: %qs"
-msgstr "未定义的变量或类名:%qs"
-
-#: java/parse.y:10162
-#, gcc-internal-format
-msgid "Can't use type %qs as a qualifier"
-msgstr "不能将类型 %qs 用作限定符"
-
-#: java/parse.y:10181
-#, gcc-internal-format
-msgid "Attempt to reference field %qs in %<%s %s%>"
-msgstr "试图引用字段 %qs,在 %<%s %s%> 中"
-
-#: java/parse.y:10212
-#, gcc-internal-format
-msgid "No variable %qs defined in type %qs"
-msgstr "变量 %qs 未在类型 %qs 中定义"
-
-#: java/parse.y:10304
-#, gcc-internal-format
-msgid "Attempt to reference field %<new%> in a %qs"
-msgstr "试图引用字段 %<new%>,在一个 %qs 中"
-
-#: java/parse.y:10441
-#, gcc-internal-format
-msgid "The class %qs has been deprecated"
-msgstr "类 %qs 已过时"
-
-#: java/parse.y:10451
-#, gcc-internal-format
-msgid "The %s %qs in class %qs has been deprecated"
-msgstr "%s %qs 在类 %qs 中已过时"
-
-#: java/parse.y:10542
-#, gcc-internal-format
-msgid "Can't invoke a method on primitive type %qs"
-msgstr "不能为原始类型 %qs 调用方法"
-
-#: java/parse.y:10557
-#, gcc-internal-format
-msgid "Can't make static reference to method %qs in interface %qs"
-msgstr "不能生成对方法 %qs(在接口 %qs 中)的静态引用"
-
-#: java/parse.y:10571 java/parse.y:10909
-#, gcc-internal-format
-msgid "Can't make static reference to method %<%s %s%> in class %qs"
-msgstr "不能生成对方法 %<%s %s%> 的静态引用,在类 %qs 中"
-
-#: java/parse.y:10613
-#, gcc-internal-format
-msgid "Can't invoke super constructor on java.lang.Object"
-msgstr "不能调用 java.lang.Object 的基类构造函数"
-
-#: java/parse.y:10626 java/parse.y:14478
-#, gcc-internal-format
-msgid "Class %qs not found in type declaration"
-msgstr "类型声明中找不到类 %qs"
-
-#: java/parse.y:10638
-#, gcc-internal-format
-msgid "Class %qs is an abstract class. It can't be instantiated"
-msgstr "类 %qs 是抽象类。它不能被实例化"
-
-#: java/parse.y:10668
-#, gcc-internal-format
-msgid "No method named %qs in scope"
-msgstr "作用域中没有名为 %qs 的方法"
-
-#: java/parse.y:10781
-#, gcc-internal-format
-msgid "Can't access %s %s %<%s.%s%> from %qs"
-msgstr "无法访问 %s %s %<%s.%s%>, 从 %qs"
-
-#: java/parse.y:11258
-#, gcc-internal-format
-msgid "Can't find %s %<%s(%s)%> in type %qs%s"
-msgstr "找不到 %s %<%s(%s)%>,在类型 %qs%s 中"
-
-#: java/parse.y:11838
-#, gcc-internal-format
-msgid "Constant expression required"
-msgstr "需要常量表达式"
-
-#: java/parse.y:11851
-#, gcc-internal-format
-msgid "Incompatible type for case. Can't convert %qs to %<int%>"
-msgstr "与 case 类型不兼容。无法从 %qs 转换到 %<int%>"
-
-#: java/parse.y:11885
-#, gcc-internal-format
-msgid "Duplicate case label: %<default%>"
-msgstr "重复的 case 标号:%<default%>"
-
-#: java/parse.y:12225
-#, gcc-internal-format
-msgid "Incompatible type for %<+=%>. Can't convert %qs to %<java.lang.String%>"
-msgstr "与 %<+=%> 类型不兼容。无法从 %qs 转换到 %<java.lang.String%>"
-
-#: java/parse.y:12397
-#, gcc-internal-format
-msgid "missing static field %qs"
-msgstr "缺少静态字段 %qs"
-
-#: java/parse.y:12402
-#, gcc-internal-format
-msgid "not a static field %qs"
-msgstr "%qs 不是一个静态字段"
-
-#: java/parse.y:12423
-#, gcc-internal-format
-msgid "Can't reference %<this%> or %<super%> before the superclass constructor has been called"
-msgstr "在基类构造函数被调用之前不能引用 %<this%> 或 %<super%>"
-
-#: java/parse.y:12443
-#, gcc-internal-format
-msgid "No case for %s"
-msgstr "无法处理的表达式 %s"
-
-#: java/parse.y:12873
-#, gcc-internal-format
-msgid "Invalid left hand side of assignment"
-msgstr "赋值的左操作数无效"
-
-#: java/parse.y:12924
-#, gcc-internal-format
-msgid "Incompatible type for %s. Can't convert %qs to %qs"
-msgstr "%s 类型不兼容。无法从 %qs 转换到 %qs"
-
-#: java/parse.y:12927
-#, gcc-internal-format
-msgid "Incompatible type for %s. Explicit cast needed to convert %qs to %qs"
-msgstr "与 %s 的类型不兼容。需要显式地将 %qs 转换为 %qs"
-
-#: java/parse.y:13099
-#, gcc-internal-format
-msgid "Constant expression %qs too wide for narrowing primitive conversion to %qs"
-msgstr "常量表达式 %qs 对于向 %qs 的原语转换来说太宽"
-
-#: java/parse.y:13390
-#, gcc-internal-format
-msgid "unregistered operator %s"
-msgstr "未注册的运算符 %s"
-
-#: java/parse.y:13539
-#, gcc-internal-format
-msgid "Evaluating this expression will result in an arithmetic exception being thrown"
-msgstr "计算此表达式将会导致抛出算术异常"
-
-#: java/parse.y:13621
-#, gcc-internal-format
-msgid "Incompatible type for %qs. Explicit cast needed to convert shift distance from %qs to integral"
-msgstr "%qs 的类型不兼容。需要显式地将移位距离从 %qs 转换为整数类型"
-
-#: java/parse.y:13626
-#, gcc-internal-format
-msgid "Incompatible type for %qs. Can't convert shift distance from %qs to integral"
-msgstr "%qs 的类型不兼容。不能将移位距离从 %qs 转换为整数"
-
-#: java/parse.y:13700
-#, gcc-internal-format
-msgid "Invalid argument %qs for %<instanceof%>"
-msgstr "实参 %qs 无效,对 %<instanceof%> 来说"
-
-#: java/parse.y:13727
-#, gcc-internal-format
-msgid "Impossible for %qs to be instance of %qs"
-msgstr "%qs 不可能是 %qs 的实例"
-
-#: java/parse.y:13858
-#, gcc-internal-format
-msgid "Incompatible type for %qs. Can't convert %qs to %qs"
-msgstr "与 %qs 类型不兼容。无法从 %qs 转换到 %qs"
-
-#: java/parse.y:14333
-#, gcc-internal-format
-msgid "Invalid argument type %qs to %qs"
-msgstr "%qs 作为 %qs 的实参类型无效"
-
-#: java/parse.y:14569
-#, gcc-internal-format
-msgid "Invalid cast from %qs to %qs"
-msgstr "从 %qs 到 %qs 的类型转换无效"
-
-#: java/parse.y:14616
-#, gcc-internal-format
-msgid "%<[]%> can only be applied to arrays. It can't be applied to %qs"
-msgstr "%<[]%> 只能用于数组。它不能用于 %qs"
-
-#: java/parse.y:14629
-#, gcc-internal-format
-msgid "Incompatible type for %<[]%>. Explicit cast needed to convert %qs to %<int%>"
-msgstr "与 %<[]%> 的类型不兼容。需要显式地将 %qs 转换为 %<int%>"
-
-#: java/parse.y:14633
-#, gcc-internal-format
-msgid "Incompatible type for %<[]%>. Can't convert %qs to %<int%>"
-msgstr "与 %<[]%> 类型不兼容。无法从 %qs 转换到 %<int%>"
-
-#: java/parse.y:14704
-#, gcc-internal-format
-msgid "Incompatible type for dimension in array creation expression. %s convert %qs to %<int%>"
-msgstr "创建数组表达式中维数类型不兼容。%s 将 %qs 转换为 %<int%>"
-
-#: java/parse.y:14822
-#, gcc-internal-format
-msgid "Invalid array initializer for non-array type %qs"
-msgstr "对非数组类型 %qs 使用数组初始值设定无效"
-
-#: java/parse.y:14909
-#, gcc-internal-format
-msgid "Incompatible type for array. %s convert %qs to %qs"
-msgstr "与数组类型不兼容。%s 将 %qs 转换到 %qs"
-
-#: java/parse.y:14978
-#, gcc-internal-format
-msgid "%<return%> inside instance initializer"
-msgstr "实例初始块中出现 %<return%>"
-
-#: java/parse.y:14982
-#, gcc-internal-format
-msgid "%<return%> inside static initializer"
-msgstr "静态初始值设定中出现 %<return%>"
-
-#: java/parse.y:14988
-#, gcc-internal-format
-msgid "%<return%> with%s value from %<%s %s%>"
-msgstr "%<return%> with%s value from %<%s %s%>"
-
-#: java/parse.y:14995
-#, gcc-internal-format
-msgid "%<return%> with value from constructor %qs"
-msgstr "构造函数 %qs 中 %<return%> 带返回值"
-
-#: java/parse.y:15060
-#, gcc-internal-format
-msgid "Incompatible type for %<if%>. Can't convert %qs to %<boolean%>"
-msgstr "与 %<if%> 不兼容的类型。不能将 %qs 转换为 %<boolean%>"
-
-#: java/parse.y:15093
-#, gcc-internal-format
-msgid "Declaration of %qs shadows a previous label declaration"
-msgstr "%qs 的声明隐藏了先前的一个标号声明"
-
-#: java/parse.y:15098
-#, gcc-internal-format
-msgid "This is the location of the previous declaration of label %qs"
-msgstr "这是标号 %qs 先前声明的地方"
-
-#: java/parse.y:15345
-#, gcc-internal-format
-msgid "No label definition found for %qs"
-msgstr "没有找到 %qs 的标号定义"
-
-#: java/parse.y:15358
-#, gcc-internal-format
-msgid "%<continue%> must be in loop"
-msgstr "%<continue%> 必须用在循环中"
-
-#: java/parse.y:15361
-#, gcc-internal-format
-msgid "continue label %qs does not name a loop"
-msgstr "continue 标号 %qs 没有指定一个循环"
-
-#: java/parse.y:15382
-#, gcc-internal-format
-msgid "%<break%> must be in loop or switch"
-msgstr "%<break%> 必须出现在循环或 switch 语句中"
-
-#: java/parse.y:15423
-#, gcc-internal-format
-msgid "Incompatible type for loop conditional. Can't convert %qs to %<boolean%>"
-msgstr "与循环条件类型不兼容。不能将 %qs 转换到 %<boolean%>"
-
-#: java/parse.y:15461
-#, gcc-internal-format
-msgid "Incompatible type for %<switch%>. Can't convert %qs to %<int%>"
-msgstr "与 %<switch%> 不兼容的类型。不能将 %qs 转换为 %<int%>"
-
-#. The case_label_list is in reverse order, so print the
-#. outer label first.
-#: java/parse.y:15492
-#, gcc-internal-format
-msgid "duplicate case label: %<"
-msgstr "重复的 case 常量:%<"
-
-#: java/parse.y:15493
-#, gcc-internal-format
-msgid "%>"
-msgstr "%>"
-
-#: java/parse.y:15496
-#, gcc-internal-format
-msgid "original label is here"
-msgstr "原标号在此"
-
-#: java/parse.y:15713
-#, gcc-internal-format
-msgid "Can't catch class %qs. Catch clause parameter type must be a subclass of class %<java.lang.Throwable%>"
-msgstr "无法捕获类 %qs。Catch 子句的形参类型必须是 %<java.lang.Throwable%> 的派生类"
-
-#: java/parse.y:15737
-#, gcc-internal-format
-msgid "%<catch%> not reached because of the catch clause at line %d"
-msgstr "执行不到 %<catch%>,因为位于第 %d 行的 catch 子句"
-
-#: java/parse.y:15804
-#, gcc-internal-format
-msgid "Incompatible type for %<synchronized%>. Can't convert %qs to %<java.lang.Object%>"
-msgstr "%<synchronized%> 的类型不兼容。无法从 %qs 转换到 %<java.lang.Object%>"
-
-#: java/parse.y:15855
-#, gcc-internal-format
-msgid "Can't throw %qs; it must be a subclass of class %<java.lang.Throwable%>"
-msgstr "不能抛出 %qs;它必须是 %<java.lang.Throwable%> 的派生类"
-
-#: java/parse.y:15884
-#, gcc-internal-format
-msgid "Checked exception %qs can't be thrown in instance initializer (not all declared constructor are declaring it in their %<throws%> clause)"
-msgstr "实例初始块中不能抛出受查异常 %qs (至少有一个已声明的构造函数未在其 %<throws%> 子句中声明该异常)"
-
-#: java/parse.y:15905
-#, gcc-internal-format
-msgid "Checked exception %qs can't be caught by any of the catch clause(s) of the surrounding %<try%> block"
-msgstr "受查异常 %qs 不能为跟随此 %<try%> 块的任何 catch 子句所捕获"
-
-#: java/parse.y:15918
-#, gcc-internal-format
-msgid "Checked exception %qs can't be thrown in initializer"
-msgstr "不能在初始块中抛出受查异常 %qs"
-
-#: java/parse.y:15922
-#, gcc-internal-format
-msgid "Checked exception %qs isn't thrown from a %<try%> block"
-msgstr "受查异常 %qs 不是从 %<try%> 块中抛出的"
-
-#: java/parse.y:15928
-#, gcc-internal-format
-msgid "Checked exception %qs doesn't match any of current method's %<throws%> declaration(s)"
-msgstr "受查异常 %qs 与当前方法的 %<throw%> 声明不匹配"
-
-#: java/parse.y:16018
-#, gcc-internal-format
-msgid "Exception %qs can't be thrown in initializer"
-msgstr "不能在初始值设定项中抛出异常 %qs"
-
-#: java/parse.y:16024
-#, gcc-internal-format
-msgid "Exception %qs must be caught, or it must be declared in the %<throws%> clause of %qs"
-msgstr "异常 %qs 必须被捕获,否则它必须在 %qs 的 %<throws%> 子句中声明"
-
-#: java/parse.y:16117
-#, gcc-internal-format
-msgid "Incompatible type for %<?:%>. Can't convert %qs to %<boolean%>"
-msgstr "%<?:%> 的类型不兼容。无法从 %qs 转换到 %<boolean%>"
-
-#: java/parse.y:16185
-#, gcc-internal-format
-msgid "Incompatible type for %<?:%>. Can't convert %qs to %qs"
-msgstr "%<?:%> 的类型不兼容。无法从 %qs 转换到 %qs"
-
-#: java/typeck.c:531
-#, gcc-internal-format
-msgid "junk at end of signature string"
-msgstr "签名字符串末尾有垃圾字符"
-
-#: java/verify-glue.c:387
-#, gcc-internal-format
-msgid "verification failed: %s"
-msgstr "验证失败:%s"
-
-#: java/verify-glue.c:389
-#, gcc-internal-format
-msgid "verification failed at PC=%d: %s"
-msgstr "PC=%d 处校验错:%s"
-
-#: java/verify-glue.c:473
-#, gcc-internal-format
-msgid "bad pc in exception_table"
-msgstr "异常表中 PC 错误"
-
-#: java/parse.h:129
-#, gcc-internal-format
-msgid "%s method can't be abstract"
-msgstr "%s 方法不能被纯虚的"
-
-#: java/parse.h:133
-#, gcc-internal-format
-msgid "Constructor can't be %s"
-msgstr "构造函数不可以是 %s"
-
-#. Pedantic warning on obsolete modifiers. Note: when cl is NULL,
-#. flags was set artificially, such as for an interface method.
-#: java/parse.h:165
-#, gcc-internal-format
-msgid "Discouraged redundant use of %qs modifier in declaration of %s"
-msgstr "不鼓励使用多余的 %qs 修饰符,在 %s 的声明中"
-
-#: java/parse.h:172
-#, gcc-internal-format
-msgid "Discouraged redundant use of %qs modifier in declaration of %s %qs"
-msgstr "不鼓励使用多余的 %qs 修饰符,在 %s %qs 的声明中"
-
-#. Standard error messages
-#: java/parse.h:356
-#, gcc-internal-format
-msgid "Incompatible type for %qs. Can't convert %qs to boolean"
-msgstr "%qs 的类型不兼容。不能将 %qs 转换为布尔类型"
-
-#: java/parse.h:361
-#, gcc-internal-format
-msgid "Incompatible type for %qs. Can't convert %qs to numeric type"
-msgstr "%qs 的类型不兼容。不能将 %qs 转换为数值类型"
-
-#: java/parse.h:369
-#, gcc-internal-format
-msgid "Incompatible type for %qs. Explicit cast needed to convert %qs to integral"
-msgstr "%qs 的类型不兼容。需要显式地将 %qs 转换为整数类型"
-
-#: java/parse.h:374
-#, gcc-internal-format
-msgid "Incompatible type for %qs. Can't convert %qs to integral"
-msgstr "%qs 的类型不兼容。不能将 %qs 转换为整数类型"
-
-#: java/parse.h:381
-#, gcc-internal-format
-msgid "Variable %qs may not have been initialized"
-msgstr "变量 %qs 可能未经初始化"
-
-#: objc/objc-act.c:710
-#, gcc-internal-format
-msgid "%<@end%> must appear in an @implementation context"
-msgstr "%<@end%> 必须出现在 @implementation 上下文中"
-
-#: objc/objc-act.c:739
-#, gcc-internal-format
-msgid "method declaration not in @interface context"
-msgstr "方法声明不在@interface 上下文中"
-
-#: objc/objc-act.c:750
-#, gcc-internal-format
-msgid "method definition not in @implementation context"
-msgstr "方法定义不在 @implementation 上下文中"
-
-#: objc/objc-act.c:1174
-#, gcc-internal-format
-msgid "comparison of distinct Objective-C types lacks a cast"
-msgstr "比较独一无二的 Objective-C 类型时缺少转换"
-
-#: objc/objc-act.c:1178
-#, gcc-internal-format
-msgid "initialization from distinct Objective-C type"
-msgstr "从独一无二的 Objective-C 类型初始化"
-
-#: objc/objc-act.c:1182
-#, gcc-internal-format
-msgid "assignment from distinct Objective-C type"
-msgstr "从独一无二的 Objective-C 类型赋值"
-
-#: objc/objc-act.c:1186
-#, gcc-internal-format
-msgid "distinct Objective-C type in return"
-msgstr "返回独一无二的 Objective-C 类型"
-
-#: objc/objc-act.c:1190
-#, gcc-internal-format
-msgid "passing argument %d of %qE from distinct Objective-C type"
-msgstr "从不同的 Objective-C 类型传递参数 %d (属于 %qE)"
-
-#: objc/objc-act.c:1345
-#, gcc-internal-format
-msgid "statically allocated instance of Objective-C class %qs"
-msgstr "静态分配的 Objective-C 类 %qs 的实例"
-
-#: objc/objc-act.c:1416
-#, gcc-internal-format
-msgid "protocol %qs has circular dependency"
-msgstr "协议 %qs 存在循环依赖"
-
-#: objc/objc-act.c:1438 objc/objc-act.c:6571
-#, gcc-internal-format
-msgid "cannot find protocol declaration for %qs"
-msgstr "找不到 %qs 的协议声明"
-
-#: objc/objc-act.c:1905 objc/objc-act.c:3339 objc/objc-act.c:7180
-#: objc/objc-act.c:7516 objc/objc-act.c:7570 objc/objc-act.c:7595
-#, gcc-internal-format
-msgid "cannot find interface declaration for %qs"
-msgstr "找不到 %qs 的接口声明"
-
-#: objc/objc-act.c:1909
-#, gcc-internal-format
-msgid "interface %qs does not have valid constant string layout"
-msgstr "接口 %qs 常量字符串布局无效"
-
-#: objc/objc-act.c:1914
-#, gcc-internal-format
-msgid "cannot find reference tag for class %qs"
-msgstr "找不到类 %qs 的引用标记"
-
-#: objc/objc-act.c:2539
-#, gcc-internal-format
-msgid "%Hcreating selector for nonexistent method %qE"
-msgstr "%H为不存在的方法 %qE 创建选择子"
-
-#: objc/objc-act.c:2741
-#, gcc-internal-format
-msgid "%qs is not an Objective-C class name or alias"
-msgstr "%qs 不是一个 Objective-C 类名或别名"
-
-#: objc/objc-act.c:2867 objc/objc-act.c:2898 objc/objc-act.c:7444
-#: objc/objc-act.c:7745 objc/objc-act.c:7775
-#, gcc-internal-format
-msgid "Objective-C declarations may only appear in global scope"
-msgstr "Objective-C 声明只能出现在全局作用域中"
-
-#: objc/objc-act.c:2872
-#, gcc-internal-format
-msgid "cannot find class %qs"
-msgstr "找不到类 %qs"
-
-#: objc/objc-act.c:2874
-#, gcc-internal-format
-msgid "class %qs already exists"
-msgstr "类 %qs 已存在"
-
-#: objc/objc-act.c:2918 objc/objc-act.c:7485
-#, gcc-internal-format
-msgid "%qs redeclared as different kind of symbol"
-msgstr "%qs 被重新声明为不同意义的符号"
-
-#: objc/objc-act.c:3192
-#, gcc-internal-format
-msgid "strong-cast assignment has been intercepted"
-msgstr "强转换的赋值被打断"
-
-#: objc/objc-act.c:3234
-#, gcc-internal-format
-msgid "strong-cast may possibly be needed"
-msgstr "可能需要强类型转换"
-
-#: objc/objc-act.c:3244
-#, gcc-internal-format
-msgid "instance variable assignment has been intercepted"
-msgstr "实例变量的赋值被打断"
-
-#: objc/objc-act.c:3263
-#, gcc-internal-format
-msgid "pointer arithmetic for garbage-collected objects not allowed"
-msgstr "不允许在被垃圾收集的对象上进行指针算术运算"
-
-#: objc/objc-act.c:3269
-#, gcc-internal-format
-msgid "global/static variable assignment has been intercepted"
-msgstr "全局/静态变量赋值已被打断"
-
-#: objc/objc-act.c:3452
-#, gcc-internal-format
-msgid "use %<-fobjc-exceptions%> to enable Objective-C exception syntax"
-msgstr "使用 %<-fobjc-exceptions%> 来启用 Objective-C 异常语法"
-
-#: objc/objc-act.c:3794
-#, gcc-internal-format
-msgid "@catch parameter is not a known Objective-C class type"
-msgstr "@catch 参数不是一个已知的 Objective-C 类类型"
-
-#: objc/objc-act.c:3810
-#, gcc-internal-format
-msgid "exception of type %<%T%> will be caught"
-msgstr "类型为 %<%T%> 的异常将被捕获"
-
-#: objc/objc-act.c:3812
-#, gcc-internal-format
-msgid "%H   by earlier handler for %<%T%>"
-msgstr "%H   为早先的 %<%T%> 的处理者"
-
-#: objc/objc-act.c:3865
-#, gcc-internal-format
-msgid "%<@try%> without %<@catch%> or %<@finally%>"
-msgstr "%<@try%> 缺少对应的 %<@catch%> 或 %<@finally%>"
-
-#: objc/objc-act.c:3913
-#, gcc-internal-format
-msgid "%<@throw%> (rethrow) used outside of a @catch block"
-msgstr "在 @catch 块外使用 %<@throw%> (rethrow)"
-
-#: objc/objc-act.c:4311
+#: objc/objc-act.c:4311
 #, gcc-internal-format
 msgid "type %q+D does not have a known size"
 msgstr "类型 %q+D 大小未知"
@@ -29371,3 +28586,649 @@ msgstr "要求寄存器变量 %qD 的地址。"
 #, gcc-internal-format
 msgid "%qD attribute ignored"
 msgstr "忽略 %qD 属性"
+
+#~ msgid "syntax error: cannot back up"
+#~ msgstr "语法错误:不能备份"
+
+#~ msgid "memory exhausted"
+#~ msgstr "内存耗尽"
+
+#~ msgid "syntax error, unexpected %s"
+#~ msgstr "语法错误,非预期的 %s"
+
+#~ msgid "syntax error, unexpected %s, expecting %s"
+#~ msgstr "语法错误,非预期的 %s,需要 %s"
+
+#~ msgid "syntax error, unexpected %s, expecting %s or %s"
+#~ msgstr "语法错误,非预期的 %s,需要 %s 或 %s"
+
+#~ msgid "syntax error, unexpected %s, expecting %s or %s or %s"
+#~ msgstr "语法错误,非预期的 %s,需要 %s,%s 或 %s"
+
+#~ msgid "syntax error, unexpected %s, expecting %s or %s or %s or %s"
+#~ msgstr "语法错误,非预期的 %s,需要 %s,%s,%s 或 %s"
+
+#~ msgid "syntax error"
+#~ msgstr "语法错误"
+
+#~ msgid "Variable '%s' at %L cannot appear in an initialization expression"
+#~ msgstr "变量‘%s’不能出现在 %L 处的初始化表达式中"
+
+#~ msgid "Internal file at %L is incompatible with namelist"
+#~ msgstr "%L 处的内部文件与名字列表不兼容"
+
+#~ msgid "REC tag at %L is incompatible with END tag"
+#~ msgstr "%L REC 标记与 END 标记不兼容"
+
+#~ msgid "REC tag at %L is incompatible with namelist"
+#~ msgstr "%L REC 标记与名字列表不兼容"
+
+#~ msgid "Internal file '%s' at %L is INTENT(IN)"
+#~ msgstr "内部文件‘%s’在 %L 处是 INTENT(IN)"
+
+#~ msgid "STOP code out of range at %C"
+#~ msgstr "%C 处 STOP 代码越界"
+
+#~ msgid "Ignoring statement label of zero at %C"
+#~ msgstr "忽略 %C 处的错误语句标号零"
+
+#~ msgid "Illegal character in binary constant at %C"
+#~ msgstr "%C 处二进制常量中有非法字符"
+
+#~ msgid "Illegal character in hexadecimal constant at %C"
+#~ msgstr "%C 处 16 进制常量中有非法字符"
+
+#~ msgid "Missing term"
+#~ msgstr "缺少项"
+
+#~ msgid "';' expected"
+#~ msgstr "此处需要‘;’"
+
+#~ msgid "parse error"
+#~ msgstr "语法错误"
+
+#~ msgid "syntax error; also virtual memory exhausted"
+#~ msgstr "语法错误;也可能是虚拟内存耗尽"
+
+#~ msgid "parse error; also virtual memory exhausted"
+#~ msgstr "语法错误;虚拟内存耗尽"
+
+#~ msgid "parse error: cannot back up"
+#~ msgstr "语法错误:不能备份"
+
+#~ msgid "Missing name"
+#~ msgstr "缺少名"
+
+#~ msgid "'*' expected"
+#~ msgstr "此处需要‘*’"
+
+#~ msgid "Class or interface declaration expected"
+#~ msgstr "需要类或接口声明"
+
+#~ msgid "Missing class name"
+#~ msgstr "缺少类名"
+
+#~ msgid "'{' expected"
+#~ msgstr "此处需要‘{’"
+
+#~ msgid "Missing super class name"
+#~ msgstr "缺少基类名"
+
+#~ msgid "Missing interface name"
+#~ msgstr "缺少接口名"
+
+#~ msgid "Missing variable initializer"
+#~ msgstr "缺少变量初始值设定"
+
+#~ msgid "Invalid declaration"
+#~ msgstr "无效声明"
+
+#~ msgid "']' expected"
+#~ msgstr "此处需要‘]’"
+
+#~ msgid "Unbalanced ']'"
+#~ msgstr "‘]’不配对"
+
+#~ msgid "Invalid method declaration, method name required"
+#~ msgstr "无效的方法声明,缺少方法名"
+
+#~ msgid "Identifier expected"
+#~ msgstr "此处需要标识符"
+
+#~ msgid "Invalid method declaration, return type required"
+#~ msgstr "无效的方法声明,缺少返回类型"
+
+#~ msgid "')' expected"
+#~ msgstr "此处需要‘)’"
+
+#~ msgid "Missing formal parameter term"
+#~ msgstr "缺少实参项"
+
+#~ msgid "Missing identifier"
+#~ msgstr "缺少标识符"
+
+#~ msgid "Missing class type term"
+#~ msgstr "缺少类名项"
+
+#~ msgid "Invalid interface type"
+#~ msgstr "无效的指口类型"
+
+#~ msgid "':' expected"
+#~ msgstr "此处需要‘:’"
+
+#~ msgid "Invalid expression statement"
+#~ msgstr "无效的表达式语句"
+
+#~ msgid "'(' expected"
+#~ msgstr "此处需要‘(’"
+
+#~ msgid "Missing term or ')'"
+#~ msgstr "缺项或‘)’"
+
+#~ msgid "Missing or invalid constant expression"
+#~ msgstr "缺少或无效的常量表达式"
+
+#~ msgid "Missing term and ')' expected"
+#~ msgstr "缺少项或‘)’"
+
+#~ msgid "Invalid control expression"
+#~ msgstr "无效的控制表达式"
+
+#~ msgid "Invalid update expression"
+#~ msgstr "无效的更新表达式"
+
+#~ msgid "Invalid init statement"
+#~ msgstr "无效的初始化语句"
+
+#~ msgid "Missing term or ')' expected"
+#~ msgstr "缺少项或‘)’"
+
+#~ msgid "'class' or 'this' expected"
+#~ msgstr "此处需要‘class’或‘this’"
+
+#~ msgid "'class' expected"
+#~ msgstr "此处需要‘class’"
+
+#~ msgid "')' or term expected"
+#~ msgstr "需要项或‘)’"
+
+#~ msgid "'[' expected"
+#~ msgstr "此处需要‘[’"
+
+#~ msgid "Field expected"
+#~ msgstr "需要字段 "
+
+#~ msgid "Missing term and ']' expected"
+#~ msgstr "缺少项或‘]’"
+
+#~ msgid "']' expected, invalid type expression"
+#~ msgstr "需要‘]’,无效的类型表达式"
+
+#~ msgid "Invalid type expression"
+#~ msgstr "表达式类型无效"
+
+#~ msgid "Invalid reference type"
+#~ msgstr "无效的引用类型"
+
+#~ msgid "Constructor invocation must be first thing in a constructor"
+#~ msgstr "构造函数调用必须是构造函数所做的第一件事"
+
+#~ msgid "Only constructors can invoke constructors"
+#~ msgstr "只有构造函数才能调用构造函数"
+
+#~ msgid "Generate multiply instructions"
+#~ msgstr "生成乘法指令"
+
+#~ msgid "duplicate %<friend%>"
+#~ msgstr "重复的 %<friend%>"
+
+#~ msgid "Ambiguous class: %qs and %qs"
+#~ msgstr "有歧义的类:%qs 和 %qs"
+
+#~ msgid "Modifier %qs declared twice"
+#~ msgstr "修饰符 %qs 声明了两次"
+
+#~ msgid "Discouraged form of returned type specification"
+#~ msgstr "不鼓励使用这种形式来指定返回类型"
+
+#~ msgid "Can't define static initializer in class %qs. Static initializer can only be defined in top-level classes"
+#~ msgstr "无法为类 %qs 定义静态初始值设定。静态初始值设定只能在顶层类中定义"
+
+#~ msgid "An empty declaration is a deprecated feature that should not be used"
+#~ msgstr "空声明是一项已过时的特性,不应当继续使用"
+
+#~ msgid ": %qs JDK1.1(TM) feature"
+#~ msgstr ": %qs JDK1.1(TM) 特性"
+
+#~ msgid ""
+#~ "%s.\n"
+#~ "%s"
+#~ msgstr ""
+#~ "%s。\n"
+#~ "%s"
+
+#~ msgid "Missing return statement"
+#~ msgstr "返回语句缺失"
+
+#~ msgid "Unreachable statement"
+#~ msgstr "不可到达的语句"
+
+#~ msgid "Can't access %s field %<%s.%s%> from %qs"
+#~ msgstr "不能访问 %s 字段 %<%s.%s%>,从 %qs"
+
+#~ msgid "%s %qs already defined in %s:%d"
+#~ msgstr "%s %qs 已在 %s:%d 中定义"
+
+#~ msgid "Variable %qs is already defined in this method and was declared %<%s %s%> at line %d"
+#~ msgstr "变量 %qs 已经在此方法中定义过,且被声明为 %<%s %s%>,于行 %d"
+
+#~ msgid "Interface %qs repeated"
+#~ msgstr "接口 %qs 重复了"
+
+#~ msgid "%s name %qs clashes with imported type %qs"
+#~ msgstr "%s 名 %qs 与引入类型 %qs 冲突"
+
+#~ msgid "Public %s %qs must be defined in a file called %<%s.java%>"
+#~ msgstr "公共 %s %qs 必须定义在一个名为 %<%s.java%> 的文件中"
+
+#~ msgid "Inner class %qs can't be static. Static classes can only occur in interfaces and top-level classes"
+#~ msgstr "内嵌类 %qs 不能是静态的。静态类只能出现在接口或顶层类中"
+
+#~ msgid "The class name %qs is already defined in this scope. An inner class may not have the same simple name as any of its enclosing classes"
+#~ msgstr "类名 %qs 已经在此作用域中定义。一个内嵌类的简单名字不可以与任何包含它的类相同"
+
+#~ msgid "Qualifier must be a reference"
+#~ msgstr "限定符必须是一个引用"
+
+#~ msgid "Cyclic inheritance involving %s"
+#~ msgstr "循环继承,涉及 %s"
+
+#~ msgid "Redundant use of %<abstract%> modifier. Interface %qs is implicitly abstract"
+#~ msgstr "%<abstract%> 修饰符多余。接口 %qs 隐式就是抽象的"
+
+#~ msgid "Class %qs can't be declared both abstract and final"
+#~ msgstr "类 %qs 不能同时被声明为 abstract 和 final"
+
+#~ msgid "%<java.lang.Object%> can't extend anything"
+#~ msgstr "%<java.lang.Object%> 不能作任何扩展"
+
+#~ msgid "Duplicate variable declaration: %<%s %s%> was %<%s %s%> (%s:%d)"
+#~ msgstr "重复的变量声明: %<%s %s%> 早先声明为 %<%s %s%> (%s:%d)"
+
+#~ msgid "Field %qs can't be static in inner class %qs unless it is final"
+#~ msgstr "字段 %qs 在内嵌类 %qs 中不能为 static ,除非它也是 final"
+
+#~ msgid "Class %qs must be declared abstract to define abstract method %qs"
+#~ msgstr "类 %qs 必须被声明为抽象的,才能定义纯虚方法 %qs"
+
+#~ msgid "native method %qs can't be strictfp"
+#~ msgstr "本地方法 %qs 不能是 strictfp"
+
+#~ msgid "method %qs can't be transient"
+#~ msgstr "方法 %qs 不能是 transient"
+
+#~ msgid "method %qs can't be volatile"
+#~ msgstr "方法 %qs 不能是 volatile"
+
+#~ msgid "Method %qs can't be static in inner class %qs. Only members of interfaces and top-level classes can be static"
+#~ msgstr "方法 %qs 在内嵌类 %qs 中不能是静态的。只有接口和顶层类的成员才能是静态的"
+
+#~ msgid "%s method %qs can't have a body defined"
+#~ msgstr "%s 方法 %qs 不能定义函数体"
+
+#~ msgid "Non native and non abstract method %qs must have a body defined"
+#~ msgstr "方法 %qs 既非本地方法,又非纯虚方法,必须定义函数体"
+
+#~ msgid "%s: recursive invocation of constructor %qs"
+#~ msgstr "%s:对构造函数 %qs 的递归调用"
+
+#~ msgid "Inconsistent member declaration.  At most one of %<public%>, %<private%>, or %<protected%> may be specified"
+#~ msgstr "不一致的成员声明。%<public%>、%<private%> 或 %<protected%> 中至多只能指定一个"
+
+#~ msgid "Inconsistent member declaration.  At most one of %<final%> or %<volatile%> may be specified"
+#~ msgstr "不一致的成员声明。%<final%> 或 %<volatile%> 至多只能指定一个"
+
+#~ msgid "Variable %qs is used more than once in the argument list of method %qs"
+#~ msgstr "变量 %qs 在方法 %qs 的实参列表中被使用多次"
+
+#~ msgid "%s %qs can't implement/extend %s %qs"
+#~ msgstr "%s %qs 不能实现/继承 %s %qs"
+
+#~ msgid "Class %qs can't subclass %s %qs"
+#~ msgstr "类 %qs 不能继承 %s %qs"
+
+#~ msgid "Can't subclass final classes: %s"
+#~ msgstr "不能继承 final 类:%s"
+
+#~ msgid "Cyclic class inheritance%s"
+#~ msgstr "循环继承%s"
+
+#~ msgid "Superclass %qs of class %qs not found"
+#~ msgstr "找不到基类 %qs (派生 %qs)"
+
+#~ msgid "Type %qs not found in declaration of field %qs"
+#~ msgstr "类型 %qs 在字段 %qs 的声明中找不到"
+
+#~ msgid "Type %qs not found in the declaration of the argument %qs of method %qs"
+#~ msgstr "找不到类型 %qs,于实参 %qs(属于方法 %qs)的声明中"
+
+#~ msgid "Type %qs not found in the declaration of the return type of method %qs"
+#~ msgstr "找不到类型 %qs,于方法 %qs 的返回值声明中"
+
+#~ msgid "Superinterface %qs of %s %qs not found"
+#~ msgstr "基接口 %qs (派生 %s %qs) 未找到"
+
+#~ msgid "Type %qs not found in the declaration of the local variable %qs"
+#~ msgstr "找不到类型 %qs,于局部变量 %qs 的声明中"
+
+#~ msgid "Class %qs not found in %<throws%>"
+#~ msgstr "%<throws%> 中找不到类 %qs"
+
+#~ msgid "Duplicate %s declaration %qs"
+#~ msgstr "重复的 %s 声明 %qs"
+
+#~ msgid "Class %qs doesn't define the abstract method %<%s %s%> from %s %<%s%>. This method must be defined or %s %qs must be declared abstract"
+#~ msgstr "类 %qs 没有定义纯虚方法 %<%s %s%>(来自 %s %<%s%>)。此方法必须被定义,或者 %s %qs 必须被声明为抽象的"
+
+#~ msgid "Class %qs in %<throws%> clause must be a subclass of class %<java.lang.Throwable%>"
+#~ msgstr "%<throws%> 子句中的类 %qs 必须是 %<java.lang.Throwable%> 的派生类"
+
+#~ msgid "Class %qs must override %qs with a public method in order to implement interface %qs"
+#~ msgstr "类 %qs 必须以一个公共方法重载 %qs 以实现接口 %qs"
+
+#~ msgid "Method %qs was defined with return type %qs in class %qs"
+#~ msgstr "方法 %qs 被定义为具有返回类型 %qs,在类 %qs 中"
+
+#~ msgid "%s methods can't be overridden. Method %qs is %s in class %qs"
+#~ msgstr "方法 %s 不能被重载。方法 %qs 是 %s,在类 %qs 中"
+
+#~ msgid "Instance methods can't be overridden by a static method. Method %qs is an instance method in class %qs"
+#~ msgstr "实例方法不能为静态方法所重载。方法 %qs 是类 %qs 中的一个实例方法"
+
+#~ msgid "Methods can't be overridden to be more private. Method %qs is not %s in class %qs"
+#~ msgstr "重载方法不能进一步限制其可访问性。方法 %qs 不是 %s (在类 %qs 中)"
+
+#~ msgid "Invalid checked exception class %qs in %<throws%> clause.  The exception must be a subclass of an exception thrown by %qs from class %qs"
+#~ msgstr "%<throw%> 子句中受查异常类 %qs 无效。异常必须是由 %qs 从类 %qs 中抛出的异常的子类"
+
+#~ msgid "Interface %qs inherits method %qs from interface %qs. This method is redefined with a different return type in interface %qs"
+#~ msgstr "接口 %qs 继承了方法 %qs(自接口 %qs)。这一方法在接口 %qs 中重定义了不同的返回类型"
+
+#~ msgid "Class or interface %qs not found in import"
+#~ msgstr "import 时找不到类或接口 %qs"
+
+#~ msgid "malformed .zip archive in CLASSPATH: %s"
+#~ msgstr "CLASSPATH 中的 .zip 归档格式错误:%s"
+
+#~ msgid "Can't find default package %qs. Check the CLASSPATH environment variable and the access to the archives"
+#~ msgstr "找不到默认包 %qs。检查 CLASSPATH 环境变量和对归档的访问权限"
+
+#~ msgid "Package %qs not found in import"
+#~ msgstr "import 时找不到包 %qs"
+
+#~ msgid "Type %qs also potentially defined in package %qs"
+#~ msgstr "类型 %qs 可能也在包 %qs 中被定义"
+
+#~ msgid "Nested %s %s is %s; cannot be accessed from here"
+#~ msgstr "嵌套的 %s %s 是 %s;不能从这里访问"
+
+#~ msgid "Can't access %s %qs. Only public classes and interfaces in other packages can be accessed"
+#~ msgstr "不能访问 %s %qs。只能访问其他包中的公共类和接口"
+
+#~ msgid "Only %<final%> is allowed as a local variables modifier"
+#~ msgstr "只有 %<final%> 能修饰局部变量"
+
+#~ msgid "No constructor matching %qs found in class %qs"
+#~ msgstr "没有与 %qs 匹配的构造函数,在类 %qs 中"
+
+#~ msgid "Can't reference %qs before the superclass constructor has been called"
+#~ msgstr "在基类构造函数被调用之前不能引用 %qs"
+
+#~ msgid "Local variable %qs can't be accessed from within the inner class %qs unless it is declared final"
+#~ msgstr "局部变量 %qs 不能从内嵌类 %qs 中访问,除非它被声明为 final"
+
+#~ msgid "Undefined variable %qs"
+#~ msgstr "未定义的变量 %qs"
+
+#~ msgid "Can't make a static reference to nonstatic variable %qs in class %qs"
+#~ msgstr "不能生成对非静态变量 %qs(在类 %qs 中)的静态引用"
+
+#~ msgid "No enclosing instance for inner class %qs is in scope%s"
+#~ msgstr "没有包含内部类 %qs 的实例,在 %s 作用域中"
+
+#~ msgid "Keyword %<this%> used outside allowed context"
+#~ msgstr "关键字 %<this%> 用在允许的上下文以外"
+
+#~ msgid "Can't reference %<this%> before the superclass constructor has been called"
+#~ msgstr "在基类构造函数被调用之前不能引用 %<this%>"
+
+#~ msgid "Can't use variable %<%s.this%>: type %qs isn't an outer type of type %qs"
+#~ msgstr "不能使用变量 %<%s.this%>:类型 %qs 不是类型 %qs 的外部类型"
+
+#~ msgid "Keyword %<super%> used outside allowed context"
+#~ msgstr "关键字 %<super%> 用在允许的上下文以外"
+
+#~ msgid "No variable %qs defined in class %qs"
+#~ msgstr "变量 %qs 未在类 %qs 中定义"
+
+#~ msgid "Undefined variable or class name: %qs"
+#~ msgstr "未定义的变量或类名:%qs"
+
+#~ msgid "Can't use type %qs as a qualifier"
+#~ msgstr "不能将类型 %qs 用作限定符"
+
+#~ msgid "Attempt to reference field %qs in %<%s %s%>"
+#~ msgstr "试图引用字段 %qs,在 %<%s %s%> 中"
+
+#~ msgid "No variable %qs defined in type %qs"
+#~ msgstr "变量 %qs 未在类型 %qs 中定义"
+
+#~ msgid "Attempt to reference field %<new%> in a %qs"
+#~ msgstr "试图引用字段 %<new%>,在一个 %qs 中"
+
+#~ msgid "The class %qs has been deprecated"
+#~ msgstr "类 %qs 已过时"
+
+#~ msgid "The %s %qs in class %qs has been deprecated"
+#~ msgstr "%s %qs 在类 %qs 中已过时"
+
+#~ msgid "Can't invoke a method on primitive type %qs"
+#~ msgstr "不能为原始类型 %qs 调用方法"
+
+#~ msgid "Can't make static reference to method %qs in interface %qs"
+#~ msgstr "不能生成对方法 %qs(在接口 %qs 中)的静态引用"
+
+#~ msgid "Can't make static reference to method %<%s %s%> in class %qs"
+#~ msgstr "不能生成对方法 %<%s %s%> 的静态引用,在类 %qs 中"
+
+#~ msgid "Can't invoke super constructor on java.lang.Object"
+#~ msgstr "不能调用 java.lang.Object 的基类构造函数"
+
+#~ msgid "Class %qs not found in type declaration"
+#~ msgstr "类型声明中找不到类 %qs"
+
+#~ msgid "Class %qs is an abstract class. It can't be instantiated"
+#~ msgstr "类 %qs 是抽象类。它不能被实例化"
+
+#~ msgid "No method named %qs in scope"
+#~ msgstr "作用域中没有名为 %qs 的方法"
+
+#~ msgid "Can't access %s %s %<%s.%s%> from %qs"
+#~ msgstr "无法访问 %s %s %<%s.%s%>, 从 %qs"
+
+#~ msgid "Can't find %s %<%s(%s)%> in type %qs%s"
+#~ msgstr "找不到 %s %<%s(%s)%>,在类型 %qs%s 中"
+
+#~ msgid "Constant expression required"
+#~ msgstr "需要常量表达式"
+
+#~ msgid "Incompatible type for case. Can't convert %qs to %<int%>"
+#~ msgstr "与 case 类型不兼容。无法从 %qs 转换到 %<int%>"
+
+#~ msgid "Duplicate case label: %<default%>"
+#~ msgstr "重复的 case 标号:%<default%>"
+
+#~ msgid "Incompatible type for %<+=%>. Can't convert %qs to %<java.lang.String%>"
+#~ msgstr "与 %<+=%> 类型不兼容。无法从 %qs 转换到 %<java.lang.String%>"
+
+#~ msgid "missing static field %qs"
+#~ msgstr "缺少静态字段 %qs"
+
+#~ msgid "not a static field %qs"
+#~ msgstr "%qs 不是一个静态字段"
+
+#~ msgid "Can't reference %<this%> or %<super%> before the superclass constructor has been called"
+#~ msgstr "在基类构造函数被调用之前不能引用 %<this%> 或 %<super%>"
+
+#~ msgid "No case for %s"
+#~ msgstr "无法处理的表达式 %s"
+
+#~ msgid "Invalid left hand side of assignment"
+#~ msgstr "赋值的左操作数无效"
+
+#~ msgid "Incompatible type for %s. Can't convert %qs to %qs"
+#~ msgstr "%s 类型不兼容。无法从 %qs 转换到 %qs"
+
+#~ msgid "Incompatible type for %s. Explicit cast needed to convert %qs to %qs"
+#~ msgstr "与 %s 的类型不兼容。需要显式地将 %qs 转换为 %qs"
+
+#~ msgid "Constant expression %qs too wide for narrowing primitive conversion to %qs"
+#~ msgstr "常量表达式 %qs 对于向 %qs 的原语转换来说太宽"
+
+#~ msgid "unregistered operator %s"
+#~ msgstr "未注册的运算符 %s"
+
+#~ msgid "Evaluating this expression will result in an arithmetic exception being thrown"
+#~ msgstr "计算此表达式将会导致抛出算术异常"
+
+#~ msgid "Incompatible type for %qs. Explicit cast needed to convert shift distance from %qs to integral"
+#~ msgstr "%qs 的类型不兼容。需要显式地将移位距离从 %qs 转换为整数类型"
+
+#~ msgid "Incompatible type for %qs. Can't convert shift distance from %qs to integral"
+#~ msgstr "%qs 的类型不兼容。不能将移位距离从 %qs 转换为整数"
+
+#~ msgid "Invalid argument %qs for %<instanceof%>"
+#~ msgstr "实参 %qs 无效,对 %<instanceof%> 来说"
+
+#~ msgid "Impossible for %qs to be instance of %qs"
+#~ msgstr "%qs 不可能是 %qs 的实例"
+
+#~ msgid "Incompatible type for %qs. Can't convert %qs to %qs"
+#~ msgstr "与 %qs 类型不兼容。无法从 %qs 转换到 %qs"
+
+#~ msgid "Invalid argument type %qs to %qs"
+#~ msgstr "%qs 作为 %qs 的实参类型无效"
+
+#~ msgid "Invalid cast from %qs to %qs"
+#~ msgstr "从 %qs 到 %qs 的类型转换无效"
+
+#~ msgid "%<[]%> can only be applied to arrays. It can't be applied to %qs"
+#~ msgstr "%<[]%> 只能用于数组。它不能用于 %qs"
+
+#~ msgid "Incompatible type for %<[]%>. Explicit cast needed to convert %qs to %<int%>"
+#~ msgstr "与 %<[]%> 的类型不兼容。需要显式地将 %qs 转换为 %<int%>"
+
+#~ msgid "Incompatible type for %<[]%>. Can't convert %qs to %<int%>"
+#~ msgstr "与 %<[]%> 类型不兼容。无法从 %qs 转换到 %<int%>"
+
+#~ msgid "Incompatible type for dimension in array creation expression. %s convert %qs to %<int%>"
+#~ msgstr "创建数组表达式中维数类型不兼容。%s 将 %qs 转换为 %<int%>"
+
+#~ msgid "Invalid array initializer for non-array type %qs"
+#~ msgstr "对非数组类型 %qs 使用数组初始值设定无效"
+
+#~ msgid "Incompatible type for array. %s convert %qs to %qs"
+#~ msgstr "与数组类型不兼容。%s 将 %qs 转换到 %qs"
+
+#~ msgid "%<return%> inside instance initializer"
+#~ msgstr "实例初始块中出现 %<return%>"
+
+#~ msgid "%<return%> inside static initializer"
+#~ msgstr "静态初始值设定中出现 %<return%>"
+
+#~ msgid "%<return%> with%s value from %<%s %s%>"
+#~ msgstr "%<return%> with%s value from %<%s %s%>"
+
+#~ msgid "%<return%> with value from constructor %qs"
+#~ msgstr "构造函数 %qs 中 %<return%> 带返回值"
+
+#~ msgid "Incompatible type for %<if%>. Can't convert %qs to %<boolean%>"
+#~ msgstr "与 %<if%> 不兼容的类型。不能将 %qs 转换为 %<boolean%>"
+
+#~ msgid "Declaration of %qs shadows a previous label declaration"
+#~ msgstr "%qs 的声明隐藏了先前的一个标号声明"
+
+#~ msgid "This is the location of the previous declaration of label %qs"
+#~ msgstr "这是标号 %qs 先前声明的地方"
+
+#~ msgid "No label definition found for %qs"
+#~ msgstr "没有找到 %qs 的标号定义"
+
+#~ msgid "%<continue%> must be in loop"
+#~ msgstr "%<continue%> 必须用在循环中"
+
+#~ msgid "continue label %qs does not name a loop"
+#~ msgstr "continue 标号 %qs 没有指定一个循环"
+
+#~ msgid "%<break%> must be in loop or switch"
+#~ msgstr "%<break%> 必须出现在循环或 switch 语句中"
+
+#~ msgid "Incompatible type for loop conditional. Can't convert %qs to %<boolean%>"
+#~ msgstr "与循环条件类型不兼容。不能将 %qs 转换到 %<boolean%>"
+
+#~ msgid "Incompatible type for %<switch%>. Can't convert %qs to %<int%>"
+#~ msgstr "与 %<switch%> 不兼容的类型。不能将 %qs 转换为 %<int%>"
+
+#~ msgid "duplicate case label: %<"
+#~ msgstr "重复的 case 常量:%<"
+
+#~ msgid "%>"
+#~ msgstr "%>"
+
+#~ msgid "original label is here"
+#~ msgstr "原标号在此"
+
+#~ msgid "Can't catch class %qs. Catch clause parameter type must be a subclass of class %<java.lang.Throwable%>"
+#~ msgstr "无法捕获类 %qs。Catch 子句的形参类型必须是 %<java.lang.Throwable%> 的派生类"
+
+#~ msgid "%<catch%> not reached because of the catch clause at line %d"
+#~ msgstr "执行不到 %<catch%>,因为位于第 %d 行的 catch 子句"
+
+#~ msgid "Incompatible type for %<synchronized%>. Can't convert %qs to %<java.lang.Object%>"
+#~ msgstr "%<synchronized%> 的类型不兼容。无法从 %qs 转换到 %<java.lang.Object%>"
+
+#~ msgid "Can't throw %qs; it must be a subclass of class %<java.lang.Throwable%>"
+#~ msgstr "不能抛出 %qs;它必须是 %<java.lang.Throwable%> 的派生类"
+
+#~ msgid "Checked exception %qs can't be thrown in instance initializer (not all declared constructor are declaring it in their %<throws%> clause)"
+#~ msgstr "实例初始块中不能抛出受查异常 %qs (至少有一个已声明的构造函数未在其 %<throws%> 子句中声明该异常)"
+
+#~ msgid "Checked exception %qs can't be caught by any of the catch clause(s) of the surrounding %<try%> block"
+#~ msgstr "受查异常 %qs 不能为跟随此 %<try%> 块的任何 catch 子句所捕获"
+
+#~ msgid "Checked exception %qs can't be thrown in initializer"
+#~ msgstr "不能在初始块中抛出受查异常 %qs"
+
+#~ msgid "Checked exception %qs isn't thrown from a %<try%> block"
+#~ msgstr "受查异常 %qs 不是从 %<try%> 块中抛出的"
+
+#~ msgid "Checked exception %qs doesn't match any of current method's %<throws%> declaration(s)"
+#~ msgstr "受查异常 %qs 与当前方法的 %<throw%> 声明不匹配"
+
+#~ msgid "Exception %qs can't be thrown in initializer"
+#~ msgstr "不能在初始值设定项中抛出异常 %qs"
+
+#~ msgid "Exception %qs must be caught, or it must be declared in the %<throws%> clause of %qs"
+#~ msgstr "异常 %qs 必须被捕获,否则它必须在 %qs 的 %<throws%> 子句中声明"
+
+#~ msgid "Incompatible type for %<?:%>. Can't convert %qs to %<boolean%>"
+#~ msgstr "%<?:%> 的类型不兼容。无法从 %qs 转换到 %<boolean%>"
+
+#~ msgid "Incompatible type for %<?:%>. Can't convert %qs to %qs"
+#~ msgstr "%<?:%> 的类型不兼容。无法从 %qs 转换到 %qs"
+
+#~ msgid "Discouraged redundant use of %qs modifier in declaration of %s"
+#~ msgstr "不鼓励使用多余的 %qs 修饰符,在 %s 的声明中"
+
+#~ msgid "Discouraged redundant use of %qs modifier in declaration of %s %qs"
+#~ msgstr "不鼓励使用多余的 %qs 修饰符,在 %s %qs 的声明中"